Closed
Description
I'd love to help add support for :read-only
and :read-write
pseudo-selectors. I've currently got this in the pseudos
export of pseudos.ts
:
"read-only"(elem, { adapter }) {
const readonly = adapter.hasAttrib(elem, "readonly");
if (!readonly) return false;
const name = adapter.getName(elem);
if (name === "TEXTAREA") return true;
if (name !== "INPUT") return false;
const type = adapter.getAttributeValue(elem, "type");
return type && readonlyTypePattern.test(type);
},
"read-write"(elem, { adapter }) {
const readonly = adapter.hasAttrib(elem, "readonly");
if (readonly) return false;
const name = adapter.getName(elem);
if (name === "TEXTAREA") return true;
if (name !== "INPUT") return false;
const type = adapter.getAttributeValue(elem, "type");
return type && readonlyTypePattern.test(type);
},
but I'm not too well-versed with TypeScript and am getting this error:
ts: Type '<Node, ElementNode extends Node>(elem: ElementNode, { adapter }: InternalOptions<Node, ElementNode>) => boolean | "" | undefined' is not assignable to type 'Pseudo'.
Type 'string | boolean | undefined' is not assignable to type 'boolean'.
Type 'undefined' is not assignable to type 'boolean'.
If I can clear this error I'd love to start adding tests and putting together a PR. Thanks for your help, and for a great library!
Metadata
Metadata
Assignees
Labels
No labels