{"_id":"odata-sequelize","_rev":"18-febdf3a4225664e9b8dd32e8fdb9992a","name":"odata-sequelize","dist-tags":{"latest":"2.0.0"},"versions":{"1.0.0":{"name":"odata-sequelize","version":"1.0.0","keywords":["odata","sequelize","sequelizejs"],"author":{"name":"Victor Novais","email":"vicnovais@gmail.com"},"license":"ISC","_id":"odata-sequelize@1.0.0","maintainers":[{"name":"victornovais","email":"vicnovais@gmail.com"}],"dist":{"shasum":"8e3642e07ccc82d505fdc930082ba7b6f6a3d4e5","tarball":"https://registry.npmjs.org/odata-sequelize/-/odata-sequelize-1.0.0.tgz","fileCount":5,"integrity":"sha512-W8yKcTD+5pO/jZttETFWnFFxOsp33FS7pPGEUPhPE73INmQoeEL2lN9BTkZVR0yFSdnNNy7JFch0H/s3eUHbvA==","signatures":[{"sig":"MEYCIQD4cxVXZ5HqxfOdoHapQMPS5zrkM9NzKj0/dyycCvXYegIhALmq/vCC6KM8KPsAgLgfFCwQPRrvH6E7SwTHmILkSd5C","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":14385,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa7n/UCRA9TVsSAnZWagAAdv4QAJj9CuDBkxgfAnn4zd31\nggkt9Ct+hk7nkZpwvkdGhE/mMCv1pInZjmh/DNxon9fjJUD6J3BG7Yj7bb1F\n/Ew68Ks6kZ/RhuVNyfbDDGoGGYTReHoUIY88sT7ejGlnaucyR1OhjHNehsa9\nNyLFKY7LULQ/VvP1gKezGWh0L7luhWSF1KhuRxN6HxM4L8xxwbevbNco0SGP\nCYQPlGIhI7/OAVCjpJKcQMVikhkzDEKiGiF8IK2x1hXfXS4E9pad3d7+KCSq\nSu2KFdeDotWaZnvlFo6wSf1Auy9Fr0xQT8RrbmBQB0aukXph0azfOQKDY7dB\n2H+ewDv7UKMpqNOBibQZaXegGY651NAMN1BK+5+fkc6h2iYEgCtiiuWpFYFK\nJL7MfkdlDXY3f3JwTsAfLn8UWDllbB4r85g0E4zqirNEE3hXBFZfxaF6V0wi\nh5BK3qqpyCuJyMuJZV7tT/LEmc5Ri+/jK2ll4EeS1mwYJpOgr5y9V+EOEv35\nu4zA5DmdlxOKyQIDnXeaKWTbgqvykIKpBMbY6y6L1jKF5dWrydxtdhnrcX21\nnFxqzzH+bUDwNGTzTFvi+TqNEmaVCSFkh3y0zxEe3F0RPplLIaS0a/E9cGHl\nENsK0Gx2Bd8iVMbp8V0xiJfcD3Z7uDmpsanoClCM7brVzBjpoC8wyxjBKaGN\nqesP\r\n=qU1d\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","_from":".","_shasum":"8e3642e07ccc82d505fdc930082ba7b6f6a3d4e5","gitHead":"bfea64bebce188bd60a162841c39e186d65f38fd","scripts":{"test":"mocha --reporter spec"},"_npmUser":{"name":"victornovais","email":"vicnovais@gmail.com"},"_npmVersion":"4.2.0","description":"OData parser for Sequelize.JS","directories":{},"_nodeVersion":"7.9.0","_hasShrinkwrap":false,"devDependencies":{"chai":"^4.1.2","mocha":"^5.1.1","odata-parser":"^1.4.1"},"_npmOperationalInternal":{"tmp":"tmp/odata-sequelize_1.0.0_1525579731100_0.8775666858813953","host":"s3://npm-registry-packages"}},"1.0.1":{"name":"odata-sequelize","version":"1.0.1","keywords":["odata","sequelize","sequelizejs"],"author":{"name":"Victor Novais","email":"vicnovais@gmail.com"},"license":"ISC","_id":"odata-sequelize@1.0.1","maintainers":[{"name":"victornovais","email":"vicnovais@gmail.com"}],"dist":{"shasum":"96fdab0c01638bb80a552ee116220da29fdcbf2d","tarball":"https://registry.npmjs.org/odata-sequelize/-/odata-sequelize-1.0.1.tgz","fileCount":6,"integrity":"sha512-VOkjqlsLF7ZKb25fvJ0tiFCG5WjemRdbzJpkEa0gCyZLDoN79ZN4YtuGUZqQtUA8k+r3nZirny3FwnYl8RQtQA==","signatures":[{"sig":"MEQCIFo8aUvRorbSAgvLPSQ2NB5YrOt27HGkCXNsmPM1wyyJAiBJs5VC0Ip8PxPC7Or5QgWVTQuoQmYbLHCnKIh+GSfFjA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24338,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa7oE1CRA9TVsSAnZWagAAW5AP/2OxR8aJFUz13sXbqckH\n+OAmrpfQTzFqZub6R40ZaZbuzRoUtWxT7Zy4RIAebiteEKfkHScv2ox95AeT\n7Ow1x/tl8IPuOZsRxkUbWdUIBiDRc3WsQBfMpEaiL6UHQ6uXpFsA3WBal1qq\nfq0B//g8nkAZmfv/UazxZdD5OlS2Kc7FmHRafsxdBRtpzgi2qhmhTkAGfDlI\nV5PlGixGsTosucIKSK/d1EuT5bFA4QM1p/rUutoKwvCGljjKL24kDEPFPi05\nHK9JrZAAwZipMBFkO5mG2rDMp6QYNSI1L5bDufJ9fW0cB4gmDu+IXROlLLcH\nqvqt/JYi1gZDbgAtJ4XBzj7itvHSnMqgKY4KXmaUqreza6HdoYM+Cm7ZGRfM\n5JigAzh7LY5quh2qc0J/VB5JwlDCNUDPNVWuWbwkbtuqdnXrMfF1hpqvheUK\nvbgdJbNtYo7Hvb8AU+nQlmbNW+jnBYqgVAi+vunGq0172z2iCXXDgAushW6c\nGrzCeXWfFijAcLQeglDj6K2kKI1WBxKXrvCA6folAOt0fLFCScZTUAENct0Y\nhhZRX0KdX4oCYLDZjI1YnAXzR02RARIvSVI2O+E+KqmnZ1UfsUYvsPrHHIzD\ne9DIn2PYhtxEf6uFPvlN/nsm/cDu32ajrkjjAycXIdm1z1B81id4VDgFAlQg\nUHml\r\n=bxFZ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","_from":".","_shasum":"96fdab0c01638bb80a552ee116220da29fdcbf2d","gitHead":"807d5e66a57d01f7a2dd6820b92c31cedf833fac","scripts":{"test":"mocha --reporter spec"},"_npmUser":{"name":"victornovais","email":"vicnovais@gmail.com"},"_npmVersion":"4.2.0","description":"OData parser for Sequelize.JS","directories":{},"_nodeVersion":"7.9.0","_hasShrinkwrap":false,"devDependencies":{"chai":"^4.1.2","mocha":"^5.1.1","odata-parser":"^1.4.1"},"_npmOperationalInternal":{"tmp":"tmp/odata-sequelize_1.0.1_1525580084482_0.0016974610794693312","host":"s3://npm-registry-packages"}},"1.0.2":{"name":"odata-sequelize","version":"1.0.2","keywords":["odata","sequelize","sequelizejs"],"author":{"name":"Victor Novais","email":"vicnovais@gmail.com"},"license":"MIT","_id":"odata-sequelize@1.0.2","maintainers":[{"name":"victornovais","email":"vicnovais@gmail.com"}],"dist":{"shasum":"9eafdc4eccf794784405d6a72b088a5f0a4a1cf7","tarball":"https://registry.npmjs.org/odata-sequelize/-/odata-sequelize-1.0.2.tgz","fileCount":6,"integrity":"sha512-jMfMtDt1Q+pMPjXcjkGyIKd0ADHMM19z6L8eDaf8nXlzlYGTEOZDlEv4D6p8xOzAFdkPxA1Iwp5sN3JXTriu1w==","signatures":[{"sig":"MEQCIBMPnQHRy8IGf6pa7eQgVTeON8Py/s8ngD8KxqCh4LCEAiAfIATi8tunTB/W/bT3jkJ8z8hM22XEHjlTqzXrkW6rYA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24338,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa7oJICRA9TVsSAnZWagAA7kUP/iK3yc0PEvoPjiU2ueFT\nZgW9ssZySvb1PMTJYnmGP4AcVhR8m4vELvWZEjlqbsdohXp7ZgVontsCcXdC\nJ+2NvvF5S8i454nxcUApJEZ7+1CG/qGej7qYYAKwlyIm/1u4d/uWP2FSoEfN\nZvzI5h3MtZjZPm+dVzsCtJTAGccSZhMZiHXd4cNMN8G/jqi7DXQIhVT7bfB2\nTEkS6Infi3ZM2xIt3vVKUNJCpuuDP0d8Vnv0ufzdRAgN0YK8li9w9E0dQ2tq\nzUjf7OQD1XdYC4GgnWAkfUb6kILVPZs/EQRMGQ5RCu7REpXQhERtG3VU0Be9\nQyGZx4IR7nluxUN3FttiuFCUmf9CyOr+cM+9ujMIByfc6ObWeYhwvvM2USiQ\nh4bMw+wlIEol9tnN63N34Bv1Tv3nv0MZ2qRv6MQUquluGP4jGoEfg/v0Voj+\np+lJmj+z0K+J6pQaxtRXQeS992A/XZd/yFyab3rf+2bE4+3ID+PhE6c8Y/AX\nKYrkJYdBiCoGtN0JavwmB9qu5ZsVUDx/6cfJJA8MHuuXRhICre1h6B9pZdNp\nViDrVOPuHvE1BwCJXVDS0ywyakRHrahQWlmavn9HCpyIr1Mc4kJ6dLXOKo6u\nq8D/ztrobjqiE9um+Si/K5BvSTquOyssP+663n9hUX0FUPC8r9J9hu6JIBo5\n0Gqp\r\n=2aqo\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","_from":".","_shasum":"9eafdc4eccf794784405d6a72b088a5f0a4a1cf7","gitHead":"f1c72ec142d96144704f03a975a40d626f5e3c78","scripts":{"test":"mocha --reporter spec"},"_npmUser":{"name":"victornovais","email":"vicnovais@gmail.com"},"_npmVersion":"4.2.0","description":"OData parser for Sequelize.JS","directories":{},"_nodeVersion":"7.9.0","_hasShrinkwrap":false,"devDependencies":{"chai":"^4.1.2","mocha":"^5.1.1","odata-parser":"^1.4.1"},"_npmOperationalInternal":{"tmp":"tmp/odata-sequelize_1.0.2_1525580358999_0.5762970426553049","host":"s3://npm-registry-packages"}},"1.0.3":{"name":"odata-sequelize","version":"1.0.3","keywords":["odata","sequelize","sequelizejs"],"author":{"name":"Victor Novais","email":"vicnovais@gmail.com"},"license":"MIT","_id":"odata-sequelize@1.0.3","maintainers":[{"name":"victornovais","email":"vicnovais@gmail.com"}],"homepage":"https://github.com/Vicnovais/odata-sequelize#readme","bugs":{"url":"https://github.com/Vicnovais/odata-sequelize/issues"},"dist":{"shasum":"834aa2fd218efbcd06f56c665a1a62a9961b7bbb","tarball":"https://registry.npmjs.org/odata-sequelize/-/odata-sequelize-1.0.3.tgz","fileCount":6,"integrity":"sha512-isYNKgh0P9LSNjE+HM9FUrNoL8nljvm/scaiCzrLWtJ5FROF2xb6Q0wyiR3rS8qoQ3T1PYKcRPP2cMMtqgEDWA==","signatures":[{"sig":"MEUCIH3/bD1TSVQ1RHjeM2KN2yI7Zo+uxaNr9Gq2N7DF0jT6AiEA7EGU2PiT1Y44fTtICrA70STWHYKjLty6dgx0VYofMEI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24438,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa7oLaCRA9TVsSAnZWagAA1xkQAICZvb7+RNPs+hli5GMw\n4ftfPlR5exQ/4lgwXWlJbQ+tsPCnzxw/bG7NITh+XPqBl7Oq5wwdEbfX3dma\nFfPax/9Mz4mKxc+cPewqwWT8LZrjWeaGKRD7UDVie5QrgOwKz9uhhu3TMCBd\nLa2qaUZcvMQIm37Q7U1UgLDg046Vy4iwFmK5mRYyVVPRkrI0U9J8FieP5eRB\nCIkbnNSGLzleadp6E3EVE4yuzKeg2xo65UZtNrUQYVeRV1c6/XS95FqF+SdN\niWNWuzNt50di44j7Hip9QovKH2UqhMzt1A7vmT8WflNmDs7kIqcVvWcnwnkG\nB90Fet7NbcjCXzvVgbVZ+6PzDKGRBldNir6LNelrDI975Pk6pt3v1mWJQaNj\ncMmQEUwH2BEmTn/G7jpQNEJJnXnbBVeSvUSEKxF5wiCyTEZ7YKoqCYfDq42p\nghEamdbbMYHhd8AGRAZZTjONWtgslG8lAEPPjSWQ3qdijU4q7F53Tipz6SRu\na/i7RMia9jX5cuShhsfO9LkQVYO/B1bWQcY3hxZHS4CiBrFEJTO3QjjA1DJe\nVk5CBm4OyUjOP6kg0LP3IUbKEMx97ESBPv1szuu9SyfIGCAXnkdMJfLFlRcG\nrcHAXinmT4oZho0fa31wpz9eG1EHhApLClzzDvHR7uN29C63eMGgCBv8ZE7/\nVmGM\r\n=O+D+\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","_from":".","_shasum":"834aa2fd218efbcd06f56c665a1a62a9961b7bbb","gitHead":"7ef6b40b7744fb67220d0c3db421b9776ff0e6db","scripts":{"test":"mocha --reporter spec"},"_npmUser":{"name":"victornovais","email":"vicnovais@gmail.com"},"repository":{"url":"git+https://github.com/Vicnovais/odata-sequelize.git","type":"git"},"_npmVersion":"4.2.0","description":"OData parser for Sequelize.JS","directories":{},"_nodeVersion":"7.9.0","_hasShrinkwrap":false,"devDependencies":{"chai":"^4.1.2","mocha":"^5.1.1","odata-parser":"^1.4.1"},"_npmOperationalInternal":{"tmp":"tmp/odata-sequelize_1.0.3_1525580505192_0.21700292527435616","host":"s3://npm-registry-packages"}},"1.0.4":{"name":"odata-sequelize","version":"1.0.4","keywords":["odata","sequelize","sequelizejs"],"author":{"name":"Victor Novais","email":"vicnovais@gmail.com"},"license":"MIT","_id":"odata-sequelize@1.0.4","maintainers":[{"name":"victornovais","email":"vicnovais@gmail.com"}],"homepage":"https://github.com/Vicnovais/odata-sequelize#readme","bugs":{"url":"https://github.com/Vicnovais/odata-sequelize/issues"},"dist":{"shasum":"39b933a2297899b2c19bd9e4f53ca19351697ccb","tarball":"https://registry.npmjs.org/odata-sequelize/-/odata-sequelize-1.0.4.tgz","fileCount":8,"integrity":"sha512-m3rTcwUvaR3mzNLNorQcMVeetXpAznuRBL8zQiQEHlGlKBhsk97Z5DjDhapZox6bTIUmGNsCHGfjWGy6kmRaoQ==","signatures":[{"sig":"MEYCIQCdbR3LpZgrfNlFbhnow1XPId5QrT2zJBr4gXbSLi4BEwIhAJrT+pv7I/4/mPbcq99DY6oHol9qO3COjQEcdimouY0s","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25532,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa9O7ZCRA9TVsSAnZWagAA3f4QAJ5d+GlIloQwMMcazKuf\nB3vHRF0CPUCLaMGJz0D2e3BUxu9VpkqiB0FnqAe3hl7BwHYuLXHitXZ5HeHA\nbHWsqreZ0FvfkFJLZcA0THzhmcuCYpqaKey09ZDwWxOBZIrMZAfV796yQSKg\npwxNWV/+erbjl/E0tslO95RvdNXIIaee+54WW0UNWzowFwfNJbMhCi2shBcB\nb/OriaYCrIVe47NYHYKOK1oj86LacLKnIKcuLSGuGHVFVn9O07w58fXU7Xeu\nFQHa0G2WySItnFX4pnbkXBEuwrN8v+3Zdnlxss0N2a0gTIfZ7rKuQwlsBd7b\nbmW1R7t+vdjDsmdC/umaSuVKtlWqIi1a2/pwUIbN9XKmp+g0qpES+sXMSTIv\nGDPsNLVMAOy4L6ymXf6h/dHCTe5zS8+TNvYRgkRqMuhLnF/f5k35FTc0yJqv\naiPP8RuNtTnvWFYQuw89UGeP2M3F7D/Up4BcupUd8MNp4jkbrrqfU/8lvlCD\nn32qKokCSVtOsSJiExVEYokisSHQ6JMfcipHesQkWaeltMFdjEUt6RCxf3iP\ndT8HEA1pReUi9srNXxD7g1AEtkk+p4NtYC2R6jt9H4B0dF1mvPu6mZWyuPzy\nuGiqcNAsDE5vWKgVZ+ygJT2L7zW+iWPIrt5ZcmegJkClb/cmag9Hi2eeKJTv\nkLfS\r\n=OemM\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","_from":".","_shasum":"39b933a2297899b2c19bd9e4f53ca19351697ccb","gitHead":"7a75306959b8cb63b8fe4bcc7827ee169df8108b","scripts":{"test":"mocha --reporter spec"},"_npmUser":{"name":"victornovais","email":"vicnovais@gmail.com"},"repository":{"url":"git+https://github.com/Vicnovais/odata-sequelize.git","type":"git"},"_npmVersion":"4.2.0","description":"OData parser for Sequelize.JS","directories":{},"_nodeVersion":"7.9.0","_hasShrinkwrap":false,"devDependencies":{"chai":"^4.1.2","mocha":"^5.1.1","odata-parser":"^1.4.1"},"_npmOperationalInternal":{"tmp":"tmp/odata-sequelize_1.0.4_1526001367645_0.8443729805766031","host":"s3://npm-registry-packages"}},"1.0.6":{"name":"odata-sequelize","version":"1.0.6","keywords":["odata","sequelize","sequelizejs"],"author":{"name":"Victor Novais","email":"vicnovais@gmail.com"},"license":"MIT","_id":"odata-sequelize@1.0.6","maintainers":[{"name":"victornovais","email":"vicnovais@gmail.com"}],"homepage":"https://github.com/Vicnovais/odata-sequelize#readme","bugs":{"url":"https://github.com/Vicnovais/odata-sequelize/issues"},"dist":{"shasum":"879581355510dbf1096b03a1d487cec761a4377e","tarball":"https://registry.npmjs.org/odata-sequelize/-/odata-sequelize-1.0.6.tgz","fileCount":8,"integrity":"sha512-erS2bP6bnrmV6ZBoyt7PzMWuZ3uU+TH7S2xzAEhz+i7YdreRcQ/AzEiHjlT+IDarEaFrg+qcYBmeeQWVn3n3yw==","signatures":[{"sig":"MEYCIQCRDmYGhpkAXtELkQCLRpFwETqv7HdaYHrTkVMAfqbEowIhAMgug7q9Na4n7qH6l7mctI5WXanxKnIgsO0P3mJCLncQ","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25102,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbvowBCRA9TVsSAnZWagAAw68P/1crVEU2GmTRJVP6E5lG\nXWbbiI79+pO34POZA/PkvbV5crNz8FOY/SwsOJA57j55flsbR7d4OwA0lxcl\nL8f+5AEGQu4NGAvyTBrNCLgL4M3OTEDr/sRW1c2wRN18dI6/qVkS0qaIeUgO\nAkTvTXI4Tvwcba/is6M3kRxsjI0pyUkMp8z1YpBH2wZHwHjda2SSaULyu4/g\n3KK/k0jhnLOQjgBZpzR0Ti8X69FZEfxte6fR3AH5WukzMSVcjK+OQBpmJv2r\nPpnZ3dBqO2T03L6g8gD71ULnz4vczP8gnvSRFdXi2MgIuBO4VPL2rCQZtXq2\nQnC8QhrNd2+m2Rfgzl99W72x+vZGzNcO0q3kq5ba9IrNS58mEp8n+PhHM2vl\nt+o7WaK66k4mzYKR0lHtIrKDdviS/dr3xoCg51dq5EjYjV4Me1hRssXMyGf4\nP5Rf0H8+KaRmYfDD17syPcUBouAhq+KlPy8GAnJG3wxtJ7i7uQ3H4KqvC7RA\nsEwL5pOmyz6BOnGlCCtZiieioNpgyrFBYR/+su1RUeNtM0HLBFW02ol/4KlE\nHsxizDtME7LVDQVbVUWqJ0BdhxrjnwdR9dqoponpKv4QBYybMxufPt+ha26X\nCpSut1n/TMLCxn2sv96qgPhRuXoV4srGL1RwXMnSkLCQO6oUitlhSWMN8tPg\nlmIH\r\n=nsqp\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","scripts":{"test":"mocha --reporter spec"},"_npmUser":{"name":"victornovais","email":"vicnovais@gmail.com"},"repository":{"url":"git+https://github.com/Vicnovais/odata-sequelize.git","type":"git"},"_npmVersion":"5.6.0","description":"OData parser for Sequelize.JS","directories":{},"_nodeVersion":"8.11.2","_hasShrinkwrap":false,"devDependencies":{"chai":"^4.1.2","mocha":"^5.1.1","odata-parser":"^1.4.1"},"_npmOperationalInternal":{"tmp":"tmp/odata-sequelize_1.0.6_1539214336755_0.6609536844698425","host":"s3://npm-registry-packages"}},"1.0.7":{"name":"odata-sequelize","version":"1.0.7","keywords":["odata","sequelize","sequelizejs"],"author":{"name":"Victor Novais","email":"vicnovais@gmail.com"},"license":"MIT","_id":"odata-sequelize@1.0.7","maintainers":[{"name":"victornovais","email":"vicnovais@gmail.com"}],"homepage":"https://github.com/Vicnovais/odata-sequelize#readme","bugs":{"url":"https://github.com/Vicnovais/odata-sequelize/issues"},"dist":{"shasum":"f69dfd1c2929c6a35ecfb02caa5261e0e02dbc3a","tarball":"https://registry.npmjs.org/odata-sequelize/-/odata-sequelize-1.0.7.tgz","fileCount":10,"integrity":"sha512-ikNiJbS/mEYej6GMjEbBnRPLboUqVSZo9IO6GNjLLOAcBQRfRosizLKaGchDfYLdFBRbBchi1+Q0iJzSx87/Fw==","signatures":[{"sig":"MEQCIGDF7Fin+B+s+rt/oAqbaPoh4jJ8VC4lWIXsnSgZRHB2AiBfumVAcoRaAsprrJVgL6CXMY0NlO3uZk2+pICyOKtBIw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":30286,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcUIODCRA9TVsSAnZWagAAJTYP+wX78rhGKtOTnMI6zBxF\n5Ys5b9CcHOs6PbNkg+p3RL/3KBWgUojbEmBDpR4oRDfCEUUbMbAef5wBqgCX\ngEZt/YTOWXcjVJpJU06YskTWiX/Vbz5KoZdTHTuAakdmHjpVirq9pijsYKzf\nirMi9GQ56FAQwsJhJgkSc8yWKT6m8ZuKRfLNAivKChQx6ZULc2DHH3LgXeej\nqE3GGvEmR0PZ0OMdDdJz2ZcekFfAhuuhqgITS/qUbTt4CmcJ+o3QMy4Fzl8X\nRhiYq6zLLXuHeLMI8JnN5x85yp8yX1JP2iAMjN2kz+rl88DgyEbiTv1zEUhg\njHGUzcOh78sDvEL4rX3fI4fnPxq+81ZKAfnAh4OT8ar6E9NzNSQ+pkNYdUtX\nhxf+jjCY9K/KFcpHboCSCX99mwk0dW/FlvBpIw7cxQFHihRs84bpRAoEnm1X\nGn49s+UiPeEUxPgWfqZkrsIwdvTyxFqDFp6oqDV5+1tJS6BzvsSClVPLtjHo\ncN37VC/Y0RY1URbLo/UmRWYPHy1JPm4N6MXwekZ0wcJoc2/JPy9ekFLA98jZ\nIQ8qs9iJMpHk3bybDYpCuP8xtKMAHcPsZMyEwf3jJTuCYV2rGdBvBxI/tnUr\nn0KlZwdF5SymYmrOuB4ao/5b3VaoT140/U8KS0k/qZsDP/lr8ZivUyAe02PB\nItCW\r\n=YEyQ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","gitHead":"1d0435557a0975a399a7139664342dcb2fe41d2b","scripts":{"test":"jest --coverage","start":"jest --watchAll --coverage","eslint":"eslint --max-warnings 0 .","prettier":"prettier --list-different '{**/,}*.{json,md,yml,yaml}'"},"_npmUser":{"name":"victornovais","email":"vicnovais@gmail.com"},"repository":{"url":"git+https://github.com/Vicnovais/odata-sequelize.git","type":"git"},"_npmVersion":"5.6.0","description":"OData parser for Sequelize.JS","directories":{},"_nodeVersion":"8.11.2","dependencies":{"odata-parser":"^1.4.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^23.6.0","eslint":"^5.11.1","sqlite3":"^4.0.4","prettier":"^1.15.3","sequelize":"^4.42.0","eslint-plugin-import":"^2.14.0","eslint-config-prettier":"^3.3.0","eslint-plugin-prettier":"^3.0.1","eslint-config-airbnb-base":"^13.1.0"},"_npmOperationalInternal":{"tmp":"tmp/odata-sequelize_1.0.7_1548780418452_0.4941890704511456","host":"s3://npm-registry-packages"}},"1.0.8":{"name":"odata-sequelize","version":"1.0.8","keywords":["odata","sequelize","sequelizejs"],"author":{"name":"Victor Novais","email":"vicnovais@gmail.com"},"license":"MIT","_id":"odata-sequelize@1.0.8","maintainers":[{"name":"victornovais","email":"vicnovais@gmail.com"}],"homepage":"https://github.com/Vicnovais/odata-sequelize#readme","bugs":{"url":"https://github.com/Vicnovais/odata-sequelize/issues"},"dist":{"shasum":"ba56f7ca6310c9147064ce7a0b208878b9c645e1","tarball":"https://registry.npmjs.org/odata-sequelize/-/odata-sequelize-1.0.8.tgz","fileCount":10,"integrity":"sha512-VeAnMkPBTgL2OsxDdBcf4tflo1boroNwte4+58qKcXjdQFeN8N4wSzT4qwlqTfJe8uKQlQbgUVXJ2pklOsLfTg==","signatures":[{"sig":"MEUCIAXjxwzanML+EOq7351s9BgAHD1La0eJ1jM/VYvtho2KAiEA+siz1kgSlCBMVG3Wicfy7YVrsKdNXzJPhzZ9GnAFph4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":32454,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJccbw4CRA9TVsSAnZWagAAlr4P+gMn42b4xKu0AExi3x1o\nwzhy/gIpiintb88bg52CuuYBdS+Owk5kGITQf8wQoElfcR9+vPCszHI1BMKT\nR5SJF4HSRVi/X3Osy/niOpmGlDQ0fIs8e4vJd2ezksKj/0ZsDu1vgNR+iZh2\nY/ZvSsd0CQkIWs2u0TU2CWvAwMURqveRVMMg+t/5gWLo7TccVUdULj4FEwDk\n9TPX7xawWYDyOaF1f2s+7V6TXbzogzLQvpHYcT5VlUT+Ibh6CfOuo9kJ52aY\njoxPyUaA2R58QbtiILhr1JrILphkzldDGKKFWIk3OTNbFFJYxXWZduA7vQ/a\nt+ea4YtQaALK2Yaz4BDcuITpOprZTsnSQScxHwC2Pam2crrMr3OQqie6TYPw\nus52d4MlEPiQq+soFSQp0hGT6JRTvhMxOngPdZ1LYzCQPWi+QLWlARBRuXQT\n5KGUctuNkChP21Lv6UifZ4kvVT4tUTAt7nDCr0XjsXD54zVFz9LcVIefKVAs\na/L7ATahuxY7tVQdCyrxybJ0UJD9gC3bMgXEE/RrYE6jn0QlGhEcYtwgtvlh\nodPf99dHC6Zlb/M4sU+3A19M38N26GrjEXOtIh1RqMgevAisiT1iaQhaZBAN\nqlZ/QHyj3GJFcfFyyxVvzOxom1Kbf7wdxfIxPsydXzoBgVh6BTI/7Oq637EH\nfo+h\r\n=MUC4\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","gitHead":"90322c1091d0e562663f36fdb0aef4b9ffc2e333","scripts":{"test":"jest --coverage","start":"jest --watchAll --coverage --verbose=false","eslint":"eslint --max-warnings 0 .","prettier":"prettier --list-different '{**/,}*.{json,md,yml,yaml}'"},"_npmUser":{"name":"victornovais","email":"vicnovais@gmail.com"},"repository":{"url":"git+https://github.com/Vicnovais/odata-sequelize.git","type":"git"},"_npmVersion":"5.6.0","description":"OData parser for Sequelize.JS","directories":{},"_nodeVersion":"8.11.2","dependencies":{"odata-parser":"^1.4.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^23.6.0","eslint":"^5.11.1","sqlite3":"^4.0.4","prettier":"^1.15.3","sequelize":"^4.42.0","eslint-plugin-import":"^2.14.0","eslint-config-prettier":"^3.3.0","eslint-plugin-prettier":"^3.0.1","eslint-config-airbnb-base":"^13.1.0"},"_npmOperationalInternal":{"tmp":"tmp/odata-sequelize_1.0.8_1550957623700_0.00806694964953869","host":"s3://npm-registry-packages"}},"1.0.9":{"name":"odata-sequelize","version":"1.0.9","keywords":["odata","sequelize","sequelizejs"],"author":{"name":"Victor Novais","email":"vicnovais@gmail.com"},"license":"MIT","_id":"odata-sequelize@1.0.9","maintainers":[{"name":"victornovais","email":"vicnovais@gmail.com"}],"homepage":"https://github.com/Vicnovais/odata-sequelize#readme","bugs":{"url":"https://github.com/Vicnovais/odata-sequelize/issues"},"dist":{"shasum":"8d907360880fdf4ac5f777361a35b9192bb61693","tarball":"https://registry.npmjs.org/odata-sequelize/-/odata-sequelize-1.0.9.tgz","fileCount":10,"integrity":"sha512-iV3OzwI0CSoytwj8Bx4xkwE4PNQtvPQHqePU33sBkMxhHF0KhE6I+WYeDAWwY1SaHQHbejYcNIp8Kx9Gias5mg==","signatures":[{"sig":"MEUCIQC+0cvJ5URkeLUb++vOgaeHIMCoR1g94+HTu5KrovGW3AIgD6hQEzTt+FdrQepnJHLAw3oH7bCo8XJ/dSnQ+W0qEQ8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":32566,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcccLQCRA9TVsSAnZWagAAVdAP/0VI2MakXiAOk0TGmPoH\nw2L3nzW+yvRsjFEnHnJg22dhHY7qidqz9+rkW5Ea8ws1y7DUME4pAKXMZTRe\n5Y5WiJBoNZBmtpGMyihF/iBH0kU7OvczhJ17tII+kuAXCc5pDkFUPVAfXn5d\n1tkvaX1Bbku95hXYx5txvIpPCo2n7gvJbGq18kT21sWN+da+M8+JjwYWKvD8\n1J2F8ZdXerhut+mk8CgMObGqygcly6+XIVW7X4UDA3Da8bDgLHgd9eCuRRK4\ncBHvc02rPmyv//MWevJcGRuFu+DzFSb2aEJiVwdL3EiBO5R1ti00KA51GE2e\nENH95G2hvyjQVohkvKq6eMIhCK6yhuqi34bmNa09ayTWUMEvz4dJ+9mpRBO4\ntypJtnXtnsD7qY8Dr44OoDpu3zPLmPcMVkku7yk6WERqBqgFPY+BNyfh2cgL\nix/Hl7J5lGZ6f0OjLR0RsX0H5uO08E7Ki4GrIveSFGPYIoEKitaX3m6VbNco\nt1cHuo8uFQabRIUPqXehmYyyzQ68RQc50taW8vXq76bGGQDvPaOd/sfydrxx\nJ9YW/P4cIBFq94rxOD6RZcusWMn4V5jW4x6xGn4BCdScOGALi5vetaKbXrTP\nfjQYiZcBlyiklbhhZL3TyOFwXRMIQoo6Wwqg0zzieL/G5F1chgAzSPDunoJj\nUtdA\r\n=z+cn\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","gitHead":"f3ed8b9d995fc38706eb79b209860769c8ba0b6a","scripts":{"test":"jest --coverage","start":"jest --watchAll --coverage --verbose=false","eslint":"eslint --max-warnings 0 .","prettier":"prettier --list-different '{**/,}*.{json,md,yml,yaml}'"},"_npmUser":{"name":"victornovais","email":"vicnovais@gmail.com"},"repository":{"url":"git+https://github.com/Vicnovais/odata-sequelize.git","type":"git"},"_npmVersion":"5.6.0","description":"OData parser for Sequelize.JS","directories":{},"_nodeVersion":"8.11.2","dependencies":{"odata-parser":"^1.4.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^23.6.0","eslint":"^5.11.1","sqlite3":"^4.0.4","prettier":"^1.15.3","sequelize":"^4.42.0","eslint-plugin-import":"^2.14.0","eslint-config-prettier":"^3.3.0","eslint-plugin-prettier":"^3.0.1","eslint-config-airbnb-base":"^13.1.0"},"_npmOperationalInternal":{"tmp":"tmp/odata-sequelize_1.0.9_1550959311941_0.6162974009384694","host":"s3://npm-registry-packages"}},"1.0.10":{"name":"odata-sequelize","version":"1.0.10","keywords":["odata","sequelize","sequelizejs"],"author":{"name":"Victor Novais","email":"vicnovais@gmail.com"},"license":"MIT","_id":"odata-sequelize@1.0.10","maintainers":[{"name":"victornovais","email":"vicnovais@gmail.com"}],"homepage":"https://github.com/Vicnovais/odata-sequelize#readme","bugs":{"url":"https://github.com/Vicnovais/odata-sequelize/issues"},"dist":{"shasum":"1e5a784b3f321f7004404b972387fa34a46c052a","tarball":"https://registry.npmjs.org/odata-sequelize/-/odata-sequelize-1.0.10.tgz","fileCount":10,"integrity":"sha512-89pxyHnubqKkfHpJ6gG0Cb28A5vkXT+X4FLmLbA9Op6CTDITl6ymRE7WUJXlTduayUodxrt5nceg6mQ/4hDaEQ==","signatures":[{"sig":"MEUCIHMXBG1jNkDis/C67Y+lnvz15/eS29vadwo+S44MfYRlAiEAhaZu7no1UfsDmPng0ydoa6HL3Sy4BMdYLsMddqNVgUQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":33085,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcsQeSCRA9TVsSAnZWagAAu4gP/iqeQfra6PobKNNX+uxR\nFyAaNgGbtupOUTY6eVONxIYL2Cwd1XP8UlGQW19VtMXScLEsVM/muXa4UsiW\nGdZkgoi/5L+gQMywuzTEbRXKYnfgV9SFeWvLOJY0pOTRBE5Glud5/0MV/Q9y\nvX93e1P8Al2B5YYs/x3I8sppT45eFu5q5aMJnaM+FgFIkq9HBKK8++diJTDL\nHAzIzImhUnhxxq6GRE3aOwodrNYjb1fcbNyhyNegrSpkirhNjeUk3rV0MGkt\nX9Xh84ZaEYJGFlEJCIjn/fqDFgri1qMkvi7OQacF8dZ0P7x0sY2SDke8GFXF\nG0fPskOl+u59WDNp//uvPIWQ0zzWzi7u2oVndb9rNFYyXDpjfWMwiSN9avN6\ng8BqjBCK3iHt3e44hIipzMiya0luiIvZ4r9lgiWp0HQniaKLpiZ4Z2gRJbt6\n+zklzRvkXuB38e4xMsZynRKnglNJ8YxFXnIFbtGFW1V8ib//dMZr9p7PkDs5\nJpMSylDy1U39ulo1cktjVoU9AxKQMjJL6GGDzQ7gIa/WhQcUNK0mrOUUnIB0\nULhCuqU7oYTQpd7dIE6CcY06+OserH75ofBhP/2vq7wXswqVU4drPG0pMtaK\n8PsA/TlDu0k9K7glHabws2Iv63dBgKjWh1OPE7fYDh3RY0JyYEXSg3+5s31v\nsw6L\r\n=j9Ce\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","gitHead":"10baf1b437243d504a0472d2a6244cad9900f9f3","scripts":{"test":"jest --coverage","start":"jest --watchAll --coverage --verbose=false","eslint":"eslint --max-warnings 0 .","prettier":"prettier --list-different '{**/,}*.{json,md,yml,yaml}'"},"_npmUser":{"name":"victornovais","email":"vicnovais@gmail.com"},"repository":{"url":"git+https://github.com/Vicnovais/odata-sequelize.git","type":"git"},"_npmVersion":"5.6.0","description":"OData parser for Sequelize.JS","directories":{},"_nodeVersion":"8.11.2","dependencies":{"odata-parser":"^1.4.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^24.7.1","eslint":"^5.16.0","sqlite3":"^4.0.6","prettier":"^1.16.4","sequelize":"^5.3.1","eslint-plugin-import":"^2.16.0","eslint-config-prettier":"^4.1.0","eslint-plugin-prettier":"^3.0.1","eslint-config-airbnb-base":"^13.1.0"},"_npmOperationalInternal":{"tmp":"tmp/odata-sequelize_1.0.10_1555105682186_0.7953336966562059","host":"s3://npm-registry-packages"}},"1.0.11":{"name":"odata-sequelize","version":"1.0.11","keywords":["odata","sequelize","sequelizejs"],"author":{"name":"Victor Novais","email":"vicnovais@gmail.com"},"license":"MIT","_id":"odata-sequelize@1.0.11","maintainers":[{"name":"victornovais","email":"vicnovais@gmail.com"}],"homepage":"https://github.com/Vicnovais/odata-sequelize#readme","bugs":{"url":"https://github.com/Vicnovais/odata-sequelize/issues"},"dist":{"shasum":"ca84f6227592d15a8932387668bd2195348da953","tarball":"https://registry.npmjs.org/odata-sequelize/-/odata-sequelize-1.0.11.tgz","fileCount":10,"integrity":"sha512-UvOPBrAtmxWX9mKRQ70UI3MXPzwAWpnYLOI6+LQat4JnaePzuouwEURO+ZiJ13cK0TkS+mGxaFsTcd0c579qNg==","signatures":[{"sig":"MEYCIQCCJM9EuLWK3rDAyMmQhrQERlitKXncbKAWWm82SNrbbgIhAKFuAOvlcL+h4JTZwmFSeXDQRKiNu9cc7ESaSdjH5laM","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":37041,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcu9/cCRA9TVsSAnZWagAA9SwP/2T7A07A0pSj0EmxT1hh\ntnnLS6LxQV+JnD8OuqqaZQ+cerCutBXomdkjFUwsktjWym57acDL6eVT3dM3\njr2fO49EwreURz1apxX4sX6c3ShXdq+CpM/mCVUKnvF4xcMCWVKoFr30UvX1\nLluTR12Du1AISNvMVqZ8GmdVToyiwuS5K59Xd9jZVq6asZzwr1OIch1V/kV4\n7gf9CuYq8LHJh8Gu4xTvYtTmW2z6Oy0vfH32kB9DBTJ7AO/31B35esySmwzK\n469Gg79tXoRFC4nXwC+CY6KJg5PZ8xsKI1plDujJvW8X47/cCWyEQDoGkMp7\n7hbbKRLc9kw2Rqll/xrXY0G4b65BdlfamUzx4F1sIyAuSxYDjaXk2dr0VRKB\nOMooTsopDGe2ZS5MhE5x22ge3QH94wfvdA5z5ge+3o31UTDQW2pqXqwq3cnK\nUzodgBAZuOSd815hEwKfcOSwwtu5PKFwhQu6jebknGUTKG8N3AvY97J83z1y\nkSOiiU+6PvJo8oj9/17YKM0EW8YySj0BCaZ0qpRkN0u3NRlV0nfa4lMOOzxH\nWDFXm6KSBPJpWyCRTdXucIoHJPnihtenmU+mpH8iSsMinXSv3RWn2qcH16KD\nebGdlJbQGilJSCn/PYn6yOiyiGPVg5x0gD5LXWvyOhumu3XdNFge3KzpkVrd\nloJo\r\n=1r7M\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","gitHead":"1b3a522d87d582dcdfbd67d7b521bc3c12d92727","scripts":{"test":"jest --coverage","start":"jest --watchAll --coverage --verbose=false","eslint":"eslint --max-warnings 0 .","prettier":"prettier --list-different '{**/,}*.{json,md,yml,yaml}'"},"_npmUser":{"name":"victornovais","email":"vicnovais@gmail.com"},"repository":{"url":"git+https://github.com/Vicnovais/odata-sequelize.git","type":"git"},"_npmVersion":"5.6.0","description":"OData parser for Sequelize.JS","directories":{},"_nodeVersion":"8.11.2","dependencies":{"odata-parser":"^1.4.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^24.7.1","eslint":"^5.16.0","sqlite3":"^4.0.6","prettier":"^1.16.4","sequelize":"^5.3.1","eslint-plugin-import":"^2.16.0","eslint-config-prettier":"^4.1.0","eslint-plugin-prettier":"^3.0.1","eslint-config-airbnb-base":"^13.1.0"},"_npmOperationalInternal":{"tmp":"tmp/odata-sequelize_1.0.11_1555816411685_0.25269629537878435","host":"s3://npm-registry-packages"}},"1.0.21":{"name":"odata-sequelize","version":"1.0.21","keywords":["odata","sequelize","sequelizejs"],"author":{"name":"Victor Novais","email":"vicnovais@gmail.com"},"license":"MIT","_id":"odata-sequelize@1.0.21","maintainers":[{"name":"victornovais","email":"vicnovais@gmail.com"}],"homepage":"https://github.com/Vicnovais/odata-sequelize#readme","bugs":{"url":"https://github.com/Vicnovais/odata-sequelize/issues"},"dist":{"shasum":"c98026431e6eb8dab8c00e06a629df72c792a014","tarball":"https://registry.npmjs.org/odata-sequelize/-/odata-sequelize-1.0.21.tgz","fileCount":12,"integrity":"sha512-alNikvqYht61DN3D/MwcLjVFeuq1GMdsIF44B4u9oDU/nck1zMcI3ba8T4wRtUViqU1PH2roeFucfRhexTueJQ==","signatures":[{"sig":"MEQCIC+zH8WKnZeeY5f3IqbdQNdmSk40j5AaCSmSGa027CkhAiBvnedOQ4L18BvriC/gRQfjzlaxSHTOXbA3PKZVEMRN+w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":43661,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJevMUPCRA9TVsSAnZWagAASDEQAJwfq/np31Htg2hxu0xZ\n2wNWZ7SAjKthHVfGR8QLO91ZVJy+G1ygrch8iOHm3uwft0MfPrOxQVwt0Wdi\nzVdXDz19ladwEsuMaknuzmU4ADmiO6rwSs2kIfY6bd76POuZOSoapwJwProl\nzzNCk26/pH0GTrPdGzdBze0ErvzQXXd+ac6U7glTBmvJl7bbBAxD44q8fBsO\nKYLYBpT8D2oTT+OftBiMj25f5wIzCNlTyBJExg2aCsWHRGUp4JIVUKgoSVIN\njBPu62Oc+0Vc+PCJ5RbIkVF4653M0+g8fPqoQ/L2ucDCc2bao+JI7uFdT+ey\nYpX935C+nORDDokezgatbtlTtM2w+bp4H+3pAvpkiClMAkYPLpmGWI/5MLH9\n7IZsDmk/zqeeIVtJV6VJkGAxTnP2/63MyKy8DUv1MXn8isIH38lgQ8eKjJDo\nM6RfQwOrn+tGHDAu56kn6l0CtMQdLOMIVb5aLuSRcxyLXcmePI2O9OOSOEll\nf0nUl91e4snqNSH+CbAJrbZMH3L52X6alvFpnfuvxETyK2ycOVh6MV0tDkf8\nTBAeQK4GcWnDuaxO9yIqIG59sJJ/RFQI33hDEESky5MuATFF7ZeHN4scXXrN\nc40JbnVVGrjqGUTvsZqTx8I3NK6tJfF821YEYuz7HTra7Gs27aB/yTnGrHck\nMKZR\r\n=/Fu6\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","gitHead":"11ea5e8b7fc2db35f616c36e5bb46aca9975e05b","scripts":{"test":"jest --coverage","start":"jest --watchAll --coverage --verbose=false","eslint":"eslint --max-warnings 0 .","prettier":"prettier --list-different '{**/,}*.{json,md,yml,yaml}'"},"_npmUser":{"name":"victornovais","email":"vicnovais@gmail.com"},"repository":{"url":"git+https://github.com/Vicnovais/odata-sequelize.git","type":"git"},"_npmVersion":"6.9.0","description":"OData parser for Sequelize.JS","directories":{},"_nodeVersion":"10.15.3","dependencies":{"odata-parser":"^1.4.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^24.7.1","eslint":"^5.16.0","sqlite3":"^4.0.6","prettier":"^1.16.4","sequelize":"^5.19.1","eslint-plugin-import":"^2.16.0","eslint-config-prettier":"^4.1.0","eslint-plugin-prettier":"^3.0.1","eslint-config-airbnb-base":"^13.1.0"},"_npmOperationalInternal":{"tmp":"tmp/odata-sequelize_1.0.21_1589429519056_0.4430517777515117","host":"s3://npm-registry-packages"}},"1.0.22":{"name":"odata-sequelize","version":"1.0.22","keywords":["odata","sequelize","sequelizejs"],"author":{"name":"Victor Novais","email":"vicnovais@gmail.com"},"license":"MIT","_id":"odata-sequelize@1.0.22","maintainers":[{"name":"victornovais","email":"vicnovais@gmail.com"}],"homepage":"https://github.com/Vicnovais/odata-sequelize#readme","bugs":{"url":"https://github.com/Vicnovais/odata-sequelize/issues"},"dist":{"shasum":"64d179e719015e8d0738e432e54c82d024173dd3","tarball":"https://registry.npmjs.org/odata-sequelize/-/odata-sequelize-1.0.22.tgz","fileCount":11,"integrity":"sha512-+phhJHzImj0+xz8tBVTInW31Bp+9syFUfmXXxvlmRB4BIDMBtib+tBQwKIQ/xxYr1XNmtEPnAFyZ8agad85vGg==","signatures":[{"sig":"MEUCIQCKwe4dkqbzIs5S9Ac3zC2j+7GP2tLQeRbGTK+uKTs0NgIgDKUo9V5y7ZprV1RV1OuKL1OcRvzBBMB+8sYw/SmQDnk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":38519,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiRlwGACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoD3w//SVTpWa9zwpoeJUmT2rMpCFTAp6IrcljbRsb9wy/FP2sVzXz0\r\nLy7RM9TqUWgNFSShKVznobg1sxhZ4jeczAT6N61h/abww/bul+vmTsYV1PYS\r\nbSjdU3thJn9pYsmzXcsV47ennP6mOz0Q97NuqdmOQunw1VQSfnyAPUhwiKJU\r\noqa7kl42YdN8SpAOFq6AsAg3FOZqcC1QcY6lQeq/7NVLISHH5Qon/GksDytQ\r\nTTd8n4aER+F2lom2U0gSAHhe9UL2Xrgv+KtWr9u71cBGeOmkWGDpvtChsYxX\r\nWmDHQiDFuNTbjtPzmEJiau0YpQMfV7e/PIBrSX5TnUuxVyoM3qiMfOZHlMc0\r\nHaOg/Tcp3eUfKt3LKb4auDKdSEpDOMmGR0elwM+oYzXEuPDVYcuIEjCd4Hxz\r\nkmBNTHz1/vHMonc+t5b4rzRoiNkbsn2fV0ACVGb7prA8nT8VVP4GB+uYoidr\r\nuG56CN63Mw/JmJMuaTFF+TBBRKKF7FlN2Mnxn4jgcJ9fGnLW5h0mdL8Fek3q\r\nMksJHg4YkCrep8JiyCSziitSUVry3h7jPyPd0wXvpN3FLdDWeAWDqS2aRN0Q\r\n/iLXv1trMeA+zx90+cRLOXB/zKQ3kWDpPn+7qM4XoOa+o8BzyAO15oNle3BU\r\ng5dFF+6RUs+esriHOaqNdFNQyEWekGULfK4=\r\n=bLHQ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","types":"./index.d.ts","gitHead":"9cdfc43efc59dc450b89a67226cb4672ef22a51c","scripts":{"test":"jest --coverage","start":"jest --watchAll --coverage --verbose=false","eslint":"eslint --max-warnings 0 .","prettier":"prettier --list-different '{**/,}*.{json,md,yml,yaml}'"},"_npmUser":{"name":"victornovais","email":"vicnovais@gmail.com"},"repository":{"url":"git+https://github.com/Vicnovais/odata-sequelize.git","type":"git"},"_npmVersion":"8.3.1","description":"OData parser for Sequelize.JS","directories":{},"_nodeVersion":"16.14.0","dependencies":{"odata-parser":"^1.4.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.5.1","eslint":"^5.16.0","sqlite3":"^4.0.6","prettier":"^1.16.4","sequelize":"^5.19.1","eslint-plugin-import":"^2.16.0","eslint-config-prettier":"^4.1.0","eslint-plugin-prettier":"^3.0.1","eslint-config-airbnb-base":"^13.1.0"},"_npmOperationalInternal":{"tmp":"tmp/odata-sequelize_1.0.22_1648778245860_0.9615792524413986","host":"s3://npm-registry-packages"}},"1.0.23":{"name":"odata-sequelize","version":"1.0.23","keywords":["odata","sequelize","sequelizejs"],"author":{"name":"Victor Novais","email":"vicnovais@gmail.com"},"license":"MIT","_id":"odata-sequelize@1.0.23","maintainers":[{"name":"victornovais","email":"vicnovais@gmail.com"}],"homepage":"https://github.com/Vicnovais/odata-sequelize#readme","bugs":{"url":"https://github.com/Vicnovais/odata-sequelize/issues"},"dist":{"shasum":"da6bdfe33087ee2621f691d68d0f64c70aa2dc0f","tarball":"https://registry.npmjs.org/odata-sequelize/-/odata-sequelize-1.0.23.tgz","fileCount":11,"integrity":"sha512-eo1glVbschhg/+cB8OFk7XToz3hnwaXxp2AMy/e5nsAOio9aEJgrTzFCOCI7lUGM9+OZuQyMO6TLLEFWN/Gc/A==","signatures":[{"sig":"MEUCIQChm1izdrY/B180QKgH5QkgbdzfDG2CqAFcYtwfMeOZagIgP5tlEwP4J7UrdCx0f7H0kKCJ29te0Gxc+ZTzAxyLfcw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":38887},"main":"index.js","types":"./index.d.ts","gitHead":"1352b5ce53c5c7175c79915290dfd211fc7bbd8f","scripts":{"test":"jest --coverage","start":"jest --watchAll --coverage --verbose=false","eslint":"eslint --max-warnings 0 .","prettier":"prettier --list-different '{**/,}*.{json,md,yml,yaml}'"},"_npmUser":{"name":"victornovais","email":"vicnovais@gmail.com"},"repository":{"url":"git+https://github.com/Vicnovais/odata-sequelize.git","type":"git"},"_npmVersion":"10.2.4","description":"OData parser for Sequelize.JS","directories":{},"_nodeVersion":"20.11.1","dependencies":{"odata-parser":"^1.4.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.5.1","eslint":"^5.16.0","prettier":"^1.16.4","sequelize":"^6.37.3","eslint-plugin-import":"^2.16.0","eslint-config-prettier":"^4.1.0","eslint-plugin-prettier":"^3.0.1","eslint-config-airbnb-base":"^13.1.0"},"_npmOperationalInternal":{"tmp":"tmp/odata-sequelize_1.0.23_1713751480104_0.6164298456074828","host":"s3://npm-registry-packages"}},"2.0.0":{"name":"odata-sequelize","version":"2.0.0","description":"Advanced OData v4 parser for Sequelize.JS with support for $expand, lambda expressions, navigation properties, and complex filters","main":"index.js","types":"index.d.ts","scripts":{"eslint":"eslint --max-warnings 0 .","prettier":"prettier --list-different '{**/,}*.{json,md,yml,yaml}'","start":"jest --watchAll --coverage --verbose=false","test":"jest --coverage"},"keywords":["odata","odata-v4","sequelize","sequelizejs","orm","parser","query","filter","expand","lambda","navigation","sql","database"],"author":{"name":"Victor Novais","email":"vicnovais@gmail.com"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/Vicnovais/odata-sequelize.git"},"bugs":{"url":"https://github.com/Vicnovais/odata-sequelize/issues"},"homepage":"https://github.com/Vicnovais/odata-sequelize#readme","engines":{"node":">=14.0.0"},"devDependencies":{"eslint":"^5.16.0","eslint-config-airbnb-base":"^13.1.0","eslint-config-prettier":"^4.1.0","eslint-plugin-import":"^2.16.0","eslint-plugin-prettier":"^3.0.1","jest":"^27.5.1","pegjs":"^0.10.0","prettier":"^1.16.4","sequelize":"^6.37.7","sqlite3":"^5.1.7"},"_id":"odata-sequelize@2.0.0","gitHead":"1352b5ce53c5c7175c79915290dfd211fc7bbd8f","_nodeVersion":"20.19.2","_npmVersion":"10.8.2","dist":{"integrity":"sha512-CRqfjcoZlcWUA6o1O9q7pqJAc165CR+pG4Hp6Y6B+O2LMkqMkQA3xz6EhT1NaqUgVxX9aS2jJ1eaBnbV98WY/A==","shasum":"da1500c255b731d9afdc43580ed6526cee70da0d","tarball":"https://registry.npmjs.org/odata-sequelize/-/odata-sequelize-2.0.0.tgz","fileCount":6,"unpackedSize":115027,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIBcHnC27aFyZpI7BvYoKTxGMnt4zixwXY9jqgZ5tp9+OAiEA1kdvb8XLCLG58NvNq5xznQ79JYt1rE/Qyasf1YUQ5aA="}]},"_npmUser":{"name":"victornovais","email":"vicnovais@gmail.com"},"directories":{},"maintainers":[{"name":"victornovais","email":"vicnovais@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/odata-sequelize_2.0.0_1754702986142_0.09774581377995717"},"_hasShrinkwrap":false}},"time":{"created":"2018-05-06T04:08:51.100Z","modified":"2025-08-09T01:29:46.634Z","1.0.0":"2018-05-06T04:08:51.173Z","1.0.1":"2018-05-06T04:14:44.569Z","1.0.2":"2018-05-06T04:19:19.107Z","1.0.3":"2018-05-06T04:21:45.356Z","1.0.4":"2018-05-11T01:16:07.752Z","1.0.6":"2018-10-10T23:32:16.888Z","1.0.7":"2019-01-29T16:46:58.589Z","1.0.8":"2019-02-23T21:33:43.890Z","1.0.9":"2019-02-23T22:01:52.117Z","1.0.10":"2019-04-12T21:48:02.320Z","1.0.11":"2019-04-21T03:13:31.878Z","1.0.21":"2020-05-14T04:11:59.242Z","1.0.22":"2022-04-01T01:57:26.021Z","1.0.23":"2024-04-22T02:04:40.245Z","2.0.0":"2025-08-09T01:29:46.414Z"},"bugs":{"url":"https://github.com/Vicnovais/odata-sequelize/issues"},"author":{"name":"Victor Novais","email":"vicnovais@gmail.com"},"license":"MIT","homepage":"https://github.com/Vicnovais/odata-sequelize#readme","keywords":["odata","odata-v4","sequelize","sequelizejs","orm","parser","query","filter","expand","lambda","navigation","sql","database"],"repository":{"type":"git","url":"git+https://github.com/Vicnovais/odata-sequelize.git"},"description":"Advanced OData v4 parser for Sequelize.JS with support for $expand, lambda expressions, navigation properties, and complex filters","maintainers":[{"name":"victornovais","email":"vicnovais@gmail.com"}],"readme":"# odata-sequelize\n\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n![npm](https://img.shields.io/npm/v/odata-sequelize)\n[![Build Status](https://travis-ci.org/Vicnovais/odata-sequelize.svg?branch=master)](https://travis-ci.org/Vicnovais/odata-sequelize)\n![npm](https://img.shields.io/npm/dw/odata-sequelize)\n\n[![NPM](https://nodei.co/npm/odata-sequelize.png?compact=true)](https://nodei.co/npm/odata-sequelize/)\n\n## Objective\n\nThis library is intended to take an OData query string as a parameter and transform it on a\nsequelize-compliant query.\n\n## 🚀 **Latest Features (v2.0)**\n\n- **Navigation Properties**: Filter on related entity properties (`Customer/CompanyName eq 'Acme'`)\n- **Lambda Expressions**: Query child tables with `any`/`all` operators (`Orders/any(o: o/Amount gt 100)`)\n- **Complex Mixed Logic**: Advanced AND/OR combinations with deep parentheses nesting\n- **Smart Include Merging**: Automatic merging of `$expand` and navigation filters\n- **0 deps**: Now the library has no dependencies!\n\n## Requirements\n\n- Node.JS\n- NPM\n- Sequelize.JS\n\n## Installing\n\nSimply run a npm command to install it in your project:\n\n    npm install odata-sequelize\n\n## How does it work?\n\nThe OData query string is parsed using a custom PEG.js grammar that handles the complete OData specification. The resulting abstract syntax tree (AST) is then transformed using a visitor pattern to build a sequelize-compliant query object.\n\n## Roadmap\n\n### Completed Features\n\nAll planned features have been implemented!\n\n### Boolean Operators\n\n- [x] AND\n- [x] OR\n- [x] NOT\n\n### Comparison Operators\n\n- [x] Equal (eq)\n- [x] Not Equal (ne)\n- [x] Greater Than (gt)\n- [x] Greater Than or Equal (ge)\n- [x] Less Than (lt)\n- [x] Less Than or Equal (le)\n\n### Functions\n\n1. String Functions\n\n- [x] substringof\n- [x] endswith\n- [x] startswith\n- [x] tolower\n- [x] toupper\n- [x] trim\n- [x] concat\n- [x] substring\n- [x] replace\n- [x] indexof\n\n2. Date Functions\n\n- [x] day\n- [x] hour\n- [x] minute\n- [x] month\n- [x] second\n- [x] year\n\n### Advanced Features\n\n- [x] **$expand** - Eager loading associations with nested support\n- [x] **Lambda expressions** - `any`/`all` operators for child table queries\n- [x] **Navigation properties** - Filter on related entity properties (e.g., `Customer/CompanyName`)\n- [x] **Mixed logical operators** - Complex AND/OR combinations with parentheses\n- [x] **Function integration** - Functions combined with navigation and lambda expressions\n- [x] **Include merging** - Smart merging of $expand and navigation filters\n- [x] **Precedence handling** - Proper parentheses and operator precedence support\n\n### Core OData Query Options\n\n- [x] **$filter** - Complex filtering with all operators and functions\n- [x] **$select** - Choose specific fields to return\n- [x] **$expand** - Eager load related entities\n- [x] **$top** - Limit number of results\n- [x] **$skip** - Pagination offset\n- [x] **$orderby** - Sorting with multiple fields\n\n### Development & Quality\n\n- [x] Test (Jest) - Thanks to [@remcohaszing](https://github.com/remcohaszing)\n- [x] Lint & Prettier - Thanks to [@remcohaszing](https://github.com/remcohaszing)\n- [x] **86 comprehensive tests** - Including complex integration scenarios\n- [x] **76% code coverage** - High-quality test coverage\n\n## How to Use\n\nYou just need to pass an OData query string as parameter with your sequelize object instance, and\nautomagically it is converted to a sequelize query.\n\n**Usage Example:**\n\n```javascript\nvar parseOData = require(\"odata-sequelize\");\nvar sequelize = require(\"sequelize\");\nvar query = parseOData(\n  \"$top=5&$skip=1&$select=Foo,Bar&$filter=Foo eq 'Test' or Bar eq 'Test'&$orderby=Foo desc\",\n  sequelize\n);\n\n// Supposing you have your sequelize model\nModel.findAll(query);\n```\n\nSee the examples below to checkout what's created under the hood:\n\n**1) Simple Query with Top, Skip, Select, Filter and OrderBy**\n\n```javascript\nvar parseOData = require(\"odata-sequelize\");\nvar sequelize = require(\"sequelize\");\nvar query = parseOData(\n  \"$top=5&$skip=1&$select=Foo,Bar&$filter=Foo eq 'Test' or Bar eq 'Test'&$orderby=Foo desc\",\n  sequelize\n);\n```\n\nquery becomes...\n\n```javascript\n{\n    attributes: ['Foo', 'Bar'],\n    limit: 5,\n    offset: 1,\n    order: [\n        ['Foo', 'DESC']\n    ],\n    where: {\n        [Op.or]: [\n            {\n                Foo: {\n                    [Op.eq]: \"Test\"\n                }\n            },\n            {\n                Bar: {\n                    [Op.eq]: \"Test\"\n                }\n            }\n        ]\n    }\n}\n```\n\n**2) Complex Query with Precedence**\n\n```javascript\nvar parseOData = require(\"odata-sequelize\");\nvar sequelize = require(\"sequelize\");\nvar query = parseOData(\n  \"$filter=(Foo eq 'Test' or Bar eq 'Test') and ((Foo ne 'Lorem' or Bar ne 'Ipsum') and (Year gt 2017))\",\n  sequelize\n);\n```\n\nquery becomes...\n\n```javascript\n{\n    where: {\n        [Op.and]: [\n            {\n                [Op.or]: [\n                    {\n                        Foo: {\n                            [Op.eq]: \"Test\"\n                        }\n                    },\n                    {\n                        Bar: {\n                            [Op.eq]: \"Test\"\n                        }\n                    }\n                ]\n            },\n            {\n                [Op.and]: [\n                    {\n                        [Op.or]: [\n                            {\n                                Foo: {\n                                    [Op.ne]: \"Lorem\"\n                                },\n                            },\n                            {\n                                Bar: {\n                                    [Op.ne]: \"Ipsum\"\n                                }\n                            }\n                        ]\n                    },\n                    {\n                        Year: {\n                            [Op.gt]: 2017\n                        }\n                    }\n                ]\n            }\n        ]\n    }\n}\n```\n\n**3) Using Date**\n\n```javascript\nvar parseOData = require(\"odata-sequelize\");\nvar sequelize = require(\"sequelize\");\nvar query = parseOData(\n  \"$filter=Foo eq 'Test' and Date gt datetime'2012-09-27T21:12:59'\",\n  sequelize\n);\n```\n\nquery becomes...\n\n```javascript\n{\n    where: {\n        [Op.and]: [\n            {\n                Foo: {\n                    [Op.eq]: \"Test\"\n                }\n            },\n            {\n                Date: {\n                    [Op.gt]: new Date(\"2012-09-27T21:12:59\")\n                }\n            }\n        ]\n    }\n}\n```\n\n**4) startswith function**\n\n```javascript\nvar parseOData = require(\"odata-sequelize\");\nvar sequelize = require(\"sequelize\");\nvar query = parseOData(\"$filter=startswith('lorem', Foo) and Bar eq 'Test'\", sequelize);\n```\n\nquery becomes...\n\n```javascript\n{\n    where: {\n        [Op.and]: [\n            {\n                Foo: {\n                    [Op.like]: \"lorem%\"\n                }\n            },\n            {\n                Bar: {\n                    [Op.eq]: \"Test\"\n                }\n            }\n        ]\n    }\n}\n```\n\n**5) substringof function**\n\n```javascript\nvar parseOData = require(\"odata-sequelize\");\nvar sequelize = require(\"sequelize\");\nvar query = parseOData(\"$filter=substringof('lorem', Foo) and Bar eq 'Test'\", sequelize);\n```\n\nquery becomes...\n\n```javascript\n{\n    where: {\n        [Op.and]: [\n            {\n                Foo: {\n                    [Op.like]: \"%lorem%\"\n                }\n            },\n            {\n                Bar: {\n                    [Op.eq]: \"Test\"\n                }\n            }\n        ]\n    }\n}\n```\n\n**6) startswith function**\n\n```javascript\nvar parseOData = require(\"odata-sequelize\");\nvar sequelize = require(\"sequelize\");\nvar query = parseOData(\"$filter=startswith('Foo', Name) and Bar eq 'Test'\", sequelize);\n```\n\nquery becomes...\n\n```javascript\n{\n    where: {\n        [Op.and]: [\n            {\n                Name: {\n                    [Op.like]: \"Foo%\"\n                }\n            },\n            {\n                Bar: {\n                    [Op.eq]: \"Test\"\n                }\n            }\n        ]\n    }\n}\n```\n\n**7) trim function**\n\n```javascript\nvar parseOData = require(\"odata-sequelize\");\nvar sequelize = require(\"sequelize\");\nvar query = parseOData(\"$filter=trim(Name) eq 'Foo' and Bar eq 'Test'\", sequelize);\n```\n\nquery becomes...\n\n```javascript\n{\n    where: {\n        [Op.and]: [\n            {\n                Name: {\n                    comparator: [Op.eq],\n                    logic: \"Foo\",\n                    attribute: {\n                        fn: \"trim\",\n                        args: [\n                            {\n                                col: \"Name\"\n                            }\n                        ]\n                    }\n                }\n            },\n            {\n                Bar: {\n                    [Op.eq]: \"Test\"\n                }\n            }\n        ]\n    }\n}\n```\n\n**8) tolower function**\n\n```javascript\nvar parseOData = require(\"odata-sequelize\");\nvar sequelize = require(\"sequelize\");\nvar query = parseOData(\"$filter=tolower(Name) eq 'foobaz' and Name eq 'bar'\", sequelize);\n```\n\nquery becomes...\n\n```javascript\n{\n    where: {\n        [Op.and]: [\n            {\n                Name: {\n                    comparator: [Op.eq],\n                    logic: \"foobaz\",\n                    attribute: {\n                        fn: \"lower\",\n                        args: [\n                            {\n                                col: \"Name\"\n                            }\n                        ]\n                    }\n                }\n            },\n            {\n                Bar: {\n                    [Op.eq]: \"Test\"\n                }\n            }\n        ]\n    }\n}\n```\n\n**9) toupper function**\n\n```javascript\nvar parseOData = require(\"odata-sequelize\");\nvar sequelize = require(\"sequelize\");\nvar query = parseOData(\"$filter=toupper(Name) eq 'FOOBAZ' and Name eq 'bar'\", sequelize);\n```\n\nquery becomes...\n\n```javascript\n{\n    where: {\n        [Op.and]: [\n            {\n                Name: {\n                    comparator: [Op.eq],\n                    logic: \"FOOBAZ\",\n                    attribute: {\n                        fn: \"upper\",\n                        args: [\n                            {\n                                col: \"Name\"\n                            }\n                        ]\n                    }\n                }\n            },\n            {\n                Bar: {\n                    [Op.eq]: \"Test\"\n                }\n            }\n        ]\n    }\n}\n```\n\n**10) year, month, day, hour, minute, second function**\n\n- The same logic applies to all 6 date functions. The only difference resides in attribute object,\n  whose \"fn\" property reflects the called function.\n\n```javascript\nvar parseOData = require(\"odata-sequelize\");\nvar sequelize = require(\"sequelize\");\nvar query = parseOData(\"$filter=year(StartDate) gt 2017\", sequelize);\n```\n\nbecomes...\n\n```javascript\n{\n    where: {\n        {\n            StartDate: {\n                comparator: [Op.gt],\n                logic: 2017,\n                attribute: {\n                    fn: \"year\",\n                    args: [\n                        {\n                            col: \"StartDate\"\n                        }\n                    ]\n                }\n            }\n        }\n    }\n}\n```\n\n**11) $expand for eager loading associations**\n\n```javascript\nvar parseOData = require(\"odata-sequelize\");\nvar sequelize = require(\"sequelize\");\nvar query = parseOData(\"$expand=Orders\", sequelize);\n```\n\nbecomes...\n\n```javascript\n{\n    include: [\n        {\n            association: \"Orders\"\n        }\n    ]\n}\n```\n\n**12) Multiple $expand**\n\n```javascript\nvar parseOData = require(\"odata-sequelize\");\nvar sequelize = require(\"sequelize\");\nvar query = parseOData(\"$expand=Orders,Customer\", sequelize);\n```\n\nbecomes...\n\n```javascript\n{\n    include: [\n        {\n            association: \"Orders\"\n        },\n        {\n            association: \"Customer\"\n        }\n    ]\n}\n```\n\n**13) Nested $expand**\n\n```javascript\nvar parseOData = require(\"odata-sequelize\");\nvar sequelize = require(\"sequelize\");\nvar query = parseOData(\"$expand=Orders/OrderItems\", sequelize);\n```\n\nbecomes...\n\n```javascript\n{\n    include: [\n        {\n            association: \"Orders\",\n            include: [\n                {\n                    association: \"OrderItems\"\n                }\n            ]\n        }\n    ]\n}\n```\n\n**14) Complex query with $expand**\n\n```javascript\nvar parseOData = require(\"odata-sequelize\");\nvar sequelize = require(\"sequelize\");\nvar query = parseOData(\n  \"$select=Name,Id&$expand=Orders&$top=10&$filter=Active eq true\",\n  sequelize\n);\n```\n\nbecomes...\n\n```javascript\n{\n    attributes: [\"Name\", \"Id\"],\n    limit: 10,\n    include: [\n        {\n            association: \"Orders\"\n        }\n    ],\n    where: {\n        Active: {\n            [Op.eq]: true\n        }\n    }\n}\n```\n\n**15) Query in children tables (Lambda expressions)**\n\nThe library fully supports OData lambda expressions (`any` and `all` operators) for filtering parent entities based on child entity properties. This powerful feature allows you to query related data with complex conditions.\n\n```javascript\n// Filter customers who have orders with amount > 100\nvar query = parseOData(\"$filter=Orders/any(o: o/Amount gt 100)\", sequelize);\n\n// Filter customers where all orders are shipped\nvar query = parseOData(\"$filter=Orders/all(o: o/Status eq 'Shipped')\", sequelize);\n```\n\nExpected output format:\n\n```javascript\n{\n    include: [\n        {\n            association: \"Orders\",\n            where: {\n                Amount: {\n                    [Op.gt]: 100\n                }\n            },\n            required: true // 'any' uses INNER JOIN, 'all' uses different logic\n        }\n    ]\n}\n```\n\n**Key Features of Lambda Expressions:**\n- **`any` operator**: Returns parent records if at least one child matches the condition (uses `required: true` for INNER JOIN)\n- **`all` operator**: Returns parent records if all children match the condition\n- **Variable scoping**: Supports variable names in lambda expressions (e.g., `o: o/Amount`)\n- **Complex conditions**: Supports nested property access and multiple comparison operators\n- **Sequelize integration**: Converts to appropriate `include` structures with `where` clauses\n\n**16) Navigation Properties - Filtering on Related Entity Properties**\n\nYou can filter parent entities based on properties of related entities using navigation syntax:\n\n```javascript\nvar parseOData = require(\"odata-sequelize\");\nvar sequelize = require(\"sequelize\");\nvar query = parseOData(\"$filter=Customer/CompanyName eq 'Acme Corp'\", sequelize);\n```\n\nbecomes...\n\n```javascript\n{\n    include: [\n        {\n            association: \"Customer\",\n            where: {\n                CompanyName: {\n                    [Op.eq]: \"Acme Corp\"\n                }\n            },\n            required: true\n        }\n    ]\n}\n```\n\n**17) Navigation Properties with $expand**\n\nNavigation filters automatically merge with $expand when targeting the same association:\n\n```javascript\nvar query = parseOData(\n    \"$filter=Customer/Country ne 'USA'&$expand=Customer\",\n    sequelize\n);\n```\n\nbecomes...\n\n```javascript\n{\n    include: [\n        {\n            association: \"Customer\",\n            where: {\n                Country: {\n                    [Op.ne]: \"USA\"\n                }\n            },\n            required: true\n        }\n    ]\n}\n```\n\n**18) Complex Mixed AND/OR with Parentheses**\n\nThe parser handles deeply nested logical expressions with proper precedence:\n\n```javascript\nvar query = parseOData(\n    \"$filter=((Type eq 'A' or Type eq 'B') and Status eq 'Active') or (Category eq 'Premium' and Year gt 2020)\",\n    sequelize\n);\n```\n\nbecomes...\n\n```javascript\n{\n    where: {\n        [Op.or]: [\n            {\n                [Op.and]: [\n                    {\n                        [Op.or]: [\n                            {\n                                Type: {\n                                    [Op.eq]: \"A\"\n                                }\n                            },\n                            {\n                                Type: {\n                                    [Op.eq]: \"B\"\n                                }\n                            }\n                        ]\n                    },\n                    {\n                        Status: {\n                            [Op.eq]: \"Active\"\n                        }\n                    }\n                ]\n            },\n            {\n                [Op.and]: [\n                    {\n                        Category: {\n                            [Op.eq]: \"Premium\"\n                        }\n                    },\n                    {\n                        Year: {\n                            [Op.gt]: 2020\n                        }\n                    }\n                ]\n            }\n        ]\n    }\n}\n```\n\n**19) Mixed Function and Navigation Filters**\n\nComplex queries combining function calls, navigation properties, and $expand:\n\n```javascript\nvar query = parseOData(\n    \"$filter=tolower(CompanyName) eq 'acme corp' and Customer/Country ne 'USA'&$expand=Customer&$orderby=OrderDate desc\",\n    sequelize\n);\n```\n\nbecomes...\n\n```javascript\n{\n    order: [[\"OrderDate\", \"DESC\"]],\n    where: {\n        [Op.and]: [\n            {\n                CompanyName: {\n                    attribute: {\n                        fn: \"tolower\",\n                        args: [{ col: \"CompanyName\" }]\n                    },\n                    comparator: [Op.eq],\n                    logic: \"acme corp\"\n                }\n            }\n        ]\n    },\n    include: [\n        {\n            association: \"Customer\",\n            where: {\n                Country: {\n                    [Op.ne]: \"USA\"\n                }\n            },\n            required: true\n        }\n    ]\n}\n```\n\n**20) Complete Integration Example**\n\nReal-world complex query combining all features:\n\n```javascript\nvar query = parseOData(\n    \"$select=Name,Status,Priority&$expand=Customer,Orders&$top=20&$skip=10&$orderby=Priority desc,Name asc&$filter=((Status eq 'Active' and Priority ge 3) or (Customer/Country eq 'USA' and Orders/any(o: o/Amount gt 500))) and year(CreatedDate) ge 2023\",\n    sequelize\n);\n```\n\nThis generates a comprehensive Sequelize query with:\n- **Attributes selection** (`$select`)\n- **Eager loading** (`$expand`)\n- **Pagination** (`$top`, `$skip`)\n- **Ordering** (`$orderby`)\n- **Complex filtering** with nested logic, navigation properties, lambda expressions, and function calls\n","readmeFilename":"README.md"}