File

src/index.ts

import {NgModule, ModuleWithProviders, InjectionToken} from '@angular/core';
import {CacheService} from './ngx-cache-layer.service';
import {CacheServiceConfigInterface} from './ngx-cache-layer.interfaces';

export const CACHE_MODULE_CONFIG = new InjectionToken< CacheServiceConfigInterface >( 'module.config' );

export const CACHE_MODULE_DI_CONFIG = <CacheServiceConfigInterface> {
  deleteOnExpire: 'aggressive',
  cacheFlushInterval: 60 * 60 * 1000,
  maxAge: 15 * 60 * 1000
};

@NgModule()
export class CacheModule {
  static forRoot(config?: CacheServiceConfigInterface): ModuleWithProviders {
    return {
      ngModule: CacheModule,
      providers: [
        { provide: CACHE_MODULE_CONFIG, useValue: config || CACHE_MODULE_DI_CONFIG },
        CacheService
      ]
    };
  }
}

export * from './ngx-cache-layer.service';
export * from './ngx-cache-layer.layer';
export * from './ngx-cache-layer.interfaces';

results matching ""

    No results matching ""