All Downloads are FREE. Search and download functionalities are using the official Maven repository.

typescript-angular.api.module.mustache Maven / Gradle / Ivy

There is a newer version: 7.6.0
Show newest version
import { NgModule, ModuleWithProviders, SkipSelf, Optional } from '@angular/core';
import { {{configurationClassName}} } from './configuration';
import { HttpClient } from '@angular/common/http';

{{#isProvidedInNone}}
{{#apiInfo}}
{{#apis}}
import { {{classname}} } from './{{importPath}}';
{{/apis}}
{{/apiInfo}}
{{/isProvidedInNone}}

@NgModule({
  imports:      [],
  declarations: [],
  exports:      [],
  providers: [{{#isProvidedInNone}}
    {{#apiInfo}}{{#apis}}{{classname}}{{^-last}},
    {{/-last}}{{/apis}}{{/apiInfo}} {{/isProvidedInNone}}]
})
export class {{apiModuleClassName}} {
    public static forRoot(configurationFactory: () => {{configurationClassName}}): ModuleWithProviders{{#enforceGenericModuleWithProviders}}<{{apiModuleClassName}}>{{/enforceGenericModuleWithProviders}} {
        return {
            ngModule: {{apiModuleClassName}},
            providers: [ { provide: {{configurationClassName}}, useFactory: configurationFactory } ]
        };
    }

    constructor( @Optional() @SkipSelf() parentModule: {{apiModuleClassName}},
                 @Optional() http: HttpClient) {
        if (parentModule) {
            throw new Error('{{apiModuleClassName}} is already loaded. Import in your base AppModule only.');
        }
        if (!http) {
            throw new Error('You need to import the HttpClientModule in your AppModule! \n' +
            'See also https://github.com/angular/angular/issues/20575');
        }
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy