{"version":3,"sources":["jsdelivr-header.js","/npm/js-sizeof@0.0.1/index.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,ACNA,aAOA,SAAS,OAAQ,GAKb,IAJA,IAAI,EAAU,CAAE,GACZ,EAAY,GACZ,EAAO,EAED,EAAQ,EAAG,EAAQ,EAAQ,SAAU,EAAQ,CACnD,IAAI,EAAU,EAAS,GACvB,cAAgB,GACZ,IAAK,UACD,GAAQ,EACR,MACJ,IAAK,SACD,GAAQ,EACR,MACJ,IAAK,SACD,GAAQ,EAAI,EAAQ,OACpB,MACJ,IAAK,SACD,GAAiB,OAAZ,EAAmB,CACpB,GAAQ,EACR,KACJ,CAIA,IAAI,EAAgB,MAAM,QAAS,GAAY,EAAI,EAGnD,IAAM,IAAI,KAAO,EACb,GAAwB,EAAhB,EAAoB,EAAI,QACc,IAAzC,EAAU,QAAS,EAAS,MAC7B,EAAQ,KAAM,EAAS,IACQ,iBAAnB,EAAS,IACjB,EAAU,KAAM,EAAS,KAMjD,CAEA,OAAO,CACX,CA7CA,OAAO,QAAU","file":"/npm/js-sizeof@0.0.1/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/js-sizeof@0.0.1/index.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","'use strict';\n\n/* based on sizeof.js by Stephen Morley - http://code.stephenmorley.org/ */\n\nmodule.exports = sizeof;\n\n/* Returns the approximate memory usage */\nfunction sizeof( object ) {\n    var objects = [ object ];\n    var processed = [];\n    var size = 0;\n\n    for ( var index = 0; index < objects.length; ++index ) {\n        var _object = objects[ index ];\n        switch ( typeof _object ) {\n            case 'boolean':\n                size += 4;\n                break;\n            case 'number':\n                size += 8;\n                break;\n            case 'string':\n                size += 2 * _object.length;\n                break;\n            case 'object':\n                if ( _object === null ) {\n                    size += 4; // assume null is the same size as a boolean\n                    break;\n                }\n                \n                // if it's an array, the keys add no size. if it's an object, keys\n                // add size based on their length (keys must be strings according to spec)\n                var keySizeFactor = Array.isArray( _object ) ? 0 : 1;\n\n                // coerces even array indices to strings, so we can use key.length safely\n                for ( var key in _object ) {\n                    size += keySizeFactor * 2 * key.length;\n                    if ( processed.indexOf( _object[ key ] ) === -1 ) {\n                        objects.push( _object[ key ] );\n                        if ( typeof _object[ key ] === 'object' ) {\n                            processed.push( _object[ key ] );\n                        }\n                    }\n                }\n                break;\n        }\n    }\n\n    return size;\n}"]}