@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 CHANGED
@@ -433,6 +433,55 @@ const newUuid = () => {
433
433
  });
434
434
  };
435
435
 
436
+ function serializeQueryString(obj) {
437
+ let queryString = "";
438
+ for (let key in obj) {
439
+ if (obj.hasOwnProperty(key) && obj[key]) {
440
+ if (queryString.length > 0) {
441
+ queryString += "&";
442
+ }
443
+ queryString += key + "=" + encodeURIComponent(obj[key]);
444
+ }
445
+ }
446
+ return queryString;
447
+ }
448
+ const buildUrl = (path, query) => {
449
+ const queryString = serializeQueryString(query);
450
+ return queryString ? `${path}?${queryString}` : path;
451
+ };
452
+ function deserializeQueryString(queryString) {
453
+ const obj = {};
454
+ const pairs = queryString.substring(1).split("&");
455
+ for (let i = 0; i < pairs.length; i++) {
456
+ const pair = pairs[i].split("=");
457
+ const key = decodeURIComponent(pair[0]);
458
+ const value = decodeURIComponent(pair[1] || "");
459
+ if (obj[key]) {
460
+ if (Array.isArray(obj[key])) {
461
+ obj[key].push(value);
462
+ }
463
+ else {
464
+ obj[key] = [obj[key], value];
465
+ }
466
+ }
467
+ else {
468
+ obj[key] = value;
469
+ }
470
+ }
471
+ return obj;
472
+ }
473
+ const getQueryParameter = (name, location = window.location) => {
474
+ const urlParams = deserializeQueryString(location.search);
475
+ return urlParams[name];
476
+ };
477
+ const updateQueryParameters = (queryString, params) => {
478
+ const queryParams = deserializeQueryString(queryString);
479
+ for (const [key, value] of Object.entries(params)) {
480
+ queryParams[key] = value;
481
+ }
482
+ return serializeQueryString(queryParams);
483
+ };
484
+
436
485
  var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
437
486
 
