/// <summary> /// Generate NodeJS client code for given ServiceClient. /// </summary> /// <param name="serviceClient"></param> /// <returns></returns> public override async Task Generate(ServiceClient serviceClient) { var serviceClientTemplateModel = new ServiceClientTemplateModel(serviceClient); // Service client var serviceClientTemplate = new ServiceClientTemplate { Model = serviceClientTemplateModel, }; await Write(serviceClientTemplate, serviceClient.Name.ToCamelCase() + ".js"); //Models if (serviceClient.ModelTypes.Any()) { var modelIndexTemplate = new ModelIndexTemplate { Model = serviceClientTemplateModel }; await Write(modelIndexTemplate, Path.Combine("models", "index.js")); foreach (var modelType in serviceClientTemplateModel.ModelTemplateModels) { var modelTemplate = new ModelTemplate { Model = modelType }; await Write(modelTemplate, Path.Combine("models", modelType.Name.ToCamelCase() + ".js")); } } //MethodGroups if (serviceClientTemplateModel.MethodGroupModels.Any()) { var methodGroupIndexTemplate = new MethodGroupIndexTemplate { Model = serviceClientTemplateModel }; await Write(methodGroupIndexTemplate, Path.Combine("operations", "index.js")); foreach (var methodGroupModel in serviceClientTemplateModel.MethodGroupModels) { var methodGroupTemplate = new MethodGroupTemplate { Model = methodGroupModel }; await Write(methodGroupTemplate, Path.Combine("operations", methodGroupModel.MethodGroupType.ToCamelCase() + ".js")); } } }
/// <summary> /// Generate NodeJS client code for given ServiceClient. /// </summary> /// <param name="serviceClient"></param> /// <returns></returns> public override async Task Generate(ServiceClient serviceClient) { var serviceClientTemplateModel = new ServiceClientTemplateModel(serviceClient); // Service client var serviceClientTemplate = new ServiceClientTemplate { Model = serviceClientTemplateModel, }; await Write(serviceClientTemplate, serviceClient.Name.ToCamelCase() + ".js"); //Models if (serviceClient.ModelTypes.Any()) { var modelIndexTemplate = new ModelIndexTemplate { Model = serviceClientTemplateModel }; await Write(modelIndexTemplate, Path.Combine("models", "index.js")); foreach (var modelType in serviceClientTemplateModel.ModelTemplateModels) { var modelTemplate = new ModelTemplate { Model = modelType }; await Write(modelTemplate, Path.Combine("models", modelType.Name.ToCamelCase() + ".js")); } } //MethodGroups if (serviceClientTemplateModel.MethodGroupModels.Any()) { var methodGroupIndexTemplate = new MethodGroupIndexTemplate { Model = serviceClientTemplateModel }; await Write(methodGroupIndexTemplate, Path.Combine("operations", "index.js")); foreach (var methodGroupModel in serviceClientTemplateModel.MethodGroupModels) { var methodGroupTemplate = new MethodGroupTemplate { Model = methodGroupModel }; await Write(methodGroupTemplate, Path.Combine("operations", methodGroupModel.MethodGroupType.ToCamelCase() + ".js")); } } }