@scratch/scratch-render 12.2.0 → 12.2.2

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.
@@ -16809,589 +16809,6 @@ module.exports = /*#__PURE__*/JSON.parse('{"absolute-size":{"syntax":"xx-small |
16809
16809
 
16810
16810
  /***/ }),
16811
16811
 
16812
- /***/ "../../node_modules/microee/index.js":
16813
- /*!*******************************************!*\
16814
- !*** ../../node_modules/microee/index.js ***!
16815
- \*******************************************/
16816
- /***/ (function(module) {
16817
-
16818
- function M() { this._events = {}; }
16819
- M.prototype = {
16820
- on: function(ev, cb) {
16821
- this._events || (this._events = {});
16822
- var e = this._events;
16823
- (e[ev] || (e[ev] = [])).push(cb);
16824
- return this;
16825
- },
16826
- removeListener: function(ev, cb) {
16827
- var e = this._events[ev] || [], i;
16828
- for(i = e.length-1; i >= 0 && e[i]; i--){
16829
- if(e[i] === cb || e[i].cb === cb) { e.splice(i, 1); }
16830
- }
16831
- },
16832
- removeAllListeners: function(ev) {
16833
- if(!ev) { this._events = {}; }
16834
- else { this._events[ev] && (this._events[ev] = []); }
16835
- },
16836
- listeners: function(ev) {
16837
- return (this._events ? this._events[ev] || [] : []);
16838
- },
16839
- emit: function(ev) {
16840
- this._events || (this._events = {});
16841
- var args = Array.prototype.slice.call(arguments, 1), i, e = this._events[ev] || [];
16842
- for(i = e.length-1; i >= 0 && e[i]; i--){
16843
- e[i].apply(this, args);
16844
- }
16845
- return this;
16846
- },
16847
- when: function(ev, cb) {
16848
- return this.once(ev, cb, true);
16849
- },
16850
- once: function(ev, cb, when) {
16851
- if(!cb) return this;
16852
- function c() {
16853
- if(!when) this.removeListener(ev, c);
16854
- if(cb.apply(this, arguments) && when) this.removeListener(ev, c);
16855
- }
16856
- c.cb = cb;
16857
- this.on(ev, c);
16858
- return this;
16859
- }
16860
- };
16861
- M.mixin = function(dest) {
16862
- var o = M.prototype, k;
16863
- for (k in o) {
16864
- o.hasOwnProperty(k) && (dest.prototype[k] = o[k]);
16865
- }
16866
- };
16867
- module.exports = M;
16868
-
16869
-
16870
- /***/ }),
16871
-
16872
- /***/ "../../node_modules/minilog/lib/common/filter.js":
16873
- /*!*******************************************************!*\
16874
- !*** ../../node_modules/minilog/lib/common/filter.js ***!
16875
- \*******************************************************/
16876
- /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
16877
-
16878
- // default filter
16879
- var Transform = __webpack_require__(/*! ./transform.js */ "../../node_modules/minilog/lib/common/transform.js");
16880
-
16881
- var levelMap = { debug: 1, info: 2, warn: 3, error: 4 };
16882
-
16883
- function Filter() {
16884
- this.enabled = true;
16885
- this.defaultResult = true;
16886
- this.clear();
16887
- }
16888
-
16889
- Transform.mixin(Filter);
16890
-
16891
- // allow all matching, with level >= given level
16892
- Filter.prototype.allow = function(name, level) {
16893
- this._white.push({ n: name, l: levelMap[level] });
16894
- return this;
16895
- };
16896
-
16897
- // deny all matching, with level <= given level
16898
- Filter.prototype.deny = function(name, level) {
16899
- this._black.push({ n: name, l: levelMap[level] });
16900
- return this;
16901
- };
16902
-
16903
- Filter.prototype.clear = function() {
16904
- this._white = [];
16905
- this._black = [];
16906
- return this;
16907
- };
16908
-
16909
- function test(rule, name) {
16910
- // use .test for RegExps
16911
- return (rule.n.test ? rule.n.test(name) : rule.n == name);
16912
- };
16913
-
16914
- Filter.prototype.test = function(name, level) {
16915
- var i, len = Math.max(this._white.length, this._black.length);
16916
- for(i = 0; i < len; i++) {
16917
- if(this._white[i] && test(this._white[i], name) && levelMap[level] >= this._white[i].l) {
16918
- return true;
16919
- }
16920
- if(this._black[i] && test(this._black[i], name) && levelMap[level] <= this._black[i].l) {
16921
- return false;
16922
- }
16923
- }
16924
- return this.defaultResult;
16925
- };
16926
-
16927
- Filter.prototype.write = function(name, level, args) {
16928
- if(!this.enabled || this.test(name, level)) {
16929
- return this.emit('item', name, level, args);
16930
- }
16931
- };
16932
-
16933
- module.exports = Filter;
16934
-
16935
-
16936
- /***/ }),
16937
-
16938
- /***/ "../../node_modules/minilog/lib/common/minilog.js":
16939
- /*!********************************************************!*\
16940
- !*** ../../node_modules/minilog/lib/common/minilog.js ***!
16941
- \********************************************************/
16942
- /***/ (function(module, exports, __webpack_require__) {
16943
-
16944
- var Transform = __webpack_require__(/*! ./transform.js */ "../../node_modules/minilog/lib/common/transform.js"),
16945
- Filter = __webpack_require__(/*! ./filter.js */ "../../node_modules/minilog/lib/common/filter.js");
16946
-
16947
- var log = new Transform(),
16948
- slice = Array.prototype.slice;
16949
-
16950
- exports = module.exports = function create(name) {
16951
- var o = function() { log.write(name, undefined, slice.call(arguments)); return o; };
16952
- o.debug = function() { log.write(name, 'debug', slice.call(arguments)); return o; };
16953
- o.info = function() { log.write(name, 'info', slice.call(arguments)); return o; };
16954
- o.warn = function() { log.write(name, 'warn', slice.call(arguments)); return o; };
16955
- o.error = function() { log.write(name, 'error', slice.call(arguments)); return o; };
16956
- o.log = o.debug; // for interface compliance with Node and browser consoles
16957
- o.suggest = exports.suggest;
16958
- o.format = log.format;
16959
- return o;
16960
- };
16961
-
16962
- // filled in separately
16963
- exports.defaultBackend = exports.defaultFormatter = null;
16964
-
16965
- exports.pipe = function(dest) {
16966
- return log.pipe(dest);
16967
- };
16968
-
16969
- exports.end = exports.unpipe = exports.disable = function(from) {
16970
- return log.unpipe(from);
16971
- };
16972
-
16973
- exports.Transform = Transform;
16974
- exports.Filter = Filter;
16975
- // this is the default filter that's applied when .enable() is called normally
16976
- // you can bypass it completely and set up your own pipes
16977
- exports.suggest = new Filter();
16978
-
16979
- exports.enable = function() {
16980
- if(exports.defaultFormatter) {
16981
- return log.pipe(exports.suggest) // filter
16982
- .pipe(exports.defaultFormatter) // formatter
16983
- .pipe(exports.defaultBackend); // backend
16984
- }
16985
- return log.pipe(exports.suggest) // filter
16986
- .pipe(exports.defaultBackend); // formatter
16987
- };
16988
-
16989
-
16990
-
16991
- /***/ }),
16992
-
16993
- /***/ "../../node_modules/minilog/lib/common/transform.js":
16994
- /*!**********************************************************!*\
16995
- !*** ../../node_modules/minilog/lib/common/transform.js ***!
16996
- \**********************************************************/
16997
- /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
16998
-
16999
- var microee = __webpack_require__(/*! microee */ "../../node_modules/microee/index.js");
17000
-
17001
- // Implements a subset of Node's stream.Transform - in a cross-platform manner.
17002
- function Transform() {}
17003
-
17004
- microee.mixin(Transform);
17005
-
17006
- // The write() signature is different from Node's
17007
- // --> makes it much easier to work with objects in logs.
17008
- // One of the lessons from v1 was that it's better to target
17009
- // a good browser rather than the lowest common denominator
17010
- // internally.
17011
- // If you want to use external streams, pipe() to ./stringify.js first.
17012
- Transform.prototype.write = function(name, level, args) {
17013
- this.emit('item', name, level, args);
17014
- };
17015
-
17016
- Transform.prototype.end = function() {
17017
- this.emit('end');
17018
- this.removeAllListeners();
17019
- };
17020
-
17021
- Transform.prototype.pipe = function(dest) {
17022
- var s = this;
17023
- // prevent double piping
17024
- s.emit('unpipe', dest);
17025
- // tell the dest that it's being piped to
17026
- dest.emit('pipe', s);
17027
-
17028
- function onItem() {
17029
- dest.write.apply(dest, Array.prototype.slice.call(arguments));
17030
- }
17031
- function onEnd() { !dest._isStdio && dest.end(); }
17032
-
17033
- s.on('item', onItem);
17034
- s.on('end', onEnd);
17035
-
17036
- s.when('unpipe', function(from) {
17037
- var match = (from === dest) || typeof from == 'undefined';
17038
- if(match) {
17039
- s.removeListener('item', onItem);
17040
- s.removeListener('end', onEnd);
17041
- dest.emit('unpipe');
17042
- }
17043
- return match;
17044
- });
17045
-
17046
- return dest;
17047
- };
17048
-
17049
- Transform.prototype.unpipe = function(from) {
17050
- this.emit('unpipe', from);
17051
- return this;
17052
- };
17053
-
17054
- Transform.prototype.format = function(dest) {
17055
- throw new Error([
17056
- 'Warning: .format() is deprecated in Minilog v2! Use .pipe() instead. For example:',
17057
- 'var Minilog = require(\'minilog\');',
17058
- 'Minilog',
17059
- ' .pipe(Minilog.backends.console.formatClean)',
17060
- ' .pipe(Minilog.backends.console);'].join('\n'));
17061
- };
17062
-
17063
- Transform.mixin = function(dest) {
17064
- var o = Transform.prototype, k;
17065
- for (k in o) {
17066
- o.hasOwnProperty(k) && (dest.prototype[k] = o[k]);
17067
- }
17068
- };
17069
-
17070
- module.exports = Transform;
17071
-
17072
-
17073
- /***/ }),
17074
-
17075
- /***/ "../../node_modules/minilog/lib/web/array.js":
17076
- /*!***************************************************!*\
17077
- !*** ../../node_modules/minilog/lib/web/array.js ***!
17078
- \***************************************************/
17079
- /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
17080
-
17081
- var Transform = __webpack_require__(/*! ../common/transform.js */ "../../node_modules/minilog/lib/common/transform.js"),
17082
- cache = [ ];
17083
-
17084
- var logger = new Transform();
17085
-
17086
- logger.write = function(name, level, args) {
17087
- cache.push([ name, level, args ]);
17088
- };
17089
-
17090
- // utility functions
17091
- logger.get = function() { return cache; };
17092
- logger.empty = function() { cache = []; };
17093
-
17094
- module.exports = logger;
17095
-
17096
-
17097
- /***/ }),
17098
-
17099
- /***/ "../../node_modules/minilog/lib/web/console.js":
17100
- /*!*****************************************************!*\
17101
- !*** ../../node_modules/minilog/lib/web/console.js ***!
17102
- \*****************************************************/
17103
- /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
17104
-
17105
- var Transform = __webpack_require__(/*! ../common/transform.js */ "../../node_modules/minilog/lib/common/transform.js");
17106
-
17107
- var newlines = /\n+$/,
17108
- logger = new Transform();
17109
-
17110
- logger.write = function(name, level, args) {
17111
- var i = args.length-1;
17112
- if (typeof console === 'undefined' || !console.log) {
17113
- return;
17114
- }
17115
- if(console.log.apply) {
17116
- return console.log.apply(console, [name, level].concat(args));
17117
- } else if(JSON && JSON.stringify) {
17118
- // console.log.apply is undefined in IE8 and IE9
17119
- // for IE8/9: make console.log at least a bit less awful
17120
- if(args[i] && typeof args[i] == 'string') {
17121
- args[i] = args[i].replace(newlines, '');
17122
- }
17123
- try {
17124
- for(i = 0; i < args.length; i++) {
17125
- args[i] = JSON.stringify(args[i]);
17126
- }
17127
- } catch(e) {}
17128
- console.log(args.join(' '));
17129
- }
17130
- };
17131
-
17132
- logger.formatters = ['color', 'minilog'];
17133
- logger.color = __webpack_require__(/*! ./formatters/color.js */ "../../node_modules/minilog/lib/web/formatters/color.js");
17134
- logger.minilog = __webpack_require__(/*! ./formatters/minilog.js */ "../../node_modules/minilog/lib/web/formatters/minilog.js");
17135
-
17136
- module.exports = logger;
17137
-
17138
-
17139
- /***/ }),
17140
-
17141
- /***/ "../../node_modules/minilog/lib/web/formatters/color.js":
17142
- /*!**************************************************************!*\
17143
- !*** ../../node_modules/minilog/lib/web/formatters/color.js ***!
17144
- \**************************************************************/
17145
- /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
17146
-
17147
- var Transform = __webpack_require__(/*! ../../common/transform.js */ "../../node_modules/minilog/lib/common/transform.js"),
17148
- color = __webpack_require__(/*! ./util.js */ "../../node_modules/minilog/lib/web/formatters/util.js");
17149
-
17150
- var colors = { debug: ['cyan'], info: ['purple' ], warn: [ 'yellow', true ], error: [ 'red', true ] },
17151
- logger = new Transform();
17152
-
17153
- logger.write = function(name, level, args) {
17154
- var fn = console.log;
17155
- if(console[level] && console[level].apply) {
17156
- fn = console[level];
17157
- fn.apply(console, [ '%c'+name+' %c'+level, color('gray'), color.apply(color, colors[level])].concat(args));
17158
- }
17159
- };
17160
-
17161
- // NOP, because piping the formatted logs can only cause trouble.
17162
- logger.pipe = function() { };
17163
-
17164
- module.exports = logger;
17165
-
17166
-
17167
- /***/ }),
17168
-
17169
- /***/ "../../node_modules/minilog/lib/web/formatters/minilog.js":
17170
- /*!****************************************************************!*\
17171
- !*** ../../node_modules/minilog/lib/web/formatters/minilog.js ***!
17172
- \****************************************************************/
17173
- /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
17174
-
17175
- var Transform = __webpack_require__(/*! ../../common/transform.js */ "../../node_modules/minilog/lib/common/transform.js"),
17176
- color = __webpack_require__(/*! ./util.js */ "../../node_modules/minilog/lib/web/formatters/util.js"),
17177
- colors = { debug: ['gray'], info: ['purple' ], warn: [ 'yellow', true ], error: [ 'red', true ] },
17178
- logger = new Transform();
17179
-
17180
- logger.write = function(name, level, args) {
17181
- var fn = console.log;
17182
- if(level != 'debug' && console[level]) {
17183
- fn = console[level];
17184
- }
17185
-
17186
- var subset = [], i = 0;
17187
- if(level != 'info') {
17188
- for(; i < args.length; i++) {
17189
- if(typeof args[i] != 'string') break;
17190
- }
17191
- fn.apply(console, [ '%c'+name +' '+ args.slice(0, i).join(' '), color.apply(color, colors[level]) ].concat(args.slice(i)));
17192
- } else {
17193
- fn.apply(console, [ '%c'+name, color.apply(color, colors[level]) ].concat(args));
17194
- }
17195
- };
17196
-
17197
- // NOP, because piping the formatted logs can only cause trouble.
17198
- logger.pipe = function() { };
17199
-
17200
- module.exports = logger;
17201
-
17202
-
17203
- /***/ }),
17204
-
17205
- /***/ "../../node_modules/minilog/lib/web/formatters/util.js":
17206
- /*!*************************************************************!*\
17207
- !*** ../../node_modules/minilog/lib/web/formatters/util.js ***!
17208
- \*************************************************************/
17209
- /***/ (function(module) {
17210
-
17211
- var hex = {
17212
- black: '#000',
17213
- red: '#c23621',
17214
- green: '#25bc26',
17215
- yellow: '#bbbb00',
17216
- blue: '#492ee1',
17217
- magenta: '#d338d3',
17218
- cyan: '#33bbc8',
17219
- gray: '#808080',
17220
- purple: '#708'
17221
- };
17222
- function color(fg, isInverse) {
17223
- if(isInverse) {
17224
- return 'color: #fff; background: '+hex[fg]+';';
17225
- } else {
17226
- return 'color: '+hex[fg]+';';
17227
- }
17228
- }
17229
-
17230
- module.exports = color;
17231
-
17232
-
17233
- /***/ }),
17234
-
17235
- /***/ "../../node_modules/minilog/lib/web/index.js":
17236
- /*!***************************************************!*\
17237
- !*** ../../node_modules/minilog/lib/web/index.js ***!
17238
- \***************************************************/
17239
- /***/ (function(module, exports, __webpack_require__) {
17240
-
17241
- var Minilog = __webpack_require__(/*! ../common/minilog.js */ "../../node_modules/minilog/lib/common/minilog.js");
17242
-
17243
- var oldEnable = Minilog.enable,
17244
- oldDisable = Minilog.disable,
17245
- isChrome = (typeof navigator != 'undefined' && /chrome/i.test(navigator.userAgent)),
17246
- console = __webpack_require__(/*! ./console.js */ "../../node_modules/minilog/lib/web/console.js");
17247
-
17248
- // Use a more capable logging backend if on Chrome
17249
- Minilog.defaultBackend = (isChrome ? console.minilog : console);
17250
-
17251
- // apply enable inputs from localStorage and from the URL
17252
- if(typeof window != 'undefined') {
17253
- try {
17254
- Minilog.enable(JSON.parse(window.localStorage['minilogSettings']));
17255
- } catch(e) {}
17256
- if(window.location && window.location.search) {
17257
- var match = RegExp('[?&]minilog=([^&]*)').exec(window.location.search);
17258
- match && Minilog.enable(decodeURIComponent(match[1]));
17259
- }
17260
- }
17261
-
17262
- // Make enable also add to localStorage
17263
- Minilog.enable = function() {
17264
- oldEnable.call(Minilog, true);
17265
- try { window.localStorage['minilogSettings'] = JSON.stringify(true); } catch(e) {}
17266
- return this;
17267
- };
17268
-
17269
- Minilog.disable = function() {
17270
- oldDisable.call(Minilog);
17271
- try { delete window.localStorage.minilogSettings; } catch(e) {}
17272
- return this;
17273
- };
17274
-
17275
- exports = module.exports = Minilog;
17276
-
17277
- exports.backends = {
17278
- array: __webpack_require__(/*! ./array.js */ "../../node_modules/minilog/lib/web/array.js"),
17279
- browser: Minilog.defaultBackend,
17280
- localStorage: __webpack_require__(/*! ./localstorage.js */ "../../node_modules/minilog/lib/web/localstorage.js"),
17281
- jQuery: __webpack_require__(/*! ./jquery_simple.js */ "../../node_modules/minilog/lib/web/jquery_simple.js")
17282
- };
17283
-
17284
-
17285
- /***/ }),
17286
-
17287
- /***/ "../../node_modules/minilog/lib/web/jquery_simple.js":
17288
- /*!***********************************************************!*\
17289
- !*** ../../node_modules/minilog/lib/web/jquery_simple.js ***!
17290
- \***********************************************************/
17291
- /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
17292
-
17293
- var Transform = __webpack_require__(/*! ../common/transform.js */ "../../node_modules/minilog/lib/common/transform.js");
17294
-
17295
- var cid = new Date().valueOf().toString(36);
17296
-
17297
- function AjaxLogger(options) {
17298
- this.url = options.url || '';
17299
- this.cache = [];
17300
- this.timer = null;
17301
- this.interval = options.interval || 30*1000;
17302
- this.enabled = true;
17303
- this.jQuery = window.jQuery;
17304
- this.extras = {};
17305
- }
17306
-
17307
- Transform.mixin(AjaxLogger);
17308
-
17309
- AjaxLogger.prototype.write = function(name, level, args) {
17310
- if(!this.timer) { this.init(); }
17311
- this.cache.push([name, level].concat(args));
17312
- };
17313
-
17314
- AjaxLogger.prototype.init = function() {
17315
- if(!this.enabled || !this.jQuery) return;
17316
- var self = this;
17317
- this.timer = setTimeout(function() {
17318
- var i, logs = [], ajaxData, url = self.url;
17319
- if(self.cache.length == 0) return self.init();
17320
- // Test each log line and only log the ones that are valid (e.g. don't have circular references).
17321
- // Slight performance hit but benefit is we log all valid lines.
17322
- for(i = 0; i < self.cache.length; i++) {
17323
- try {
17324
- JSON.stringify(self.cache[i]);
17325
- logs.push(self.cache[i]);
17326
- } catch(e) { }
17327
- }
17328
- if(self.jQuery.isEmptyObject(self.extras)) {
17329
- ajaxData = JSON.stringify({ logs: logs });
17330
- url = self.url + '?client_id=' + cid;
17331
- } else {
17332
- ajaxData = JSON.stringify(self.jQuery.extend({logs: logs}, self.extras));
17333
- }
17334
-
17335
- self.jQuery.ajax(url, {
17336
- type: 'POST',
17337
- cache: false,
17338
- processData: false,
17339
- data: ajaxData,
17340
- contentType: 'application/json',
17341
- timeout: 10000
17342
- }).success(function(data, status, jqxhr) {
17343
- if(data.interval) {
17344
- self.interval = Math.max(1000, data.interval);
17345
- }
17346
- }).error(function() {
17347
- self.interval = 30000;
17348
- }).always(function() {
17349
- self.init();
17350
- });
17351
- self.cache = [];
17352
- }, this.interval);
17353
- };
17354
-
17355
- AjaxLogger.prototype.end = function() {};
17356
-
17357
- // wait until jQuery is defined. Useful if you don't control the load order.
17358
- AjaxLogger.jQueryWait = function(onDone) {
17359
- if(typeof window !== 'undefined' && (window.jQuery || window.$)) {
17360
- return onDone(window.jQuery || window.$);
17361
- } else if (typeof window !== 'undefined') {
17362
- setTimeout(function() { AjaxLogger.jQueryWait(onDone); }, 200);
17363
- }
17364
- };
17365
-
17366
- module.exports = AjaxLogger;
17367
-
17368
-
17369
- /***/ }),
17370
-
17371
- /***/ "../../node_modules/minilog/lib/web/localstorage.js":
17372
- /*!**********************************************************!*\
17373
- !*** ../../node_modules/minilog/lib/web/localstorage.js ***!
17374
- \**********************************************************/
17375
- /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
17376
-
17377
- var Transform = __webpack_require__(/*! ../common/transform.js */ "../../node_modules/minilog/lib/common/transform.js"),
17378
- cache = false;
17379
-
17380
- var logger = new Transform();
17381
-
17382
- logger.write = function(name, level, args) {
17383
- if(typeof window == 'undefined' || typeof JSON == 'undefined' || !JSON.stringify || !JSON.parse) return;
17384
- try {
17385
- if(!cache) { cache = (window.localStorage.minilog ? JSON.parse(window.localStorage.minilog) : []); }
17386
- cache.push([ new Date().toString(), name, level, args ]);
17387
- window.localStorage.minilog = JSON.stringify(cache);
17388
- } catch(e) {}
17389
- };
17390
-
17391
- module.exports = logger;
17392
-
17393
- /***/ }),
17394
-
17395
16812
  /***/ "../../node_modules/scratch-render-fonts/src/index.js":
