@punks/backend-core 0.0.38 → 0.0.40

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/cjs/index.js CHANGED
@@ -25,6 +25,143 @@ exports.MetaSerializationType = void 0;
25
25
  MetaSerializationType[MetaSerializationType["JSON"] = 1] = "JSON";
26
26
  })(exports.MetaSerializationType || (exports.MetaSerializationType = {}));
27
27
 
28
+ class DefaultLogger {
29
+ constructor(loggerName) {
30
+ this.loggerName = loggerName;
31
+ }
32
+ debug(message, meta) {
33
+ if (meta) {
34
+ console.log(`${this.loggerName ? `[${this.loggerName}] ` : ""}${message}`, meta);
35
+ }
36
+ else {
37
+ console.log(`${this.loggerName ? `[${this.loggerName}] ` : ""}${message}`);
38
+ }
39
+ }
40
+ info(message, meta) {
41
+ if (meta) {
42
+ console.info(`${this.loggerName ? `[${this.loggerName}] ` : ""}${message}`, meta);
43
+ }
44
+ else {
45
+ console.info(`${this.loggerName ? `[${this.loggerName}] ` : ""}${message}`);
46
+ }
47
+ }
48
+ warn(message, meta) {
49
+ if (meta) {
50
+ console.warn(`${this.loggerName ? `[${this.loggerName}] ` : ""}${message}`, meta);
51
+ }
52
+ else {
53
+ console.warn(`${this.loggerName ? `[${this.loggerName}] ` : ""}${message}`);
54
+ }
55
+ }
56
+ error(message, meta) {
57
+ if (meta) {
58
+ console.error(`${this.loggerName ? `[${this.loggerName}] ` : ""}${message}`, meta);
59
+ }
60
+ else {
61
+ console.error(`${this.loggerName ? `[${this.loggerName}] ` : ""}${message}`);
62
+ }
63
+ }
64
+ fatal(message, meta) {
65
+ if (meta) {
66
+ console.error(`${this.loggerName ? `[${this.loggerName}] ` : ""}${message}`, meta);
67
+ }
68
+ else {
69
+ console.error(`${this.loggerName ? `[${this.loggerName}] ` : ""}${message}`);
70
+ }
71
+ }
72
+ exception(message, error, meta) {
73
+ if (meta) {
74
+ console.error(`${this.loggerName ? `[${this.loggerName}] ` : ""}${message}`, error, meta);
75
+ }
76
+ else {
77
+ console.error(`${this.loggerName ? `[${this.loggerName}] ` : ""}${message}`, error);
78
+ }
79
+ }
80
+ }
81
+
82
+ class InternalLogger {
83
+ constructor(options, provider) {
84
+ this.options = options;
85
+ this.provider = provider;
86
+ }
87
+ debug(message, meta) {
88
+ if (this.options.enabled && this.options.level === exports.LogLevel.Debug) {
89
+ this.provider.debug(message, this.serializeMeta(meta));
90
+ }
91
+ }
92
+ info(message, meta) {
93
+ if (this.options.enabled && this.options.level <= exports.LogLevel.Info) {
94
+ this.provider.info(message, this.serializeMeta(meta));
95
+ }
96
+ }
97
+ warn(message, meta) {
98
+ if (this.options.enabled && this.options.level <= exports.LogLevel.Warn) {
99
+ this.provider.warn(message, this.serializeMeta(meta));
100
+ }
101
+ }
102
+ error(message, meta) {
103
+ if (this.options.enabled && this.options.level <= exports.LogLevel.Error) {
104
+ this.provider.error(message, this.serializeMeta(meta));
105
+ }
106
+ }
107
+ fatal(message, meta) {
108
+ if (this.options.enabled && this.options.level <= exports.LogLevel.Fatal) {
109
+ this.provider.fatal(message, this.serializeMeta(meta));
110
+ }
111
+ }
112
+ exception(message, error, meta) {
113
+ if (this.options.enabled && this.options.level <= exports.LogLevel.Error) {
114
+ this.provider.exception(message, error, this.serializeMeta(meta));
115
+ }
116
+ }
117
+ serializeMeta(meta) {
118
+ switch (this.options.serialization) {
119
+ case exports.MetaSerializationType.JSON:
120
+ return JSON.stringify(meta, null, 2);
121
+ case exports.MetaSerializationType.None:
122
+ default:
123
+ return meta;
124
+ }
125
+ }
126
+ }
127
+ const getLogger = ({ options, loggerName, }) => {
128
+ return new InternalLogger(options, new DefaultLogger(loggerName));
129
+ };
130
+ class Log {
131
+ static setSerializationType(type) {
132
+ this.options.serialization = type;
133
+ }
134
+ static setLevel(level) {
135
+ this.options.level = level;
136
+ this.options.level = level;
137
+ this.options.enabled = true;
138
+ }
139
+ static enable() {
140
+ this.options.enabled = true;
141
+ }
142
+ static disable() {
143
+ this.options.enabled = false;
144
+ }
145
+ static getLogger(loggerName) {
146
+ return getLogger({
147
+ options: this.options,
148
+ loggerName,
149
+ });
150
+ }
151
+ }
152
+ Log.options = {
153
+ enabled: true,
154
+ level: exports.LogLevel.Debug,
155
+ serialization: exports.MetaSerializationType.None,
156
+ };
157
+
158
+ const logMemoryUsage = () => {
159
+ const usedMemory = process.memoryUsage();
160
+ Log.getLogger("Diagnostics").debug(`Memory usage: \n${Object.keys(usedMemory)
161
+ .map((x) => `${x} ${Math.round((usedMemory[x] / 1024 / 1024) * 100) / 100} MB`)
162
+ .join("\n")}`);
163
+ };
164
+
28
165
  const range = (start, end) => {
29
166
  return new Array(end - start + 1).fill(undefined).map((x, i) => i + start);
30
167
  };
