1988878087
- __defineGetter__, __defineSetter__, __lookupGetter__, __proto__
14 lines
405 B
JavaScript
14 lines
405 B
JavaScript
export const dangerousPropertyRegex = /^(constructor|__defineGetter__|__defineSetter__|__lookupGetter__|__proto__)$/;
|
|
|
|
export default function(instance) {
|
|
instance.registerHelper('lookup', function(obj, field) {
|
|
if (!obj) {
|
|
return obj;
|
|
}
|
|
if (dangerousPropertyRegex.test(String(field)) && !obj.propertyIsEnumerable(field)) {
|
|
return undefined;
|
|
}
|
|
return obj[field];
|
|
});
|
|
}
|