{"version":3,"sources":["jsdelivr-header.js","/npm/node-json-transform@1.1.2/index.js"],"names":[],"mappings":"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","file":"/npm/node-json-transform@1.1.2/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.37.0.\n * Original file: /npm/node-json-transform@1.1.2/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","// DataTransform\n\nvar _ = require('lodash');\n\nvar DataTransform = function(data, map){\n\n\treturn {\n\n\t\tdefaultOrNull: function(key) {\n\t\t\treturn key && map.defaults ? map.defaults[key] : undefined;\n\t\t},\n\n\t\tgetValue : function(obj, key, newKey) {\n\n\t\t\tif(typeof obj === 'undefined') {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif(key == '' || key == undefined) {\n\t\t\t\treturn obj;\n\t\t\t}\n\n\t\t\tvar value = obj || data;\n\t\t\tvar keys = null;\n\n\t\t\tkey = key || map.list;\n\t\t\treturn key == '' ? '' :  _.get(value, key, this.defaultOrNull(newKey));\n\t\t},\n\n\t\tsetValue : function(obj, key, newValue) {\n\n\t\t\tif(typeof obj === \"undefined\") {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif(key == '' || key == undefined) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif(key == '') {\n\t\t\t\treturn;\n\t\t\t} \n\t\t\t\n\t\t\tvar keys = key.split('.');\n\t\t\tvar target = obj;\n\t\t\tfor(var i = 0; i < keys.length; i++ ) {\n\t\t\t\tif(i === keys.length - 1) {\n\t\t\t\t\ttarget[keys[i]] = newValue;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tif(keys[i] in target)\n\t\t\t\t\ttarget = target[keys[i]];\n\t\t\t\telse return;\n\t\t\t}\n\t\t},\n\n\t\tgetList: function(){\n\t\t\treturn this.getValue(data, map.list);\n\t\t},\n\n\t\ttransform : function(context) {\n\t\t\tvar useList = map.list != undefined;\n\t\t\tvar value; \n\t\t\tif (useList) { \n\t\t\t\tvalue = this.getValue(data, map.list);\n\t\t\t} else if (_.isArray(data) && !useList) {\n\t\t\t\tvalue = data;\n\t\t\t} else if (_.isObject(data) && !useList) { \n\t\t\t\tvalue = [data];\n\t\t\t}\n\t\t\tvar normalized = [];\n\t\t\n\t\t\tif(!_.isEmpty(value)) {\n\t\t\t\tvar list = useList ? this.getList() : value;\n\t\t\t\tnormalized = map.item ? _.map(list, _.bind(this.iterator, this, map.item)) : list;\n\t\t\t\tnormalized = _.bind(this.operate, this, normalized)(context);\n\t\t\t\tnormalized = this.each(normalized, context);\n\t\t\t\tnormalized = this.removeAll(normalized);\n\t\t\t}\n\t\t\t\n\t\t\tif(!useList && _.isObject(data) && !_.isArray(data)){\n\t\t\t\treturn normalized[0];\n\t\t\t}\n\n\t\t\treturn normalized;\n\n\t\t},\n\n\t\ttransformAsync : function(context) {\n\t\t\treturn new Promise(function(resolve, reject) {\n\t\t\t\ttry {\n\t\t\t\t\tresolve(this.transform(context))\n\t\t\t\t} catch (err) {\n\t\t\t\t\treject(err);\n\t\t\t\t}\n\t\t\t}.bind(this));\n\t\t},\n\n\t\tremoveAll: function(data){\n      if (_.isArray(map.remove)) {\n        return _.each(data, this.remove)\n      }\n\t\t\treturn data;\n\t\t},\n\n\t\tremove: function(item){\n\t\t\t_.each(map.remove, function (key) {\n\t\t\t\tdelete item[key];\n\t\t\t});\n\t\t\treturn item;\n\t\t},\n\n\t\toperate: function(data, context) {\n\n\t\t\tif(map.operate) {\n\t\t\t\t_.each(map.operate, _.bind(function(method){\n\t\t\t\t\tdata = _.map(data, _.bind(function(item){\n\t\t\t\t\t\tvar fn;\n\t\t\t\t\t\tif( 'string' === typeof method.run ) {\n\t\t\t\t\t\t\tfn = eval( method.run );\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tfn = method.run;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tthis.setValue(item,method.on,fn(this.getValue(item,method.on), context));\n\t\t\t\t\t\treturn item;\n\t\t\t\t\t},this));\n\t\t\t\t},this));\n\t\t\t}\n\t\t\treturn data;\n\n\t\t},\n\n\t\teach: function(data, context){\n\t\t\tif( map.each ) {\n\t\t\t\t_.each(data, function (value, index, collection) {\n\t\t\t\t\treturn map.each(value, index, collection, context);\n\t\t\t\t});\n\t\t\t}  \n\t\t\treturn data;\n\t\t},\n\n\t\titerator : function(map, item) {\n\n\t\t\tvar obj = {};\n\n\t\t\t//to support simple arrays with recursion\n\t\t\tif(typeof map === 'string') {\n\t\t\t\treturn this.getValue(item, map);\n\t\t\t}\n\t\t\t_.each(map, _.bind(function(oldkey, newkey) {\n\t\t\t\tif(typeof oldkey === 'string' && oldkey.length > 0) {\n\t\t\t\t\t var value = this.getValue(item, oldkey, newkey);\n\t\t\t\t\t if (value !== undefined) obj[newkey] = value;\n\t\t\t\t} else if( _.isArray(oldkey) ) {\n\t\t\t\t\tvar array = _.map(oldkey, _.bind(function(item,map) {return this.iterator(map,item)}, this , item));//need to swap arguments for bind\n\t\t\t\t\tobj[newkey] = array;\n\t\t\t\t}  else if(typeof oldkey === 'object'){\n\t\t\t\t\tvar bound = _.bind(this.iterator, this, oldkey,item);\n\t\t\t\t\tobj[newkey] = bound();\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tobj[newkey] = \"\";\n\t\t\t\t}\t\n\n\t\t\t}, this));\n\t\t\treturn obj;\n\n\t\t}\n\n\t};\n\n};\n\nexports.DataTransform = DataTransform;\n\nexports.transform = function(data, map, context) {\n\tvar dataTransform = new DataTransform(data, map)\n\treturn dataTransform.transform(context);\n}\n\nexports.transformAsync = function(data, map, context) {\n\tvar dataTransform = new DataTransform(data, map)\n\treturn dataTransform.transformAsync(context);\n}"]}