@sudoo/marked
Version:
JavaScript & TypeScript code runner in JavaScript, safe with marked territory, asynchronous
28 lines (27 loc) • 1.04 kB
JavaScript
;
/**
* @author WMXPY
* @namespace Operation_MemberExpression
* @description Sand RegExp
*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.memberExpressionSandRegExp = void 0;
const error_code_1 = require("../../declare/error-code");
const error_1 = require("../../util/error/error");
const wrap_member_function_1 = require("../../util/wrap-member-function");
const memberExpressionSandRegExp = (sandbox, regexp, key) => {
switch (key) {
case "test": {
return (0, wrap_member_function_1.wrapMemberFunction)(sandbox, (target) => {
return regexp.toNativeRegExp().test(target);
});
}
case "toString": {
return (0, wrap_member_function_1.wrapMemberFunction)(sandbox, () => {
return regexp.toNativeRegExp().toString();
});
}
}
throw (0, error_1.error)(error_code_1.ERROR_CODE.ONLY_STRING_AVAILABLE_FOR_REGEXP);
};
exports.memberExpressionSandRegExp = memberExpressionSandRegExp;