diff --git a/docs/site/assets/navigation.js b/docs/site/assets/navigation.js index 18c5274..81b9a4e 100644 --- a/docs/site/assets/navigation.js +++ b/docs/site/assets/navigation.js @@ -1 +1 @@ -window.navigationData = "data:application/octet-stream;base64,H4sIAAAAAAAACrWbW2/bOBCF/4v6mnY3abbo5rFtUBRIiyLZPhWFoNiMI8SWUlsOulj0vy90sczbzJyRmFf78JujIW16hvT3/7LG/Gqyi8xU+80uO8kei+Y+u8g29XK/Nrs/updf3TebdXaSPZTVMrs4O8kW9+V6uTVVdvF9BLwvdmVVXz6ZqmE5LzxhDz0//fv89Z/nv0+ivMtqv/nckWCyM4SKoaIruFf16so8mTXLs0QSB7UY11P0r/WD2X69L3bmS7HhwYEUY6K+uVFspBtTNMCSC7UgVeOfGEVFui6qBxY6CLjxqL9QS1Fv6v12wcNGCc9AvcXUJHlfNjysF3DjYV+BlqIabgHm/bupvkJt3LN8k5IBEn4onRjP99nkwkBPs+gen6fnvWjG/Ha0KNPWuwHe/v5h+Xw8PJtgddRBbsm5jBg+kr1RoW3b+JrfJ/PD+5DfcNO1jY6oqygzktDjfkTZ82R4ViObru3V57pjOONbelPJ2/cgi+7OZBvrENcBx/Ww47aQvH8X8uHvRbaTAXMToXlu6C0jb9/DnDgQx0eLuAk4/kIvq6X5FdroXoYcvCt2pvtEXW7KpjFbjvUiIqa+4nzpp6ox27siNn9MAHuUGEkZYhqb2hjYCOKG0A7RhtDRP9fL2Nehxzyo6B1/u2Qhg4Ab/76u7sqVSBllHAubcl8JEYFZiOs5ujwLtor/3SVgBgny2w0gJfstSJChn039AHTOfS1IhY1rZr7VI3Nv6yjaB7OIbMUWZhBw47Ec+kqICOQvrufocu5sFdmVibeiLMpBMb2vY8Pwlb0yldkWjflWlT/35hP/HRsRU9wxy/xjOzKKta5XK+H3wShh+k4So5e8PBUpwD7iCXke9pkItSAVWDDUCD6C/NlwdfreootK0luMILFPSvcU/GoeJWy9/zHamrQwtkokAYsx1IpUbElG5TgbmCJmkBhHXp6BVO4Bo+l2xTJXkfBAr6CjKSdGTe27R/Hp+u4kXnNqsC7+FTYIVwfQ4MXiqgGyZrkEAzR8OOXEMCAW+Dl1xSz3uq43MnBQiSR0Fh2tSFXMoC/H2ejsxQeJccCZs6ViJ1zGDSqRhM6bo518DBCjpuz/03zdMYZi3flynK15COW6a4eA686Wssx/ilvE7UEms9Cl54plrmLyAr2Cjk4fMUqOBE6go9WdOluouafOHmreqbMFS3HqHODmnDrbsJmnzh4Kc/WtKYUC66BwCe6xBNd3OLw36YCC/fA55Gc8TSDipD5SkMKkOlcI4+ja2vQXrUtO09cPmQmb+ww8RX/axydvUrMBoF6rwn/iBjEDB3th6EJM1xiMcZN2B9kAeBsGzUzqLhVBT92qksIoeieqTCVtMFH85F0mMZCmcaDLV9oeCxkhfaNFDoVX7KqUJWxoEPTUXQ0pDF5iqhKl6yBoE/UcZbgURlHLqTKVtOCl+MmrXjGQmK78ttix6LxTpKpLjtwwBDncC/7XG6ewuj0MY59iVOmeBH6EIz8cy/tfEBeIRnQrAO+8hnVH3G2HPMpDg2LtIXDhZ6eu7VhI5Z1fhVnr5i9oeEncNBmhrQAyS9QVcasd1RnB26QvJozIXoLe9o0UEnGnA9Yewq0uspwA6GAuHrmj7ZE8qqCMkDVE3PYR7g3kUsMVE3AYTY6637tykjoZnqVoAcH47/H+UDFRVCmhiKTKFXko68XodIpsResH7iH6AMFgOWFUKaEKpskZdfjpxmhVeL5ipQPzAB3cGyhmiqgh4DCaHFEHjS5f/78SRY7cv5aAOSLKBziMJkfkoZgboJPhWYqWDIz/Hu8PFRNFFQ+KSGyu7GxtiIth/euTftKzMO2fIYjDNp847Qa+TQGu4ANe5txDdznQRXTI0fTb0TYHuB4NuEHuG1O3XW3OFXZlFnCE3fJk7j7aMNXlR8Cc8o4f8YMjIGqugaEuZ99wCojoFSfU4cybPAEPvcqD+pt74yMA4lc+UIvQnQaiXdTDZrSKjsjFutjtfKQvd2Ocnr0FOioDUNVNIW2NjQ7JCbcd6HsbjB+rl8F7ircwBo6qfUG6GdsVvBOqSzFQ1B0K0o/TNuA9Md2CATaxU0Cai1TtgEWiWLeZUwp13qVfMSM+2X1rTpEsWA1KVcAst3lNrU55m26lCFjk9q+pxSFv0S3UAIvsFja9NuNd+kVSzKftdB+/0tW9DBmT/592ZGn+n0Z9KVo08T9loLfc18188Lt9tWjKuiLxfLw359Du0LMVm4MPeiq2ZbtEPFSM+PqsWzY//gfoycouvEsAAA==" \ No newline at end of file +window.navigationData = "data:application/octet-stream;base64,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" \ No newline at end of file diff --git a/docs/site/assets/search.js b/docs/site/assets/search.js index 4c0ae29..b6920b3 100644 --- a/docs/site/assets/search.js +++ b/docs/site/assets/search.js @@ -1 +1 @@ -window.searchData = "data:application/octet-stream;base64,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"; \ No newline at end of file +window.searchData = "data:application/octet-stream;base64,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"; \ No newline at end of file diff --git a/docs/site/classes/models__base.BaseEventEmitter.html b/docs/site/classes/models__base.BaseEventEmitter.html index 4f41fe7..c8fa716 100644 --- a/docs/site/classes/models__base.BaseEventEmitter.html +++ b/docs/site/classes/models__base.BaseEventEmitter.html @@ -17,7 +17,7 @@
const casino = new BaseEventEmitter();
casino.on('casino:roomCreated', (room) => console.log(`Room created: ${room.name}`));
const room = casino.createRoom({ name: "Room1", tableSize: 6, smallBlind: 10, bigBlind: 20 });
console.log(room); // Logs details of "Room1"
-

Hierarchy (view full)

Implements

Constructors

Hierarchy (view full)

Implements

Constructors

Properties

Returns BaseEventEmitter

const casino = new BaseEventEmitter();
console.log(casino.getRooms()); // Output: []
-

Properties

captureRejections: boolean

Value: boolean

+

Properties

captureRejections: boolean

Value: boolean

Change the default captureRejections option on all new EventEmitter objects.

v13.4.0, v12.16.0

captureRejectionSymbol: typeof captureRejectionSymbol

Value: Symbol.for('nodejs.rejection')

@@ -125,7 +126,7 @@
  • event: {
        data: {
            [key: string]: any;
        };
        [key: string]: any;
    }
    • [key: string]: any
    • data: {
          [key: string]: any;
      }
      • [key: string]: any
  • Optionalmiddlewares?: ((event: BaseEventInterface<any>, next: (() => void)) => false | void)[]

Returns void

emitter.emitEvent("game:started", {
event: { data: { gameId: "001", status: "active" } },
middlewares: [
(event, next) => { console.log("Processing event:", event); next(); },
(event, next) => { event.data.processed = true; next(); }
]
});
-
  • Returns an array listing the events for which the emitter has registered +

  • Returns an array listing the events for which the emitter has registered listeners. The values in the array are strings or Symbols.

    import { EventEmitter } from 'node:events';

    const myEE = new EventEmitter();
    myEE.on('foo', () => {});
    myEE.on('bar', () => {});

    const sym = Symbol('symbol');
    myEE.on(sym, () => {});

    console.log(myEE.eventNames());
    // Prints: [ 'foo', 'bar', Symbol(symbol) ]
    @@ -145,7 +146,38 @@

    Type Parameters

    • K

    Parameters

    • eventName: string | symbol

    Returns Function[]

    v0.1.26

    -
  • Alias for emitter.removeListener().

    +
  • The emitEvent method is a public method for emitting events, with an optional configuration that allows +middleware processing. Middleware functions can intercept and transform the event before it reaches the listeners, +allowing custom validation or data modifications.

    +

    This method enables flexible event emission with support for middleware, providing a robust event processing +mechanism in the BaseEventEmitter. It’s useful for customizing event behavior based on application-specific needs.

    +

    N/A

    +

    N/A

    +

    This method can emit any event specified by eventName, which can then be processed by middleware functions if defined.

    +
      +
    • eventName: string - The name of the event to emit.
    • +
    • options: { event: { data: { [key: string]: any }; [key: string]: any; }, middlewares?: Array<(event: BaseEventInterface, next: () => void) => void | false> } +
        +
      • event - The primary event data to emit, containing specific details.
      • +
      • middlewares - An optional array of middleware functions that process the event before emission.
      • +
      +
    • +
    +
      +
    • eventName must be a valid string.
    • +
    • options.event should include relevant data for the event. If middlewares are provided, they should be functions with an event and next parameter.
    • +
    +
      +
    • void - This method does not return a value.
    • +
    +

    Use this method to emit events with middleware-based customization, which allows for specific processing +logic or transformations before the event reaches listeners.

    +

    Parameters

    • eventName: string

      The name of the event to emit.

      +
    • options: {
          handler: ((event: BaseEventInterface<any>) => void);
          middlewares?: ((event: BaseEventInterface<any>, next: (() => void)) => false | void)[];
      }

      Configuration for the event and optional middleware functions.

      +

    Returns void

    emitter.emitEvent("game:started", {
    event: { data: { gameId: "001", status: "active" } },
    middlewares: [
    (event, next) => { console.log("Processing event:", event); next(); },
    (event, next) => { event.data.processed = true; next(); }
    ]
    }); +
    + +
  • Alias for emitter.removeListener().

    Type Parameters

    • K

    Parameters

    • eventName: string | symbol
    • listener: ((...args: any[]) => void)
        • (...args): void
        • Parameters

          • Rest...args: any[]

          Returns void

    Returns this

    v10.0.0

  • Adds the listener function to the end of the listeners array for the event named eventName. No checks are made to see if the listener has already @@ -328,4 +360,4 @@

  • Rest...eventTargets: (EventEmitter<DefaultEventMap> | EventTarget)[]

    Zero or more {EventTarget} or {EventEmitter} instances. If none are specified, n is set as the default max for all newly created {EventTarget} and {EventEmitter} objects.

Returns void

v15.4.0

-
+
diff --git a/docs/site/classes/models_card.Card.html b/docs/site/classes/models_card.Card.html index a7fa59f..85cc74d 100644 --- a/docs/site/classes/models_card.Card.html +++ b/docs/site/classes/models_card.Card.html @@ -7,7 +7,7 @@
const card = new Card(Rank.Ace, Suit.Spades);
console.log(card.toString()); // "A of Spades"
-

Implements

Constructors

Implements

Constructors

Methods

getRank getSuit toObj @@ -18,28 +18,28 @@

Returns Card

const card = new Card(Rank.Ace, Suit.Spades);
 
-

Methods

Methods

  • toObj

    Returns an object representation of the card, containing its rank and suit.

    -

    Returns {
        rank: Rank;
        suit: Suit;
    }

    The card's rank and suit as an object.

    -
    const cardObj = card.toObj();
    console.log(cardObj); // { rank: "A", suit: "Spades" } +

    Returns {
        rank: Rank;
        suit: Suit;
    }

    The card's rank and suit as an object.

    +
    const cardObj = card.toObj();
    console.log(cardObj); // { rank: "A", suit: "Spades" }
    -
  • toString

    Returns a string representation of the card, displaying its rank and suit.

    Returns string

    The card's rank and suit as a formatted string.

    const description = card.toString();
    console.log(description); // "A of Spades"
    -
+
diff --git a/docs/site/classes/models_casino.Casino.html b/docs/site/classes/models_casino.Casino.html index 9563d2b..5350fae 100644 --- a/docs/site/classes/models_casino.Casino.html +++ b/docs/site/classes/models_casino.Casino.html @@ -14,7 +14,7 @@
const casino = new Casino();
casino.on('casino:roomCreated', (room) => console.log(`Room created: ${room.name}`));
const room = casino.createRoom({ name: "Room1", tableSize: 6, smallBlind: 10, bigBlind: 20 });
console.log(room); // Logs details of "Room1"
-

Hierarchy (view full)

Implements

Constructors

Hierarchy (view full)

Implements

Constructors

Properties

Returns Casino

const casino = new Casino();
console.log(casino.getRooms()); // Output: []
-

Properties

captureRejections: boolean

Value: boolean

+

Properties

captureRejections: boolean

Value: boolean

Change the default captureRejections option on all new EventEmitter objects.

v13.4.0, v12.16.0

captureRejectionSymbol: typeof captureRejectionSymbol

Value: Symbol.for('nodejs.rejection')

@@ -121,7 +122,7 @@
const casino = new Casino();
const room = new PokerRoom({ name: "HighRollers", tableSize: 6, smallBlind: 10, bigBlind: 20 });
const rooms = casino.addRoom(room);
console.log(rooms); // Updated rooms list with the new room
-
  • Adds multiple PokerRoom instances to the Casino's list of managed rooms.

    N/A

    N/A

    Enables efficient management of batch room additions within the Casino, ensuring all rooms are processed together.

    @@ -145,7 +146,7 @@
    const extendedCasino = new Casino();
    const rooms = [new PokerRoom({ name: "VIP Room", tableSize: 8, smallBlind: 50, bigBlind: 100 })];
    extendedCasino.addRooms(rooms); // Adds VIP rooms to the Casino
    -
  • Creates a new PokerRoom instance based on the provided configuration and adds it to the Casino's rooms list.

    N/A

    N/A

    Allows the Casino to dynamically create new rooms as needed by providing specific room configurations.

    @@ -167,7 +168,7 @@
    class SpecialCasino extends Casino {
    public createSpecialRoom(config: PokerRoomConfig): PokerRoomInterface {
    return this._createRoom(config);
    }
    }
    const specialCasino = new SpecialCasino();
    const newRoom = specialCasino.createSpecialRoom({ name: "Champions Lounge", tableSize: 10, smallBlind: 100, bigBlind: 200 });
    console.log(newRoom.getName()); // Outputs: "Champions Lounge"
    -
  • Removes a PokerRoom from the Casino's list based on the room's index, providing controlled removal of rooms.

    N/A

    N/A

    Allows for the safe removal of a specific room from the Casino’s list.

    @@ -191,7 +192,7 @@
    const casino = new Casino();
    const room = casino.createRoom({ name: "HighRollers", tableSize: 6, smallBlind: 10, bigBlind: 20 });
    const rooms = casino.deleteRoom(room);
    console.log(rooms); // Updated rooms list without the deleted room
    -
  • Sets the complete list of rooms managed by the Casino with a new array of PokerRoomInterface objects.

    N/A

    N/A

    This protected method allows subclasses of Casino to modify the entire __rooms property, which can be used @@ -217,7 +218,7 @@

    class ExtendedCasino extends Casino {
    public resetRooms(newRooms: PokerRoomInterface[]): PokerRoomInterface[] {
    return this._setRooms(newRooms);
    }
    }
    const extendedCasino = new ExtendedCasino();
    const rooms = [new PokerRoom({ name: "VIP", tableSize: 8, smallBlind: 50, bigBlind: 100 })];
    extendedCasino.resetRooms(rooms); // Resets the Casino's rooms list
    -
  • Alias for emitter.on(eventName, listener).

    Type Parameters

    • K

    Parameters

    • eventName: string | symbol
    • listener: ((...args: any[]) => void)
        • (...args): void
        • Parameters

          • Rest...args: any[]

          Returns void

    Returns this

    v0.1.26

  • Adds a new PokerRoom instance to the Casino's list of managed rooms, enabling dynamic expansion of rooms within the Casino environment.

    @@ -243,7 +244,7 @@
    const casino = new Casino();
    const room = new PokerRoom({ name: "HighRollers", tableSize: 6, smallBlind: 10, bigBlind: 20 });
    const success = casino.addRoom(room);
    console.log(success); // true
    -
  • Adds multiple PokerRoom instances to the Casino's list of managed rooms in a single operation, enabling efficient and scalable room management.

    N/A

    N/A

    @@ -269,7 +270,7 @@
    const casino = new Casino();
    const rooms = [
    new PokerRoom({ name: "Room1", tableSize: 5, smallBlind: 5, bigBlind: 10 }),
    new PokerRoom({ name: "Room2", tableSize: 6, smallBlind: 10, bigBlind: 20 })
    ];
    const success = casino.addRooms(rooms);
    console.log(success); // true if both rooms were added successfully
    -
  • Creates a new PokerRoom within the Casino and adds it to the list of rooms.

    Implements the createRoom method of CasinoInterface.

    N/A

    Enables the dynamic creation and addition of a PokerRoom to the Casino, expanding the Casino’s managed rooms as required. @@ -296,7 +297,7 @@

    const casino = new Casino();
    const room = casino.createRoom({ name: "HighRollers", tableSize: 6, smallBlind: 10, bigBlind: 20 });
    console.log(casino.getRooms()); // Logs the new room within the array of rooms
    -
  • Removes a PokerRoom from the Casino's list of managed rooms based on the room's name, enabling dynamic contraction of the Casino environment as required.

    N/A

    N/A

    @@ -324,7 +325,7 @@
    const casino = new Casino();
    casino.createRoom({ name: "HighRollers", tableSize: 6, smallBlind: 10, bigBlind: 20 });
    const success = casino.deleteRoom("HighRollers");
    console.log(success); // true if room was found and removed, false otherwise
    -
  • Synchronously calls each of the listeners registered for the event named eventName, in the order they were registered, passing the supplied arguments to each.

    Returns true if the event had listeners, false otherwise.

    import { EventEmitter } from 'node:events';
    const myEmitter = new EventEmitter();

    // First listener
    myEmitter.on('event', function firstListener() {
    console.log('Helloooo! first listener');
    });
    // Second listener
    myEmitter.on('event', function secondListener(arg1, arg2) {
    console.log(`event with parameters ${arg1}, ${arg2} in second listener`);
    });
    // Third listener
    myEmitter.on('event', function thirdListener(...args) {
    const parameters = args.join(', ');
    console.log(`event with parameters ${parameters} in third listener`);
    });

    console.log(myEmitter.listeners('event'));

    myEmitter.emit('event', 1, 2, 3, 4, 5);

    // Prints:
    // [
    // [Function: firstListener],
    // [Function: secondListener],
    // [Function: thirdListener]
    // ]
    // Helloooo! first listener
    // event with parameters 1, 2 in second listener
    // event with parameters 1, 2, 3, 4, 5 in third listener @@ -362,7 +363,7 @@
    • event: {
          data: {
              [key: string]: any;
          };
          [key: string]: any;
      }
      • [key: string]: any
      • data: {
            [key: string]: any;
        }
        • [key: string]: any
    • Optionalmiddlewares?: ((event: BaseEventInterface<any>, next: (() => void)) => false | void)[]

Returns void

emitter.emitEvent("game:started", {
event: { data: { gameId: "001", status: "active" } },
middlewares: [
(event, next) => { console.log("Processing event:", event); next(); },
(event, next) => { event.data.processed = true; next(); }
]
});
-
  • Returns an array listing the events for which the emitter has registered listeners. The values in the array are strings or Symbols.

    import { EventEmitter } from 'node:events';

    const myEE = new EventEmitter();
    myEE.on('foo', () => {});
    myEE.on('bar', () => {});

    const sym = Symbol('symbol');
    myEE.on(sym, () => {});

    console.log(myEE.eventNames());
    // Prints: [ 'foo', 'bar', Symbol(symbol) ]
    @@ -397,7 +398,7 @@
    const casino = new Casino();
    const room = casino.getRoom(0); // Returns the first room or undefined if no rooms exist
    -
  • Retrieves the full list of rooms currently managed by the Casino.

    Implements the getRooms method of CasinoInterface.

    N/A

    Provides access to the Casino's list of rooms, allowing external components or systems to retrieve and display @@ -417,7 +418,7 @@

    const casino = new Casino();
    console.log(casino.getRooms()); // Output: []
    -
  • Checks if a provided index is within the valid range of the Casino’s room list, helping avoid out-of-bounds errors.

    isValidIndex method from CasinoInterface.

    N/A

    This method validates an index before it's used to access or modify a room in the Casino’s list, protecting @@ -445,7 +446,7 @@

    const casino = new Casino();
    try {
    casino.isValidIndex(2); // Returns true if there are at least 3 rooms
    } catch (error) {
    console.error(error.message); // If index 2 is out of bounds, logs error message
    }
    -
  • Returns the number of listeners listening for the event named eventName. If listener is provided, it will return how many times the listener is found in the list of the listeners of the event.

    Type Parameters

    • K

    Parameters

    • eventName: string | symbol

      The name of the event being listened for

      @@ -456,7 +457,38 @@

      Type Parameters

      • K

      Parameters

      • eventName: string | symbol

      Returns Function[]

      v0.1.26

      -
  • The emitEvent method is a public method for emitting events, with an optional configuration that allows +middleware processing. Middleware functions can intercept and transform the event before it reaches the listeners, +allowing custom validation or data modifications.

    +

    This method enables flexible event emission with support for middleware, providing a robust event processing +mechanism in the BaseEventEmitter. It’s useful for customizing event behavior based on application-specific needs.

    +

    N/A

    +

    N/A

    +

    This method can emit any event specified by eventName, which can then be processed by middleware functions if defined.

    +
      +
    • eventName: string - The name of the event to emit.
    • +
    • options: { event: { data: { [key: string]: any }; [key: string]: any; }, middlewares?: Array<(event: BaseEventInterface, next: () => void) => void | false> } +
        +
      • event - The primary event data to emit, containing specific details.
      • +
      • middlewares - An optional array of middleware functions that process the event before emission.
      • +
      +
    • +
    +
      +
    • eventName must be a valid string.
    • +
    • options.event should include relevant data for the event. If middlewares are provided, they should be functions with an event and next parameter.
    • +
    +
      +
    • void - This method does not return a value.
    • +
    +

    Use this method to emit events with middleware-based customization, which allows for specific processing +logic or transformations before the event reaches listeners.

    +

    Parameters

    • eventName: string

      The name of the event to emit.

      +
    • options: {
          handler: ((event: BaseEventInterface<any>) => void);
          middlewares?: ((event: BaseEventInterface<any>, next: (() => void)) => false | void)[];
      }

      Configuration for the event and optional middleware functions.

      +

    Returns void

    emitter.emitEvent("game:started", {
    event: { data: { gameId: "001", status: "active" } },
    middlewares: [
    (event, next) => { console.log("Processing event:", event); next(); },
    (event, next) => { event.data.processed = true; next(); }
    ]
    }); +
    + +
  • Alias for emitter.removeListener().

    Type Parameters

    • K

    Parameters

    • eventName: string | symbol
    • listener: ((...args: any[]) => void)
        • (...args): void
        • Parameters

          • Rest...args: any[]

          Returns void

    Returns this

    v10.0.0

  • Adds the listener function to the end of the listeners array for the event named eventName. No checks are made to see if the listener has already @@ -547,50 +579,50 @@

    Returns a reference to the EventEmitter, so that calls can be chained.

    Type Parameters

    • K

    Parameters

    • eventName: string | symbol
    • listener: ((...args: any[]) => void)
        • (...args): void
        • Parameters

          • Rest...args: any[]

          Returns void

    Returns this

    v0.1.26

    -
  • Returns the total number of PokerRoom instances currently managed by the Casino.

    -

    Part of CasinoInterface, ensuring standardization across implementations of the Casino class.

    -

    N/A

    -

    Provides a reliable way to retrieve the number of active poker rooms managed by the Casino. Useful for +

  • Returns the total number of PokerRoom instances currently managed by the Casino.

    +

    Part of CasinoInterface, ensuring standardization across implementations of the Casino class.

    +

    N/A

    +

    Provides a reliable way to retrieve the number of active poker rooms managed by the Casino. Useful for general management, reporting, and in situations where the Casino’s room capacity or state must be assessed.

    -

    N/A

    -

    N/A - This method does not accept any parameters.

    -

    N/A

    -
      +

      N/A

      +

      N/A - This method does not accept any parameters.

      +

      N/A

      +
      • Returns the current count of managed rooms.
      -

      Use this method whenever a precise count of rooms is required, such as when iterating through rooms +

      Use this method whenever a precise count of rooms is required, such as when iterating through rooms or validating bounds.

    Returns number

    • Returns the count of rooms in the Casino.
    -
    const casino = new Casino();
    const count = casino.roomCount();
    console.log(count); // Console Output: 0 if no rooms exist, or the total count of rooms otherwise +
    const casino = new Casino();
    const count = casino.roomCount();
    console.log(count); // Console Output: 0 if no rooms exist, or the total count of rooms otherwise
    -
  • By default EventEmitters will print a warning if more than 10 listeners are added for a particular event. This is a useful default that helps finding memory leaks. The emitter.setMaxListeners() method allows the limit to be modified for this specific EventEmitter instance. The value can be set to Infinity (or 0) to indicate an unlimited number of listeners.

    Returns a reference to the EventEmitter, so that calls can be chained.

    Parameters

    • n: number

    Returns this

    v0.3.5

    -
  • Sets the list of rooms managed by the Casino. This method is typically used to replace or update the entire list of poker rooms in the casino.

    -

    Implements the setRooms method of CasinoInterface.

    -

    N/A

    -

    Provides a way to update the current list of rooms managed by the Casino, ensuring a consistent and up-to-date +

    Implements the setRooms method of CasinoInterface.

    +

    N/A

    +

    Provides a way to update the current list of rooms managed by the Casino, ensuring a consistent and up-to-date list of poker rooms as defined by the casino’s configuration.

    -
      +
      • N/A: No event is emitted by this method.
      -
        +
        • rooms: An array of PokerRoomInterface instances, representing individual poker rooms in the Casino.
        -
          +
          • The rooms array must contain at least one room (i.e., rooms.length >= 1).
          -
            +
            • Returns true when the rooms have been successfully set.
            -

            This method accepts an array of PokerRoomInterface objects, representing poker rooms to manage in the casino.

            +

            This method accepts an array of PokerRoomInterface objects, representing poker rooms to manage in the casino.

            • Replaces any existing rooms with the new provided list.
            • Calls the internal _setRooms method to update the private __rooms property securely.
            • @@ -599,29 +631,29 @@

Returns PokerRoomInterface[]

  • Returns true when the rooms have been successfully set.
-
const casino = new Casino();
const rooms: PokerRoomInterface[] = [
new PokerRoom({ name: "Room1", tableSize: 6, smallBlind: 10, bigBlind: 20 })
];
casino.setRooms(rooms);
console.log(casino.getRooms()); // Logs an array with the newly set rooms +
const casino = new Casino();
const rooms: PokerRoomInterface[] = [
new PokerRoom({ name: "Room1", tableSize: 6, smallBlind: 10, bigBlind: 20 })
];
casino.setRooms(rooms);
console.log(casino.getRooms()); // Logs an array with the newly set rooms
-
  • Retrieves the total count of rooms managed by the Casino, enabling easy access to the room quantity.

    -

    N/A - This method is unique to the Casino class and does not implement any other methods.

    -

    N/A - This method does not override any superclass or parent methods.

    -

    The size method provides a shortcut to access the number of poker rooms currently managed by the Casino. +

  • Retrieves the total count of rooms managed by the Casino, enabling easy access to the room quantity.

    +

    N/A - This method is unique to the Casino class and does not implement any other methods.

    +

    N/A - This method does not override any superclass or parent methods.

    +

    The size method provides a shortcut to access the number of poker rooms currently managed by the Casino. This method is useful for quickly obtaining the count of active rooms, which can help in managing or displaying the Casino's state.

    -

    N/A

    -

    N/A - This method does not require any input parameters.

    -

    N/A

    -
      +

      N/A

      +

      N/A - This method does not require any input parameters.

      +

      N/A

      +
      • Returns a number representing the current count of poker rooms managed by the Casino.
      -

      Call this method when a quick count of managed rooms is needed, especially for UI updates or managing limits.

      +

      Call this method when a quick count of managed rooms is needed, especially for UI updates or managing limits.

    Returns number

    • Returns the current count of poker rooms.
    -
    const casino = new Casino();
    const count = casino.size();
    console.log(count); // Console Output: 0 if no rooms have been added +
    const casino = new Casino();
    const count = casino.size();
    console.log(count); // Console Output: 0 if no rooms have been added
    -
  • Experimental

    Listens once to the abort event on the provided signal.

    +
  • Experimental

    Listens once to the abort event on the provided signal.

    Listening to the abort event on abort signals is unsafe and may lead to resource leaks since another third party with the signal can call e.stopImmediatePropagation(). Unfortunately Node.js cannot change @@ -707,4 +739,4 @@

  • Rest...eventTargets: (EventEmitter<DefaultEventMap> | EventTarget)[]

    Zero or more {EventTarget} or {EventEmitter} instances. If none are specified, n is set as the default max for all newly created {EventTarget} and {EventEmitter} objects.

Returns void

v15.4.0

-
+
diff --git a/docs/site/classes/models_deck.Deck.html b/docs/site/classes/models_deck.Deck.html index 5eb5d1e..58612d1 100644 --- a/docs/site/classes/models_deck.Deck.html +++ b/docs/site/classes/models_deck.Deck.html @@ -6,7 +6,7 @@
const deck = new Deck();
deck.on('deck:shuffled', () => console.log('Deck has been shuffled.'));
deck.shuffle();
const card = deck.draw();
console.log(card?.toString()); // "A of Spades"
-

