expensify-common 2.0.6 → 2.0.8
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/ExpensiMark.d.ts +5 -0
- package/dist/ExpensiMark.js +20 -6
- package/package.json +1 -1
package/dist/ExpensiMark.d.ts
CHANGED
|
@@ -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[];
|
package/dist/ExpensiMark.js
CHANGED
|
@@ -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
|
|
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
|
|
@@ -246,7 +253,8 @@ class ExpensiMark {
|
|
|
246
253
|
const regex = /^(?:>)+ +(?! )(?![^<]*(?:<\/pre>|<\/code>))([^\v\n\r]+)/gm;
|
|
247
254
|
const replaceFunction = (g1) => replacement(g1, shouldKeepRawInput);
|
|
248
255
|
if (shouldKeepRawInput) {
|
|
249
|
-
|
|
256
|
+
const rawInputRegex = /^(?:>)+ +(?! )(?![^<]*(?:<\/pre>|<\/code>))([^\v\n\r]*)/gm;
|
|
257
|
+
return textToProcess.replace(rawInputRegex, replaceFunction);
|
|
250
258
|
}
|
|
251
259
|
return this.modifyTextForQuote(regex, textToProcess, replacement);
|
|
252
260
|
},
|
|
@@ -478,7 +486,7 @@ class ExpensiMark {
|
|
|
478
486
|
replacement: (match, g1, offset, string, extras) => {
|
|
479
487
|
const reportToNameMap = extras.reportIDToName;
|
|
480
488
|
if (!reportToNameMap || !reportToNameMap[g1]) {
|
|
481
|
-
|
|
489
|
+
ExpensiMark.Log.alert('[ExpensiMark] Missing report name', { reportID: g1 });
|
|
482
490
|
return '#Hidden';
|
|
483
491
|
}
|
|
484
492
|
return reportToNameMap[g1];
|
|
@@ -491,7 +499,7 @@ class ExpensiMark {
|
|
|
491
499
|
if (g1) {
|
|
492
500
|
const accountToNameMap = extras.accountIDToName;
|
|
493
501
|
if (!accountToNameMap || !accountToNameMap[g1]) {
|
|
494
|
-
|
|
502
|
+
ExpensiMark.Log.alert('[ExpensiMark] Missing account name', { accountID: g1 });
|
|
495
503
|
return '@Hidden';
|
|
496
504
|
}
|
|
497
505
|
return `@${extras.accountIDToName[g1]}`;
|
|
@@ -547,7 +555,7 @@ class ExpensiMark {
|
|
|
547
555
|
replacement: (match, g1, offset, string, extras) => {
|
|
548
556
|
const reportToNameMap = extras.reportIDToName;
|
|
549
557
|
if (!reportToNameMap || !reportToNameMap[g1]) {
|
|
550
|
-
|
|
558
|
+
ExpensiMark.Log.alert('[ExpensiMark] Missing report name', { reportID: g1 });
|
|
551
559
|
return '#Hidden';
|
|
552
560
|
}
|
|
553
561
|
return reportToNameMap[g1];
|
|
@@ -559,7 +567,7 @@ class ExpensiMark {
|
|
|
559
567
|
replacement: (match, g1, offset, string, extras) => {
|
|
560
568
|
const accountToNameMap = extras.accountIDToName;
|
|
561
569
|
if (!accountToNameMap || !accountToNameMap[g1]) {
|
|
562
|
-
|
|
570
|
+
ExpensiMark.Log.alert('[ExpensiMark] Missing account name', { accountID: g1 });
|
|
563
571
|
return '@Hidden';
|
|
564
572
|
}
|
|
565
573
|
return `@${extras.accountIDToName[g1]}`;
|
|
@@ -1046,4 +1054,10 @@ class ExpensiMark {
|
|
|
1046
1054
|
return _.escape(originalContent);
|
|
1047
1055
|
}
|
|
1048
1056
|
}
|
|
1057
|
+
ExpensiMark.Log = new Logger_1.default({
|
|
1058
|
+
serverLoggingCallback: _.noop,
|
|
1059
|
+
// eslint-disable-next-line no-console
|
|
1060
|
+
clientLoggingCallback: (message) => console.warn(message),
|
|
1061
|
+
isDebug: true,
|
|
1062
|
+
});
|
|
1049
1063
|
exports.default = ExpensiMark;
|