src/cm/media/js/lib/yui/yui_3.10.3/build/querystring-stringify-simple/querystring-stringify-simple.js
author Yves-Marie Haussonne <ymh.work+github@gmail.com>
Fri, 09 May 2014 18:35:26 +0200
changeset 656 a84519031134
parent 525 89ef5ed3c48b
permissions -rw-r--r--
add link to "privacy policy" in the header test
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
525
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     1
/*
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     2
YUI 3.10.3 (build 2fb5187)
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     3
Copyright 2013 Yahoo! Inc. All rights reserved.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     4
Licensed under the BSD License.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     5
http://yuilibrary.com/license/
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     6
*/
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     7
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     8
YUI.add('querystring-stringify-simple', function (Y, NAME) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     9
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    10
/*global Y */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    11
/**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    12
 * <p>Provides Y.QueryString.stringify method for converting objects to Query Strings.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    13
 * This is a subset implementation of the full querystring-stringify.</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    14
 * <p>This module provides the bare minimum functionality (encoding a hash of simple values),
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    15
 * without the additional support for nested data structures.  Every key-value pair is
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    16
 * encoded by encodeURIComponent.</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    17
 * <p>This module provides a minimalistic way for io to handle  single-level objects
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    18
 * as transaction data.</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    19
 *
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    20
 * @module querystring
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    21
 * @submodule querystring-stringify-simple
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    22
 */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    23
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    24
var QueryString = Y.namespace("QueryString"),
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    25
    EUC = encodeURIComponent;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    26
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    27
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    28
QueryString.stringify = function (obj, c) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    29
    var qs = [],
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    30
        // Default behavior is false; standard key notation.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    31
        s = c && c.arrayKey ? true : false,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    32
        key, i, l;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    33
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    34
    for (key in obj) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    35
        if (obj.hasOwnProperty(key)) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    36
            if (Y.Lang.isArray(obj[key])) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    37
                for (i = 0, l = obj[key].length; i < l; i++) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    38
                    qs.push(EUC(s ? key + '[]' : key) + '=' + EUC(obj[key][i]));
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    39
                }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    40
            }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    41
            else {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    42
                qs.push(EUC(key) + '=' + EUC(obj[key]));
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    43
            }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    44
        }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    45
    }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    46
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    47
    return qs.join('&');
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    48
};
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    49
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    50
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    51
}, '3.10.3', {"requires": ["yui-base"]});