@tramvai/module-cookie
TypeScript icon, indicating that this package has built-in type declarations

3.40.26 • Public • Published

CookieModule

Module for cookie parsing and setting. The module is provided with the @tramvai/module-common.

Installation

Module is already provided with the @tramvai/module-common so no additional actions are needed if you are already use common module. Otherwise install @tramvai/module-cookie manually.

Explanation

Implements interface CookieManager and adds provider COOKIE_MANAGER_TOKEN from the @tramvai/module-common

Features

  • Isomorphic code that works on server and client
  • Uses deduplication for the same cookie entries on server
  • Uses secure parameter by default

How to

Get cookie

import { Module, provide } from '@tramvai/core';
import { COOKIE_MANAGER_TOKEN } from '@tramvai/module-common';

@Module({
  providers: [
    provide({
      provide: 'my_module',
      useFactory: ({ cookie }) => {
        cookie.get('sid'); // > ads.api3
      },
      deps: {
        cookie: COOKIE_MANAGER_TOKEN,
      },
    }),
  ],
})
class MyModule {}

Exported tokens

COOKIE_MANAGER_TOKEN

Instance of cookie manager

interface CookieSetOptions {
  name: string;
  value: string;
  expires?: number | Date | string;
  domain?: string;
  path?: string;
  secure?: boolean;
  httpOnly?: boolean;
  sameSite?: boolean | 'lax' | 'strict' | 'none';
}

interface CookieManager {
  get(name: any): string;
  all(): Record<string, string>;
  set({ name, value, ...options }: CookieSetOptions): void;
  remove(name: string): void;
}

Readme

Keywords

none

Package Sidebar

Install

npm i @tramvai/module-cookie

Weekly Downloads

656

Version

3.40.26

License

Apache-2.0

Unpacked Size

18.4 kB

Total Files

17

Last publish

Collaborators

  • meskill
  • super_oleg
  • tinkoffbank