Sha256: a4205fb110e21b4125cddfa5b94f1ea51c1a73e1d939d8c9f302b820a275c902
Contents?: true
Size: 910 Bytes
Versions: 46
Compression:
Stored size: 910 Bytes
Contents
"use strict"; var compact = require("../array/#/compact") , isObject = require("../object/is-object") , toArray = require("../object/to-array") , isArray = Array.isArray , stringify = JSON.stringify; module.exports = function self(value /*, replacer, space*/) { var replacer = arguments[1], space = arguments[2]; try { return stringify(value, replacer, space); } catch (e) { if (!isObject(value)) return null; if (typeof value.toJSON === "function") return null; if (isArray(value)) { return ( "[" + compact.call( value.map(function (item) { return self(item, replacer, space); }) ) + "]" ); } return ( "{" + compact .call( toArray(value, function (item, key) { item = self(item, replacer, space); if (!item) return null; return stringify(key) + ":" + item; }) ) .join(",") + "}" ); } };
Version data entries
46 entries across 46 versions & 3 rubygems