var fluid = require("infusion"); var my = fluid.registerNamespace("my"); fluid.registerNamespace("my.base.grade"); my.base.grade.expander = function () { return { fromBase: true }; }; fluid.defaults("my.base.grade", { gradeNames: ["fluid.component"], // expanded: "@expand:my.base.grade.expander()" expanded: { expander: { func: "my.base.grade.expander", args: [] } } }); fluid.defaults("my.extended.grade", { gradeNames: ["my.base.grade"], // expanded: false // <-- merged over the inherited option // Not merged. expanded: { fromExtended: true } }); var component = my.extended.grade(); console.log(JSON.stringify(component.options.expanded)); // { "fromBase": true }