index.d.ts 910 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. declare class Tokens {
  2. /**
  3. * Token generation/verification class.
  4. */
  5. constructor(options?: Tokens.Options);
  6. /**
  7. * Create a new CSRF token.
  8. */
  9. create(secret: string): string;
  10. /**
  11. * Create a new secret key.
  12. */
  13. secret(): Promise<string>;
  14. /**
  15. * Create a new secret key.
  16. */
  17. secret(callback: Tokens.SecretCallback): void;
  18. /**
  19. * Create a new secret key synchronously.
  20. */
  21. secretSync(): string;
  22. /**
  23. * Verify if a given token is valid for a given secret.
  24. */
  25. verify(secret: string, token: string): boolean;
  26. }
  27. declare namespace Tokens {
  28. export type SecretCallback = (err: Error | null, secret: string) => void;
  29. export interface Options {
  30. /**
  31. * The string length of the salt (default: 8)
  32. */
  33. saltLength?: number;
  34. /**
  35. * The byte length of the secret key (default: 18)
  36. */
  37. secretLength?: number;
  38. }
  39. }
  40. export = Tokens;