17396
16813
  /*!************************************************************!*\
17397
16814
  !*** ../../node_modules/scratch-render-fonts/src/index.js ***!
@@ -19823,99 +19240,2065 @@ function transform() {
19823
19240
  matrices[_key] = arguments[_key];
19824
19241
  }
19825
19242
 
19826
- matrices = Array.isArray(matrices[0]) ? matrices[0] : matrices;
19243
+ matrices = Array.isArray(matrices[0]) ? matrices[0] : matrices;
19244
+
19245
+ var multiply = function multiply(m1, m2) {
19246
+ return {
19247
+ a: m1.a * m2.a + m1.c * m2.b,
19248
+ c: m1.a * m2.c + m1.c * m2.d,
19249
+ e: m1.a * m2.e + m1.c * m2.f + m1.e,
19250
+ b: m1.b * m2.a + m1.d * m2.b,
19251
+ d: m1.b * m2.c + m1.d * m2.d,
19252
+ f: m1.b * m2.e + m1.d * m2.f + m1.f
19253
+ };
19254
+ };
19255
+
19256
+ switch (matrices.length) {
19257
+ case 0:
19258
+ throw new Error('no matrices provided');
19259
+
19260
+ case 1:
19261
+ return matrices[0];
19262
+
19263
+ case 2:
19264
+ return multiply(matrices[0], matrices[1]);
19265
+
19266
+ default:
19267
+ var _matrices = matrices,
19268
+ _matrices2 = _toArray(_matrices),
19269
+ m1 = _matrices2[0],
19270
+ m2 = _matrices2[1],
19271
+ rest = _matrices2.slice(2);
19272
+
19273
+ var m = multiply(m1, m2);
19274
+ return transform.apply(undefined, [m].concat(_toConsumableArray(rest)));
19275
+ }
19276
+ }
19277
+
19278
+ /**
19279
+ * Merge multiple matrices into one (alias of `transform`)
19280
+ * @param matrices {...object} list of matrices
19281
+ * @returns {{a: number, b: number, c: number, e: number, d: number, f: number}} Affine matrix
19282
+ */
19283
+ function compose() {
19284
+ return transform.apply(undefined, arguments);
19285
+ }
19286
+
19287
+ /***/ }),
19288
+
19289
+ /***/ "../../node_modules/transformation-matrix/build-es/translate.js":
19290
+ /*!**********************************************************************!*\
19291
+ !*** ../../node_modules/transformation-matrix/build-es/translate.js ***!
19292
+ \**********************************************************************/
19293
+ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
19294
+
19295
+ "use strict";
19296
+ __webpack_require__.r(__webpack_exports__);
19297
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
19298
+ /* harmony export */ translate: function() { return /* binding */ translate; }
19299
+ /* harmony export */ });
19300
+ /**
19301
+ * Calculate a translate matrix
19302
+ * @param tx Translation on axis x
19303
+ * @param [ty = 0] Translation on axis y
19304
+ * @returns {{a: number, b: number, c: number, e: number, d: number, f: number}} Affine matrix
19305
+ */
19306
+ function translate(tx) {
19307
+ var ty = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
19308
+
19309
+ return {
19310
+ a: 1,
19311
+ c: 0,
19312
+ e: tx,
19313
+ b: 0,
19314
+ d: 1,
19315
+ f: ty
19316
+ };
19317
+ }
19318
+
19319
+ /***/ }),
19320
+
19321
+ /***/ "../../node_modules/transformation-matrix/build-es/utils.js":
19322
+ /*!******************************************************************!*\
19323
+ !*** ../../node_modules/transformation-matrix/build-es/utils.js ***!
19324
+ \******************************************************************/
19325
+ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
19326
+
19327
+ "use strict";
19328
+ __webpack_require__.r(__webpack_exports__);
19329
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
19330
+ /* harmony export */ isUndefined: function() { return /* binding */ isUndefined; }
19331
+ /* harmony export */ });
19332
+ function isUndefined(val) {
19333
+ return typeof val === 'undefined';
19334
+ }
19335
+
19336
+ /***/ }),
19337
+
19338
+ /***/ "../../node_modules/tslog/cjs/BaseLogger.js":
19339
+ /*!**************************************************!*\
19340
+ !*** ../../node_modules/tslog/cjs/BaseLogger.js ***!
19341
+ \**************************************************/
19342
+ /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
19343
+
19344
+ "use strict";
19345
+ /* provided dependency */ var Buffer = __webpack_require__(/*! buffer */ "../../node_modules/buffer/index.js")["Buffer"];
19346
+
19347
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
19348
+ if (k2 === undefined) k2 = k;
19349
+ var desc = Object.getOwnPropertyDescriptor(m, k);
19350
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
19351
+ desc = { enumerable: true, get: function() { return m[k]; } };
19352
+ }
19353
+ Object.defineProperty(o, k2, desc);
19354
+ }) : (function(o, m, k, k2) {
19355
+ if (k2 === undefined) k2 = k;
19356
+ o[k2] = m[k];
19357
+ }));
19358
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
19359
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
19360
+ };
19361
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
19362
+ exports.BaseLogger = exports.loggerEnvironment = void 0;
19363
+ exports.createLoggerEnvironment = createLoggerEnvironment;
19364
+ const urlToObj_js_1 = __webpack_require__(/*! ./urlToObj.js */ "../../node_modules/tslog/cjs/urlToObj.js");
19365
+ const metaFormatting_js_1 = __webpack_require__(/*! ./internal/metaFormatting.js */ "../../node_modules/tslog/cjs/internal/metaFormatting.js");
19366
+ const errorUtils_js_1 = __webpack_require__(/*! ./internal/errorUtils.js */ "../../node_modules/tslog/cjs/internal/errorUtils.js");
19367
+ const formatTemplate_js_1 = __webpack_require__(/*! ./formatTemplate.js */ "../../node_modules/tslog/cjs/formatTemplate.js");
19368
+ const util_inspect_polyfill_js_1 = __webpack_require__(/*! ./internal/util.inspect.polyfill.js */ "../../node_modules/tslog/cjs/internal/util.inspect.polyfill.js");
19369
+ const stackTrace_js_1 = __webpack_require__(/*! ./internal/stackTrace.js */ "../../node_modules/tslog/cjs/internal/stackTrace.js");
19370
+ const environment_js_1 = __webpack_require__(/*! ./internal/environment.js */ "../../node_modules/tslog/cjs/internal/environment.js");
19371
+ const jsonStringifyRecursive_js_1 = __webpack_require__(/*! ./internal/jsonStringifyRecursive.js */ "../../node_modules/tslog/cjs/internal/jsonStringifyRecursive.js");
19372
+ function createLoggerEnvironment() {
19373
+ const runtimeInfo = detectRuntimeInfo();
19374
+ const meta = createRuntimeMeta(runtimeInfo);
19375
+ const usesBrowserStack = runtimeInfo.name === "browser" || runtimeInfo.name === "worker";
19376
+ const callerIgnorePatterns = usesBrowserStack
19377
+ ? [...(0, stackTrace_js_1.getDefaultIgnorePatterns)(), /node_modules[\\/].*tslog/i]
19378
+ : [...(0, stackTrace_js_1.getDefaultIgnorePatterns)(), /node:(?:internal|vm)/i, /\binternal[\\/]/i];
19379
+ let cachedCwd;
19380
+ const environment = {
19381
+ getMeta(logLevelId, logLevelName, stackDepthLevel, hideLogPositionForPerformance, name, parentNames) {
19382
+ return Object.assign({}, meta, {
19383
+ name,
19384
+ parentNames,
19385
+ date: new Date(),
19386
+ logLevelId,
19387
+ logLevelName,
19388
+ path: !hideLogPositionForPerformance ? environment.getCallerStackFrame(stackDepthLevel) : undefined,
19389
+ });
19390
+ },
19391
+ getCallerStackFrame(stackDepthLevel, error = new Error()) {
19392
+ const frames = (0, stackTrace_js_1.buildStackTrace)(error, (line) => parseStackLine(line));
19393
+ if (frames.length === 0) {
19394
+ return {};
19395
+ }
19396
+ const autoIndex = (0, stackTrace_js_1.findFirstExternalFrameIndex)(frames, callerIgnorePatterns);
19397
+ const useManualIndex = Number.isFinite(stackDepthLevel) && stackDepthLevel >= 0;
19398
+ const resolvedIndex = useManualIndex ? (0, stackTrace_js_1.clampIndex)(stackDepthLevel, frames.length) : (0, stackTrace_js_1.clampIndex)(autoIndex, frames.length);
19399
+ return frames[resolvedIndex] ?? {};
19400
+ },
19401
+ getErrorTrace(error) {
19402
+ return (0, stackTrace_js_1.buildStackTrace)(error, (line) => parseStackLine(line));
19403
+ },
19404
+ isError(value) {
19405
+ return isNativeError(value);
19406
+ },
19407
+ isBuffer(value) {
19408
+ return typeof Buffer !== "undefined" && typeof Buffer.isBuffer === "function" ? Buffer.isBuffer(value) : false;
19409
+ },
19410
+ prettyFormatLogObj(maskedArgs, settings) {
19411
+ return maskedArgs.reduce((result, arg) => {
19412
+ if (environment.isError(arg)) {
19413
+ result.errors.push(environment.prettyFormatErrorObj(arg, settings));
19414
+ }
19415
+ else {
19416
+ result.args.push(arg);
19417
+ }
19418
+ return result;
19419
+ }, { args: [], errors: [] });
19420
+ },
19421
+ prettyFormatErrorObj(error, settings) {
19422
+ const stackLines = formatStackFrames(environment.getErrorTrace(error), settings);
19423
+ const causeSections = (0, errorUtils_js_1.collectErrorCauses)(error).map((cause, index) => {
19424
+ const header = `Caused by (${index + 1}): ${cause.name ?? "Error"}${cause.message ? `: ${cause.message}` : ""}`;
19425
+ const frames = formatStackFrames((0, stackTrace_js_1.buildStackTrace)(cause, (line) => parseStackLine(line)), settings);
19426
+ return [header, ...frames].join("\n");
19427
+ });
19428
+ const placeholderValuesError = {
19429
+ errorName: ` ${error.name} `,
19430
+ errorMessage: formatErrorMessage(error),
19431
+ errorStack: [...stackLines, ...causeSections].join("\n"),
19432
+ };
19433
+ return (0, formatTemplate_js_1.formatTemplate)(settings, settings.prettyErrorTemplate, placeholderValuesError);
19434
+ },
19435
+ transportFormatted(logMetaMarkup, logArgs, logErrors, logMeta, settings) {
19436
+ const prettyLogs = settings.stylePrettyLogs !== false;
19437
+ const logErrorsStr = (logErrors.length > 0 && logArgs.length > 0 ? "\n" : "") + logErrors.join("\n");
19438
+ const sanitizedMetaMarkup = stripAnsi(logMetaMarkup);
19439
+ const metaMarkupForText = prettyLogs ? logMetaMarkup : sanitizedMetaMarkup;
19440
+ if (shouldUseCss(prettyLogs)) {
19441
+ settings.prettyInspectOptions.colors = false;
19442
+ const formattedArgs = formatWithOptionsSafe(settings.prettyInspectOptions, logArgs);
19443
+ const cssMeta = logMeta != null ? buildCssMetaOutput(settings, logMeta) : { text: sanitizedMetaMarkup, styles: [] };
19444
+ const hasCssMeta = cssMeta.text.length > 0 && cssMeta.styles.length > 0;
19445
+ const metaOutput = hasCssMeta ? cssMeta.text : sanitizedMetaMarkup;
19446
+ const output = metaOutput + formattedArgs + logErrorsStr;
19447
+ if (hasCssMeta) {
19448
+ console.log(output, ...cssMeta.styles);
19449
+ }
19450
+ else {
19451
+ console.log(output);
19452
+ }
19453
+ return;
19454
+ }
19455
+ settings.prettyInspectOptions.colors = prettyLogs;
19456
+ const formattedArgs = formatWithOptionsSafe(settings.prettyInspectOptions, logArgs);
19457
+ console.log(metaMarkupForText + formattedArgs + logErrorsStr);
19458
+ },
19459
+ transportJSON(json) {
19460
+ console.log((0, jsonStringifyRecursive_js_1.jsonStringifyRecursive)(json));
19461
+ },
19462
+ };
19463
+ if (getNodeEnv() === "test") {
19464
+ environment.__resetWorkingDirectoryCacheForTests = () => {
19465
+ cachedCwd = undefined;
19466
+ };
19467
+ }
19468
+ return environment;
19469
+ function parseStackLine(line) {
19470
+ return usesBrowserStack ? parseBrowserStackLine(line) : parseServerStackLine(line);
19471
+ }
19472
+ function parseServerStackLine(rawLine) {
19473
+ if (typeof rawLine !== "string" || rawLine.length === 0) {
19474
+ return undefined;
19475
+ }
19476
+ const trimmedLine = rawLine.trim();
19477
+ if (!trimmedLine.includes(" at ") && !trimmedLine.startsWith("at ")) {
19478
+ return undefined;
19479
+ }
19480
+ const line = trimmedLine.replace(/^at\s+/, "");
19481
+ let method;
19482
+ let location = line;
19483
+ const methodMatch = line.match(/^(.*?)\s+\((.*)\)$/);
19484
+ if (methodMatch) {
19485
+ method = methodMatch[1];
19486
+ location = methodMatch[2];
19487
+ }
19488
+ const sanitizedLocation = location.replace(/^\(/, "").replace(/\)$/, "");
19489
+ const withoutQuery = sanitizedLocation.replace(/\?.*$/, "");
19490
+ let fileLine;
19491
+ let fileColumn;
19492
+ let filePathCandidate = withoutQuery;
19493
+ const segments = withoutQuery.split(":");
19494
+ if (segments.length >= 3 && /^\d+$/.test(segments[segments.length - 1] ?? "")) {
19495
+ fileColumn = segments.pop();
19496
+ fileLine = segments.pop();
19497
+ filePathCandidate = segments.join(":");
19498
+ }
19499
+ else if (segments.length >= 2 && /^\d+$/.test(segments[segments.length - 1] ?? "")) {
19500
+ fileLine = segments.pop();
19501
+ filePathCandidate = segments.join(":");
19502
+ }
19503
+ let normalizedPath = filePathCandidate.replace(/^file:\/\//, "");
19504
+ const cwd = getWorkingDirectory();
19505
+ if (cwd != null && normalizedPath.startsWith(cwd)) {
19506
+ normalizedPath = normalizedPath.slice(cwd.length);
19507
+ normalizedPath = normalizedPath.replace(/^[\\/]/, "");
19508
+ }
19509
+ if (normalizedPath.length === 0) {
19510
+ normalizedPath = filePathCandidate;
19511
+ }
19512
+ const normalizedPathWithoutLine = normalizeFilePath(normalizedPath);
19513
+ const effectivePath = normalizedPathWithoutLine.length > 0 ? normalizedPathWithoutLine : normalizedPath;
19514
+ const pathSegments = effectivePath.split(/\\|\//);
19515
+ const fileName = pathSegments[pathSegments.length - 1];
19516
+ const fileNameWithLine = fileName && fileLine ? `${fileName}:${fileLine}` : undefined;
19517
+ const filePathWithLine = effectivePath && fileLine ? `${effectivePath}:${fileLine}` : undefined;
19518
+ return {
19519
+ fullFilePath: sanitizedLocation,
19520
+ fileName,
19521
+ fileNameWithLine,
19522
+ fileColumn,
19523
+ fileLine,
19524
+ filePath: effectivePath,
19525
+ filePathWithLine,
19526
+ method,
19527
+ };
19528
+ }
19529
+ function parseBrowserStackLine(line) {
19530
+ const href = globalThis.location?.origin;
19531
+ if (line == null) {
19532
+ return undefined;
19533
+ }
19534
+ const match = line.match(BROWSER_PATH_REGEX);
19535
+ if (!match) {
19536
+ return undefined;
19537
+ }
19538
+ const filePath = match[1]?.replace(/\?.*$/, "");
19539
+ if (filePath == null) {
19540
+ return undefined;
19541
+ }
19542
+ const pathParts = filePath.split("/");
19543
+ const fileLine = match[2];
19544
+ const fileColumn = match[3];
19545
+ const fileName = pathParts[pathParts.length - 1];
19546
+ return {
19547
+ fullFilePath: href ? `${href}${filePath}` : filePath,
19548
+ fileName,
19549
+ fileNameWithLine: fileName && fileLine ? `${fileName}:${fileLine}` : undefined,
19550
+ fileColumn,
19551
+ fileLine,
19552
+ filePath,
19553
+ filePathWithLine: fileLine ? `${filePath}:${fileLine}` : undefined,
19554
+ method: undefined,
19555
+ };
19556
+ }
19557
+ function formatStackFrames(frames, settings) {
19558
+ return frames.map((stackFrame) => (0, formatTemplate_js_1.formatTemplate)(settings, settings.prettyErrorStackTemplate, { ...stackFrame }, true));
19559
+ }
19560
+ function formatErrorMessage(error) {
19561
+ return Object.getOwnPropertyNames(error)
19562
+ .filter((key) => key !== "stack" && key !== "cause")
19563
+ .reduce((result, key) => {
19564
+ const value = error[key];
19565
+ if (typeof value === "function") {
19566
+ return result;
19567
+ }
19568
+ result.push(String(value));
19569
+ return result;
19570
+ }, [])
19571
+ .join(", ");
19572
+ }
19573
+ function shouldUseCss(prettyLogs) {
19574
+ return prettyLogs && (runtimeInfo.name === "browser" || runtimeInfo.name === "worker") && (0, environment_js_1.consoleSupportsCssStyling)();
19575
+ }
19576
+ function stripAnsi(value) {
19577
+ return value.replace(ANSI_REGEX, "");
19578
+ }
19579
+ function buildCssMetaOutput(settings, metaValue) {
19580
+ if (metaValue == null) {
19581
+ return { text: "", styles: [] };
19582
+ }
19583
+ const { template, placeholders } = (0, metaFormatting_js_1.buildPrettyMeta)(settings, metaValue);
19584
+ const parts = [];
19585
+ const styles = [];
19586
+ let lastIndex = 0;
19587
+ const placeholderRegex = /{{(.+?)}}/g;
19588
+ let match;
19589
+ while ((match = placeholderRegex.exec(template)) != null) {
19590
+ if (match.index > lastIndex) {
19591
+ parts.push(template.slice(lastIndex, match.index));
19592
+ }
19593
+ const key = match[1];
19594
+ const rawValue = placeholders[key] != null ? String(placeholders[key]) : "";
19595
+ const tokens = collectStyleTokens(settings.prettyLogStyles?.[key], rawValue);
19596
+ const css = tokensToCss(tokens);
19597
+ if (css.length > 0) {
19598
+ parts.push(`%c${rawValue}%c`);
19599
+ styles.push(css, "");
19600
+ }
19601
+ else {
19602
+ parts.push(rawValue);
19603
+ }
19604
+ lastIndex = placeholderRegex.lastIndex;
19605
+ }
19606
+ if (lastIndex < template.length) {
19607
+ parts.push(template.slice(lastIndex));
19608
+ }
19609
+ return {
19610
+ text: parts.join(""),
19611
+ styles,
19612
+ };
19613
+ }
19614
+ function collectStyleTokens(style, value) {
19615
+ if (style == null) {
19616
+ return [];
19617
+ }
19618
+ if (typeof style === "string") {
19619
+ return [style];
19620
+ }
19621
+ if (Array.isArray(style)) {
19622
+ return style.flatMap((token) => collectStyleTokens(token, value));
19623
+ }
19624
+ if (typeof style === "object") {
19625
+ const normalizedValue = value.trim();
19626
+ const nextStyle = style[normalizedValue] ?? style["*"];
19627
+ if (nextStyle == null) {
19628
+ return [];
19629
+ }
19630
+ return collectStyleTokens(nextStyle, value);
19631
+ }
19632
+ return [];
19633
+ }
19634
+ function tokensToCss(tokens) {
19635
+ const seen = new Set();
19636
+ const cssParts = [];
19637
+ for (const token of tokens) {
19638
+ const css = styleTokenToCss(token);
19639
+ if (css != null && css.length > 0 && !seen.has(css)) {
19640
+ seen.add(css);
19641
+ cssParts.push(css);
19642
+ }
19643
+ }
19644
+ return cssParts.join("; ");
19645
+ }
19646
+ function styleTokenToCss(token) {
19647
+ const color = COLOR_TOKENS[token];
19648
+ if (color != null) {
19649
+ return `color: ${color}`;
19650
+ }
19651
+ const background = BACKGROUND_TOKENS[token];
19652
+ if (background != null) {
19653
+ return `background-color: ${background}`;
19654
+ }
19655
+ switch (token) {
19656
+ case "bold":
19657
+ return "font-weight: bold";
19658
+ case "dim":
19659
+ return "opacity: 0.75";
19660
+ case "italic":
19661
+ return "font-style: italic";
19662
+ case "underline":
19663
+ return "text-decoration: underline";
19664
+ case "overline":
19665
+ return "text-decoration: overline";
19666
+ case "inverse":
19667
+ return "filter: invert(1)";
19668
+ case "hidden":
19669
+ return "visibility: hidden";
19670
+ case "strikethrough":
19671
+ return "text-decoration: line-through";
19672
+ default:
19673
+ return undefined;
19674
+ }
19675
+ }
19676
+ function getWorkingDirectory() {
19677
+ if (cachedCwd === undefined) {
19678
+ cachedCwd = (0, environment_js_1.safeGetCwd)() ?? null;
19679
+ }
19680
+ return cachedCwd ?? undefined;
19681
+ }
19682
+ function shouldCaptureHostname() {
19683
+ return runtimeInfo.name === "node" || runtimeInfo.name === "deno" || runtimeInfo.name === "bun";
19684
+ }
19685
+ function shouldCaptureRuntimeVersion() {
19686
+ return runtimeInfo.name === "node" || runtimeInfo.name === "deno" || runtimeInfo.name === "bun";
19687
+ }
19688
+ function createRuntimeMeta(info) {
19689
+ if (info.name === "browser" || info.name === "worker") {
19690
+ return {
19691
+ runtime: info.name,
19692
+ browser: info.userAgent,
19693
+ };
19694
+ }
19695
+ const metaStatic = {
19696
+ runtime: info.name,
19697
+ };
19698
+ if (shouldCaptureRuntimeVersion()) {
19699
+ metaStatic.runtimeVersion = info.version ?? "unknown";
19700
+ }
19701
+ if (shouldCaptureHostname()) {
19702
+ metaStatic.hostname = info.hostname ?? "unknown";
19703
+ }
19704
+ return metaStatic;
19705
+ }
19706
+ function formatWithOptionsSafe(options, args) {
19707
+ try {
19708
+ return (0, util_inspect_polyfill_js_1.formatWithOptions)(options, ...args);
19709
+ }
19710
+ catch {
19711
+ return args.map(stringifyFallback).join(" ");
19712
+ }
19713
+ }
19714
+ function stringifyFallback(value) {
19715
+ if (typeof value === "string") {
19716
+ return value;
19717
+ }
19718
+ try {
19719
+ return JSON.stringify(value);
19720
+ }
19721
+ catch {
19722
+ return String(value);
19723
+ }
19724
+ }
19725
+ function normalizeFilePath(value) {
19726
+ if (typeof value !== "string" || value.length === 0) {
19727
+ return value;
19728
+ }
19729
+ const replaced = value.replace(/\\+/g, "\\").replace(/\\/g, "/");
19730
+ const hasRootDoubleSlash = replaced.startsWith("//");
19731
+ const hasLeadingSlash = replaced.startsWith("/") && !hasRootDoubleSlash;
19732
+ const driveMatch = replaced.match(/^[A-Za-z]:/);
19733
+ const drivePrefix = driveMatch ? driveMatch[0] : "";
19734
+ const withoutDrive = drivePrefix ? replaced.slice(drivePrefix.length) : replaced;
19735
+ const segments = withoutDrive.split("/");
19736
+ const normalizedSegments = [];
19737
+ for (const segment of segments) {
19738
+ if (segment === "" || segment === ".") {
19739
+ continue;
19740
+ }
19741
+ if (segment === "..") {
19742
+ if (normalizedSegments.length > 0) {
19743
+ normalizedSegments.pop();
19744
+ }
19745
+ continue;
19746
+ }
19747
+ normalizedSegments.push(segment);
19748
+ }
19749
+ let normalized = normalizedSegments.join("/");
19750
+ if (hasRootDoubleSlash) {
19751
+ normalized = `//${normalized}`;
19752
+ }
19753
+ else if (hasLeadingSlash) {
19754
+ normalized = `/${normalized}`;
19755
+ }
19756
+ else if (drivePrefix !== "") {
19757
+ normalized = `${drivePrefix}${normalized.length > 0 ? `/${normalized}` : ""}`;
19758
+ }
19759
+ if (normalized.length === 0) {
19760
+ return value;
19761
+ }
19762
+ return normalized;
19763
+ }
19764
+ function detectRuntimeInfo() {
19765
+ if ((0, environment_js_1.isBrowserEnvironment)()) {
19766
+ const navigatorObj = globalThis.navigator;
19767
+ return {
19768
+ name: "browser",
19769
+ userAgent: navigatorObj?.userAgent,
19770
+ };
19771
+ }
19772
+ const globalScope = globalThis;
19773
+ if (typeof globalScope.importScripts === "function") {
19774
+ return {
19775
+ name: "worker",
19776
+ userAgent: globalScope.navigator?.userAgent,
19777
+ };
19778
+ }
19779
+ const globalAny = globalThis;
19780
+ if (globalAny.Bun != null) {
19781
+ const bunVersion = globalAny.Bun.version;
19782
+ return {
19783
+ name: "bun",
19784
+ version: bunVersion != null ? `bun/${bunVersion}` : undefined,
19785
+ hostname: getEnvironmentHostname(globalAny.process, globalAny.Deno, globalAny.Bun, globalAny.location),
19786
+ };
19787
+ }
19788
+ if (globalAny.Deno != null) {
19789
+ const denoHostname = resolveDenoHostname(globalAny.Deno);
19790
+ const denoVersion = globalAny.Deno?.version?.deno;
19791
+ return {
19792
+ name: "deno",
19793
+ version: denoVersion != null ? `deno/${denoVersion}` : undefined,
19794
+ hostname: denoHostname ?? getEnvironmentHostname(globalAny.process, globalAny.Deno, globalAny.Bun, globalAny.location),
19795
+ };
19796
+ }
19797
+ if (globalAny.process?.versions?.node != null || globalAny.process?.version != null) {
19798
+ return {
19799
+ name: "node",
19800
+ version: globalAny.process?.versions?.node ?? globalAny.process?.version,
19801
+ hostname: getEnvironmentHostname(globalAny.process, globalAny.Deno, globalAny.Bun, globalAny.location),
19802
+ };
19803
+ }
19804
+ if (globalAny.process != null) {
19805
+ return {
19806
+ name: "node",
19807
+ version: "unknown",
19808
+ hostname: getEnvironmentHostname(globalAny.process, globalAny.Deno, globalAny.Bun, globalAny.location),
19809
+ };
19810
+ }
19811
+ return {
19812
+ name: "unknown",
19813
+ };
19814
+ }
19815
+ function getEnvironmentHostname(nodeProcess, deno, bun, location) {
19816
+ const processHostname = nodeProcess?.env?.HOSTNAME ?? nodeProcess?.env?.HOST ?? nodeProcess?.env?.COMPUTERNAME;
19817
+ if (processHostname != null && processHostname.length > 0) {
19818
+ return processHostname;
19819
+ }
19820
+ const bunHostname = bun?.env?.HOSTNAME ?? bun?.env?.HOST ?? bun?.env?.COMPUTERNAME;
19821
+ if (bunHostname != null && bunHostname.length > 0) {
19822
+ return bunHostname;
19823
+ }
19824
+ try {
19825
+ const denoEnvGet = deno?.env?.get;
19826
+ if (typeof denoEnvGet === "function") {
19827
+ const value = denoEnvGet("HOSTNAME");
19828
+ if (value != null && value.length > 0) {
19829
+ return value;
19830
+ }
19831
+ }
19832
+ }
19833
+ catch {
19834
+ }
19835
+ if (location?.hostname != null && location.hostname.length > 0) {
19836
+ return location.hostname;
19837
+ }
19838
+ return undefined;
19839
+ }
19840
+ function resolveDenoHostname(deno) {
19841
+ try {
19842
+ if (typeof deno?.hostname === "function") {
19843
+ const value = deno.hostname();
19844
+ if (value != null && value.length > 0) {
19845
+ return value;
19846
+ }
19847
+ }
19848
+ }
19849
+ catch {
19850
+ }
19851
+ const locationHostname = globalThis.location?.hostname;
19852
+ if (locationHostname != null && locationHostname.length > 0) {
19853
+ return locationHostname;
19854
+ }
19855
+ return undefined;
19856
+ }
19857
+ function getNodeEnv() {
19858
+ const globalProcess = globalThis?.process;
19859
+ return globalProcess?.env?.NODE_ENV;
19860
+ }
19861
+ function isNativeError(value) {
19862
+ if (value instanceof Error) {
19863
+ return true;
19864
+ }
19865
+ if (value != null && typeof value === "object") {
19866
+ const objectTag = Object.prototype.toString.call(value);
19867
+ if (/\[object .*Error\]/.test(objectTag)) {
19868
+ return true;
19869
+ }
19870
+ const name = value.name;
19871
+ if (typeof name === "string" && name.endsWith("Error")) {
19872
+ return true;
19873
+ }
19874
+ }
19875
+ return false;
19876
+ }
19877
+ }
19878
+ const ANSI_REGEX = /\u001b\[[0-9;]*m/g;
19879
+ const COLOR_TOKENS = {
19880
+ black: "#000000",
19881
+ red: "#ef5350",
19882
+ green: "#66bb6a",
19883
+ yellow: "#fdd835",
19884
+ blue: "#42a5f5",
19885
+ magenta: "#ab47bc",
19886
+ cyan: "#26c6da",
19887
+ white: "#fafafa",
19888
+ blackBright: "#424242",
19889
+ redBright: "#ff7043",
19890
+ greenBright: "#81c784",
19891
+ yellowBright: "#ffe082",
19892
+ blueBright: "#64b5f6",
19893
+ magentaBright: "#ce93d8",
19894
+ cyanBright: "#4dd0e1",
19895
+ whiteBright: "#ffffff",
19896
+ };
19897
+ const BACKGROUND_TOKENS = {
19898
+ bgBlack: "#000000",
19899
+ bgRed: "#ef5350",
19900
+ bgGreen: "#66bb6a",
19901
+ bgYellow: "#fdd835",
19902
+ bgBlue: "#42a5f5",
19903
+ bgMagenta: "#ab47bc",
19904
+ bgCyan: "#26c6da",
19905
+ bgWhite: "#fafafa",
19906
+ bgBlackBright: "#424242",
19907
+ bgRedBright: "#ff7043",
19908
+ bgGreenBright: "#81c784",
19909
+ bgYellowBright: "#ffe082",
19910
+ bgBlueBright: "#64b5f6",
19911
+ bgMagentaBright: "#ce93d8",
19912
+ bgCyanBright: "#4dd0e1",
19913
+ bgWhiteBright: "#ffffff",
19914
+ };
19915
+ const BROWSER_PATH_REGEX = /(?:(?:file|https?|global code|[^@]+)@)?(?:file:)?((?:\/[^:/]+){2,})(?::(\d+))?(?::(\d+))?/;
19916
+ const runtime = createLoggerEnvironment();
19917
+ exports.loggerEnvironment = runtime;
19918
+ __exportStar(__webpack_require__(/*! ./interfaces.js */ "../../node_modules/tslog/cjs/interfaces.js"), exports);
19919
+ class BaseLogger {
19920
+ constructor(settings, logObj, stackDepthLevel = Number.NaN) {
19921
+ this.logObj = logObj;
19922
+ this.stackDepthLevel = stackDepthLevel;
19923
+ this.runtime = runtime;
19924
+ this.maxErrorCauseDepth = 5;
19925
+ this.settings = {
19926
+ type: settings?.type ?? "pretty",
19927
+ name: settings?.name,
19928
+ parentNames: settings?.parentNames,
19929
+ minLevel: settings?.minLevel ?? 0,
19930
+ argumentsArrayName: settings?.argumentsArrayName,
19931
+ hideLogPositionForProduction: settings?.hideLogPositionForProduction ?? false,
19932
+ prettyLogTemplate: settings?.prettyLogTemplate ??
19933
+ "{{yyyy}}.{{mm}}.{{dd}} {{hh}}:{{MM}}:{{ss}}:{{ms}}\t{{logLevelName}}\t{{filePathWithLine}}{{nameWithDelimiterPrefix}}\t",
19934
+ prettyErrorTemplate: settings?.prettyErrorTemplate ?? "\n{{errorName}} {{errorMessage}}\nerror stack:\n{{errorStack}}",
19935
+ prettyErrorStackTemplate: settings?.prettyErrorStackTemplate ?? " • {{fileName}}\t{{method}}\n\t{{filePathWithLine}}",
19936
+ prettyErrorParentNamesSeparator: settings?.prettyErrorParentNamesSeparator ?? ":",
19937
+ prettyErrorLoggerNameDelimiter: settings?.prettyErrorLoggerNameDelimiter ?? "\t",
19938
+ stylePrettyLogs: settings?.stylePrettyLogs ?? true,
19939
+ prettyLogTimeZone: settings?.prettyLogTimeZone ?? "UTC",
19940
+ prettyLogStyles: settings?.prettyLogStyles ?? {
19941
+ logLevelName: {
19942
+ "*": ["bold", "black", "bgWhiteBright", "dim"],
19943
+ SILLY: ["bold", "white"],
19944
+ TRACE: ["bold", "whiteBright"],
19945
+ DEBUG: ["bold", "green"],
19946
+ INFO: ["bold", "blue"],
19947
+ WARN: ["bold", "yellow"],
19948
+ ERROR: ["bold", "red"],
19949
+ FATAL: ["bold", "redBright"],
19950
+ },
19951
+ dateIsoStr: "white",
19952
+ filePathWithLine: "white",
19953
+ name: ["white", "bold"],
19954
+ nameWithDelimiterPrefix: ["white", "bold"],
19955
+ nameWithDelimiterSuffix: ["white", "bold"],
19956
+ errorName: ["bold", "bgRedBright", "whiteBright"],
19957
+ fileName: ["yellow"],
19958
+ fileNameWithLine: "white",
19959
+ },
19960
+ prettyInspectOptions: settings?.prettyInspectOptions ?? {
19961
+ colors: true,
19962
+ compact: false,
19963
+ depth: Infinity,
19964
+ },
19965
+ metaProperty: settings?.metaProperty ?? "_meta",
19966
+ maskPlaceholder: settings?.maskPlaceholder ?? "[***]",
19967
+ maskValuesOfKeys: settings?.maskValuesOfKeys ?? ["password"],
19968
+ maskValuesOfKeysCaseInsensitive: settings?.maskValuesOfKeysCaseInsensitive ?? false,
19969
+ maskValuesRegEx: settings?.maskValuesRegEx,
19970
+ prefix: [...(settings?.prefix ?? [])],
19971
+ attachedTransports: [...(settings?.attachedTransports ?? [])],
19972
+ overwrite: {
19973
+ mask: settings?.overwrite?.mask,
19974
+ toLogObj: settings?.overwrite?.toLogObj,
19975
+ addMeta: settings?.overwrite?.addMeta,
19976
+ addPlaceholders: settings?.overwrite?.addPlaceholders,
19977
+ formatMeta: settings?.overwrite?.formatMeta,
19978
+ formatLogObj: settings?.overwrite?.formatLogObj,
19979
+ transportFormatted: settings?.overwrite?.transportFormatted,
19980
+ transportJSON: settings?.overwrite?.transportJSON,
19981
+ },
19982
+ };
19983
+ this.captureStackForMeta = this._shouldCaptureStack();
19984
+ }
19985
+ log(logLevelId, logLevelName, ...args) {
19986
+ if (logLevelId < this.settings.minLevel) {
19987
+ return;
19988
+ }
19989
+ const resolvedArgs = this._resolveLogArguments(args);
19990
+ const logArgs = [...this.settings.prefix, ...resolvedArgs];
19991
+ const maskedArgs = this.settings.overwrite?.mask != null
19992
+ ? this.settings.overwrite?.mask(logArgs)
19993
+ : this.settings.maskValuesOfKeys != null && this.settings.maskValuesOfKeys.length > 0
19994
+ ? this._mask(logArgs)
19995
+ : logArgs;
19996
+ const thisLogObj = this.logObj != null ? this._recursiveCloneAndExecuteFunctions(this.logObj) : undefined;
19997
+ const logObj = this.settings.overwrite?.toLogObj != null ? this.settings.overwrite?.toLogObj(maskedArgs, thisLogObj) : this._toLogObj(maskedArgs, thisLogObj);
19998
+ const logObjWithMeta = this.settings.overwrite?.addMeta != null
19999
+ ? this.settings.overwrite?.addMeta(logObj, logLevelId, logLevelName)
20000
+ : this._addMetaToLogObj(logObj, logLevelId, logLevelName);
20001
+ const logMeta = logObjWithMeta?.[this.settings.metaProperty];
20002
+ let logMetaMarkup;
20003
+ let logArgsAndErrorsMarkup = undefined;
20004
+ if (this.settings.overwrite?.formatMeta != null) {
20005
+ logMetaMarkup = this.settings.overwrite?.formatMeta(logObjWithMeta?.[this.settings.metaProperty]);
20006
+ }
20007
+ if (this.settings.overwrite?.formatLogObj != null) {
20008
+ logArgsAndErrorsMarkup = this.settings.overwrite?.formatLogObj(maskedArgs, this.settings);
20009
+ }
20010
+ if (this.settings.type === "pretty") {
20011
+ logMetaMarkup = logMetaMarkup ?? this._prettyFormatLogObjMeta(logObjWithMeta?.[this.settings.metaProperty]);
20012
+ logArgsAndErrorsMarkup = logArgsAndErrorsMarkup ?? runtime.prettyFormatLogObj(maskedArgs, this.settings);
20013
+ }
20014
+ if (logMetaMarkup != null && logArgsAndErrorsMarkup != null) {
20015
+ if (this.settings.overwrite?.transportFormatted != null) {
20016
+ const transport = this.settings.overwrite.transportFormatted;
20017
+ const declaredParams = transport.length;
20018
+ if (declaredParams < 4) {
20019
+ transport(logMetaMarkup, logArgsAndErrorsMarkup.args, logArgsAndErrorsMarkup.errors);
20020
+ }
20021
+ else if (declaredParams === 4) {
20022
+ transport(logMetaMarkup, logArgsAndErrorsMarkup.args, logArgsAndErrorsMarkup.errors, logMeta);
20023
+ }
20024
+ else {
20025
+ transport(logMetaMarkup, logArgsAndErrorsMarkup.args, logArgsAndErrorsMarkup.errors, logMeta, this.settings);
20026
+ }
20027
+ }
20028
+ else {
20029
+ runtime.transportFormatted(logMetaMarkup, logArgsAndErrorsMarkup.args, logArgsAndErrorsMarkup.errors, logMeta, this.settings);
20030
+ }
20031
+ }
20032
+ else {
20033
+ if (this.settings.overwrite?.transportJSON != null) {
20034
+ this.settings.overwrite.transportJSON(logObjWithMeta);
20035
+ }
20036
+ else if (this.settings.type !== "hidden") {
20037
+ runtime.transportJSON(logObjWithMeta);
20038
+ }
20039
+ }
20040
+ if (this.settings.attachedTransports != null && this.settings.attachedTransports.length > 0) {
20041
+ this.settings.attachedTransports.forEach((transportLogger) => {
20042
+ transportLogger(logObjWithMeta);
20043
+ });
20044
+ }
20045
+ return logObjWithMeta;
20046
+ }
20047
+ attachTransport(transportLogger) {
20048
+ this.settings.attachedTransports.push(transportLogger);
20049
+ }
20050
+ getSubLogger(settings, logObj) {
20051
+ const subLoggerSettings = {
20052
+ ...this.settings,
20053
+ ...settings,
20054
+ parentNames: this.settings?.parentNames != null && this.settings?.name != null
20055
+ ? [...this.settings.parentNames, this.settings.name]
20056
+ : this.settings?.name != null
20057
+ ? [this.settings.name]
20058
+ : undefined,
20059
+ prefix: [...this.settings.prefix, ...(settings?.prefix ?? [])],
20060
+ };
20061
+ const subLogger = new this.constructor(subLoggerSettings, logObj ?? this.logObj, this.stackDepthLevel);
20062
+ return subLogger;
20063
+ }
20064
+ _mask(args) {
20065
+ const maskKeys = this._getMaskKeys();
20066
+ return args?.map((arg) => {
20067
+ return this._recursiveCloneAndMaskValuesOfKeys(arg, maskKeys);
20068
+ });
20069
+ }
20070
+ _getMaskKeys() {
20071
+ const maskKeys = this.settings.maskValuesOfKeys ?? [];
20072
+ const signature = maskKeys.map(String).join("|");
20073
+ if (this.settings.maskValuesOfKeysCaseInsensitive === true) {
20074
+ if (this.maskKeysCache?.source === maskKeys && this.maskKeysCache.caseInsensitive === true && this.maskKeysCache.signature === signature) {
20075
+ return this.maskKeysCache.normalized;
20076
+ }
20077
+ const normalized = maskKeys.map((key) => (typeof key === "string" ? key.toLowerCase() : String(key).toLowerCase()));
20078
+ this.maskKeysCache = {
20079
+ source: maskKeys,
20080
+ caseInsensitive: true,
20081
+ normalized,
20082
+ signature,
20083
+ };
20084
+ return normalized;
20085
+ }
20086
+ this.maskKeysCache = {
20087
+ source: maskKeys,
20088
+ caseInsensitive: false,
20089
+ normalized: maskKeys,
20090
+ signature,
20091
+ };
20092
+ return maskKeys;
20093
+ }
20094
+ _resolveLogArguments(args) {
20095
+ if (args.length === 1 && typeof args[0] === "function") {
20096
+ const candidate = args[0];
20097
+ if (candidate.length === 0) {
20098
+ const result = candidate();
20099
+ return Array.isArray(result) ? result : [result];
20100
+ }
20101
+ }
20102
+ return args;
20103
+ }
20104
+ _recursiveCloneAndMaskValuesOfKeys(source, keys, seen = []) {
20105
+ if (seen.includes(source)) {
20106
+ return { ...source };
20107
+ }
20108
+ if (typeof source === "object" && source !== null) {
20109
+ seen.push(source);
20110
+ }
20111
+ if (runtime.isError(source) || runtime.isBuffer(source)) {
20112
+ return source;
20113
+ }
20114
+ else if (source instanceof Map) {
20115
+ return new Map(source);
20116
+ }
20117
+ else if (source instanceof Set) {
20118
+ return new Set(source);
20119
+ }
20120
+ else if (Array.isArray(source)) {
20121
+ return source.map((item) => this._recursiveCloneAndMaskValuesOfKeys(item, keys, seen));
20122
+ }
20123
+ else if (source instanceof Date) {
20124
+ return new Date(source.getTime());
20125
+ }
20126
+ else if (source instanceof URL) {
20127
+ return (0, urlToObj_js_1.urlToObject)(source);
20128
+ }
20129
+ else if (source !== null && typeof source === "object") {
20130
+ const baseObject = runtime.isError(source) ? this._cloneError(source) : Object.create(Object.getPrototypeOf(source));
20131
+ return Object.getOwnPropertyNames(source).reduce((o, prop) => {
20132
+ const lookupKey = this.settings?.maskValuesOfKeysCaseInsensitive !== true
20133
+ ? prop
20134
+ : typeof prop === "string"
20135
+ ? prop.toLowerCase()
20136
+ : String(prop).toLowerCase();
20137
+ o[prop] = keys.includes(lookupKey)
20138
+ ? this.settings.maskPlaceholder
20139
+ : (() => {
20140
+ try {
20141
+ return this._recursiveCloneAndMaskValuesOfKeys(source[prop], keys, seen);
20142
+ }
20143
+ catch {
20144
+ return null;
20145
+ }
20146
+ })();
20147
+ return o;
20148
+ }, baseObject);
20149
+ }
20150
+ else {
20151
+ if (typeof source === "string") {
20152
+ let modifiedSource = source;
20153
+ for (const regEx of this.settings?.maskValuesRegEx || []) {
20154
+ modifiedSource = modifiedSource.replace(regEx, this.settings?.maskPlaceholder || "");
20155
+ }
20156
+ return modifiedSource;
20157
+ }
20158
+ return source;
20159
+ }
20160
+ }
20161
+ _recursiveCloneAndExecuteFunctions(source, seen = []) {
20162
+ if (this.isObjectOrArray(source) && seen.includes(source)) {
20163
+ return this.shallowCopy(source);
20164
+ }
20165
+ if (this.isObjectOrArray(source)) {
20166
+ seen.push(source);
20167
+ }
20168
+ if (Array.isArray(source)) {
20169
+ return source.map((item) => this._recursiveCloneAndExecuteFunctions(item, seen));
20170
+ }
20171
+ else if (source instanceof Date) {
20172
+ return new Date(source.getTime());
20173
+ }
20174
+ else if (this.isObject(source)) {
20175
+ return Object.getOwnPropertyNames(source).reduce((o, prop) => {
20176
+ const descriptor = Object.getOwnPropertyDescriptor(source, prop);
20177
+ if (descriptor) {
20178
+ Object.defineProperty(o, prop, descriptor);
20179
+ const value = source[prop];
20180
+ o[prop] = typeof value === "function" ? value() : this._recursiveCloneAndExecuteFunctions(value, seen);
20181
+ }
20182
+ return o;
20183
+ }, Object.create(Object.getPrototypeOf(source)));
20184
+ }
20185
+ else {
20186
+ return source;
20187
+ }
20188
+ }
20189
+ isObjectOrArray(value) {
20190
+ return typeof value === "object" && value !== null;
20191
+ }
20192
+ isObject(value) {
20193
+ return typeof value === "object" && !Array.isArray(value) && value !== null;
20194
+ }
20195
+ shallowCopy(source) {
20196
+ if (Array.isArray(source)) {
20197
+ return [...source];
20198
+ }
20199
+ else {
20200
+ return { ...source };
20201
+ }
20202
+ }
20203
+ _toLogObj(args, clonedLogObj = {}) {
20204
+ args = args?.map((arg) => (runtime.isError(arg) ? this._toErrorObject(arg) : arg));
20205
+ if (this.settings.argumentsArrayName == null) {
20206
+ if (args.length === 1 && !Array.isArray(args[0]) && runtime.isBuffer(args[0]) !== true && !(args[0] instanceof Date)) {
20207
+ clonedLogObj = typeof args[0] === "object" && args[0] != null ? { ...args[0], ...clonedLogObj } : { 0: args[0], ...clonedLogObj };
20208
+ }
20209
+ else {
20210
+ clonedLogObj = { ...clonedLogObj, ...args };
20211
+ }
20212
+ }
20213
+ else {
20214
+ clonedLogObj = {
20215
+ ...clonedLogObj,
20216
+ [this.settings.argumentsArrayName]: args,
20217
+ };
20218
+ }
20219
+ return clonedLogObj;
20220
+ }
20221
+ _cloneError(error) {
20222
+ const cloned = new error.constructor();
20223
+ Object.getOwnPropertyNames(error).forEach((key) => {
20224
+ cloned[key] = error[key];
20225
+ });
20226
+ return cloned;
20227
+ }
20228
+ _toErrorObject(error, depth = 0, seen = new Set()) {
20229
+ if (!seen.has(error)) {
20230
+ seen.add(error);
20231
+ }
20232
+ const errorObject = {
20233
+ nativeError: error,
20234
+ name: error.name ?? "Error",
20235
+ message: error.message,
20236
+ stack: runtime.getErrorTrace(error),
20237
+ };
20238
+ if (depth >= this.maxErrorCauseDepth) {
20239
+ return errorObject;
20240
+ }
20241
+ const causeValue = error.cause;
20242
+ if (causeValue != null) {
20243
+ const normalizedCause = (0, errorUtils_js_1.toError)(causeValue);
20244
+ if (!seen.has(normalizedCause)) {
20245
+ errorObject.cause = this._toErrorObject(normalizedCause, depth + 1, seen);
20246
+ }
20247
+ }
20248
+ return errorObject;
20249
+ }
20250
+ _addMetaToLogObj(logObj, logLevelId, logLevelName) {
20251
+ return {
20252
+ ...logObj,
20253
+ [this.settings.metaProperty]: runtime.getMeta(logLevelId, logLevelName, this.stackDepthLevel, !this.captureStackForMeta, this.settings.name, this.settings.parentNames),
20254
+ };
20255
+ }
20256
+ _shouldCaptureStack() {
20257
+ if (this.settings.hideLogPositionForProduction) {
20258
+ return false;
20259
+ }
20260
+ if (this.settings.type === "json") {
20261
+ return true;
20262
+ }
20263
+ const template = this.settings.prettyLogTemplate ?? "";
20264
+ const stackPlaceholders = /{{\s*(file(Name|Path|Line|PathWithLine|NameWithLine)|fullFilePath)\s*}}/;
20265
+ if (stackPlaceholders.test(template)) {
20266
+ return true;
20267
+ }
20268
+ return false;
20269
+ }
20270
+ _prettyFormatLogObjMeta(logObjMeta) {
20271
+ return (0, metaFormatting_js_1.buildPrettyMeta)(this.settings, logObjMeta).text;
20272
+ }
20273
+ }
20274
+ exports.BaseLogger = BaseLogger;
20275
+
20276
+
20277
+ /***/ }),
20278
+
20279
+ /***/ "../../node_modules/tslog/cjs/formatNumberAddZeros.js":
20280
+ /*!************************************************************!*\
20281
+ !*** ../../node_modules/tslog/cjs/formatNumberAddZeros.js ***!
20282
+ \************************************************************/
20283
+ /***/ (function(__unused_webpack_module, exports) {
20284
+
20285
+ "use strict";
20286
+
20287
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
20288
+ exports.formatNumberAddZeros = formatNumberAddZeros;
20289
+ function formatNumberAddZeros(value, digits = 2, addNumber = 0) {
20290
+ if (value != null && isNaN(value)) {
20291
+ return "";
20292
+ }
20293
+ value = value != null ? value + addNumber : value;
20294
+ return digits === 2
20295
+ ? value == null
20296
+ ? "--"
20297
+ : value < 10
20298
+ ? "0" + value
20299
+ : value.toString()
20300
+ : value == null
20301
+ ? "---"
20302
+ : value < 10
20303
+ ? "00" + value
20304
+ : value < 100
20305
+ ? "0" + value
20306
+ : value.toString();
20307
+ }
20308
+
20309
+
20310
+ /***/ }),
20311
+
20312
+ /***/ "../../node_modules/tslog/cjs/formatTemplate.js":
20313
+ /*!******************************************************!*\
20314
+ !*** ../../node_modules/tslog/cjs/formatTemplate.js ***!
20315
+ \******************************************************/
20316
+ /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
20317
+
20318
+ "use strict";
20319
+
20320
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
20321
+ exports.formatTemplate = formatTemplate;
20322
+ const prettyLogStyles_js_1 = __webpack_require__(/*! ./prettyLogStyles.js */ "../../node_modules/tslog/cjs/prettyLogStyles.js");
20323
+ function formatTemplate(settings, template, values, hideUnsetPlaceholder = false) {
20324
+ const templateString = String(template);
20325
+ const ansiColorWrap = (placeholderValue, code) => `\u001b[${code[0]}m${placeholderValue}\u001b[${code[1]}m`;
20326
+ const styleWrap = (value, style) => {
20327
+ if (style != null && typeof style === "string") {
20328
+ return ansiColorWrap(value, prettyLogStyles_js_1.prettyLogStyles[style]);
20329
+ }
20330
+ else if (style != null && Array.isArray(style)) {
20331
+ return style.reduce((prevValue, thisStyle) => styleWrap(prevValue, thisStyle), value);
20332
+ }
20333
+ else {
20334
+ if (style != null && style[value.trim()] != null) {
20335
+ return styleWrap(value, style[value.trim()]);
20336
+ }
20337
+ else if (style != null && style["*"] != null) {
20338
+ return styleWrap(value, style["*"]);
20339
+ }
20340
+ else {
20341
+ return value;
20342
+ }
20343
+ }
20344
+ };
20345
+ const defaultStyle = null;
20346
+ return templateString.replace(/{{(.+?)}}/g, (_, placeholder) => {
20347
+ const value = values[placeholder] != null ? String(values[placeholder]) : hideUnsetPlaceholder ? "" : _;
20348
+ return settings.stylePrettyLogs
20349
+ ? styleWrap(value, settings?.prettyLogStyles?.[placeholder] ?? defaultStyle) + ansiColorWrap("", prettyLogStyles_js_1.prettyLogStyles.reset)
20350
+ : value;
20351
+ });
20352
+ }
20353
+
20354
+
20355
+ /***/ }),
20356
+
20357
+ /***/ "../../node_modules/tslog/cjs/index.js":
20358
+ /*!*********************************************!*\
20359
+ !*** ../../node_modules/tslog/cjs/index.js ***!
20360
+ \*********************************************/
20361
+ /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
20362
+
20363
+ "use strict";
20364
+
20365
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
20366
+ if (k2 === undefined) k2 = k;
20367
+ var desc = Object.getOwnPropertyDescriptor(m, k);
20368
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
20369
+ desc = { enumerable: true, get: function() { return m[k]; } };
20370
+ }
20371
+ Object.defineProperty(o, k2, desc);
20372
+ }) : (function(o, m, k, k2) {
20373
+ if (k2 === undefined) k2 = k;
20374
+ o[k2] = m[k];
20375
+ }));
20376
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
20377
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
20378
+ };
20379
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
20380
+ exports.Logger = void 0;
20381
+ const BaseLogger_js_1 = __webpack_require__(/*! ./BaseLogger.js */ "../../node_modules/tslog/cjs/BaseLogger.js");
20382
+ __exportStar(__webpack_require__(/*! ./interfaces.js */ "../../node_modules/tslog/cjs/interfaces.js"), exports);
20383
+ __exportStar(__webpack_require__(/*! ./BaseLogger.js */ "../../node_modules/tslog/cjs/BaseLogger.js"), exports);
20384
+ class Logger extends BaseLogger_js_1.BaseLogger {
20385
+ constructor(settings, logObj) {
20386
+ const isBrowser = typeof window !== "undefined" && typeof document !== "undefined";
20387
+ const normalizedSettings = { ...(settings ?? {}) };
20388
+ if (isBrowser) {
20389
+ normalizedSettings.stylePrettyLogs = settings?.stylePrettyLogs ?? true;
20390
+ }
20391
+ super(normalizedSettings, logObj, Number.NaN);
20392
+ }
20393
+ log(logLevelId, logLevelName, ...args) {
20394
+ return super.log(logLevelId, logLevelName, ...args);
20395
+ }
20396
+ silly(...args) {
20397
+ return super.log(0, "SILLY", ...args);
20398
+ }
20399
+ trace(...args) {
20400
+ return super.log(1, "TRACE", ...args);
20401
+ }
20402
+ debug(...args) {
20403
+ return super.log(2, "DEBUG", ...args);
20404
+ }
20405
+ info(...args) {
20406
+ return super.log(3, "INFO", ...args);
20407
+ }
20408
+ warn(...args) {
20409
+ return super.log(4, "WARN", ...args);
20410
+ }
20411
+ error(...args) {
20412
+ return super.log(5, "ERROR", ...args);
20413
+ }
20414
+ fatal(...args) {
20415
+ return super.log(6, "FATAL", ...args);
20416
+ }
20417
+ getSubLogger(settings, logObj) {
20418
+ return super.getSubLogger(settings, logObj);
20419
+ }
20420
+ }
20421
+ exports.Logger = Logger;
20422
+
20423
+
20424
+ /***/ }),
20425
+
20426
+ /***/ "../../node_modules/tslog/cjs/interfaces.js":
20427
+ /*!**************************************************!*\
20428
+ !*** ../../node_modules/tslog/cjs/interfaces.js ***!
20429
+ \**************************************************/
20430
+ /***/ (function(__unused_webpack_module, exports) {
20431
+
20432
+ "use strict";
20433
+
20434
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
20435
+
20436
+
20437
+ /***/ }),
20438
+
20439
+ /***/ "../../node_modules/tslog/cjs/internal/environment.js":
20440
+ /*!************************************************************!*\
20441
+ !*** ../../node_modules/tslog/cjs/internal/environment.js ***!
20442
+ \************************************************************/
20443
+ /***/ (function(__unused_webpack_module, exports) {
20444
+
20445
+ "use strict";
20446
+
20447
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
20448
+ exports.safeGetCwd = safeGetCwd;
20449
+ exports.isBrowserEnvironment = isBrowserEnvironment;
20450
+ exports.consoleSupportsCssStyling = consoleSupportsCssStyling;
20451
+ function safeGetCwd() {
20452
+ try {
20453
+ const nodeProcess = globalThis?.process;
20454
+ if (typeof nodeProcess?.cwd === "function") {
20455
+ return nodeProcess.cwd();
20456
+ }
20457
+ }
20458
+ catch {
20459
+ }
20460
+ try {
20461
+ const deno = globalThis?.["Deno"];
20462
+ if (typeof deno?.cwd === "function") {
20463
+ return deno.cwd();
20464
+ }
20465
+ }
20466
+ catch {
20467
+ }
20468
+ return undefined;
20469
+ }
20470
+ function isBrowserEnvironment() {
20471
+ return typeof window !== "undefined" && typeof document !== "undefined";
20472
+ }
20473
+ function consoleSupportsCssStyling() {
20474
+ if (!isBrowserEnvironment()) {
20475
+ return false;
20476
+ }
20477
+ const navigatorObj = globalThis?.navigator;
20478
+ const userAgent = navigatorObj?.userAgent ?? "";
20479
+ if (/firefox/i.test(userAgent)) {
20480
+ return true;
20481
+ }
20482
+ const windowObj = globalThis;
20483
+ if (windowObj?.CSS?.supports?.("color", "#000")) {
20484
+ return true;
20485
+ }
20486
+ return /safari/i.test(userAgent) && !/chrome/i.test(userAgent);
20487
+ }
20488
+
20489
+
20490
+ /***/ }),
20491
+
20492
+ /***/ "../../node_modules/tslog/cjs/internal/errorUtils.js":
20493
+ /*!***********************************************************!*\
20494
+ !*** ../../node_modules/tslog/cjs/internal/errorUtils.js ***!
20495
+ \***********************************************************/
20496
+ /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
20497
+
20498
+ "use strict";
20499
+
20500
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
20501
+ exports.collectErrorCauses = collectErrorCauses;
20502
+ exports.toError = toError;
20503
+ exports.toErrorObject = toErrorObject;
20504
+ const stackTrace_js_1 = __webpack_require__(/*! ./stackTrace.js */ "../../node_modules/tslog/cjs/internal/stackTrace.js");
20505
+ const DEFAULT_CAUSE_DEPTH = 5;
20506
+ function collectErrorCauses(error, options = {}) {
20507
+ const maxDepth = options.maxDepth ?? DEFAULT_CAUSE_DEPTH;
20508
+ const causes = [];
20509
+ const visited = new Set();
20510
+ let current = error;
20511
+ let depth = 0;
20512
+ while (current != null && depth < maxDepth) {
20513
+ const cause = current?.cause;
20514
+ if (cause == null || visited.has(cause)) {
20515
+ break;
20516
+ }
20517
+ visited.add(cause);
20518
+ causes.push(toError(cause));
20519
+ current = cause;
20520
+ depth += 1;
20521
+ }
20522
+ return causes;
20523
+ }
20524
+ function toError(value) {
20525
+ if (value instanceof Error) {
20526
+ return value;
20527
+ }
20528
+ const error = new Error(typeof value === "string" ? value : JSON.stringify(value));
20529
+ if (typeof value === "object" && value != null) {
20530
+ Object.assign(error, value);
20531
+ }
20532
+ return error;
20533
+ }
20534
+ function toErrorObject(error, parseLine) {
20535
+ return {
20536
+ nativeError: error,
20537
+ name: error.name ?? "Error",
20538
+ message: error.message ?? "",
20539
+ stack: (0, stackTrace_js_1.buildStackTrace)(error, parseLine),
20540
+ };
20541
+ }
20542
+
20543
+
20544
+ /***/ }),
20545
+
20546
+ /***/ "../../node_modules/tslog/cjs/internal/jsonStringifyRecursive.js":
20547
+ /*!***********************************************************************!*\
20548
+ !*** ../../node_modules/tslog/cjs/internal/jsonStringifyRecursive.js ***!
20549
+ \***********************************************************************/
20550
+ /***/ (function(__unused_webpack_module, exports) {
20551
+
20552
+ "use strict";
20553
+
20554
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
20555
+ exports.jsonStringifyRecursive = jsonStringifyRecursive;
20556
+ function jsonStringifyRecursive(obj) {
20557
+ const cache = new Set();
20558
+ return JSON.stringify(obj, (key, value) => {
20559
+ if (typeof value === "object" && value !== null) {
20560
+ if (cache.has(value)) {
20561
+ return "[Circular]";
20562
+ }
20563
+ cache.add(value);
20564
+ }
20565
+ if (typeof value === "bigint") {
20566
+ return `${value}`;
20567
+ }
20568
+ if (typeof value === "undefined") {
20569
+ return "[undefined]";
20570
+ }
20571
+ return value;
20572
+ });
20573
+ }
20574
+
20575
+
20576
+ /***/ }),
20577
+
20578
+ /***/ "../../node_modules/tslog/cjs/internal/metaFormatting.js":
20579
+ /*!***************************************************************!*\
20580
+ !*** ../../node_modules/tslog/cjs/internal/metaFormatting.js ***!
20581
+ \***************************************************************/
20582
+ /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
20583
+
20584
+ "use strict";
19827
20585
 
