filterion
v1.5.3

使用NPM安装filterion :
npm i filterion
需要它进入任何模块并本地使用:
import { Filterion } from 'filterion' ;
const filter = new Filterion ( )
. add ( 'device' , 'iPhone' )
. add ( 'price' , 649 ) ;
console . log ( filter . getPayload ( ) ) ;
/*
{
device: { '=': [ 'iPhone' ] },
price: { '=': [ 649 ] }
}
*/或利用查询字符串API:
import { Filterion } from 'filterion' ;
const newQuery = new Filterion ( )
. fromQueryString ( 'device=iPhone&price=649' )
. remove ( 'price' )
. add ( 'year' , 2007 )
. toQueryString ( ) ;
console . log ( newQuery ) ;
/*
device=iPhone&year=2007
*/ 过滤器可以在类型安全的上下文中使用:
import { Filterion } from 'filterion' ;
// Good
const filterion = new Filterion < { price : string } > ( )
. add ( 'price' , 649 ) ;
// Bad
const filterion = new Filterion < { name : string } > ( )
. add ( 'price' , 649 ) ;
/*
error TS2345: Argument of type '"price"' is not assignable to parameter of type '"name"'.
*/灵感来自Immuthable.js,这是一个不变的JavaScript收藏库。
麻省理工学院