# filter-odata

> Utility script to convert a filter to a OData filter

Latest version **1.0.4** (published 2015-10-26) · GPL-3.0 license · 0 weekly downloads

## Install

```sh
npm install filter-odata
pnpm add filter-odata
yarn add filter-odata
bun add filter-odata
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.0.4 |
| Published | 2015-10-26 |
| First published | 2015-09-16 |
| Weekly downloads | 0 |
| License | GPL-3.0 |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 1 |
| Known vulnerabilities | 0 (+1 in 1 direct dependencies) |
| Install scripts | no |
| Author | Ezequiel Calderara |
| Maintainers | ironicnet |
| Keywords | kendo, odata, filter |

## Links

- npm: https://www.npmjs.com/package/filter-odata
- Repository: https://github.com/ironicnet/filter-odata
- Homepage: https://github.com/ironicnet/filter-odata#readme
- Issues: https://github.com/ironicnet/filter-odata/issues
- npm.io page: https://npm.io/package/filter-odata

## Dependencies (1)

- [underscore.string](https://npm.io/package/underscore.string.md) ~3.2.2

## Recent versions

- 1.0.4 (latest) — 2015-10-26
- 1.0.3 — 2015-09-18
- 1.0.2 — 2015-09-17
- 1.0.1 — 2015-09-16
- 1.0.0 — 2015-09-16

## README

# filter-odata

[![Build Status](https://travis-ci.org/ironicnet/filter-odata.svg?branch=master)](https://travis-ci.org/ironicnet/filter-odata)

## Synopsis

Utility script to convert a filter to a OData filter

Generates a filter using the [OData 2.0 Uri convention](http://www.odata.org/documentation/odata-version-2-0/uri-conventions/)

## Example

### Single Filter
Converts a [kendo filter](http://docs.telerik.com/kendo-ui/api/javascript/data/datasource#configuration-filter)
```json
  {
    "field":"ProductName",
    "operator":"eq",
    "value":"Stuff"
  }
```
to
```
  "ProductName eq 'Stuff'"
```
### Using aliases

```javascript
var conversor = require('filter-odata');
conversor.operators.eq.aliases.push('equal');
var filter = {
  "field":"ProductName",
  "operator":"equal",
  "value":"Stuff"
};

var filterString = conversor.ToOData();
//Outputs: "SupplierProductName eq 'Test'"
```
### Multiple filters

```json
  {
    "logic": "or",
    "filters": [{
      "field": "WarehouseProductName",
      "operator": "eq",
      "value": "Warehouse"
    }, {
      "field": "SupplierProductName",
      "operator": "eq",
      "value": "Supplier"
    }]
  }
```
to
```
  "(WarehouseProductName eq 'Warehouse') or (SupplierProductName eq 'Supplier')"
```

---
_Source: https://npm.io/package/filter-odata · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
