@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.
@@ -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
+ }
@@ -1,2 +1,3 @@
1
1
  export { ConsoleLogger } from "./consoleLogger";
2
2
  export { DatadogLogger } from "./datadogLogger";
3
+ export { FileLogger } from "./fileLogger";
@@ -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