Skip to content

Boost a set of libraries for the Typescript programming language that extends the language capability in several areas

License

Notifications You must be signed in to change notification settings

expressots/boost-ts

Repository files navigation

Codecov NPM Build Contributors Forks Stargazers Issues MIT License LinkedIn


Logo

ExpressoTS Framework

Everything you need to know to build applications with ExpressoTS
Explore the docs »

Let's discuss · Report Bug · Request Feature

Table of Contents
  1. About The Project
  2. Getting Started
  3. Contributing
  4. Support the project
  5. License

About The Project

ExpressoTS is a Typescript + Node.js lightweight framework for quick building scalable, easy to read and maintain, server-side applications 🐎

Getting Started

Boost-TS

Boost is a collection of libraries for the TypeScript programming language designed to enhance its capabilities across various domains. These libraries provide a wide range of functionality, enabling developers to leverage the full potential of TypeScript and streamline their development process. With Boost, TypeScript developers can efficiently tackle complex tasks, improve code readability, and maintainability, while also benefiting from advanced features and best practices.

Available Libraries

  • Match Pattern
  • Optional Pattern

Installation

npm i @expressots/boost-ts

Match Pattern Usage

  • Using Match pattern with enums
import { match } from "./match-pattern";

const enum Coin {
    Penny,
    Nickel,
    Dime,
    Quarter,
}

function valueInCents(coin: Coin): number {
    return match(coin, {
        [Coin.Penny]: () => 1,
        [Coin.Nickel]: () => 5,
        [Coin.Dime]: () => 10,
        [Coin.Quarter]: () => 25,
    });
}

console.log(valueInCents(Coin.Penny)); // 1
  • Using Match pattern with numbers
let isNumber: number = 1;

const result = match(isNUmber, {
    1: () => 1,
    2: () => 2,
    _: () => "No number found",
});

console.log(result); // 1
  • Using Match pattern with boolean
let isOn: boolean = true;

const result = match(isOn, {
    true: () => "The light is on",
    false: () => "The light is off",
});

console.log(result); // The light is off
  • Using Match pattern with Optional pattern
import { Some, None, Optional, matchOptional } from "./optional-pattern";
import { match } from "./match-pattern";

const v1: Optional<number> = Some(1);
const v2: Optional<number> = None();

const result = match(v1, {
    Some: (x) => x + 1,
    None: 0,
});

console.log(result); // 2
  • Other possible combinations
    • "expressions..=expressions" -> numbers or characters
    • "isOr: this | that | other"
    • "Regex: "/[a-z]/"
const result = match("a", {
    "1..=13": () => "Between 1 and 13",
    "25 | 50 | 100": () => "A bill",
    "a..=d": () => "A letter",
    "/[a-z]/": () => "A lowercase letter",
    _: () => "Default",
});
console.log(result); // A letter

Optional Pattern Usage

const someValue: Optional<number> = Some(1);

function plusOne(x: Optional<number>): number {
    return match(x, {
        Some: (x) => x + 3,
        None: 0,
    });
}

console.log(plusOne(None())); // 0

Contributing

Welcome to the ExpressoTS community, a place bustling with innovative minds just like yours. We're absolutely thrilled to have you here! ExpressoTS is more than just a TypeScript framework; it's a collective effort by developers who are passionate about creating a more efficient, secure, and robust web ecosystem. We firmly believe that the best ideas come from a diversity of perspectives, backgrounds, and skills.

Why Contribute to Documentation?

  • Share Knowledge: If you've figured out something cool, why keep it to yourself?
  • Build Your Portfolio: Contributing to an open-source project like ExpressoTS is a great way to showcase your skills.
  • Join a Network: Get to know a community of like-minded developers.
  • Improve the Product: Help us fill in the gaps, correct errors, or make complex topics easier to understand.

Ready to contribute?

Support the project

ExpressoTS is an independent open source project with ongoing development made possible thanks to your support. If you'd like to help, please consider:

License

Distributed under the MIT License. See LICENSE.txt for more information.

(back to top)

About

Boost a set of libraries for the Typescript programming language that extends the language capability in several areas

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •