@tellescope/utilities 1.251.0 → 1.252.0
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/lib/cjs/tests/sanitize_user_html.test.d.ts +2 -0
- package/lib/cjs/tests/sanitize_user_html.test.d.ts.map +1 -0
- package/lib/cjs/tests/sanitize_user_html.test.js +89 -0
- package/lib/cjs/tests/sanitize_user_html.test.js.map +1 -0
- package/lib/cjs/utils.d.ts +20 -0
- package/lib/cjs/utils.d.ts.map +1 -1
- package/lib/cjs/utils.js +164 -13
- package/lib/cjs/utils.js.map +1 -1
- package/lib/esm/tests/sanitize_user_html.test.d.ts +2 -0
- package/lib/esm/tests/sanitize_user_html.test.d.ts.map +1 -0
- package/lib/esm/tests/sanitize_user_html.test.js +85 -0
- package/lib/esm/tests/sanitize_user_html.test.js.map +1 -0
- package/lib/esm/utils.d.ts +20 -0
- package/lib/esm/utils.d.ts.map +1 -1
- package/lib/esm/utils.js +159 -10
- package/lib/esm/utils.js.map +1 -1
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/package.json +4 -4
- package/src/utils.ts +152 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sanitize_user_html.test.d.ts","sourceRoot":"","sources":["../../../src/tests/sanitize_user_html.test.ts"],"names":[],"mappings":"AA8BA,eAAO,MAAM,wBAAwB,YAwDpC,CAAA"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { sanitize_user_html } from "../utils";
|
|
2
|
+
// Standalone unit test for sanitize_user_html (the render-time HTML sanitizer).
|
|
3
|
+
// No test framework in this package — run after building:
|
|
4
|
+
// cd packages/public/utilities && npm run build:cjs && node lib/cjs/tests/sanitize_user_html.test.js
|
|
5
|
+
var failures = 0;
|
|
6
|
+
var check = function (name, condition, detail) {
|
|
7
|
+
if (condition) {
|
|
8
|
+
console.log(" \u2713 ".concat(name));
|
|
9
|
+
}
|
|
10
|
+
else {
|
|
11
|
+
failures++;
|
|
12
|
+
console.error(" \u2717 ".concat(name).concat(detail ? " \u2014 ".concat(detail) : ''));
|
|
13
|
+
}
|
|
14
|
+
};
|
|
15
|
+
var lower = function (s) { return s.toLowerCase(); };
|
|
16
|
+
// A payload is neutralized if the sanitized output contains no executable handler/scheme token.
|
|
17
|
+
var neutralized = function (out) {
|
|
18
|
+
var o = lower(out);
|
|
19
|
+
return !/\son[a-z]+\s*=/.test(o) // no on*= event handlers
|
|
20
|
+
&& !o.includes('javascript:')
|
|
21
|
+
&& !o.includes('vbscript:')
|
|
22
|
+
&& !o.includes('<script')
|
|
23
|
+
&& !o.includes('<iframe')
|
|
24
|
+
&& !o.includes('<svg')
|
|
25
|
+
&& !o.includes('<object')
|
|
26
|
+
&& !o.includes('<embed');
|
|
27
|
+
};
|
|
28
|
+
export var sanitize_user_html_tests = function () {
|
|
29
|
+
console.log("sanitize_user_html — neutralizes XSS vectors");
|
|
30
|
+
var xssPayloads = [
|
|
31
|
+
['img onerror', "<img src=x onerror=\"alert(document.domain)\">"],
|
|
32
|
+
['svg onload', "<svg onload=\"alert(1)\"></svg>"],
|
|
33
|
+
['svg animate onbegin', "<svg><animate onbegin=\"alert(1)\" attributeName=\"x\" dur=\"1s\"></svg>"],
|
|
34
|
+
['details ontoggle', "<details open ontoggle=\"alert(1)\"></details>"],
|
|
35
|
+
['input onfocus autofocus', "<input autofocus onfocus=\"alert(1)\">"],
|
|
36
|
+
['body onpageshow', "<body onpageshow=\"alert(1)\">"],
|
|
37
|
+
['a javascript scheme', "<a href=\"javascript:alert(1)\">x</a>"],
|
|
38
|
+
['a javascript entity-encoded', "<a href=\"jav	ascript:alert(1)\">x</a>"],
|
|
39
|
+
['iframe javascript src', "<iframe src=\"javascript:alert(1)\"></iframe>"],
|
|
40
|
+
['iframe srcdoc', "<iframe srcdoc=\"<img src=x onerror=alert(1)>\"></iframe>"],
|
|
41
|
+
['script tag', "<script>alert(1)</script>"],
|
|
42
|
+
['onerror newline before =', "<img src=x onerror\n=\"alert(1)\">"],
|
|
43
|
+
['onerror mixed case', "<IMG SRC=x OnErRoR=\"alert(1)\">"],
|
|
44
|
+
['marquee onstart', "<marquee onstart=\"alert(1)\">x</marquee>"],
|
|
45
|
+
];
|
|
46
|
+
for (var _i = 0, xssPayloads_1 = xssPayloads; _i < xssPayloads_1.length; _i++) {
|
|
47
|
+
var _a = xssPayloads_1[_i], name_1 = _a[0], payload = _a[1];
|
|
48
|
+
var out = sanitize_user_html(payload);
|
|
49
|
+
check(name_1, neutralized(out), "got: ".concat(out));
|
|
50
|
+
}
|
|
51
|
+
console.log("sanitize_user_html — preserves legitimate customization HTML");
|
|
52
|
+
var out_heading = sanitize_user_html("<h1>Welcome</h1><h3 style=\"color:#333\">Sub</h3>");
|
|
53
|
+
check('headings + style kept', out_heading.includes('<h1>') && out_heading.includes('<h3') && lower(out_heading).includes('color'));
|
|
54
|
+
var out_table = sanitize_user_html("<table><thead><tr><th>H</th></tr></thead><tbody><tr><td style=\"padding:4px\" colspan=\"2\">cell</td></tr></tbody></table>");
|
|
55
|
+
check('table structure kept', out_table.includes('<table') && out_table.includes('<td') && out_table.includes('colspan'));
|
|
56
|
+
var out_list = sanitize_user_html("<ul><li>a</li><li>b</li></ul><ol start=\"3\"><li>c</li></ol>");
|
|
57
|
+
check('lists kept', out_list.includes('<ul') && out_list.includes('<li') && out_list.includes('<ol'));
|
|
58
|
+
var out_link = sanitize_user_html("<a href=\"https://example.com\">link</a>");
|
|
59
|
+
check('safe link href kept', out_link.includes('href="https://example.com"'));
|
|
60
|
+
check('external link hardened with rel=noopener', lower(out_link).includes('noopener'));
|
|
61
|
+
var out_img = sanitize_user_html("<img src=\"https://cdn.example.com/a.png\" alt=\"pic\" width=\"200\">");
|
|
62
|
+
check('http image kept', out_img.includes('src="https://cdn.example.com/a.png"') && out_img.includes('alt="pic"'));
|
|
63
|
+
var out_dataimg = sanitize_user_html("<img src=\"data:image/png;base64,iVBORw0KGgo=\">");
|
|
64
|
+
check('data: image kept', out_dataimg.includes('data:image/png'));
|
|
65
|
+
var out_format = sanitize_user_html("<p><strong>b</strong> <em>i</em> <u>u</u> <span style=\"font-size:14px\">s</span></p><blockquote>q</blockquote>");
|
|
66
|
+
check('inline formatting + inline style kept', out_format.includes('<strong>') && out_format.includes('<span') && lower(out_format).includes('font-size'));
|
|
67
|
+
// Mixed: payload embedded in otherwise-legit content — content survives, handler stripped.
|
|
68
|
+
var out_mixed = sanitize_user_html("<p>Hello <b>name</b></p><img src=x onerror=\"steal()\">");
|
|
69
|
+
check('mixed: legit kept, handler stripped', out_mixed.includes('<b>name</b>') && !/\son[a-z]+\s*=/.test(lower(out_mixed)));
|
|
70
|
+
if (failures > 0) {
|
|
71
|
+
throw new Error("".concat(failures, " sanitize_user_html assertion(s) failed"));
|
|
72
|
+
}
|
|
73
|
+
console.log("✅ sanitize_user_html test suite passed");
|
|
74
|
+
};
|
|
75
|
+
if (require.main === module) {
|
|
76
|
+
try {
|
|
77
|
+
sanitize_user_html_tests();
|
|
78
|
+
process.exit(0);
|
|
79
|
+
}
|
|
80
|
+
catch (err) {
|
|
81
|
+
console.error("❌ sanitize_user_html test suite failed:", err.message);
|
|
82
|
+
process.exit(1);
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
//# sourceMappingURL=sanitize_user_html.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sanitize_user_html.test.js","sourceRoot":"","sources":["../../../src/tests/sanitize_user_html.test.ts"],"names":[],"mappings":"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"}
|
package/lib/esm/utils.d.ts
CHANGED
|
@@ -173,11 +173,28 @@ export declare const calculate_date_difference_for_set_fields: (dateDifferenceOp
|
|
|
173
173
|
} | undefined, enduserFields: Indexable<any> | undefined, fieldName: string, silent?: boolean) => number | '';
|
|
174
174
|
export declare const fullMonth_day_year: (date: Date) => string;
|
|
175
175
|
export declare const time_for_calendar_event: (event: Pick<CalendarEvent, 'startTimeInMS' | 'durationInMinutes'>) => string;
|
|
176
|
+
/**
|
|
177
|
+
* @deprecated Use {@link sanitize_user_html} for any HTML that will be rendered (e.g. via
|
|
178
|
+
* `dangerouslySetInnerHTML`). This helper is retained for the validation/escaping path, where it
|
|
179
|
+
* operates on plain field values and is intentionally minimal so it does not alter their contents.
|
|
180
|
+
*/
|
|
176
181
|
export declare const remove_script_tags: (s: string) => string;
|
|
177
182
|
export declare const remove_style_tags: (s: string) => string;
|
|
178
183
|
export declare const remove_image_tags: (s: string) => string;
|
|
179
184
|
export declare const sanitize_html_with_links: (html: string) => string;
|
|
180
185
|
export declare const sanitize_html_for_cms: (html: string) => string;
|
|
186
|
+
/**
|
|
187
|
+
* Canonical sanitizer for HTML that will be rendered (e.g. via `dangerouslySetInnerHTML`):
|
|
188
|
+
* form descriptions/answers, CMS/articles, care plans, templates, chat, community posts,
|
|
189
|
+
* portal HTML blocks, email bodies, etc.
|
|
190
|
+
*
|
|
191
|
+
* Uses an allowlist parser (sanitize-html) tuned to be broad on formatting/structure so
|
|
192
|
+
* legitimate customization is preserved — rich text, headings, lists, tables, images, media,
|
|
193
|
+
* inline styles, and links — while only allowlisted tags, attributes, and URL schemes are kept.
|
|
194
|
+
* If a specific surface needs embeds (e.g. YouTube), add `iframe` with `allowedIframeHostnames`
|
|
195
|
+
* for that surface rather than loosening this shared function.
|
|
196
|
+
*/
|
|
197
|
+
export declare const sanitize_user_html: (html: string) => string;
|
|
181
198
|
export declare const query_string_for_object: (query: Indexable) => string;
|
|
182
199
|
export declare const PROD_API_URL = "https://api.tellescope.com";
|
|
183
200
|
export declare const STAGING_API_URL = "https://staging-api.tellescope.com";
|
|
@@ -325,6 +342,9 @@ export type ReplacementOptions = {
|
|
|
325
342
|
};
|
|
326
343
|
export declare const replace_tag_template_values_for_enduser: (tags: string[], enduser: Omit<Enduser, 'id'>, options?: ReplacementOptions) => any[];
|
|
327
344
|
export declare const replace_purchase_template_values: (s: string, purchase?: Omit<Purchase, 'id'> | null) => string;
|
|
345
|
+
export declare const replace_calendar_event_template_values: (s: string, event?: (Pick<CalendarEvent, 'title' | 'startTimeInMS' | 'durationInMinutes' | 'type' | 'source' | 'externalId' | 'references' | 'videoURL' | 'externalVideoURL' | 'instructions' | 'timezone'> & {
|
|
346
|
+
_id?: any;
|
|
347
|
+
}) | null, options?: ReplacementOptions) => string;
|
|
328
348
|
export declare const replace_medication_template_values: (s: string, medication?: Omit<EnduserMedication, 'id'> | null) => string;
|
|
329
349
|
export declare const replace_order_template_values: (s: string, order?: Omit<EnduserOrder, 'id'> | null) => string;
|
|
330
350
|
export declare const replace_form_field_template_values: (s: string, options: {
|
package/lib/esm/utils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"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"}
|
package/lib/esm/utils.js
CHANGED
|
@@ -581,6 +581,11 @@ export var time_for_calendar_event = function (event) {
|
|
|
581
581
|
var _b = get_time_values(end), hoursEnd = _b.hoursAmPm, minutesEnd = _b.minutes, amPmEnd = _b.amPm;
|
|
582
582
|
return "".concat(hoursAmPm, ":").concat(minutes).concat(amPm === amPmEnd ? '' : amPm, "-").concat(hoursEnd, ":").concat(minutesEnd).concat(amPmEnd);
|
|
583
583
|
};
|
|
584
|
+
/**
|
|
585
|
+
* @deprecated Use {@link sanitize_user_html} for any HTML that will be rendered (e.g. via
|
|
586
|
+
* `dangerouslySetInnerHTML`). This helper is retained for the validation/escaping path, where it
|
|
587
|
+
* operates on plain field values and is intentionally minimal so it does not alter their contents.
|
|
588
|
+
*/
|
|
584
589
|
export var remove_script_tags = function (s) { return s.replace(/<script[\s\S]*?>[\s\S]*?<\/script>/gi, ''); };
|
|
585
590
|
export var remove_style_tags = function (s) { return s.replace(/<style[\s\S]*?>[\s\S]*?<\/style>/gi, ''); };
|
|
586
591
|
export var remove_image_tags = function (s) { return s.replace(/<img[\s\S]*?>/gi, ''); };
|
|
@@ -664,6 +669,85 @@ export var sanitize_html_for_cms = function (html) {
|
|
|
664
669
|
}
|
|
665
670
|
});
|
|
666
671
|
};
|
|
672
|
+
/**
|
|
673
|
+
* Canonical sanitizer for HTML that will be rendered (e.g. via `dangerouslySetInnerHTML`):
|
|
674
|
+
* form descriptions/answers, CMS/articles, care plans, templates, chat, community posts,
|
|
675
|
+
* portal HTML blocks, email bodies, etc.
|
|
676
|
+
*
|
|
677
|
+
* Uses an allowlist parser (sanitize-html) tuned to be broad on formatting/structure so
|
|
678
|
+
* legitimate customization is preserved — rich text, headings, lists, tables, images, media,
|
|
679
|
+
* inline styles, and links — while only allowlisted tags, attributes, and URL schemes are kept.
|
|
680
|
+
* If a specific surface needs embeds (e.g. YouTube), add `iframe` with `allowedIframeHostnames`
|
|
681
|
+
* for that surface rather than loosening this shared function.
|
|
682
|
+
*/
|
|
683
|
+
export var sanitize_user_html = function (html) {
|
|
684
|
+
if (typeof html !== 'string' || !html)
|
|
685
|
+
return '';
|
|
686
|
+
return sanitizeHtml(html, {
|
|
687
|
+
allowedTags: [
|
|
688
|
+
// text & inline
|
|
689
|
+
'a', 'abbr', 'b', 'bdi', 'bdo', 'br', 'cite', 'code', 'data', 'dfn', 'em', 'i', 'kbd',
|
|
690
|
+
'mark', 'q', 'rp', 'rt', 'ruby', 's', 'samp', 'small', 'span', 'strong', 'sub', 'sup',
|
|
691
|
+
'time', 'u', 'var', 'wbr', 'del', 'ins', 'abbr',
|
|
692
|
+
// block & structure
|
|
693
|
+
'address', 'article', 'aside', 'blockquote', 'caption', 'details', 'summary', 'div',
|
|
694
|
+
'figcaption', 'figure', 'footer', 'header', 'hgroup', 'hr', 'main', 'nav', 'p', 'pre',
|
|
695
|
+
'section',
|
|
696
|
+
// headings
|
|
697
|
+
'h1', 'h2', 'h3', 'h4', 'h5', 'h6',
|
|
698
|
+
// lists
|
|
699
|
+
'dd', 'dl', 'dt', 'li', 'ol', 'ul',
|
|
700
|
+
// tables
|
|
701
|
+
'col', 'colgroup', 'table', 'tbody', 'td', 'tfoot', 'th', 'thead', 'tr',
|
|
702
|
+
// media (no iframe/object/embed — those can execute or frame arbitrary content)
|
|
703
|
+
'img', 'audio', 'video', 'source', 'picture', 'track',
|
|
704
|
+
],
|
|
705
|
+
allowedAttributes: {
|
|
706
|
+
// NOTE: `id`/`name` are intentionally omitted — caller-controlled id/name enable DOM
|
|
707
|
+
// clobbering (shadowing document/global properties) and duplicate-id breakage, with no
|
|
708
|
+
// legitimate need in rendered user content.
|
|
709
|
+
'*': [
|
|
710
|
+
'style', 'class', 'title', 'dir', 'lang', 'align', 'valign', 'width', 'height',
|
|
711
|
+
'color', 'bgcolor', 'aria-*', 'data-*', 'role',
|
|
712
|
+
],
|
|
713
|
+
a: ['href', 'target', 'rel'],
|
|
714
|
+
img: ['src', 'srcset', 'sizes', 'alt', 'loading', 'decoding'],
|
|
715
|
+
audio: ['controls', 'src', 'preload', 'loop', 'muted'],
|
|
716
|
+
video: ['controls', 'src', 'poster', 'preload', 'loop', 'muted', 'playsinline'],
|
|
717
|
+
source: ['src', 'srcset', 'type', 'media', 'sizes'],
|
|
718
|
+
track: ['src', 'kind', 'srclang', 'label', 'default'],
|
|
719
|
+
col: ['span'],
|
|
720
|
+
colgroup: ['span'],
|
|
721
|
+
td: ['colspan', 'rowspan', 'headers'],
|
|
722
|
+
th: ['colspan', 'rowspan', 'headers', 'scope'],
|
|
723
|
+
ol: ['start', 'reversed', 'type'],
|
|
724
|
+
time: ['datetime'],
|
|
725
|
+
data: ['value'],
|
|
726
|
+
del: ['datetime'],
|
|
727
|
+
ins: ['datetime'],
|
|
728
|
+
},
|
|
729
|
+
// Only safe protocols. javascript:/vbscript: are not listed and are stripped.
|
|
730
|
+
allowedSchemes: ['http', 'https', 'mailto', 'tel'],
|
|
731
|
+
allowedSchemesByTag: {
|
|
732
|
+
img: ['http', 'https', 'data'],
|
|
733
|
+
source: ['http', 'https', 'data'],
|
|
734
|
+
video: ['http', 'https', 'data'],
|
|
735
|
+
audio: ['http', 'https', 'data'],
|
|
736
|
+
},
|
|
737
|
+
allowedSchemesAppliedToAttributes: ['href', 'src', 'srcset'],
|
|
738
|
+
allowProtocolRelative: true,
|
|
739
|
+
// Harden external links against reverse-tabnabbing.
|
|
740
|
+
transformTags: {
|
|
741
|
+
a: function (tagName, attribs) {
|
|
742
|
+
var href = attribs.href || '';
|
|
743
|
+
if (href.startsWith('http://') || href.startsWith('https://')) {
|
|
744
|
+
return { tagName: tagName, attribs: __assign(__assign({}, attribs), { target: '_blank', rel: 'noopener noreferrer' }) };
|
|
745
|
+
}
|
|
746
|
+
return { tagName: tagName, attribs: attribs };
|
|
747
|
+
},
|
|
748
|
+
},
|
|
749
|
+
});
|
|
750
|
+
};
|
|
667
751
|
export var query_string_for_object = function (query) {
|
|
668
752
|
var queryString = '';
|
|
669
753
|
if (query && !object_is_empty(query)) {
|
|
@@ -2598,6 +2682,67 @@ export var replace_purchase_template_values = function (s, purchase) {
|
|
|
2598
2682
|
}
|
|
2599
2683
|
return replaced;
|
|
2600
2684
|
};
|
|
2685
|
+
export var replace_calendar_event_template_values = function (s, event, options) {
|
|
2686
|
+
var _a, _b, _d;
|
|
2687
|
+
if (options === void 0) { options = {}; }
|
|
2688
|
+
if (!event)
|
|
2689
|
+
return s;
|
|
2690
|
+
if (typeof s !== 'string')
|
|
2691
|
+
return s;
|
|
2692
|
+
var i = 0;
|
|
2693
|
+
var start = 0;
|
|
2694
|
+
var templates = [];
|
|
2695
|
+
while (i < 100) {
|
|
2696
|
+
i++;
|
|
2697
|
+
start = s.indexOf('{{calendar_event.', start);
|
|
2698
|
+
if (start === -1)
|
|
2699
|
+
break;
|
|
2700
|
+
var end = s.indexOf('}}', start);
|
|
2701
|
+
if (end === -1)
|
|
2702
|
+
break;
|
|
2703
|
+
var match = s.substring(start, end + 2); // +2 accounts for '}}'
|
|
2704
|
+
var field = match.replace('{{calendar_event.', '').replace('}}', '');
|
|
2705
|
+
var replacement = '';
|
|
2706
|
+
if (field === 'Healthie ID') {
|
|
2707
|
+
replacement = (event.source === HEALTHIE_TITLE && event.externalId
|
|
2708
|
+
? event.externalId
|
|
2709
|
+
: (_b = (_a = event.references) === null || _a === void 0 ? void 0 : _a.find(function (r) { return r.type === HEALTHIE_TITLE; })) === null || _b === void 0 ? void 0 : _b.id) || '';
|
|
2710
|
+
}
|
|
2711
|
+
else if (field === 'id') {
|
|
2712
|
+
replacement = ((_d = event === null || event === void 0 ? void 0 : event._id) === null || _d === void 0 ? void 0 : _d.toString()) || '';
|
|
2713
|
+
}
|
|
2714
|
+
else if (field === 'start') {
|
|
2715
|
+
try {
|
|
2716
|
+
replacement = new Date(event.startTimeInMS).toISOString();
|
|
2717
|
+
}
|
|
2718
|
+
catch (_e) {
|
|
2719
|
+
replacement = '';
|
|
2720
|
+
}
|
|
2721
|
+
}
|
|
2722
|
+
else {
|
|
2723
|
+
var value = event[field];
|
|
2724
|
+
if (value == null) {
|
|
2725
|
+
replacement = '';
|
|
2726
|
+
}
|
|
2727
|
+
else if (typeof value === 'object') {
|
|
2728
|
+
replacement = options.objectToString === 'jsonEscaped'
|
|
2729
|
+
? JSON.stringify(JSON.stringify(value)).slice(1, -1)
|
|
2730
|
+
: JSON.stringify(value);
|
|
2731
|
+
}
|
|
2732
|
+
else {
|
|
2733
|
+
replacement = value.toString();
|
|
2734
|
+
}
|
|
2735
|
+
}
|
|
2736
|
+
templates.push({ match: match, replacement: replacement });
|
|
2737
|
+
start = end + 2;
|
|
2738
|
+
}
|
|
2739
|
+
var replaced = s.toString();
|
|
2740
|
+
for (var _i = 0, templates_2 = templates; _i < templates_2.length; _i++) {
|
|
2741
|
+
var _f = templates_2[_i], match = _f.match, replacement = _f.replacement;
|
|
2742
|
+
replaced = replaced.replace(match, replacement);
|
|
2743
|
+
}
|
|
2744
|
+
return replaced;
|
|
2745
|
+
};
|
|
2601
2746
|
export var replace_medication_template_values = function (s, medication) {
|
|
2602
2747
|
if (!medication)
|
|
2603
2748
|
return s;
|
|
@@ -2624,8 +2769,8 @@ export var replace_medication_template_values = function (s, medication) {
|
|
|
2624
2769
|
start = end + 2;
|
|
2625
2770
|
}
|
|
2626
2771
|
var replaced = s.toString();
|
|
2627
|
-
for (var _i = 0,
|
|
2628
|
-
var _a =
|
|
2772
|
+
for (var _i = 0, templates_3 = templates; _i < templates_3.length; _i++) {
|
|
2773
|
+
var _a = templates_3[_i], match = _a.match, replacement = _a.replacement;
|
|
2629
2774
|
replaced = replaced.replace(match, replacement);
|
|
2630
2775
|
}
|
|
2631
2776
|
return replaced;
|
|
@@ -2675,8 +2820,8 @@ export var replace_order_template_values = function (s, order) {
|
|
|
2675
2820
|
start = end + 2;
|
|
2676
2821
|
}
|
|
2677
2822
|
var replaced = s.toString();
|
|
2678
|
-
for (var _i = 0,
|
|
2679
|
-
var _b =
|
|
2823
|
+
for (var _i = 0, templates_4 = templates; _i < templates_4.length; _i++) {
|
|
2824
|
+
var _b = templates_4[_i], match = _b.match, replacement = _b.replacement;
|
|
2680
2825
|
replaced = replaced.replace(match, replacement);
|
|
2681
2826
|
}
|
|
2682
2827
|
return replaced;
|
|
@@ -2785,8 +2930,8 @@ export var replace_form_field_template_values = function (s, options) {
|
|
|
2785
2930
|
break;
|
|
2786
2931
|
}
|
|
2787
2932
|
var replaced = s.toString();
|
|
2788
|
-
for (var _i = 0,
|
|
2789
|
-
var _l =
|
|
2933
|
+
for (var _i = 0, templates_5 = templates; _i < templates_5.length; _i++) {
|
|
2934
|
+
var _l = templates_5[_i], match = _l.match, replacement = _l.replacement;
|
|
2790
2935
|
replaced = replaced.replace(match, replacement);
|
|
2791
2936
|
}
|
|
2792
2937
|
return replaced;
|
|
@@ -2811,8 +2956,8 @@ var replacer = function (prefix, s, handleMatch) {
|
|
|
2811
2956
|
start = end + 2;
|
|
2812
2957
|
}
|
|
2813
2958
|
var replaced = s.toString();
|
|
2814
|
-
for (var _i = 0,
|
|
2815
|
-
var _a =
|
|
2959
|
+
for (var _i = 0, templates_6 = templates; _i < templates_6.length; _i++) {
|
|
2960
|
+
var _a = templates_6[_i], match = _a.match, replacement = _a.replacement;
|
|
2816
2961
|
replaced = replaced.replace(match, replacement);
|
|
2817
2962
|
}
|
|
2818
2963
|
return replaced;
|
|
@@ -2876,8 +3021,8 @@ export var replace_enduser_template_values = function (s, enduser, options) {
|
|
|
2876
3021
|
start = end + 2;
|
|
2877
3022
|
}
|
|
2878
3023
|
var replaced = s.toString();
|
|
2879
|
-
for (var _i = 0,
|
|
2880
|
-
var _a =
|
|
3024
|
+
for (var _i = 0, templates_7 = templates; _i < templates_7.length; _i++) {
|
|
3025
|
+
var _a = templates_7[_i], match = _a.match, replacement = _a.replacement;
|
|
2881
3026
|
replaced = replaced.replace(match, replacement);
|
|
2882
3027
|
}
|
|
2883
3028
|
return replaced;
|
|
@@ -2971,8 +3116,12 @@ export var value_for_dotted_key = function (v, key, o) {
|
|
|
2971
3116
|
}
|
|
2972
3117
|
return value;
|
|
2973
3118
|
};
|
|
3119
|
+
var PROTO_POLLUTION_KEYS = new Set(['__proto__', 'constructor', 'prototype']);
|
|
2974
3120
|
export var add_value_for_dotted_key = function (_object, field, value) {
|
|
2975
3121
|
var keys = field.split('.');
|
|
3122
|
+
// Never write through a path that could reach Object.prototype / a constructor.
|
|
3123
|
+
if (keys.some(function (k) { return PROTO_POLLUTION_KEYS.has(k); }))
|
|
3124
|
+
return;
|
|
2976
3125
|
var object = _object;
|
|
2977
3126
|
for (var i = 0; i < keys.length; i++) {
|
|
2978
3127
|
var key = keys[i];
|