@toorieaa/sessionoptions

2.0.3 • Public • Published

1. Installing the package

npm i @toorieaa/sessionoptions

2. Import the module

import SessionOptions from "@toorieaa/sessionoptions";

3. How is it implemented?

import SingletonClassError from "@toorieaa/singletonclasserror";

class SessionOptions {
  static SESSION_CRYPTO_SESSION_LENGTH = 25;
  constructor() {
    throw new SingletonClassError();
  }

  static SESSION_EXPIRATION_OPTIONS = class SessionExpirationOptions {
    static #RATE = "minutes";
    static #AMOUNT_OF_TIME = "15";

    constructor() {
      throw new SingletonClassError();
    }

    static get RATE() {
      return SessionExpirationOptions.#RATE;
    }
    static get AMOUNT_OF_TIME() {
      return SessionExpirationOptions.#AMOUNT_OF_TIME;
    }

    static set RATE(value) {
      SessionExpirationOptions.#RATE = value;
    }

    static set AMOUNT_OF_TIME(value) {
      SessionExpirationOptions.#AMOUNT_OF_TIME = value;
    }
  };

  static SESSION_SLIDING_WINDOW_OPTIONS = class SessionSlidingWindowOptions {
    static #RATE = "days";
    static #AMOUNT_OF_TIME = "3";

    constructor() {
      throw new SingletonClassError();
    }

    static get RATE() {
      return SessionSlidingWindowOptions.#RATE;
    }
    static get AMOUNT_OF_TIME() {
      return SessionSlidingWindowOptions.#AMOUNT_OF_TIME;
    }

    static set RATE(value) {
      SessionSlidingWindowOptions.#RATE = value;
    }
    static set AMOUNT_OF_TIME(value) {
      SessionSlidingWindowOptions.#AMOUNT_OF_TIME = value;
    }
  };
}

export default SessionOptions;

3.1. License

[MIT]

Package Sidebar

Install

npm i @toorieaa/sessionoptions

Weekly Downloads

14

Version

2.0.3

License

ISC

Unpacked Size

8.81 kB

Total Files

4

Last publish

Collaborators

  • toorieaa