Skip to content
This repository was archived by the owner on Nov 29, 2023. It is now read-only.

Commit f37eed2

Browse files
Merge pull request #985 from delcroip/patch-1
use map instead of object
2 parents d1197cc + 64a73f9 commit f37eed2

File tree

1 file changed

+7
-4
lines changed

1 file changed

+7
-4
lines changed

src/js/form-model.js

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ const FormModel = function (data, options) {
5050
options.full = typeof options.full !== 'undefined' ? options.full : true;
5151

5252
this.events = document.createElement('div');
53-
this.convertedExpressions = {};
53+
this.convertedExpressions = new Map();
5454
this.templates = {};
5555
this.loadErrors = [];
5656

@@ -1424,7 +1424,9 @@ FormModel.prototype.evaluate = function (
14241424
cacheable = original === expr;
14251425

14261426
// if no cached conversion exists
1427-
if (!this.convertedExpressions[cacheKey]) {
1427+
const cachedExpr = this.convertedExpressions.get(cacheKey);
1428+
1429+
if (cachedExpr === undefined) {
14281430
expr = expr.trim();
14291431
expr = this.replaceInstanceFn(expr);
14301432
expr = this.replaceVersionFn(expr);
@@ -1439,11 +1441,12 @@ FormModel.prototype.evaluate = function (
14391441
expr = expr.replace(/&lt;/g, '<');
14401442
expr = expr.replace(/&gt;/g, '>');
14411443
expr = expr.replace(/&quot;/g, '"');
1444+
14421445
if (cacheable) {
1443-
this.convertedExpressions[cacheKey] = expr;
1446+
this.convertedExpressions.set(cacheKey, expr);
14441447
}
14451448
} else {
1446-
expr = this.convertedExpressions[cacheKey];
1449+
expr = cachedExpr;
14471450
}
14481451

14491452
resultTypes = {

0 commit comments

Comments
 (0)