Hierarchy (view full)

Implements

Constructors

Hierarchy (view full)

Implements

Constructors

Properties

Returns Deck

const deck = new Deck();
 
-

Properties

captureRejections: boolean

Value: boolean

+

Properties

captureRejections: boolean

Value: boolean

Change the default captureRejections option on all new EventEmitter objects.

v13.4.0, v12.16.0

captureRejectionSymbol: typeof captureRejectionSymbol

Value: Symbol.for('nodejs.rejection')

@@ -89,7 +90,7 @@
const deck = new Deck();
const drawnCard = deck.draw();
console.log(drawnCard?.toString()); // "A of Spades"
-
  • Synchronously calls each of the listeners registered for the event named eventName, in the order they were registered, passing the supplied arguments +

  • Synchronously calls each of the listeners registered for the event named eventName, in the order they were registered, passing the supplied arguments to each.

    Returns true if the event had listeners, false otherwise.

    import { EventEmitter } from 'node:events';
    const myEmitter = new EventEmitter();

    // First listener
    myEmitter.on('event', function firstListener() {
    console.log('Helloooo! first listener');
    });
    // Second listener
    myEmitter.on('event', function secondListener(arg1, arg2) {
    console.log(`event with parameters ${arg1}, ${arg2} in second listener`);
    });
    // Third listener
    myEmitter.on('event', function thirdListener(...args) {
    const parameters = args.join(', ');
    console.log(`event with parameters ${parameters} in third listener`);
    });

    console.log(myEmitter.listeners('event'));

    myEmitter.emit('event', 1, 2, 3, 4, 5);

    // Prints:
    // [
    // [Function: firstListener],
    // [Function: secondListener],
    // [Function: thirdListener]
    // ]
    // Helloooo! first listener
    // event with parameters 1, 2 in second listener
    // event with parameters 1, 2, 3, 4, 5 in third listener @@ -127,7 +128,7 @@
    • event: {
          data: {
              [key: string]: any;
          };
          [key: string]: any;
      }
      • [key: string]: any
      • data: {
            [key: string]: any;
        }
        • [key: string]: any
    • Optionalmiddlewares?: ((event: BaseEventInterface<any>, next: (() => void)) => false | void)[]

Returns void

emitter.emitEvent("game:started", {
event: { data: { gameId: "001", status: "active" } },
middlewares: [
(event, next) => { console.log("Processing event:", event); next(); },
(event, next) => { event.data.processed = true; next(); }
]
});
-
  • Returns an array listing the events for which the emitter has registered listeners. The values in the array are strings or Symbols.

    import { EventEmitter } from 'node:events';

    const myEE = new EventEmitter();
    myEE.on('foo', () => {});
    myEE.on('bar', () => {});

    const sym = Symbol('symbol');
    myEE.on(sym, () => {});

    console.log(myEE.eventNames());
    // Prints: [ 'foo', 'bar', Symbol(symbol) ]
    @@ -139,7 +140,7 @@
    const cards = deck.getCards();
    console.log(cards.length); // 52 (before shuffling or drawing)
    -
  • Returns the number of listeners listening for the event named eventName. @@ -153,7 +154,38 @@

    Type Parameters

    • K

    Parameters

    • eventName: string | symbol

    Returns Function[]

    v0.1.26

    -
  • The emitEvent method is a public method for emitting events, with an optional configuration that allows +middleware processing. Middleware functions can intercept and transform the event before it reaches the listeners, +allowing custom validation or data modifications.

    +

    This method enables flexible event emission with support for middleware, providing a robust event processing +mechanism in the BaseEventEmitter. It’s useful for customizing event behavior based on application-specific needs.

    +

    N/A

    +

    N/A

    +

    This method can emit any event specified by eventName, which can then be processed by middleware functions if defined.

    +
      +
    • eventName: string - The name of the event to emit.
    • +
    • options: { event: { data: { [key: string]: any }; [key: string]: any; }, middlewares?: Array<(event: BaseEventInterface, next: () => void) => void | false> } +
        +
      • event - The primary event data to emit, containing specific details.
      • +
      • middlewares - An optional array of middleware functions that process the event before emission.
      • +
      +
    • +
    +
      +
    • eventName must be a valid string.
    • +
    • options.event should include relevant data for the event. If middlewares are provided, they should be functions with an event and next parameter.
    • +
    +
      +
    • void - This method does not return a value.
    • +
    +

    Use this method to emit events with middleware-based customization, which allows for specific processing +logic or transformations before the event reaches listeners.

    +

    Parameters

    • eventName: string

      The name of the event to emit.

      +
    • options: {
          handler: ((event: BaseEventInterface<any>) => void);
          middlewares?: ((event: BaseEventInterface<any>, next: (() => void)) => false | void)[];
      }

      Configuration for the event and optional middleware functions.

      +

    Returns void

    emitter.emitEvent("game:started", {
    event: { data: { gameId: "001", status: "active" } },
    middlewares: [
    (event, next) => { console.log("Processing event:", event); next(); },
    (event, next) => { event.data.processed = true; next(); }
    ]
    }); +
    + +
  • Alias for emitter.removeListener().

    Type Parameters

    • K

    Parameters

    • eventName: string | symbol
    • listener: ((...args: any[]) => void)
        • (...args): void
        • Parameters

          • Rest...args: any[]

          Returns void

    Returns this

    v10.0.0

  • Adds the listener function to the end of the listeners array for the event named eventName. No checks are made to see if the listener has already @@ -253,10 +285,10 @@

  • shuffle

    Shuffles the deck of cards using the Fisher-Yates algorithm. deck:shuffled Emits a deck:shuffled event after the deck is shuffled.

    -

    Returns void

    const deck = new Deck();
    deck.shuffle(); +

    Returns void

    const deck = new Deck();
    deck.shuffle();
    -
  • Experimental

    Listens once to the abort event on the provided signal.

    Listening to the abort event on abort signals is unsafe and may lead to resource leaks since another third party with the signal can call e.stopImmediatePropagation(). Unfortunately Node.js cannot change @@ -342,4 +374,4 @@

  • Rest...eventTargets: (EventEmitter<DefaultEventMap> | EventTarget)[]

    Zero or more {EventTarget} or {EventEmitter} instances. If none are specified, n is set as the default max for all newly created {EventTarget} and {EventEmitter} objects.

Returns void

v15.4.0

-
+
diff --git a/docs/site/classes/models_logger.Logger.html b/docs/site/classes/models_logger.Logger.html index 7ba794e..cd3d78b 100644 --- a/docs/site/classes/models_logger.Logger.html +++ b/docs/site/classes/models_logger.Logger.html @@ -18,7 +18,7 @@
const logger = new Logger({ logDirPath: "./logs", enableConsoleLogging: true });
logger.log(LogLevel.INFO, "Application started");
-

Implements

Constructors

Implements

Returns Logger

const logger = new Logger({ logDirPath: "./logs", enableConsoleLogging: true });
// Logs will be saved in "./logs" directory and printed to the console.
-

Methods

  • The disableConsoleLogging method disables console logging for the Logger instance. When disabled, log +

Methods

  • The disableConsoleLogging method disables console logging for the Logger instance. When disabled, log entries are only written to log files and are no longer displayed in the console.

    This method provides a way to turn off console output of log messages, which is useful for reducing console clutter in production environments where log messages are typically directed only to log files.

    @@ -69,7 +69,7 @@
    // Disable console logging for production
    logger.disableConsoleLogging();
    logger.log(LogLevel.INFO, "Console logging disabled");
    -
  • The enableConsoleLogging method enables console logging for the Logger instance. When activated, all log +

  • The enableConsoleLogging method enables console logging for the Logger instance. When activated, all log entries are displayed in the console in addition to being recorded in log files.

    This method provides a way to turn on real-time logging output to the console, which is particularly useful for development and debugging purposes, allowing for immediate feedback on logged events.

    @@ -89,7 +89,7 @@
    // Enable console logging for immediate log output
    logger.enableConsoleLogging();
    logger.log(LogLevel.INFO, "Console logging enabled");
    -
  • Retrieves the current status of console logging, indicating if logs are also output to the console.

    +
  • Retrieves the current status of console logging, indicating if logs are also output to the console.

    This getter provides access to the console logging status, useful for checking if real-time log output is enabled.

    N/A

      @@ -105,7 +105,7 @@
      const logger = Logger.getInstance();
      console.log(logger.getConsoleLogging());
      // Console Output: true (or false based on configuration)
      -
  • Retrieves the environment setting currently configured in the Logger instance, such as "development" or "production".

    +
  • Retrieves the environment setting currently configured in the Logger instance, such as "development" or "production".

    This getter method allows access to the environment setting, which determines where logs are stored based on runtime context.

    N/A

      @@ -121,7 +121,7 @@
      const logger = Logger.getInstance();
      console.log(logger.getEnv());
      // Console Output: "development"
      -
  • Retrieves the path of the directory where logs are stored, based on the Logger's configuration and environment setting.

    +
  • Retrieves the path of the directory where logs are stored, based on the Logger's configuration and environment setting.

    This method allows access to the path where logs are written, organized by environment. Useful for managing and verifying log storage locations.

    N/A

      @@ -137,7 +137,7 @@
      const logger = Logger.getInstance();
      console.log(logger.getLogsDirPath());
      // Console Output: "./logs/development" (example for development environment)
      -
  • The log method logs a message at a specified severity level with optional data. It supports both console +

  • The log method logs a message at a specified severity level with optional data. It supports both console output and file-based logging, structuring logs based on environment and log level.

    This method serves as the core logging function, allowing consistent recording of messages across the library. By accepting a log level and optional data, it provides detailed logging for events, errors, or informational messages.

    @@ -167,7 +167,7 @@

Use this method to log critical information across the library, choosing the appropriate LogLevel to match the importance and visibility requirements of the message.

-

Parameters

  • level: LogLevel

    The log's severity level.

    +

    Parameters

    • level: LogLevel

      The log's severity level.

    • message: string

      The main log message.

    • Optionaldata: Record<string, any>

      Optional additional data for context.

    Returns Promise<void>

      @@ -176,7 +176,7 @@
      // Logs a critical error with associated data
      logger.log(LogLevel.ERROR, "Database connection failed", { errorCode: "DB_CONN_ERR", timestamp: Date.now() });

      // Logs an informational message
      logger.log(LogLevel.INFO, "Server started successfully");
      -
  • Provides access to the singleton instance of the Logger class. This method ensures that only one instance of the logger is created and shared across the application, providing a centralized logging management system. It initializes the logger with a configuration if not already initialized.

    The getInstance method enforces the Singleton pattern, ensuring that a single instance of the logger is used @@ -210,4 +210,4 @@

    // Initialize and retrieve the Logger instance with configuration
    const logger = Logger.getInstance({ logDirPath: "./logs", enableConsoleLogging: true });
    logger.log(LogLevel.INFO, "Application started"); // Logs with the singleton logger instance

    // Retrieve the existing Logger instance without reinitializing
    const anotherLoggerReference = Logger.getInstance();
    anotherLoggerReference.log(LogLevel.ERROR, "Unexpected error occurred");
    // Both `logger` and `anotherLoggerReference` refer to the same Logger instance
    -
+
diff --git a/docs/site/classes/models_pokerGame.PokerGame.html b/docs/site/classes/models_pokerGame.PokerGame.html index 3abf1cf..5cbe4a7 100644 --- a/docs/site/classes/models_pokerGame.PokerGame.html +++ b/docs/site/classes/models_pokerGame.PokerGame.html @@ -1,7 +1,7 @@ PokerGame | casinojs

PokerGame Represents the current PokerGame being played at the PokerTable. Manages the deck, community cards, and game phases, such as pre-flop, flop, turn, and river.

-

Hierarchy (view full)

Implements

Constructors

Hierarchy (view full)

Implements

Constructors

Properties

Parameters

Returns PokerGame

const deck = new Deck();
 
-

Properties

captureRejections: boolean

Value: boolean

+

Properties

captureRejections: boolean

Value: boolean

Change the default captureRejections option on all new EventEmitter objects.

v13.4.0, v12.16.0

captureRejectionSymbol: typeof captureRejectionSymbol

Value: Symbol.for('nodejs.rejection')

@@ -117,19 +118,19 @@
  • event: {
        data: {
            [key: string]: any;
        };
        [key: string]: any;
    }
    • [key: string]: any
    • data: {
          [key: string]: any;
      }
      • [key: string]: any
  • Optionalmiddlewares?: ((event: BaseEventInterface<any>, next: (() => void)) => false | void)[]

Returns void

emitter.emitEvent("game:started", {
event: { data: { gameId: "001", status: "active" } },
middlewares: [
(event, next) => { console.log("Processing event:", event); next(); },
(event, next) => { event.data.processed = true; next(); }
]
});
-
  • Returns an array listing the events for which the emitter has registered listeners. The values in the array are strings or Symbols.

    import { EventEmitter } from 'node:events';

    const myEE = new EventEmitter();
    myEE.on('foo', () => {});
    myEE.on('bar', () => {});

    const sym = Symbol('symbol');
    myEE.on(sym, () => {});

    console.log(myEE.eventNames());
    // Prints: [ 'foo', 'bar', Symbol(symbol) ]

    Returns (string | symbol)[]

    v6.0.0

    -
  • Returns the number of listeners listening for the event named eventName. If listener is provided, it will return how many times the listener is found in the list of the listeners of the event.

    Type Parameters

    • K

    Parameters

    • eventName: string | symbol

      The name of the event being listened for

      @@ -140,7 +141,38 @@

      Type Parameters

      • K

      Parameters

      • eventName: string | symbol

      Returns Function[]

      v0.1.26

      -
  • The emitEvent method is a public method for emitting events, with an optional configuration that allows +middleware processing. Middleware functions can intercept and transform the event before it reaches the listeners, +allowing custom validation or data modifications.

    +

    This method enables flexible event emission with support for middleware, providing a robust event processing +mechanism in the BaseEventEmitter. It’s useful for customizing event behavior based on application-specific needs.

    +

    N/A

    +

    N/A

    +

    This method can emit any event specified by eventName, which can then be processed by middleware functions if defined.

    +
      +
    • eventName: string - The name of the event to emit.
    • +
    • options: { event: { data: { [key: string]: any }; [key: string]: any; }, middlewares?: Array<(event: BaseEventInterface, next: () => void) => void | false> } +
        +
      • event - The primary event data to emit, containing specific details.
      • +
      • middlewares - An optional array of middleware functions that process the event before emission.
      • +
      +
    • +
    +
      +
    • eventName must be a valid string.
    • +
    • options.event should include relevant data for the event. If middlewares are provided, they should be functions with an event and next parameter.
    • +
    +
      +
    • void - This method does not return a value.
    • +
    +

    Use this method to emit events with middleware-based customization, which allows for specific processing +logic or transformations before the event reaches listeners.

    +

    Parameters

    • eventName: string

      The name of the event to emit.

      +
    • options: {
          handler: ((event: BaseEventInterface<any>) => void);
          middlewares?: ((event: BaseEventInterface<any>, next: (() => void)) => false | void)[];
      }

      Configuration for the event and optional middleware functions.

      +

    Returns void

    emitter.emitEvent("game:started", {
    event: { data: { gameId: "001", status: "active" } },
    middlewares: [
    (event, next) => { console.log("Processing event:", event); next(); },
    (event, next) => { event.data.processed = true; next(); }
    ]
    }); +
    + +
  • Alias for emitter.removeListener().

    Type Parameters

    • K

    Parameters

    • eventName: string | symbol
    • listener: ((...args: any[]) => void)
        • (...args): void
        • Parameters

          • Rest...args: any[]

          Returns void

    Returns this

    v10.0.0

  • Adds the listener function to the end of the listeners array for the event named eventName. No checks are made to see if the listener has already @@ -323,4 +355,4 @@

  • Rest...eventTargets: (EventEmitter<DefaultEventMap> | EventTarget)[]

    Zero or more {EventTarget} or {EventEmitter} instances. If none are specified, n is set as the default max for all newly created {EventTarget} and {EventEmitter} objects.

Returns void

v15.4.0

-
+
diff --git a/docs/site/classes/models_pokerPhase.PokerPhase.html b/docs/site/classes/models_pokerPhase.PokerPhase.html index 483962a..59b2812 100644 --- a/docs/site/classes/models_pokerPhase.PokerPhase.html +++ b/docs/site/classes/models_pokerPhase.PokerPhase.html @@ -24,7 +24,7 @@
const pokerPhase = new PokerPhase();
pokerPhase.on('phase:change', (newPhase) => console.log(`Phase changed to ${newPhase}`));
pokerPhase.nextPhase();
console.log(pokerPhase.getCurrentPhase()); // Outputs the next game phase, e.g., "Flop"
-

Hierarchy (view full)

Implements

Constructors

Hierarchy (view full)

Implements

Constructors

Properties

captureRejections captureRejectionSymbol defaultMaxListeners @@ -53,6 +53,7 @@ getSmallBlindPos listenerCount listeners +listenToEvent off on once @@ -82,10 +83,10 @@

The constructor is used to initialize a PokerPhase instance with specific configurations, including player information and positions for the phase.

Parameters

  • Optionalconfig: PokerPhaseConfig

    Optional configuration object with properties for setting up the poker phase.

    -

Returns PokerPhase

const pokerPhase = new PokerPhase({
name: PokerPhaseName.PRE_FLOP,
deck: new Deck(),
communityCards: [],
players: [...],
pot: 0,
dealerPos: 0,
smallBlindPos: 1,
bigBlindPos: 2
}); +

Returns PokerPhase

const pokerPhase = new PokerPhase({
name: PokerPhases.PRE_FLOP,
deck: new Deck(),
communityCards: [],
players: [...],
pot: 0,
dealerPos: 0,
smallBlindPos: 1,
bigBlindPos: 2
});
-

Properties

captureRejections: boolean

Value: boolean

+

Properties

captureRejections: boolean

Value: boolean

Change the default captureRejections option on all new EventEmitter objects.

v13.4.0, v12.16.0

captureRejectionSymbol: typeof captureRejectionSymbol

Value: Symbol.for('nodejs.rejection')

@@ -120,28 +121,28 @@

Installing a listener using this symbol does not change the behavior once an 'error' event is emitted. Therefore, the process will still crash if no regular 'error' listener is installed.

v13.6.0, v12.17.0

-

Methods

Methods

  • Alias for emitter.on(eventName, listener).

    Type Parameters

    • K

    Parameters

    • eventName: string | symbol
    • listener: ((...args: any[]) => void)
        • (...args): void
        • Parameters

          • Rest...args: any[]

          Returns void

    Returns this

    v0.1.26

  • dealCommunityCards Deals the community cards to the table during the flop, turn, or river phases.

    Parameters

    • count: number

      The number of community cards to deal (3 for the flop, 1 for the turn/river).

      -

    Returns boolean

  • Synchronously calls each of the listeners registered for the event named eventName, in the order they were registered, passing the supplied arguments +

Returns boolean

  • Synchronously calls each of the listeners registered for the event named eventName, in the order they were registered, passing the supplied arguments to each.

    Returns true if the event had listeners, false otherwise.

    import { EventEmitter } from 'node:events';
    const myEmitter = new EventEmitter();

    // First listener
    myEmitter.on('event', function firstListener() {
    console.log('Helloooo! first listener');
    });
    // Second listener
    myEmitter.on('event', function secondListener(arg1, arg2) {
    console.log(`event with parameters ${arg1}, ${arg2} in second listener`);
    });
    // Third listener
    myEmitter.on('event', function thirdListener(...args) {
    const parameters = args.join(', ');
    console.log(`event with parameters ${parameters} in third listener`);
    });

    console.log(myEmitter.listeners('event'));

    myEmitter.emit('event', 1, 2, 3, 4, 5);

    // Prints:
    // [
    // [Function: firstListener],
    // [Function: secondListener],
    // [Function: thirdListener]
    // ]
    // Helloooo! first listener
    // event with parameters 1, 2 in second listener
    // event with parameters 1, 2, 3, 4, 5 in third listener @@ -179,13 +180,13 @@
    • event: {
          data: {
              [key: string]: any;
          };
          [key: string]: any;
      }
      • [key: string]: any
      • data: {
            [key: string]: any;
        }
        • [key: string]: any
    • Optionalmiddlewares?: ((event: BaseEventInterface<any>, next: (() => void)) => false | void)[]

Returns void

emitter.emitEvent("game:started", {
event: { data: { gameId: "001", status: "active" } },
middlewares: [
(event, next) => { console.log("Processing event:", event); next(); },
(event, next) => { event.data.processed = true; next(); }
]
});
-
  • Returns an array listing the events for which the emitter has registered listeners. The values in the array are strings or Symbols.

    import { EventEmitter } from 'node:events';

    const myEE = new EventEmitter();
    myEE.on('foo', () => {});
    myEE.on('bar', () => {});

    const sym = Symbol('symbol');
    myEE.on(sym, () => {});

    console.log(myEE.eventNames());
    // Prints: [ 'foo', 'bar', Symbol(symbol) ]

    Returns (string | symbol)[]

    v6.0.0

    -
  • Retrieves the position of the player assigned the big blind.

    N/A

    N/A

    Helps identify the player with the big blind, aiding in betting actions.

    @@ -201,7 +202,7 @@
    const bigBlindPosition = pokerPhase.getBigBlindPos();
    console.log(bigBlindPosition); // Outputs: 2
    -
  • Retrieves the position of the player whose turn it currently is within the PokerPhase.

    +
  • Retrieves the position of the player whose turn it currently is within the PokerPhase.

    N/A

    N/A

    Helps identify the active player during the phase, supporting turn-based actions.

    @@ -217,7 +218,7 @@
    const currentPosition = pokerPhase.getCurrentPlayerPos();
    console.log(currentPosition); // Outputs: 2
    -
  • Retrieves the dealer's position for the current phase of poker.

    N/A

    N/A

    Indicates which player holds the dealer role, which is essential for turn-based actions.

    @@ -233,7 +234,7 @@
    const dealerPosition = pokerPhase.getDealerPos();
    console.log(dealerPosition); // Outputs: 0
    -
  • Retrieves the deck of cards currently being used in the PokerPhase.

    N/A

    N/A

    Accesses the deck to support game actions involving the deck, such as dealing or shuffling.

    @@ -249,26 +250,26 @@
    const deck = pokerPhase.getDeck();
    console.log(deck); // Outputs the deck object
    -
  • Retrieves the current phase name (e.g., "Pre-Flop," "Flop") of the PokerPhase.

    N/A

    N/A

    Provides the phase name, helping other parts of the code determine the current stage of the game round.

    N/A

    N/A

      -
    • {PokerPhaseName}: The name of the current game phase.
    • +
    • {PokerPhases}: The name of the current game phase.

    Useful for determining the phase of gameplay, allowing specific actions based on the current phase.

    -

    Returns PokerPhaseName

  • Retrieves the list of players currently involved in the PokerPhase.

    N/A

    N/A

    Accesses the players participating in the current phase, supporting functions that involve player actions or status.

    @@ -285,7 +286,7 @@
    const players = pokerPhase.getPlayers();
    console.log(players); // Outputs an array of player objects
    -
  • Retrieves the current total pot amount for the PokerPhase.

    N/A

    N/A

    Provides the total value of bets placed in the current phase, aiding in bet-related actions.

    @@ -301,7 +302,7 @@
    const potAmount = pokerPhase.getPot();
    console.log(potAmount); // Outputs: 1000
    -
  • Retrieves the position of the player assigned the small blind.

    N/A

    N/A

    Helps identify the player with the small blind, aiding in betting actions.

    @@ -317,7 +318,7 @@
    const smallBlindPosition = pokerPhase.getSmallBlindPos();
    console.log(smallBlindPosition); // Outputs: 1
    -
  • Returns the number of listeners listening for the event named eventName. If listener is provided, it will return how many times the listener is found in the list of the listeners of the event.

    Type Parameters

    • K

    Parameters

    • eventName: string | symbol

      The name of the event being listened for

      @@ -328,7 +329,38 @@

      Type Parameters

      • K

      Parameters

      • eventName: string | symbol

      Returns Function[]

      v0.1.26

      -
  • The emitEvent method is a public method for emitting events, with an optional configuration that allows +middleware processing. Middleware functions can intercept and transform the event before it reaches the listeners, +allowing custom validation or data modifications.

    +

    This method enables flexible event emission with support for middleware, providing a robust event processing +mechanism in the BaseEventEmitter. It’s useful for customizing event behavior based on application-specific needs.

    +

    N/A

    +

    N/A

    +

    This method can emit any event specified by eventName, which can then be processed by middleware functions if defined.

    +
      +
    • eventName: string - The name of the event to emit.
    • +
    • options: { event: { data: { [key: string]: any }; [key: string]: any; }, middlewares?: Array<(event: BaseEventInterface, next: () => void) => void | false> } +
        +
      • event - The primary event data to emit, containing specific details.
      • +
      • middlewares - An optional array of middleware functions that process the event before emission.
      • +
      +
    • +
    +
      +
    • eventName must be a valid string.
    • +
    • options.event should include relevant data for the event. If middlewares are provided, they should be functions with an event and next parameter.
    • +
    +
      +
    • void - This method does not return a value.
    • +
    +

    Use this method to emit events with middleware-based customization, which allows for specific processing +logic or transformations before the event reaches listeners.

    +

    Parameters

    • eventName: string

      The name of the event to emit.

      +
    • options: {
          handler: ((event: BaseEventInterface<any>) => void);
          middlewares?: ((event: BaseEventInterface<any>, next: (() => void)) => false | void)[];
      }

      Configuration for the event and optional middleware functions.

      +

    Returns void

    emitter.emitEvent("game:started", {
    event: { data: { gameId: "001", status: "active" } },
    middlewares: [
    (event, next) => { console.log("Processing event:", event); next(); },
    (event, next) => { event.data.processed = true; next(); }
    ]
    }); +
    + +
  • Alias for emitter.removeListener().

    Type Parameters

    • K

    Parameters

    • eventName: string | symbol
    • listener: ((...args: any[]) => void)
        • (...args): void
        • Parameters

          • Rest...args: any[]

          Returns void

    Returns this

    v10.0.0

  • Adds the listener function to the end of the listeners array for the event named eventName. No checks are made to see if the listener has already @@ -421,7 +453,7 @@

    Type Parameters

    • K

    Parameters

    • eventName: string | symbol
    • listener: ((...args: any[]) => void)
        • (...args): void
        • Parameters

          • Rest...args: any[]

          Returns void

    Returns this

    v0.1.26

  • resolveBets Resolves the current betting round, updating player chip stacks and determining the winner if applicable.

    -

    Returns void

  • By default EventEmitters will print a warning if more than 10 listeners are added for a particular event. This is a useful default that helps finding memory leaks. The emitter.setMaxListeners() method allows the limit to be modified for this specific EventEmitter instance. The value can be set to Infinity (or 0) to indicate an unlimited number of listeners.

    @@ -513,4 +545,4 @@
  • Rest...eventTargets: (EventEmitter<DefaultEventMap> | EventTarget)[]

    Zero or more {EventTarget} or {EventEmitter} instances. If none are specified, n is set as the default max for all newly created {EventTarget} and {EventEmitter} objects.

Returns void

v15.4.0

-
+
diff --git a/docs/site/classes/models_pokerPlayer.PokerPlayer.html b/docs/site/classes/models_pokerPlayer.PokerPlayer.html index 70173e6..713b39f 100644 --- a/docs/site/classes/models_pokerPlayer.PokerPlayer.html +++ b/docs/site/classes/models_pokerPlayer.PokerPlayer.html @@ -1,7 +1,7 @@ PokerPlayer | casinojs

PokerPlayerInterface Represents a player seated at the PokerTable. The player can place bets, fold, and manage their chip stack during the game.

-

Hierarchy (view full)

Implements

Constructors

Hierarchy (view full)

Implements

Constructors

Properties

Parameters

Returns PokerPlayer

const deck = new Deck();
 
-

Properties

captureRejections: boolean

Value: boolean

+

Properties

captureRejections: boolean

Value: boolean

Change the default captureRejections option on all new EventEmitter objects.

v13.4.0, v12.16.0

captureRejectionSymbol: typeof captureRejectionSymbol

Value: Symbol.for('nodejs.rejection')

@@ -88,15 +89,15 @@
const rank = card.getRank();
console.log(rank); // "A"
-

  • +
  • Alias for emitter.on(eventName, listener).

    Type Parameters

    • K

    Parameters

    • eventName: string | symbol
    • listener: ((...args: any[]) => void)
        • (...args): void
        • Parameters

          • Rest...args: any[]

          Returns void

    Returns this

    v0.1.26

  • Synchronously calls each of the listeners registered for the event named eventName, in the order they were registered, passing the supplied arguments +

    Parameters

    • amount: number

    Returns boolean

  • Synchronously calls each of the listeners registered for the event named eventName, in the order they were registered, passing the supplied arguments to each.

    Returns true if the event had listeners, false otherwise.

    import { EventEmitter } from 'node:events';
    const myEmitter = new EventEmitter();

    // First listener
    myEmitter.on('event', function firstListener() {
    console.log('Helloooo! first listener');
    });
    // Second listener
    myEmitter.on('event', function secondListener(arg1, arg2) {
    console.log(`event with parameters ${arg1}, ${arg2} in second listener`);
    });
    // Third listener
    myEmitter.on('event', function thirdListener(...args) {
    const parameters = args.join(', ');
    console.log(`event with parameters ${parameters} in third listener`);
    });

    console.log(myEmitter.listeners('event'));

    myEmitter.emit('event', 1, 2, 3, 4, 5);

    // Prints:
    // [
    // [Function: firstListener],
    // [Function: secondListener],
    // [Function: thirdListener]
    // ]
    // Helloooo! first listener
    // event with parameters 1, 2 in second listener
    // event with parameters 1, 2, 3, 4, 5 in third listener @@ -134,7 +135,7 @@
    • event: {
          data: {
              [key: string]: any;
          };
          [key: string]: any;
      }
      • [key: string]: any
      • data: {
            [key: string]: any;
        }
        • [key: string]: any
    • Optionalmiddlewares?: ((event: BaseEventInterface<any>, next: (() => void)) => false | void)[]

