expensify-common 2.0.6 → 2.0.7

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.
@@ -1,3 +1,5 @@
1
+ import type Logger from './Logger';
2
+
1
3
  declare type Replacement = (...args: string[], extras?: ExtrasObject) => string;
2
4
  declare type Name =
3
5
  | 'codeFence'
@@ -39,6 +41,9 @@ declare type ExtrasObject = {
39
41
  accountIDToName?: Record<string, string>;
40
42
  };
41
43
  export default class ExpensiMark {
44
+ static Log: Logger;
45
+ static setLogger(logger: Logger): void;
46
+
42
47
  rules: Rule[];
43
48
  htmlToMarkdownRules: Rule[];
44
49
  htmlToTextRules: Rule[];
@@ -30,11 +30,18 @@ const _ = __importStar(require("underscore"));
30
30
  const str_1 = __importDefault(require("./str"));
31
31
  const Constants = __importStar(require("./CONST"));
32
32
  const UrlPatterns = __importStar(require("./Url"));
33
- const Log_1 = __importDefault(require("./Log"));
33
+ const Logger_1 = __importDefault(require("./Logger"));
34
34
  const MARKDOWN_LINK_REGEX = new RegExp(`\\[([^\\][]*(?:\\[[^\\][]*][^\\][]*)*)]\\(${UrlPatterns.MARKDOWN_URL_REGEX}\\)(?![^<]*(<\\/pre>|<\\/code>))`, 'gi');
35
35
  const MARKDOWN_IMAGE_REGEX = new RegExp(`\\!(?:\\[([^\\][]*(?:\\[[^\\][]*][^\\][]*)*)])?\\(${UrlPatterns.MARKDOWN_URL_REGEX}\\)(?![^<]*(<\\/pre>|<\\/code>))`, 'gi');
36
36
  const SLACK_SPAN_NEW_LINE_TAG = '<span class="c-mrkdwn__br" data-stringify-type="paragraph-break" style="box-sizing: inherit; display: block; height: unset;"></span>';
37
37
  class ExpensiMark {
38
+ /**
39
+ * Set the logger to use for logging inside of the ExpensiMark class
40
+ * @param {Object} logger - The logger object to use
41
+ */
42
+ static setLogger(logger) {
43
+ ExpensiMark.Log = logger;
44
+ }
38
45
  constructor() {
39
46
  /**
40
47
  * The list of regex replacements to do on a comment. Check the link regex is first so links are processed
@@ -478,7 +485,7 @@ class ExpensiMark {
478
485
  replacement: (match, g1, offset, string, extras) => {
479
486
  const reportToNameMap = extras.reportIDToName;
480
487
  if (!reportToNameMap || !reportToNameMap[g1]) {
481
- Log_1.default.alert('[ExpensiMark] Missing report name', { reportID: g1 });
488
+ ExpensiMark.Log.alert('[ExpensiMark] Missing report name', { reportID: g1 });
482
489
  return '#Hidden';
483
490
  }
484
491
  return reportToNameMap[g1];
@@ -491,7 +498,7 @@ class ExpensiMark {
491
498
  if (g1) {
492
499
  const accountToNameMap = extras.accountIDToName;
493
500
  if (!accountToNameMap || !accountToNameMap[g1]) {
494
- Log_1.default.alert('[ExpensiMark] Missing account name', { accountID: g1 });
501
+ ExpensiMark.Log.alert('[ExpensiMark] Missing account name', { accountID: g1 });
495
502
  return '@Hidden';
496
503
  }
497
504
  return `@${extras.accountIDToName[g1]}`;
@@ -547,7 +554,7 @@ class ExpensiMark {
547
554
  replacement: (match, g1, offset, string, extras) => {
548
555
  const reportToNameMap = extras.reportIDToName;
549
556
  if (!reportToNameMap || !reportToNameMap[g1]) {
550
- Log_1.default.alert('[ExpensiMark] Missing report name', { reportID: g1 });
557
+ ExpensiMark.Log.alert('[ExpensiMark] Missing report name', { reportID: g1 });
551
558
  return '#Hidden';
552
559
  }
553
560
  return reportToNameMap[g1];
@@ -559,7 +566,7 @@ class ExpensiMark {
559
566
  replacement: (match, g1, offset, string, extras) => {
560
567
  const accountToNameMap = extras.accountIDToName;
561
568
  if (!accountToNameMap || !accountToNameMap[g1]) {
562
- Log_1.default.alert('[ExpensiMark] Missing account name', { accountID: g1 });
569
+ ExpensiMark.Log.alert('[ExpensiMark] Missing account name', { accountID: g1 });
563
570
  return '@Hidden';
564
571
  }
565
572
  return `@${extras.accountIDToName[g1]}`;
@@ -1046,4 +1053,10 @@ class ExpensiMark {
1046
1053
  return _.escape(originalContent);
1047
1054
  }
1048
1055
  }
1056
+ ExpensiMark.Log = new Logger_1.default({
1057
+ serverLoggingCallback: _.noop,
1058
+ // eslint-disable-next-line no-console
1059
+ clientLoggingCallback: (message) => console.warn(message),
1060
+ isDebug: true,
1061
+ });
1049
1062
  exports.default = ExpensiMark;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "expensify-common",
3
- "version": "2.0.6",
3
+ "version": "2.0.7",
4
4
  "author": "Expensify, Inc.",
5
5
  "description": "Expensify libraries and components shared across different repos",
6
6
  "homepage": "https://expensify.com",