Skip to content

Commit f119fe3

Browse files
80avinbrettz9
authored andcommitted
feat: add typeof operator to safe script
1 parent b70aa71 commit f119fe3

29 files changed

+396
-281
lines changed

badges/coverage-badge.svg

+1-1
Loading

badges/tests-badge.svg

+1-1
Loading

dist/index-browser-esm.js

+3-1
Original file line numberDiff line numberDiff line change
@@ -1200,6 +1200,7 @@ const plugin = {
12001200

12011201
// register plugins
12021202
jsep.plugins.register(index, plugin);
1203+
jsep.addUnaryOp('typeof');
12031204
const SafeEval = {
12041205
/**
12051206
* @param {jsep.Expression} ast
@@ -1318,7 +1319,8 @@ const SafeEval = {
13181319
'!': a => !SafeEval.evalAst(a, subs),
13191320
'~': a => ~SafeEval.evalAst(a, subs),
13201321
// eslint-disable-next-line no-implicit-coercion -- API
1321-
'+': a => +SafeEval.evalAst(a, subs)
1322+
'+': a => +SafeEval.evalAst(a, subs),
1323+
typeof: a => typeof SafeEval.evalAst(a, subs)
13221324
}[ast.operator](ast.argument);
13231325
return result;
13241326
},

dist/index-browser-esm.min.js

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/index-browser-esm.min.js.map

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/index-browser-umd.cjs

+3-1
Original file line numberDiff line numberDiff line change
@@ -1206,6 +1206,7 @@
12061206

12071207
// register plugins
12081208
jsep.plugins.register(index, plugin);
1209+
jsep.addUnaryOp('typeof');
12091210
const SafeEval = {
12101211
/**
12111212
* @param {jsep.Expression} ast
@@ -1324,7 +1325,8 @@
13241325
'!': a => !SafeEval.evalAst(a, subs),
13251326
'~': a => ~SafeEval.evalAst(a, subs),
13261327
// eslint-disable-next-line no-implicit-coercion -- API
1327-
'+': a => +SafeEval.evalAst(a, subs)
1328+
'+': a => +SafeEval.evalAst(a, subs),
1329+
typeof: a => typeof SafeEval.evalAst(a, subs)
13281330
}[ast.operator](ast.argument);
13291331
return result;
13301332
},

dist/index-browser-umd.min.cjs

+1-1
Large diffs are not rendered by default.

dist/index-browser-umd.min.cjs.map

+1-1
Large diffs are not rendered by default.

dist/index-node-cjs.cjs

+3-1
Original file line numberDiff line numberDiff line change
@@ -1201,6 +1201,7 @@ const plugin = {
12011201

12021202
// register plugins
12031203
jsep.plugins.register(index, plugin);
1204+
jsep.addUnaryOp('typeof');
12041205
const SafeEval = {
12051206
/**
12061207
* @param {jsep.Expression} ast
@@ -1319,7 +1320,8 @@ const SafeEval = {
13191320
'!': a => !SafeEval.evalAst(a, subs),
13201321
'~': a => ~SafeEval.evalAst(a, subs),
13211322
// eslint-disable-next-line no-implicit-coercion -- API
1322-
'+': a => +SafeEval.evalAst(a, subs)
1323+
'+': a => +SafeEval.evalAst(a, subs),
1324+
typeof: a => typeof SafeEval.evalAst(a, subs)
13231325
}[ast.operator](ast.argument);
13241326
return result;
13251327
},

dist/index-node-esm.js

+3-1
Original file line numberDiff line numberDiff line change
@@ -1199,6 +1199,7 @@ const plugin = {
11991199

12001200
// register plugins
12011201
jsep.plugins.register(index, plugin);
1202+
jsep.addUnaryOp('typeof');
12021203
const SafeEval = {
12031204
/**
12041205
* @param {jsep.Expression} ast
@@ -1317,7 +1318,8 @@ const SafeEval = {
13171318
'!': a => !SafeEval.evalAst(a, subs),
13181319
'~': a => ~SafeEval.evalAst(a, subs),
13191320
// eslint-disable-next-line no-implicit-coercion -- API
1320-
'+': a => +SafeEval.evalAst(a, subs)
1321+
'+': a => +SafeEval.evalAst(a, subs),
1322+
typeof: a => typeof SafeEval.evalAst(a, subs)
13211323
}[ast.operator](ast.argument);
13221324
return result;
13231325
},

0 commit comments

Comments
 (0)