@punks/backend-core 0.0.62 → 0.0.65
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 +110 -2
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/types/logging/concrete/fileLogger.d.ts +20 -0
- package/dist/cjs/types/logging/concrete/index.d.ts +1 -0
- package/dist/cjs/types/utils/index.d.ts +1 -0
- package/dist/cjs/types/utils/urls.d.ts +13 -0
- package/dist/esm/index.js +105 -3
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/types/logging/concrete/fileLogger.d.ts +20 -0
- package/dist/esm/types/logging/concrete/index.d.ts +1 -0
- package/dist/esm/types/utils/index.d.ts +1 -0
- package/dist/esm/types/utils/urls.d.ts +13 -0
- package/dist/index.d.ts +34 -1
- package/package.json +1 -1
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { ILoggerProvider } from "../../abstractions";
|
|
2
|
+
import { AppServiceReference } from "../types";
|
|
3
|
+
export type FileLoggerSettings = {
|
|
4
|
+
folder?: string;
|
|
5
|
+
};
|
|
6
|
+
export type FileLoggingSettings = {
|
|
7
|
+
service: AppServiceReference;
|
|
8
|
+
files?: FileLoggerSettings;
|
|
9
|
+
};
|
|
10
|
+
export declare class FileLogger implements ILoggerProvider {
|
|
11
|
+
private readonly settings;
|
|
12
|
+
private readonly logger;
|
|
13
|
+
constructor(settings: FileLoggingSettings);
|
|
14
|
+
debug(loggerName: string, message: string, meta?: any): void;
|
|
15
|
+
info(loggerName: string, message: string, meta?: any): void;
|
|
16
|
+
warn(loggerName: string, message: string, meta?: any): void;
|
|
17
|
+
error(loggerName: string, message: string, meta?: any): void;
|
|
18
|
+
fatal(loggerName: string, message: string, meta?: any): void;
|
|
19
|
+
exception(loggerName: string, message: string, error: Error, meta?: any): void;
|
|
20
|
+
}
|
|
@@ -10,4 +10,5 @@ export * from "./threading";
|
|
|
10
10
|
export { buildTree, TreeNodeBuilder } from "./trees";
|
|
11
11
|
export * from "./mappings";
|
|
12
12
|
export * from "./uid";
|
|
13
|
+
export { serializeQueryString, buildUrl, deserializeQueryString, getQueryParameter, updateQueryParameters, } from "./urls";
|
|
13
14
|
export { ExcelSheetDefinition, ExcelKeyTransform, ExcelColumnDefinition as ExcelRowBuilder, ExcelParseOptions, excelBuild, excelParse, } from "./xls";
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export declare function serializeQueryString(obj: {
|
|
2
|
+
[key: string]: any;
|
|
3
|
+
}): string;
|
|
4
|
+
export declare const buildUrl: (path: string, query: {
|
|
5
|
+
[key: string]: any;
|
|
6
|
+
}) => string;
|
|
7
|
+
export declare function deserializeQueryString(queryString: string): {
|
|
8
|
+
[key: string]: any;
|
|
9
|
+
};
|
|
10
|
+
export declare const getQueryParameter: (name: string, location?: Location) => any;
|
|
11
|
+
export declare const updateQueryParameters: (queryString: string, params: {
|
|
12
|
+
[key: string]: any;
|
|
13
|
+
}) => string;
|
package/dist/esm/index.js
CHANGED
|
@@ -405,6 +405,55 @@ const newUuid = () => {
|
|
|
405
405
|
});
|
|
406
406
|
};
|
|
407
407
|
|
|
408
|
+
function serializeQueryString(obj) {
|
|
409
|
+
let queryString = "";
|
|
410
|
+
for (let key in obj) {
|
|
411
|
+
if (obj.hasOwnProperty(key) && obj[key]) {
|
|
412
|
+
if (queryString.length > 0) {
|
|
413
|
+
queryString += "&";
|
|
414
|
+
}
|
|
415
|
+
queryString += key + "=" + encodeURIComponent(obj[key]);
|
|
416
|
+
}
|
|
417
|
+
}
|
|
418
|
+
return queryString;
|
|
419
|
+
}
|
|
420
|
+
const buildUrl = (path, query) => {
|
|
421
|
+
const queryString = serializeQueryString(query);
|
|
422
|
+
return queryString ? `${path}?${queryString}` : path;
|
|
423
|
+
};
|
|
424
|
+
function deserializeQueryString(queryString) {
|
|
425
|
+
const obj = {};
|
|
426
|
+
const pairs = queryString.substring(1).split("&");
|
|
427
|
+
for (let i = 0; i < pairs.length; i++) {
|
|
428
|
+
const pair = pairs[i].split("=");
|
|
429
|
+
const key = decodeURIComponent(pair[0]);
|
|
430
|
+
const value = decodeURIComponent(pair[1] || "");
|
|
431
|
+
if (obj[key]) {
|
|
432
|
+
if (Array.isArray(obj[key])) {
|
|
433
|
+
obj[key].push(value);
|
|
434
|
+
}
|
|
435
|
+
else {
|
|
436
|
+
obj[key] = [obj[key], value];
|
|
437
|
+
}
|
|
438
|
+
}
|
|
439
|
+
else {
|
|
440
|
+
obj[key] = value;
|
|
441
|
+
}
|
|
442
|
+
}
|
|
443
|
+
return obj;
|
|
444
|
+
}
|
|
445
|
+
const getQueryParameter = (name, location = window.location) => {
|
|
446
|
+
const urlParams = deserializeQueryString(location.search);
|
|
447
|
+
return urlParams[name];
|
|
448
|
+
};
|
|
449
|
+
const updateQueryParameters = (queryString, params) => {
|
|
450
|
+
const queryParams = deserializeQueryString(queryString);
|
|
451
|
+
for (const [key, value] of Object.entries(params)) {
|
|
452
|
+
queryParams[key] = value;
|
|
453
|
+
}
|
|
454
|
+
return serializeQueryString(queryParams);
|
|
455
|
+
};
|
|
456
|
+
|
|
408
457
|
var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
|
|
409
458
|
|
|
410
459
|
function commonjsRequire (path) {
|
|
@@ -28550,7 +28599,7 @@ const createHttpTransportOptions = (settings) => ({
|
|
|
28550
28599
|
path: `/api/v2/logs?dd-api-key=${settings.datadog.apiKey}&ddsource=nodejs&service=${settings.service.serviceName}`,
|
|
28551
28600
|
ssl: true,
|
|
28552
28601
|
});
|
|
28553
|
-
const createLoggerInstance = (settings) => {
|
|
28602
|
+
const createLoggerInstance$1 = (settings) => {
|
|
28554
28603
|
const logger = winston.createLogger({
|
|
28555
28604
|
level: "debug",
|
|
28556
28605
|
format: winston.format.combine(winston.format.timestamp({
|
|
@@ -28569,8 +28618,61 @@ const createLoggerInstance = (settings) => {
|
|
|
28569
28618
|
logger.exceptions.handle(new winston.transports.Http(createHttpTransportOptions(settings)));
|
|
28570
28619
|
return logger;
|
|
28571
28620
|
};
|
|
28572
|
-
const formatMessage = (loggerName, message) => `${loggerName ? `[${loggerName}] ` : ""}${message}`;
|
|
28621
|
+
const formatMessage$1 = (loggerName, message) => `${loggerName ? `[${loggerName}] ` : ""}${message}`;
|
|
28573
28622
|
class DatadogLogger {
|
|
28623
|
+
constructor(settings) {
|
|
28624
|
+
this.settings = settings;
|
|
28625
|
+
this.logger = createLoggerInstance$1(this.settings);
|
|
28626
|
+
}
|
|
28627
|
+
debug(loggerName, message, meta) {
|
|
28628
|
+
this.logger.debug(formatMessage$1(loggerName, message), meta);
|
|
28629
|
+
}
|
|
28630
|
+
info(loggerName, message, meta) {
|
|
28631
|
+
this.logger.info(formatMessage$1(loggerName, message), meta);
|
|
28632
|
+
}
|
|
28633
|
+
warn(loggerName, message, meta) {
|
|
28634
|
+
this.logger.warn(formatMessage$1(loggerName, message), meta);
|
|
28635
|
+
}
|
|
28636
|
+
error(loggerName, message, meta) {
|
|
28637
|
+
this.logger.error(formatMessage$1(loggerName, message), meta);
|
|
28638
|
+
}
|
|
28639
|
+
fatal(loggerName, message, meta) {
|
|
28640
|
+
this.logger.error(formatMessage$1(loggerName, message), meta);
|
|
28641
|
+
}
|
|
28642
|
+
exception(loggerName, message, error, meta) {
|
|
28643
|
+
this.logger.error(formatMessage$1(loggerName, message), error, meta);
|
|
28644
|
+
}
|
|
28645
|
+
}
|
|
28646
|
+
|
|
28647
|
+
const createLoggerInstance = (settings) => {
|
|
28648
|
+
const folder = settings.files?.folder ?? "logs";
|
|
28649
|
+
const logger = winston.createLogger({
|
|
28650
|
+
level: "debug",
|
|
28651
|
+
format: winston.format.combine(winston.format.timestamp({
|
|
28652
|
+
format: "YYYY-MM-DD HH:mm:ss",
|
|
28653
|
+
}), winston.format.errors({ stack: true }), winston.format.splat(), winston.format.json()),
|
|
28654
|
+
defaultMeta: {
|
|
28655
|
+
service: settings.service,
|
|
28656
|
+
app: settings.service.appName,
|
|
28657
|
+
role: settings.service.roleName,
|
|
28658
|
+
environment: settings.service.environmentName,
|
|
28659
|
+
},
|
|
28660
|
+
transports: [
|
|
28661
|
+
new winston.transports.File({
|
|
28662
|
+
filename: `./${folder}/error.log`,
|
|
28663
|
+
level: "error",
|
|
28664
|
+
}),
|
|
28665
|
+
new winston.transports.File({ filename: `./${folder}/combined.log` }),
|
|
28666
|
+
],
|
|
28667
|
+
});
|
|
28668
|
+
logger.exceptions.handle(new winston.transports.File({
|
|
28669
|
+
filename: `./${folder}/unhandledError.log`,
|
|
28670
|
+
level: "error",
|
|
28671
|
+
}));
|
|
28672
|
+
return logger;
|
|
28673
|
+
};
|
|
28674
|
+
const formatMessage = (loggerName, message) => `${loggerName ? `[${loggerName}] ` : ""}${message}`;
|
|
28675
|
+
class FileLogger {
|
|
28574
28676
|
constructor(settings) {
|
|
28575
28677
|
this.settings = settings;
|
|
28576
28678
|
this.logger = createLoggerInstance(this.settings);
|
|
@@ -28634,5 +28736,5 @@ const processArrayItemMove = (items, input) => {
|
|
|
28634
28736
|
}));
|
|
28635
28737
|
};
|
|
28636
28738
|
|
|
28637
|
-
export { ConsoleLogger, DatadogLogger, ExcelKeyTransform, Log, LogLevel, MetaSerializationType, addTime, buildObject, buildTree, byField, byFieldDesc, camelToKebabCase, camelToSnakeCase, createDayPath, csvBuild, csvParse, distinct, distinctElements, ensureDirectory, ensureStartSlash, ensureTailingSlash, excelBuild, excelParse, first, flatten, getDirectoryFilePaths, getDirectoryPath, groupBy, indexes, isNullOrUndefined, iterate, joinPath, jsonDistinct, jsonSerialize, last, logMemoryUsage, mapOrThrow, mergeDeep, newUuid, notNull, notUndefined, pluralize, processArrayDifferences, processArrayItemMove, range, removeUndefinedProps, selectMany, sleep, sort, splitPath, subArrays, subtractTime, toArrayDict, toCamelCase, toDict, toItemsDict, toItemsMap, toMap, toTitleCase, trim$1 as trim, trimEnd, trimStart };
|
|
28739
|
+
export { ConsoleLogger, DatadogLogger, ExcelKeyTransform, FileLogger, Log, LogLevel, MetaSerializationType, addTime, buildObject, buildTree, buildUrl, byField, byFieldDesc, camelToKebabCase, camelToSnakeCase, createDayPath, csvBuild, csvParse, deserializeQueryString, distinct, distinctElements, ensureDirectory, ensureStartSlash, ensureTailingSlash, excelBuild, excelParse, first, flatten, getDirectoryFilePaths, getDirectoryPath, getQueryParameter, groupBy, indexes, isNullOrUndefined, iterate, joinPath, jsonDistinct, jsonSerialize, last, logMemoryUsage, mapOrThrow, mergeDeep, newUuid, notNull, notUndefined, pluralize, processArrayDifferences, processArrayItemMove, range, removeUndefinedProps, selectMany, serializeQueryString, sleep, sort, splitPath, subArrays, subtractTime, toArrayDict, toCamelCase, toDict, toItemsDict, toItemsMap, toMap, toTitleCase, trim$1 as trim, trimEnd, trimStart, updateQueryParameters };
|
|
28638
28740
|
//# sourceMappingURL=index.js.map
|