import MemoryStore from './MemoryStore';
import CookieStore from './CookieStore';
import {
    Router,
    IParameter,
    VaderContext,
} from '@t2ee/vader';

let _store: CookieStore = null;

export function bind(router: Router, provider: CookieStore = new MemoryStore()) {
    _store = provider;
    router.provide('cookieman:inject-cookie', async (parameter: IParameter, context: VaderContext) => {
        return context['cookieman:cookie-instance'];
    });
}

export function store(): CookieStore {
    return _store;
}
