tree ca215f09e96f48cdd5a36b3659f8cfbb00bdcaef
parent 0121bd274d0d1f1e92b4bc09705e10a646586cc2
author Randall Leeds <randall@apache.org> 1598153576 -0700
committer Randall Leeds <randall@apache.org> 1598833384 -0700
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQJHBAABCgAxFiEEg8vVa3mgDIaTwLkZ7WRV2Q8z8LsFAl9MQukTHHJhbmRhbGxA
 YXBhY2hlLm9yZwAKCRDtZFXZDzPwu7zAEACjd6Ov/Dca+YJSszl2rubhKHftwPxS
 MYYUHsvlaRjvotdw3NTTU3lzeEoVpd2zAP/A4d00Tt2U3L1skXzoYWXQnaFr8MIR
 5uto0ftuaMTz8vCw1LcxPxgZ3h8JBEcS4SWz8GPt7MMNEw049frYpXm+QnG447/l
 QfRclqRCmgWtmwidcHouWFrDxpimRzYgbUg2Ce862WlPk2dxWSPx8I+e71aC0sf9
 oZviG221wgZA50IOMcc3hQTovhiObuj9FDfJq4Vrd2UvTAQBZ3Fk6oxstyiuXpIm
 xG8AxZExqJwt+mxHUrsO9VOWSeRkqWZuVRP0ATQFLsJ0ZqmhmwOqecjNHjErpfQu
 OgQY5QhMzgJStakNl7NqemCcKW0u/GOtW7LnlPUImxamwyIZ/c6XDY+1zcRtVws5
 SfYu+g+h/defZlYWxS96IBaCY6863NYtD4YBw+7sL/R/VsnvVLeRX/MBr4/jrEsz
 7XAl4fBV9X/1daCECdie6yp8u9BqbIN0YQfxKTERu9sSycjpHrdtHUms813oiqiM
 qP5JcidbnqdtWGbRBRt8mtVdSiqmW3AbJBSS2uYJckYMU+BmdZ6GaUzRCAmTQnJZ
 8taWamhRp2KiJWPkZaRQil70QPKhN0u/XIpoZypwWjyZ1RHEXhgbpujMgyiO4Uzy
 kLkNOWjJV0DuLQ==
 =A3FJ
 -----END PGP SIGNATURE-----

Eliminate extraneous interfaces

Make several changes to eliminate unnecessary type definitions.

Remove the centrally-exported selector interfaces from the selector
package and migrate them to where they are used. The selector package
need not commit to the existence of any particular set of selectors. In
the future, the apache-annotator package may consolidate the existing
selector definitions and export them under a unified namespace.

Remove the matcher interface in favor of being explicit and verbose
about function types.

Simplify the type signature for makeRefinable. The selector is defined
as an interface, thus callers are free to pass anything that extends it,
so there is no need to parametrize its type. Use the same type
definition for the input and output of the selector creator.

Define the DOM match functions in terms of Range and place the burden on
the caller to pass a Range. Remove the unused scope functions. This
change may hurt the developer experience, but that will require some
experience and feedback.
