summaryrefslogtreecommitdiff
path: root/alarm/node_modules/jsdom/lib/jsdom/living/nodes/Text-impl.js
diff options
context:
space:
mode:
Diffstat (limited to 'alarm/node_modules/jsdom/lib/jsdom/living/nodes/Text-impl.js')
-rw-r--r--alarm/node_modules/jsdom/lib/jsdom/living/nodes/Text-impl.js96
1 files changed, 0 insertions, 96 deletions
diff --git a/alarm/node_modules/jsdom/lib/jsdom/living/nodes/Text-impl.js b/alarm/node_modules/jsdom/lib/jsdom/living/nodes/Text-impl.js
deleted file mode 100644
index ddd0fff..0000000
--- a/alarm/node_modules/jsdom/lib/jsdom/living/nodes/Text-impl.js
+++ /dev/null
@@ -1,96 +0,0 @@
-"use strict";
-const SlotableMixinImpl = require("./Slotable-impl").implementation;
-const CharacterDataImpl = require("./CharacterData-impl").implementation;
-const idlUtils = require("../generated/utils");
-const { domSymbolTree } = require("../helpers/internal-constants");
-const DOMException = require("domexception/webidl2js-wrapper");
-const NODE_TYPE = require("../node-type");
-const { mixin } = require("../../utils");
-
-// https://dom.spec.whatwg.org/#text
-class TextImpl extends CharacterDataImpl {
- constructor(globalObject, args, privateData) {
- super(globalObject, args, {
- data: args[0],
- ownerDocument: idlUtils.implForWrapper(globalObject._document),
- ...privateData
- });
-
- this._initSlotableMixin();
-
- this.nodeType = NODE_TYPE.TEXT_NODE;
- }
-
- // https://dom.spec.whatwg.org/#dom-text-splittext
- // https://dom.spec.whatwg.org/#concept-text-split
- splitText(offset) {
- const { length } = this;
-
- if (offset > length) {
- throw DOMException.create(this._globalObject, ["The index is not in the allowed range.", "IndexSizeError"]);
- }
-
- const count = length - offset;
- const newData = this.substringData(offset, count);
-
- const newNode = this._ownerDocument.createTextNode(newData);
-
- const parent = domSymbolTree.parent(this);
-
- if (parent !== null) {
- parent._insert(newNode, this.nextSibling);
-
- for (const range of this._referencedRanges) {
- const { _start, _end } = range;
-
- if (_start.node === this && _start.offset > offset) {
- range._setLiveRangeStart(newNode, _start.offset - offset);
- }
-
- if (_end.node === this && _end.offset > offset) {
- range._setLiveRangeEnd(newNode, _end.offset - offset);
- }
- }
-
- const nodeIndex = domSymbolTree.index(this);
- for (const range of parent._referencedRanges) {
- const { _start, _end } = range;
-
- if (_start.node === parent && _start.offset === nodeIndex + 1) {
- range._setLiveRangeStart(parent, _start.offset + 1);
- }
-
- if (_end.node === parent && _end.offset === nodeIndex + 1) {
- range._setLiveRangeEnd(parent, _end.offset + 1);
- }
- }
- }
-
- this.replaceData(offset, count, "");
-
- return newNode;
- }
-
- // https://dom.spec.whatwg.org/#dom-text-wholetext
- get wholeText() {
- let wholeText = this.textContent;
- let next;
- let current = this;
- while ((next = domSymbolTree.previousSibling(current)) && next.nodeType === NODE_TYPE.TEXT_NODE) {
- wholeText = next.textContent + wholeText;
- current = next;
- }
- current = this;
- while ((next = domSymbolTree.nextSibling(current)) && next.nodeType === NODE_TYPE.TEXT_NODE) {
- wholeText += next.textContent;
- current = next;
- }
- return wholeText;
- }
-}
-
-mixin(TextImpl.prototype, SlotableMixinImpl.prototype);
-
-module.exports = {
- implementation: TextImpl
-};