ref: fb1e925b765b0f39437eec9df8938ebf8670056a
dir: /domino-lib/ProcessingInstruction.js/
"use strict"; module.exports = ProcessingInstruction; var Node = require('./Node'); var CharacterData = require('./CharacterData'); function ProcessingInstruction(doc, target, data) { CharacterData.call(this); this.nodeType = Node.PROCESSING_INSTRUCTION_NODE; this.ownerDocument = doc; this.target = target; this._data = data; } var nodeValue = { get: function() { return this._data; }, set: function(v) { if (v === null || v === undefined) { v = ''; } else { v = String(v); } this._data = v; if (this.rooted) this.ownerDocument.mutateValue(this); } }; ProcessingInstruction.prototype = Object.create(CharacterData.prototype, { nodeName: { get: function() { return this.target; }}, nodeValue: nodeValue, textContent: nodeValue, data: { get: nodeValue.get, set: function(v) { nodeValue.set.call(this, v===null ? '' : String(v)); }, }, // Utility methods clone: { value: function clone() { return new ProcessingInstruction(this.ownerDocument, this.target, this._data); }}, isEqual: { value: function isEqual(n) { return this.target === n.target && this._data === n._data; }} });