Giter VIP home page Giter VIP logo

underscore.kv's Introduction

underscore.kv

Key-value pairs serialization (aka, www-form-encoding) of objects for Underscore.js.

Usage

For usage in node.js, install it via npm: npm install underscore.kv.

You can use underscore.kv as a stand-alone library, though it depends on Underscore. Most people mix it into the Underscore namespace, which gains you the chaining wrappers.

// standalone
var _kv = require('underscore.kv');

// mixin
var _ = require('underscore');
_.mixin require('underscore.kv');

API

_.toKV( object [, item_delim='&' [, kv_delim='=' ]] )

Transforms an object to a string of URL-encoded KV-pairs (aka "www-form-encoding"). You may optionally override the delimiter inserted between items (& by default), or the delimiter inserted between keys and values (=).

Note:

  • All values end up as a string, implying all type information is lost.
  • Both keys and values are URL-encoded once.
_.toKV({ "foo":"bar", "feh":1, "lol":true })
// --> "foo=bar&feh=1&lol=true"

_.fromKV( string [, item_delim='&' [, kv_delim='=' ]])

Restores an object from a string of URL-encoded KV-pairs (aka "www-form-encoding"). You may optionally override the delimiter inserted between items (& by default), or the delimiter inserted between keys and values (=).

Note:

  • All resulting values will be strings as all type information is lost.
  • Both keys and values will be URL-decoded once.
_.fromKV("foo=bar&feh=1&lol=true")
// --> { "foo":"bar", "feh":"1", "lol":"true" }

_.collapseObject( source [, target={} [, prefix='' ]])

Copies and flattens a tree of sub-objects into namespaced keys on the target object.

_.collapseObject({ "foo":{ "bar":1 } })
// --> { "foo.bar":1 }

_.uncollapseObject( source [, target={} ])

Inverse of _.collapseObject() โ€” copies all keys onto the target object, expanding any dot-namespaced keys found.

_.uncollapseObject({ "foo.bar":1 })
// --> { "foo":{ "bar":1 } }

Feedback

Find a bug or want to contribute? Open a ticket (or fork the source!) on github. You're also welcome to send me email at [email protected].

--

underscore.kv was written by David Schoonover; it is open-source software and freely available under the MIT License.

underscore.kv's People

Contributors

dsc avatar

Watchers

 avatar James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.