19828
- var multiply = function multiply(m1, m2) {
20586
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
20587
+ exports.buildPrettyMeta = buildPrettyMeta;
20588
+ const formatTemplate_js_1 = __webpack_require__(/*! ../formatTemplate.js */ "../../node_modules/tslog/cjs/formatTemplate.js");
20589
+ const formatNumberAddZeros_js_1 = __webpack_require__(/*! ../formatNumberAddZeros.js */ "../../node_modules/tslog/cjs/formatNumberAddZeros.js");
20590
+ function buildPrettyMeta(settings, meta) {
20591
+ if (meta == null) {
20592
+ return {
20593
+ text: "",
20594
+ template: settings.prettyLogTemplate,
20595
+ placeholders: {},
20596
+ };
20597
+ }
20598
+ let template = settings.prettyLogTemplate;
20599
+ const placeholderValues = {};
20600
+ if (template.includes("{{yyyy}}.{{mm}}.{{dd}} {{hh}}:{{MM}}:{{ss}}:{{ms}}")) {
20601
+ template = template.replace("{{yyyy}}.{{mm}}.{{dd}} {{hh}}:{{MM}}:{{ss}}:{{ms}}", "{{dateIsoStr}}");
20602
+ }
20603
+ else {
20604
+ if (settings.prettyLogTimeZone === "UTC") {
20605
+ placeholderValues["yyyy"] = meta.date?.getUTCFullYear() ?? "----";
20606
+ placeholderValues["mm"] = (0, formatNumberAddZeros_js_1.formatNumberAddZeros)(meta.date?.getUTCMonth(), 2, 1);
20607
+ placeholderValues["dd"] = (0, formatNumberAddZeros_js_1.formatNumberAddZeros)(meta.date?.getUTCDate(), 2);
20608
+ placeholderValues["hh"] = (0, formatNumberAddZeros_js_1.formatNumberAddZeros)(meta.date?.getUTCHours(), 2);
20609
+ placeholderValues["MM"] = (0, formatNumberAddZeros_js_1.formatNumberAddZeros)(meta.date?.getUTCMinutes(), 2);
20610
+ placeholderValues["ss"] = (0, formatNumberAddZeros_js_1.formatNumberAddZeros)(meta.date?.getUTCSeconds(), 2);
20611
+ placeholderValues["ms"] = (0, formatNumberAddZeros_js_1.formatNumberAddZeros)(meta.date?.getUTCMilliseconds(), 3);
20612
+ }
20613
+ else {
20614
+ placeholderValues["yyyy"] = meta.date?.getFullYear() ?? "----";
20615
+ placeholderValues["mm"] = (0, formatNumberAddZeros_js_1.formatNumberAddZeros)(meta.date?.getMonth(), 2, 1);
20616
+ placeholderValues["dd"] = (0, formatNumberAddZeros_js_1.formatNumberAddZeros)(meta.date?.getDate(), 2);
20617
+ placeholderValues["hh"] = (0, formatNumberAddZeros_js_1.formatNumberAddZeros)(meta.date?.getHours(), 2);
20618
+ placeholderValues["MM"] = (0, formatNumberAddZeros_js_1.formatNumberAddZeros)(meta.date?.getMinutes(), 2);
20619
+ placeholderValues["ss"] = (0, formatNumberAddZeros_js_1.formatNumberAddZeros)(meta.date?.getSeconds(), 2);
20620
+ placeholderValues["ms"] = (0, formatNumberAddZeros_js_1.formatNumberAddZeros)(meta.date?.getMilliseconds(), 3);
20621
+ }
20622
+ }
20623
+ const dateInSettingsTimeZone = settings.prettyLogTimeZone === "UTC" ? meta.date : meta.date != null ? new Date(meta.date.getTime() - meta.date.getTimezoneOffset() * 60000) : undefined;
20624
+ placeholderValues["rawIsoStr"] = dateInSettingsTimeZone?.toISOString() ?? "";
20625
+ placeholderValues["dateIsoStr"] = dateInSettingsTimeZone?.toISOString().replace("T", " ").replace("Z", "") ?? "";
20626
+ placeholderValues["logLevelName"] = meta.logLevelName;
20627
+ placeholderValues["fileNameWithLine"] = meta.path?.fileNameWithLine ?? "";
20628
+ placeholderValues["filePathWithLine"] = meta.path?.filePathWithLine ?? "";
20629
+ placeholderValues["fullFilePath"] = meta.path?.fullFilePath ?? "";
20630
+ let parentNamesString = settings.parentNames?.join(settings.prettyErrorParentNamesSeparator);
20631
+ parentNamesString = parentNamesString != null && meta.name != null ? parentNamesString + settings.prettyErrorParentNamesSeparator : undefined;
20632
+ const combinedName = meta.name != null || parentNamesString != null ? `${parentNamesString ?? ""}${meta.name ?? ""}` : "";
20633
+ placeholderValues["name"] = combinedName;
20634
+ placeholderValues["nameWithDelimiterPrefix"] = combinedName.length > 0 ? settings.prettyErrorLoggerNameDelimiter + combinedName : "";
20635
+ placeholderValues["nameWithDelimiterSuffix"] = combinedName.length > 0 ? combinedName + settings.prettyErrorLoggerNameDelimiter : "";
20636
+ if (settings.overwrite?.addPlaceholders != null) {
20637
+ settings.overwrite.addPlaceholders(meta, placeholderValues);
20638
+ }
19829
20639
  return {
19830
- a: m1.a * m2.a + m1.c * m2.b,
19831
- c: m1.a * m2.c + m1.c * m2.d,
19832
- e: m1.a * m2.e + m1.c * m2.f + m1.e,
19833
- b: m1.b * m2.a + m1.d * m2.b,
19834
- d: m1.b * m2.c + m1.d * m2.d,
19835
- f: m1.b * m2.e + m1.d * m2.f + m1.f
20640
+ text: (0, formatTemplate_js_1.formatTemplate)(settings, template, placeholderValues),
20641
+ template,
20642
+ placeholders: placeholderValues,
19836
20643
  };
19837
- };
20644
+ }
19838
20645
 
