import { Inject , Injectable } from '@angular/core' ; import { Router } from '@angular/router' ; import { BindQueryParamsManager } from './BindQueryParamsManager' ; import { BIND_QUERY_PARAMS_OPTIONS } from './options' ; import { BindQueryParamsOptions , QueryDefOptions } from './types' ; @ Injectable ( { providedIn : 'root' } ) export class BindQueryParamsFactory { constructor ( private router , @ Inject ( BIND_QUERY_PARAMS_OPTIONS ) private options ) { } create < T > ( defs , createOptions ? ) { return new BindQueryParamsManager < T > ( this . router , defs , this . options , createOptions ) ; } }