Returns void

emitter.emitEvent("game:started", {
event: { data: { gameId: "001", status: "active" } },
middlewares: [
(event, next) => { console.log("Processing event:", event); next(); },
(event, next) => { event.data.processed = true; next(); }
]
});
-
  • Returns an array listing the events for which the emitter has registered listeners. The values in the array are strings or Symbols.

    import { EventEmitter } from 'node:events';

    const myEE = new EventEmitter();
    myEE.on('foo', () => {});
    myEE.on('bar', () => {});

    const sym = Symbol('symbol');
    myEE.on(sym, () => {});

    console.log(myEE.eventNames());
    // Prints: [ 'foo', 'bar', Symbol(symbol) ]
    @@ -146,19 +147,19 @@
    const rank = card.getRank();
    console.log(rank); // "A"
    -
  • getHand

    Returns the poker table's id.

    Returns boolean

    The poker table's id.

    const rank = card.getRank();
    console.log(rank); // "A"
    -
  • isFolded

    Returns the poker table's id.

    Returns boolean

    The poker table's id.

    const rank = card.getRank();
    console.log(rank); // "A"
    -
  • Returns the number of listeners listening for the event named eventName. If listener is provided, it will return how many times the listener is found in the list of the listeners of the event.

    Type Parameters

    • K

    Parameters

    • eventName: string | symbol

      The name of the event being listened for

      @@ -190,7 +191,38 @@

      Type Parameters

      • K

      Parameters

      • eventName: string | symbol

      Returns Function[]

      v0.1.26

      -
  • The emitEvent method is a public method for emitting events, with an optional configuration that allows +middleware processing. Middleware functions can intercept and transform the event before it reaches the listeners, +allowing custom validation or data modifications.

    +

    This method enables flexible event emission with support for middleware, providing a robust event processing +mechanism in the BaseEventEmitter. It’s useful for customizing event behavior based on application-specific needs.

    +

    N/A

    +

    N/A

    +

    This method can emit any event specified by eventName, which can then be processed by middleware functions if defined.

    +
      +
    • eventName: string - The name of the event to emit.
    • +
    • options: { event: { data: { [key: string]: any }; [key: string]: any; }, middlewares?: Array<(event: BaseEventInterface, next: () => void) => void | false> } +
        +
      • event - The primary event data to emit, containing specific details.
      • +
      • middlewares - An optional array of middleware functions that process the event before emission.
      • +
      +
    • +
    +
      +
    • eventName must be a valid string.
    • +
    • options.event should include relevant data for the event. If middlewares are provided, they should be functions with an event and next parameter.
    • +
    +
      +
    • void - This method does not return a value.
    • +
    +

    Use this method to emit events with middleware-based customization, which allows for specific processing +logic or transformations before the event reaches listeners.

    +

    Parameters

    • eventName: string

      The name of the event to emit.

      +
    • options: {
          handler: ((event: BaseEventInterface<any>) => void);
          middlewares?: ((event: BaseEventInterface<any>, next: (() => void)) => false | void)[];
      }

      Configuration for the event and optional middleware functions.

      +

    Returns void

    emitter.emitEvent("game:started", {
    event: { data: { gameId: "001", status: "active" } },
    middlewares: [
    (event, next) => { console.log("Processing event:", event); next(); },
    (event, next) => { event.data.processed = true; next(); }
    ]
    }); +
    + +
  • Alias for emitter.removeListener().

    Type Parameters

    • K

    Parameters

    • eventName: string | symbol
    • listener: ((...args: any[]) => void)
        • (...args): void
        • Parameters

          • Rest...args: any[]

          Returns void

    Returns this

    v10.0.0

  • Adds the listener function to the end of the listeners array for the event named eventName. No checks are made to see if the listener has already @@ -284,42 +316,42 @@

  • getHand

    Returns the poker table's id.

    Parameters

    • betMatched: boolean

    Returns boolean

    The poker table's id.

    -
    const rank = card.getRank();
    console.log(rank); // "A" +
    const rank = card.getRank();
    console.log(rank); // "A"
    -
  • By default EventEmitters will print a warning if more than 10 listeners are added for a particular event. This is a useful default that helps finding memory leaks. The emitter.setMaxListeners() method allows the limit to be modified for this specific EventEmitter instance. The value can be set to Infinity (or 0) to indicate an unlimited number of listeners.

    Returns a reference to the EventEmitter, so that calls can be chained.

    Parameters

    • n: number

    Returns this

    v0.3.5

    -
  • Sets the name of the PokerRoom, allowing the name to be updated or customized.

    -

    N/A - This method is part of the PokerRoomInterface and does not implement any external methods.

    -

    N/A - This method does not override any superclass or parent methods.

    -

    The setName method is used to assign a specific name to a PokerRoom, which helps distinguish it within the system. +

  • Sets the name of the PokerRoom, allowing the name to be updated or customized.

    +

    N/A - This method is part of the PokerRoomInterface and does not implement any external methods.

    +

    N/A - This method does not override any superclass or parent methods.

    +

    The setName method is used to assign a specific name to a PokerRoom, which helps distinguish it within the system. This is essential for systems where rooms need to be identifiable and manageable through a unique name.

    -

    N/A - No events are emitted by this method.

    -
      +

      N/A - No events are emitted by this method.

      +
      • name: A string representing the new name for the room. It must be a valid, non-empty string to ensure the room has a clear, identifiable label.
      -
        +
        • The name parameter should be a non-empty string to provide meaningful identification.
        • Passing an empty or invalid value could result in future misidentification of rooms if validation is implemented.
        -
          +
          • Returns the name that was set for the PokerRoom.
          -

          Use this method to set or update the name of a room in a system where unique or identifiable room names +

          Use this method to set or update the name of a room in a system where unique or identifiable room names are necessary for reference.

    Parameters

    • name: string

      The new name for the PokerRoom.

    Returns string

    • Returns the name of the room that was set.
    -
    const pokerRoom = new PokerRoom({ name: "Room1", tableSize: 6 });
    pokerRoom.setName("HighRollers"); // Sets the name of the room to "HighRollers"
    console.log(pokerRoom.getName()); // Logs "HighRollers" +
    const pokerRoom = new PokerRoom({ name: "Room1", tableSize: 6 });
    pokerRoom.setName("HighRollers"); // Sets the name of the room to "HighRollers"
    console.log(pokerRoom.getName()); // Logs "HighRollers"
    -
  • Experimental

    Listens once to the abort event on the provided signal.

    Listening to the abort event on abort signals is unsafe and may lead to resource leaks since another third party with the signal can call e.stopImmediatePropagation(). Unfortunately Node.js cannot change @@ -405,4 +437,4 @@

  • Rest...eventTargets: (EventEmitter<DefaultEventMap> | EventTarget)[]

    Zero or more {EventTarget} or {EventEmitter} instances. If none are specified, n is set as the default max for all newly created {EventTarget} and {EventEmitter} objects.

Returns void

v15.4.0

-
+
diff --git a/docs/site/classes/models_pokerRoom.PokerRoom.html b/docs/site/classes/models_pokerRoom.PokerRoom.html index f067c25..defd236 100644 --- a/docs/site/classes/models_pokerRoom.PokerRoom.html +++ b/docs/site/classes/models_pokerRoom.PokerRoom.html @@ -1,7 +1,7 @@ PokerRoom | casinojs

PokerRoom Represents a PokerRoom within a Casino that holds a single PokerTable. The PokerRoom manages the player queue, automatically assigning players to the PokerTable as seats become available. This class extends BaseEventEmitter and implements the PokerRoomInterface interface.

-

Hierarchy (view full)

Implements

Constructors

Hierarchy (view full)

Implements

Constructors

Properties

Parameters

Returns PokerRoom

const casino = new Casino();
console.log(casino.getRooms()); // Output: []
-

Properties

captureRejections: boolean

Value: boolean

+

Properties

captureRejections: boolean

Value: boolean

Change the default captureRejections option on all new EventEmitter objects.

v13.4.0, v12.16.0

captureRejectionSymbol: typeof captureRejectionSymbol

Value: Symbol.for('nodejs.rejection')

@@ -103,10 +104,10 @@
class SpecialCasino extends Casino {
public createSpecialRoom(config: PokerRoomConfig): PokerRoomInterface {
return this._createRoom(config);
}
}
const specialCasino = new SpecialCasino();
const newRoom = specialCasino.createSpecialRoom({ name: "Champions Lounge", tableSize: 10, smallBlind: 100, bigBlind: 200 });
console.log(newRoom.getName()); // Outputs: "Champions Lounge"
-

  • +
  • Alias for emitter.on(eventName, listener).

    Type Parameters

    • K

    Parameters

    • eventName: string | symbol
    • listener: ((...args: any[]) => void)
        • (...args): void
        • Parameters

          • Rest...args: any[]

          Returns void

    Returns this

    v0.1.26

  • Creates a new PokerRoom instance based on the provided configuration and adds it to the Casino's rooms list.

    N/A

    @@ -130,7 +131,7 @@
    class SpecialCasino extends Casino {
    public createSpecialRoom(config: PokerRoomConfig): PokerRoomInterface {
    return this._createRoom(config);
    }
    }
    const specialCasino = new SpecialCasino();
    const newRoom = specialCasino.createSpecialRoom({ name: "Champions Lounge", tableSize: 10, smallBlind: 100, bigBlind: 200 });
    console.log(newRoom.getName()); // Outputs: "Champions Lounge"
    -
  • Synchronously calls each of the listeners registered for the event named eventName, in the order they were registered, passing the supplied arguments +

  • Synchronously calls each of the listeners registered for the event named eventName, in the order they were registered, passing the supplied arguments to each.

    Returns true if the event had listeners, false otherwise.

    import { EventEmitter } from 'node:events';
    const myEmitter = new EventEmitter();

    // First listener
    myEmitter.on('event', function firstListener() {
    console.log('Helloooo! first listener');
    });
    // Second listener
    myEmitter.on('event', function secondListener(arg1, arg2) {
    console.log(`event with parameters ${arg1}, ${arg2} in second listener`);
    });
    // Third listener
    myEmitter.on('event', function thirdListener(...args) {
    const parameters = args.join(', ');
    console.log(`event with parameters ${parameters} in third listener`);
    });

    console.log(myEmitter.listeners('event'));

    myEmitter.emit('event', 1, 2, 3, 4, 5);

    // Prints:
    // [
    // [Function: firstListener],
    // [Function: secondListener],
    // [Function: thirdListener]
    // ]
    // Helloooo! first listener
    // event with parameters 1, 2 in second listener
    // event with parameters 1, 2, 3, 4, 5 in third listener @@ -168,7 +169,7 @@
    • event: {
          data: {
              [key: string]: any;
          };
          [key: string]: any;
      }
      • [key: string]: any
      • data: {
            [key: string]: any;
        }
        • [key: string]: any
    • Optionalmiddlewares?: ((event: BaseEventInterface<any>, next: (() => void)) => false | void)[]

Returns void

emitter.emitEvent("game:started", {
event: { data: { gameId: "001", status: "active" } },
middlewares: [
(event, next) => { console.log("Processing event:", event); next(); },
(event, next) => { event.data.processed = true; next(); }
]
});
-
  • Returns an array listing the events for which the emitter has registered listeners. The values in the array are strings or Symbols.

    import { EventEmitter } from 'node:events';

    const myEE = new EventEmitter();
    myEE.on('foo', () => {});
    myEE.on('bar', () => {});

    const sym = Symbol('symbol');
    myEE.on(sym, () => {});

    console.log(myEE.eventNames());
    // Prints: [ 'foo', 'bar', Symbol(symbol) ]
    @@ -195,7 +196,7 @@
    class SpecialCasino extends Casino {
    public createSpecialRoom(config: PokerRoomConfig): PokerRoomInterface {
    return this._createRoom(config);
    }
    }
    const specialCasino = new SpecialCasino();
    const newRoom = specialCasino.createSpecialRoom({ name: "Champions Lounge", tableSize: 10, smallBlind: 100, bigBlind: 200 });
    console.log(newRoom.getName()); // Outputs: "Champions Lounge"
    -
  • Retrieves the current name of the PokerRoom.

    @@ -217,7 +218,7 @@
    const pokerRoom = new PokerRoom({ name: "VIP Room", tableSize: 6 });
    console.log(pokerRoom.getName()); // Logs "VIP Room"
    -
  • Retrieves the associated PokerTable instance within the PokerRoom.

    N/A - This method does not implement external interfaces.

    N/A - This method does not override any superclass or parent methods.

    The getTable method provides access to the PokerTable instance that is actively managed by the PokerRoom. @@ -236,7 +237,7 @@

    const pokerRoom = new PokerRoom({ name: "High Stakes", tableSize: 6 });
    const table = pokerRoom.getTable();
    console.log(table); // Logs the PokerTable instance associated with "High Stakes" room
    -
  • Checks if a provided index is within the valid range of the Casino’s room list.

    Implements the isValidIndex method of CasinoInterface.

    N/A

    This method helps validate that an index is within the valid bounds of the Casino’s room list. It prevents @@ -264,7 +265,7 @@

    const casino = new Casino();
    try {
    casino.isValidIndex(2); // Returns true if there are at least 3 rooms
    } catch (error) {
    console.error(error.message); // If index 2 is out of bounds, logs error message
    }
    -
  • Returns the number of listeners listening for the event named eventName. If listener is provided, it will return how many times the listener is found in the list of the listeners of the event.

    Type Parameters

    • K

    Parameters

    • eventName: string | symbol

      The name of the event being listened for

      @@ -275,7 +276,38 @@

      Type Parameters

      • K

      Parameters

      • eventName: string | symbol

      Returns Function[]

      v0.1.26

      -
  • The emitEvent method is a public method for emitting events, with an optional configuration that allows +middleware processing. Middleware functions can intercept and transform the event before it reaches the listeners, +allowing custom validation or data modifications.

    +

    This method enables flexible event emission with support for middleware, providing a robust event processing +mechanism in the BaseEventEmitter. It’s useful for customizing event behavior based on application-specific needs.

    +

    N/A

    +

    N/A

    +

    This method can emit any event specified by eventName, which can then be processed by middleware functions if defined.

    +
      +
    • eventName: string - The name of the event to emit.
    • +
    • options: { event: { data: { [key: string]: any }; [key: string]: any; }, middlewares?: Array<(event: BaseEventInterface, next: () => void) => void | false> } +
        +
      • event - The primary event data to emit, containing specific details.
      • +
      • middlewares - An optional array of middleware functions that process the event before emission.
      • +
      +
    • +
    +
      +
    • eventName must be a valid string.
    • +
    • options.event should include relevant data for the event. If middlewares are provided, they should be functions with an event and next parameter.
    • +
    +
      +
    • void - This method does not return a value.
    • +
    +

    Use this method to emit events with middleware-based customization, which allows for specific processing +logic or transformations before the event reaches listeners.

    +

    Parameters

    • eventName: string

      The name of the event to emit.

      +
    • options: {
          handler: ((event: BaseEventInterface<any>) => void);
          middlewares?: ((event: BaseEventInterface<any>, next: (() => void)) => false | void)[];
      }

      Configuration for the event and optional middleware functions.

      +

    Returns void

    emitter.emitEvent("game:started", {
    event: { data: { gameId: "001", status: "active" } },
    middlewares: [
    (event, next) => { console.log("Processing event:", event); next(); },
    (event, next) => { event.data.processed = true; next(); }
    ]
    }); +
    + +
  • Alias for emitter.removeListener().

    Type Parameters

    • K

    Parameters

    • eventName: string | symbol
    • listener: ((...args: any[]) => void)
        • (...args): void
        • Parameters

          • Rest...args: any[]

          Returns void

    Returns this

    v10.0.0

  • Adds the listener function to the end of the listeners array for the event named eventName. No checks are made to see if the listener has already @@ -372,80 +404,80 @@ modified for this specific EventEmitter instance. The value can be set to Infinity (or 0) to indicate an unlimited number of listeners.

    Returns a reference to the EventEmitter, so that calls can be chained.

    Parameters

    • n: number

    Returns this

    v0.3.5

    -
  • Sets the name of the PokerRoom, allowing the name to be updated or customized.

    -

    N/A - This method is part of the PokerRoomInterface and does not implement any external methods.

    -

    N/A - This method does not override any superclass or parent methods.

    -

    The setName method is used to assign a specific name to a PokerRoom, which helps distinguish it within the system. +

  • Sets the name of the PokerRoom, allowing the name to be updated or customized.

    +

    N/A - This method is part of the PokerRoomInterface and does not implement any external methods.

    +

    N/A - This method does not override any superclass or parent methods.

    +

    The setName method is used to assign a specific name to a PokerRoom, which helps distinguish it within the system. This is essential for systems where rooms need to be identifiable and manageable through a unique name.

    -

    N/A - No events are emitted by this method.

    -
      +

      N/A - No events are emitted by this method.

      +
      • name: A string representing the new name for the room. It must be a valid, non-empty string to ensure the room has a clear, identifiable label.
      -
        +
        • The name parameter should be a non-empty string to provide meaningful identification.
        • Passing an empty or invalid value could result in future misidentification of rooms if validation is implemented.
        -
          +
          • Returns the name that was set for the PokerRoom.
          -

          Use this method to set or update the name of a room in a system where unique or identifiable room names +

          Use this method to set or update the name of a room in a system where unique or identifiable room names are necessary for reference.

    Parameters

    • name: string

      The new name for the PokerRoom.

    Returns string

    • Returns the name of the room that was set.
    -
    const pokerRoom = new PokerRoom({ name: "Room1", tableSize: 6 });
    pokerRoom.setName("HighRollers"); // Sets the name of the room to "HighRollers"
    console.log(pokerRoom.getName()); // Logs "HighRollers" +
    const pokerRoom = new PokerRoom({ name: "Room1", tableSize: 6 });
    pokerRoom.setName("HighRollers"); // Sets the name of the room to "HighRollers"
    console.log(pokerRoom.getName()); // Logs "HighRollers"
    -
  • Sets the table configuration within the PokerRoom. The table configuration determines essential settings for the poker table, such as table size, small blind, and big blind values.

    -

    N/A - This method is part of the PokerRoomInterface and does not implement any external methods.

    -

    N/A - This method does not override any superclass or parent methods.

    -

    The setTables method allows configuration or reconfiguration of the poker table within a room. +

    N/A - This method is part of the PokerRoomInterface and does not implement any external methods.

    +

    N/A - This method does not override any superclass or parent methods.

    +

    The setTables method allows configuration or reconfiguration of the poker table within a room. Properly setting up the table configuration is vital for game mechanics and player experience.

    -

    N/A - No events are emitted by this method.

    -
      +

      N/A - No events are emitted by this method.

      +
      • table: A PokerTableInterface instance containing configuration details for the room’s table.
      -
        +
        • The table parameter should be a valid instance of PokerTableInterface, configured with necessary game parameters.
        -
          +
          • Returns the PokerTableInterface instance after updating it within the room.
          -

          Call this method to configure or update the settings of a poker table in the room. This helps ensure +

          Call this method to configure or update the settings of a poker table in the room. This helps ensure all game-related settings, such as seating and blinds, are properly managed.

    Parameters

    Returns PokerTableInterface[]

    • Returns the table configuration set for the room.
    -
    const pokerRoom = new PokerRoom({ name: "Room3", tableSize: 8 });
    const tableConfig = new PokerTable({ tableSize: 8, smallBlind: 10, bigBlind: 20 });
    pokerRoom.setTables(tableConfig); // Configures the table for the room
    console.log(pokerRoom.getTable()); // Logs the table configuration +
    const pokerRoom = new PokerRoom({ name: "Room3", tableSize: 8 });
    const tableConfig = new PokerTable({ tableSize: 8, smallBlind: 10, bigBlind: 20 });
    pokerRoom.setTables(tableConfig); // Configures the table for the room
    console.log(pokerRoom.getTable()); // Logs the table configuration
    -
  • size Starts a new PokerGame if there are at least two active players at the PokerTable. This method initiates the game flow, including assigning blinds and starting the rounds.

    -

    Returns number

  • Returns the total number of PokerRoom instances currently managed by the Casino.

    -

    Implements the roomCount method of CasinoInterface.

    -

    N/A

    -

    Provides a simple way to check how many poker rooms the Casino is currently managing. Useful for general +

    Returns number

  • Returns the total number of PokerRoom instances currently managed by the Casino.

    +

    Implements the roomCount method of CasinoInterface.

    +

    N/A

    +

    Provides a simple way to check how many poker rooms the Casino is currently managing. Useful for general information about the Casino's state and for validating indices or conditions that depend on room count.

    -

    N/A

    -

    N/A

    -

    N/A

    -
      +

      N/A

      +

      N/A

      +

      N/A

      +
      • Returns the number of rooms currently managed by the Casino.
      -

      This method is useful for any scenario where the total number of active rooms is needed, such as iterating +

      This method is useful for any scenario where the total number of active rooms is needed, such as iterating over all rooms or validating index-based operations.

    Returns number

    • The current count of rooms in the Casino.
    -
    const casino = new Casino();
    const count = casino.roomCount();
    console.log(count); // Logs the total number of managed rooms, e.g., 5 +
    const casino = new Casino();
    const count = casino.roomCount();
    console.log(count); // Logs the total number of managed rooms, e.g., 5
    -
  • Experimental

    Listens once to the abort event on the provided signal.

    Listening to the abort event on abort signals is unsafe and may lead to resource leaks since another third party with the signal can call e.stopImmediatePropagation(). Unfortunately Node.js cannot change @@ -531,4 +563,4 @@

  • Rest...eventTargets: (EventEmitter<DefaultEventMap> | EventTarget)[]

    Zero or more {EventTarget} or {EventEmitter} instances. If none are specified, n is set as the default max for all newly created {EventTarget} and {EventEmitter} objects.

Returns void

v15.4.0

-
+
diff --git a/docs/site/classes/models_pokerSeat.PokerSeat.html b/docs/site/classes/models_pokerSeat.PokerSeat.html index 9e32202..db29dde 100644 --- a/docs/site/classes/models_pokerSeat.PokerSeat.html +++ b/docs/site/classes/models_pokerSeat.PokerSeat.html @@ -26,7 +26,7 @@
const pokerSeat = new PokerSeat();
pokerSeat.on(PokerSeatEvents.SEAT_OCCUPIED, () => console.log("Seat is now occupied"));
pokerSeat.occupySeat(player);
console.log(pokerSeat.isSeatOccupied()); // Console Output: true
-

Hierarchy (view full)

Implements

Constructors

Hierarchy (view full)

Implements

Returns PokerSeat

const seatConfig = { id: "seat1", position: 3, isDealer: false };
const pokerSeat = new PokerSeat(seatConfig);
console.log(pokerSeat.getPosition()); // Console Output: 3
-

Properties

captureRejections: boolean

Value: boolean

+

Properties

captureRejections: boolean

Value: boolean

Change the default captureRejections option on all new EventEmitter objects.

v13.4.0, v12.16.0

captureRejectionSymbol: typeof captureRejectionSymbol

Value: Symbol.for('nodejs.rejection')

@@ -162,7 +163,7 @@
  • event: {
        data: {
            [key: string]: any;
        };
        [key: string]: any;
    }
    • [key: string]: any
    • data: {
          [key: string]: any;
      }
      • [key: string]: any
  • Optionalmiddlewares?: ((event: BaseEventInterface<any>, next: (() => void)) => false | void)[]

Returns void

emitter.emitEvent("game:started", {
event: { data: { gameId: "001", status: "active" } },
middlewares: [
(event, next) => { console.log("Processing event:", event); next(); },
(event, next) => { event.data.processed = true; next(); }
]
});
-
  • Returns an array listing the events for which the emitter has registered listeners. The values in the array are strings or Symbols.

    import { EventEmitter } from 'node:events';

    const myEE = new EventEmitter();
    myEE.on('foo', () => {});
    myEE.on('bar', () => {});

    const sym = Symbol('symbol');
    myEE.on(sym, () => {});

    console.log(myEE.eventNames());
    // Prints: [ 'foo', 'bar', Symbol(symbol) ]
    @@ -190,7 +191,7 @@
    const pokerSeat = new PokerSeat();
    console.log(pokerSeat.getId());
    // Console Output: a unique string identifier, e.g., "123e4567-e89b-12d3-a456-426614174000"
    -
  • The getPlayer method is a public getter that retrieves the player occupying this seat, if any.

    @@ -214,7 +215,7 @@
    const pokerSeat = new PokerSeat();
    pokerSeat.occupySeat(player); // player implements PokerPlayerInterface
    console.log(pokerSeat.getPlayer());
    // Console Output: <PlayerInstance>
    -
  • The getPosition method is a public getter that retrieves the seat’s position at the poker table.

    N/A

    N/A

    This method provides access to the seat's specific position on the poker table, which is important for managing @@ -235,7 +236,7 @@

    const pokerSeat = new PokerSeat({ position: 3 });
    console.log(pokerSeat.getPosition());
    // Console Output: 3
    -
  • The isDealer method is a public getter that checks if this seat is currently designated as the dealer seat.

    N/A

    N/A

    This method indicates whether the seat has been designated as the dealer, which is critical for determining @@ -256,13 +257,13 @@

    const pokerSeat = new PokerSeat();
    pokerSeat.setDealer(true);
    console.log(pokerSeat.isDealer());
    // Console Output: true
    -
  • The isOccupied method checks if the seat is currently occupied by a player.

    This method is essential for determining seat occupancy status, enabling other parts of the program to verify if a seat is taken before allowing actions such as seating another player.

    Returns boolean

    • true if the seat has a player, otherwise false.
    -
  • Returns the number of listeners listening for the event named eventName. If listener is provided, it will return how many times the listener is found in the list of the listeners of the event.

    Type Parameters

    • K

    Parameters

    • eventName: string | symbol

      The name of the event being listened for

      @@ -273,11 +274,42 @@

      Type Parameters

      • K

      Parameters

      • eventName: string | symbol

      Returns Function[]

      v0.1.26

      -
  • The occupy method assigns a player to occupy this seat.

    -

    This method assigns a player to the seat, indicating the seat is occupied. It is essential for seating +

  • The emitEvent method is a public method for emitting events, with an optional configuration that allows +middleware processing. Middleware functions can intercept and transform the event before it reaches the listeners, +allowing custom validation or data modifications.

    +

    This method enables flexible event emission with support for middleware, providing a robust event processing +mechanism in the BaseEventEmitter. It’s useful for customizing event behavior based on application-specific needs.

    +

    N/A

    +

    N/A

    +

    This method can emit any event specified by eventName, which can then be processed by middleware functions if defined.

    +
      +
    • eventName: string - The name of the event to emit.
    • +
    • options: { event: { data: { [key: string]: any }; [key: string]: any; }, middlewares?: Array<(event: BaseEventInterface, next: () => void) => void | false> } +
        +
      • event - The primary event data to emit, containing specific details.
      • +
      • middlewares - An optional array of middleware functions that process the event before emission.
      • +
      +
    • +
    +
      +
    • eventName must be a valid string.
    • +
    • options.event should include relevant data for the event. If middlewares are provided, they should be functions with an event and next parameter.
    • +
    +
      +
    • void - This method does not return a value.
    • +
    +

    Use this method to emit events with middleware-based customization, which allows for specific processing +logic or transformations before the event reaches listeners.

    +

    Parameters

    • eventName: string

      The name of the event to emit.

      +
    • options: {
          handler: ((event: BaseEventInterface<any>) => void);
          middlewares?: ((event: BaseEventInterface<any>, next: (() => void)) => false | void)[];
      }

      Configuration for the event and optional middleware functions.

      +

    Returns void

    emitter.emitEvent("game:started", {
    event: { data: { gameId: "001", status: "active" } },
    middlewares: [
    (event, next) => { console.log("Processing event:", event); next(); },
    (event, next) => { event.data.processed = true; next(); }
    ]
    }); +
    + +
  • The occupy method assigns a player to occupy this seat.

    +

    This method assigns a player to the seat, indicating the seat is occupied. It is essential for seating management, allowing a player to be seated at a specific position at the poker table.

    Parameters

    Returns void

  • Alias for emitter.removeListener().

    +

