index.ts
938 Bytes
import { HttpModule, Http } from '@angular/http';
import { NgModule, ModuleWithProviders } from '@angular/core';
import { Rest } from './services/rest';
import { Repository } from './services/repository';
import { Device } from './services/device';
export { Rest } from './services/rest';
export { Repository } from './services/repository';
export { Device } from './services/device';
export function provideRest(http:Http) : Rest {
return new Rest(http);
}
export function provideRepository(rest:Rest) : Repository {
return new Repository(rest, new Device);
}
@NgModule({
imports : [
HttpModule
]
})
export class DigsigServicesModule {
static forRoot(): ModuleWithProviders {
return {
ngModule: DigsigServicesModule,
providers: [
{ provide: Rest, useFactory:provideRest, deps:[Http] } ,
{ provide: Repository, useFactory:provideRepository, deps:[Rest] }
]
}
}
}