0.1.1 • Published 6 years ago

advance-search-grammer-parser v0.1.1

Weekly downloads
-
License
MIT
Repository
-
Last release
6 years ago

advance-search-grammer-parser

A grammer parser for advance search

Usage

import { parse } from 'advance-search-grammer-parser'

const ast = parse('name: "a" and age: 18 and gender: 0 or name: not "b"')

Grammer

Here are the all support grammers

Basic Usage

Expressions are consist of many key:value like words, So the basic grammer is:

[key]:[value] {(and|or) [key]:[value]}*

e.g.
name: "lucky" and age: 18 or name: "lucy"

// Group conditions
name: "lucky" and (age: 18 or name: "lucy")

// Reverse result
name: not "lucky"

Value Types

  • String : name: "lucky" , wrapped by double quotation.
  • Float : height: 168.5 , length: -2.2 .
  • Number : age: 18 .
  • Boolean : male: true .
  • Function : user: current_user() , deadline: date("1y1m2d", 2, current_user())
  • Group:
    • In : user: <"1", "2", current_user()> .
    • Contain : tag: |"red", "small"| .
    • Range : date: [ 150000000 TO 157000000 ] , date: { date("1y2m3d") TO 157000000 ]
0.1.1

6 years ago

0.1.0

6 years ago

0.0.6

6 years ago

0.0.5

6 years ago

0.0.4

6 years ago

0.0.3

6 years ago

0.0.2

6 years ago

0.0.1

6 years ago