Returns void

  • Alias for emitter.removeListener().

    Type Parameters

    • K

    Parameters

    • eventName: string | symbol
    • listener: ((...args: any[]) => void)
        • (...args): void
        • Parameters

          • Rest...args: any[]

          Returns void

    Returns this

    v10.0.0

  • Adds the listener function to the end of the listeners array for the event named eventName. No checks are made to see if the listener has already @@ -368,15 +400,15 @@

    Returns a reference to the EventEmitter, so that calls can be chained.

    Type Parameters

    • K

    Parameters

    • eventName: string | symbol
    • listener: ((...args: any[]) => void)
        • (...args): void
        • Parameters

          • Rest...args: any[]

          Returns void

    Returns this

    v0.1.26

    -
  • The setDealer method is a public setter that designates the PokerSeat instance as the dealer seat if true is passed, or removes the dealer designation if false is passed.

    -

    N/A

    -

    N/A

    -

    This method allows toggling the dealer status for a seat, which is essential for poker games where the dealer +

    N/A

    +

    N/A

    +

    This method allows toggling the dealer status for a seat, which is essential for poker games where the dealer role shifts between players. By marking a seat as the dealer, this method helps manage game flow, particularly in the context of determining blinds, turn order, and betting phases.

    -

    N/A

    -
      +

      N/A

      +
      • bool: boolean - A boolean value indicating whether this seat should be designated as the dealer.
        • If true, the seat is set as the dealer.
        • @@ -384,37 +416,37 @@
      -
        +
        • bool must be a boolean value (true or false).
        • Passing true designates the seat as the dealer, while false removes the dealer status.
        -
          +
          • boolean - The assigned dealer status for the seat.
            • Returns true if the seat is designated as the dealer, and false if it is not.
          -

          Use this method to assign or remove the dealer status of a seat. Typically, only one seat at a table should +

          Use this method to assign or remove the dealer status of a seat. Typically, only one seat at a table should have the dealer status at any given time. This method is useful in scenarios where the dealer role rotates, such as in each new round of a poker game.

    Parameters

    • bool: boolean

      A boolean indicating whether this seat is the dealer.

    Returns boolean

    • The updated dealer status of the seat.
    -
    const pokerSeat = new PokerSeat({ position: 2 });
    pokerSeat.setDealer(true); // Sets the seat as the dealer
    console.log(pokerSeat.isDealer()); // Console Output: true

    pokerSeat.setDealer(false); // Removes dealer designation
    console.log(pokerSeat.isDealer()); // Console Output: false +
    const pokerSeat = new PokerSeat({ position: 2 });
    pokerSeat.setDealer(true); // Sets the seat as the dealer
    console.log(pokerSeat.isDealer()); // Console Output: true

    pokerSeat.setDealer(false); // Removes dealer designation
    console.log(pokerSeat.isDealer()); // Console Output: false
    -
  • By default EventEmitters will print a warning if more than 10 listeners are added for a particular event. This is a useful default that helps finding memory leaks. The emitter.setMaxListeners() method allows the limit to be modified for this specific EventEmitter instance. The value can be set to Infinity (or 0) to indicate an unlimited number of listeners.

    Returns a reference to the EventEmitter, so that calls can be chained.

    Parameters

    • n: number

    Returns this

    v0.3.5

    -
  • The vacate method removes the player from the seat, marking it as unoccupied.

    -

    This method allows for freeing up the seat by removing the player, which is essential in poker games +

  • The vacate method removes the player from the seat, marking it as unoccupied.

    +

    This method allows for freeing up the seat by removing the player, which is essential in poker games where players may need to leave their seat or be reassigned to a different seat.

    -

    Returns void

  • Experimental

    Listens once to the abort event on the provided signal.

    Listening to the abort event on abort signals is unsafe and may lead to resource leaks since another third party with the signal can call e.stopImmediatePropagation(). Unfortunately Node.js cannot change @@ -500,4 +532,4 @@

  • Rest...eventTargets: (EventEmitter<DefaultEventMap> | EventTarget)[]

    Zero or more {EventTarget} or {EventEmitter} instances. If none are specified, n is set as the default max for all newly created {EventTarget} and {EventEmitter} objects.

Returns void

v15.4.0

-
+
diff --git a/docs/site/classes/models_pokerTable.PokerTable.html b/docs/site/classes/models_pokerTable.PokerTable.html index 6d75a00..70c4421 100644 --- a/docs/site/classes/models_pokerTable.PokerTable.html +++ b/docs/site/classes/models_pokerTable.PokerTable.html @@ -28,7 +28,7 @@
const pokerTable = new PokerTable();
pokerTable.on('table:gameStarted', () => console.log("Game has started"));
pokerTable.seatPlayer({ name: "Alice", chips: 100 });
pokerTable.startGame();
console.log(pokerTable.getQueue()); // Logs the current queue of waiting players
-

Hierarchy (view full)

Implements

Constructors

Hierarchy (view full)

Implements

Returns PokerTable

const config = { id: "Table42", smallBlind: 25, size: 6 };
const pokerTable = new PokerTable(config);
console.log(pokerTable.getSeats().length); // Output: 6
-

Properties

captureRejections: boolean

Value: boolean

+

Properties

captureRejections: boolean

Value: boolean

Change the default captureRejections option on all new EventEmitter objects.

v13.4.0, v12.16.0

captureRejectionSymbol: typeof captureRejectionSymbol

Value: Symbol.for('nodejs.rejection')

@@ -133,16 +135,16 @@
const rank = card.getRank();
console.log(rank); // "A"
-
  • Alias for emitter.on(eventName, listener).

    Type Parameters

    • K

    Parameters

    • eventName: string | symbol
    • listener: ((...args: any[]) => void)
        • (...args): void
        • Parameters

          • Rest...args: any[]

          Returns void

    Returns this

    v0.1.26

  • Synchronously calls each of the listeners registered for the event named eventName, in the order they were registered, passing the supplied arguments to each.

    @@ -182,7 +184,7 @@
    • event: {
          data: {
              [key: string]: any;
          };
          [key: string]: any;
      }
      • [key: string]: any
      • data: {
            [key: string]: any;
        }
        • [key: string]: any
    • Optionalmiddlewares?: ((event: BaseEventInterface<any>, next: (() => void)) => false | void)[]

Returns void

emitter.emitEvent("game:started", {
event: { data: { gameId: "001", status: "active" } },
middlewares: [
(event, next) => { console.log("Processing event:", event); next(); },
(event, next) => { event.data.processed = true; next(); }
]
});
-
  • Returns an array listing the events for which the emitter has registered listeners. The values in the array are strings or Symbols.

    import { EventEmitter } from 'node:events';

    const myEE = new EventEmitter();
    myEE.on('foo', () => {});
    myEE.on('bar', () => {});

    const sym = Symbol('symbol');
    myEE.on(sym, () => {});

    console.log(myEE.eventNames());
    // Prints: [ 'foo', 'bar', Symbol(symbol) ]
    @@ -194,25 +196,28 @@
    const rank = card.getRank();
    console.log(rank); // "A"
    -
  • getId

    Returns the poker table's id.

    Returns number

    The poker table's id.

    const rank = card.getRank();
    console.log(rank); // "A"
    -
  • getSeats +Starts a new PokerGame if there are at least two active players at the PokerTable. +This method initiates the game flow, including assigning blinds and starting the rounds.

    +

    Returns boolean

  • Checks if a provided index is within the valid range of the Casino’s room list.

    Implements the isValidIndex method of CasinoInterface.

    N/A

    This method helps validate that an index is within the valid bounds of the Casino’s room list. It prevents @@ -240,7 +245,7 @@

    const casino = new Casino();
    try {
    casino.isValidIndex(2); // Returns true if there are at least 3 rooms
    } catch (error) {
    console.error(error.message); // If index 2 is out of bounds, logs error message
    }
    -
  • Returns the number of listeners listening for the event named eventName. If listener is provided, it will return how many times the listener is found in the list of the listeners of the event.

    Type Parameters

    • K

    Parameters

    • eventName: string | symbol

      The name of the event being listened for

      @@ -251,7 +256,38 @@

      Type Parameters

      • K

      Parameters

      • eventName: string | symbol

      Returns Function[]

      v0.1.26

      -
  • The emitEvent method is a public method for emitting events, with an optional configuration that allows +middleware processing. Middleware functions can intercept and transform the event before it reaches the listeners, +allowing custom validation or data modifications.

    +

    This method enables flexible event emission with support for middleware, providing a robust event processing +mechanism in the BaseEventEmitter. It’s useful for customizing event behavior based on application-specific needs.

    +

    N/A

    +

    N/A

    +

    This method can emit any event specified by eventName, which can then be processed by middleware functions if defined.

    +
      +
    • eventName: string - The name of the event to emit.
    • +
    • options: { event: { data: { [key: string]: any }; [key: string]: any; }, middlewares?: Array<(event: BaseEventInterface, next: () => void) => void | false> } +
        +
      • event - The primary event data to emit, containing specific details.
      • +
      • middlewares - An optional array of middleware functions that process the event before emission.
      • +
      +
    • +
    +
      +
    • eventName must be a valid string.
    • +
    • options.event should include relevant data for the event. If middlewares are provided, they should be functions with an event and next parameter.
    • +
    +
      +
    • void - This method does not return a value.
    • +
    +

    Use this method to emit events with middleware-based customization, which allows for specific processing +logic or transformations before the event reaches listeners.

    +

    Parameters

    • eventName: string

      The name of the event to emit.

      +
    • options: {
          handler: ((event: BaseEventInterface<any>) => void);
          middlewares?: ((event: BaseEventInterface<any>, next: (() => void)) => false | void)[];
      }

      Configuration for the event and optional middleware functions.

      +

    Returns void

    emitter.emitEvent("game:started", {
    event: { data: { gameId: "001", status: "active" } },
    middlewares: [
    (event, next) => { console.log("Processing event:", event); next(); },
    (event, next) => { event.data.processed = true; next(); }
    ]
    }); +
    + +
  • Alias for emitter.removeListener().

    Type Parameters

    • K

    Parameters

    • eventName: string | symbol
    • listener: ((...args: any[]) => void)
        • (...args): void
        • Parameters

          • Rest...args: any[]

          Returns void

    Returns this

    v10.0.0

  • Adds the listener function to the end of the listeners array for the event named eventName. No checks are made to see if the listener has already @@ -342,88 +378,88 @@

    Returns a reference to the EventEmitter, so that calls can be chained.

    Type Parameters

    • K

    Parameters

    • eventName: string | symbol
    • listener: ((...args: any[]) => void)
        • (...args): void
        • Parameters

          • Rest...args: any[]

          Returns void

    Returns this

    v0.1.26

    -
  • Returns the total number of PokerRoom instances currently managed by the Casino.

    -

    Implements the roomCount method of CasinoInterface.

    -

    N/A

    -

    Provides a simple way to check how many poker rooms the Casino is currently managing. Useful for general +

  • Returns the total number of PokerRoom instances currently managed by the Casino.

    +

    Implements the roomCount method of CasinoInterface.

    +

    N/A

    +

    Provides a simple way to check how many poker rooms the Casino is currently managing. Useful for general information about the Casino's state and for validating indices or conditions that depend on room count.

    -

    N/A

    -

    N/A

    -

    N/A

    -
      +

      N/A

      +

      N/A

      +

      N/A

      +
      • Returns the number of rooms currently managed by the Casino.
      -

      This method is useful for any scenario where the total number of active rooms is needed, such as iterating +

      This method is useful for any scenario where the total number of active rooms is needed, such as iterating over all rooms or validating index-based operations.

    Returns number

    • The current count of rooms in the Casino.
    -
    const casino = new Casino();
    const count = casino.roomCount();
    console.log(count); // Logs the total number of managed rooms, e.g., 5 +
    const casino = new Casino();
    const count = casino.roomCount();
    console.log(count); // Logs the total number of managed rooms, e.g., 5
    -
  • By default EventEmitters will print a warning if more than 10 listeners are added for a particular event. This is a useful default that helps finding memory leaks. The emitter.setMaxListeners() method allows the limit to be modified for this specific EventEmitter instance. The value can be set to Infinity (or 0) to indicate an unlimited number of listeners.

    Returns a reference to the EventEmitter, so that calls can be chained.

    Parameters

    • n: number

    Returns this

    v0.3.5

    -
  • Sets the name of the PokerRoom, allowing the name to be updated or customized.

    -

    N/A - This method is part of the PokerRoomInterface and does not implement any external methods.

    -

    N/A - This method does not override any superclass or parent methods.

    -

    The setName method is used to assign a specific name to a PokerRoom, which helps distinguish it within the system. +

  • Sets the name of the PokerRoom, allowing the name to be updated or customized.

    +

    N/A - This method is part of the PokerRoomInterface and does not implement any external methods.

    +

    N/A - This method does not override any superclass or parent methods.

    +

    The setName method is used to assign a specific name to a PokerRoom, which helps distinguish it within the system. This is essential for systems where rooms need to be identifiable and manageable through a unique name.

    -

    N/A - No events are emitted by this method.

    -
      +

      N/A - No events are emitted by this method.

      +
      • name: A string representing the new name for the room. It must be a valid, non-empty string to ensure the room has a clear, identifiable label.
      -
        +
        • The name parameter should be a non-empty string to provide meaningful identification.
        • Passing an empty or invalid value could result in future misidentification of rooms if validation is implemented.
        -
          +
          • Returns the name that was set for the PokerRoom.
          -

          Use this method to set or update the name of a room in a system where unique or identifiable room names +

          Use this method to set or update the name of a room in a system where unique or identifiable room names are necessary for reference.

    Parameters

    • name: string

      The new name for the PokerRoom.

    Returns string

    • Returns the name of the room that was set.
    -
    const pokerRoom = new PokerRoom({ name: "Room1", tableSize: 6 });
    pokerRoom.setName("HighRollers"); // Sets the name of the room to "HighRollers"
    console.log(pokerRoom.getName()); // Logs "HighRollers" +
    const pokerRoom = new PokerRoom({ name: "Room1", tableSize: 6 });
    pokerRoom.setName("HighRollers"); // Sets the name of the room to "HighRollers"
    console.log(pokerRoom.getName()); // Logs "HighRollers"
    -
  • Sets the queue of players waiting to enter the PokerTable within the PokerRoom. This queue helps manage player flow and assign seating as tables become available.

    -

    N/A - This method is part of the PokerRoomInterface and does not implement any external methods.

    -

    N/A - This method does not override any superclass or parent methods.

    -

    The setQueue method provides a structured way to set or update the player queue. This queue is essential +

    N/A - This method is part of the PokerRoomInterface and does not implement any external methods.

    +

    N/A - This method does not override any superclass or parent methods.

    +

    The setQueue method provides a structured way to set or update the player queue. This queue is essential for room management, helping to keep a record of players awaiting entry and manage seating arrangements.

    -

    N/A - No events are emitted by this method.

    -
      +

      N/A - No events are emitted by this method.

      +
      • queue: An array of PokerPlayerInterface objects, each representing a player awaiting entry into the room’s PokerTable.
      -
        +
        • queue should be an array of valid PokerPlayerInterface instances.
        • If empty, the queue indicates that no players are currently waiting for entry.
        -
          +
          • Returns the queue array after updating it within the room.
          -

          Use this method to set or update the player queue in cases where player flow needs control, +

          Use this method to set or update the player queue in cases where player flow needs control, ensuring smooth transitions as players are seated at the table.

    Parameters

    • smallBlind: number

      The new list of players waiting to enter the table.

    Returns number

    • Returns the updated player queue.
    -
    const pokerRoom = new PokerRoom({ name: "Room2", tableSize: 6 });
    const queue = [new PokerPlayer("Alice"), new PokerPlayer("Bob")];
    pokerRoom.setQueue(queue); // Sets the player queue
    console.log(pokerRoom.getQueue()); // Logs the updated player queue +
    const pokerRoom = new PokerRoom({ name: "Room2", tableSize: 6 });
    const queue = [new PokerPlayer("Alice"), new PokerPlayer("Bob")];
    pokerRoom.setQueue(queue); // Sets the player queue
    console.log(pokerRoom.getQueue()); // Logs the updated player queue
    -
  • size Starts a new PokerGame if there are at least two active players at the PokerTable. This method initiates the game flow, including assigning blinds and starting the rounds.

    -

    Returns number

  • Experimental

    Listens once to the abort event on the provided signal.

    +

    Returns number

  • Experimental

    Listens once to the abort event on the provided signal.

    Listening to the abort event on abort signals is unsafe and may lead to resource leaks since another third party with the signal can call e.stopImmediatePropagation(). Unfortunately Node.js cannot change @@ -509,4 +545,4 @@

  • Rest...eventTargets: (EventEmitter<DefaultEventMap> | EventTarget)[]

    Zero or more {EventTarget} or {EventEmitter} instances. If none are specified, n is set as the default max for all newly created {EventTarget} and {EventEmitter} objects.

Returns void

v15.4.0

-
+
diff --git a/docs/site/enums/enums_PokerPhaseNames.PokerPhaseName.html b/docs/site/enums/enums_PokerPhaseNames.PokerPhaseName.html deleted file mode 100644 index a57a48e..0000000 --- a/docs/site/enums/enums_PokerPhaseNames.PokerPhaseName.html +++ /dev/null @@ -1,45 +0,0 @@ -PokerPhaseName | casinojs

PokerPhaseName -Defines the various phases in a standard poker game. Each phase represents a distinct stage -within the game sequence, governing the number of community cards dealt and player actions.

-

PokerPhaseName is designed to provide a clear, standardized reference for each poker phase. -It simplifies managing the game flow and ensures that each phase can be easily referenced -within conditional statements and game logic.

-

The PokerPhaseName includes the following phases:

-
    -
  • PRE_FLOP: The initial phase before any community cards are dealt.
  • -
  • FLOP: The second phase, where the first three community cards are dealt.
  • -
  • TURN: The third phase, where a fourth community card is dealt.
  • -
  • RIVER: The fourth phase, where the fifth and final community card is dealt.
  • -
  • SHOWDOWN: The final phase where players reveal their hands and a winner is determined.
  • -
-

This enum standardizes the game flow, making it easy to transition between poker phases -and ensuring compatibility with various game modules and functions.

-
const currentPhase: PokerPhaseName = PokerPhaseName.PRE_FLOP;
console.log(currentPhase);
// Console Output: "Pre-Flop" -
- -

Enumeration Members

Enumeration Members

FLOP

The second phase where the first three community cards are dealt.

-
const currentPhase: PokerPhaseName = PokerPhaseName.FLOP;
console.log(currentPhase);
// Console Output: "Flop" -
- -
PRE_FLOP

The initial phase before any community cards are dealt.

-
const currentPhase: PokerPhaseName = PokerPhaseName.PRE_FLOP;
console.log(currentPhase);
// Console Output: "Pre-Flop" -
- -
RIVER

The fourth phase where the fifth and final community card is dealt.

-
const currentPhase: PokerPhaseName = PokerPhaseName.RIVER;
console.log(currentPhase);
// Console Output: "River" -
- -
SHOWDOWN

The final phase where players reveal their hands to determine the winner.

-
const currentPhase: PokerPhaseName = PokerPhaseName.SHOWDOWN;
console.log(currentPhase);
// Console Output: "ShowDown" -
- -
TURN

The third phase where a fourth community card is dealt.

-
const currentPhase: PokerPhaseName = PokerPhaseName.TURN;
console.log(currentPhase);
// Console Output: "Turn" -
- -
diff --git a/docs/site/enums/enums_events_casino.CasinoEvents.html b/docs/site/enums/enums_events_casino.CasinoEvents.html index 62fc579..a8db44b 100644 --- a/docs/site/enums/enums_events_casino.CasinoEvents.html +++ b/docs/site/enums/enums_events_casino.CasinoEvents.html @@ -4,19 +4,19 @@
const eventName = CasinoEvents.ROOM_CREATED;
console.log(eventName);
// Output: "Casino:PokerRoomCreated"
-

Enumeration Members

Enumeration Members

ROOM_ADDED

ROOM_ADDED - Emitted when a single room is added to the casino's list of managed rooms.

Allows listeners to respond when a new room is introduced into the Casino’s list of available rooms.

-
ROOM_CREATED

ROOM_CREATED - Emitted when a new room is created and added to the casino's list of managed rooms.

+
ROOM_CREATED

ROOM_CREATED - Emitted when a new room is created and added to the casino's list of managed rooms.

Notifies listeners when a new poker room has been successfully created and added to the Casino’s managed list.

-
ROOM_DELETED

ROOM_DELETED - Emitted when an existing room is removed from the casino's list of managed rooms.

+
ROOM_DELETED

ROOM_DELETED - Emitted when an existing room is removed from the casino's list of managed rooms.

Enables clean-up or resource reallocation processes by notifying listeners when a room is removed from the Casino.

-
ROOM_UPDATED

ROOM_UPDATED - Emitted when an existing room in the casino is modified.

+
ROOM_UPDATED

ROOM_UPDATED - Emitted when an existing room in the casino is modified.

Notifies listeners when a room’s configuration or attributes (e.g., blinds, player limits) have been updated.

-
ROOMS_SET

ROOMS_SET - Emitted when the casino’s managed list of rooms is set to a new batch of rooms.

+
ROOMS_SET

ROOMS_SET - Emitted when the casino’s managed list of rooms is set to a new batch of rooms.

Notifies listeners when the Casino’s full list of rooms has been reset or replaced with a new set of rooms.

-
+
diff --git a/docs/site/enums/enums_events_deck.DeckEvents.html b/docs/site/enums/enums_events_deck.DeckEvents.html new file mode 100644 index 0000000..3d44dd8 --- /dev/null +++ b/docs/site/enums/enums_events_deck.DeckEvents.html @@ -0,0 +1,23 @@ +DeckEvents | casinojs

DeckEvents

+

Defines the events associated with a player's seat in a poker game. These events help manage seat availability +and player actions related to occupying or vacating seats at a poker table.

+

The DeckEvents enum is designed to provide a standardized reference for seat-related events in the game. +It simplifies the handling of seat states, ensuring seat occupancy and vacancy can be tracked and updated +accurately within the game flow.

+

The DeckEvents includes the following events:

+
    +
  • INITIALIZED: Indicates that the seat has been initialized and is ready for occupancy.
  • +
  • OCCUPIED: Indicates a seat has been occupied by a player.
  • +
  • VACATED: Indicates a seat has been vacated by a player.
  • +
+

This enum standardizes the handling of seat events, making it easier to manage player movements at the table and +ensuring compatibility with various game modules and event listeners.

+
const seatEvent: DeckEvents = DeckEvents.OCCUPIED;
console.log(seatEvent);
// Console Output: "Deck:Occupied" +
+ +

Enumeration Members

Enumeration Members

INITIALIZED

Indicates that the seat has been initialized and is ready for occupancy.

+
const seatEvent: DeckEvents = DeckEvents.INITIALIZED;
console.log(seatEvent);
// Console Output: "Deck:Initialized" +
+ +
diff --git a/docs/site/enums/enums_events_pokerGame.PokerGameEvents.html b/docs/site/enums/enums_events_pokerGame.PokerGameEvents.html new file mode 100644 index 0000000..2acbcdc --- /dev/null +++ b/docs/site/enums/enums_events_pokerGame.PokerGameEvents.html @@ -0,0 +1,23 @@ +PokerGameEvents | casinojs

PokerGameEvents

+

Defines the events associated with a player's seat in a poker game. These events help manage seat availability +and player actions related to occupying or vacating seats at a poker table.

+

The PokerGameEvents enum is designed to provide a standardized reference for seat-related events in the game. +It simplifies the handling of seat states, ensuring seat occupancy and vacancy can be tracked and updated +accurately within the game flow.

+

The PokerGameEvents includes the following events:

+
    +
  • INITIALIZED: Indicates that the seat has been initialized and is ready for occupancy.
  • +
  • OCCUPIED: Indicates a seat has been occupied by a player.
  • +
  • VACATED: Indicates a seat has been vacated by a player.
  • +
+

This enum standardizes the handling of seat events, making it easier to manage player movements at the table and +ensuring compatibility with various game modules and event listeners.

+
const seatEvent: PokerGameEvents = PokerGameEvents.OCCUPIED;
console.log(seatEvent);
// Console Output: "PokerGame:Occupied" +
+ +

Enumeration Members

Enumeration Members

INITIALIZED

Indicates that the seat has been initialized and is ready for occupancy.

+
const seatEvent: PokerGameEvents = PokerGameEvents.INITIALIZED;
console.log(seatEvent);
// Console Output: "PokerGame:Initialized" +
+ +
diff --git a/docs/site/enums/enums_events_pokerPhase.PokerPhaseEvents.html b/docs/site/enums/enums_events_pokerPhase.PokerPhaseEvents.html new file mode 100644 index 0000000..d735796 --- /dev/null +++ b/docs/site/enums/enums_events_pokerPhase.PokerPhaseEvents.html @@ -0,0 +1,23 @@ +PokerPhaseEvents | casinojs

PokerPhaseEvents

+

Defines the events associated with a player's seat in a poker game. These events help manage seat availability +and player actions related to occupying or vacating seats at a poker table.

+

The PokerPhaseEvents enum is designed to provide a standardized reference for seat-related events in the game. +It simplifies the handling of seat states, ensuring seat occupancy and vacancy can be tracked and updated +accurately within the game flow.

+

The PokerPhaseEvents includes the following events:

+
    +
  • INITIALIZED: Indicates that the seat has been initialized and is ready for occupancy.
  • +
  • OCCUPIED: Indicates a seat has been occupied by a player.
  • +
  • VACATED: Indicates a seat has been vacated by a player.
  • +
+

This enum standardizes the handling of seat events, making it easier to manage player movements at the table and +ensuring compatibility with various game modules and event listeners.

+
const seatEvent: PokerPhaseEvents = PokerPhaseEvents.OCCUPIED;
console.log(seatEvent);
// Console Output: "PokerPhase:Occupied" +
+ +

Enumeration Members

Enumeration Members

INITIALIZED

Indicates that the seat has been initialized and is ready for occupancy.

+
const seatEvent: PokerPhaseEvents = PokerPhaseEvents.INITIALIZED;
console.log(seatEvent);
// Console Output: "PokerPhase:Initialized" +
+ +
diff --git a/docs/site/enums/enums_events_pokerPlayer.PokerPlayerEvents.html b/docs/site/enums/enums_events_pokerPlayer.PokerPlayerEvents.html new file mode 100644 index 0000000..df9108e --- /dev/null +++ b/docs/site/enums/enums_events_pokerPlayer.PokerPlayerEvents.html @@ -0,0 +1,23 @@ +PokerPlayerEvents | casinojs

PokerPlayerEvents

+

Defines the events associated with a player's seat in a poker game. These events help manage seat availability +and player actions related to occupying or vacating seats at a poker table.

+

The PokerPlayerEvents enum is designed to provide a standardized reference for seat-related events in the game. +It simplifies the handling of seat states, ensuring seat occupancy and vacancy can be tracked and updated +accurately within the game flow.

+

The PokerPlayerEvents includes the following events:

+
    +
  • INITIALIZED: Indicates that the seat has been initialized and is ready for occupancy.
  • +
  • OCCUPIED: Indicates a seat has been occupied by a player.
  • +
  • VACATED: Indicates a seat has been vacated by a player.
  • +
+

This enum standardizes the handling of seat events, making it easier to manage player movements at the table and +ensuring compatibility with various game modules and event listeners.

+
const seatEvent: PokerPlayerEvents = PokerPlayerEvents.OCCUPIED;
console.log(seatEvent);
// Console Output: "PokerPlayer:Occupied" +
+ +

Enumeration Members

Enumeration Members

INITIALIZED

Indicates that the seat has been initialized and is ready for occupancy.

+
const seatEvent: PokerPlayerEvents = PokerPlayerEvents.INITIALIZED;
console.log(seatEvent);
// Console Output: "PokerPlayer:Initialized" +
+ +
diff --git a/docs/site/enums/enums_events_pokerRoom.PokerRoomEvents.html b/docs/site/enums/enums_events_pokerRoom.PokerRoomEvents.html new file mode 100644 index 0000000..eb479e7 --- /dev/null +++ b/docs/site/enums/enums_events_pokerRoom.PokerRoomEvents.html @@ -0,0 +1,23 @@ +PokerRoomEvents | casinojs

PokerRoomEvents

+

Defines the events associated with a player's seat in a poker game. These events help manage seat availability +and player actions related to occupying or vacating seats at a poker table.

+

The PokerRoomEvents enum is designed to provide a standardized reference for seat-related events in the game. +It simplifies the handling of seat states, ensuring seat occupancy and vacancy can be tracked and updated +accurately within the game flow.

+

The PokerRoomEvents includes the following events:

+
    +
  • INITIALIZED: Indicates that the seat has been initialized and is ready for occupancy.
  • +
  • OCCUPIED: Indicates a seat has been occupied by a player.
  • +
  • VACATED: Indicates a seat has been vacated by a player.
  • +
+

This enum standardizes the handling of seat events, making it easier to manage player movements at the table and +ensuring compatibility with various game modules and event listeners.

+
const seatEvent: PokerRoomEvents = PokerRoomEvents.OCCUPIED;
console.log(seatEvent);
// Console Output: "PokerRoom:Occupied" +
+ +

Enumeration Members

Enumeration Members

INITIALIZED

Indicates that the seat has been initialized and is ready for occupancy.

+
const seatEvent: PokerRoomEvents = PokerRoomEvents.INITIALIZED;
console.log(seatEvent);
// Console Output: "PokerRoom:Initialized" +
+ +
diff --git a/docs/site/enums/enums_events_pokerSeat.PokerSeatEvents.html b/docs/site/enums/enums_events_pokerSeat.PokerSeatEvents.html index 656320a..1e27ecf 100644 --- a/docs/site/enums/enums_events_pokerSeat.PokerSeatEvents.html +++ b/docs/site/enums/enums_events_pokerSeat.PokerSeatEvents.html @@ -15,19 +15,19 @@
const seatEvent: PokerSeatEvents = PokerSeatEvents.OCCUPIED;
console.log(seatEvent);
// Console Output: "PokerSeat:Occupied"
-

Enumeration Members

Enumeration Members

Enumeration Members

INITIALIZED

Indicates that the seat has been initialized and is ready for occupancy.

const seatEvent: PokerSeatEvents = PokerSeatEvents.INITIALIZED;
console.log(seatEvent);
// Console Output: "PokerSeat:Initialized"
-
OCCUPIED

Indicates a seat has been occupied by a player.

+
OCCUPIED

Indicates a seat has been occupied by a player.

const seatEvent: PokerSeatEvents = PokerSeatEvents.OCCUPIED;
console.log(seatEvent);
// Console Output: "PokerSeat:Occupied"
-
VACATED

Indicates a seat has been vacated by a player.

+
VACATED

Indicates a seat has been vacated by a player.

const seatEvent: PokerSeatEvents = PokerSeatEvents.VACATED;
console.log(seatEvent);
// Console Output: "PokerSeat:Vacated"
-
+
diff --git a/docs/site/enums/enums_events_pokerTable.PokerTableEvents.html b/docs/site/enums/enums_events_pokerTable.PokerTableEvents.html new file mode 100644 index 0000000..c81a323 --- /dev/null +++ b/docs/site/enums/enums_events_pokerTable.PokerTableEvents.html @@ -0,0 +1,23 @@ +PokerTableEvents | casinojs

PokerTableEvents

+

Defines the events associated with a player's seat in a poker game. These events help manage seat availability +and player actions related to occupying or vacating seats at a poker table.

+

The PokerTableEvents enum is designed to provide a standardized reference for seat-related events in the game. +It simplifies the handling of seat states, ensuring seat occupancy and vacancy can be tracked and updated +accurately within the game flow.

+

The PokerTableEvents includes the following events:

+
    +
  • INITIALIZED: Indicates that the seat has been initialized and is ready for occupancy.
  • +
  • OCCUPIED: Indicates a seat has been occupied by a player.
  • +
  • VACATED: Indicates a seat has been vacated by a player.
  • +
+

This enum standardizes the handling of seat events, making it easier to manage player movements at the table and +ensuring compatibility with various game modules and event listeners.