438
487
  function commonjsRequire (path) {
@@ -28578,7 +28627,7 @@ const createHttpTransportOptions = (settings) => ({
28578
28627
  path: `/api/v2/logs?dd-api-key=${settings.datadog.apiKey}&ddsource=nodejs&service=${settings.service.serviceName}`,
28579
28628
  ssl: true,
28580
28629
  });
28581
- const createLoggerInstance = (settings) => {
28630
+ const createLoggerInstance$1 = (settings) => {
28582
28631
  const logger = winston__namespace.createLogger({
28583
28632
  level: "debug",
28584
28633
  format: winston__namespace.format.combine(winston__namespace.format.timestamp({
@@ -28597,8 +28646,61 @@ const createLoggerInstance = (settings) => {
28597
28646
  logger.exceptions.handle(new winston__namespace.transports.Http(createHttpTransportOptions(settings)));
28598
28647
  return logger;
28599
28648
  };
28600
- const formatMessage = (loggerName, message) => `${loggerName ? `[${loggerName}] ` : ""}${message}`;
28649
+ const formatMessage$1 = (loggerName, message) => `${loggerName ? `[${loggerName}] ` : ""}${message}`;
28601
28650
  class DatadogLogger {
28651
+ constructor(settings) {
28652
+ this.settings = settings;
28653
+ this.logger = createLoggerInstance$1(this.settings);
28654
+ }
28655
+ debug(loggerName, message, meta) {
28656
+ this.logger.debug(formatMessage$1(loggerName, message), meta);
28657
+ }
28658
+ info(loggerName, message, meta) {
28659
+ this.logger.info(formatMessage$1(loggerName, message), meta);
28660
+ }
28661
+ warn(loggerName, message, meta) {
28662
+ this.logger.warn(formatMessage$1(loggerName, message), meta);
28663
+ }
28664
+ error(loggerName, message, meta) {
28665
+ this.logger.error(formatMessage$1(loggerName, message), meta);
28666
+ }
28667
+ fatal(loggerName, message, meta) {
28668
+ this.logger.error(formatMessage$1(loggerName, message), meta);
28669
+ }
28670
+ exception(loggerName, message, error, meta) {
28671
+ this.logger.error(formatMessage$1(loggerName, message), error, meta);
28672
+ }
28673
+ }
28674
+
28675
+ const createLoggerInstance = (settings) => {
28676
+ const folder = settings.files?.folder ?? "logs";
28677
+ const logger = winston__namespace.createLogger({
28678
+ level: "debug",
28679
+ format: winston__namespace.format.combine(winston__namespace.format.timestamp({
28680
+ format: "YYYY-MM-DD HH:mm:ss",
28681
+ }), winston__namespace.format.errors({ stack: true }), winston__namespace.format.splat(), winston__namespace.format.json()),
28682
+ defaultMeta: {
28683
+ service: settings.service,
28684
+ app: settings.service.appName,
28685
+ role: settings.service.roleName,
28686
+ environment: settings.service.environmentName,
28687
+ },
28688
+ transports: [
28689
+ new winston__namespace.transports.File({
28690
+ filename: `./${folder}/error.log`,
28691
+ level: "error",
28692
+ }),
28693
+ new winston__namespace.transports.File({ filename: `./${folder}/combined.log` }),
28694
+ ],
28695
+ });
28696
+ logger.exceptions.handle(new winston__namespace.transports.File({
28697
+ filename: `./${folder}/unhandledError.log`,
28698
+ level: "error",
28699
+ }));
28700
+ return logger;
28701
+ };
28702
+ const formatMessage = (loggerName, message) => `${loggerName ? `[${loggerName}] ` : ""}${message}`;
28703
+ class FileLogger {
28602
28704
  constructor(settings) {
28603
28705
  this.settings = settings;
28604
28706
  this.logger = createLoggerInstance(this.settings);
@@ -28664,10 +28766,12 @@ const processArrayItemMove = (items, input) => {
28664
28766
 
28665
28767
  exports.ConsoleLogger = ConsoleLogger;
28666
28768
  exports.DatadogLogger = DatadogLogger;
28769
+ exports.FileLogger = FileLogger;
28667
28770
  exports.Log = Log;
28668
28771
  exports.addTime = addTime;
28669
28772
  exports.buildObject = buildObject;
28670
28773
  exports.buildTree = buildTree;
28774
+ exports.buildUrl = buildUrl;
28671
28775
  exports.byField = byField;
28672
28776
  exports.byFieldDesc = byFieldDesc;
28673
28777
  exports.camelToKebabCase = camelToKebabCase;
@@ -28675,6 +28779,7 @@ exports.camelToSnakeCase = camelToSnakeCase;
28675
28779
  exports.createDayPath = createDayPath;
28676
28780
  exports.csvBuild = csvBuild;
28677
28781
  exports.csvParse = csvParse;
28782
+ exports.deserializeQueryString = deserializeQueryString;
28678
28783
  exports.distinct = distinct;
28679
28784
  exports.distinctElements = distinctElements;
28680
28785
  exports.ensureDirectory = ensureDirectory;
@@ -28686,6 +28791,7 @@ exports.first = first;
28686
28791
  exports.flatten = flatten;
28687
28792
  exports.getDirectoryFilePaths = getDirectoryFilePaths;
28688
28793
  exports.getDirectoryPath = getDirectoryPath;
28794
+ exports.getQueryParameter = getQueryParameter;
28689
28795
  exports.groupBy = groupBy;
28690
28796
  exports.indexes = indexes;
28691
28797
  exports.isNullOrUndefined = isNullOrUndefined;
@@ -28706,6 +28812,7 @@ exports.processArrayItemMove = processArrayItemMove;
28706
28812
  exports.range = range;
28707
28813
  exports.removeUndefinedProps = removeUndefinedProps;
28708
28814
  exports.selectMany = selectMany;
28815
+ exports.serializeQueryString = serializeQueryString;
28709
28816
  exports.sleep = sleep;
28710
28817
  exports.sort = sort;
28711
28818
  exports.splitPath = splitPath;
@@ -28721,4 +28828,5 @@ exports.toTitleCase = toTitleCase;
28721
28828
  exports.trim = trim$1;
28722
28829
  exports.trimEnd = trimEnd;
28723
28830
  exports.trimStart = trimStart;
28831
+ exports.updateQueryParameters = updateQueryParameters;
28724
28832
  //# sourceMappingURL=index.js.map