opennms
Version:
Client API for the OpenNMS network monitoring platform
1 lines • 26.5 kB
JSON
{"remainingRequest":"/data/node_modules/babel-loader/lib/index.js!/data/node_modules/typescript-logging/dist/commonjs/utils/JSONHelper.js","dependencies":[{"path":"/data/node_modules/typescript-logging/dist/commonjs/utils/JSONHelper.js","mtime":1553611387936},{"path":"/data/.babelrc","mtime":1553611371556},{"path":"/data/node_modules/cache-loader/dist/cjs.js","mtime":1553611387012},{"path":"/data/node_modules/babel-loader/lib/index.js","mtime":1553611386992}],"contextDependencies":[],"result":["\"use strict\";\n\nvar __extends = undefined && undefined.__extends || function (d, b) {\n for (var p in b) {\n if (b.hasOwnProperty(p)) d[p] = b[p];\n }function __() {\n this.constructor = d;\n }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar LoggerOptions_1 = require(\"../log/LoggerOptions\");\nvar DataStructures_1 = require(\"./DataStructures\");\nvar JSONTypeImpl = function () {\n function JSONTypeImpl(value) {\n this._value = value;\n }\n JSONTypeImpl.prototype.getValue = function () {\n return this._value;\n };\n JSONTypeImpl.prototype.toString = function () {\n var value = this.getValue();\n if (value != null) {\n return value.toString();\n }\n return \"null\";\n };\n return JSONTypeImpl;\n}();\nvar JSONBooleanType = function (_super) {\n __extends(JSONBooleanType, _super);\n function JSONBooleanType(value) {\n return _super.call(this, value) || this;\n }\n return JSONBooleanType;\n}(JSONTypeImpl);\nvar JSONNumberType = function (_super) {\n __extends(JSONNumberType, _super);\n function JSONNumberType(value) {\n return _super.call(this, value) || this;\n }\n return JSONNumberType;\n}(JSONTypeImpl);\nvar JSONStringType = function (_super) {\n __extends(JSONStringType, _super);\n function JSONStringType(value) {\n return _super.call(this, value) || this;\n }\n JSONStringType.prototype.toString = function () {\n var value = this.getValue();\n if (value != null) {\n return JSON.stringify(value.toString());\n }\n return \"null\";\n };\n return JSONStringType;\n}(JSONTypeImpl);\nvar JSONObjectType = function (_super) {\n __extends(JSONObjectType, _super);\n function JSONObjectType(value) {\n return _super.call(this, value) || this;\n }\n return JSONObjectType;\n}(JSONTypeImpl);\nvar JSONArrayType = function (_super) {\n __extends(JSONArrayType, _super);\n function JSONArrayType(value) {\n return _super.call(this, value) || this;\n }\n JSONArrayType.prototype.toString = function () {\n var value = this.getValue();\n if (value != null) {\n return value.toString();\n }\n return \"null\";\n };\n return JSONArrayType;\n}(JSONTypeImpl);\nvar JSONNullType = function (_super) {\n __extends(JSONNullType, _super);\n function JSONNullType() {\n return _super.call(this, null) || this;\n }\n JSONNullType.prototype.toString = function () {\n return \"null\";\n };\n return JSONNullType;\n}(JSONTypeImpl);\nvar JSONTypeConverter = function () {\n function JSONTypeConverter() {}\n JSONTypeConverter.toJSONType = function (value) {\n if (value === null) {\n return new JSONNullType();\n }\n if (typeof value === \"string\") {\n return new JSONStringType(value);\n }\n if (typeof value === \"number\") {\n return new JSONNumberType(value);\n }\n if (typeof value === \"boolean\") {\n return new JSONBooleanType(value);\n }\n if (value instanceof JSONObject) {\n return new JSONObjectType(value);\n }\n throw new Error(\"Type not supported for value: \" + value);\n };\n return JSONTypeConverter;\n}();\nvar JSONObject = function () {\n function JSONObject() {\n this.values = new DataStructures_1.SimpleMap();\n }\n JSONObject.prototype.addBoolean = function (name, value) {\n this.checkName(name);\n JSONObject.checkValue(value);\n this.values.put(name, new JSONBooleanType(value));\n return this;\n };\n JSONObject.prototype.addNumber = function (name, value) {\n this.checkName(name);\n JSONObject.checkValue(value);\n this.values.put(name, new JSONNumberType(value));\n return this;\n };\n JSONObject.prototype.addString = function (name, value) {\n this.checkName(name);\n JSONObject.checkValue(value);\n this.values.put(name, new JSONStringType(value));\n return this;\n };\n JSONObject.prototype.addNull = function (name) {\n this.checkName(name);\n this.values.put(name, new JSONNullType());\n return this;\n };\n JSONObject.prototype.addArray = function (name, array) {\n this.checkName(name);\n JSONObject.checkValue(array);\n if (array == null) {\n throw new Error(\"Cannot add array as null\");\n }\n this.values.put(name, new JSONArrayType(array));\n return this;\n };\n JSONObject.prototype.addObject = function (name, object) {\n this.checkName(name);\n JSONObject.checkValue(object);\n if (object == null) {\n throw new Error(\"Cannot add object as null\");\n }\n this.values.put(name, new JSONObjectType(object));\n return this;\n };\n JSONObject.prototype.toString = function (pretty) {\n var _this = this;\n if (pretty === void 0) {\n pretty = false;\n }\n var comma = false;\n var buffer = new DataStructures_1.StringBuilder();\n buffer.append(\"{\");\n this.values.keys().forEach(function (key) {\n var value = _this.values.get(key);\n if (value != null) {\n if (comma) {\n buffer.append(\",\");\n }\n buffer.append('\"').append(key).append('\":').append(value.toString());\n comma = true;\n }\n });\n buffer.append(\"}\");\n return buffer.toString();\n };\n JSONObject.prototype.checkName = function (name) {\n if (name == null || name === undefined) {\n throw new Error(\"Name is null or undefined\");\n }\n if (this.values.exists(name)) {\n throw new Error(\"Name \" + name + \" is already present for this object\");\n }\n };\n JSONObject.checkValue = function (value) {\n if (value === undefined) {\n throw new Error(\"Value is undefined\");\n }\n };\n return JSONObject;\n}();\nexports.JSONObject = JSONObject;\nvar JSONArray = function () {\n function JSONArray() {\n this.objects = [];\n }\n JSONArray.prototype.add = function (object) {\n if (object === undefined) {\n throw new Error(\"Object is not allowed to be undefined\");\n }\n this.objects.push(JSONTypeConverter.toJSONType(object));\n return this;\n };\n JSONArray.prototype.toString = function (pretty) {\n if (pretty === void 0) {\n pretty = false;\n }\n var buffer = new DataStructures_1.StringBuilder();\n buffer.append(\"[\");\n this.objects.forEach(function (value, index) {\n if (index > 0) {\n buffer.append(\",\");\n }\n buffer.append(value.toString());\n });\n buffer.append(\"]\");\n return buffer.toString();\n };\n return JSONArray;\n}();\nexports.JSONArray = JSONArray;\n/**\n * Utility class that helps us convert things to and from json (not for normal usage).\n */\nvar JSONHelper = function () {\n function JSONHelper() {}\n JSONHelper.categoryToJSON = function (cat, recursive) {\n /*\n {\n \"categories\":\n [\n { id=1,\n name: \"x\",\n parent: null,\n logLevel: \"Error\"\n },\n { id=2,\n name: \"y\",\n parent: 1,\n logLevel: \"Error\"\n }\n ]\n }\n */\n var arr = new JSONArray();\n JSONHelper._categoryToJSON(cat, arr, recursive);\n var object = new JSONObject();\n object.addArray(\"categories\", arr);\n return object;\n };\n JSONHelper._categoryToJSON = function (cat, arr, recursive) {\n var object = new JSONObject();\n object.addNumber(\"id\", cat.id);\n object.addString(\"name\", cat.name);\n object.addString(\"logLevel\", LoggerOptions_1.LogLevel[cat.logLevel].toString());\n if (cat.parent != null) {\n object.addNumber(\"parent\", cat.parent.id);\n } else {\n object.addNull(\"parent\");\n }\n arr.add(object);\n if (recursive) {\n cat.children.forEach(function (child) {\n JSONHelper._categoryToJSON(child, arr, recursive);\n });\n }\n };\n return JSONHelper;\n}();\nexports.JSONHelper = JSONHelper;\n//# sourceMappingURL=JSONHelper.js.map",{"version":3,"sources":["node_modules/typescript-logging/dist/commonjs/utils/JSONHelper.js"],"names":["__extends","d","b","p","hasOwnProperty","__","constructor","prototype","Object","create","LoggerOptions_1","require","DataStructures_1","JSONTypeImpl","value","_value","getValue","toString","JSONBooleanType","_super","call","JSONNumberType","JSONStringType","JSON","stringify","JSONObjectType","JSONArrayType","JSONNullType","JSONTypeConverter","toJSONType","JSONObject","Error","values","SimpleMap","addBoolean","name","checkName","checkValue","put","addNumber","addString","addNull","addArray","array","addObject","object","pretty","_this","comma","buffer","StringBuilder","append","keys","forEach","key","get","undefined","exists","exports","JSONArray","objects","add","push","index","JSONHelper","categoryToJSON","cat","recursive","arr","_categoryToJSON","id","LogLevel","logLevel","parent","children","child"],"mappings":"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","file":"JSONHelper.js","sourceRoot":"/data","sourcesContent":["\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar LoggerOptions_1 = require(\"../log/LoggerOptions\");\nvar DataStructures_1 = require(\"./DataStructures\");\nvar JSONTypeImpl = (function () {\n function JSONTypeImpl(value) {\n this._value = value;\n }\n JSONTypeImpl.prototype.getValue = function () {\n return this._value;\n };\n JSONTypeImpl.prototype.toString = function () {\n var value = this.getValue();\n if (value != null) {\n return value.toString();\n }\n return \"null\";\n };\n return JSONTypeImpl;\n}());\nvar JSONBooleanType = (function (_super) {\n __extends(JSONBooleanType, _super);\n function JSONBooleanType(value) {\n return _super.call(this, value) || this;\n }\n return JSONBooleanType;\n}(JSONTypeImpl));\nvar JSONNumberType = (function (_super) {\n __extends(JSONNumberType, _super);\n function JSONNumberType(value) {\n return _super.call(this, value) || this;\n }\n return JSONNumberType;\n}(JSONTypeImpl));\nvar JSONStringType = (function (_super) {\n __extends(JSONStringType, _super);\n function JSONStringType(value) {\n return _super.call(this, value) || this;\n }\n JSONStringType.prototype.toString = function () {\n var value = this.getValue();\n if (value != null) {\n return JSON.stringify(value.toString());\n }\n return \"null\";\n };\n return JSONStringType;\n}(JSONTypeImpl));\nvar JSONObjectType = (function (_super) {\n __extends(JSONObjectType, _super);\n function JSONObjectType(value) {\n return _super.call(this, value) || this;\n }\n return JSONObjectType;\n}(JSONTypeImpl));\nvar JSONArrayType = (function (_super) {\n __extends(JSONArrayType, _super);\n function JSONArrayType(value) {\n return _super.call(this, value) || this;\n }\n JSONArrayType.prototype.toString = function () {\n var value = this.getValue();\n if (value != null) {\n return value.toString();\n }\n return \"null\";\n };\n return JSONArrayType;\n}(JSONTypeImpl));\nvar JSONNullType = (function (_super) {\n __extends(JSONNullType, _super);\n function JSONNullType() {\n return _super.call(this, null) || this;\n }\n JSONNullType.prototype.toString = function () {\n return \"null\";\n };\n return JSONNullType;\n}(JSONTypeImpl));\nvar JSONTypeConverter = (function () {\n function JSONTypeConverter() {\n }\n JSONTypeConverter.toJSONType = function (value) {\n if (value === null) {\n return new JSONNullType();\n }\n if (typeof value === \"string\") {\n return new JSONStringType(value);\n }\n if (typeof value === \"number\") {\n return new JSONNumberType(value);\n }\n if (typeof value === \"boolean\") {\n return new JSONBooleanType(value);\n }\n if (value instanceof JSONObject) {\n return new JSONObjectType(value);\n }\n throw new Error(\"Type not supported for value: \" + value);\n };\n return JSONTypeConverter;\n}());\nvar JSONObject = (function () {\n function JSONObject() {\n this.values = new DataStructures_1.SimpleMap();\n }\n JSONObject.prototype.addBoolean = function (name, value) {\n this.checkName(name);\n JSONObject.checkValue(value);\n this.values.put(name, new JSONBooleanType(value));\n return this;\n };\n JSONObject.prototype.addNumber = function (name, value) {\n this.checkName(name);\n JSONObject.checkValue(value);\n this.values.put(name, new JSONNumberType(value));\n return this;\n };\n JSONObject.prototype.addString = function (name, value) {\n this.checkName(name);\n JSONObject.checkValue(value);\n this.values.put(name, new JSONStringType(value));\n return this;\n };\n JSONObject.prototype.addNull = function (name) {\n this.checkName(name);\n this.values.put(name, new JSONNullType());\n return this;\n };\n JSONObject.prototype.addArray = function (name, array) {\n this.checkName(name);\n JSONObject.checkValue(array);\n if (array == null) {\n throw new Error(\"Cannot add array as null\");\n }\n this.values.put(name, new JSONArrayType(array));\n return this;\n };\n JSONObject.prototype.addObject = function (name, object) {\n this.checkName(name);\n JSONObject.checkValue(object);\n if (object == null) {\n throw new Error(\"Cannot add object as null\");\n }\n this.values.put(name, new JSONObjectType(object));\n return this;\n };\n JSONObject.prototype.toString = function (pretty) {\n var _this = this;\n if (pretty === void 0) { pretty = false; }\n var comma = false;\n var buffer = new DataStructures_1.StringBuilder();\n buffer.append(\"{\");\n this.values.keys().forEach(function (key) {\n var value = _this.values.get(key);\n if (value != null) {\n if (comma) {\n buffer.append(\",\");\n }\n buffer.append('\"').append(key).append('\":').append(value.toString());\n comma = true;\n }\n });\n buffer.append(\"}\");\n return buffer.toString();\n };\n JSONObject.prototype.checkName = function (name) {\n if (name == null || name === undefined) {\n throw new Error(\"Name is null or undefined\");\n }\n if (this.values.exists(name)) {\n throw new Error(\"Name \" + name + \" is already present for this object\");\n }\n };\n JSONObject.checkValue = function (value) {\n if (value === undefined) {\n throw new Error(\"Value is undefined\");\n }\n };\n return JSONObject;\n}());\nexports.JSONObject = JSONObject;\nvar JSONArray = (function () {\n function JSONArray() {\n this.objects = [];\n }\n JSONArray.prototype.add = function (object) {\n if (object === undefined) {\n throw new Error(\"Object is not allowed to be undefined\");\n }\n this.objects.push(JSONTypeConverter.toJSONType(object));\n return this;\n };\n JSONArray.prototype.toString = function (pretty) {\n if (pretty === void 0) { pretty = false; }\n var buffer = new DataStructures_1.StringBuilder();\n buffer.append(\"[\");\n this.objects.forEach(function (value, index) {\n if (index > 0) {\n buffer.append(\",\");\n }\n buffer.append(value.toString());\n });\n buffer.append(\"]\");\n return buffer.toString();\n };\n return JSONArray;\n}());\nexports.JSONArray = JSONArray;\n/**\n * Utility class that helps us convert things to and from json (not for normal usage).\n */\nvar JSONHelper = (function () {\n function JSONHelper() {\n }\n JSONHelper.categoryToJSON = function (cat, recursive) {\n /*\n {\n \"categories\":\n [\n { id=1,\n name: \"x\",\n parent: null,\n logLevel: \"Error\"\n },\n { id=2,\n name: \"y\",\n parent: 1,\n logLevel: \"Error\"\n }\n ]\n }\n */\n var arr = new JSONArray();\n JSONHelper._categoryToJSON(cat, arr, recursive);\n var object = new JSONObject();\n object.addArray(\"categories\", arr);\n return object;\n };\n JSONHelper._categoryToJSON = function (cat, arr, recursive) {\n var object = new JSONObject();\n object.addNumber(\"id\", cat.id);\n object.addString(\"name\", cat.name);\n object.addString(\"logLevel\", LoggerOptions_1.LogLevel[cat.logLevel].toString());\n if (cat.parent != null) {\n object.addNumber(\"parent\", cat.parent.id);\n }\n else {\n object.addNull(\"parent\");\n }\n arr.add(object);\n if (recursive) {\n cat.children.forEach(function (child) {\n JSONHelper._categoryToJSON(child, arr, recursive);\n });\n }\n };\n return JSONHelper;\n}());\nexports.JSONHelper = JSONHelper;\n//# sourceMappingURL=JSONHelper.js.map"]}]}