{
  "name": "odata-parser",
  "version": "1.0.0",
  "description": "OData query string parser",
  "main": "lib/index.js",
  "scripts": {
    "test": "rm -f lib/odata-parser && npm run-script prepublish && mocha -R spec",
    "prepublish": "pegjs src/odata.pegjs lib/odata-parser.js"
  },
  "dependencies": {},
  "devDependencies": {
    "pegjs": "0.7.0",
    "mocha": "*"
  },
  "repository": "",
  "keywords": [
    "odata",
    "parser"
  ],
  "author": {
    "name": "qraftlabs"
  },
  "license": "MIT",
  "readme": "OData query string parser for node.js based on [pegjs](http://pegjs.majda.cz/).\r\n\r\n## Installation\r\n\r\n```\r\nnpm install odata-parser\r\n```\r\n\r\n## Usage\r\n\r\n```javascript\r\nvar parser = require(\"odata-parser\");\r\n\r\nvar ast = parser.parse(\"$top=10&$skip=5&$select\")\r\n\r\nutil.inspect(ast)\r\n```\r\n\r\nwill result in:\r\n\r\n```javascript\r\n{ \r\n  '$top': 10,\r\n  '$skip': 5,\r\n  '$select': [ 'foo' ] \r\n}\r\n```\r\n\r\nFilters like:\r\n\r\n```javascript\r\nparser.parse(\"$filter=Name eq 'John' and LastName lt 'Doe'\")\r\n```\r\nresults in:\r\n\r\n```javascript\r\n\r\n{\r\n    $filter: {\r\n        type: 'and',\r\n        left: {\r\n            type: 'eq',\r\n            left: {\r\n                type: 'property',\r\n                name: 'Name'\r\n            },\r\n            right: {\r\n                type: 'literal',\r\n                value: 'John'\r\n            }\r\n        },\r\n        right: {\r\n            type: 'lt',\r\n            left: {\r\n                type: 'property',\r\n                name: 'LastName'\r\n            },\r\n            right: {\r\n                type: 'literal',\r\n                value: 'Doe'\r\n            }\r\n        }\r\n    }\r\n}\r\n```\r\n\r\nUsing functions in filters\r\n\r\n```javascript\r\nparser.parse(\"$filter=substringof('nginx', Servers)\")\r\n```\r\n\r\nrestuls in:\r\n\r\n```javascript\r\n{\r\n    $filter: {\r\n        type: 'functioncall',\r\n        func: 'substringof',\r\n        args: [{\r\n            type: 'literal',\r\n            value: 'nginx'\r\n        }, {\r\n            type: 'property',\r\n            name: 'Servers'\r\n        }]\r\n    }\r\n}\r\n```\r\n\r\n## License\r\n\r\nMIT - qraftlabs - 2012",
  "readmeFilename": "README.md",
  "_id": "odata-parser@1.0.0",
  "_from": "odata-parser@*"
}
