Skip to content

Commit

Permalink
Loop the modules properties without prototype methods. Fixes #1687 (#…
Browse files Browse the repository at this point in the history
  • Loading branch information
matheo authored and bkendall committed Oct 8, 2019
1 parent 31478ca commit 1829c39
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 20 deletions.
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
* Added support for managing the Realtime Database setting `strictTriggerValidation`.
* Fixes trigger parser to not rely on prototype methods (#1687).
36 changes: 16 additions & 20 deletions src/extractTriggers.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,28 +5,24 @@

var extractTriggers = function(mod, triggers, prefix) {
prefix = prefix || "";
for (var funcName in mod) {
if (mod.hasOwnProperty(funcName)) {
var child = mod[funcName];
if (typeof child === "function" && child.__trigger && typeof child.__trigger === "object") {
if (funcName.indexOf("-") >= 0) {
throw new Error(
'Function name "' + funcName + '" is invalid. Function names cannot contain dashes.'
);
}
for (var funcName of Object.keys(mod)) {
var child = mod[funcName];
if (typeof child === "function" && child.__trigger && typeof child.__trigger === "object") {
if (funcName.indexOf("-") >= 0) {
throw new Error(
'Function name "' + funcName + '" is invalid. Function names cannot contain dashes.'
);
}

var trigger = {};
for (var key in child.__trigger) {
if (child.__trigger.hasOwnProperty(key)) {
trigger[key] = child.__trigger[key];
}
}
trigger.name = prefix + funcName;
trigger.entryPoint = trigger.name.replace(/-/g, ".");
triggers.push(trigger);
} else if (typeof child === "object") {
extractTriggers(child, triggers, prefix + funcName + "-");
var trigger = {};
for (var key of Object.keys(child.__trigger)) {
trigger[key] = child.__trigger[key];
}
trigger.name = prefix + funcName;
trigger.entryPoint = trigger.name.replace(/-/g, ".");
triggers.push(trigger);
} else if (typeof child === "object") {
extractTriggers(child, triggers, prefix + funcName + "-");
}
}
};
Expand Down

0 comments on commit 1829c39

Please sign in to comment.