🚀 Big News: Socket Acquires Coana to Bring Reachability Analysis to Every Appsec Team.Learn more
Socket
Sign inDemoInstall
Socket

dom-node-iterator

Package Overview
Dependencies
Maintainers
1
Versions
19
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

dom-node-iterator

A portable NodeIterator polyfill.

4.0.0
Source
npm
Version published
Maintainers
1
Created
Source

NodeIterator

NodeIterator is an interface originally specified by DOM Level 2. While it is a useful tool for seeking within the nodes of the DOM, it has some warts and its implementation is inconsistent across browsers.

Among the problems with NodeIterator are that it specifies arguments that really should be optional, but are required on some browsers. Several browsers expose two additional properties not in the original specification but later added to the DOM living standard, referenceNode and pointerBeforeReferenceNode.

This module attempts to modernize NodeIterator for use in all major browsers. It does this through the following modifications:

  • The whatToShow and filter arguments are optional.

  • The referenceNode and pointerBeforeReferenceNode properties are shimmed when they aren't available.

Compatibility Note

In browsers that implement an older specification or do not implement the specification at all, behavior in the presence of concurrent DOM mutation is undefined.

Installation

Using npm:

npm install dom-node-iterator

Usage

This package implements the es-shim API interface.

// Install support, polluting the global namespace.
require('dom-node-iterator/shim')();
var iter = document.createNodeIterator(document.body);

// Get the best implementation, without polluting the global namespace.
var createNodeIterator = require('dom-node-iterator/polyfill')();
var iter = createNodeIterator.call(document, document.body);

// Get the pure JavaScript implementation.
var createNodeIterator = require('dom-node-iterator/implementation');
var iter = createNodeIterator.call(document, document.body);

See the documentation at the Mozilla Developer Network for more information about using NodeIterator.

Keywords

dom

FAQs

Package last updated on 31 Mar 2020

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts