GithubHelp home page GithubHelp logo

rack-qs's Introduction

rack-qs

Features

  • Encode query string params in a way that Rack-based applications can understand
    • application/x-www-form-urlencoded and application/json requests
    • Nested objects and arrays work ๐Ÿ‘
  • Universal (Isomorphic)
  • (COMING SOON) Capybara tested, use with confidence

Installation

Node.js:

$ npm install rack-qs --save

Yarn:

$ yarn add rack-qs

the browser:

<script src="dist/rack-qs.js"></script>

Usage

CommonJS:

const rackQs = require('rack-qs');

let obj = { key1: 'value1', key2: [10, 20, 30] };
let str = rackQs.stringify(obj);
// => 'key1=value1&key2%5B%5D=10&key2%5B%5D=20&key2%5B%5D=30'

ES6 import:

import * as rackQs from 'rack-qs';

let obj = { key1: 'value1', key2: [10, 20, 30] };
let str = rackQs.stringify(obj);
// => 'key1=value1&key2%5B%5D=10&key2%5B%5D=20&key2%5B%5D=30'

<script></script> tag:

let obj = { key1: 'value1', key2: [10, 20, 30] };
let str = window.rackQs.stringify(obj);
// => 'key1=value1&key2%5B%5D=10&key2%5B%5D=20&key2%5B%5D=30'

Options

Rack decodes application/x-www-form-urlencoded and application/json requests differently. To specify which kind of request, pass an optional second argument options.

let obj = { foo: [ { bar: 'baz' } ] };
let options = { form: true };
let str = rackQs.stringify(obj, options);
// => 'foo%5B0%5D%5Bbar%5D=baz'

options.form is false by default.

Browser Support

Chrome, Firefox, Safari, Edge, and IE9+.

License

MIT

rack-qs's People

Contributors

criles25 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.