String Array
Parse string into array of string elements.
"[ hello, world, [ 1, [2, [ 3 ]]]]"
➡️ [ "hello", "world", [ "1", [ "2", [ "3" ]]]]
Install
npm i --save string-array
Usage
const stringArray = ; const r1 = stringArray;// r1 === { prefix: "", array: [], remain: "" }const r2 = stringArray;// r2 === { prefix: "test", array: ["1","2","3"], remain: "" }
-
Elements are automatically treated as strings, so quotes
'
,"
and backtick are taken as part of element. -
All leading and trailing whitespaces are automatically
trim
ed. -
Can't have these characters in elements:
,
[
]
Examples
stringArray.parse("")
:stringArray.parse("[]")
:
prefix: "" array: remain: ""
stringArray.parse('test[1,2,"3"]')
:
prefix: "test" array: "1""2" '"3"' remain: ""
stringArray.parse("[hello, world, [ [ foo, bar ], 1, [ 2 ], 3 ] ] some other stuff [blah]")
:
prefix: "" array: "hello" "world" "foo" "bar" "1" "2" "3" remain: "some other stuff [blah]"
More samples in test
Parameters
stringArray.parse(str, noPrefix, noExtra)
str
- string array to be parsednoPrefix
- iftrue
, then do not check for a prefixnoExtra
- iftrue
, then do not allow trailing text following a complete array instr
Throws
AssertionError("array missing [")
- Also throws if
str
doesn't start with[
andnoPrefix
istrue
- Also throws if
AssertionError("array missing ]")
AssertionError("array has extra ]")
AssertionError("extra data at end of array")
- ifnoExtra
istrue
and there are extra text following a complete array instr
License
Licensed under the Apache License, Version 2.0