1.4.3 • Published 2 years ago

eh-odata-parser v1.4.3

Weekly downloads
-
License
MIT
Repository
github
Last release
2 years ago

OData query string parser for node.js based on pegjs.

Fork with added support for the IN filter.

Installation

npm install eh-odata-parser

Usage

var parser = require("odata-parser");

var ast = parser.parse("$top=10&$skip=5&$select=foo")

util.inspect(ast)

will result in:

{
  '$top': 10,
  '$skip': 5,
  '$select': [ 'foo' ]
}

Filters like:

parser.parse("$filter=Name eq 'John' and LastName lt 'Doe'")

results in:

{
    $filter: {
        type: 'and',
        left: {
            type: 'eq',
            left: {
                type: 'property',
                name: 'Name'
            },
            right: {
                type: 'literal',
                value: 'John'
            }
        },
        right: {
            type: 'lt',
            left: {
                type: 'property',
                name: 'LastName'
            },
            right: {
                type: 'literal',
                value: 'Doe'
            }
        }
    }
}

Using functions in filters

parser.parse("$filter=substringof('nginx', Servers)")

restuls in:

{
    $filter: {
        type: 'functioncall',
        func: 'substringof',
        args: [{
            type: 'literal',
            value: 'nginx'
        }, {
            type: 'property',
            name: 'Servers'
        }]
    }
}

Author

Auth0

Forked by Seam Forked by Elliotjharper purely to release on npm publicly

License

This project is licensed under the MIT license. See the LICENSE file for more info.

1.4.3

2 years ago

1.4.2

2 years ago