+
const seatEvent: PokerTableEvents = PokerTableEvents.OCCUPIED;
console.log(seatEvent);
// Console Output: "PokerTable:Occupied" +
+ +

Enumeration Members

Enumeration Members

INITIALIZED

Indicates that the seat has been initialized and is ready for occupancy.

+
const seatEvent: PokerTableEvents = PokerTableEvents.INITIALIZED;
console.log(seatEvent);
// Console Output: "PokerTable:Initialized" +
+ +
diff --git a/docs/site/enums/enums_logLevel.LogLevel.html b/docs/site/enums/enums_logLevel.LogLevel.html deleted file mode 100644 index 3bf2a4a..0000000 --- a/docs/site/enums/enums_logLevel.LogLevel.html +++ /dev/null @@ -1,29 +0,0 @@ -LogLevel | casinojs

Enumeration LogLevel

LogLevel

-

Represents the different levels of logging severity available within the library. -Each log level corresponds to a specific type of message, providing clarity on the nature and urgency of the log. -The levels are structured to allow for selective filtering based on severity and importance.

-

The LogLevel enum standardizes log severity levels, ensuring that log messages are consistently categorized. -This approach aids in debugging, monitoring, and organizing log data by its importance, making it easier to parse -and filter through logs in development, production, or auditing scenarios.

-

The LogLevel enum is used across the logging system to specify the severity of each log message. It includes:

-
    -
  • INFO: For general informational messages, routine operations, and non-urgent updates.
  • -
  • WARN: For warnings or potential issues that may not yet be errors but deserve attention.
  • -
  • ERROR: For serious issues that have occurred and require immediate attention.
  • -
-
const logLevel = LogLevel.INFO;
console.log(logLevel);
// Console Output: "info" -
- -

Enumeration Members

Enumeration Members

ERROR
const level = LogLevel.ERROR;
console.log(level);
// Console Output: "error" -
- -
INFO
const level = LogLevel.INFO;
console.log(level);
// Console Output: "info" -
- -
WARN
const level = LogLevel.WARN;
console.log(level);
// Console Output: "warning" -
- -
diff --git a/docs/site/enums/enums_logLevels.LogLevel.html b/docs/site/enums/enums_logLevels.LogLevel.html new file mode 100644 index 0000000..8406a7e --- /dev/null +++ b/docs/site/enums/enums_logLevels.LogLevel.html @@ -0,0 +1,29 @@ +LogLevel | casinojs

LogLevel

+

Represents the different levels of logging severity available within the library. +Each log level corresponds to a specific type of message, providing clarity on the nature and urgency of the log. +The levels are structured to allow for selective filtering based on severity and importance.

+

The LogLevel enum standardizes log severity levels, ensuring that log messages are consistently categorized. +This approach aids in debugging, monitoring, and organizing log data by its importance, making it easier to parse +and filter through logs in development, production, or auditing scenarios.

+

The LogLevel enum is used across the logging system to specify the severity of each log message. It includes:

+
    +
  • INFO: For general informational messages, routine operations, and non-urgent updates.
  • +
  • WARN: For warnings or potential issues that may not yet be errors but deserve attention.
  • +
  • ERROR: For serious issues that have occurred and require immediate attention.
  • +
+
const logLevel = LogLevel.INFO;
console.log(logLevel);
// Console Output: "info" +
+ +

Enumeration Members

Enumeration Members

ERROR
const level = LogLevel.ERROR;
console.log(level);
// Console Output: "error" +
+ +
INFO
const level = LogLevel.INFO;
console.log(level);
// Console Output: "info" +
+ +
WARN
const level = LogLevel.WARN;
console.log(level);
// Console Output: "warning" +
+ +
diff --git a/docs/site/enums/enums_pokerPhases.PokerPhases.html b/docs/site/enums/enums_pokerPhases.PokerPhases.html new file mode 100644 index 0000000..98c03bf --- /dev/null +++ b/docs/site/enums/enums_pokerPhases.PokerPhases.html @@ -0,0 +1,45 @@ +PokerPhases | casinojs

PokerPhases +Defines the various phases in a standard poker game. Each phase represents a distinct stage +within the game sequence, governing the number of community cards dealt and player actions.

+

PokerPhases is designed to provide a clear, standardized reference for each poker phase. +It simplifies managing the game flow and ensures that each phase can be easily referenced +within conditional statements and game logic.

+

The PokerPhases includes the following phases:

+
    +
  • PRE_FLOP: The initial phase before any community cards are dealt.
  • +
  • FLOP: The second phase, where the first three community cards are dealt.
  • +
  • TURN: The third phase, where a fourth community card is dealt.
  • +
  • RIVER: The fourth phase, where the fifth and final community card is dealt.
  • +
  • SHOWDOWN: The final phase where players reveal their hands and a winner is determined.
  • +
+

This enum standardizes the game flow, making it easy to transition between poker phases +and ensuring compatibility with various game modules and functions.

+
const currentPhase: PokerPhases = PokerPhases.PRE_FLOP;
console.log(currentPhase);
// Console Output: "Pre-Flop" +
+ +

Enumeration Members

Enumeration Members

FLOP

The second phase where the first three community cards are dealt.

+
const currentPhase: PokerPhases = PokerPhases.FLOP;
console.log(currentPhase);
// Console Output: "Flop" +
+ +
PRE_FLOP

The initial phase before any community cards are dealt.

+
const currentPhase: PokerPhases = PokerPhases.PRE_FLOP;
console.log(currentPhase);
// Console Output: "Pre-Flop" +
+ +
RIVER

The fourth phase where the fifth and final community card is dealt.

+
const currentPhase: PokerPhases = PokerPhases.RIVER;
console.log(currentPhase);
// Console Output: "River" +
+ +
SHOWDOWN

The final phase where players reveal their hands to determine the winner.

+
const currentPhase: PokerPhases = PokerPhases.SHOWDOWN;
console.log(currentPhase);
// Console Output: "ShowDown" +
+ +
TURN

The third phase where a fourth community card is dealt.

+
const currentPhase: PokerPhases = PokerPhases.TURN;
console.log(currentPhase);
// Console Output: "Turn" +
+ +
diff --git a/docs/site/enums/enums_rank.Rank.html b/docs/site/enums/enums_rank.Rank.html deleted file mode 100644 index 16225ce..0000000 --- a/docs/site/enums/enums_rank.Rank.html +++ /dev/null @@ -1,20 +0,0 @@ -Rank | casinojs

Enumeration Rank

Rank -Represents the ranks of playing cards used in poker. -Each rank corresponds to a specific card value from 2 to Ace.

-
const rank = Rank.Ace;
console.log(rank);
//output: "A" -
- -

Enumeration Members

Enumeration Members

Ace
Eight
Five
Four
Jack
King
Nine
Queen
Seven
Six
Ten
Three
Two
diff --git a/docs/site/enums/enums_ranks.Rank.html b/docs/site/enums/enums_ranks.Rank.html new file mode 100644 index 0000000..cdf1f02 --- /dev/null +++ b/docs/site/enums/enums_ranks.Rank.html @@ -0,0 +1,20 @@ +Rank | casinojs

Enumeration Rank

Rank +Represents the ranks of playing cards used in poker. +Each rank corresponds to a specific card value from 2 to Ace.

+
const rank = Rank.Ace;
console.log(rank);
//output: "A" +
+ +

Enumeration Members

Enumeration Members

Ace
Eight
Five
Four
Jack
King
Nine
Queen
Seven
Six
Ten
Three
Two
diff --git a/docs/site/enums/enums_source.Source.html b/docs/site/enums/enums_sources.Source.html similarity index 55% rename from docs/site/enums/enums_source.Source.html rename to docs/site/enums/enums_sources.Source.html index a648a5d..fe2c89b 100644 --- a/docs/site/enums/enums_source.Source.html +++ b/docs/site/enums/enums_sources.Source.html @@ -1,4 +1,4 @@ -Source | casinojs

Enumeration Source

Source +Source | casinojs

Enumeration Source

Source Defines the sources of various components and entities within the library, each representing a specific entity or module that can emit events or interact within the system. This enum is used as a standardized identifier for the origin of actions, events, or data across the library.

@@ -23,54 +23,54 @@
const source = Source.POKER_GAME;
console.log(source);
// Console Output: "PokerGame"
-

Enumeration Members

_BASE

Represents the BaseEventEmitter, the foundational event emitter for the library.

const source = Source._BASE;
console.log(source);
// Console Output: "BaseEventEmitter"
-
CARD

Represents the Card model, corresponding to individual playing cards.

+
CARD

Represents the Card model, corresponding to individual playing cards.

const source = Source.CARD;
console.log(source);
// Console Output: "Card"
-
CASINO

Refers to the Casino model, which handles casino or game management operations.

+
CASINO

Refers to the Casino model, which handles casino or game management operations.

const source = Source.CASINO;
console.log(source);
// Console Output: "Casino"
-
DECK

Identifies the Deck, representing a collection of playing cards.

+
DECK

Identifies the Deck, representing a collection of playing cards.

const source = Source.DECK;
console.log(source);
// Console Output: "Deck"
-
POKER_GAME

Corresponds to the PokerGame model, responsible for managing the poker game actions and states.

+
POKER_GAME

Corresponds to the PokerGame model, responsible for managing the poker game actions and states.

const source = Source.POKER_GAME;
console.log(source);
// Console Output: "PokerGame"
-
POKER_PHASE

Represents the PokerPhase model, indicating stages or phases within a poker game.

+
POKER_PHASE

Represents the PokerPhase model, indicating stages or phases within a poker game.

const source = Source.POKER_PHASE;
console.log(source);
// Console Output: "PokerPhase"
-
POKER_PLAYER

Refers to the PokerPlayer model, encompassing player-specific data and actions.

+
POKER_PLAYER

Refers to the PokerPlayer model, encompassing player-specific data and actions.

const source = Source.POKER_PLAYER;
console.log(source);
// Console Output: "PokerPlayer"
-
POKER_ROOM

Corresponds to the PokerRoom model, representing rooms where games take place.

+
POKER_ROOM

Corresponds to the PokerRoom model, representing rooms where games take place.

const source = Source.POKER_ROOM;
console.log(source);
// Console Output: "PokerRoom"
-
POKER_SEAT

Refers to the PokerSeat model, representing individual seats within a poker table.

+
POKER_SEAT

Refers to the PokerSeat model, representing individual seats within a poker table.

const source = Source.POKER_SEAT;
console.log(source);
// Console Output: "PokerSeat"
-
POKER_TABLE

Represents the PokerTable model, which handles table-specific settings and seating.

+
POKER_TABLE

Represents the PokerTable model, which handles table-specific settings and seating.

const source = Source.POKER_TABLE;
console.log(source);
// Console Output: "PokerTable"
-
+
diff --git a/docs/site/enums/enums_suit.Suit.html b/docs/site/enums/enums_suit.Suit.html deleted file mode 100644 index cf3f617..0000000 --- a/docs/site/enums/enums_suit.Suit.html +++ /dev/null @@ -1,11 +0,0 @@ -Suit | casinojs

Enumeration Suit

Suit -Represents the suits of playing cards used in poker. -Each suit corresponds to one of the four card suits: Hearts, Diamonds, Clubs, and Spades.

-
const suit = Suit.Hearts;
console.log(suit); // "Hearts" -
- -

Enumeration Members

Enumeration Members

Clubs
Diamonds
Hearts
Spades
diff --git a/docs/site/enums/enums_suits.Suit.html b/docs/site/enums/enums_suits.Suit.html new file mode 100644 index 0000000..0bbdb8a --- /dev/null +++ b/docs/site/enums/enums_suits.Suit.html @@ -0,0 +1,11 @@ +Suit | casinojs

Enumeration Suit

Suit +Represents the suits of playing cards used in poker. +Each suit corresponds to one of the four card suits: Hearts, Diamonds, Clubs, and Spades.

+
const suit = Suit.Hearts;
console.log(suit); // "Hearts" +
+ +

Enumeration Members

Enumeration Members

Clubs
Diamonds
Hearts
Spades
diff --git a/docs/site/functions/utils_generateUniqueId.generateUniqueId.html b/docs/site/functions/utils_generateUniqueId.generateUniqueId.html index b91264a..6f32265 100644 --- a/docs/site/functions/utils_generateUniqueId.generateUniqueId.html +++ b/docs/site/functions/utils_generateUniqueId.generateUniqueId.html @@ -1 +1 @@ -generateUniqueId | casinojs
+generateUniqueId | casinojs
diff --git a/docs/site/interfaces/interfaces__base.BaseEventEmitterInterface.html b/docs/site/interfaces/interfaces__base.BaseEventEmitterInterface.html index 16f047b..4f37326 100644 --- a/docs/site/interfaces/interfaces__base.BaseEventEmitterInterface.html +++ b/docs/site/interfaces/interfaces__base.BaseEventEmitterInterface.html @@ -1,6 +1,6 @@ BaseEventEmitterInterface | casinojs

Interface BaseEventEmitterInterface

BaseEventEmitterInterface Extends the standard Node.js EventEmitter, including listener management methods.

-
interface BaseEventEmitterInterface {
    [captureRejectionSymbol]?<K>(error: Error, event: string | symbol, ...args: AnyRest): void;
    addListener<K>(eventName: string | symbol, listener: ((...args: any[]) => void)): this;
    emit<K>(eventName: string | symbol, ...args: AnyRest): boolean;
    eventNames(): (string | symbol)[];
    getMaxListeners(): number;
    listenerCount<K>(eventName: string | symbol, listener?: Function): number;
    listeners<K>(eventName: string | symbol): Function[];
    off<K>(eventName: string | symbol, listener: ((...args: any[]) => void)): this;
    on<K>(eventName: string | symbol, listener: ((...args: any[]) => void)): this;
    once<K>(eventName: string | symbol, listener: ((...args: any[]) => void)): this;
    prependListener<K>(eventName: string | symbol, listener: ((...args: any[]) => void)): this;
    prependOnceListener<K>(eventName: string | symbol, listener: ((...args: any[]) => void)): this;
    rawListeners<K>(eventName: string | symbol): Function[];
    removeAllListeners(eventName?: string | symbol): this;
    removeListener<K>(eventName: string | symbol, listener: ((...args: any[]) => void)): this;
    setMaxListeners(n: number): this;
}

Hierarchy (view full)

Implemented by

Methods

interface BaseEventEmitterInterface {
    [captureRejectionSymbol]?<K>(error: Error, event: string | symbol, ...args: AnyRest): void;
    addListener<K>(eventName: string | symbol, listener: ((...args: any[]) => void)): this;
    emit<K>(eventName: string | symbol, ...args: AnyRest): boolean;
    eventNames(): (string | symbol)[];
    getMaxListeners(): number;
    listenerCount<K>(eventName: string | symbol, listener?: Function): number;
    listeners<K>(eventName: string | symbol): Function[];
    off<K>(eventName: string | symbol, listener: ((...args: any[]) => void)): this;
    on<K>(eventName: string | symbol, listener: ((...args: any[]) => void)): this;
    once<K>(eventName: string | symbol, listener: ((...args: any[]) => void)): this;
    prependListener<K>(eventName: string | symbol, listener: ((...args: any[]) => void)): this;
    prependOnceListener<K>(eventName: string | symbol, listener: ((...args: any[]) => void)): this;
    rawListeners<K>(eventName: string | symbol): Function[];
    removeAllListeners(eventName?: string | symbol): this;
    removeListener<K>(eventName: string | symbol, listener: ((...args: any[]) => void)): this;
    setMaxListeners(n: number): this;
}

Hierarchy (view full)

Implemented by

Methods

Returns (string | symbol)[]

v6.0.0

  • Retrieves the maximum number of listeners allowed for this instance.

    Returns number

    The maximum number of listeners, defaulting to Node.js’s EventEmitter.defaultMaxListeners.

    -
  • Returns the number of listeners listening for the event named eventName. +

  • Returns the number of listeners listening for the event named eventName. If listener is provided, it will return how many times the listener is found in the list of the listeners of the event.

    Type Parameters

    • K

    Parameters

    • eventName: string | symbol

      The name of the event being listened for

      diff --git a/docs/site/interfaces/interfaces_baseEvent.BaseEventInterface.html b/docs/site/interfaces/interfaces_baseEvent.BaseEventInterface.html index e4043e6..a0f1cea 100644 --- a/docs/site/interfaces/interfaces_baseEvent.BaseEventInterface.html +++ b/docs/site/interfaces/interfaces_baseEvent.BaseEventInterface.html @@ -21,7 +21,7 @@
interface BaseEventInterface<T> {
    createdAt: Date;
    data: T;
    id: string;
    lastModifiedAt?: Date;
    meta?: {
        [key: string]: any;
    };
    name: string;
    priority?: number;
    source: string;
    status?: string;
    [key: string]: any;
}

Type Parameters

  • T = any

Indexable

  • [key: string]: any

    Allows additional properties for further extensibility.

    Enables flexible additions to event fields, supporting any custom key-value pair that may be required for specific events.

    -

Properties

Properties

createdAt data id lastModifiedAt? @@ -33,28 +33,28 @@

Properties

createdAt: Date
const creationTime = event.createdAt;
console.log(creationTime);
// Console Output: Date object representing the event's creation time.
-
data: T
const seatEventData = event.data;
console.log(seatEventData);
// Console Output: Custom data object, e.g., { seatId: "123", playerId: "p789" } +
data: T
const seatEventData = event.data;
console.log(seatEventData);
// Console Output: Custom data object, e.g., { seatId: "123", playerId: "p789" }
-
id: string
const eventId = event.id;
console.log(eventId);
// Console Output: "unique-id-1234" +
id: string
const eventId = event.id;
console.log(eventId);
// Console Output: "unique-id-1234"
-
lastModifiedAt?: Date
const modificationTime = event.lastModifiedAt;
console.log(modificationTime);
// Console Output: Date object representing the event's last modification time, if set. +
lastModifiedAt?: Date
const modificationTime = event.lastModifiedAt;
console.log(modificationTime);
// Console Output: Date object representing the event's last modification time, if set.
-
meta?: {
    [key: string]: any;
}
const eventMetadata = event.metadata;
console.log(eventMetadata);
// Console Output: { customMetaKey: "customMetaValue" } +
meta?: {
    [key: string]: any;
}
const eventMetadata = event.metadata;
console.log(eventMetadata);
// Console Output: { customMetaKey: "customMetaValue" }
-
name: string
const eventName = event.name;
console.log(eventName);
// Console Output: "Casino:RoomCreated" +
name: string
const eventName = event.name;
console.log(eventName);
// Console Output: "Casino:RoomCreated"
-
priority?: number
const eventPriority = event.priority;
console.log(eventPriority);
// Console Output: Integer representing event priority level. +
priority?: number
const eventPriority = event.priority;
console.log(eventPriority);
// Console Output: Integer representing event priority level.
-
source: string
const eventSource = event.source;
console.log(eventSource);
// Console Output: "PokerRoom" or similar string value. +
source: string
const eventSource = event.source;
console.log(eventSource);
// Console Output: "PokerRoom" or similar string value.
-
status?: string
const eventStatus = event.status;
console.log(eventStatus);
// Console Output: "in-progress" or other string value indicating status. +
status?: string
const eventStatus = event.status;
console.log(eventStatus);
// Console Output: "in-progress" or other string value indicating status.
-
+
diff --git a/docs/site/interfaces/interfaces_card.CardConfig.html b/docs/site/interfaces/interfaces_card.CardConfig.html index 4ba89d5..2986829 100644 --- a/docs/site/interfaces/interfaces_card.CardConfig.html +++ b/docs/site/interfaces/interfaces_card.CardConfig.html @@ -1,5 +1,5 @@ CardConfig | casinojs

CardConfig Represents a Card Config.

-
interface CardConfig {
    rank: Rank;
    suit: Suit;
}

Properties

interface CardConfig {
    rank: Rank;
    suit: Suit;
}

Properties

Properties

rank: Rank
suit: Suit
+

Properties

rank: Rank
suit: Suit
diff --git a/docs/site/interfaces/interfaces_card.CardInterface.html b/docs/site/interfaces/interfaces_card.CardInterface.html index f224c14..a7350e5 100644 --- a/docs/site/interfaces/interfaces_card.CardInterface.html +++ b/docs/site/interfaces/interfaces_card.CardInterface.html @@ -4,32 +4,32 @@
const card: CardInterface = new Card(Rank.Ace, Suit.Spades);
console.log(card.toString()); // "A of Spades"
-
interface CardInterface {
    getRank(): Rank;
    getSuit(): Suit;
    toObj(): {
        rank: Rank;
        suit: Suit;
    };
    toString(): string;
}

Implemented by

Methods

interface CardInterface {
    getRank(): Rank;
    getSuit(): Suit;
    toObj(): {
        rank: Rank;
        suit: Suit;
    };
    toString(): string;
}

Implemented by

Methods

  • getRank

    +

Methods

  • getRank

    Returns the card's rank.

    -

    Returns Rank

    The card's rank.

    +

    Returns Rank

    The card's rank.

    const rank = card.getRank();
    console.log(rank); // "A"
    -
  • getSuit

    Returns the card's suit.

    -

    Returns Suit

    The card's suit.

    +

    Returns Suit

    The card's suit.

    const suit = card.getSuit();
    console.log(suit); // "Spades"
    -
  • toObj

    Returns an object representation of the card, containing its rank and suit.

    -

    Returns {
        rank: Rank;
        suit: Suit;
    }

    The card's rank and suit as an object.

    -
    const cardObj = card.toObj();
    console.log(cardObj); // { rank: "A", suit: "Spades" } +

    Returns {
        rank: Rank;
        suit: Suit;
    }

    The card's rank and suit as an object.

    +
    const cardObj = card.toObj();
    console.log(cardObj); // { rank: "A", suit: "Spades" }
    -
  • toString

    Returns a string representation of the card, displaying its rank and suit.

    Returns string

    The card's rank and suit as a formatted string.

    const description = card.toString();
    console.log(description); // "A of Spades"
    -
+
diff --git a/docs/site/interfaces/interfaces_casino.CasinoInterface.html b/docs/site/interfaces/interfaces_casino.CasinoInterface.html index 21c86c5..3961d0a 100644 --- a/docs/site/interfaces/interfaces_casino.CasinoInterface.html +++ b/docs/site/interfaces/interfaces_casino.CasinoInterface.html @@ -13,7 +13,7 @@
const casino: CasinoInterface = new Casino();
casino.on('casino:roomCreated', (room) => console.log(`Room created: ${room.name}`));
const room = casino.createRoom({ name: "Room1", tableSize: 6, smallBlind: 10, bigBlind: 20 });
console.log(casino.listRooms());
-
interface CasinoInterface {
    [captureRejectionSymbol]?<K>(error: Error, event: string | symbol, ...args: AnyRest): void;
    addListener<K>(eventName: string | symbol, listener: ((...args: any[]) => void)): this;
    addRoom(room: PokerRoomInterface): PokerRoomInterface[];
    addRooms(rooms: PokerRoomInterface[]): PokerRoomInterface[];
    createRoom(config: PokerRoomConfig): PokerRoomInterface;
    deleteRoom(index: number): PokerRoomInterface[];
    emit<K>(eventName: string | symbol, ...args: AnyRest): boolean;
    eventNames(): (string | symbol)[];
    getMaxListeners(): number;
    getRoom(index: number): PokerRoomInterface;
    getRooms(): PokerRoomInterface[];
    isValidIndex(index: number): boolean;
    listenerCount<K>(eventName: string | symbol, listener?: Function): number;
    listeners<K>(eventName: string | symbol): Function[];
    off<K>(eventName: string | symbol, listener: ((...args: any[]) => void)): this;
    on<K>(eventName: string | symbol, listener: ((...args: any[]) => void)): this;
    once<K>(eventName: string | symbol, listener: ((...args: any[]) => void)): this;
    prependListener<K>(eventName: string | symbol, listener: ((...args: any[]) => void)): this;
    prependOnceListener<K>(eventName: string | symbol, listener: ((...args: any[]) => void)): this;
    rawListeners<K>(eventName: string | symbol): Function[];
    removeAllListeners(eventName?: string | symbol): this;
    removeListener<K>(eventName: string | symbol, listener: ((...args: any[]) => void)): this;
    roomCount(): number;
    setMaxListeners(n: number): this;
    setRooms(rooms: PokerRoomInterface[]): PokerRoomInterface[];
}

Hierarchy (view full)

Implemented by

interface CasinoInterface {
    [captureRejectionSymbol]?<K>(error: Error, event: string | symbol, ...args: AnyRest): void;
    addListener<K>(eventName: string | symbol, listener: ((...args: any[]) => void)): this;
    addRoom(room: PokerRoomInterface): PokerRoomInterface[];
    addRooms(rooms: PokerRoomInterface[]): PokerRoomInterface[];
    createRoom(config: PokerRoomConfig): PokerRoomInterface;
    deleteRoom(index: number): PokerRoomInterface[];
    emit<K>(eventName: string | symbol, ...args: AnyRest): boolean;
    eventNames(): (string | symbol)[];
    getMaxListeners(): number;
    getRoom(index: number): PokerRoomInterface;
    getRooms(): PokerRoomInterface[];
    isValidIndex(index: number): boolean;
    listenerCount<K>(eventName: string | symbol, listener?: Function): number;
    listeners<K>(eventName: string | symbol): Function[];
    off<K>(eventName: string | symbol, listener: ((...args: any[]) => void)): this;
    on<K>(eventName: string | symbol, listener: ((...args: any[]) => void)): this;
    once<K>(eventName: string | symbol, listener: ((...args: any[]) => void)): this;
    prependListener<K>(eventName: string | symbol, listener: ((...args: any[]) => void)): this;
    prependOnceListener<K>(eventName: string | symbol, listener: ((...args: any[]) => void)): this;
    rawListeners<K>(eventName: string | symbol): Function[];
    removeAllListeners(eventName?: string | symbol): this;
    removeListener<K>(eventName: string | symbol, listener: ((...args: any[]) => void)): this;
    roomCount(): number;
    setMaxListeners(n: number): this;
    setRooms(rooms: PokerRoomInterface[]): PokerRoomInterface[];
}

Hierarchy (view full)

Implemented by

Methods

[captureRejectionSymbol]? addListener addRoom addRooms @@ -64,7 +64,7 @@
const casino = new Casino();
const room = new PokerRoom({ name: "HighRollers", tableSize: 6, smallBlind: 10, bigBlind: 20 });
const success = casino.addRoom(room);
console.log(success); // true
-
  • Adds a new PokerRoom instance to the Casino's list of managed rooms, enabling dynamic expansion +

  • Adds a new PokerRoom instance to the Casino's list of managed rooms, enabling dynamic expansion of rooms within the Casino environment.

    N/A

    N/A

    @@ -88,7 +88,7 @@
    const casino = new Casino();
    const room = new PokerRoom({ name: "HighRollers", tableSize: 6, smallBlind: 10, bigBlind: 20 });
    const success = casino.addRoom(room);
    console.log(success); // true
    -
  • Creates a new PokerRoom within the Casino and adds it to the list of rooms.

    Implements the createRoom method of CasinoInterface.

    N/A

    Enables the dynamic creation and addition of a PokerRoom to the Casino, expanding the Casino’s managed rooms as required. @@ -115,7 +115,7 @@

    const casino = new Casino();
    const room = casino.createRoom({ name: "HighRollers", tableSize: 6, smallBlind: 10, bigBlind: 20 });
    console.log(casino.getRooms()); // Logs the new room within the array of rooms
    -
  • Removes a PokerRoom from the Casino's list of managed rooms based on the room's name, enabling dynamic contraction of the Casino environment as required.

    N/A

    N/A

    @@ -143,7 +143,7 @@
    const casino = new Casino();
    casino.createRoom({ name: "HighRollers", tableSize: 6, smallBlind: 10, bigBlind: 20 });
    const success = casino.deleteRoom("HighRollers");
    console.log(success); // true if room was found and removed, false otherwise
    -
  • Synchronously calls each of the listeners registered for the event named eventName, in the order they were registered, passing the supplied arguments +

  • Synchronously calls each of the listeners registered for the event named eventName, in the order they were registered, passing the supplied arguments to each.

    Returns true if the event had listeners, false otherwise.

    import { EventEmitter } from 'node:events';
    const myEmitter = new EventEmitter();

    // First listener
    myEmitter.on('event', function firstListener() {
    console.log('Helloooo! first listener');
    });
    // Second listener
    myEmitter.on('event', function secondListener(arg1, arg2) {
    console.log(`event with parameters ${arg1}, ${arg2} in second listener`);
    });
    // Third listener
    myEmitter.on('event', function thirdListener(...args) {
    const parameters = args.join(', ');
    console.log(`event with parameters ${parameters} in third listener`);
    });

    console.log(myEmitter.listeners('event'));

    myEmitter.emit('event', 1, 2, 3, 4, 5);

    // Prints:
    // [
    // [Function: firstListener],
    // [Function: secondListener],
    // [Function: thirdListener]
    // ]
    // Helloooo! first listener
    // event with parameters 1, 2 in second listener
    // event with parameters 1, 2, 3, 4, 5 in third listener @@ -158,7 +158,7 @@

    Returns (string | symbol)[]

    v6.0.0

  • Retrieves a specific PokerRoom based on its position within the Casino’s list of rooms.

    N/A

    N/A

    This method provides direct access to a single PokerRoom by index, allowing for targeted retrieval of rooms, @@ -184,7 +184,7 @@

    const casino = new Casino();
    const room = casino.getRoom(0); // Returns the first room or undefined if no rooms exist
    -
  • Retrieves the full list of rooms currently managed by the Casino.

    Implements the getRooms method of CasinoInterface.

    N/A

    Provides access to the Casino's list of rooms, allowing external components or systems to retrieve and display @@ -204,7 +204,7 @@

    const casino = new Casino();
    console.log(casino.getRooms()); // Output: []
    -
  • Validates if a specified index is within the valid bounds of the Casino’s room list.

    +
  • Validates if a specified index is within the valid bounds of the Casino’s room list.

    N/A

    N/A

    Prevents out-of-bounds errors by confirming that an index is within the acceptable range for the Casino’s @@ -232,7 +232,7 @@

    const casino = new Casino();
    try {
    casino.isValidIndex(2); // Returns true if index 2 exists in the list of rooms
    } catch (error) {
    console.error(error.message); // Logs error if index 2 is invalid
    }
    -
  • Returns the number of listeners listening for the event named eventName. If listener is provided, it will return how many times the listener is found in the list of the listeners of the event.

    Type Parameters

    • K

    Parameters

    • eventName: string | symbol

      The name of the event being listened for

      @@ -353,7 +353,7 @@
      const casino = new Casino();
      const count = casino.roomCount();
      console.log(count); // Logs the total number of managed rooms, e.g., 5
      -
  • By default EventEmitters will print a warning if more than 10 listeners are added for a particular event. This is a useful default that helps finding memory leaks. The emitter.setMaxListeners() method allows the limit to be modified for this specific EventEmitter instance. The value can be set to Infinity (or 0) to indicate an unlimited number of listeners.

    @@ -389,4 +389,4 @@
    const casino = new Casino();
    const rooms: PokerRoomInterface[] = [
    new PokerRoom({ name: "Room1", tableSize: 6, smallBlind: 10, bigBlind: 20 })
    ];
    casino.setRooms(rooms);
    console.log(casino.getRooms()); // Logs an array with the newly set rooms
    -
