Skip to content

188599/lambda-expression

 
 

Repository files navigation

npm version

lambda-expression

Utility to analyze function (js) and arrow functions (ts), and create metadata of expressions, the initial scope is that it seeks to solve simple expressions. And later advance to encompass complex expressions.

Created use to Typescript

Usage

First, install the package using npm:

npm install lambda-expression --save

In Typescript:

import { ExpressionUtils, Expression } from "lambda-expression";

export class ExpressionUsage {

    private readonly _expressionUtils: ExpressionUtils;

    constructor() {
        this._expressionUtils = new ExpressionUtils();
    }

    public expression<T>(exp: Expression<T>){
        console.log(this._expressionUtils.getColumnByExpression(exp));
    }

    public test(){
        this.expression<ModelTest>(x => x.id); // id
        this.expression<ModelTest>(x => x.description); // description
        this.expression<ModelTest>(x => x.date); // date
        this.expression<ModelTest>(x => x.isValid); // isValid
        this.expression<ModelTest>(x => x.reference.name); // reference_name
    }
}

class ModelTest{
    id: number;
    name: string;
    description: string;
    date: Date;
    isValid: boolean;
    reference: ReferencesModelTest;
}

class ReferencesModelTest{
    id: number;
    name: string;
}

License

Apache 2.0

About

Lambda Expression for TypeScript

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • TypeScript 94.5%
  • HTML 3.3%
  • JavaScript 2.2%