@lakea/gravity-cookie-adapter-ngx-cookie
An adapter for GrCookie
using ngx-cookie
as implementation.
Installation
Install the library using NPM:
npm install @lakea/gravity-cookie-adapter-ngx-cookie ngx-cookie --save
Next, create a new file, cookie-adapter-root.module.ts
which exposes an Angular's module with a default configuration.
import {NgModule} from '@angular/core';
import {CookieModule} from 'ngx-cookie';
import {GrCookie} from '@lakea/gravity/cdk';
import {GrCookieAdapterNgxCookie} from '@lakea/gravity-cookie-adapter-ngx-cookie';
@NgModule({
imports: [CookieModule.withOptions()],
providers: [
{
provide: GrCookie,
useClass: GrCookieAdapterNgxCookie,
},
],
})
export class CookieAdapterRootModule {}
Import CookieAdapterRootModule
to application root module like app.module.ts
.
You should import the CookieAdapterRootModule once in your root module.
The CookieAdapterRootModule
file imports the CookieModule
from ngx-cookie
library and provide the adapter implementation too.
To configure the ngx-cookie
library, read the docs here.
Creating your own adapter
Create your adapter implementation class extending GrCookie
abstraction:
import {Injectable} from '@angular/core';
import {GrCookie} from '@lakea/gravity/cdk';
@Injectable()
export class GrCookieAdapter extends GrCookie {
constructor() {
super();
}
public getItem(key: string): string {
}
public getObjectItem(key: string): object {
}
public removeAll(): void {
}
public removeItem(key: string): void {
}
public setItem(key: string, value: string): void {
}
public setObjectItem(key: string, value: object): void {
}
}
So, provide it on your application root module (maybe app.module.ts
), like this:
providers: [
{
provide: GrCookie,
useClass: GrCookieAdapter,
}
]