+
diff --git a/docs/site/interfaces/interfaces_deck.DeckInterface.html b/docs/site/interfaces/interfaces_deck.DeckInterface.html index 0a92e1b..8cdf213 100644 --- a/docs/site/interfaces/interfaces_deck.DeckInterface.html +++ b/docs/site/interfaces/interfaces_deck.DeckInterface.html @@ -4,7 +4,7 @@
const deck: DeckInterface = new Deck();
deck.shuffle();
const card = deck.draw();
console.log(card?.toString()); // "A of Spades"
-
interface DeckInterface {
    [captureRejectionSymbol]?<K>(error: Error, event: string | symbol, ...args: AnyRest): void;
    addListener<K>(eventName: string | symbol, listener: ((...args: any[]) => void)): this;
    draw(): undefined | CardInterface;
    emit<K>(eventName: string | symbol, ...args: AnyRest): boolean;
    eventNames(): (string | symbol)[];
    getCards(): CardInterface[];
    getMaxListeners(): number;
    listenerCount<K>(eventName: string | symbol, listener?: Function): number;
    listeners<K>(eventName: string | symbol): Function[];
    off<K>(eventName: string | symbol, listener: ((...args: any[]) => void)): this;
    on<K>(eventName: string | symbol, listener: ((...args: any[]) => void)): this;
    once<K>(eventName: string | symbol, listener: ((...args: any[]) => void)): this;
    prependListener<K>(eventName: string | symbol, listener: ((...args: any[]) => void)): this;
    prependOnceListener<K>(eventName: string | symbol, listener: ((...args: any[]) => void)): this;
    rawListeners<K>(eventName: string | symbol): Function[];
    removeAllListeners(eventName?: string | symbol): this;
    removeListener<K>(eventName: string | symbol, listener: ((...args: any[]) => void)): this;
    setMaxListeners(n: number): this;
    shuffle(): void;
}

Hierarchy (view full)

Implemented by

interface DeckInterface {
    [captureRejectionSymbol]?<K>(error: Error, event: string | symbol, ...args: AnyRest): void;
    addListener<K>(eventName: string | symbol, listener: ((...args: any[]) => void)): this;
    draw(): undefined | CardInterface;
    emit<K>(eventName: string | symbol, ...args: AnyRest): boolean;
    eventNames(): (string | symbol)[];
    getCards(): CardInterface[];
    getMaxListeners(): number;
    listenerCount<K>(eventName: string | symbol, listener?: Function): number;
    listeners<K>(eventName: string | symbol): Function[];
    off<K>(eventName: string | symbol, listener: ((...args: any[]) => void)): this;
    on<K>(eventName: string | symbol, listener: ((...args: any[]) => void)): this;
    once<K>(eventName: string | symbol, listener: ((...args: any[]) => void)): this;
    prependListener<K>(eventName: string | symbol, listener: ((...args: any[]) => void)): this;
    prependOnceListener<K>(eventName: string | symbol, listener: ((...args: any[]) => void)): this;
    rawListeners<K>(eventName: string | symbol): Function[];
    removeAllListeners(eventName?: string | symbol): this;
    removeListener<K>(eventName: string | symbol, listener: ((...args: any[]) => void)): this;
    setMaxListeners(n: number): this;
    shuffle(): void;
}

Hierarchy (view full)

Implemented by

Methods

[captureRejectionSymbol]? addListener draw emit @@ -31,7 +31,7 @@
const drawnCard = deck.draw();
console.log(drawnCard?.toString()); // "A of Spades"
-
  • Synchronously calls each of the listeners registered for the event named eventName, in the order they were registered, passing the supplied arguments +

  • Synchronously calls each of the listeners registered for the event named eventName, in the order they were registered, passing the supplied arguments to each.

    Returns true if the event had listeners, false otherwise.

    import { EventEmitter } from 'node:events';
    const myEmitter = new EventEmitter();

    // First listener
    myEmitter.on('event', function firstListener() {
    console.log('Helloooo! first listener');
    });
    // Second listener
    myEmitter.on('event', function secondListener(arg1, arg2) {
    console.log(`event with parameters ${arg1}, ${arg2} in second listener`);
    });
    // Third listener
    myEmitter.on('event', function thirdListener(...args) {
    const parameters = args.join(', ');
    console.log(`event with parameters ${parameters} in third listener`);
    });

    console.log(myEmitter.listeners('event'));

    myEmitter.emit('event', 1, 2, 3, 4, 5);

    // Prints:
    // [
    // [Function: firstListener],
    // [Function: secondListener],
    // [Function: thirdListener]
    // ]
    // Helloooo! first listener
    // event with parameters 1, 2 in second listener
    // event with parameters 1, 2, 3, 4, 5 in third listener @@ -47,9 +47,9 @@
  • Returns the number of listeners listening for the event named eventName. If listener is provided, it will return how many times the listener is found in the list of the listeners of the event.

    Type Parameters

    • K

    Parameters

    • eventName: string | symbol

      The name of the event being listened for

      @@ -162,4 +162,4 @@

      Returns void

      const deck = new Deck();
      deck.shuffle();
      -
+
diff --git a/docs/site/interfaces/interfaces_logger.LoggerConfig.html b/docs/site/interfaces/interfaces_logger.LoggerConfig.html index e80e57e..c4b8be4 100644 --- a/docs/site/interfaces/interfaces_logger.LoggerConfig.html +++ b/docs/site/interfaces/interfaces_logger.LoggerConfig.html @@ -9,8 +9,8 @@
const config: LoggerConfig = {
logDirPath: "./logs",
enableConsoleLogging: true
};
-
interface LoggerConfig {
    enableConsoleLogging?: boolean;
}
interface LoggerConfig {
    enableConsoleLogging?: boolean;
}

Properties

enableConsoleLogging?: boolean
const config: LoggerConfig = {
enableConsoleLogging: false
};
-
+
diff --git a/docs/site/interfaces/interfaces_logger.LoggerInterface.html b/docs/site/interfaces/interfaces_logger.LoggerInterface.html index a4d2e62..1dbd9f6 100644 --- a/docs/site/interfaces/interfaces_logger.LoggerInterface.html +++ b/docs/site/interfaces/interfaces_logger.LoggerInterface.html @@ -13,7 +13,7 @@
class MyLogger implements LoggerInterface {
async log(level: LogLevel, message: string, data?: Record<string, any>): Promise<void> {
// Implementation of log
}
}

const logger: LoggerInterface = new MyLogger();
logger.log("info", "Application started", { timestamp: new Date() });
-
interface LoggerInterface {
    log(level: LogLevel, message: string, data?: Record<string, any>): Promise<void>;
}

Implemented by

Methods

log +
interface LoggerInterface {
    log(level: LogLevel, message: string, data?: Record<string, any>): Promise<void>;
}

Implemented by

Methods

Methods

  • Logs a message with the specified level and optional additional data context. This method is asynchronous to allow for file I/O or remote logging without blocking the application.

    Standardizes the logging of messages, allowing for log levels and structured data. @@ -33,7 +33,7 @@

Use this method to log important events, errors, or debug information with optional data for added context.

-

Parameters

  • level: LogLevel

    The severity level of the log message.

    +

    Parameters

    • level: LogLevel

      The severity level of the log message.

    • message: string

      The main message to log.

    • Optionaldata: Record<string, any>

      Additional context data for the log (optional).

    Returns Promise<void>

      @@ -42,4 +42,4 @@
      logger.log("error", "Failed to connect to the database", { errorCode: "DB_CONN_ERR", timestamp: new Date() });
       
      -
+
diff --git a/docs/site/interfaces/interfaces_pokerGame.PokerGameConfig.html b/docs/site/interfaces/interfaces_pokerGame.PokerGameConfig.html index b3c3894..9440321 100644 --- a/docs/site/interfaces/interfaces_pokerGame.PokerGameConfig.html +++ b/docs/site/interfaces/interfaces_pokerGame.PokerGameConfig.html @@ -1,7 +1,7 @@ PokerGameConfig | casinojs

PokerGameConfig Represents a Poker Game Config.

-
interface PokerGameConfig {
    bigBlind: number;
    id?: string;
    players: PokerPlayerInterface[];
    smallBlind: number;
}

Properties

interface PokerGameConfig {
    bigBlind: number;
    id?: string;
    players: PokerPlayerInterface[];
    smallBlind: number;
}

Properties

bigBlind: number
id?: string
smallBlind: number
+

Properties

bigBlind: number
id?: string
smallBlind: number
diff --git a/docs/site/interfaces/interfaces_pokerGame.PokerGameInterface.html b/docs/site/interfaces/interfaces_pokerGame.PokerGameInterface.html index 87e80d1..c9b05f9 100644 --- a/docs/site/interfaces/interfaces_pokerGame.PokerGameInterface.html +++ b/docs/site/interfaces/interfaces_pokerGame.PokerGameInterface.html @@ -1,7 +1,7 @@ PokerGameInterface | casinojs

PokerGameInterface Represents the current PokerGame being played at the PokerTable. Manages the deck, community cards, and game phases, such as pre-flop, flop, turn, and river.

-
interface PokerGameInterface {
    [captureRejectionSymbol]?<K>(error: Error, event: string | symbol, ...args: AnyRest): void;
    addListener<K>(eventName: string | symbol, listener: ((...args: any[]) => void)): this;
    emit<K>(eventName: string | symbol, ...args: AnyRest): boolean;
    eventNames(): (string | symbol)[];
    getMaxListeners(): number;
    listenerCount<K>(eventName: string | symbol, listener?: Function): number;
    listeners<K>(eventName: string | symbol): Function[];
    off<K>(eventName: string | symbol, listener: ((...args: any[]) => void)): this;
    on<K>(eventName: string | symbol, listener: ((...args: any[]) => void)): this;
    once<K>(eventName: string | symbol, listener: ((...args: any[]) => void)): this;
    prependListener<K>(eventName: string | symbol, listener: ((...args: any[]) => void)): this;
    prependOnceListener<K>(eventName: string | symbol, listener: ((...args: any[]) => void)): this;
    rawListeners<K>(eventName: string | symbol): Function[];
    removeAllListeners(eventName?: string | symbol): this;
    removeListener<K>(eventName: string | symbol, listener: ((...args: any[]) => void)): this;
    setMaxListeners(n: number): this;
}

Hierarchy (view full)

Implemented by

Methods

interface PokerGameInterface {
    [captureRejectionSymbol]?<K>(error: Error, event: string | symbol, ...args: AnyRest): void;
    addListener<K>(eventName: string | symbol, listener: ((...args: any[]) => void)): this;
    emit<K>(eventName: string | symbol, ...args: AnyRest): boolean;
    eventNames(): (string | symbol)[];
    getMaxListeners(): number;
    listenerCount<K>(eventName: string | symbol, listener?: Function): number;
    listeners<K>(eventName: string | symbol): Function[];
    off<K>(eventName: string | symbol, listener: ((...args: any[]) => void)): this;
    on<K>(eventName: string | symbol, listener: ((...args: any[]) => void)): this;
    once<K>(eventName: string | symbol, listener: ((...args: any[]) => void)): this;
    prependListener<K>(eventName: string | symbol, listener: ((...args: any[]) => void)): this;
    prependOnceListener<K>(eventName: string | symbol, listener: ((...args: any[]) => void)): this;
    rawListeners<K>(eventName: string | symbol): Function[];
    removeAllListeners(eventName?: string | symbol): this;
    removeListener<K>(eventName: string | symbol, listener: ((...args: any[]) => void)): this;
    setMaxListeners(n: number): this;
}

Hierarchy (view full)

Implemented by

Methods

Returns (string | symbol)[]

v6.0.0

Properties

bigBlindPos: number
communityCards?: CardInterface[]
dealerPos: number
pot?: number
smallBlindPos: number
diff --git a/docs/site/interfaces/interfaces_pokerPhase.PokerPhaseInterface.html b/docs/site/interfaces/interfaces_pokerPhase.PokerPhaseInterface.html index 06a8205..e8c6f5d 100644 --- a/docs/site/interfaces/interfaces_pokerPhase.PokerPhaseInterface.html +++ b/docs/site/interfaces/interfaces_pokerPhase.PokerPhaseInterface.html @@ -1,7 +1,7 @@ PokerPhaseInterface | casinojs

PokerPhaseInterface Represents the current PokerPhase being played at the PokerTable. Manages the deck, community cards, and game phases, such as pre-flop, flop, turn, and river.

-
interface PokerPhaseInterface {
    [captureRejectionSymbol]?<K>(error: Error, event: string | symbol, ...args: AnyRest): void;
    addListener<K>(eventName: string | symbol, listener: ((...args: any[]) => void)): this;
    emit<K>(eventName: string | symbol, ...args: AnyRest): boolean;
    eventNames(): (string | symbol)[];
    getMaxListeners(): number;
    listenerCount<K>(eventName: string | symbol, listener?: Function): number;
    listeners<K>(eventName: string | symbol): Function[];
    off<K>(eventName: string | symbol, listener: ((...args: any[]) => void)): this;
    on<K>(eventName: string | symbol, listener: ((...args: any[]) => void)): this;
    once<K>(eventName: string | symbol, listener: ((...args: any[]) => void)): this;
    prependListener<K>(eventName: string | symbol, listener: ((...args: any[]) => void)): this;
    prependOnceListener<K>(eventName: string | symbol, listener: ((...args: any[]) => void)): this;
    rawListeners<K>(eventName: string | symbol): Function[];
    removeAllListeners(eventName?: string | symbol): this;
    removeListener<K>(eventName: string | symbol, listener: ((...args: any[]) => void)): this;
    setMaxListeners(n: number): this;
}

Hierarchy (view full)

Implemented by

Methods

interface PokerPhaseInterface {
    [captureRejectionSymbol]?<K>(error: Error, event: string | symbol, ...args: AnyRest): void;
    addListener<K>(eventName: string | symbol, listener: ((...args: any[]) => void)): this;
    emit<K>(eventName: string | symbol, ...args: AnyRest): boolean;
    eventNames(): (string | symbol)[];
    getMaxListeners(): number;
    listenerCount<K>(eventName: string | symbol, listener?: Function): number;
    listeners<K>(eventName: string | symbol): Function[];
    off<K>(eventName: string | symbol, listener: ((...args: any[]) => void)): this;
    on<K>(eventName: string | symbol, listener: ((...args: any[]) => void)): this;
    once<K>(eventName: string | symbol, listener: ((...args: any[]) => void)): this;
    prependListener<K>(eventName: string | symbol, listener: ((...args: any[]) => void)): this;
    prependOnceListener<K>(eventName: string | symbol, listener: ((...args: any[]) => void)): this;
    rawListeners<K>(eventName: string | symbol): Function[];
    removeAllListeners(eventName?: string | symbol): this;
    removeListener<K>(eventName: string | symbol, listener: ((...args: any[]) => void)): this;
    setMaxListeners(n: number): this;
}

Hierarchy (view full)

Implemented by

Methods

Returns (string | symbol)[]

v6.0.0

  • Returns the number of listeners listening for the event named eventName. If listener is provided, it will return how many times the listener is found in the list of the listeners of the event.

    Type Parameters

    • K

    Parameters

    • eventName: string | symbol

      The name of the event being listened for

      diff --git a/docs/site/interfaces/interfaces_pokerPlayer.PokerPlayerConfig.html b/docs/site/interfaces/interfaces_pokerPlayer.PokerPlayerConfig.html index 4c9d51f..cac0c53 100644 --- a/docs/site/interfaces/interfaces_pokerPlayer.PokerPlayerConfig.html +++ b/docs/site/interfaces/interfaces_pokerPlayer.PokerPlayerConfig.html @@ -1,5 +1,5 @@ PokerPlayerConfig | casinojs

      PokerPlayerConfig Represents a PokerPlayer Config.

      -
      interface PokerPlayerConfig {
          id?: string;
          name?: string;
      }

      Properties

      id? +
      interface PokerPlayerConfig {
          id?: string;
          name?: string;
      }

      Properties

      Properties

      id?: string
      name?: string
      +

Properties

id?: string
name?: string
diff --git a/docs/site/interfaces/interfaces_pokerPlayer.PokerPlayerInterface.html b/docs/site/interfaces/interfaces_pokerPlayer.PokerPlayerInterface.html index f51cdd8..4d46ace 100644 --- a/docs/site/interfaces/interfaces_pokerPlayer.PokerPlayerInterface.html +++ b/docs/site/interfaces/interfaces_pokerPlayer.PokerPlayerInterface.html @@ -1,7 +1,7 @@ PokerPlayerInterface | casinojs

PokerPlayerInterface Represents a player seated at the PokerTable. The player can place bets, fold, and manage their chip stack during the game.

-
interface PokerPlayerInterface {
    [captureRejectionSymbol]?<K>(error: Error, event: string | symbol, ...args: AnyRest): void;
    addListener<K>(eventName: string | symbol, listener: ((...args: any[]) => void)): this;
    bet(amount: number): boolean;
    emit<K>(eventName: string | symbol, ...args: AnyRest): boolean;
    eventNames(): (string | symbol)[];
    getId(): string;
    getMaxListeners(): number;
    listenerCount<K>(eventName: string | symbol, listener?: Function): number;
    listeners<K>(eventName: string | symbol): Function[];
    off<K>(eventName: string | symbol, listener: ((...args: any[]) => void)): this;
    on<K>(eventName: string | symbol, listener: ((...args: any[]) => void)): this;
    once<K>(eventName: string | symbol, listener: ((...args: any[]) => void)): this;
    prependListener<K>(eventName: string | symbol, listener: ((...args: any[]) => void)): this;
    prependOnceListener<K>(eventName: string | symbol, listener: ((...args: any[]) => void)): this;
    rawListeners<K>(eventName: string | symbol): Function[];
    removeAllListeners(eventName?: string | symbol): this;
    removeListener<K>(eventName: string | symbol, listener: ((...args: any[]) => void)): this;
    setIsFolded(bool: boolean): boolean;
    setMaxListeners(n: number): this;
}

Hierarchy (view full)

Implemented by

Methods

interface PokerPlayerInterface {
    [captureRejectionSymbol]?<K>(error: Error, event: string | symbol, ...args: AnyRest): void;
    addListener<K>(eventName: string | symbol, listener: ((...args: any[]) => void)): this;
    bet(amount: number): boolean;
    emit<K>(eventName: string | symbol, ...args: AnyRest): boolean;
    eventNames(): (string | symbol)[];
    getId(): string;
    getMaxListeners(): number;
    listenerCount<K>(eventName: string | symbol, listener?: Function): number;
    listeners<K>(eventName: string | symbol): Function[];
    off<K>(eventName: string | symbol, listener: ((...args: any[]) => void)): this;
    on<K>(eventName: string | symbol, listener: ((...args: any[]) => void)): this;
    once<K>(eventName: string | symbol, listener: ((...args: any[]) => void)): this;
    prependListener<K>(eventName: string | symbol, listener: ((...args: any[]) => void)): this;
    prependOnceListener<K>(eventName: string | symbol, listener: ((...args: any[]) => void)): this;
    rawListeners<K>(eventName: string | symbol): Function[];
    removeAllListeners(eventName?: string | symbol): this;
    removeListener<K>(eventName: string | symbol, listener: ((...args: any[]) => void)): this;
    setIsFolded(bool: boolean): boolean;
    setMaxListeners(n: number): this;
}

Hierarchy (view full)

Implemented by

Methods

  • Type Parameters

    • K

    Parameters

    • error: Error
    • event: string | symbol
    • Rest...args: AnyRest

    Returns void

  • Alias for emitter.on(eventName, listener).

    Type Parameters

    • K

    Parameters

    • eventName: string | symbol
    • listener: ((...args: any[]) => void)
        • (...args): void
        • Parameters

          • Rest...args: any[]

          Returns void

    Returns this

    v0.1.26

    -
  • Synchronously calls each of the listeners registered for the event named eventName, in the order they were registered, passing the supplied arguments +

  • Synchronously calls each of the listeners registered for the event named eventName, in the order they were registered, passing the supplied arguments to each.

    Returns true if the event had listeners, false otherwise.

    import { EventEmitter } from 'node:events';
    const myEmitter = new EventEmitter();

    // First listener
    myEmitter.on('event', function firstListener() {
    console.log('Helloooo! first listener');
    });
    // Second listener
    myEmitter.on('event', function secondListener(arg1, arg2) {
    console.log(`event with parameters ${arg1}, ${arg2} in second listener`);
    });
    // Third listener
    myEmitter.on('event', function thirdListener(...args) {
    const parameters = args.join(', ');
    console.log(`event with parameters ${parameters} in third listener`);
    });

    console.log(myEmitter.listeners('event'));

    myEmitter.emit('event', 1, 2, 3, 4, 5);

    // Prints:
    // [
    // [Function: firstListener],
    // [Function: secondListener],
    // [Function: thirdListener]
    // ]
    // Helloooo! first listener
    // event with parameters 1, 2 in second listener
    // event with parameters 1, 2, 3, 4, 5 in third listener @@ -41,9 +41,9 @@
    const rank = card.getRank();
    console.log(rank); // "A"
    -
  • Retrieves the maximum number of listeners allowed for this instance.

    +
  • Returns the number of listeners listening for the event named eventName. If listener is provided, it will return how many times the listener is found in the list of the listeners of the event.

    Type Parameters

    • K

    Parameters

    • eventName: string | symbol

      The name of the event being listened for

      @@ -145,7 +145,7 @@

      Returns a reference to the EventEmitter, so that calls can be chained.

      Type Parameters

      • K

      Parameters

      • eventName: string | symbol
      • listener: ((...args: any[]) => void)
          • (...args): void
          • Parameters

            • Rest...args: any[]

            Returns void

      Returns this

      v0.1.26

      -
  • By default EventEmitters will print a warning if more than 10 listeners are +

  • By default EventEmitters will print a warning if more than 10 listeners are added for a particular event. This is a useful default that helps finding memory leaks. The emitter.setMaxListeners() method allows the limit to be modified for this specific EventEmitter instance. The value can be set to Infinity (or 0) to indicate an unlimited number of listeners.

    diff --git a/docs/site/interfaces/interfaces_pokerRoom.PokerRoomConfig.html b/docs/site/interfaces/interfaces_pokerRoom.PokerRoomConfig.html index 339c2df..ca7be99 100644 --- a/docs/site/interfaces/interfaces_pokerRoom.PokerRoomConfig.html +++ b/docs/site/interfaces/interfaces_pokerRoom.PokerRoomConfig.html @@ -21,16 +21,16 @@
    const roomConfig: PokerRoomConfig = {
    id: "room42",
    name: "High Stakes",
    tableConfigs: [
    { tableSize: 6, smallBlind: 50, bigBlind: 100 },
    { tableSize: 8, smallBlind: 100, bigBlind: 200 }
    ]
    };
    const pokerRoom = new PokerRoom(roomConfig); // Initializes a new PokerRoom with the specified configuration
    -
interface PokerRoomConfig {
    id?: string;
    name?: string;
    tableConfigs?: PokerTableConfig[];
}

Properties

id? +
interface PokerRoomConfig {
    id?: string;
    name?: string;
    tableConfigs?: PokerTableConfig[];
}

Properties

id?: string
const roomConfig: PokerRoomConfig = {
id: "room1",
name: "High Rollers",
tableConfigs: [{ tableSize: 6, smallBlind: 10, bigBlind: 20 }]
};
console.log(roomConfig.id);

// Output: "room1"
-
name?: string
const roomConfig: PokerRoomConfig = {
id: "room2",
name: "VIP Suite",
tableConfigs: [{ tableSize: 8, smallBlind: 50, bigBlind: 100 }]
};
console.log(roomConfig.name);

// Output: "VIP Suite" +
name?: string
const roomConfig: PokerRoomConfig = {
id: "room2",
name: "VIP Suite",
tableConfigs: [{ tableSize: 8, smallBlind: 50, bigBlind: 100 }]
};
console.log(roomConfig.name);

// Output: "VIP Suite"
-
tableConfigs?: PokerTableConfig[]
const roomConfig: PokerRoomConfig = {
id: "room3",
name: "Beginner's Lounge",
tableConfigs: [
{ tableSize: 4, smallBlind: 5, bigBlind: 10 },
{ tableSize: 6, smallBlind: 10, bigBlind: 20 }
]
};
console.log(roomConfig.tableConfigs);
// Output: [{ tableSize: 4, smallBlind: 5, bigBlind: 10 }, { tableSize: 6, smallBlind: 10, bigBlind: 20 }] +
tableConfigs?: PokerTableConfig[]
const roomConfig: PokerRoomConfig = {
id: "room3",
name: "Beginner's Lounge",
tableConfigs: [
{ tableSize: 4, smallBlind: 5, bigBlind: 10 },
{ tableSize: 6, smallBlind: 10, bigBlind: 20 }
]
};
console.log(roomConfig.tableConfigs);
// Output: [{ tableSize: 4, smallBlind: 5, bigBlind: 10 }, { tableSize: 6, smallBlind: 10, bigBlind: 20 }]
-
+
diff --git a/docs/site/interfaces/interfaces_pokerRoom.PokerRoomInterface.html b/docs/site/interfaces/interfaces_pokerRoom.PokerRoomInterface.html index 8711eba..744dc56 100644 --- a/docs/site/interfaces/interfaces_pokerRoom.PokerRoomInterface.html +++ b/docs/site/interfaces/interfaces_pokerRoom.PokerRoomInterface.html @@ -22,7 +22,7 @@
const pokerRoom: PokerRoomInterface = new PokerRoom();
pokerRoom.on('roomUpdated', () => console.log(`Room updated with new settings`));
pokerRoom.setName("HighRollers");
console.log(pokerRoom.getName()); // Logs "HighRollers"
-
interface PokerRoomInterface {
    [captureRejectionSymbol]?<K>(error: Error, event: string | symbol, ...args: AnyRest): void;
    addListener<K>(eventName: string | symbol, listener: ((...args: any[]) => void)): this;
    emit<K>(eventName: string | symbol, ...args: AnyRest): boolean;
    eventNames(): (string | symbol)[];
    getId(): string;
    getMaxListeners(): number;
    getName(): string;
    getTables(): PokerTableInterface[];
    isValidIndex(index: number): boolean;
    listenerCount<K>(eventName: string | symbol, listener?: Function): number;
    listeners<K>(eventName: string | symbol): Function[];
    off<K>(eventName: string | symbol, listener: ((...args: any[]) => void)): this;
    on<K>(eventName: string | symbol, listener: ((...args: any[]) => void)): this;
    once<K>(eventName: string | symbol, listener: ((...args: any[]) => void)): this;
    prependListener<K>(eventName: string | symbol, listener: ((...args: any[]) => void)): this;
    prependOnceListener<K>(eventName: string | symbol, listener: ((...args: any[]) => void)): this;
    rawListeners<K>(eventName: string | symbol): Function[];
    removeAllListeners(eventName?: string | symbol): this;
    removeListener<K>(eventName: string | symbol, listener: ((...args: any[]) => void)): this;
    setMaxListeners(n: number): this;
    setName(name: string): string;
    setTables(tables: PokerTableInterface[]): PokerTableInterface[];
    tableCount(): number;
}

Hierarchy (view full)

Implemented by

interface PokerRoomInterface {
    [captureRejectionSymbol]?<K>(error: Error, event: string | symbol, ...args: AnyRest): void;
    addListener<K>(eventName: string | symbol, listener: ((...args: any[]) => void)): this;
    emit<K>(eventName: string | symbol, ...args: AnyRest): boolean;
    eventNames(): (string | symbol)[];
    getId(): string;
    getMaxListeners(): number;
    getName(): string;
    getTables(): PokerTableInterface[];
    isValidIndex(index: number): boolean;
    listenerCount<K>(eventName: string | symbol, listener?: Function): number;
    listeners<K>(eventName: string | symbol): Function[];
    off<K>(eventName: string | symbol, listener: ((...args: any[]) => void)): this;
    on<K>(eventName: string | symbol, listener: ((...args: any[]) => void)): this;
    once<K>(eventName: string | symbol, listener: ((...args: any[]) => void)): this;
    prependListener<K>(eventName: string | symbol, listener: ((...args: any[]) => void)): this;
    prependOnceListener<K>(eventName: string | symbol, listener: ((...args: any[]) => void)): this;
    rawListeners<K>(eventName: string | symbol): Function[];
    removeAllListeners(eventName?: string | symbol): this;
    removeListener<K>(eventName: string | symbol, listener: ((...args: any[]) => void)): this;
    setMaxListeners(n: number): this;
    setName(name: string): string;
    setTables(tables: PokerTableInterface[]): PokerTableInterface[];
    tableCount(): number;
}

Hierarchy (view full)

Implemented by

Methods

