Current Path : C:/xampp/htdocs/moodle/lib/yuilib/3.17.2/json-stringify/ |
Current File : C:/xampp/htdocs/moodle/lib/yuilib/3.17.2/json-stringify/json-stringify-debug.js |
/* YUI 3.17.2 (build 9c3c78e) Copyright 2014 Yahoo! Inc. All rights reserved. Licensed under the BSD License. http://yuilibrary.com/license/ */ YUI.add('json-stringify', function (Y, NAME) { /** * Provides Y.JSON.stringify method for converting objects to JSON strings. * * @module json * @submodule json-stringify * @for JSON * @static */ var COLON = ':', _JSON = Y.config.global.JSON; Y.mix(Y.namespace('JSON'), { /** * Serializes a Date instance as a UTC date string. Used internally by * stringify. Override this method if you need Dates serialized in a * different format. * * @method dateToString * @param d {Date} The Date to serialize * @return {String} stringified Date in UTC format YYYY-MM-DDTHH:mm:SSZ * @deprecated Use a replacer function * @static */ dateToString: function (d) { function _zeroPad(v) { return v < 10 ? '0' + v : v; } return d.getUTCFullYear() + '-' + _zeroPad(d.getUTCMonth() + 1) + '-' + _zeroPad(d.getUTCDate()) + 'T' + _zeroPad(d.getUTCHours()) + COLON + _zeroPad(d.getUTCMinutes()) + COLON + _zeroPad(d.getUTCSeconds()) + 'Z'; }, /** * <p>Converts an arbitrary value to a JSON string representation.</p> * * <p>Objects with cyclical references will trigger an exception.</p> * * <p>If a whitelist is provided, only matching object keys will be * included. Alternately, a replacer function may be passed as the * second parameter. This function is executed on every value in the * input, and its return value will be used in place of the original value. * This is useful to serialize specialized objects or class instances.</p> * * <p>If a positive integer or non-empty string is passed as the third * parameter, the output will be formatted with carriage returns and * indentation for readability. If a String is passed (such as "\t") it * will be used once for each indentation level. If a number is passed, * that number of spaces will be used.</p> * * @method stringify * @param o {MIXED} any arbitrary value to convert to JSON string * @param w {Array|Function} (optional) whitelist of acceptable object * keys to include, or a replacer function to modify the * raw value before serialization * @param ind {Number|String} (optional) indentation character or depth of * spaces to format the output. * @return {string} JSON string representation of the input * @static */ stringify: function () { return _JSON.stringify.apply(_JSON, arguments); }, /** * <p>Number of occurrences of a special character within a single call to * stringify that should trigger promotion of that character to a dedicated * preprocess step for future calls. This is only used in environments * that don't support native JSON, or when useNativeJSONStringify is set to * false.</p> * * <p>So, if set to 50 and an object is passed to stringify that includes * strings containing the special character \x07 more than 50 times, * subsequent calls to stringify will process object strings through a * faster serialization path for \x07 before using the generic, slower, * replacement process for all special characters.</p> * * <p>To prime the preprocessor cache, set this value to 1, then call * <code>Y.JSON.stringify("<em>(all special characters to * cache)</em>");</code>, then return this setting to a more conservative * value.</p> * * <p>Special characters \ " \b \t \n \f \r are already cached.</p> * * @property charCacheThreshold * @static * @default 100 * @type {Number} */ charCacheThreshold: 100 }); }, '3.17.2', {"requires": ["yui-base"]});