import { ITokenHandler, Tokens } from './ITokenHandler' import { FileTokenHandler } from './FileTokenHandler' import { OptionsTokenHandler } from './OptionsTokenHandler' export class TokenHandlerFactory{ static createTokenHandler(options?: Tokens): ITokenHandler { if(isOptionsPassed(options, 'access_token', 'url')){ return new OptionsTokenHandler(options) } return new FileTokenHandler() } } function isOptionsPassed(options: any, ...keys: string[]): boolean{ return options && [].every.call(keys, function(key: string){ return options[key] !== undefined }) }