19839
- switch (matrices.length) {
19840
- case 0:
19841
- throw new Error('no matrices provided');
19842
20646
 
19843
- case 1:
19844
- return matrices[0];
20647
+ /***/ }),
19845
20648
 
19846
- case 2:
19847
- return multiply(matrices[0], matrices[1]);
20649
+ /***/ "../../node_modules/tslog/cjs/internal/stackTrace.js":
20650
+ /*!***********************************************************!*\
20651
+ !*** ../../node_modules/tslog/cjs/internal/stackTrace.js ***!
20652
+ \***********************************************************/
20653
+ /***/ (function(__unused_webpack_module, exports) {
19848
20654
 
19849
- default:
19850
- var _matrices = matrices,
19851
- _matrices2 = _toArray(_matrices),
19852
- m1 = _matrices2[0],
19853
- m2 = _matrices2[1],
19854
- rest = _matrices2.slice(2);
20655
+ "use strict";
19855
20656
 
19856
- var m = multiply(m1, m2);
19857
- return transform.apply(undefined, [m].concat(_toConsumableArray(rest)));
19858
- }
20657
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
20658
+ exports.splitStackLines = splitStackLines;
20659
+ exports.sanitizeStackLines = sanitizeStackLines;
20660
+ exports.toStackFrames = toStackFrames;
20661
+ exports.findFirstExternalFrameIndex = findFirstExternalFrameIndex;
20662
+ exports.getFrameAt = getFrameAt;
20663
+ exports.getCleanStackLines = getCleanStackLines;
20664
+ exports.buildStackTrace = buildStackTrace;
20665
+ exports.isIgnorableFrame = isIgnorableFrame;
20666
+ exports.clampIndex = clampIndex;
20667
+ exports.pickCallerStackFrame = pickCallerStackFrame;
20668
+ exports.getDefaultIgnorePatterns = getDefaultIgnorePatterns;
20669
+ const DEFAULT_IGNORE_PATTERNS = [
20670
+ /(?:^|[\\/])node_modules[\\/].*tslog/i,
20671
+ /(?:^|[\\/])deps[\\/].*tslog/i,
20672
+ /tslog[\\/]+src[\\/]+internal[\\/]/i,
20673
+ /tslog[\\/]+src[\\/]BaseLogger/i,
20674
+ /tslog[\\/]+src[\\/]index/i,
20675
+ ];
20676
+ function splitStackLines(error) {
20677
+ const stack = typeof error?.stack === "string" ? error.stack : undefined;
20678
+ if (stack == null || stack.length === 0) {
20679
+ return [];
20680
+ }
20681
+ return stack.split("\n").map((line) => line.trimEnd());
19859
20682
  }
19860
-
19861
- /**
19862
- * Merge multiple matrices into one (alias of `transform`)
19863
- * @param matrices {...object} list of matrices
19864
- * @returns {{a: number, b: number, c: number, e: number, d: number, f: number}} Affine matrix
19865
- */
19866
- function compose() {
19867
- return transform.apply(undefined, arguments);
20683
+ function sanitizeStackLines(lines) {
20684
+ return lines.filter((line) => line.length > 0 && !/^\s*Error\b/.test(line));
20685
+ }
20686
+ function toStackFrames(lines, parseLine) {
20687
+ const frames = [];
20688
+ for (const line of lines) {
20689
+ const frame = parseLine(line);
20690
+ if (frame != null) {
20691
+ frames.push(frame);
20692
+ }
20693
+ }
20694
+ return frames;
20695
+ }
20696
+ function findFirstExternalFrameIndex(frames, ignorePatterns = DEFAULT_IGNORE_PATTERNS) {
20697
+ for (let index = 0; index < frames.length; index += 1) {
20698
+ const frame = frames[index];
20699
+ const filePathCandidate = frame.filePath ?? "";
20700
+ const fullPathCandidate = frame.fullFilePath ?? "";
20701
+ if (!ignorePatterns.some((pattern) => pattern.test(filePathCandidate) || pattern.test(fullPathCandidate))) {
20702
+ return index;
20703
+ }
20704
+ }
20705
+ return 0;
20706
+ }
20707
+ function getFrameAt(frames, index) {
20708
+ if (index < 0 || index >= frames.length) {
20709
+ return undefined;
20710
+ }
20711
+ return frames[index];
20712
+ }
20713
+ function getCleanStackLines(error) {
20714
+ return sanitizeStackLines(splitStackLines(error));
20715
+ }
20716
+ function buildStackTrace(error, parseLine) {
20717
+ return toStackFrames(getCleanStackLines(error), parseLine);
20718
+ }
20719
+ function isIgnorableFrame(frame, ignorePatterns) {
20720
+ const filePathCandidate = frame.filePath ?? "";
20721
+ const fullPathCandidate = frame.fullFilePath ?? "";
20722
+ return ignorePatterns.some((pattern) => pattern.test(filePathCandidate) || pattern.test(fullPathCandidate));
20723
+ }
20724
+ function clampIndex(index, maxExclusive) {
20725
+ if (index < 0) {
20726
+ return 0;
20727
+ }
20728
+ if (index >= maxExclusive) {
20729
+ return Math.max(0, maxExclusive - 1);
20730
+ }
20731
+ return index;
20732
+ }
20733
+ function pickCallerStackFrame(error, parseLine, options = {}) {
20734
+ const lines = getCleanStackLines(error);
20735
+ const frames = toStackFrames(lines, parseLine);
20736
+ if (frames.length === 0) {
20737
+ return undefined;
20738
+ }
20739
+ const ignorePatterns = options.ignorePatterns ?? DEFAULT_IGNORE_PATTERNS;
20740
+ const autoIndex = findFirstExternalFrameIndex(frames, ignorePatterns);
20741
+ const resolvedIndex = options.stackDepthLevel != null ? options.stackDepthLevel : autoIndex;
20742
+ return getFrameAt(frames, clampIndex(resolvedIndex, frames.length));
20743
+ }
20744
+ function getDefaultIgnorePatterns() {
20745
+ return [...DEFAULT_IGNORE_PATTERNS];
19868
20746
  }
19869
20747
 
20748
+
19870
20749
  /***/ }),
