0.0.12 • Published 2 years ago

@garrettcharliehill/query-string-object v0.0.12

Weekly downloads
-
License
ISC
Repository
-
Last release
2 years ago

##querystring Build Status

support object or array like php did: ?a[]=1&a[]=2 -> a=1,2

###Usage

install in shell

npm install query-string-object

in js file

qs = require('query-string-object')
qs('xx=yy&zz..') // just like what is pass to the native qs.parse
qs.stringify({
  fInt: 1,
  fString: 'string',
  fObject: {
    anobject: {a:1, b:2},
    anything: 'thing'
  },
  fArray: [1,2,"string"]
}) 
// fInt=1&fString=string&fObject[anobject][a]=1&fObject[anobject][b]=2&fObject[anything]=thing&fArray[]=1&fArray[]=2&fArray[]=string

###Tests

npm install
./node_modules/.bin/mocha --reporter tap test.js

###Expects

####a=1&b=2

output

{
  a:1,
  b:2 
}

####a=1&b[]=1&b[]=2&c=3

output

({
  a: 1,
  b: [1, 2],
  c: 3
});

####a=1&b[]=1&c=3

output

({
  a: 1,
  b: [1],
  c: 3
});

####a=1&b1=1&c3=2&c=3

output

({
  a: 1,
  b: {
    1: 1
  },
  c: {
    3: 2
  }
});

####a=1&beric=dum&cstive=jobs&c=3

output
({
  a: 1,
  b: {
    eric: "dum"
  },
  c: {
    stive: "jobs"
  }
});

####a=1&beric=dum&bstive=jobs&c=3

output

({
  a: 1,
  b: {
    eric: "dum",
    stive: "jobs"
  },
  c: 3
});

####a=1&beric=dum&bstive=jobs&bstive=fans&c=3

output

({
  a: 1,
  b: {
    eric: ["dum"],
    stive: ["jobs", "fans"]
  },
  c: 3
});