[captureRejectionSymbol]? addListener emit eventNames @@ -79,9 +79,9 @@
const pokerRoom = new PokerRoom({ id: "Room123", name: "VIP Room", tableSize: 6 });
console.log(pokerRoom.getId()); // Logs "Room123"
-
  • Retrieves the maximum number of listeners allowed for this instance.

    +
  • Retrieves the current name of the PokerRoom.

    N/A - This method is defined within PokerRoomInterface and is implemented by any class adhering to this interface.

    N/A - This method does not override any superclass or parent methods.

    The getName method enables access to the current name of a PokerRoom, which can be essential for @@ -100,7 +100,7 @@

    const pokerRoom = new PokerRoom({ name: "VIP Room", tableSize: 6 });
    console.log(pokerRoom.getName()); // Logs "VIP Room"
    -
  • Retrieves the associated PokerTable instance within the PokerRoom.

    N/A - This method does not implement external interfaces.

    N/A - This method does not override any superclass or parent methods.

    The getTable method provides access to the PokerTable instance that is actively managed by the PokerRoom. @@ -119,7 +119,7 @@

    const pokerRoom = new PokerRoom({ name: "High Stakes", tableSize: 6 });
    const table = pokerRoom.getTable();
    console.log(table); // Logs the PokerTable instance associated with "High Stakes" room
    -
  • Validates if a specified index is within the valid bounds of the Casino’s room list.

    N/A

    N/A

    Prevents out-of-bounds errors by confirming that an index is within the acceptable range for the Casino’s @@ -147,7 +147,7 @@

    const casino = new Casino();
    try {
    casino.isValidIndex(2); // Returns true if index 2 exists in the list of rooms
    } catch (error) {
    console.error(error.message); // Logs error if index 2 is invalid
    }
    -
  • Returns the number of listeners listening for the event named eventName. If listener is provided, it will return how many times the listener is found in the list of the listeners of the event.

    Type Parameters

    • K

    Parameters

    • eventName: string | symbol

      The name of the event being listened for

      @@ -281,7 +281,7 @@
      const pokerRoom = new PokerRoom({ name: "Room1", tableSize: 6 });
      pokerRoom.setName("HighRollers"); // Sets the name of the room to "HighRollers"
      console.log(pokerRoom.getName()); // Logs "HighRollers"
      -
  • Sets the configuration for multiple tables within the PokerRoom. Each table configuration specifies key attributes like table size, small blind, and big blind values, supporting multi-table configurations within a single room.

    N/A - This method is part of the PokerRoomInterface and does not implement any external methods.

    @@ -310,7 +310,7 @@
    const pokerRoom = new PokerRoom({ name: "Room3", tableSize: 8 });
    const tableConfigs = [
    new PokerTable({ tableSize: 8, smallBlind: 10, bigBlind: 20 }),
    new PokerTable({ tableSize: 10, smallBlind: 20, bigBlind: 40 })
    ];
    pokerRoom.setTables(tableConfigs); // Sets multiple table configurations in the room
    console.log(pokerRoom.getTables()); // Logs the table configurations
    -
  • Retrieves the total number of PokerRoom instances currently managed by the Casino.

    N/A

    N/A

    This method provides insight into the number of poker rooms that the Casino manages, supporting @@ -329,4 +329,4 @@

    const casino = new Casino();
    const count = casino.roomCount();
    console.log(count); // Logs the total number of managed rooms, e.g., 5
    -
+
diff --git a/docs/site/interfaces/interfaces_pokerSeat.PokerSeatConfig.html b/docs/site/interfaces/interfaces_pokerSeat.PokerSeatConfig.html index d7bf1c0..5d8a41d 100644 --- a/docs/site/interfaces/interfaces_pokerSeat.PokerSeatConfig.html +++ b/docs/site/interfaces/interfaces_pokerSeat.PokerSeatConfig.html @@ -1,7 +1,7 @@ PokerSeatConfig | casinojs

PokerSeatConfig Represents a PokerTable Config.

-
interface PokerSeatConfig {
    id?: string;
    isDealer?: boolean;
    player?: PokerPlayerInterface;
    position: number;
}

Properties

id? +
interface PokerSeatConfig {
    id?: string;
    isDealer?: boolean;
    player?: PokerPlayerInterface;
    position: number;
}

Properties

id?: string
isDealer?: boolean
position: number
+

Properties

id?: string
isDealer?: boolean
position: number
diff --git a/docs/site/interfaces/interfaces_pokerSeat.PokerSeatInterface.html b/docs/site/interfaces/interfaces_pokerSeat.PokerSeatInterface.html index 34ba69f..7cdbe85 100644 --- a/docs/site/interfaces/interfaces_pokerSeat.PokerSeatInterface.html +++ b/docs/site/interfaces/interfaces_pokerSeat.PokerSeatInterface.html @@ -2,7 +2,7 @@ Represents a PokerTable within a PokerRoom. The PokerTable manages player seats, tracks the dealer, small blind, and big blind positions, and handles the start and stop of the PokerGame.

-
interface PokerSeatInterface {
    [captureRejectionSymbol]?<K>(error: Error, event: string | symbol, ...args: AnyRest): void;
    addListener<K>(eventName: string | symbol, listener: ((...args: any[]) => void)): this;
    emit<K>(eventName: string | symbol, ...args: AnyRest): boolean;
    eventNames(): (string | symbol)[];
    getId(): string;
    getMaxListeners(): number;
    getPlayer(): undefined | PokerPlayerInterface;
    getPosition(): number;
    isDealer(): boolean;
    isOccupied(): boolean;
    listenerCount<K>(eventName: string | symbol, listener?: Function): number;
    listeners<K>(eventName: string | symbol): Function[];
    occupy(player: PokerPlayerInterface): void;
    off<K>(eventName: string | symbol, listener: ((...args: any[]) => void)): this;
    on<K>(eventName: string | symbol, listener: ((...args: any[]) => void)): this;
    once<K>(eventName: string | symbol, listener: ((...args: any[]) => void)): this;
    prependListener<K>(eventName: string | symbol, listener: ((...args: any[]) => void)): this;
    prependOnceListener<K>(eventName: string | symbol, listener: ((...args: any[]) => void)): this;
    rawListeners<K>(eventName: string | symbol): Function[];
    removeAllListeners(eventName?: string | symbol): this;
    removeListener<K>(eventName: string | symbol, listener: ((...args: any[]) => void)): this;
    setDealer(bool: boolean): boolean;
    setMaxListeners(n: number): this;
    vacate(): void;
}

Hierarchy (view full)

Implemented by

Methods

interface PokerSeatInterface {
    [captureRejectionSymbol]?<K>(error: Error, event: string | symbol, ...args: AnyRest): void;
    addListener<K>(eventName: string | symbol, listener: ((...args: any[]) => void)): this;
    emit<K>(eventName: string | symbol, ...args: AnyRest): boolean;
    eventNames(): (string | symbol)[];
    getId(): string;
    getMaxListeners(): number;
    getPlayer(): undefined | PokerPlayerInterface;
    getPosition(): number;
    isDealer(): boolean;
    isOccupied(): boolean;
    listenerCount<K>(eventName: string | symbol, listener?: Function): number;
    listeners<K>(eventName: string | symbol): Function[];
    occupy(player: PokerPlayerInterface): void;
    off<K>(eventName: string | symbol, listener: ((...args: any[]) => void)): this;
    on<K>(eventName: string | symbol, listener: ((...args: any[]) => void)): this;
    once<K>(eventName: string | symbol, listener: ((...args: any[]) => void)): this;
    prependListener<K>(eventName: string | symbol, listener: ((...args: any[]) => void)): this;
    prependOnceListener<K>(eventName: string | symbol, listener: ((...args: any[]) => void)): this;
    rawListeners<K>(eventName: string | symbol): Function[];
    removeAllListeners(eventName?: string | symbol): this;
    removeListener<K>(eventName: string | symbol, listener: ((...args: any[]) => void)): this;
    setDealer(bool: boolean): boolean;
    setMaxListeners(n: number): this;
    vacate(): void;
}

Hierarchy (view full)

Implemented by

Methods

[captureRejectionSymbol]? addListener emit eventNames @@ -47,30 +47,30 @@
const rank = card.getRank();
console.log(rank); // "A"
-
  • Retrieves the maximum number of listeners allowed for this instance.

    +
  • getPosition

    +
  • getPosition

    Returns the poker table's id.

    Returns number

    The poker table's id.

    const rank = card.getRank();
    console.log(rank); // "A"
    -
  • isDealer

    Returns the poker table's id.

    Returns boolean

    The poker table's id.

    const rank = card.getRank();
    console.log(rank); // "A"
    -
  • Returns the number of listeners listening for the event named eventName. If listener is provided, it will return how many times the listener is found in the list of the listeners of the event.

    Type Parameters

    • K

    Parameters

    • eventName: string | symbol

      The name of the event being listened for

      @@ -81,7 +81,7 @@

      Type Parameters

      • K

      Parameters

      • eventName: string | symbol

      Returns Function[]

      v0.1.26

      -
  • Alias for emitter.removeListener().

    Type Parameters

    • K

    Parameters

    • eventName: string | symbol
    • listener: ((...args: any[]) => void)
        • (...args): void
        • Parameters

          • Rest...args: any[]

          Returns void

    Returns this

    v10.0.0

  • Adds the listener function to the end of the listeners array for the event named eventName. No checks are made to see if the listener has already @@ -178,10 +178,10 @@

    const rank = card.getRank();
    console.log(rank); // "A"
    -
  • By default EventEmitters will print a warning if more than 10 listeners are added for a particular event. This is a useful default that helps finding memory leaks. The emitter.setMaxListeners() method allows the limit to be modified for this specific EventEmitter instance. The value can be set to Infinity (or 0) to indicate an unlimited number of listeners.

    Returns a reference to the EventEmitter, so that calls can be chained.

    Parameters

    • n: number

    Returns this

    v0.3.5

    -
+
diff --git a/docs/site/interfaces/interfaces_pokerTable.PokerTableConfig.html b/docs/site/interfaces/interfaces_pokerTable.PokerTableConfig.html index 23ec757..3117df1 100644 --- a/docs/site/interfaces/interfaces_pokerTable.PokerTableConfig.html +++ b/docs/site/interfaces/interfaces_pokerTable.PokerTableConfig.html @@ -19,7 +19,7 @@
const tableConfig: PokerTableConfig = {
id: "table1",
name: "VIP Table",
size: 8,
smallBlind: 50
};
-
interface PokerTableConfig {
    id?: string;
    name?: string;
    size?: number;
    smallBlind?: number;
}

Properties

id? +
interface PokerTableConfig {
    id?: string;
    name?: string;
    size?: number;
    smallBlind?: number;
}

Properties

id? name? size? smallBlind? @@ -31,13 +31,13 @@
const tableConfig: PokerTableConfig = {
id: undefined,
name: "Standard Table",
size: 4,
smallBlind: 10
};
console.log(tableConfig.id);
// Console Output: undefined
-
name?: string
const tableConfig: PokerTableConfig = {
id: "table2",
name: "VIP Suite",
size: 8,
smallBlind: 50
};
console.log(tableConfig.name);
// Console Output: "VIP Suite" +
name?: string
const tableConfig: PokerTableConfig = {
id: "table2",
name: "VIP Suite",
size: 8,
smallBlind: 50
};
console.log(tableConfig.name);
// Console Output: "VIP Suite"
-
size?: number
const tableConfig: PokerTableConfig = {
id: "table3",
name: "Standard Table",
size: 6,
smallBlind: 10
};
console.log(tableConfig.size);
// Console Output: 6 +
size?: number
const tableConfig: PokerTableConfig = {
id: "table3",
name: "Standard Table",
size: 6,
smallBlind: 10
};
console.log(tableConfig.size);
// Console Output: 6
-
smallBlind?: number
const tableConfig: PokerTableConfig = {
id: "table4",
name: "Training Table",
size: 4,
smallBlind: 5
};
console.log(tableConfig.smallBlind);
// Console Output: 5 +
smallBlind?: number
const tableConfig: PokerTableConfig = {
id: "table4",
name: "Training Table",
size: 4,
smallBlind: 5
};
console.log(tableConfig.smallBlind);
// Console Output: 5
-
+
diff --git a/docs/site/interfaces/interfaces_pokerTable.PokerTableInterface.html b/docs/site/interfaces/interfaces_pokerTable.PokerTableInterface.html index e01088b..9775d9c 100644 --- a/docs/site/interfaces/interfaces_pokerTable.PokerTableInterface.html +++ b/docs/site/interfaces/interfaces_pokerTable.PokerTableInterface.html @@ -2,7 +2,7 @@ Represents a PokerTable within a PokerRoom. The PokerTable manages player seats, tracks the dealer, small blind, and big blind positions, and handles the start and stop of the PokerGame.

-
interface PokerTableInterface {
    [captureRejectionSymbol]?<K>(error: Error, event: string | symbol, ...args: AnyRest): void;
    addListener<K>(eventName: string | symbol, listener: ((...args: any[]) => void)): this;
    emit<K>(eventName: string | symbol, ...args: AnyRest): boolean;
    eventNames(): (string | symbol)[];
    getId(): string;
    getMaxListeners(): number;
    getSeats(): PokerSeatInterface[];
    isValidIndex(index: number): boolean;
    listenerCount<K>(eventName: string | symbol, listener?: Function): number;
    listeners<K>(eventName: string | symbol): Function[];
    off<K>(eventName: string | symbol, listener: ((...args: any[]) => void)): this;
    on<K>(eventName: string | symbol, listener: ((...args: any[]) => void)): this;
    once<K>(eventName: string | symbol, listener: ((...args: any[]) => void)): this;
    prependListener<K>(eventName: string | symbol, listener: ((...args: any[]) => void)): this;
    prependOnceListener<K>(eventName: string | symbol, listener: ((...args: any[]) => void)): this;
    rawListeners<K>(eventName: string | symbol): Function[];
    removeAllListeners(eventName?: string | symbol): this;
    removeListener<K>(eventName: string | symbol, listener: ((...args: any[]) => void)): this;
    seatCount(): number;
    setMaxListeners(n: number): this;
    setName(name: string): string;
}

Hierarchy (view full)

Implemented by

Methods

interface PokerTableInterface {
    [captureRejectionSymbol]?<K>(error: Error, event: string | symbol, ...args: AnyRest): void;
    addListener<K>(eventName: string | symbol, listener: ((...args: any[]) => void)): this;
    emit<K>(eventName: string | symbol, ...args: AnyRest): boolean;
    eventNames(): (string | symbol)[];
    getId(): string;
    getMaxListeners(): number;
    getSeats(): PokerSeatInterface[];
    isValidIndex(index: number): boolean;
    listenerCount<K>(eventName: string | symbol, listener?: Function): number;
    listeners<K>(eventName: string | symbol): Function[];
    off<K>(eventName: string | symbol, listener: ((...args: any[]) => void)): this;
    on<K>(eventName: string | symbol, listener: ((...args: any[]) => void)): this;
    once<K>(eventName: string | symbol, listener: ((...args: any[]) => void)): this;
    prependListener<K>(eventName: string | symbol, listener: ((...args: any[]) => void)): this;
    prependOnceListener<K>(eventName: string | symbol, listener: ((...args: any[]) => void)): this;
    rawListeners<K>(eventName: string | symbol): Function[];
    removeAllListeners(eventName?: string | symbol): this;
    removeListener<K>(eventName: string | symbol, listener: ((...args: any[]) => void)): this;
    seatCount(): number;
    setMaxListeners(n: number): this;
    setName(name: string): string;
}

Hierarchy (view full)

Implemented by

Methods

[captureRejectionSymbol]? addListener emit eventNames @@ -44,12 +44,12 @@
const rank = card.getRank();
console.log(rank); // "A"
-
  • Retrieves the maximum number of listeners allowed for this instance.

    +
  • Validates if a specified index is within the valid bounds of the Casino’s room list.

    N/A

    N/A

    Prevents out-of-bounds errors by confirming that an index is within the acceptable range for the Casino’s @@ -77,7 +77,7 @@

    const casino = new Casino();
    try {
    casino.isValidIndex(2); // Returns true if index 2 exists in the list of rooms
    } catch (error) {
    console.error(error.message); // Logs error if index 2 is invalid
    }
    -
  • Returns the number of listeners listening for the event named eventName. If listener is provided, it will return how many times the listener is found in the list of the listeners of the event.

    Type Parameters

    • K

    Parameters

    • eventName: string | symbol

      The name of the event being listened for

      @@ -198,7 +198,7 @@
      const casino = new Casino();
      const count = casino.roomCount();
      console.log(count); // Logs the total number of managed rooms, e.g., 5
      -
  • By default EventEmitters will print a warning if more than 10 listeners are added for a particular event. This is a useful default that helps finding memory leaks. The emitter.setMaxListeners() method allows the limit to be modified for this specific EventEmitter instance. The value can be set to Infinity (or 0) to indicate an unlimited number of listeners.

    @@ -230,4 +230,4 @@
    const pokerRoom = new PokerRoom({ name: "Room1", tableSize: 6 });
    pokerRoom.setName("HighRollers"); // Sets the name of the room to "HighRollers"
    console.log(pokerRoom.getName()); // Logs "HighRollers"
    -
+
diff --git a/docs/site/modules.html b/docs/site/modules.html index 42357dd..9213af5 100644 --- a/docs/site/modules.html +++ b/docs/site/modules.html @@ -1,12 +1,18 @@ casinojs

casinojs

Index

Modules

enums enums/events enums/events/casino +enums/events/deck +enums/events/pokerGame +enums/events/pokerPhase +enums/events/pokerPlayer +enums/events/pokerRoom enums/events/pokerSeat -enums/logLevel -enums/pokerPhaseNames -enums/rank -enums/source -enums/suit +enums/events/pokerTable +enums/logLevels +enums/pokerPhases +enums/ranks +enums/sources +enums/suits index interfaces interfaces/_base diff --git a/docs/site/modules/enums.html b/docs/site/modules/enums.html index 1ac5fb1..b04c5c0 100644 --- a/docs/site/modules/enums.html +++ b/docs/site/modules/enums.html @@ -1,19 +1,23 @@ -enums | casinojs

Module enums

// Import all enums from the centralized module
import { CasinoEventName, CasinoEventNamesEnum, PokerPhaseName, PokerPhaseNamesEnum, Rank, RanksEnum, Suit, SuitsEnum } from './enums'; +enums | casinojs

Module enums

// Import all enums from the centralized module
import { CasinoEventName, CasinoEventNamesEnum, PokerPhaseName, PokerPhasesEnum, Rank, RanksEnum, Suit, SuitsEnum } from './enums';
-

References

References

Re-exports CasinoEvents
Renames and re-exports enums/events/casino
Renames and re-exports enums/events
Re-exports LogLevel
Renames and re-exports enums/logLevel
Re-exports PokerPhaseName
Renames and re-exports enums/pokerPhaseNames
Re-exports PokerSeatEvents
Renames and re-exports enums/events/pokerSeat
Re-exports Rank
Renames and re-exports enums/rank
Re-exports Source
Renames and re-exports enums/source
Re-exports Suit
Renames and re-exports enums/suit
+

References

Re-exports CasinoEvents
Renames and re-exports enums/events/casino
Re-exports DeckEvents
Renames and re-exports enums/events/deck
Renames and re-exports enums/events
Re-exports LogLevel
Renames and re-exports enums/logLevels
Re-exports PokerPhases
Renames and re-exports enums/pokerPhases
Re-exports PokerSeatEvents
Renames and re-exports enums/events/pokerSeat
Re-exports PokerTableEvents
Renames and re-exports enums/events/pokerTable
Re-exports Rank
Renames and re-exports enums/ranks
Re-exports Source
Renames and re-exports enums/sources
Re-exports Suit
Renames and re-exports enums/suits
diff --git a/docs/site/modules/enums_events.html b/docs/site/modules/enums_events.html index 38c5121..f683081 100644 --- a/docs/site/modules/enums_events.html +++ b/docs/site/modules/enums_events.html @@ -1,8 +1,12 @@ enums/events | casinojs

Module enums/events

// Import all enums from the centralized module
import { CasinoEvents, CasinoEventsEnumModule } from './enums';
-

References

References

Re-exports CasinoEvents
Renames and re-exports enums/events/casino
Re-exports PokerSeatEvents
Renames and re-exports enums/events/pokerSeat
+PokerTableEvents +PokerTableEventsEnumModule +

References

Re-exports CasinoEvents
Renames and re-exports enums/events/casino
Re-exports DeckEvents
Renames and re-exports enums/events/deck
Re-exports PokerSeatEvents
Renames and re-exports enums/events/pokerSeat
Re-exports PokerTableEvents
Renames and re-exports enums/events/pokerTable
diff --git a/docs/site/modules/enums_events_casino.html b/docs/site/modules/enums_events_casino.html index 0e61dd9..d421433 100644 --- a/docs/site/modules/enums_events_casino.html +++ b/docs/site/modules/enums_events_casino.html @@ -1,2 +1,2 @@ -enums/events/casino | casinojs

Module enums/events/casino

Index

Enumerations

CasinoEvents +enums/events/casino | casinojs

Module enums/events/casino

Index

Enumerations

diff --git a/docs/site/modules/enums_events_deck.html b/docs/site/modules/enums_events_deck.html new file mode 100644 index 0000000..7cbce18 --- /dev/null +++ b/docs/site/modules/enums_events_deck.html @@ -0,0 +1,2 @@ +enums/events/deck | casinojs

Module enums/events/deck

Index

Enumerations

diff --git a/docs/site/modules/enums_PokerPhaseNames.html b/docs/site/modules/enums_events_pokerGame.html similarity index 52% rename from docs/site/modules/enums_PokerPhaseNames.html rename to docs/site/modules/enums_events_pokerGame.html index 6d1f75b..0686f81 100644 --- a/docs/site/modules/enums_PokerPhaseNames.html +++ b/docs/site/modules/enums_events_pokerGame.html @@ -1,2 +1,2 @@ -enums/pokerPhaseNames | casinojs

Module enums/pokerPhaseNames

Index

Enumerations

PokerPhaseName +enums/events/pokerGame | casinojs

Module enums/events/pokerGame

Index

Enumerations

diff --git a/docs/site/modules/enums_events_pokerPhase.html b/docs/site/modules/enums_events_pokerPhase.html new file mode 100644 index 0000000..7b24d44 --- /dev/null +++ b/docs/site/modules/enums_events_pokerPhase.html @@ -0,0 +1,2 @@ +enums/events/pokerPhase | casinojs

Module enums/events/pokerPhase

Index

Enumerations

diff --git a/docs/site/modules/enums_events_pokerPlayer.html b/docs/site/modules/enums_events_pokerPlayer.html new file mode 100644 index 0000000..c666536 --- /dev/null +++ b/docs/site/modules/enums_events_pokerPlayer.html @@ -0,0 +1,2 @@ +enums/events/pokerPlayer | casinojs

Module enums/events/pokerPlayer

Index

Enumerations

diff --git a/docs/site/modules/enums_events_pokerRoom.html b/docs/site/modules/enums_events_pokerRoom.html new file mode 100644 index 0000000..c8cf2ce --- /dev/null +++ b/docs/site/modules/enums_events_pokerRoom.html @@ -0,0 +1,2 @@ +enums/events/pokerRoom | casinojs

Module enums/events/pokerRoom

Index

Enumerations

diff --git a/docs/site/modules/enums_events_pokerSeat.html b/docs/site/modules/enums_events_pokerSeat.html index 8f03277..0c45511 100644 --- a/docs/site/modules/enums_events_pokerSeat.html +++ b/docs/site/modules/enums_events_pokerSeat.html @@ -1,2 +1,2 @@ -enums/events/pokerSeat | casinojs

Module enums/events/pokerSeat

Index

Enumerations

PokerSeatEvents +enums/events/pokerSeat | casinojs

Module enums/events/pokerSeat

Index

Enumerations

diff --git a/docs/site/modules/enums_events_pokerTable.html b/docs/site/modules/enums_events_pokerTable.html new file mode 100644 index 0000000..7e35dca --- /dev/null +++ b/docs/site/modules/enums_events_pokerTable.html @@ -0,0 +1,2 @@ +enums/events/pokerTable | casinojs

Module enums/events/pokerTable

Index

Enumerations

diff --git a/docs/site/modules/enums_logLevel.html b/docs/site/modules/enums_logLevels.html similarity index 51% rename from docs/site/modules/enums_logLevel.html rename to docs/site/modules/enums_logLevels.html index 42a54c3..6abfc9a 100644 --- a/docs/site/modules/enums_logLevel.html +++ b/docs/site/modules/enums_logLevels.html @@ -1,2 +1,2 @@ -enums/logLevel | casinojs

Module enums/logLevel

Index

Enumerations

LogLevel +enums/logLevels | casinojs

Module enums/logLevels

Index

Enumerations

diff --git a/docs/site/modules/enums_pokerPhases.html b/docs/site/modules/enums_pokerPhases.html new file mode 100644 index 0000000..bd9b38c --- /dev/null +++ b/docs/site/modules/enums_pokerPhases.html @@ -0,0 +1,2 @@ +enums/pokerPhases | casinojs

Module enums/pokerPhases

Index

Enumerations

diff --git a/docs/site/modules/enums_suit.html b/docs/site/modules/enums_ranks.html similarity index 52% rename from docs/site/modules/enums_suit.html rename to docs/site/modules/enums_ranks.html index b1aaa49..819e3d7 100644 --- a/docs/site/modules/enums_suit.html +++ b/docs/site/modules/enums_ranks.html @@ -1,2 +1,2 @@ -enums/suit | casinojs

Module enums/suit

Index

Enumerations

Suit +enums/ranks | casinojs

Module enums/ranks

Index

Enumerations

diff --git a/docs/site/modules/enums_source.html b/docs/site/modules/enums_sources.html similarity index 51% rename from docs/site/modules/enums_source.html rename to docs/site/modules/enums_sources.html index 3f7a09f..2475fde 100644 --- a/docs/site/modules/enums_source.html +++ b/docs/site/modules/enums_sources.html @@ -1,2 +1,2 @@ -enums/source | casinojs

Module enums/source

Index

Enumerations

Source +enums/sources | casinojs

Module enums/sources

Index

Enumerations

diff --git a/docs/site/modules/enums_rank.html b/docs/site/modules/enums_suits.html similarity index 52% rename from docs/site/modules/enums_rank.html rename to docs/site/modules/enums_suits.html index 883032e..df1d4e2 100644 --- a/docs/site/modules/enums_rank.html +++ b/docs/site/modules/enums_suits.html @@ -1,2 +1,2 @@ -enums/rank | casinojs

Module enums/rank

Index

Enumerations

Rank +enums/suits | casinojs

Module enums/suits

Index

Enumerations

diff --git a/docs/site/modules/index.html b/docs/site/modules/index.html index 34b3998..58761a0 100644 --- a/docs/site/modules/index.html +++ b/docs/site/modules/index.html @@ -1,7 +1,7 @@ index | casinojs

Module index

// Importing from the centralized library module
import { CardInterface, Card, Deck, Rank, Suit } from 'pokerjs';

const deck = new Deck();
deck.shuffle();
const card = deck.draw();
console.log(card?.toString());
-

References

References

Re-exports BaseEventEmitter
Re-exports BaseEventEmitterInterface
Re-exports BaseEventInterface
Renames and re-exports interfaces/baseEvent
Renames and re-exports interfaces/_base
Renames and re-exports models/_base
Re-exports Card
Re-exports CardConfig
Re-exports CardInterface
Renames and re-exports interfaces/card
Renames and re-exports models/card
Re-exports Casino
Re-exports CasinoEvents
Renames and re-exports enums/events/casino
Re-exports CasinoInterface
Renames and re-exports interfaces/casino
Renames and re-exports models/casino
Re-exports Deck
Re-exports DeckInterface

+

References

Re-exports BaseEventEmitter
Re-exports BaseEventEmitterInterface
Re-exports BaseEventInterface
Renames and re-exports interfaces/baseEvent
Renames and re-exports interfaces/_base
Renames and re-exports models/_base
Re-exports Card
Re-exports CardConfig
Re-exports CardInterface
Renames and re-exports interfaces/card
Renames and re-exports models/card
Re-exports Casino
Re-exports CasinoEvents
Renames and re-exports enums/events/casino
Re-exports CasinoInterface
Renames and re-exports interfaces/casino
Renames and re-exports models/casino
Re-exports Deck
Re-exports DeckEvents
Renames and re-exports enums/events/deck
Re-exports DeckInterface

WRAPPER METHODS (UTILITY & CONVENIENCE)


