Skip to content

Commit

Permalink
Loop the modules properties without prototype methods. Fixes firebase…
Browse files Browse the repository at this point in the history
  • Loading branch information
matheo committed Oct 6, 2019
1 parent b0d3b8f commit 481a26b
Showing 1 changed file with 17 additions and 19 deletions.
36 changes: 17 additions & 19 deletions src/extractTriggers.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,28 +5,26 @@

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];
}
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 + "-");
}
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 481a26b

Please sign in to comment.