@webex/ladon-ts 5.9.1 → 5.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +14 -0
- package/build/module/_virtual/_commonjsHelpers.js +7 -0
- package/build/module/_virtual/_commonjsHelpers.js.map +1 -0
- package/build/module/_virtual/logger.js +8 -0
- package/build/module/_virtual/logger.js.map +1 -0
- package/build/module/_virtual/logger2.js +5 -0
- package/build/module/_virtual/logger2.js.map +1 -0
- package/build/module/index.d.ts +1 -0
- package/build/module/index.js +38 -34
- package/build/module/index.js.map +1 -1
- package/build/module/lib/config-builder.js +56 -81
- package/build/module/lib/config-builder.js.map +1 -1
- package/build/module/lib/config.js +10 -9
- package/build/module/lib/config.js.map +1 -1
- package/build/module/lib/logger.d.ts +6 -0
- package/build/module/lib/logger.js +22 -0
- package/build/module/lib/logger.js.map +1 -0
- package/build/module/lib/pipeline.js +35 -37
- package/build/module/lib/pipeline.js.map +1 -1
- package/build/module/lib/renderer/blur-renderer.js +20 -30
- package/build/module/lib/renderer/blur-renderer.js.map +1 -1
- package/build/module/lib/renderer/replacement-renderer.js +7 -8
- package/build/module/lib/renderer/replacement-renderer.js.map +1 -1
- package/build/module/lib/renderer/webgl-renderer.js +14 -27
- package/build/module/lib/renderer/webgl-renderer.js.map +1 -1
- package/build/module/lib/resource-loader.js +8 -11
- package/build/module/lib/resource-loader.js.map +1 -1
- package/build/module/lib/util.js +40 -43
- package/build/module/lib/util.js.map +1 -1
- package/build/module/lib/version.d.ts +1 -1
- package/build/module/lib/version.js +1 -1
- package/build/module/lib/version.js.map +1 -1
- package/build/module/lib/worker-generator.js +7 -6
- package/build/module/lib/worker-generator.js.map +1 -1
- package/build/module/lib/worker-manager.js +17 -22
- package/build/module/lib/worker-manager.js.map +1 -1
- package/build/module/node_modules/js-logger/src/logger.js +108 -0
- package/build/module/node_modules/js-logger/src/logger.js.map +1 -0
- package/build/worker/segmentation.js +829 -825
- package/build/worker/segmentation.js.map +1 -1
- package/package.json +4 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.js","sources":["../../../../../node_modules/js-logger/src/logger.js"],"sourcesContent":["/*!\r\n * js-logger - http://github.com/jonnyreeves/js-logger\r\n * Jonny Reeves, http://jonnyreeves.co.uk/\r\n * js-logger may be freely distributed under the MIT license.\r\n */\r\n(function (global) {\r\n\t\"use strict\";\r\n\r\n\t// Top level module for the global, static logger instance.\r\n\tvar Logger = { };\r\n\r\n\t// For those that are at home that are keeping score.\r\n\tLogger.VERSION = \"1.6.1\";\r\n\r\n\t// Function which handles all incoming log messages.\r\n\tvar logHandler;\r\n\r\n\t// Map of ContextualLogger instances by name; used by Logger.get() to return the same named instance.\r\n\tvar contextualLoggersByNameMap = {};\r\n\r\n\t// Polyfill for ES5's Function.bind.\r\n\tvar bind = function(scope, func) {\r\n\t\treturn function() {\r\n\t\t\treturn func.apply(scope, arguments);\r\n\t\t};\r\n\t};\r\n\r\n\t// Super exciting object merger-matron 9000 adding another 100 bytes to your download.\r\n\tvar merge = function () {\r\n\t\tvar args = arguments, target = args[0], key, i;\r\n\t\tfor (i = 1; i < args.length; i++) {\r\n\t\t\tfor (key in args[i]) {\r\n\t\t\t\tif (!(key in target) && args[i].hasOwnProperty(key)) {\r\n\t\t\t\t\ttarget[key] = args[i][key];\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn target;\r\n\t};\r\n\r\n\t// Helper to define a logging level object; helps with optimisation.\r\n\tvar defineLogLevel = function(value, name) {\r\n\t\treturn { value: value, name: name };\r\n\t};\r\n\r\n\t// Predefined logging levels.\r\n\tLogger.TRACE = defineLogLevel(1, 'TRACE');\r\n\tLogger.DEBUG = defineLogLevel(2, 'DEBUG');\r\n\tLogger.INFO = defineLogLevel(3, 'INFO');\r\n\tLogger.TIME = defineLogLevel(4, 'TIME');\r\n\tLogger.WARN = defineLogLevel(5, 'WARN');\r\n\tLogger.ERROR = defineLogLevel(8, 'ERROR');\r\n\tLogger.OFF = defineLogLevel(99, 'OFF');\r\n\r\n\t// Inner class which performs the bulk of the work; ContextualLogger instances can be configured independently\r\n\t// of each other.\r\n\tvar ContextualLogger = function(defaultContext) {\r\n\t\tthis.context = defaultContext;\r\n\t\tthis.setLevel(defaultContext.filterLevel);\r\n\t\tthis.log = this.info; // Convenience alias.\r\n\t};\r\n\r\n\tContextualLogger.prototype = {\r\n\t\t// Changes the current logging level for the logging instance.\r\n\t\tsetLevel: function (newLevel) {\r\n\t\t\t// Ensure the supplied Level object looks valid.\r\n\t\t\tif (newLevel && \"value\" in newLevel) {\r\n\t\t\t\tthis.context.filterLevel = newLevel;\r\n\t\t\t}\r\n\t\t},\r\n\t\t\r\n\t\t// Gets the current logging level for the logging instance\r\n\t\tgetLevel: function () {\r\n\t\t\treturn this.context.filterLevel;\r\n\t\t},\r\n\r\n\t\t// Is the logger configured to output messages at the supplied level?\r\n\t\tenabledFor: function (lvl) {\r\n\t\t\tvar filterLevel = this.context.filterLevel;\r\n\t\t\treturn lvl.value >= filterLevel.value;\r\n\t\t},\r\n\r\n\t\ttrace: function () {\r\n\t\t\tthis.invoke(Logger.TRACE, arguments);\r\n\t\t},\r\n\r\n\t\tdebug: function () {\r\n\t\t\tthis.invoke(Logger.DEBUG, arguments);\r\n\t\t},\r\n\r\n\t\tinfo: function () {\r\n\t\t\tthis.invoke(Logger.INFO, arguments);\r\n\t\t},\r\n\r\n\t\twarn: function () {\r\n\t\t\tthis.invoke(Logger.WARN, arguments);\r\n\t\t},\r\n\r\n\t\terror: function () {\r\n\t\t\tthis.invoke(Logger.ERROR, arguments);\r\n\t\t},\r\n\r\n\t\ttime: function (label) {\r\n\t\t\tif (typeof label === 'string' && label.length > 0) {\r\n\t\t\t\tthis.invoke(Logger.TIME, [ label, 'start' ]);\r\n\t\t\t}\r\n\t\t},\r\n\r\n\t\ttimeEnd: function (label) {\r\n\t\t\tif (typeof label === 'string' && label.length > 0) {\r\n\t\t\t\tthis.invoke(Logger.TIME, [ label, 'end' ]);\r\n\t\t\t}\r\n\t\t},\r\n\r\n\t\t// Invokes the logger callback if it's not being filtered.\r\n\t\tinvoke: function (level, msgArgs) {\r\n\t\t\tif (logHandler && this.enabledFor(level)) {\r\n\t\t\t\tlogHandler(msgArgs, merge({ level: level }, this.context));\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\r\n\t// Protected instance which all calls to the to level `Logger` module will be routed through.\r\n\tvar globalLogger = new ContextualLogger({ filterLevel: Logger.OFF });\r\n\r\n\t// Configure the global Logger instance.\r\n\t(function() {\r\n\t\t// Shortcut for optimisers.\r\n\t\tvar L = Logger;\r\n\r\n\t\tL.enabledFor = bind(globalLogger, globalLogger.enabledFor);\r\n\t\tL.trace = bind(globalLogger, globalLogger.trace);\r\n\t\tL.debug = bind(globalLogger, globalLogger.debug);\r\n\t\tL.time = bind(globalLogger, globalLogger.time);\r\n\t\tL.timeEnd = bind(globalLogger, globalLogger.timeEnd);\r\n\t\tL.info = bind(globalLogger, globalLogger.info);\r\n\t\tL.warn = bind(globalLogger, globalLogger.warn);\r\n\t\tL.error = bind(globalLogger, globalLogger.error);\r\n\r\n\t\t// Don't forget the convenience alias!\r\n\t\tL.log = L.info;\r\n\t}());\r\n\r\n\t// Set the global logging handler. The supplied function should expect two arguments, the first being an arguments\r\n\t// object with the supplied log messages and the second being a context object which contains a hash of stateful\r\n\t// parameters which the logging function can consume.\r\n\tLogger.setHandler = function (func) {\r\n\t\tlogHandler = func;\r\n\t};\r\n\r\n\t// Sets the global logging filter level which applies to *all* previously registered, and future Logger instances.\r\n\t// (note that named loggers (retrieved via `Logger.get`) can be configured independently if required).\r\n\tLogger.setLevel = function(level) {\r\n\t\t// Set the globalLogger's level.\r\n\t\tglobalLogger.setLevel(level);\r\n\r\n\t\t// Apply this level to all registered contextual loggers.\r\n\t\tfor (var key in contextualLoggersByNameMap) {\r\n\t\t\tif (contextualLoggersByNameMap.hasOwnProperty(key)) {\r\n\t\t\t\tcontextualLoggersByNameMap[key].setLevel(level);\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\r\n\t// Gets the global logging filter level\r\n\tLogger.getLevel = function() {\r\n\t\treturn globalLogger.getLevel();\r\n\t};\r\n\r\n\t// Retrieve a ContextualLogger instance. Note that named loggers automatically inherit the global logger's level,\r\n\t// default context and log handler.\r\n\tLogger.get = function (name) {\r\n\t\t// All logger instances are cached so they can be configured ahead of use.\r\n\t\treturn contextualLoggersByNameMap[name] ||\r\n\t\t\t(contextualLoggersByNameMap[name] = new ContextualLogger(merge({ name: name }, globalLogger.context)));\r\n\t};\r\n\r\n\t// CreateDefaultHandler returns a handler function which can be passed to `Logger.setHandler()` which will\r\n\t// write to the window's console object (if present); the optional options object can be used to customise the\r\n\t// formatter used to format each log message.\r\n\tLogger.createDefaultHandler = function (options) {\r\n\t\toptions = options || {};\r\n\r\n\t\toptions.formatter = options.formatter || function defaultMessageFormatter(messages, context) {\r\n\t\t\t// Prepend the logger's name to the log message for easy identification.\r\n\t\t\tif (context.name) {\r\n\t\t\t\tmessages.unshift(\"[\" + context.name + \"]\");\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\t// Map of timestamps by timer labels used to track `#time` and `#timeEnd()` invocations in environments\r\n\t\t// that don't offer a native console method.\r\n\t\tvar timerStartTimeByLabelMap = {};\r\n\r\n\t\t// Support for IE8+ (and other, slightly more sane environments)\r\n\t\tvar invokeConsoleMethod = function (hdlr, messages) {\r\n\t\t\tFunction.prototype.apply.call(hdlr, console, messages);\r\n\t\t};\r\n\r\n\t\t// Check for the presence of a logger.\r\n\t\tif (typeof console === \"undefined\") {\r\n\t\t\treturn function () { /* no console */ };\r\n\t\t}\r\n\r\n\t\treturn function(messages, context) {\r\n\t\t\t// Convert arguments object to Array.\r\n\t\t\tmessages = Array.prototype.slice.call(messages);\r\n\r\n\t\t\tvar hdlr = console.log;\r\n\t\t\tvar timerLabel;\r\n\r\n\t\t\tif (context.level === Logger.TIME) {\r\n\t\t\t\ttimerLabel = (context.name ? '[' + context.name + '] ' : '') + messages[0];\r\n\r\n\t\t\t\tif (messages[1] === 'start') {\r\n\t\t\t\t\tif (console.time) {\r\n\t\t\t\t\t\tconsole.time(timerLabel);\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\ttimerStartTimeByLabelMap[timerLabel] = new Date().getTime();\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tif (console.timeEnd) {\r\n\t\t\t\t\t\tconsole.timeEnd(timerLabel);\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tinvokeConsoleMethod(hdlr, [ timerLabel + ': ' +\r\n\t\t\t\t\t\t\t(new Date().getTime() - timerStartTimeByLabelMap[timerLabel]) + 'ms' ]);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\t// Delegate through to custom warn/error loggers if present on the console.\r\n\t\t\t\tif (context.level === Logger.WARN && console.warn) {\r\n\t\t\t\t\thdlr = console.warn;\r\n\t\t\t\t} else if (context.level === Logger.ERROR && console.error) {\r\n\t\t\t\t\thdlr = console.error;\r\n\t\t\t\t} else if (context.level === Logger.INFO && console.info) {\r\n\t\t\t\t\thdlr = console.info;\r\n\t\t\t\t} else if (context.level === Logger.DEBUG && console.debug) {\r\n\t\t\t\t\thdlr = console.debug;\r\n\t\t\t\t} else if (context.level === Logger.TRACE && console.trace) {\r\n\t\t\t\t\thdlr = console.trace;\r\n\t\t\t\t}\r\n\r\n\t\t\t\toptions.formatter(messages, context);\r\n\t\t\t\tinvokeConsoleMethod(hdlr, messages);\r\n\t\t\t}\r\n\t\t};\r\n\t};\r\n\r\n\t// Configure and example a Default implementation which writes to the `window.console` (if present). The\r\n\t// `options` hash can be used to configure the default logLevel and provide a custom message formatter.\r\n\tLogger.useDefaults = function(options) {\r\n\t\tLogger.setLevel(options && options.defaultLevel || Logger.DEBUG);\r\n\t\tLogger.setHandler(Logger.createDefaultHandler(options));\r\n\t};\r\n\r\n\t// Createa an alias to useDefaults to avoid reaking a react-hooks rule.\r\n\tLogger.setDefaults = Logger.useDefaults;\r\n\r\n\t// Export to popular environments boilerplate.\r\n\tif (typeof define === 'function' && define.amd) {\r\n\t\tdefine(Logger);\r\n\t}\r\n\telse if (typeof module !== 'undefined' && module.exports) {\r\n\t\tmodule.exports = Logger;\r\n\t}\r\n\telse {\r\n\t\tLogger._prevLogger = global.Logger;\r\n\r\n\t\tLogger.noConflict = function () {\r\n\t\t\tglobal.Logger = Logger._prevLogger;\r\n\t\t\treturn Logger;\r\n\t\t};\r\n\r\n\t\tglobal.Logger = Logger;\r\n\t}\r\n}(this));\r\n"],"names":["global","Logger","logHandler","contextualLoggersByNameMap","bind","scope","func","merge","args","target","key","i","defineLogLevel","value","name","ContextualLogger","defaultContext","newLevel","lvl","filterLevel","label","level","msgArgs","globalLogger","L","options","messages","context","timerStartTimeByLabelMap","invokeConsoleMethod","hdlr","timerLabel","module","this"],"mappings":"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","x_google_ignoreList":[0]}
|