@punks/backend-core 0.0.30 → 0.0.32

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.
@@ -5,6 +5,10 @@ export declare enum LogLevel {
5
5
  Error = 3,
6
6
  Fatal = 4
7
7
  }
8
+ export declare enum MetaSerializationType {
9
+ None = 0,
10
+ JSON = 1
11
+ }
8
12
  export interface ILoggerProvider {
9
13
  debug(message: string, meta?: any): void;
10
14
  info(message: string, meta?: any): void;
@@ -0,0 +1,10 @@
1
+ export declare const processArrayDifferences: <TItem, TInputItem, TId>({ elements, elementIdSelector, desiredItems, desiredItemSelector, }: {
2
+ elements: TItem[];
3
+ elementIdSelector: (item: TItem) => TId;
4
+ desiredItems: TInputItem[];
5
+ desiredItemSelector: (item: TInputItem) => TId;
6
+ }) => {
7
+ missingElements: TInputItem[];
8
+ exceedingElements: TItem[];
9
+ unchangedElements: TItem[];
10
+ };
@@ -0,0 +1 @@
1
+ export { processArrayDifferences } from "./arrays";
@@ -1,4 +1,5 @@
1
1
  export * from "./abstractions";
2
+ export * from "./functions";
2
3
  export * from "./logging";
3
4
  export * from "./models";
4
5
  export * from "./types";
@@ -1,7 +1,9 @@
1
- import { ILogger, LogLevel } from "../abstractions";
1
+ import { ILogger, LogLevel, MetaSerializationType } from "../abstractions";
2
2
  export declare class Log {
3
3
  private static enabled;
4
4
  private static level;
5
+ private static metaSerialization;
6
+ static setSerializationType(type: MetaSerializationType): void;
5
7
  static setLevel(level: LogLevel): void;
6
8
  static enable(): void;
7
9
  static disable(): void;
@@ -22,4 +22,5 @@ export declare const distinctElements: <T>(values: T[], comparer: (value: T) =>
22
22
  export declare const jsonDistinct: <T>(values: T[]) => T[];
23
23
  export declare const iterate: <T>(values: T[], action: (item: T, next?: T | undefined, prev?: T | undefined) => void) => void;
24
24
  export declare const groupBy: <TKey, TValue>(values: TValue[], keySelector: (value: TValue) => TKey) => Map<TKey, TValue[]>;
25
+ export declare const subArrays: <T>(array1: T[], array2: T[], eqFn: (a: T, b: T) => boolean) => T[];
25
26
  export {};
package/dist/esm/index.js CHANGED
@@ -10,122 +10,11 @@ var LogLevel;
10
10
  LogLevel[LogLevel["Error"] = 3] = "Error";
11
11
  LogLevel[LogLevel["Fatal"] = 4] = "Fatal";
12
12
  })(LogLevel || (LogLevel = {}));
13
-
14
- class DefaultLogger {
15
- constructor(loggerName) {
16
- this.loggerName = loggerName;
17
- }
18
- debug(message, meta) {
19
- if (meta) {
20
- console.log(`${this.loggerName ? `[${this.loggerName}] ` : ""}${message}`, meta);
21
- }
22
- else {
23
- console.log(`${this.loggerName ? `[${this.loggerName}] ` : ""}${message}`);
24
- }
25
- }
26
- info(message, meta) {
27
- if (meta) {
28
- console.info(`${this.loggerName ? `[${this.loggerName}] ` : ""}${message}`, meta);
29
- }
30
- else {
31
- console.info(`${this.loggerName ? `[${this.loggerName}] ` : ""}${message}`);
32
- }
33
- }
34
- warn(message, meta) {
35
- if (meta) {
36
- console.warn(`${this.loggerName ? `[${this.loggerName}] ` : ""}${message}`, meta);
37
- }
38
- else {
39
- console.warn(`${this.loggerName ? `[${this.loggerName}] ` : ""}${message}`);
40
- }
41
- }
42
- error(message, meta) {
43
- if (meta) {
44
- console.error(`${this.loggerName ? `[${this.loggerName}] ` : ""}${message}`, meta);
45
- }
46
- else {
47
- console.error(`${this.loggerName ? `[${this.loggerName}] ` : ""}${message}`);
48
- }
49
- }
50
- fatal(message, meta) {
51
- if (meta) {
52
- console.error(`${this.loggerName ? `[${this.loggerName}] ` : ""}${message}`, meta);
53
- }
54
- else {
55
- console.error(`${this.loggerName ? `[${this.loggerName}] ` : ""}${message}`);
56
- }
57
- }
58
- exception(message, error, meta) {
59
- if (meta) {
60
- console.error(`${this.loggerName ? `[${this.loggerName}] ` : ""}${message}`, error, meta);
61
- }
62
- else {
63
- console.error(`${this.loggerName ? `[${this.loggerName}] ` : ""}${message}`, error);
64
- }
65
- }
66
- }
67
-
68
- class InternalLogger {
69
- constructor(enabled, level, provider) {
70
- this.enabled = enabled;
71
- this.level = level;
72
- this.provider = provider;
73
- }
74
- debug(message, meta) {
75
- if (this.enabled && this.level === LogLevel.Debug) {
76
- this.provider.debug(message, meta);
77
- }
78
- }
79
- info(message, meta) {
80
- if (this.enabled && this.level <= LogLevel.Info) {
81
- this.provider.info(message, meta);
82
- }
83
- }
84
- warn(message, meta) {
85
- if (this.enabled && this.level <= LogLevel.Warn) {
86
- this.provider.warn(message, meta);
87
- }
88
- }
89
- error(message, meta) {
90
- if (this.enabled && this.level <= LogLevel.Error) {
91
- this.provider.error(message, meta);
92
- }
93
- }
94
- fatal(message, meta) {
95
- if (this.enabled && this.level <= LogLevel.Fatal) {
96
- this.provider.fatal(message, meta);
97
- }
98
- }
99
- exception(message, error, meta) {
100
- if (this.enabled && this.level <= LogLevel.Error) {
101
- this.provider.exception(message, error, meta);
102
- }
103
- }
104
- }
105
- const getLogger = ({ enabled, level, loggerName, }) => {
106
- return new InternalLogger(enabled, level, new DefaultLogger(loggerName));
107
- };
108
- class Log {
109
- static setLevel(level) {
110
- this.level = level;
111
- this.enabled = true;
112
- }
113
- static enable() {
114
- this.enabled = true;
115
- }
116
- static disable() {
117
- this.enabled = false;
118
- }
119
- static getLogger(loggerName) {
120
- return getLogger({
121
- enabled: this.enabled,
122
- level: this.level,
123
- loggerName,
124
- });
125
- }
126
- }
127
- Log.enabled = true;
128
- Log.level = LogLevel.Debug;
13
+ var MetaSerializationType;
14
+ (function (MetaSerializationType) {
15
+ MetaSerializationType[MetaSerializationType["None"] = 0] = "None";
16
+ MetaSerializationType[MetaSerializationType["JSON"] = 1] = "JSON";
17
+ })(MetaSerializationType || (MetaSerializationType = {}));
129
18
 
130
19
  const range = (start, end) => {
131
20
  return new Array(end - start + 1).fill(undefined).map((x, i) => i + start);
@@ -221,6 +110,9 @@ const groupBy = (values, keySelector) => {
221
110
  });
222
111
  return map;
223
112
  };