-
Renames and re-exports interfaces/deck
Renames and re-exports models/deck
Renames and re-exports enums
Renames and re-exports enums/events
Re-exports generateUniqueId
Renames and re-exports interfaces
Re-exports logger
Re-exports Logger
Re-exports LoggerConfig
Re-exports LoggerInterface
Renames and re-exports interfaces/logger
Renames and re-exports models/logger
Re-exports LogLevel
Renames and re-exports enums/logLevel
Renames and re-exports models
Re-exports PokerGame
Re-exports PokerGameConfig
Re-exports PokerGameInterface
Renames and re-exports interfaces/pokerGame
Renames and re-exports models/pokerGame
Re-exports PokerPhaseConfig
Re-exports PokerPhaseInterface
Renames and re-exports interfaces/pokerPhase
Re-exports PokerPhaseName
Renames and re-exports enums/pokerPhaseNames
Re-exports PokerPlayer
Re-exports PokerPlayerConfig
Re-exports PokerPlayerInterface
Renames and re-exports interfaces/pokerPlayer
Renames and re-exports models/pokerPlayer
Re-exports PokerRoom
Re-exports PokerRoomConfig
Re-exports PokerRoomInterface
Renames and re-exports interfaces/pokerRoom
Renames and re-exports models/pokerRoom
Re-exports PokerSeat
Re-exports PokerSeatConfig
Re-exports PokerSeatEvents
Renames and re-exports enums/events/pokerSeat
Re-exports PokerSeatInterface
Renames and re-exports interfaces/pokerSeat
Renames and re-exports models/pokerSeat
Re-exports PokerTable
Re-exports PokerTableConfig
Re-exports PokerTableInterface
Renames and re-exports interfaces/pokerTable
Renames and re-exports models/pokerTable
Re-exports Rank
Renames and re-exports enums/rank
Re-exports Source
Renames and re-exports enums/source
Re-exports Suit
Renames and re-exports enums/suit
Renames and re-exports utils
+
Renames and re-exports interfaces/deck
Renames and re-exports models/deck
Renames and re-exports enums
Renames and re-exports enums/events
Re-exports generateUniqueId
Renames and re-exports interfaces
Re-exports logger
Re-exports Logger
Re-exports LoggerConfig
Re-exports LoggerInterface
Renames and re-exports interfaces/logger
Renames and re-exports models/logger
Re-exports LogLevel
Renames and re-exports enums/logLevels
Renames and re-exports models
Re-exports PokerGame
Re-exports PokerGameConfig
Re-exports PokerGameInterface
Renames and re-exports interfaces/pokerGame
Renames and re-exports models/pokerGame
Re-exports PokerPhaseConfig
Re-exports PokerPhaseInterface
Renames and re-exports interfaces/pokerPhase
Re-exports PokerPhases
Renames and re-exports enums/pokerPhases
Re-exports PokerPlayer
Re-exports PokerPlayerConfig
Re-exports PokerPlayerInterface
Renames and re-exports interfaces/pokerPlayer
Renames and re-exports models/pokerPlayer
Re-exports PokerRoom
Re-exports PokerRoomConfig
Re-exports PokerRoomInterface
Renames and re-exports interfaces/pokerRoom
Renames and re-exports models/pokerRoom
Re-exports PokerSeat
Re-exports PokerSeatConfig
Re-exports PokerSeatEvents
Renames and re-exports enums/events/pokerSeat
Re-exports PokerSeatInterface
Renames and re-exports interfaces/pokerSeat
Renames and re-exports models/pokerSeat
Re-exports PokerTable
Re-exports PokerTableConfig
Re-exports PokerTableEvents
Renames and re-exports enums/events/pokerTable
Re-exports PokerTableInterface
Renames and re-exports interfaces/pokerTable
Renames and re-exports models/pokerTable
Re-exports Rank
Renames and re-exports enums/ranks
Re-exports Source
Renames and re-exports enums/sources
Re-exports Suit
Renames and re-exports enums/suits
Renames and re-exports utils
diff --git a/docs/site/modules/interfaces.html b/docs/site/modules/interfaces.html index 26f8ff9..92a2743 100644 --- a/docs/site/modules/interfaces.html +++ b/docs/site/modules/interfaces.html @@ -1,7 +1,7 @@ interfaces | casinojs

Module interfaces

// Import all interfaces and types from the centralized module
import { CardInterface, DeckInterface } from './interfaces';
-

References

BaseEventEmitterInterface BaseEventInterface BaseEventInterfaceModule BaseInterfaceModule diff --git a/docs/site/modules/interfaces__base.html b/docs/site/modules/interfaces__base.html index 2c92cfd..1c20411 100644 --- a/docs/site/modules/interfaces__base.html +++ b/docs/site/modules/interfaces__base.html @@ -1,2 +1,2 @@ -interfaces/_base | casinojs

Module interfaces/_base

Index

Interfaces

BaseEventEmitterInterface +interfaces/_base | casinojs
diff --git a/docs/site/modules/interfaces_baseEvent.html b/docs/site/modules/interfaces_baseEvent.html index 667dff6..f4c9c31 100644 --- a/docs/site/modules/interfaces_baseEvent.html +++ b/docs/site/modules/interfaces_baseEvent.html @@ -1,2 +1,2 @@ -interfaces/baseEvent | casinojs

Module interfaces/baseEvent

Index

Interfaces

BaseEventInterface +interfaces/baseEvent | casinojs

Module interfaces/baseEvent

Index

Interfaces

diff --git a/docs/site/modules/interfaces_card.html b/docs/site/modules/interfaces_card.html index 7cbe96f..ae4b799 100644 --- a/docs/site/modules/interfaces_card.html +++ b/docs/site/modules/interfaces_card.html @@ -1,3 +1,3 @@ -interfaces/card | casinojs

Module interfaces/card

Index

Interfaces

CardConfig +interfaces/card | casinojs
diff --git a/docs/site/modules/interfaces_casino.html b/docs/site/modules/interfaces_casino.html index bb4a94c..a51d33b 100644 --- a/docs/site/modules/interfaces_casino.html +++ b/docs/site/modules/interfaces_casino.html @@ -1,2 +1,2 @@ -interfaces/casino | casinojs

Module interfaces/casino

Index

Interfaces

CasinoInterface +interfaces/casino | casinojs

Module interfaces/casino

Index

Interfaces

diff --git a/docs/site/modules/interfaces_deck.html b/docs/site/modules/interfaces_deck.html index 032196d..f88be8a 100644 --- a/docs/site/modules/interfaces_deck.html +++ b/docs/site/modules/interfaces_deck.html @@ -1,2 +1,2 @@ -interfaces/deck | casinojs

Module interfaces/deck

Index

Interfaces

DeckInterface +interfaces/deck | casinojs

Module interfaces/deck

Index

Interfaces

diff --git a/docs/site/modules/interfaces_logger.html b/docs/site/modules/interfaces_logger.html index 7c229a0..4b6774b 100644 --- a/docs/site/modules/interfaces_logger.html +++ b/docs/site/modules/interfaces_logger.html @@ -1,3 +1,3 @@ -interfaces/logger | casinojs

Module interfaces/logger

Index

Interfaces

LoggerConfig +interfaces/logger | casinojs
diff --git a/docs/site/modules/interfaces_pokerGame.html b/docs/site/modules/interfaces_pokerGame.html index d437224..e89768d 100644 --- a/docs/site/modules/interfaces_pokerGame.html +++ b/docs/site/modules/interfaces_pokerGame.html @@ -1,3 +1,3 @@ -interfaces/pokerGame | casinojs

Module interfaces/pokerGame

Index

Interfaces

PokerGameConfig +interfaces/pokerGame | casinojs
diff --git a/docs/site/modules/interfaces_pokerPhase.html b/docs/site/modules/interfaces_pokerPhase.html index 67a2268..db4df9f 100644 --- a/docs/site/modules/interfaces_pokerPhase.html +++ b/docs/site/modules/interfaces_pokerPhase.html @@ -1,3 +1,3 @@ -interfaces/pokerPhase | casinojs

Module interfaces/pokerPhase

Index

Interfaces

PokerPhaseConfig +interfaces/pokerPhase | casinojs
diff --git a/docs/site/modules/interfaces_pokerPlayer.html b/docs/site/modules/interfaces_pokerPlayer.html index 4b50269..55d998f 100644 --- a/docs/site/modules/interfaces_pokerPlayer.html +++ b/docs/site/modules/interfaces_pokerPlayer.html @@ -1,3 +1,3 @@ -interfaces/pokerPlayer | casinojs

Module interfaces/pokerPlayer

Index

Interfaces

PokerPlayerConfig +interfaces/pokerPlayer | casinojs
diff --git a/docs/site/modules/interfaces_pokerRoom.html b/docs/site/modules/interfaces_pokerRoom.html index 57c9649..38772fb 100644 --- a/docs/site/modules/interfaces_pokerRoom.html +++ b/docs/site/modules/interfaces_pokerRoom.html @@ -1,3 +1,3 @@ -interfaces/pokerRoom | casinojs

Module interfaces/pokerRoom

Index

Interfaces

PokerRoomConfig +interfaces/pokerRoom | casinojs
diff --git a/docs/site/modules/interfaces_pokerSeat.html b/docs/site/modules/interfaces_pokerSeat.html index 9a24f7b..461c5d7 100644 --- a/docs/site/modules/interfaces_pokerSeat.html +++ b/docs/site/modules/interfaces_pokerSeat.html @@ -1,3 +1,3 @@ -interfaces/pokerSeat | casinojs

Module interfaces/pokerSeat

Index

Interfaces

PokerSeatConfig +interfaces/pokerSeat | casinojs
diff --git a/docs/site/modules/interfaces_pokerTable.html b/docs/site/modules/interfaces_pokerTable.html index b08df19..8800a59 100644 --- a/docs/site/modules/interfaces_pokerTable.html +++ b/docs/site/modules/interfaces_pokerTable.html @@ -1,3 +1,3 @@ -interfaces/pokerTable | casinojs

Module interfaces/pokerTable

Index

Interfaces

PokerTableConfig +interfaces/pokerTable | casinojs
diff --git a/docs/site/modules/models.html b/docs/site/modules/models.html index 10082bf..4a10f50 100644 --- a/docs/site/modules/models.html +++ b/docs/site/modules/models.html @@ -1,7 +1,7 @@ models | casinojs

Module models

// Import models from the centralized module
import { Card, Deck } from './models';
-

References

References

BaseEventEmitter BaseModel Card CardModel diff --git a/docs/site/modules/models__base.html b/docs/site/modules/models__base.html index 70c9ccb..c5d0aaa 100644 --- a/docs/site/modules/models__base.html +++ b/docs/site/modules/models__base.html @@ -1,2 +1,2 @@ -models/_base | casinojs

Module models/_base

Index

Classes

BaseEventEmitter +models/_base | casinojs

Module models/_base

Index

Classes

diff --git a/docs/site/modules/models_card.html b/docs/site/modules/models_card.html index 9897933..1c2a6f9 100644 --- a/docs/site/modules/models_card.html +++ b/docs/site/modules/models_card.html @@ -1,2 +1,2 @@ -models/card | casinojs

Module models/card

Index

Classes

Card +models/card | casinojs

Module models/card

Index

Classes

diff --git a/docs/site/modules/models_casino.html b/docs/site/modules/models_casino.html index d0bdd85..0de8956 100644 --- a/docs/site/modules/models_casino.html +++ b/docs/site/modules/models_casino.html @@ -1,2 +1,2 @@ -models/casino | casinojs

Module models/casino

Index

Classes

Casino +models/casino | casinojs

Module models/casino

Index

Classes

diff --git a/docs/site/modules/models_deck.html b/docs/site/modules/models_deck.html index 6b3f958..ed6c508 100644 --- a/docs/site/modules/models_deck.html +++ b/docs/site/modules/models_deck.html @@ -1,2 +1,2 @@ -models/deck | casinojs

Module models/deck

Index

Classes

Deck +models/deck | casinojs

Module models/deck

Index

Classes

diff --git a/docs/site/modules/models_logger.html b/docs/site/modules/models_logger.html index 1adf567..bcf4a38 100644 --- a/docs/site/modules/models_logger.html +++ b/docs/site/modules/models_logger.html @@ -1,2 +1,2 @@ -models/logger | casinojs

Module models/logger

Index

Classes

Logger +models/logger | casinojs

Module models/logger

Index

Classes

diff --git a/docs/site/modules/models_pokerGame.html b/docs/site/modules/models_pokerGame.html index 11b0cd9..a14d54a 100644 --- a/docs/site/modules/models_pokerGame.html +++ b/docs/site/modules/models_pokerGame.html @@ -1,2 +1,2 @@ -models/pokerGame | casinojs

Module models/pokerGame

Index

Classes

PokerGame +models/pokerGame | casinojs

Module models/pokerGame

Index

Classes

diff --git a/docs/site/modules/models_pokerPhase.html b/docs/site/modules/models_pokerPhase.html index 711a163..93a9a71 100644 --- a/docs/site/modules/models_pokerPhase.html +++ b/docs/site/modules/models_pokerPhase.html @@ -1,2 +1,2 @@ -models/pokerPhase | casinojs

Module models/pokerPhase

Index

Classes

PokerPhase +models/pokerPhase | casinojs

Module models/pokerPhase

Index

Classes

diff --git a/docs/site/modules/models_pokerPlayer.html b/docs/site/modules/models_pokerPlayer.html index ef62dc8..670845f 100644 --- a/docs/site/modules/models_pokerPlayer.html +++ b/docs/site/modules/models_pokerPlayer.html @@ -1,2 +1,2 @@ -models/pokerPlayer | casinojs

Module models/pokerPlayer

Index

Classes

PokerPlayer +models/pokerPlayer | casinojs

Module models/pokerPlayer

Index

Classes

diff --git a/docs/site/modules/models_pokerRoom.html b/docs/site/modules/models_pokerRoom.html index ddeb56e..c4fe3f9 100644 --- a/docs/site/modules/models_pokerRoom.html +++ b/docs/site/modules/models_pokerRoom.html @@ -1,2 +1,2 @@ -models/pokerRoom | casinojs

Module models/pokerRoom

Index

Classes

PokerRoom +models/pokerRoom | casinojs

Module models/pokerRoom

Index

Classes

diff --git a/docs/site/modules/models_pokerSeat.html b/docs/site/modules/models_pokerSeat.html index 74f94f8..2c1cb81 100644 --- a/docs/site/modules/models_pokerSeat.html +++ b/docs/site/modules/models_pokerSeat.html @@ -1,2 +1,2 @@ -models/pokerSeat | casinojs

Module models/pokerSeat

Index

Classes

PokerSeat +models/pokerSeat | casinojs

Module models/pokerSeat

Index

Classes

diff --git a/docs/site/modules/models_pokerTable.html b/docs/site/modules/models_pokerTable.html index 11c49f4..2093bfc 100644 --- a/docs/site/modules/models_pokerTable.html +++ b/docs/site/modules/models_pokerTable.html @@ -1,2 +1,2 @@ -models/pokerTable | casinojs

Module models/pokerTable

Index

Classes

PokerTable +models/pokerTable | casinojs

Module models/pokerTable

Index

Classes

diff --git a/docs/site/modules/utils.html b/docs/site/modules/utils.html index c58bdd1..5100a40 100644 --- a/docs/site/modules/utils.html +++ b/docs/site/modules/utils.html @@ -1,6 +1,6 @@ utils | casinojs

Module utils

// Import models from the centralized module
import { Card, Deck } from './models';
-

References

References

Re-exports generateUniqueId
Re-exports logger
diff --git a/docs/site/modules/utils_generateUniqueId.html b/docs/site/modules/utils_generateUniqueId.html index 5192e17..dcb8644 100644 --- a/docs/site/modules/utils_generateUniqueId.html +++ b/docs/site/modules/utils_generateUniqueId.html @@ -1,2 +1,2 @@ -utils/generateUniqueId | casinojs

Module utils/generateUniqueId

Index

Functions

generateUniqueId +utils/generateUniqueId | casinojs
diff --git a/docs/site/modules/utils_logger.html b/docs/site/modules/utils_logger.html index 8ad1aa7..b7eac7b 100644 --- a/docs/site/modules/utils_logger.html +++ b/docs/site/modules/utils_logger.html @@ -1,2 +1,2 @@ -utils/logger | casinojs

Module utils/logger

Index

Variables

logger +utils/logger | casinojs

Module utils/logger

Index

Variables

diff --git a/docs/site/variables/utils_logger.logger.html b/docs/site/variables/utils_logger.logger.html index 7b7953d..ffa8748 100644 --- a/docs/site/variables/utils_logger.logger.html +++ b/docs/site/variables/utils_logger.logger.html @@ -7,4 +7,4 @@
import { logger } from "./path/to/utils/logger";

logger.log(LogLevel.INFO, "Application started");
-
+
diff --git a/package.json b/package.json index 54c7bf8..ea063e9 100644 --- a/package.json +++ b/package.json @@ -20,8 +20,7 @@ "build": "tsc -p tsconfig.cjs.json && tsc -p tsconfig.esm.json", "test": "jest --coverage", "docify": "typedoc --entryPointStrategy expand src --out docs/site", - "prepublishOnly": "npm run build && npm test && npm run docify", - "prepublish": "npm run build && npm test && npm run docify" + "prepublishOnly": "npm run build && npm run docify" }, "repository": { "type": "git", diff --git a/src/interfaces/pokerPhase/index.ts b/src/interfaces/pokerPhase/index.ts index a69b498..87d6fb8 100644 --- a/src/interfaces/pokerPhase/index.ts +++ b/src/interfaces/pokerPhase/index.ts @@ -3,7 +3,7 @@ import { BaseEventEmitterInterface } from "../_base"; import { DeckInterface } from "../deck"; import { PokerPlayerInterface } from "../pokerPlayer"; -import { PokerPhaseName } from "../../enums"; +import { PokerPhases } from "../../enums"; import { CardInterface } from "../card"; /** @@ -12,10 +12,10 @@ import { CardInterface } from "../card"; */ interface PokerPhaseConfig { /** - * @property {PokerPhaseName} name + * @property {PokerPhases} name * The deck of cards used in the current PokerPhase. */ - name: PokerPhaseName; + name: PokerPhases; /** * @property {DeckInterface} deck diff --git a/src/models/pokerPhase/index.ts b/src/models/pokerPhase/index.ts index fb99672..6b7b5b6 100644 --- a/src/models/pokerPhase/index.ts +++ b/src/models/pokerPhase/index.ts @@ -1,7 +1,7 @@ //@collapse // Import Enums -import { PokerPhaseName } from "../../enums"; +import { PokerPhases } from "../../enums"; // Import Interfaces import { @@ -63,7 +63,7 @@ class PokerPhase extends BaseEventEmitter implements PokerPhaseInterface { **************************************************************************************************************/ /** - * @property {PokerPhaseName} __name + * @property {PokerPhases} __name * * Tracks the current phase name within the poker game (e.g., "Pre-Flop," "Flop," etc.). * @@ -72,15 +72,15 @@ class PokerPhase extends BaseEventEmitter implements PokerPhaseInterface { * ensuring the correct flow and rules are applied throughout the game. * * #### Requirements - * - **Required**: Must be a valid `PokerPhaseName` that indicates the correct stage of gameplay. + * - **Required**: Must be a valid `PokerPhases` that indicates the correct stage of gameplay. * * @example * ```typescript * const pokerPhase = new PokerPhase(); - * console.log(pokerPhase.__name); // Expected output: PokerPhaseName.PRE_FLOP + * console.log(pokerPhase.__name); // Expected output: PokerPhases.PRE_FLOP * ``` */ - private __name: PokerPhaseName = PokerPhaseName.PRE_FLOP; + private __name: PokerPhases = PokerPhases.PRE_FLOP; /** * @property {DeckInterface} __deck @@ -266,7 +266,7 @@ class PokerPhase extends BaseEventEmitter implements PokerPhaseInterface { * @example * ```typescript * const pokerPhase = new PokerPhase({ - * name: PokerPhaseName.PRE_FLOP, + * name: PokerPhases.PRE_FLOP, * deck: new Deck(), * communityCards: [], * players: [...], @@ -300,7 +300,7 @@ class PokerPhase extends BaseEventEmitter implements PokerPhaseInterface { * phase name, deck, players, and pot. * * #### Requirements - * - The `config` should contain a valid `PokerPhaseName` (e.g., `PRE_FLOP`, `FLOP`) and other properties for setting up + * - The `config` should contain a valid `PokerPhases` (e.g., `PRE_FLOP`, `FLOP`) and other properties for setting up * the phase accurately. * - If no `config` is provided, defaults are used to initialize each phase property. * @@ -317,7 +317,7 @@ class PokerPhase extends BaseEventEmitter implements PokerPhaseInterface { * @example * ```typescript * const config = { - * name: PokerPhaseName.PRE_FLOP, + * name: PokerPhases.PRE_FLOP, * players: [...], * communityCards: [], * pot: 0 @@ -327,7 +327,7 @@ class PokerPhase extends BaseEventEmitter implements PokerPhaseInterface { */ private __init(config?: PokerPhaseConfig): void { if (config) { - this.__name = config.name ?? PokerPhaseName.PRE_FLOP; + this.__name = config.name ?? PokerPhases.PRE_FLOP; this.__deck = config.deck ?? new Deck(); this.__communityCards = config.communityCards ?? this.__communityCards; this.__players = config.players ?? this.__players; @@ -338,7 +338,7 @@ class PokerPhase extends BaseEventEmitter implements PokerPhaseInterface { this.__bigBlindPos = config.bigBlindPos ?? this.__bigBlindPos; } - if (this.getName() === PokerPhaseName.PRE_FLOP) { + if (this.getName() === PokerPhases.PRE_FLOP) { this.deal(); // Deal cards to players if this is the "Pre-Flop" phase } } @@ -378,12 +378,12 @@ class PokerPhase extends BaseEventEmitter implements PokerPhaseInterface { * N/A * * #### Returns - * - {PokerPhaseName}: The name of the current game phase. + * - {PokerPhases}: The name of the current game phase. * * #### Usage * Useful for determining the phase of gameplay, allowing specific actions based on the current phase. * - * @returns {PokerPhaseName} - The name of the current phase in the poker round. + * @returns {PokerPhases} - The name of the current phase in the poker round. * * @example * ```typescript @@ -391,7 +391,7 @@ class PokerPhase extends BaseEventEmitter implements PokerPhaseInterface { * console.log(phaseName); // Outputs: "Pre-Flop" * ``` */ - public getName(): PokerPhaseName { + public getName(): PokerPhases { return this.__name; } @@ -760,7 +760,7 @@ class PokerPhase extends BaseEventEmitter implements PokerPhaseInterface { * const rank = card.getRank(); * console.log(rank); // "A" */ - private __setName(name: PokerPhaseName): PokerPhaseName { + private __setName(name: PokerPhases): PokerPhases { this.__name = name; return this.__name; } diff --git a/tests/enums/index.test.ts b/tests/enums/index.test.ts index 5857a58..ccbb109 100644 --- a/tests/enums/index.test.ts +++ b/tests/enums/index.test.ts @@ -7,14 +7,14 @@ * are as expected. * * Enums being tested: - * - `PokerPhaseName`: Represents different phases of a poker game (e.g., pre-flop, flop, turn, river). + * - `PokerPhases`: Represents different phases of a poker game (e.g., pre-flop, flop, turn, river). * - `Rank`: Represents the ranks of playing cards (e.g., Ace, King, Queen). * - `Suit`: Represents the suits of playing cards (e.g., Hearts, Spades). - * - `CasinoEventName`: Represents event names triggered by state changes in the casino. + * - `CasinoEvents`: Represents event names triggered by state changes in the casino. * * @example * // This test file ensures that you can import all enums like this: - * import { Rank, Suit, PokerPhaseName, CasinoEventName } from './src/enums'; + * import { Rank, Suit, PokerPhases, CasinoEvents } from './src/enums'; * * @see `./src/enums/index.ts` */ @@ -28,20 +28,20 @@ import * as Enums from "../../src/enums"; describe("Enum Centralized Exports", () => { /** - * @test `PokerPhaseName` export verification - * This test ensures that the `PokerPhaseName` enum is correctly exported from the centralized enums module. + * @test `PokerPhases` export verification + * This test ensures that the `PokerPhases` enum is correctly exported from the centralized enums module. * * @example * // The enum should have phases like "PreFlop", "Flop", "Turn", "River", "Showdown" */ - it("should export PokerPhaseName enum with correct values", () => { - const { PokerPhaseName } = Enums; + it("should export PokerPhases enum with correct values", () => { + const { PokerPhases } = Enums; - expect(PokerPhaseName.PRE_FLOP).toBe("Pre-Flop"); - expect(PokerPhaseName.FLOP).toBe("Flop"); - expect(PokerPhaseName.TURN).toBe("Turn"); - expect(PokerPhaseName.RIVER).toBe("River"); - expect(PokerPhaseName.SHOWDOWN).toBe("ShowDown"); + expect(PokerPhases.PRE_FLOP).toBe("Pre-Flop"); + expect(PokerPhases.FLOP).toBe("Flop"); + expect(PokerPhases.TURN).toBe("Turn"); + expect(PokerPhases.RIVER).toBe("River"); + expect(PokerPhases.SHOWDOWN).toBe("ShowDown"); }); /** @@ -77,19 +77,19 @@ describe("Enum Centralized Exports", () => { }); /** - * @test `CasinoEventName` export verification - * This test ensures that the `CasinoEventName` enum is correctly exported from the centralized enums module. + * @test `CasinoEvents` export verification + * This test ensures that the `CasinoEvents` enum is correctly exported from the centralized enums module. * * @example * // The enum should have events like "Casino:PokerRoomCreated", "Casino:PokerRoomAdded", etc. */ - it("should export CasinoEventName enum with correct values", () => { - const { CasinoEventName } = Enums; + it("should export CasinoEvents enum with correct values", () => { + const { CasinoEvents } = Enums; - expect(CasinoEventName.ROOM_CREATED).toBe("Casino:PokerRoomCreated"); - expect(CasinoEventName.ROOM_ADDED).toBe("Casino:PokerRoomAdded"); - expect(CasinoEventName.ROOM_UPDATED).toBe("Casino:PokerRoomUpdated"); - expect(CasinoEventName.ROOM_DELETED).toBe("Casino:PokerRoomDeleted"); - expect(CasinoEventName.ROOMS_SET).toBe("Casino:PokerRoomsSet"); + expect(CasinoEvents.ROOM_CREATED).toBe("Casino:PokerRoomCreated"); + expect(CasinoEvents.ROOM_ADDED).toBe("Casino:PokerRoomAdded"); + expect(CasinoEvents.ROOM_UPDATED).toBe("Casino:PokerRoomUpdated"); + expect(CasinoEvents.ROOM_DELETED).toBe("Casino:PokerRoomDeleted"); + expect(CasinoEvents.ROOMS_SET).toBe("Casino:PokerRoomsSet"); }); }); diff --git a/tests/enums/pokerPhaseName/index.test.ts b/tests/enums/pokerPhaseName/index.test.ts index 704e7b2..96c314a 100644 --- a/tests/enums/pokerPhaseName/index.test.ts +++ b/tests/enums/pokerPhaseName/index.test.ts @@ -1,78 +1,78 @@ //@collapse -import { PokerPhaseName } from "../../../src/enums/pokerPhaseName"; +import { PokerPhases } from "../../../src/enums/pokerPhases"; /** * @file `pokerPhaseName/index.test.ts` - * @description This file contains unit tests for the `PokerPhaseName` enum using Jest. It verifies that the enum values for different poker phases are correctly defined. + * @description This file contains unit tests for the `PokerPhases` enum using Jest. It verifies that the enum values for different poker phases are correctly defined. * * @jest-environment node */ -describe("PokerPhaseName Enum", () => { +describe("PokerPhases Enum", () => { /** * @test `should define all phases correctly` - * @description This test checks whether all expected poker phases exist in the `PokerPhaseName` enum with the correct string values. + * @description This test checks whether all expected poker phases exist in the `PokerPhases` enum with the correct string values. * * @example - * // Verifies that PokerPhaseName enum values are correct - * expect(PokerPhaseName.PRE_FLOP).toBe("Pre-Flop"); + * // Verifies that PokerPhases enum values are correct + * expect(PokerPhases.PRE_FLOP).toBe("Pre-Flop"); */ it("should define all phases correctly", () => { // Expected phases in the poker game - expect(PokerPhaseName.PRE_FLOP).toBe("Pre-Flop"); - expect(PokerPhaseName.FLOP).toBe("Flop"); - expect(PokerPhaseName.TURN).toBe("Turn"); - expect(PokerPhaseName.RIVER).toBe("River"); - expect(PokerPhaseName.SHOWDOWN).toBe("ShowDown"); + expect(PokerPhases.PRE_FLOP).toBe("Pre-Flop"); + expect(PokerPhases.FLOP).toBe("Flop"); + expect(PokerPhases.TURN).toBe("Turn"); + expect(PokerPhases.RIVER).toBe("River"); + expect(PokerPhases.SHOWDOWN).toBe("ShowDown"); }); /** * @test `should have exact number of phases` - * @description This test ensures that the `PokerPhaseName` enum only contains the expected 5 phases. + * @description This test ensures that the `PokerPhases` enum only contains the expected 5 phases. * * @example - * // Verifies the number of keys in the PokerPhaseName enum - * expect(Object.keys(PokerPhaseName).length).toBe(5); + * // Verifies the number of keys in the PokerPhases enum + * expect(Object.keys(PokerPhases).length).toBe(5); */ it("should have exactly 5 phases", () => { // Verify that the enum contains exactly 5 phases - const phaseCount = Object.keys(PokerPhaseName).length; + const phaseCount = Object.keys(PokerPhases).length; expect(phaseCount).toBe(5); }); /** * @test `should not contain any unexpected phases` - * @description This test ensures that the `PokerPhaseName` enum does not include any values outside of the predefined poker phases. + * @description This test ensures that the `PokerPhases` enum does not include any values outside of the predefined poker phases. * * @example - * // Check that PokerPhaseName does not include any invalid phases - * expect(PokerPhaseName).not.toContain("InvalidPhase"); + * // Check that PokerPhases does not include any invalid phases + * expect(PokerPhases).not.toContain("InvalidPhase"); */ it("should not contain any unexpected phases", () => { // Get the values of the enum and check that no invalid phase is present const validPhases = ["Pre-Flop", "Flop", "Turn", "River", "ShowDown"]; - expect(Object.values(PokerPhaseName)).toEqual(validPhases); + expect(Object.values(PokerPhases)).toEqual(validPhases); }); /** * @test `should allow usage of poker phases in conditional checks` - * @description This test demonstrates how the `PokerPhaseName` enum can be used in conditional logic, ensuring that phases can be matched correctly in code logic. + * @description This test demonstrates how the `PokerPhases` enum can be used in conditional logic, ensuring that phases can be matched correctly in code logic. * * @example - * // Conditional check using PokerPhaseName enum - * const currentPhase = PokerPhaseName.FLOP; - * if (currentPhase === PokerPhaseName.FLOP) { + * // Conditional check using PokerPhases enum + * const currentPhase = PokerPhases.FLOP; + * if (currentPhase === PokerPhases.FLOP) { * console.log("It's the Flop phase"); * } - * expect(currentPhase).toBe(PokerPhaseName.FLOP); + * expect(currentPhase).toBe(PokerPhases.FLOP); */ it("should allow usage of poker phases in conditional checks", () => { // Example of using the enum in a conditional check - const currentPhase = PokerPhaseName.FLOP; + const currentPhase = PokerPhases.FLOP; - if (currentPhase === PokerPhaseName.FLOP) { - expect(currentPhase).toBe(PokerPhaseName.FLOP); + if (currentPhase === PokerPhases.FLOP) { + expect(currentPhase).toBe(PokerPhases.FLOP); } else { throw new Error("Current phase is incorrect"); }