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