A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://www.npmjs.com/package/expand-object below:

expand-object - npm

expand-object

Expand a string into a JavaScript object using a simple notation. Use the CLI or as a node.js lib.

(TOC generated by verb using markdown-toc)

Install

Install with npm

$ npm i expand-object --save

Also see collapse-object, for doing the reverse of this library.

Examples

expand('a')

 

expand('a.b')

 

expand('a|b')

 

expand('a|b', {toBoolean: true})

 

expand('a:b')

 

expand('a,b')

Type casting

Introduced in v0.2.2, some values are cast to their JavaScript type.

Booleans

If the value is "true" or "false" it will be coerced to a boolean value.

expand('a:true')

expand('a:false')

Numbers

If the value is an integer it will be coerced to a number.

expand('a:1')

expand('a:123')

Regex

If the value is a simple regular expression it will be coerced to a new RegExp().

expand('a:/foo/')

expand('a.b.c:/^bar/gmi')

Install

Install with npm

$ npm i expand-object --save

CLI

Usage with cli:

❯ expand-object --help

 

  Usage: expand-object [options] <string>

 

  Expand a string into a JavaScript object using a simple notation.

 

  Options:

 

    -h, --help     output usage information

    -V, --version  output the version number

    -r, --raw      Output as raw javascript object - not stringified

 

  Examples:

 

    $ expand-object "a:b"

    $ expand-object --raw "a:b"

    $ echo "a:b" | expand-object

node.js

To use as a node.js library:

var expand = require('expand-object');

children

Expand dots into child objects:

expand('a')

expand('a.b')

expand('a.b.c')

expand('a.b.c.d')

siblings

expand-object supports two kinds of siblings, general and adjacent. It's much easier to understand the difference in the last example.

general siblings

Use pipes (|) to expand general siblings:

expand('a|b')

expand('a|b|c')

expand('a|b|c|d')

expand('a:b|c:d')

adjacent siblings

Use plus (+) to expand adjacent siblings:

Adjacent siblings are objects that immediately follow one another.

expand('a:b+c:d')

expand('a.b:c+d:e')

difference between sibling types

In the example below:

expand('a.b:c|d:e')

 

expand('a.b:c+d:e')

key-value pairs

Expand colons into key-value pairs:

expand('a:b')

expand('a.b:c')

expand('a.b.c:d')

arrays

Expand comma separated values into arrays:

expand('a,b')

expand('a,b,c')

expand('a:b,c,d|e:f,g,h')

Usage examples

Expand siblings with comma separated values into arrays:

expand('a:b,c,d|e:f,g,h')

Expand children with comma separated values into arrays:

expand('a.b.c:d,e,f|g.h:i,j,k')

Expand sibling objects into key-value pairs:

expand('a:b|c:d')

expand('a:b|c:d|e:f')

expand('a:b|c:d|e:f|g:h')

Expand child objects into key-value pairs:

expand('a.b:c')

expand('a.b.c:d')

expand('a.b.c.d:e')

Expand sibling and child objects into key-value pairs:

expand('a:b|c:d')

expand('a.b.c|d.e:f')

expand('a.b:c|d.e:f')

expand('a.b.c:d|e.f.g:h')

Related projects

expand-args: Expand parsed command line arguments using expand-object. | homepage

Running tests

Install dev dependencies:

$ npm i -d && npm test

Contributing

Pull requests and stars are always welcome. For bugs and feature requests, please create an issue.

Author

Jon Schlinkert

License

Copyright © 2015 Jon Schlinkert Released under the MIT license.

This file was generated by verb on December 23, 2015.


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4