19871
20750
 
19872
- /***/ "../../node_modules/transformation-matrix/build-es/translate.js":
20751
+ /***/ "../../node_modules/tslog/cjs/internal/util.inspect.polyfill.js":
19873
20752
  /*!**********************************************************************!*\
19874
- !*** ../../node_modules/transformation-matrix/build-es/translate.js ***!
20753
+ !*** ../../node_modules/tslog/cjs/internal/util.inspect.polyfill.js ***!
19875
20754
  \**********************************************************************/
19876
- /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
20755
+ /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
19877
20756
 
19878
20757
  "use strict";
19879
- __webpack_require__.r(__webpack_exports__);
19880
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
19881
- /* harmony export */ translate: function() { return /* binding */ translate; }
19882
- /* harmony export */ });
19883
- /**
19884
- * Calculate a translate matrix
19885
- * @param tx Translation on axis x
19886
- * @param [ty = 0] Translation on axis y
19887
- * @returns {{a: number, b: number, c: number, e: number, d: number, f: number}} Affine matrix
19888
- */
19889
- function translate(tx) {
19890
- var ty = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
19891
20758
 
19892
- return {
19893
- a: 1,
19894
- c: 0,
19895
- e: tx,
19896
- b: 0,
19897
- d: 1,
19898
- f: ty
19899
- };
20759
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
20760
+ exports.inspect = inspect;
20761
+ exports.formatValue = formatValue;
20762
+ exports.formatWithOptions = formatWithOptions;
20763
+ const prettyLogStyles_js_1 = __webpack_require__(/*! ../prettyLogStyles.js */ "../../node_modules/tslog/cjs/prettyLogStyles.js");
20764
+ const jsonStringifyRecursive_js_1 = __webpack_require__(/*! ./jsonStringifyRecursive.js */ "../../node_modules/tslog/cjs/internal/jsonStringifyRecursive.js");
20765
+ function inspect(obj, opts) {
20766
+ const ctx = {
20767
+ seen: [],
20768
+ stylize: stylizeNoColor,
20769
+ };
20770
+ if (opts != null) {
20771
+ _extend(ctx, opts);
20772
+ }
20773
+ if (isUndefined(ctx.showHidden))
20774
+ ctx.showHidden = false;
20775
+ if (isUndefined(ctx.depth))
20776
+ ctx.depth = 2;
20777
+ if (isUndefined(ctx.colors))
20778
+ ctx.colors = true;
20779
+ if (isUndefined(ctx.customInspect))
20780
+ ctx.customInspect = true;
20781
+ if (ctx.colors)
20782
+ ctx.stylize = stylizeWithColor;
20783
+ return formatValue(ctx, obj, ctx.depth);
20784
+ }
20785
+ inspect.colors = prettyLogStyles_js_1.prettyLogStyles;
20786
+ inspect.styles = {
20787
+ special: "cyan",
20788
+ number: "yellow",
20789
+ boolean: "yellow",
20790
+ undefined: "grey",
20791
+ null: "bold",
20792
+ string: "green",
20793
+ date: "magenta",
20794
+ regexp: "red",
20795
+ };
20796
+ function isBoolean(arg) {
20797
+ return typeof arg === "boolean";
20798
+ }
20799
+ function isUndefined(arg) {
20800
+ return arg === undefined;
20801
+ }
20802
+ function stylizeNoColor(str) {
20803
+ return str;
20804
+ }
20805
+ function stylizeWithColor(str, styleType) {
20806
+ const style = inspect.styles[styleType];
20807
+ if (style != null && inspect?.colors?.[style]?.[0] != null && inspect?.colors?.[style]?.[1] != null) {
20808
+ return "\u001b[" + inspect.colors[style][0] + "m" + str + "\u001b[" + inspect.colors[style][1] + "m";
20809
+ }
20810
+ else {
20811
+ return str;
20812
+ }
20813
+ }
20814
+ function isFunction(arg) {
20815
+ return typeof arg === "function";
20816
+ }
20817
+ function isString(arg) {
20818
+ return typeof arg === "string";
20819
+ }
20820
+ function isNumber(arg) {
20821
+ return typeof arg === "number";
20822
+ }
20823
+ function isNull(arg) {
20824
+ return arg === null;
20825
+ }
20826
+ function hasOwn(obj, prop) {
20827
+ return Object.prototype.hasOwnProperty.call(obj, prop);
20828
+ }
20829
+ function isRegExp(re) {
20830
+ return isObject(re) && objectToString(re) === "[object RegExp]";
20831
+ }
20832
+ function isObject(arg) {
20833
+ return typeof arg === "object" && arg !== null;
20834
+ }
20835
+ function isError(e) {
20836
+ return isObject(e) && (objectToString(e) === "[object Error]" || e instanceof Error);
20837
+ }
20838
+ function isDate(d) {
20839
+ return isObject(d) && objectToString(d) === "[object Date]";
20840
+ }
20841
+ function objectToString(o) {
20842
+ return Object.prototype.toString.call(o);
20843
+ }
20844
+ function arrayToHash(array) {
20845
+ const hash = {};
20846
+ array.forEach((val) => {
20847
+ hash[val] = true;
20848
+ });
20849
+ return hash;
20850
+ }
20851
+ function formatArray(ctx, value, recurseTimes, visibleKeys, keys) {
20852
+ const output = [];
20853
+ for (let i = 0, l = value.length; i < l; ++i) {
20854
+ if (hasOwn(value, String(i))) {
20855
+ output.push(formatProperty(ctx, value, recurseTimes, visibleKeys, String(i), true));
20856
+ }
20857
+ else {
20858
+ output.push("");
20859
+ }
20860
+ }
20861
+ keys.forEach((key) => {
20862
+ if (!key.match(/^\d+$/)) {
20863
+ output.push(formatProperty(ctx, value, recurseTimes, visibleKeys, key, true));
20864
+ }
20865
+ });
20866
+ return output;
20867
+ }
20868
+ function formatError(value) {
20869
+ return "[" + Error.prototype.toString.call(value) + "]";
20870
+ }
20871
+ function formatValue(ctx, value, recurseTimes = 0) {
20872
+ if (ctx.customInspect &&
20873
+ value != null &&
20874
+ isFunction(value) &&
20875
+ value?.inspect !== inspect &&
20876
+ !(value?.constructor && value?.constructor.prototype === value)) {
20877
+ if (typeof value.inspect !== "function" && value.toString != null) {
20878
+ return value.toString();
20879
+ }
20880
+ let ret = value?.inspect(recurseTimes, ctx);
20881
+ if (!isString(ret)) {
20882
+ ret = formatValue(ctx, ret, recurseTimes);
20883
+ }
20884
+ return ret;
20885
+ }
20886
+ const primitive = formatPrimitive(ctx, value);
20887
+ if (primitive) {
20888
+ return primitive;
20889
+ }
20890
+ let keys = Object.keys(value);
20891
+ const visibleKeys = arrayToHash(keys);
20892
+ try {
20893
+ if (ctx.showHidden && Object.getOwnPropertyNames) {
20894
+ keys = Object.getOwnPropertyNames(value);
20895
+ }
20896
+ }
20897
+ catch {
20898
+ }
20899
+ if (isError(value) && (keys.indexOf("message") >= 0 || keys.indexOf("description") >= 0)) {
20900
+ return formatError(value);
20901
+ }
20902
+ if (keys.length === 0) {
20903
+ if (isFunction(ctx.stylize)) {
20904
+ if (isFunction(value)) {
20905
+ const name = value.name ? ": " + value.name : "";
20906
+ return ctx.stylize("[Function" + name + "]", "special");
20907
+ }
20908
+ if (isRegExp(value)) {
20909
+ return ctx.stylize(RegExp.prototype.toString.call(value), "regexp");
20910
+ }
20911
+ if (isDate(value)) {
20912
+ return ctx.stylize(Date.prototype.toISOString.call(value), "date");
20913
+ }
20914
+ if (isError(value)) {
20915
+ return formatError(value);
20916
+ }
20917
+ }
20918
+ else {
20919
+ return value;
20920
+ }
20921
+ }
20922
+ let base = "";
20923
+ let array = false;
20924
+ let braces = ["{\n", "\n}"];
20925
+ if (Array.isArray(value)) {
20926
+ array = true;
20927
+ braces = ["[\n", "\n]"];
20928
+ }
20929
+ if (isFunction(value)) {
20930
+ const n = value.name ? ": " + value.name : "";
20931
+ base = " [Function" + n + "]";
20932
+ }
20933
+ if (isRegExp(value)) {
20934
+ base = " " + RegExp.prototype.toString.call(value);
20935
+ }
20936
+ if (isDate(value)) {
20937
+ base = " " + Date.prototype.toUTCString.call(value);
20938
+ }
20939
+ if (isError(value)) {
20940
+ base = " " + formatError(value);
20941
+ }
20942
+ if (keys.length === 0 && (!array || value.length == 0)) {
20943
+ return braces[0] + base + braces[1];
20944
+ }
20945
+ if (recurseTimes < 0) {
20946
+ if (isRegExp(value)) {
20947
+ return ctx.stylize(RegExp.prototype.toString.call(value), "regexp");
20948
+ }
20949
+ else {
20950
+ return ctx.stylize("[Object]", "special");
20951
+ }
20952
+ }
20953
+ ctx.seen.push(value);
20954
+ let output;
20955
+ if (array) {
20956
+ output = formatArray(ctx, value, recurseTimes, visibleKeys, keys);
20957
+ }
20958
+ else {
20959
+ output = keys.map((key) => {
20960
+ return formatProperty(ctx, value, recurseTimes, visibleKeys, key, array);
20961
+ });
20962
+ }
20963
+ ctx.seen.pop();
20964
+ return reduceToSingleString(output, base, braces);
20965
+ }
20966
+ function formatProperty(ctx, value, recurseTimes, visibleKeys, key, array) {
20967
+ let name, str;
20968
+ let desc = { value: void 0 };
20969
+ try {
20970
+ desc.value = value[key];
20971
+ }
20972
+ catch {
20973
+ }
20974
+ try {
20975
+ if (Object.getOwnPropertyDescriptor) {
20976
+ desc = Object.getOwnPropertyDescriptor(value, key) || desc;
20977
+ }
20978
+ }
20979
+ catch {
20980
+ }
20981
+ if (desc.get) {
20982
+ if (desc.set) {
20983
+ str = ctx.stylize("[Getter/Setter]", "special");
20984
+ }
20985
+ else {
20986
+ str = ctx.stylize("[Getter]", "special");
20987
+ }
20988
+ }
20989
+ else {
20990
+ if (desc.set) {
20991
+ str = ctx.stylize("[Setter]", "special");
20992
+ }
20993
+ }
20994
+ if (!hasOwn(visibleKeys, key)) {
20995
+ name = "[" + key + "]";
20996
+ }
20997
+ if (!str) {
20998
+ if (ctx.seen.indexOf(desc.value) < 0) {
20999
+ if (isNull(recurseTimes)) {
21000
+ str = formatValue(ctx, desc.value, undefined);
21001
+ }
21002
+ else {
21003
+ str = formatValue(ctx, desc.value, recurseTimes - 1);
21004
+ }
21005
+ if (str.indexOf("\n") > -1) {
21006
+ if (array) {
21007
+ str = str
21008
+ .split("\n")
21009
+ .map((line) => {
21010
+ return " " + line;
21011
+ })
21012
+ .join("\n")
21013
+ .substr(2);
21014
+ }
21015
+ else {
21016
+ str =
21017
+ "\n" +
21018
+ str
21019
+ .split("\n")
21020
+ .map((line) => {
21021
+ return " " + line;
21022
+ })
21023
+ .join("\n");
21024
+ }
21025
+ }
21026
+ }
21027
+ else {
21028
+ str = ctx.stylize("[Circular]", "special");
21029
+ }
21030
+ }
21031
+ if (isUndefined(name)) {
21032
+ if (array && key.match(/^\d+$/)) {
21033
+ return str;
21034
+ }
21035
+ name = JSON.stringify("" + key);
21036
+ if (name.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)) {
21037
+ name = name.substr(1, name.length - 2);
21038
+ name = ctx.stylize(name, "name");
21039
+ }
21040
+ else {
21041
+ name = name
21042
+ .replace(/'/g, "\\'")
21043
+ .replace(/\\"/g, "\\'")
21044
+ .replace(/(^"|"$)/g, "'");
21045
+ name = ctx.stylize(name, "string");
21046
+ }
21047
+ }
21048
+ return name + ": " + str;
21049
+ }
21050
+ function formatPrimitive(ctx, value) {
21051
+ if (isUndefined(value))
21052
+ return ctx.stylize("undefined", "undefined");
21053
+ if (isString(value)) {
21054
+ const simple = "'" + JSON.stringify(value).replace(/^"|"$/g, "").replace(/'/g, "\\'").replace(/\\"/g, "\\'") + "'";
21055
+ return ctx.stylize(simple, "string");
21056
+ }
21057
+ if (isNumber(value))
21058
+ return ctx.stylize("" + value, "number");
21059
+ if (isBoolean(value))
21060
+ return ctx.stylize("" + value, "boolean");
21061
+ if (isNull(value))
21062
+ return ctx.stylize("null", "null");
21063
+ }
21064
+ function reduceToSingleString(output, base, braces) {
21065
+ return braces[0] + (base === "" ? "" : base + "\n") + " " + output.join(",\n ") + " " + braces[1];
21066
+ }
21067
+ function _extend(origin, add) {
21068
+ const typedOrigin = { ...origin };
21069
+ if (!add || !isObject(add))
21070
+ return origin;
21071
+ const clonedAdd = { ...add };
21072
+ const keys = Object.keys(add);
21073
+ let i = keys.length;
21074
+ while (i--) {
21075
+ typedOrigin[keys[i]] = clonedAdd[keys[i]];
21076
+ }
21077
+ return typedOrigin;
21078
+ }
21079
+ function formatWithOptions(inspectOptions, ...args) {
21080
+ const ctx = {
21081
+ seen: [],
21082
+ stylize: stylizeNoColor,
21083
+ };
21084
+ if (inspectOptions != null) {
21085
+ _extend(ctx, inspectOptions);
21086
+ }
21087
+ const first = args[0];
21088
+ let a = 0;
21089
+ let str = "";
21090
+ let join = "";
21091
+ if (typeof first === "string") {
21092
+ if (args.length === 1) {
21093
+ return first;
21094
+ }
21095
+ let tempStr;
21096
+ let lastPos = 0;
21097
+ for (let i = 0; i < first.length - 1; i++) {
21098
+ if (first.charCodeAt(i) === 37) {
21099
+ const nextChar = first.charCodeAt(++i);
21100
+ if (a + 1 !== args.length) {
21101
+ switch (nextChar) {
21102
+ case 115: {
21103
+ const tempArg = args[++a];
21104
+ if (typeof tempArg === "number") {
21105
+ tempStr = formatPrimitive(ctx, tempArg);
21106
+ }
21107
+ else if (typeof tempArg === "bigint") {
21108
+ tempStr = formatPrimitive(ctx, tempArg);
21109
+ }
21110
+ else if (typeof tempArg !== "object" || tempArg === null) {
21111
+ tempStr = String(tempArg);
21112
+ }
21113
+ else {
21114
+ tempStr = inspect(tempArg, {
21115
+ ...inspectOptions,
21116
+ compact: 3,
21117
+ colors: false,
21118
+ depth: 0,
21119
+ });
21120
+ }
21121
+ break;
21122
+ }
21123
+ case 106:
21124
+ tempStr = (0, jsonStringifyRecursive_js_1.jsonStringifyRecursive)(args[++a]);
21125
+ break;
21126
+ case 100: {
21127
+ const tempNum = args[++a];
21128
+ if (typeof tempNum === "bigint") {
21129
+ tempStr = formatPrimitive(ctx, tempNum);
21130
+ }
21131
+ else if (typeof tempNum === "symbol") {
21132
+ tempStr = "NaN";
21133
+ }
21134
+ else {
21135
+ tempStr = formatPrimitive(ctx, tempNum);
21136
+ }
21137
+ break;
21138
+ }
21139
+ case 79:
21140
+ tempStr = inspect(args[++a], inspectOptions);
21141
+ break;
21142
+ case 111:
21143
+ tempStr = inspect(args[++a], {
21144
+ ...inspectOptions,
21145
+ showHidden: true,
21146
+ showProxy: true,
21147
+ depth: 4,
21148
+ });
21149
+ break;
21150
+ case 105: {
21151
+ const tempInteger = args[++a];
21152
+ if (typeof tempInteger === "bigint") {
21153
+ tempStr = formatPrimitive(ctx, tempInteger);
21154
+ }
21155
+ else if (typeof tempInteger === "symbol") {
21156
+ tempStr = "NaN";
21157
+ }
21158
+ else {
21159
+ tempStr = formatPrimitive(ctx, parseInt(tempStr));
21160
+ }
21161
+ break;
21162
+ }
21163
+ case 102: {
21164
+ const tempFloat = args[++a];
21165
+ if (typeof tempFloat === "symbol") {
21166
+ tempStr = "NaN";
21167
+ }
21168
+ else {
21169
+ tempStr = formatPrimitive(ctx, parseInt(tempFloat));
21170
+ }
21171
+ break;
21172
+ }
21173
+ case 99:
21174
+ a += 1;
21175
+ tempStr = "";
21176
+ break;
21177
+ case 37:
21178
+ str += first.slice(lastPos, i);
21179
+ lastPos = i + 1;
21180
+ continue;
21181
+ default:
21182
+ continue;
21183
+ }
21184
+ if (lastPos !== i - 1) {
21185
+ str += first.slice(lastPos, i - 1);
21186
+ }
21187
+ str += tempStr;
21188
+ lastPos = i + 1;
21189
+ }
21190
+ else if (nextChar === 37) {
21191
+ str += first.slice(lastPos, i);
21192
+ lastPos = i + 1;
21193
+ }
21194
+ }
21195
+ }
21196
+ if (lastPos !== 0) {
21197
+ a++;
21198
+ join = " ";
21199
+ if (lastPos < first.length) {
21200
+ str += first.slice(lastPos);
21201
+ }
21202
+ }
21203
+ }
21204
+ while (a < args.length) {
21205
+ const value = args[a];
21206
+ str += join;
21207
+ str += typeof value !== "string" ? inspect(value, inspectOptions) : value;
21208
+ join = " ";
21209
+ a++;
21210
+ }
21211
+ return str;
19900
21212
  }
19901
21213
 
21214
+
19902
21215
  /***/ }),
