{"version":3,"sources":["jsdelivr-header.js","/npm/maki-sushi@1.0.5/maki-sushi.js"],"names":[],"mappings":"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","file":"/npm/maki-sushi@1.0.5/maki-sushi.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.37.0.\n * Original file: /npm/maki-sushi@1.0.5/maki-sushi.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","var http = require('http');\n\nvar config = {\n\tneo:{\n\t\tusername:'',\n\t\tpassword: '',\n\t\talgorithms:{\n\t\t\tshortestPath: \"shortestPath\",\n\t\t\tallSimplePaths: \"allSimplePaths\",\n\t\t\tallPaths:\"allPaths\",\n\t\t\tdijkstra: \"dijkstra\",\n\t\t\tdata:{\n\t\t\t\tto: null,\n\t\t\t\tmax_depth: null,\n\t\t\t\tcost_property: null,\n\t\t\t\trelationships:{\n\t\t\t\t\ttype: null,\n\t\t\t\t\tdirection: null\n\t\t\t\t},\n\t\t\t\talgorithm: null\n\t\t\t}\n\t\t}\n\t},\n\tapi:{\n\t\tpath:'/db/data',\n\t\tmethods: [\"GET\", \"POST\", \"DELETE\", \"PUT\"],\n\t\tdirections: {\n\t\t\tin: \"in\",\n\t\t\tout: \"out\"\n\t\t}\n\t}\n};\n\nObject.defineProperty(config.api, \"fullURL\", {\n\tget: function(){\n\t\treturn config.options.http+config.options.hostname+\":\"+config.options.port+config.api.path;\n\t},\n\tenumerable: false\n});\n\n\nconfig.options = {\n\thttp: \"http://\",\n\thostname: 'localhost',\n\tpath: '',\n\tmethod: 'POST',\n\tport: 7474,\n\tencoding : 'utf8',\n\theaders:{\n\t\t'Content-Type': 'application/json'\n\t}\n};\n\nfunction checkTypeof (args) {\n\tfor(var i = 0; i< args.length; i++){\n\t\tif(typeof args[i] == 'undefined'){\n\t\t\treturn false;\n\t\t}\n\t}\n\n\treturn true;\n}\n\nfunction neo4j_call (data, callback) {\n\tvar response = \"\";\n\tif(config.neo.username && config.neo.password){\n\t\tconfig.options.headers['Authorization'] = 'Basic ' + (new Buffer(config.neo.username + ':' + config.neo.password)).toString('base64');\n\t}\n\tvar request = http.request(config.options, function (res){\n\t\t//res.statusCode\n\t\tres.setEncoding(config.options.encoding);\n\t\tres.on('data', function (chunk){\n\t\t\tresponse += chunk;\n\t\t});\n\n\t\tres.on('end', function(){\n\t\t\tif(callback) callback(res.statusCode, response);\n\t\t});\n\t});\n\n\trequest.on('error', function(e){\n\t\tthrow new Error(e);\n\t});\n\n\tif(typeof data !='undefined' && data!=null){\n\n\t\trequest.write(JSON.stringify(data));\n\t\trequest.end();\n\t}else{\n\t\trequest.end();\n\t}\n}\n\n\nmodule.exports = {\n\tconfig:{\n\t\tsetEndpoint: function(host, path){\n\t\t\tif (typeof host == 'undefined' || typeof path == 'undefined'){\n\t\t\t\tthrow new Error(\"You need to specify a full endpoint (host, eg: localhost, and path, eg: /neo4j/data)\");\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconfig.options.hostname = host;\n\t\t\tconfig.options.path = path;\n\t\t\treturn;\n\t\t},\n\n\t\tsetHeaders: function(h){\n\t\t\tfor(var he in h){\n\t\t\t\tconfig.options.headers[he] = h[he];\n\t\t\t}\n\t\t\treturn;\n\t\t},\n\n\t\tsetId: function(user, password){\n\t\t\tif(typeof user == 'undefined' || typeof password == 'undefined'){\n\t\t\t\tthrow new Error('Username and password required');\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconfig.neo.username = user;\n\t\t\tconfig.neo.password = password;\n\t\t\treturn;\n\t\t},\n\n\t\tsetPath: function(path){\n\t\t\tconfig.options.path= config.api.path + path;\n\t\t},\n\n\t\tsetMethod: function(method){\n\t\t\tif(config.api.methods.indexOf(method) == -1){\n\t\t\t\tthrow new Error(\"Method must be GET POST PUT or DELETE\");\n\t\t\t}\n\t\t\tconfig.options.method = method;\n\t\t},\n\n\t\tsetPort: function(port){\n\t\t\tconfig.options.port = port;\n\t\t}\n\t},\n\n\tnodes:{\n\t\tcreate: function(properties, callback){\n\t\t\tmodule.exports.config.setPath(\"/node\");\n\t\t\tmodule.exports.config.setMethod(\"POST\");\n\n\t\t\tvar l = null;\n\t\t\tvar data = {};\n\t\t\tif(properties != null && properties != 'empty'){\n\t\t\t\tfor(var p in properties){\n\t\t\t\t\tif(p==='label'){\n\t\t\t\t\t\tl=properties[p];\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\t\t\t\t\tdata[p] = properties[p];\n\t\t\t\t}\n\t\t\t}else{\n\t\t\t\tdata = null;\n\t\t\t}\n\n\t\t\tif(l==null){\n\t\t\t\tneo4j_call(data, callback);\n\t\t\t}else{\n\t\t\t\tneo4j_call(data, (function (label, c){\n\t\t\t\t\t//closure to keep label and callback in case of multiple fast creations\n\t\t\t\t\treturn function (st, res){\n\t\t\t\t\t\tif(st != 201){\n\t\t\t\t\t\t\tthrow new Error(res);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tres = JSON.parse(res);\n\t\t\t\t\t\tif(!res.metadata){\n\t\t\t\t\t\t\tthrow new Error(\"Weird response\", res);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tvar id = res.metadata.id;\n\t\t\t\t\t\tmodule.exports.nodes.labels.add(id, [label], (function (st, res){\n\t\t\t\t\t\t\t // closure to keep old status and response\n\t\t\t\t\t\t\t return function (stL, resL){\n\t\t\t\t\t\t\t\tvar resp = {\n\t\t\t\t\t\t\t\t\tcreate_status: st,\n\t\t\t\t\t\t\t\t\tcreate: res,\n\t\t\t\t\t\t\t\t\tlabel_add: resL,\n\t\t\t\t\t\t\t\t\tlabel_add_status: stL\n\t\t\t\t\t\t\t\t};\n\n\t\t\t\t\t\t\t\tc(200, resp);\n\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t})(st, res));\n\t\t\t\t\t};\n\t\t\t\t\n\t\t\t\t})(l, callback));\n\t\t\t}\n\n\n\t\t},\n\n\t\tget: function(id, callback){\n\t\t\tmodule.exports.config.setPath(\"/node/\"+id);\n\t\t\tmodule.exports.config.setMethod(\"GET\");\n\n\t\t\tneo4j_call(null, callback);\n\t\t},\n\n\t\tdelete: function(id, callback){\n\t\t\tmodule.exports.config.setPath(\"/node/\"+id);\n\t\t\tmodule.exports.config.setMethod(\"DELETE\");\n\n\t\t\tneo4j_call(null, callback);\n\t\t},\n\n\t\tdegree:{\n\t\t\t\n\t\t\tbyTypes: function(id, types, callback){\n\t\t\t\tvar types_str = \"\";\n\t\t\t\tfor(var i = 0; i < types.length; i++){\n\t\t\t\t\ttypes_str+= types[i] + \"&\";\n\t\t\t\t}\n\n\t\t\t\tmodule.exports.config.setMethod(\"GET\");\n\n\t\t\t\treturn {\n\t\t\t\t\tin:function(){\n\t\t\t\t\t\tmodule.exports.config.setPath(\"/node/\"+id+\"/degree/in/\" + types_str);\n\t\t\t\t\t\tneo4j_call(null, callback);\n\t\t\t\t\t},\n\n\t\t\t\t\tout: function(){\n\t\t\t\t\t\tmodule.exports.config.setPath(\"/node/\"+id+\"/degree/out/\" + types_str);\n\t\t\t\t\t\tneo4j_call(null, callback);\n\t\t\t\t\t},\n\n\t\t\t\t\tall: function(){\n\t\t\t\t\t\tmodule.exports.config.setPath(\"/node/\"+id+\"/degree/all/\" + types_str);\n\t\t\t\t\t\tneo4j_call(null, callback);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tget:function(id, callback){\n\t\t\t\tmodule.exports.config.setPath(\"/node/\"+id+\"/degree/all\");\n\t\t\t\tmodule.exports.config.setMethod(\"GET\");\n\n\t\t\t\tneo4j_call(null,callback);\n\t\t\t},\n\n\t\t\tin: function(id, callback){\n\t\t\t\tmodule.exports.config.setPath(\"/node/\"+id+\"/degree/in\");\n\t\t\t\tmodule.exports.config.setMethod(\"GET\");\n\n\t\t\t\tneo4j_call(null,callback);\n\t\t\t},\n\n\t\t\tout: function(id, callback){\n\t\t\t\tmodule.exports.config.setPath(\"/node/\"+id+\"/degree/out\");\n\t\t\t\tmodule.exports.config.setMethod(\"GET\");\n\n\t\t\t\tneo4j_call(null,callback);\n\t\t\t}\n\t\t},\n\n\t\tlabels:{\n\t\t\tadd: function(id, labels, callback){\n\t\t\t\tmodule.exports.config.setPath(\"/node/\"+id+\"/labels\");\n\t\t\t\tmodule.exports.config.setMethod(\"POST\");\n\n\t\t\t\tif(typeof labels == \"string\" || (typeof labels == 'object' && labels.length == 1)){\n\t\t\t\t\tif(typeof labels == \"string\"){\n\t\t\t\t\t\tneo4j_call(labels, callback);\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}else{\n\t\t\t\t\t\tneo4j_call(labels[0], callback);\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tneo4j_call(labels, callback);\n\t\t\t},\n\n\t\t\treplace: function(id, labels, callback){\n\t\t\t\tmodules.exports.config.setPath(\"/node/\"+id+\"/labels\");\n\t\t\t\tmodules.exports.config.setMethod(\"PUT\");\n\n\t\t\t\tneo4j_call(labels, callback);\n\t\t\t},\n\n\t\t\tremove: function(id, label, callback){\n\t\t\t\tmodules.exports.config.setPath(\"/node/\"+id+\"/labels/\"+label);\n\t\t\t\tmodules.exports.config.setMethod(\"DELETE\");\n\n\t\t\t\tneo4j_call(null, callback);\n\t\t\t},\n\n\t\t\tget: function(id, callback){\n\t\t\t\tmodule.exports.config.setPath(\"/node/\"+id+\"/labels\");\n\t\t\t\tmodule.exports.config.setMethod(\"GET\");\n\n\t\t\t\tneo4j_call(null,callback);\n\t\t\t},\n\n\t\t\tnodes: function(label, callback){\n\t\t\t\tmodule.exports.config.setPath(\"/label/\"+label+\"/nodes\");\n\t\t\t\tmodule.exports.config.setMethod(\"GET\");\n\n\t\t\t\tneo4j_call(null, callback);\n\t\t\t},\n\n\t\t\tlist: function(callback){\n\t\t\t\tmodule.exports.config.setPath(\"/labels\");\n\t\t\t\tmmodule.exports.config.setMethod(\"GET\");\n\n\t\t\t\tneo4j_call(null, callback);\n\t\t\t}\n\t\t},\n\n\t\trelationships:{\n\t\t\tincoming: function(id, callback){\n\t\t\t\tmodule.exports.config.setPath(\"/node/\"+id+\"/relationships/in\");\n\t\t\t\tmodule.exports.config.setMethod(\"GET\");\n\n\t\t\t\tneo4j_call(null, callback);\n\t\t\t},\n\n\t\t\toutcoming: function(id, callback){\n\t\t\t\tmodule.exports.config.setPath(\"/node/\"+id+\"/relationships/out\");\n\t\t\t\tmodule.exports.config.setMethod(\"GET\");\n\n\t\t\t\tneo4j_call(null, callback);\n\t\t\t},\n\n\t\t\tall: function(id, callback){\n\t\t\t\tmodule.exports.config.setPath(\"/node/\"+id+\"/relationships/all\");\n\t\t\t\tmodule.exports.config.setMethod(\"GET\");\n\n\t\t\t\tneo4j_call(null, callback);\n\t\t\t}\n\t\t},\n\n\t\tproperties:{\n\n\t\t}\n\t},\n\n\trelationships:{\n\t\tget: function(id, callback){\n\t\t\tmodule.exports.config.setPath(\"/relationship/\" + id);\n\t\t\tmodule.exports.config.setMethod(\"GET\");\n\n\t\t\tneo4j_call(null, callback);\n\t\t},\n\n\t\tcreate: function(from, to, type, properties, callback){\n\t\t\tif(!checkTypeof([from, to, type])){\n\t\t\t\tthrow new Error(\"From, to and type are required, properties can be null or 'empty'\");\n\t\t\t}\n\n\t\t\tmodule.exports.config.setPath(\"/node/\"+from+\"/relationships\");\n\t\t\tmodule.exports.config.setMethod(\"POST\");\n\n\t\t\tvar data = {\n\t\t\t\tto: config.api.fullURL + \"/node/\"+to,\n\t\t\t\ttype: type,\n\t\t\t};\n\n\t\t\tif(!typeof properties == 'undefined' && !properties == 'empty'){\n\t\t\t\tdata.data = {};\n\t\t\t\tfor(var p in properties){\n\t\t\t\t\tdata.data[p] = properties[p];\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tneo4j_call(data, callback);\n\t\t},\n\n\t\tdelete: function(id, callback){\n\t\t\tif(typeof id=='undefined')\n\t\t\t\tthrow new Error(\"ID is required\");\n\n\t\t\tmodule.exports.config.setPath(\"/relationship/\"+id);\n\t\t\tmodule.exports.config.setMethod(\"DELETE\");\n\n\t\t\tneo4j_call(null, callback);\n\t\t},\n\n\t\tproperties:{\n\t\t\tset: function(id, props, callback){\n\t\t\t\tmodule.exports.config.setMethod(\"PUT\");\n\t\t\t\tif(Object.keys(props).length == 1){\n\t\t\t\t\tmodule.exports.config.setPath(\"/relationship/\"+id+\"/properties/\" + Object.keys(props)[0]);\n\n\t\t\t\t\tneo4j_call(props[Object.keys(props)[0]], callback);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tmodule.exports.config.setPath(\"/relationship/\"+id+\"/properties\");\n\n\t\t\t\tvar data = {};\n\n\t\t\t\tif(typeof props == null) return;\n\n\t\t\t\tfor(var p in props){\n\t\t\t\t\tdata[p] = props[p];\n\t\t\t\t}\n\n\t\t\t\tneo4j_call(data, callback);\n\t\t\t},\n\n\t\t\tget: function(id, prop, callback){\n\t\t\t\tmodule.exports.config.setMethod(\"GET\");\n\t\t\t\tif(prop != null && prop != \"*\"){\n\t\t\t\t\tmodule.exports.config.setPath(\"/relationship/\"+id+\"/properties/\"+prop);\n\t\t\t\t}else{\n\t\t\t\t\tmodule.exports.config.setPath(\"/relationship/\"+id+\"/properties\");\n\t\t\t\t}\n\n\t\t\t\tneo4j_call(null, callback);\n\t\t\t},\n\n\t\t\tdelete: function(id, prop, callback){\n\t\t\t\tif(prop!=null && prop!=\"*\"){\n\t\t\t\t\tmodule.exports.config.setPath(\"/relationship/\" + id + \"/properties/\"+prop);\n\t\t\t\t}else{\n\t\t\t\t\tmodule.exports.config.setPath(\"/relationship/\" + id + \"/properties\");\n\t\t\t\t}\n\n\t\t\t\tmodule.exports.config.setMethod(\"DELETE\");\n\n\t\t\t\tneo4j_call(null, callback);\n\t\t\t},\n\n\t\t\tappend: function(id, prop, callback){\n\t\t\t\tmodule.exports.relationships.properties.get(id, '*', function(st, res){\n\t\t\t\t\tvar props = JSON.parse(res);\n\t\t\t\t\tfor(var p in props){\n\t\t\t\t\t\tprop[p] = props[p];\n\t\t\t\t\t}\n\t\t\t\t\tmodule.exports.relationships.properties.set(id, prop, callback);\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\n\t\ttypes: function(){\n\t\t\tmodule.exports.config.setPath(\"/relationships/types\");\n\t\t\tmodule.exports.config.setMethod(\"GET\");\n\n\t\t\tneo4j_call(null, callback);\n\t\t}\n\n\t},\n\n\talgorithms:{\n\n\t\tshortestPath: function(){\n\n\t\t},\n\n\t\tallSimplePaths: function(){\n\n\t\t},\n\n\t\tallPaths: function(){\n\n\t\t},\n\n\t\tdijkstra: function(){\n\n\t\t}\n\t},\n\n\tquery: {\n\t\tsingle: function(query, callback){\n\t\t\tmodule.exports.config.setPath(\"/transaction/commit\");\n\t\t\tmodule.exports.config.setMethod(\"POST\");\n\n\t\t\tvar data = {\n\t\t\t\tstatements:[\n\t\t\t\t\t{\n\t\t\t\t\t\tstatement: query\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t};\n\n\t\t\tneo4j_call(data, callback);\n\t\t},\n\n\n\t\tmultiple: function(statements, callback){\n\t\t\tmodule.exports.config.setPath(\"/transaction/commit\");\n\t\t\tmodule.exports.config.setMethod(\"POST\");\n\t\t\t\n\t\t\tvar data = {\n\t\t\t\tstatements:[]\n\t\t\t};\n\n\t\t\tfor(var s in statements){\n\t\t\t\tdata.statements.push(statements[s]);\n\t\t\t}\n\n\t\t\tneo4j_call(data, callback);\n\t\t},\n\n\t\topenTransaction: function(callback){\n\t\t\t// set transaction.commit to config\n\t\t},\n\n\t\tuseTransaction: function(){\n\n\t\t},\n\n\t\tcloseTransaction: function(){\n\n\t\t}\n\t}\n};\n\nmodule.exports.edges = module.exports.nodes;\nmodule.exports.vertices = module.exports.relationships;"]}