function resolveObject()

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;
}