module Data.DOM.NodeFilter (acceptNode, cFILTER_ACCEPT, cFILTER_REJECT, cFILTER_SKIP, cSHOW_ALL, cSHOW_ELEMENT, cSHOW_ATTRIBUTE, cSHOW_TEXT, cSHOW_CDATA_SECTION, cSHOW_ENTITY_REFERENCE, cSHOW_ENTITY, cSHOW_PROCESSING_INSTRUCTION, cSHOW_COMMENT, cSHOW_DOCUMENT, cSHOW_DOCUMENT_TYPE, cSHOW_DOCUMENT_FRAGMENT, cSHOW_NOTATION) where import Data.DOM.Traversal import Control.Monad import BrownPLT.JavaScript import Data.DOM.WBTypes import Data.DOM.Dom import Data.DOM.Document (createElement) acceptNode :: (Monad mn, CNodeFilter this, CNode n) => Expression n -> Expression this -> mn (Expression Double) acceptNode a thisp = do let et = undefined :: Double let r = DotRef et (thisp /\ et) (Id et "acceptNode") return (CallExpr et r [a /\ et]) cFILTER_ACCEPT = 1 cFILTER_REJECT = 2 cFILTER_SKIP = 3 cSHOW_ALL = 4294967295 cSHOW_ELEMENT = 1 cSHOW_ATTRIBUTE = 2 cSHOW_TEXT = 4 cSHOW_CDATA_SECTION = 8 cSHOW_ENTITY_REFERENCE = 16 cSHOW_ENTITY = 32 cSHOW_PROCESSING_INSTRUCTION = 64 cSHOW_COMMENT = 128 cSHOW_DOCUMENT = 256 cSHOW_DOCUMENT_TYPE = 512 cSHOW_DOCUMENT_FRAGMENT = 1024 cSHOW_NOTATION = 2048