├── .babelrc ├── .editorconfig ├── .eslintignore ├── .eslintrc ├── .flowconfig ├── .github └── FUNDING.yml ├── .gitignore ├── .npmignore ├── .travis.yml ├── LICENSE ├── README.md ├── package.json ├── src ├── Logger.js ├── errors.js ├── evaluators │ ├── browserEvaluator.js │ ├── cheerioEvaluator.js │ └── index.js ├── expressions.js ├── factories │ ├── createConfiguration.js │ ├── createQuantifier.js │ └── index.js ├── index.js ├── parsers │ ├── index.js │ └── parseQuantifierExpression.js ├── sentinels │ ├── InvalidValueSentinel.js │ └── index.js ├── subroutineAliasPreset.js ├── subroutines │ ├── appendSubroutine.js │ ├── closestSubroutine.js │ ├── constantSubroutine.js │ ├── formatSubroutine.js │ ├── index.js │ ├── matchSubroutine.js │ ├── nextUntilSubroutine.js │ ├── prependSubroutine.js │ ├── previousSubroutine.js │ ├── readSubroutine.js │ ├── removeSubroutine.js │ ├── selectSubroutine.js │ └── testSubroutine.js ├── types.js └── utilities │ ├── index.js │ └── isEnvironmentBrowser.js └── test ├── .eslintrc └── surgeon ├── aliases.js ├── evaluators └── cheerioEvaluator │ ├── cheerio.js │ ├── getPropertyValue.js │ ├── nextUntil.js │ ├── previous.js │ └── querySelectorAll.js ├── queries ├── joepie91.js ├── multiple-matches.js ├── named-extract.js ├── remove.js └── single-match.js └── subroutines ├── closestSubroutine.js ├── formatSubroutine.js ├── matchSubroutine.js ├── nextUntilSubroutine.js ├── readSubroutine.js ├── selectSubroutine.js └── testSubroutine.js /.babelrc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gajus/surgeon/HEAD/.babelrc -------------------------------------------------------------------------------- /.editorconfig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gajus/surgeon/HEAD/.editorconfig -------------------------------------------------------------------------------- /.eslintignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gajus/surgeon/HEAD/.eslintignore -------------------------------------------------------------------------------- /.eslintrc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gajus/surgeon/HEAD/.eslintrc -------------------------------------------------------------------------------- /.flowconfig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gajus/surgeon/HEAD/.flowconfig -------------------------------------------------------------------------------- /.github/FUNDING.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gajus/surgeon/HEAD/.github/FUNDING.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gajus/surgeon/HEAD/.gitignore -------------------------------------------------------------------------------- /.npmignore: -------------------------------------------------------------------------------- 1 | test 2 | coverage 3 | .* 4 | *.log 5 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gajus/surgeon/HEAD/.travis.yml -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gajus/surgeon/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gajus/surgeon/HEAD/README.md -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gajus/surgeon/HEAD/package.json -------------------------------------------------------------------------------- /src/Logger.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gajus/surgeon/HEAD/src/Logger.js -------------------------------------------------------------------------------- /src/errors.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gajus/surgeon/HEAD/src/errors.js -------------------------------------------------------------------------------- /src/evaluators/browserEvaluator.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gajus/surgeon/HEAD/src/evaluators/browserEvaluator.js -------------------------------------------------------------------------------- /src/evaluators/cheerioEvaluator.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gajus/surgeon/HEAD/src/evaluators/cheerioEvaluator.js -------------------------------------------------------------------------------- /src/evaluators/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gajus/surgeon/HEAD/src/evaluators/index.js -------------------------------------------------------------------------------- /src/expressions.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gajus/surgeon/HEAD/src/expressions.js -------------------------------------------------------------------------------- /src/factories/createConfiguration.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gajus/surgeon/HEAD/src/factories/createConfiguration.js -------------------------------------------------------------------------------- /src/factories/createQuantifier.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gajus/surgeon/HEAD/src/factories/createQuantifier.js -------------------------------------------------------------------------------- /src/factories/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gajus/surgeon/HEAD/src/factories/index.js -------------------------------------------------------------------------------- /src/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gajus/surgeon/HEAD/src/index.js -------------------------------------------------------------------------------- /src/parsers/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gajus/surgeon/HEAD/src/parsers/index.js -------------------------------------------------------------------------------- /src/parsers/parseQuantifierExpression.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gajus/surgeon/HEAD/src/parsers/parseQuantifierExpression.js -------------------------------------------------------------------------------- /src/sentinels/InvalidValueSentinel.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gajus/surgeon/HEAD/src/sentinels/InvalidValueSentinel.js -------------------------------------------------------------------------------- /src/sentinels/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gajus/surgeon/HEAD/src/sentinels/index.js -------------------------------------------------------------------------------- /src/subroutineAliasPreset.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gajus/surgeon/HEAD/src/subroutineAliasPreset.js -------------------------------------------------------------------------------- /src/subroutines/appendSubroutine.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gajus/surgeon/HEAD/src/subroutines/appendSubroutine.js -------------------------------------------------------------------------------- /src/subroutines/closestSubroutine.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gajus/surgeon/HEAD/src/subroutines/closestSubroutine.js -------------------------------------------------------------------------------- /src/subroutines/constantSubroutine.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gajus/surgeon/HEAD/src/subroutines/constantSubroutine.js -------------------------------------------------------------------------------- /src/subroutines/formatSubroutine.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gajus/surgeon/HEAD/src/subroutines/formatSubroutine.js -------------------------------------------------------------------------------- /src/subroutines/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gajus/surgeon/HEAD/src/subroutines/index.js -------------------------------------------------------------------------------- /src/subroutines/matchSubroutine.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gajus/surgeon/HEAD/src/subroutines/matchSubroutine.js -------------------------------------------------------------------------------- /src/subroutines/nextUntilSubroutine.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gajus/surgeon/HEAD/src/subroutines/nextUntilSubroutine.js -------------------------------------------------------------------------------- /src/subroutines/prependSubroutine.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gajus/surgeon/HEAD/src/subroutines/prependSubroutine.js -------------------------------------------------------------------------------- /src/subroutines/previousSubroutine.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gajus/surgeon/HEAD/src/subroutines/previousSubroutine.js -------------------------------------------------------------------------------- /src/subroutines/readSubroutine.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gajus/surgeon/HEAD/src/subroutines/readSubroutine.js -------------------------------------------------------------------------------- /src/subroutines/removeSubroutine.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gajus/surgeon/HEAD/src/subroutines/removeSubroutine.js -------------------------------------------------------------------------------- /src/subroutines/selectSubroutine.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gajus/surgeon/HEAD/src/subroutines/selectSubroutine.js -------------------------------------------------------------------------------- /src/subroutines/testSubroutine.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gajus/surgeon/HEAD/src/subroutines/testSubroutine.js -------------------------------------------------------------------------------- /src/types.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gajus/surgeon/HEAD/src/types.js -------------------------------------------------------------------------------- /src/utilities/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gajus/surgeon/HEAD/src/utilities/index.js -------------------------------------------------------------------------------- /src/utilities/isEnvironmentBrowser.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gajus/surgeon/HEAD/src/utilities/isEnvironmentBrowser.js -------------------------------------------------------------------------------- /test/.eslintrc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gajus/surgeon/HEAD/test/.eslintrc -------------------------------------------------------------------------------- /test/surgeon/aliases.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gajus/surgeon/HEAD/test/surgeon/aliases.js -------------------------------------------------------------------------------- /test/surgeon/evaluators/cheerioEvaluator/cheerio.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gajus/surgeon/HEAD/test/surgeon/evaluators/cheerioEvaluator/cheerio.js -------------------------------------------------------------------------------- /test/surgeon/evaluators/cheerioEvaluator/getPropertyValue.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gajus/surgeon/HEAD/test/surgeon/evaluators/cheerioEvaluator/getPropertyValue.js -------------------------------------------------------------------------------- /test/surgeon/evaluators/cheerioEvaluator/nextUntil.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gajus/surgeon/HEAD/test/surgeon/evaluators/cheerioEvaluator/nextUntil.js -------------------------------------------------------------------------------- /test/surgeon/evaluators/cheerioEvaluator/previous.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gajus/surgeon/HEAD/test/surgeon/evaluators/cheerioEvaluator/previous.js -------------------------------------------------------------------------------- /test/surgeon/evaluators/cheerioEvaluator/querySelectorAll.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gajus/surgeon/HEAD/test/surgeon/evaluators/cheerioEvaluator/querySelectorAll.js -------------------------------------------------------------------------------- /test/surgeon/queries/joepie91.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gajus/surgeon/HEAD/test/surgeon/queries/joepie91.js -------------------------------------------------------------------------------- /test/surgeon/queries/multiple-matches.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gajus/surgeon/HEAD/test/surgeon/queries/multiple-matches.js -------------------------------------------------------------------------------- /test/surgeon/queries/named-extract.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gajus/surgeon/HEAD/test/surgeon/queries/named-extract.js -------------------------------------------------------------------------------- /test/surgeon/queries/remove.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gajus/surgeon/HEAD/test/surgeon/queries/remove.js -------------------------------------------------------------------------------- /test/surgeon/queries/single-match.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gajus/surgeon/HEAD/test/surgeon/queries/single-match.js -------------------------------------------------------------------------------- /test/surgeon/subroutines/closestSubroutine.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gajus/surgeon/HEAD/test/surgeon/subroutines/closestSubroutine.js -------------------------------------------------------------------------------- /test/surgeon/subroutines/formatSubroutine.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gajus/surgeon/HEAD/test/surgeon/subroutines/formatSubroutine.js -------------------------------------------------------------------------------- /test/surgeon/subroutines/matchSubroutine.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gajus/surgeon/HEAD/test/surgeon/subroutines/matchSubroutine.js -------------------------------------------------------------------------------- /test/surgeon/subroutines/nextUntilSubroutine.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gajus/surgeon/HEAD/test/surgeon/subroutines/nextUntilSubroutine.js -------------------------------------------------------------------------------- /test/surgeon/subroutines/readSubroutine.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gajus/surgeon/HEAD/test/surgeon/subroutines/readSubroutine.js -------------------------------------------------------------------------------- /test/surgeon/subroutines/selectSubroutine.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gajus/surgeon/HEAD/test/surgeon/subroutines/selectSubroutine.js -------------------------------------------------------------------------------- /test/surgeon/subroutines/testSubroutine.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gajus/surgeon/HEAD/test/surgeon/subroutines/testSubroutine.js --------------------------------------------------------------------------------