@@ -28374,145 +28511,18 @@ const processArrayDifferences = ({ elements, elementIdSelector, desiredItems, de
28374
28511
  const missingElements = desiredItems.filter((x) => missingElementIds.includes(desiredItemSelector(x)));
28375
28512
  const exceedingElementIds = subArrays(currentElementsIds, desiredItemsIds, (a, b) => a === b);
28376
28513
  const exceedingElements = elements.filter((x) => exceedingElementIds.includes(elementIdSelector(x)));
28377
- const unchangedElementIds = subArrays(currentElementsIds, exceedingElementIds, (a, b) => a === b);
28378
- const unchangedElements = elements.filter((x) => unchangedElementIds.includes(elementIdSelector(x)));
28514
+ const correspondingElementIds = subArrays(currentElementsIds, exceedingElementIds, (a, b) => a === b);
28515
+ const correspondingElements = correspondingElementIds.map((id) => ({
28516
+ current: elements.find((x) => elementIdSelector(x) === id),
28517
+ desired: desiredItems.find((x) => desiredItemSelector(x) === id),
28518
+ }));
28379
28519
  return {
28380
28520
  missingElements,
28381
28521
  exceedingElements,
28382
- unchangedElements,
28522
+ correspondingElements,
28383
28523
  };
28384
28524
  };
28385
28525
 
28386
- class DefaultLogger {
28387
- constructor(loggerName) {
28388
- this.loggerName = loggerName;
28389
- }
28390
- debug(message, meta) {
28391
- if (meta) {
28392
- console.log(`${this.loggerName ? `[${this.loggerName}] ` : ""}${message}`, meta);
28393
- }
28394
- else {
28395
- console.log(`${this.loggerName ? `[${this.loggerName}] ` : ""}${message}`);
28396
- }
28397
- }
28398
- info(message, meta) {
28399
- if (meta) {
28400
- console.info(`${this.loggerName ? `[${this.loggerName}] ` : ""}${message}`, meta);
28401
- }
28402
- else {
28403
- console.info(`${this.loggerName ? `[${this.loggerName}] ` : ""}${message}`);
28404
- }
28405
- }
28406
- warn(message, meta) {
28407
- if (meta) {
28408
- console.warn(`${this.loggerName ? `[${this.loggerName}] ` : ""}${message}`, meta);
28409
- }
28410
- else {
28411
- console.warn(`${this.loggerName ? `[${this.loggerName}] ` : ""}${message}`);
28412
- }
28413
- }
28414
- error(message, meta) {
28415
- if (meta) {
28416
- console.error(`${this.loggerName ? `[${this.loggerName}] ` : ""}${message}`, meta);
28417
- }
28418
- else {
28419
- console.error(`${this.loggerName ? `[${this.loggerName}] ` : ""}${message}`);
28420
- }
28421
- }
28422
- fatal(message, meta) {
28423
- if (meta) {
28424
- console.error(`${this.loggerName ? `[${this.loggerName}] ` : ""}${message}`, meta);
28425
- }
28426
- else {
28427
- console.error(`${this.loggerName ? `[${this.loggerName}] ` : ""}${message}`);
28428
- }
28429
- }
28430
- exception(message, error, meta) {
28431
- if (meta) {
28432
- console.error(`${this.loggerName ? `[${this.loggerName}] ` : ""}${message}`, error, meta);
28433
- }
28434
- else {
28435
- console.error(`${this.loggerName ? `[${this.loggerName}] ` : ""}${message}`, error);
28436
- }
28437
- }
28438
- }
28439
-
28440
- class InternalLogger {
28441
- constructor(options, provider) {
28442
- this.options = options;
28443
- this.provider = provider;
28444
- }
28445
- debug(message, meta) {
28446
- if (this.options.enabled && this.options.level === exports.LogLevel.Debug) {
28447
- this.provider.debug(message, this.serializeMeta(meta));
28448
- }
28449
- }
28450
- info(message, meta) {
28451
- if (this.options.enabled && this.options.level <= exports.LogLevel.Info) {
28452
- this.provider.info(message, this.serializeMeta(meta));
28453
- }
28454
- }
28455
- warn(message, meta) {
28456
- if (this.options.enabled && this.options.level <= exports.LogLevel.Warn) {
28457
- this.provider.warn(message, this.serializeMeta(meta));
28458
- }
28459
- }
28460
- error(message, meta) {
28461
- if (this.options.enabled && this.options.level <= exports.LogLevel.Error) {
28462
- this.provider.error(message, this.serializeMeta(meta));
28463
- }
28464
- }
28465
- fatal(message, meta) {
28466
- if (this.options.enabled && this.options.level <= exports.LogLevel.Fatal) {
28467
- this.provider.fatal(message, this.serializeMeta(meta));
28468
- }
28469
- }
28470
- exception(message, error, meta) {
28471
- if (this.options.enabled && this.options.level <= exports.LogLevel.Error) {
28472
- this.provider.exception(message, error, this.serializeMeta(meta));
28473
- }
28474
- }
28475
- serializeMeta(meta) {
28476
- switch (this.options.serialization) {
28477
- case exports.MetaSerializationType.JSON:
28478
- return JSON.stringify(meta, null, 2);
28479
- case exports.MetaSerializationType.None:
28480
- default:
28481
- return meta;
28482
- }
28483
- }
28484
- }
28485
- const getLogger = ({ options, loggerName, }) => {
28486
- return new InternalLogger(options, new DefaultLogger(loggerName));
28487
- };
28488
- class Log {
28489
- static setSerializationType(type) {
28490
- this.options.serialization = type;
28491
- }
28492
- static setLevel(level) {
28493
- this.options.level = level;
28494
- this.options.level = level;
28495
- this.options.enabled = true;
28496
- }
28497
- static enable() {
28498
- this.options.enabled = true;
28499
- }
28500
- static disable() {
28501
- this.options.enabled = false;
28502
- }
28503
- static getLogger(loggerName) {
28504
- return getLogger({
28505
- options: this.options,
28506
- loggerName,
28507
- });
28508
- }
28509
- }
28510
- Log.options = {
28511
- enabled: true,
28512
- level: exports.LogLevel.Debug,
28513
- serialization: exports.MetaSerializationType.None,
28514
- };
28515
-
28516
28526
  exports.Log = Log;
28517
28527
  exports.addTime = addTime;
28518
28528
  exports.buildObject = buildObject;
@@ -28541,6 +28551,7 @@ exports.iterate = iterate;
28541
28551
  exports.joinPath = joinPath;
28542
28552
  exports.jsonDistinct = jsonDistinct;
28543
28553
  exports.last = last;
28554
+ exports.logMemoryUsage = logMemoryUsage;
28544
28555
  exports.mapOrThrow = mapOrThrow;
28545
28556
  exports.mergeDeep = mergeDeep;
28546
28557
  exports.newUuid = newUuid;