3.0.2 • Published 11 months ago

staack v3.0.2

Weekly downloads
-
License
MIT
Repository
github
Last release
11 months ago

🏯 Staack

A library to create type-safe opaque stacks

Example

// 1. Create a key with a name and a type
const NumKey = Key.create<number>('Num');

// 2. Create a stack
const stack = new Staack();

// 3. Add a value to the stack using the key (Staack is immutable, it returns a new instance)
const stack2 = stack.with(NumKey.Provider(42));

// 4. Get the value from the stack using the key
expect(stack2.get(NumKey.Consumer)).toBe(42);

Installation

npm install staack
# or
yarn add staack

Extending Staack

You can create your own Staack:

class CustomStaack extends Staack {
  // You need to override the `instantiate` method to return a new instance of your CustomStack
  protected instantiate(staackCore: StaackCoreValue): this {
    return new CustomStaack(staackCore) as any;
  }
}

const custom = new CustomStaack();
expect(custom instanceof CustomStaack).toBe(true);
expect(custom instanceof Staack).toBe(true);
3.0.2

11 months ago

3.0.1

11 months ago

3.0.0

11 months ago

2.0.2

11 months ago

2.0.1

11 months ago

2.0.0

11 months ago

1.0.9

11 months ago

1.0.8

11 months ago

1.0.7

11 months ago

1.0.6

11 months ago

1.0.5

11 months ago

1.0.4

11 months ago

1.0.3

11 months ago

1.0.2

11 months ago

1.0.1

11 months ago

1.0.0

11 months ago