19903
21216
 
19904
- /***/ "../../node_modules/transformation-matrix/build-es/utils.js":
19905
- /*!******************************************************************!*\
19906
- !*** ../../node_modules/transformation-matrix/build-es/utils.js ***!
19907
- \******************************************************************/
19908
- /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
21217
+ /***/ "../../node_modules/tslog/cjs/prettyLogStyles.js":
21218
+ /*!*******************************************************!*\
21219
+ !*** ../../node_modules/tslog/cjs/prettyLogStyles.js ***!
21220
+ \*******************************************************/
21221
+ /***/ (function(__unused_webpack_module, exports) {
19909
21222
 
19910
21223
  "use strict";
19911
- __webpack_require__.r(__webpack_exports__);
19912
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
19913
- /* harmony export */ isUndefined: function() { return /* binding */ isUndefined; }
19914
- /* harmony export */ });
19915
- function isUndefined(val) {
19916
- return typeof val === 'undefined';
21224
+
21225
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
21226
+ exports.prettyLogStyles = void 0;
21227
+ exports.prettyLogStyles = {
21228
+ reset: [0, 0],
21229
+ bold: [1, 22],
21230
+ dim: [2, 22],
21231
+ italic: [3, 23],
21232
+ underline: [4, 24],
21233
+ overline: [53, 55],
21234
+ inverse: [7, 27],
21235
+ hidden: [8, 28],
21236
+ strikethrough: [9, 29],
21237
+ black: [30, 39],
21238
+ red: [31, 39],
21239
+ green: [32, 39],
21240
+ yellow: [33, 39],
21241
+ blue: [34, 39],
21242
+ magenta: [35, 39],
21243
+ cyan: [36, 39],
21244
+ white: [37, 39],
21245
+ blackBright: [90, 39],
21246
+ redBright: [91, 39],
21247
+ greenBright: [92, 39],
21248
+ yellowBright: [93, 39],
21249
+ blueBright: [94, 39],
21250
+ magentaBright: [95, 39],
21251
+ cyanBright: [96, 39],
21252
+ whiteBright: [97, 39],
21253
+ bgBlack: [40, 49],
21254
+ bgRed: [41, 49],
21255
+ bgGreen: [42, 49],
21256
+ bgYellow: [43, 49],
21257
+ bgBlue: [44, 49],
21258
+ bgMagenta: [45, 49],
21259
+ bgCyan: [46, 49],
21260
+ bgWhite: [47, 49],
21261
+ bgBlackBright: [100, 49],
21262
+ bgRedBright: [101, 49],
21263
+ bgGreenBright: [102, 49],
21264
+ bgYellowBright: [103, 49],
21265
+ bgBlueBright: [104, 49],
21266
+ bgMagentaBright: [105, 49],
21267
+ bgCyanBright: [106, 49],
21268
+ bgWhiteBright: [107, 49],
21269
+ };
21270
+
21271
+
21272
+ /***/ }),
21273
+
21274
+ /***/ "../../node_modules/tslog/cjs/urlToObj.js":
21275
+ /*!************************************************!*\
21276
+ !*** ../../node_modules/tslog/cjs/urlToObj.js ***!
21277
+ \************************************************/
21278
+ /***/ (function(__unused_webpack_module, exports) {
21279
+
21280
+ "use strict";
21281
+
21282
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
21283
+ exports.urlToObject = urlToObject;
21284
+ function urlToObject(url) {
21285
+ return {
21286
+ href: url.href,
21287
+ protocol: url.protocol,
21288
+ username: url.username,
21289
+ password: url.password,
21290
+ host: url.host,
21291
+ hostname: url.hostname,
21292
+ port: url.port,
21293
+ pathname: url.pathname,
21294
+ search: url.search,
21295
+ searchParams: [...url.searchParams].map(([key, value]) => ({ key, value })),
21296
+ hash: url.hash,
21297
+ origin: url.origin,
21298
+ };
19917
21299
  }
19918
21300
 
21301
+
19919
21302
  /***/ }),