113
+ const subArrays = (array1, array2, eqFn) => {
114
+ return array1.filter((a1) => !array2.some((a2) => eqFn(a1, a2)));
115
+ };
224
116
 
225
117
  const DEFAULT_DELIMITER = ";";
226
118
  const splitRows = (data) => {
@@ -28416,5 +28308,152 @@ const excelParse = (file, options) => {
28416
28308
  .map((x) => aggregateRow(header, x, options));
28417
28309
  };
28418
28310
 
28419
- export { ExcelKeyTransform, Log, LogLevel, buildObject, buildTree, byField, byFieldDesc, camelToKebabCase, camelToSnakeCase, csvBuild, csvParse, distinct, distinctElements, ensureDirectory, ensureStartSlash, ensureTailingSlash, excelBuild, excelParse, first, flatten, getDirectoryFilePaths, getDirectoryPath, groupBy, indexes, isNullOrUndefined, iterate, joinPath, jsonDistinct, last, mapOrThrow, newUuid, notNull, notUndefined, pluralize, range, removeUndefinedProps, selectMany, sleep, sort, splitPath, toCamelCase, toDict, toItemsDict, toItemsMap, toMap, toTitleCase, trim$1 as trim, trimEnd, trimStart };
28311
+ const processArrayDifferences = ({ elements, elementIdSelector, desiredItems, desiredItemSelector, }) => {
28312
+ const currentElementsIds = elements.map(elementIdSelector);
28313
+ const desiredItemsIds = desiredItems.map(desiredItemSelector);
28314
+ const missingElementIds = subArrays(desiredItemsIds, currentElementsIds, (a, b) => a === b);
28315
+ const missingElements = desiredItems.filter((x) => missingElementIds.includes(desiredItemSelector(x)));
28316
+ const exceedingElementIds = subArrays(currentElementsIds, desiredItemsIds, (a, b) => a === b);
28317
+ const exceedingElements = elements.filter((x) => exceedingElementIds.includes(elementIdSelector(x)));
28318
+ const unchangedElementIds = subArrays(currentElementsIds, exceedingElementIds, (a, b) => a === b);
28319
+ const unchangedElements = elements.filter((x) => unchangedElementIds.includes(elementIdSelector(x)));
28320
+ return {
28321
+ missingElements,
28322
+ exceedingElements,
28323
+ unchangedElements,
28324
+ };
28325
+ };
28326
+
28327
+ class DefaultLogger {
28328
+ constructor(loggerName) {
28329
+ this.loggerName = loggerName;
28330
+ }
28331
+ debug(message, meta) {
28332
+ if (meta) {
28333
+ console.log(`${this.loggerName ? `[${this.loggerName}] ` : ""}${message}`, meta);
28334
+ }
28335
+ else {
28336
+ console.log(`${this.loggerName ? `[${this.loggerName}] ` : ""}${message}`);
28337
+ }
28338
+ }
28339
+ info(message, meta) {
28340
+ if (meta) {
28341
+ console.info(`${this.loggerName ? `[${this.loggerName}] ` : ""}${message}`, meta);
28342
+ }
28343
+ else {
28344
+ console.info(`${this.loggerName ? `[${this.loggerName}] ` : ""}${message}`);
28345
+ }
28346
+ }
28347
+ warn(message, meta) {
28348
+ if (meta) {
28349
+ console.warn(`${this.loggerName ? `[${this.loggerName}] ` : ""}${message}`, meta);
28350
+ }
28351
+ else {
28352
+ console.warn(`${this.loggerName ? `[${this.loggerName}] ` : ""}${message}`);
28353
+ }
28354
+ }
28355
+ error(message, meta) {
28356
+ if (meta) {
28357
+ console.error(`${this.loggerName ? `[${this.loggerName}] ` : ""}${message}`, meta);
28358
+ }
28359
+ else {
28360
+ console.error(`${this.loggerName ? `[${this.loggerName}] ` : ""}${message}`);
28361
+ }
28362
+ }
28363
+ fatal(message, meta) {
28364
+ if (meta) {
28365
+ console.error(`${this.loggerName ? `[${this.loggerName}] ` : ""}${message}`, meta);
28366
+ }
28367
+ else {
28368
+ console.error(`${this.loggerName ? `[${this.loggerName}] ` : ""}${message}`);
28369
+ }
28370
+ }
28371
+ exception(message, error, meta) {
28372
+ if (meta) {
28373
+ console.error(`${this.loggerName ? `[${this.loggerName}] ` : ""}${message}`, error, meta);
28374
+ }
28375
+ else {
28376
+ console.error(`${this.loggerName ? `[${this.loggerName}] ` : ""}${message}`, error);
28377
+ }
28378
+ }
28379
+ }
28380
+
28381
+ class InternalLogger {
28382
+ constructor(enabled, level, serialization, provider) {
28383
+ this.enabled = enabled;
28384
+ this.level = level;
28385
+ this.serialization = serialization;
28386
+ this.provider = provider;
28387
+ }
28388
+ debug(message, meta) {
28389
+ if (this.enabled && this.level === LogLevel.Debug) {
28390
+ this.provider.debug(message, this.serializeMeta(meta));
28391
+ }
28392
+ }
28393
+ info(message, meta) {
28394
+ if (this.enabled && this.level <= LogLevel.Info) {
28395
+ this.provider.info(message, this.serializeMeta(meta));
28396
+ }
28397
+ }
28398
+ warn(message, meta) {
28399
+ if (this.enabled && this.level <= LogLevel.Warn) {
28400
+ this.provider.warn(message, this.serializeMeta(meta));
28401
+ }
28402
+ }
28403
+ error(message, meta) {
28404
+ if (this.enabled && this.level <= LogLevel.Error) {
28405
+ this.provider.error(message, this.serializeMeta(meta));
28406
+ }
28407
+ }
28408
+ fatal(message, meta) {
28409
+ if (this.enabled && this.level <= LogLevel.Fatal) {
28410
+ this.provider.fatal(message, this.serializeMeta(meta));
28411
+ }
28412
+ }
28413
+ exception(message, error, meta) {
28414
+ if (this.enabled && this.level <= LogLevel.Error) {
28415
+ this.provider.exception(message, error, this.serializeMeta(meta));
28416
+ }
28417
+ }
28418
+ serializeMeta(meta) {
28419
+ switch (this.serialization) {
28420
+ case MetaSerializationType.JSON:
28421
+ return JSON.stringify(meta, null, 2);
28422
+ case MetaSerializationType.None:
28423
+ default:
28424
+ return meta;
28425
+ }
28426
+ }
28427
+ }
28428
+ const getLogger = ({ enabled, level, loggerName, serialization, }) => {
28429
+ return new InternalLogger(enabled, level, serialization, new DefaultLogger(loggerName));
28430
+ };
28431
+ class Log {
28432
+ static setSerializationType(type) {
28433
+ this.metaSerialization = type;
28434
+ }
28435
+ static setLevel(level) {
28436
+ this.level = level;
28437
+ this.enabled = true;
28438
+ }
28439
+ static enable() {
28440
+ this.enabled = true;
28441
+ }
28442
+ static disable() {
28443
+ this.enabled = false;
28444
+ }
28445
+ static getLogger(loggerName) {
28446
+ return getLogger({
28447
+ enabled: this.enabled,
28448
+ level: this.level,
28449
+ serialization: this.metaSerialization,
28450
+ loggerName,
28451
+ });
28452
+ }
28453
+ }
28454
+ Log.enabled = true;
28455
+ Log.level = LogLevel.Debug;
28456
+ Log.metaSerialization = MetaSerializationType.None;
28457
+
28458
+ export { ExcelKeyTransform, Log, LogLevel, MetaSerializationType, buildObject, buildTree, byField, byFieldDesc, camelToKebabCase, camelToSnakeCase, csvBuild, csvParse, distinct, distinctElements, ensureDirectory, ensureStartSlash, ensureTailingSlash, excelBuild, excelParse, first, flatten, getDirectoryFilePaths, getDirectoryPath, groupBy, indexes, isNullOrUndefined, iterate, joinPath, jsonDistinct, last, mapOrThrow, newUuid, notNull, notUndefined, pluralize, processArrayDifferences, range, removeUndefinedProps, selectMany, sleep, sort, splitPath, subArrays, toCamelCase, toDict, toItemsDict, toItemsMap, toMap, toTitleCase, trim$1 as trim, trimEnd, trimStart };
28420
28459
  //# sourceMappingURL=index.js.map