mirror of
https://gitlab.com/octtspacc/sitoctt
synced 2025-06-05 22:09:20 +02:00
.
This commit is contained in:
120
node_modules/@mixmark-io/domino/CharacterData.js
generated
vendored
Normal file
120
node_modules/@mixmark-io/domino/CharacterData.js
generated
vendored
Normal file
@ -0,0 +1,120 @@
|
||||
/* jshint bitwise: false */
|
||||
"use strict";
|
||||
module.exports = CharacterData;
|
||||
|
||||
var Leaf = require('./Leaf');
|
||||
var utils = require('./utils');
|
||||
var ChildNode = require('./ChildNode');
|
||||
var NonDocumentTypeChildNode = require('./NonDocumentTypeChildNode');
|
||||
|
||||
function CharacterData() {
|
||||
Leaf.call(this);
|
||||
}
|
||||
|
||||
CharacterData.prototype = Object.create(Leaf.prototype, {
|
||||
// DOMString substringData(unsigned long offset,
|
||||
// unsigned long count);
|
||||
// The substringData(offset, count) method must run these steps:
|
||||
//
|
||||
// If offset is greater than the context object's
|
||||
// length, throw an INDEX_SIZE_ERR exception and
|
||||
// terminate these steps.
|
||||
//
|
||||
// If offset+count is greater than the context
|
||||
// object's length, return a DOMString whose value is
|
||||
// the UTF-16 code units from the offsetth UTF-16 code
|
||||
// unit to the end of data.
|
||||
//
|
||||
// Return a DOMString whose value is the UTF-16 code
|
||||
// units from the offsetth UTF-16 code unit to the
|
||||
// offset+countth UTF-16 code unit in data.
|
||||
substringData: { value: function substringData(offset, count) {
|
||||
if (arguments.length < 2) { throw new TypeError("Not enough arguments"); }
|
||||
// Convert arguments to WebIDL "unsigned long"
|
||||
offset = offset >>> 0;
|
||||
count = count >>> 0;
|
||||
if (offset > this.data.length || offset < 0 || count < 0) {
|
||||
utils.IndexSizeError();
|
||||
}
|
||||
return this.data.substring(offset, offset+count);
|
||||
}},
|
||||
|
||||
// void appendData(DOMString data);
|
||||
// The appendData(data) method must append data to the context
|
||||
// object's data.
|
||||
appendData: { value: function appendData(data) {
|
||||
if (arguments.length < 1) { throw new TypeError("Not enough arguments"); }
|
||||
this.data += String(data);
|
||||
}},
|
||||
|
||||
// void insertData(unsigned long offset, DOMString data);
|
||||
// The insertData(offset, data) method must run these steps:
|
||||
//
|
||||
// If offset is greater than the context object's
|
||||
// length, throw an INDEX_SIZE_ERR exception and
|
||||
// terminate these steps.
|
||||
//
|
||||
// Insert data into the context object's data after
|
||||
// offset UTF-16 code units.
|
||||
//
|
||||
insertData: { value: function insertData(offset, data) {
|
||||
return this.replaceData(offset, 0, data);
|
||||
}},
|
||||
|
||||
|
||||
// void deleteData(unsigned long offset, unsigned long count);
|
||||
// The deleteData(offset, count) method must run these steps:
|
||||
//
|
||||
// If offset is greater than the context object's
|
||||
// length, throw an INDEX_SIZE_ERR exception and
|
||||
// terminate these steps.
|
||||
//
|
||||
// If offset+count is greater than the context
|
||||
// object's length var count be length-offset.
|
||||
//
|
||||
// Starting from offset UTF-16 code units remove count
|
||||
// UTF-16 code units from the context object's data.
|
||||
deleteData: { value: function deleteData(offset, count) {
|
||||
return this.replaceData(offset, count, '');
|
||||
}},
|
||||
|
||||
|
||||
// void replaceData(unsigned long offset, unsigned long count,
|
||||
// DOMString data);
|
||||
//
|
||||
// The replaceData(offset, count, data) method must act as
|
||||
// if the deleteData() method is invoked with offset and
|
||||
// count as arguments followed by the insertData() method
|
||||
// with offset and data as arguments and re-throw any
|
||||
// exceptions these methods might have thrown.
|
||||
replaceData: { value: function replaceData(offset, count, data) {
|
||||
var curtext = this.data, len = curtext.length;
|
||||
// Convert arguments to correct WebIDL type
|
||||
offset = offset >>> 0;
|
||||
count = count >>> 0;
|
||||
data = String(data);
|
||||
|
||||
if (offset > len || offset < 0) utils.IndexSizeError();
|
||||
|
||||
if (offset+count > len)
|
||||
count = len - offset;
|
||||
|
||||
var prefix = curtext.substring(0, offset),
|
||||
suffix = curtext.substring(offset+count);
|
||||
|
||||
this.data = prefix + data + suffix;
|
||||
}},
|
||||
|
||||
// Utility method that Node.isEqualNode() calls to test Text and
|
||||
// Comment nodes for equality. It is okay to put it here, since
|
||||
// Node will have already verified that nodeType is equal
|
||||
isEqual: { value: function isEqual(n) {
|
||||
return this._data === n._data;
|
||||
}},
|
||||
|
||||
length: { get: function() { return this.data.length; }}
|
||||
|
||||
});
|
||||
|
||||
Object.defineProperties(CharacterData.prototype, ChildNode);
|
||||
Object.defineProperties(CharacterData.prototype, NonDocumentTypeChildNode);
|
Reference in New Issue
Block a user