1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- // Generated by CoffeeScript 2.4.1
- (function() {
- // Represents a map of nodes accessed by a string key
- var XMLNamedNodeMap;
-
- module.exports = XMLNamedNodeMap = (function() {
- class XMLNamedNodeMap {
- // Initializes a new instance of `XMLNamedNodeMap`
- // This is just a wrapper around an ordinary
- // JS object.
-
- // `nodes` the object containing nodes.
- constructor(nodes) {
- this.nodes = nodes;
- }
-
- // Creates and returns a deep clone of `this`
-
- clone() {
- // this class should not be cloned since it wraps
- // around a given object. The calling function should check
- // whether the wrapped object is null and supply a new object
- // (from the clone).
- return this.nodes = null;
- }
-
- // DOM Level 1
- getNamedItem(name) {
- return this.nodes[name];
- }
-
- setNamedItem(node) {
- var oldNode;
- oldNode = this.nodes[node.nodeName];
- this.nodes[node.nodeName] = node;
- return oldNode || null;
- }
-
- removeNamedItem(name) {
- var oldNode;
- oldNode = this.nodes[name];
- delete this.nodes[name];
- return oldNode || null;
- }
-
- item(index) {
- return this.nodes[Object.keys(this.nodes)[index]] || null;
- }
-
- // DOM level 2 functions to be implemented later
- getNamedItemNS(namespaceURI, localName) {
- throw new Error("This DOM method is not implemented.");
- }
-
- setNamedItemNS(node) {
- throw new Error("This DOM method is not implemented.");
- }
-
- removeNamedItemNS(namespaceURI, localName) {
- throw new Error("This DOM method is not implemented.");
- }
-
- };
-
-
- // DOM level 1
- Object.defineProperty(XMLNamedNodeMap.prototype, 'length', {
- get: function() {
- return Object.keys(this.nodes).length || 0;
- }
- });
-
- return XMLNamedNodeMap;
-
- }).call(this);
-
- }).call(this);
|