in src/generator.js [134:162]
function resolveObject(lang, config, ast, dependencies) {
const objects = [];
// combine client code
const clientObjectItem = resolveAST(lang, config, 'client', ast, ast);
objects.push(clientObjectItem);
// combine model code
ast.moduleBody.nodes.filter((item) => {
return item.type === 'model';
}).forEach((model) => {
const modelName = model.modelName.lexeme;
const modelObjectItem = resolveAST(lang, config, 'model', model, ast);
if (ast.models) {
Object.keys(ast.models).filter((key) => {
return key.startsWith(modelName + '.');
}).forEach((key) => {
const subModel = ast.models[key];
const subModelObjectItem = resolveAST(lang, config, 'model', subModel, ast);
modelObjectItem.subObject.push(subModelObjectItem);
});
}
objects.push(modelObjectItem);
});
const combinator = getCombinator(lang, config, dependencies);
combinator.combine(objects);
return objects;
}