@plist/openstep.parse
Advanced tools
+15
-14
@@ -18,3 +18,3 @@ "use strict"; | ||
| } | ||
| input = input.substr(token.length); | ||
| input = input.substring(token.length); | ||
| [, input] = consumeWhitespaceAndComments(input); | ||
@@ -28,12 +28,12 @@ return [token, input]; | ||
| if (!input.startsWith(skipUntil)) { | ||
| input = input.substr(1); | ||
| input = input.substring(1); | ||
| continue; | ||
| } | ||
| else { | ||
| input = input.substr(skipUntil.length); | ||
| input = input.substring(skipUntil.length); | ||
| skipUntil = undefined; | ||
| } | ||
| } | ||
| const char = input.substr(0, 1); | ||
| input = input.substr(1); | ||
| const char = input.substring(0, 1); | ||
| input = input.substring(1); | ||
| if (WHITESPACE.includes(char)) { | ||
@@ -68,4 +68,4 @@ continue; | ||
| let result = null; | ||
| const char = input.substr(0, 1); | ||
| input = input.substr(1); | ||
| const char = input.substring(0, 1); | ||
| input = input.substring(1); | ||
| switch (char) { | ||
@@ -128,3 +128,3 @@ case '{': | ||
| const digit = input.charAt(0); | ||
| input = input.substr(1); | ||
| input = input.substring(1); | ||
| if (HEX_DIGIT_REGEX.test(digit)) { | ||
@@ -155,18 +155,19 @@ hexString += digit; | ||
| case '"': | ||
| case "'": | ||
| result = ''; | ||
| while (input.charAt(0) !== '"') { | ||
| while (input.charAt(0) !== char) { | ||
| result += input.charAt(0); | ||
| if (input.charAt(0) === '\\') { | ||
| result += input.charAt(1); | ||
| input = input.substr(2); | ||
| input = input.substring(2); | ||
| } | ||
| else { | ||
| input = input.substr(1); | ||
| input = input.substring(1); | ||
| } | ||
| if (input.length === 0) { | ||
| throw new Error("No matching '\"' found"); | ||
| throw new Error(`No matching ${char} found`); | ||
| } | ||
| } | ||
| result = unescapeString(result); | ||
| [, input] = consumeToken(input, '"'); | ||
| [, input] = consumeToken(input, char); | ||
| break; | ||
@@ -180,3 +181,3 @@ default: | ||
| result += input.charAt(0); | ||
| input = input.substr(1); | ||
| input = input.substring(1); | ||
| if (input.length === 0) { | ||
@@ -183,0 +184,0 @@ break; |
+15
-14
@@ -15,3 +15,3 @@ const UNQUOTED_STRING_CHAR_REGEX = /[A-Za-z0-9_$+\/:.-]/; | ||
| } | ||
| input = input.substr(token.length); | ||
| input = input.substring(token.length); | ||
| [, input] = consumeWhitespaceAndComments(input); | ||
@@ -25,12 +25,12 @@ return [token, input]; | ||
| if (!input.startsWith(skipUntil)) { | ||
| input = input.substr(1); | ||
| input = input.substring(1); | ||
| continue; | ||
| } | ||
| else { | ||
| input = input.substr(skipUntil.length); | ||
| input = input.substring(skipUntil.length); | ||
| skipUntil = undefined; | ||
| } | ||
| } | ||
| const char = input.substr(0, 1); | ||
| input = input.substr(1); | ||
| const char = input.substring(0, 1); | ||
| input = input.substring(1); | ||
| if (WHITESPACE.includes(char)) { | ||
@@ -65,4 +65,4 @@ continue; | ||
| let result = null; | ||
| const char = input.substr(0, 1); | ||
| input = input.substr(1); | ||
| const char = input.substring(0, 1); | ||
| input = input.substring(1); | ||
| switch (char) { | ||
@@ -125,3 +125,3 @@ case '{': | ||
| const digit = input.charAt(0); | ||
| input = input.substr(1); | ||
| input = input.substring(1); | ||
| if (HEX_DIGIT_REGEX.test(digit)) { | ||
@@ -152,18 +152,19 @@ hexString += digit; | ||
| case '"': | ||
| case "'": | ||
| result = ''; | ||
| while (input.charAt(0) !== '"') { | ||
| while (input.charAt(0) !== char) { | ||
| result += input.charAt(0); | ||
| if (input.charAt(0) === '\\') { | ||
| result += input.charAt(1); | ||
| input = input.substr(2); | ||
| input = input.substring(2); | ||
| } | ||
| else { | ||
| input = input.substr(1); | ||
| input = input.substring(1); | ||
| } | ||
| if (input.length === 0) { | ||
| throw new Error("No matching '\"' found"); | ||
| throw new Error(`No matching ${char} found`); | ||
| } | ||
| } | ||
| result = unescapeString(result); | ||
| [, input] = consumeToken(input, '"'); | ||
| [, input] = consumeToken(input, char); | ||
| break; | ||
@@ -177,3 +178,3 @@ default: | ||
| result += input.charAt(0); | ||
| input = input.substr(1); | ||
| input = input.substring(1); | ||
| if (input.length === 0) { | ||
@@ -180,0 +181,0 @@ break; |
+2
-2
| { | ||
| "name": "@plist/openstep.parse", | ||
| "version": "1.1.0", | ||
| "version": "1.1.1", | ||
| "description": "TypeScript library for serializing OpenStep/NEXTStep Property Lists, in browser and node.js.", | ||
@@ -53,2 +53,2 @@ "main": "./lib/cjs/index.js", | ||
| } | ||
| } | ||
| } |
+15
-14
@@ -26,3 +26,3 @@ import { Value } from '@plist/common'; | ||
| input = input.substr(token.length); | ||
| input = input.substring(token.length); | ||
| [, input] = consumeWhitespaceAndComments(input); | ||
@@ -38,6 +38,6 @@ return [token, input]; | ||
| if (!input.startsWith(skipUntil)) { | ||
| input = input.substr(1); | ||
| input = input.substring(1); | ||
| continue; | ||
| } else { | ||
| input = input.substr(skipUntil.length); | ||
| input = input.substring(skipUntil.length); | ||
| skipUntil = undefined; | ||
@@ -47,4 +47,4 @@ } | ||
| const char = input.substr(0, 1); | ||
| input = input.substr(1); | ||
| const char = input.substring(0, 1); | ||
| input = input.substring(1); | ||
@@ -86,4 +86,4 @@ if (WHITESPACE.includes(char)) { | ||
| const char = input.substr(0, 1); | ||
| input = input.substr(1); | ||
| const char = input.substring(0, 1); | ||
| input = input.substring(1); | ||
@@ -160,3 +160,3 @@ switch (char) { | ||
| const digit = input.charAt(0); | ||
| input = input.substr(1); | ||
| input = input.substring(1); | ||
@@ -190,15 +190,16 @@ if (HEX_DIGIT_REGEX.test(digit)) { | ||
| case '"': | ||
| case "'": | ||
| result = ''; | ||
| while (input.charAt(0) !== '"') { | ||
| while (input.charAt(0) !== char) { | ||
| result += input.charAt(0); | ||
| if (input.charAt(0) === '\\') { | ||
| result += input.charAt(1); | ||
| input = input.substr(2); | ||
| input = input.substring(2); | ||
| } else { | ||
| input = input.substr(1); | ||
| input = input.substring(1); | ||
| } | ||
| if (input.length === 0) { | ||
| throw new Error("No matching '\"' found"); | ||
| throw new Error(`No matching ${char} found`); | ||
| } | ||
@@ -209,3 +210,3 @@ } | ||
| [, input] = consumeToken(input, '"'); | ||
| [, input] = consumeToken(input, char); | ||
| break; | ||
@@ -220,3 +221,3 @@ default: | ||
| result += input.charAt(0); | ||
| input = input.substr(1); | ||
| input = input.substring(1); | ||
@@ -223,0 +224,0 @@ if (input.length === 0) { |
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
21747
0.76%589
0.51%0
-100%