summaryrefslogtreecommitdiff
path: root/alarm/node_modules/parse5/lib/common/unicode.js
diff options
context:
space:
mode:
Diffstat (limited to 'alarm/node_modules/parse5/lib/common/unicode.js')
-rw-r--r--alarm/node_modules/parse5/lib/common/unicode.js109
1 files changed, 109 insertions, 0 deletions
diff --git a/alarm/node_modules/parse5/lib/common/unicode.js b/alarm/node_modules/parse5/lib/common/unicode.js
new file mode 100644
index 0000000..8d8234f
--- /dev/null
+++ b/alarm/node_modules/parse5/lib/common/unicode.js
@@ -0,0 +1,109 @@
+'use strict';
+
+const UNDEFINED_CODE_POINTS = [
+ 0xfffe,
+ 0xffff,
+ 0x1fffe,
+ 0x1ffff,
+ 0x2fffe,
+ 0x2ffff,
+ 0x3fffe,
+ 0x3ffff,
+ 0x4fffe,
+ 0x4ffff,
+ 0x5fffe,
+ 0x5ffff,
+ 0x6fffe,
+ 0x6ffff,
+ 0x7fffe,
+ 0x7ffff,
+ 0x8fffe,
+ 0x8ffff,
+ 0x9fffe,
+ 0x9ffff,
+ 0xafffe,
+ 0xaffff,
+ 0xbfffe,
+ 0xbffff,
+ 0xcfffe,
+ 0xcffff,
+ 0xdfffe,
+ 0xdffff,
+ 0xefffe,
+ 0xeffff,
+ 0xffffe,
+ 0xfffff,
+ 0x10fffe,
+ 0x10ffff
+];
+
+exports.REPLACEMENT_CHARACTER = '\uFFFD';
+
+exports.CODE_POINTS = {
+ EOF: -1,
+ NULL: 0x00,
+ TABULATION: 0x09,
+ CARRIAGE_RETURN: 0x0d,
+ LINE_FEED: 0x0a,
+ FORM_FEED: 0x0c,
+ SPACE: 0x20,
+ EXCLAMATION_MARK: 0x21,
+ QUOTATION_MARK: 0x22,
+ NUMBER_SIGN: 0x23,
+ AMPERSAND: 0x26,
+ APOSTROPHE: 0x27,
+ HYPHEN_MINUS: 0x2d,
+ SOLIDUS: 0x2f,
+ DIGIT_0: 0x30,
+ DIGIT_9: 0x39,
+ SEMICOLON: 0x3b,
+ LESS_THAN_SIGN: 0x3c,
+ EQUALS_SIGN: 0x3d,
+ GREATER_THAN_SIGN: 0x3e,
+ QUESTION_MARK: 0x3f,
+ LATIN_CAPITAL_A: 0x41,
+ LATIN_CAPITAL_F: 0x46,
+ LATIN_CAPITAL_X: 0x58,
+ LATIN_CAPITAL_Z: 0x5a,
+ RIGHT_SQUARE_BRACKET: 0x5d,
+ GRAVE_ACCENT: 0x60,
+ LATIN_SMALL_A: 0x61,
+ LATIN_SMALL_F: 0x66,
+ LATIN_SMALL_X: 0x78,
+ LATIN_SMALL_Z: 0x7a,
+ REPLACEMENT_CHARACTER: 0xfffd
+};
+
+exports.CODE_POINT_SEQUENCES = {
+ DASH_DASH_STRING: [0x2d, 0x2d], //--
+ DOCTYPE_STRING: [0x44, 0x4f, 0x43, 0x54, 0x59, 0x50, 0x45], //DOCTYPE
+ CDATA_START_STRING: [0x5b, 0x43, 0x44, 0x41, 0x54, 0x41, 0x5b], //[CDATA[
+ SCRIPT_STRING: [0x73, 0x63, 0x72, 0x69, 0x70, 0x74], //script
+ PUBLIC_STRING: [0x50, 0x55, 0x42, 0x4c, 0x49, 0x43], //PUBLIC
+ SYSTEM_STRING: [0x53, 0x59, 0x53, 0x54, 0x45, 0x4d] //SYSTEM
+};
+
+//Surrogates
+exports.isSurrogate = function(cp) {
+ return cp >= 0xd800 && cp <= 0xdfff;
+};
+
+exports.isSurrogatePair = function(cp) {
+ return cp >= 0xdc00 && cp <= 0xdfff;
+};
+
+exports.getSurrogatePairCodePoint = function(cp1, cp2) {
+ return (cp1 - 0xd800) * 0x400 + 0x2400 + cp2;
+};
+
+//NOTE: excluding NULL and ASCII whitespace
+exports.isControlCodePoint = function(cp) {
+ return (
+ (cp !== 0x20 && cp !== 0x0a && cp !== 0x0d && cp !== 0x09 && cp !== 0x0c && cp >= 0x01 && cp <= 0x1f) ||
+ (cp >= 0x7f && cp <= 0x9f)
+ );
+};
+
+exports.isUndefinedCodePoint = function(cp) {
+ return (cp >= 0xfdd0 && cp <= 0xfdef) || UNDEFINED_CODE_POINTS.indexOf(cp) > -1;
+};