| Server IP : 185.208.173.17 / Your IP : 87.236.161.98 Web Server : Microsoft-IIS/10.0 System : Windows NT SRV8576125506 10.0 build 26100 (Windows Server 2016) AMD64 User : IUSR ( 0) PHP Version : 7.4.13 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : C:/inetpub/wwwroot/parsmega.nuxt/node_modules/@webassemblyjs/wast-parser/lib/ |
Upload File : |
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.parseString = parseString;
// string literal characters cannot contain control codes
var CONTROL_CODES = [0, // null
7, // bell
8, // backspace
9, // horizontal
10, // line feed
11, // vertical tab
12, // form feed
13, // carriage return
26, // Control-Z
27, // escape
127 // delete
]; // escaped sequences can either be a two character hex value, or one of the
// following single character codes
function decodeControlCharacter(char) {
switch (char) {
case "t":
return 0x09;
case "n":
return 0x0a;
case "r":
return 0x0d;
case '"':
return 0x22;
case "′":
return 0x27;
case "\\":
return 0x5c;
}
return -1;
}
var ESCAPE_CHAR = 92; // backslash
var QUOTE_CHAR = 34; // backslash
// parse string as per the spec:
// https://webassembly.github.io/spec/core/multipage/text/values.html#text-string
function parseString(value) {
var byteArray = [];
var index = 0;
while (index < value.length) {
var charCode = value.charCodeAt(index);
if (CONTROL_CODES.indexOf(charCode) !== -1) {
throw new Error("ASCII control characters are not permitted within string literals");
}
if (charCode === QUOTE_CHAR) {
throw new Error("quotes are not permitted within string literals");
}
if (charCode === ESCAPE_CHAR) {
var firstChar = value.substr(index + 1, 1);
var decodedControlChar = decodeControlCharacter(firstChar);
if (decodedControlChar !== -1) {
// single character escaped values, e.g. \r
byteArray.push(decodedControlChar);
index += 2;
} else {
// hex escaped values, e.g. \2a
var hexValue = value.substr(index + 1, 2);
if (!/^[0-9A-F]{2}$/i.test(hexValue)) {
throw new Error("invalid character encoding");
}
byteArray.push(parseInt(hexValue, 16));
index += 3;
}
} else {
// ASCII encoded values
byteArray.push(charCode);
index++;
}
}
return byteArray;
}