19920
21303
 
19921
21304
  /***/ "../../node_modules/twgl.js/dist/4.x/twgl-full.module.js":
@@ -31925,9 +33308,11 @@ module.exports = transformStrokeWidths;
31925
33308
  \***********************************************/
31926
33309
  /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
31927
33310
 
31928
- var minilog = __webpack_require__(/*! minilog */ "../../node_modules/minilog/lib/web/index.js");
31929
- minilog.enable();
31930
- module.exports = minilog('scratch-svg-render');
33311
+ var _require = __webpack_require__(/*! tslog */ "../../node_modules/tslog/cjs/index.js"),
33312
+ Logger = _require.Logger;
33313
+ module.exports = new Logger({
33314
+ name: 'scratch-svg-renderer'
33315
+ });
31931
33316
 
31932
33317
  /***/ }),
31933
33318
 
@@ -37418,9 +38803,11 @@ module.exports = {
37418
38803
  \*************************/
37419
38804
  /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
37420
38805
 
37421
- var minilog = __webpack_require__(/*! minilog */ "../../node_modules/minilog/lib/web/index.js");
37422
- minilog.enable();
37423
- module.exports = minilog('scratch-render');
38806
+ var _require = __webpack_require__(/*! tslog */ "../../node_modules/tslog/cjs/index.js"),
38807
+ Logger = _require.Logger;
38808
+ module.exports = new Logger({
38809
+ name: 'scratch-render'
38810
+ });
37424
38811
 
37425
38812
  /***/ }),
37426
38813