src/cm/media/js/lib/yui/yui3-3.15.0/build/querystring-stringify-simple/querystring-stringify-simple.js
equal
deleted
inserted
replaced
|
1 YUI.add('querystring-stringify-simple', function (Y, NAME) { |
|
2 |
|
3 /*global Y */ |
|
4 /** |
|
5 * <p>Provides Y.QueryString.stringify method for converting objects to Query Strings. |
|
6 * This is a subset implementation of the full querystring-stringify.</p> |
|
7 * <p>This module provides the bare minimum functionality (encoding a hash of simple values), |
|
8 * without the additional support for nested data structures. Every key-value pair is |
|
9 * encoded by encodeURIComponent.</p> |
|
10 * <p>This module provides a minimalistic way for io to handle single-level objects |
|
11 * as transaction data.</p> |
|
12 * |
|
13 * @module querystring |
|
14 * @submodule querystring-stringify-simple |
|
15 */ |
|
16 |
|
17 var QueryString = Y.namespace("QueryString"), |
|
18 EUC = encodeURIComponent; |
|
19 |
|
20 |
|
21 QueryString.stringify = function (obj, c) { |
|
22 var qs = [], |
|
23 // Default behavior is false; standard key notation. |
|
24 s = c && c.arrayKey ? true : false, |
|
25 key, i, l; |
|
26 |
|
27 for (key in obj) { |
|
28 if (obj.hasOwnProperty(key)) { |
|
29 if (Y.Lang.isArray(obj[key])) { |
|
30 for (i = 0, l = obj[key].length; i < l; i++) { |
|
31 qs.push(EUC(s ? key + '[]' : key) + '=' + EUC(obj[key][i])); |
|
32 } |
|
33 } |
|
34 else { |
|
35 qs.push(EUC(key) + '=' + EUC(obj[key])); |
|
36 } |
|
37 } |
|
38 } |
|
39 |
|
40 return qs.join('&'); |
|
41 }; |
|
42 |
|
43 |
|
44 }, '@VERSION@', {"requires": ["yui-base"]}); |