claudiuandrei / compar

Extensible declarative rule matching engine

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Compar

Extensible declarative rule matching engine

Compar provides an easy way to decouple rules from code, and it is ideal for creating custom engines for experiments, feature flags, tutorials, etc. Compar is written in TypeScript and it runs in the browser, or on the server using node.js.

Setup

yarn add compar

or

npm install --save compar

Usage

Before you start import the library

import { create } from "compar";

Basic usage

const match = create();

match(
  [
    "&",
    [".", "environment", ["|", ["=", "stage"], ["=", "production"]]],
    [
      ".",
      "userId",
      [
        "|",
        ["=", "45654800-7a3a-4273-b1cb-4eace4086cce"],
        ["=", "5137c85d-a4d0-4d6c-8d85-0a74a24007c8"],
      ],
    ],
  ],
  {
    environment: "stage",
    userId: "45654800-7a3a-4273-b1cb-4eace4086cce",
  },
);

License

MIT

About

Extensible declarative rule matching engine

License:MIT License


Languages

Language:TypeScript 100.0%