@punks/backend-core 0.0.31 → 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.
@@ -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";
@@ -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
@@ -16,137 +16,6 @@ var MetaSerializationType;
16
16
  MetaSerializationType[MetaSerializationType["JSON"] = 1] = "JSON";
17
17
  })(MetaSerializationType || (MetaSerializationType = {}));
18
18
 
19
- class DefaultLogger {
20
- constructor(loggerName) {
21
- this.loggerName = loggerName;
22
- }
23
- debug(message, meta) {
24
- if (meta) {
25
- console.log(`${this.loggerName ? `[${this.loggerName}] ` : ""}${message}`, meta);
26
- }
27
- else {
28
- console.log(`${this.loggerName ? `[${this.loggerName}] ` : ""}${message}`);
29
- }
30
- }
31
- info(message, meta) {
32
- if (meta) {
33
- console.info(`${this.loggerName ? `[${this.loggerName}] ` : ""}${message}`, meta);
34
- }
35
- else {
36
- console.info(`${this.loggerName ? `[${this.loggerName}] ` : ""}${message}`);
37
- }
38
- }
39
- warn(message, meta) {
40
- if (meta) {
41
- console.warn(`${this.loggerName ? `[${this.loggerName}] ` : ""}${message}`, meta);
42
- }
43
- else {
44
- console.warn(`${this.loggerName ? `[${this.loggerName}] ` : ""}${message}`);
45
- }
46
- }
47
- error(message, meta) {
48
- if (meta) {
49
- console.error(`${this.loggerName ? `[${this.loggerName}] ` : ""}${message}`, meta);
50
- }
51
- else {
52
- console.error(`${this.loggerName ? `[${this.loggerName}] ` : ""}${message}`);
53
- }
54
- }
55
- fatal(message, meta) {
56
- if (meta) {
57
- console.error(`${this.loggerName ? `[${this.loggerName}] ` : ""}${message}`, meta);
58
- }
59
- else {
60
- console.error(`${this.loggerName ? `[${this.loggerName}] ` : ""}${message}`);
61
- }
62
- }
63
- exception(message, error, meta) {
64
- if (meta) {
65
- console.error(`${this.loggerName ? `[${this.loggerName}] ` : ""}${message}`, error, meta);
66
- }
67
- else {
68
- console.error(`${this.loggerName ? `[${this.loggerName}] ` : ""}${message}`, error);
69
- }
70
- }
71
- }
72
-
73
- class InternalLogger {
74
- constructor(enabled, level, serialization, provider) {
75
- this.enabled = enabled;
76
- this.level = level;
77
- this.serialization = serialization;
78
- this.provider = provider;
79
- }
80
- debug(message, meta) {
81
- if (this.enabled && this.level === LogLevel.Debug) {
82
- this.provider.debug(message, this.serializeMeta(meta));
83
- }
84
- }
85
- info(message, meta) {
86
- if (this.enabled && this.level <= LogLevel.Info) {
87
- this.provider.info(message, this.serializeMeta(meta));
88
- }
89
- }
90
- warn(message, meta) {
91
- if (this.enabled && this.level <= LogLevel.Warn) {
92
- this.provider.warn(message, this.serializeMeta(meta));
93
- }
94
- }
95
- error(message, meta) {
96
- if (this.enabled && this.level <= LogLevel.Error) {
97
- this.provider.error(message, this.serializeMeta(meta));
98
- }
99
- }
100
- fatal(message, meta) {
101
- if (this.enabled && this.level <= LogLevel.Fatal) {
102
- this.provider.fatal(message, this.serializeMeta(meta));
103
- }
104
- }
105
- exception(message, error, meta) {
106
- if (this.enabled && this.level <= LogLevel.Error) {
107
- this.provider.exception(message, error, this.serializeMeta(meta));
108
- }
109
- }
110
- serializeMeta(meta) {
111
- switch (this.serialization) {
112
- case MetaSerializationType.JSON:
113
- return JSON.stringify(meta, null, 2);
114
- case MetaSerializationType.None:
115
- default:
116
- return meta;
117
- }
118
- }
119
- }
120
- const getLogger = ({ enabled, level, loggerName, serialization, }) => {
121
- return new InternalLogger(enabled, level, serialization, new DefaultLogger(loggerName));
122
- };
123
- class Log {
124
- static setSerializationType(type) {
125
- this.metaSerialization = type;
126
- }
127
- static setLevel(level) {
128
- this.level = level;
129
- this.enabled = true;
130
- }
131
- static enable() {
132
- this.enabled = true;
133
- }
134
- static disable() {
135
- this.enabled = false;
136
- }
137
- static getLogger(loggerName) {
138
- return getLogger({
139
- enabled: this.enabled,
140
- level: this.level,
141
- serialization: this.metaSerialization,
142
- loggerName,
143
- });
144
- }
145
- }
146
- Log.enabled = true;
147
- Log.level = LogLevel.Debug;
148
- Log.metaSerialization = MetaSerializationType.None;
149
-
150
19
  const range = (start, end) => {
151
20
  return new Array(end - start + 1).fill(undefined).map((x, i) => i + start);
152
21
  };
@@ -241,6 +110,9 @@ const groupBy = (values, keySelector) => {
241
110
  });
242
111
  return map;
243
112
  };
113
+ const subArrays = (array1, array2, eqFn) => {
114
+ return array1.filter((a1) => !array2.some((a2) => eqFn(a1, a2)));
115
+ };
244
116
 
245
117
  const DEFAULT_DELIMITER = ";";
246
118
  const splitRows = (data) => {
@@ -28436,5 +28308,152 @@ const excelParse = (file, options) => {
28436
28308
  .map((x) => aggregateRow(header, x, options));
28437
28309
  };
28438
28310
 
28439
- 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, 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 };
28440
28459
  //# sourceMappingURL=index.js.map