Parse string into array of string elements
npm install string-array[![NPM version][npm-image]][npm-url] [![Build Status][travis-image]][travis-url]
[![Dependency Status][daviddm-image]][daviddm-url] [![devDependency Status][daviddm-dev-image]][daviddm-dev-url]
Parse string into array of string elements.
"[ hello, world, [ 1, [2, [ 3 ]]]]" :arrow_right: [ "hello", "world", [ "1", [ "2", [ "3" ]]]]
``bash`
npm i --save string-array
`js
const stringArray = require("string-array");
const r1 = stringArray.parse("[]");
// r1 === { prefix: "", array: [], remain: "" }
const r2 = stringArray.parse("test[1,2,3]");
// 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 trimed.
* Can't have these characters in elements: , [ ]
* stringArray.parse(""):stringArray.parse("[]")
* :
`js`
{
prefix: "",
array: [],
remain: ""
}
* stringArray.parse('test[1,2,"3"]'):
`js`
{
prefix: "test",
array: ["1","2", '"3"'],
remain: ""
}
* stringArray.parse("[hello, world, [ [ foo, bar ], 1, [ 2 ], 3 ] ] some other stuff [blah]"):
`js`
{
prefix: "",
array: ["hello", "world", [ ["foo", "bar"], "1", ["2"], "3" ] ],
remain: "some other stuff [blah]"
}
> More samples in test
#### stringArray.parse(str, noPrefix, noExtra)
* str - string array to be parsednoPrefix
* - if true, then do not check for a prefixnoExtra
* - if true, then do not allow trailing text following a complete array in str
* AssertionError("array missing [")str
* Also throws if doesn't start with [ and noPrefix is trueAssertionError("array missing ]")
* AssertionError("array has extra ]")
* AssertionError("extra data at end of array")
* - if noExtra is true and there are extra text following a complete array in str`
Licensed under the Apache License, Version 2.0
[travis-image]: https://travis-ci.org/jchip/string-array.svg?branch=master
[travis-url]: https://travis-ci.org/jchip/string-array
[npm-image]: https://badge.fury.io/js/string-array.svg
[npm-url]: https://npmjs.org/package/string-array
[daviddm-image]: https://david-dm.org/jchip/string-array/status.svg
[daviddm-url]: https://david-dm.org/jchip/string-array
[daviddm-dev-image]: https://david-dm.org/jchip/string-array/dev-status.svg
[daviddm-dev-url]: https://david-dm.org/jchip/string-array?type=dev
[npm scripts]: https://docs.npmjs.com/misc/scripts