{"_id":"@bouygues-telecom/spl","_rev":"11-36bdb8f9fd0f80e6962e75f04d16944b","name":"@bouygues-telecom/spl","dist-tags":{"latest":"0.1.16"},"versions":{"1.0.0":{"name":"@bouygues-telecom/spl","version":"1.0.0","author":{"name":"Bouygues Telecom"},"license":"Apache-2.0","_id":"@bouygues-telecom/spl@1.0.0","maintainers":[{"name":"bytel","email":"bouygues@codename.co"}],"homepage":"https://github.com/BouyguesTelecom/SPL#readme","bugs":{"url":"https://github.com/BouyguesTelecom/SPL/issues"},"dist":{"shasum":"a936a5be8e3da8c72fcf6eaf27aff19176242a12","tarball":"https://registry.npmjs.org/@bouygues-telecom/spl/-/spl-1.0.0.tgz","fileCount":3,"integrity":"sha512-2s+5Nwqb436BS0SyKmgZxUw7V3PswJUoTrekndHBhaZZ2Uj2VwzCaSDhFPrjzSy88o/E6l4BdMuTl4Pw8rMJkA==","signatures":[{"sig":"MEYCIQCXTx9LS4ajaD6TQ4bP6Cr5EqveI5lxUf8UYk6FmsEvUQIhAI6kB1j1TpzaUDah/ODyJIVT+OCsKamjIU5pVIYk9DSj","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":14196},"main":"dist/cjs/index.js","type":"module","types":"dist/esm/index.d.ts","module":"dist/esm/index.js","exports":{".":{"import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"gitHead":"db1dde7ebb2ead025b3e3f3f15d41705c481f19b","scripts":{"test":"vitest","build":"rm -rf dist && npm run build:esm && npm run build:cjs","prepare":"npm run antlr4ts","antlr4ts":"antlr4ts -visitor src/main/antlr/SPL.g4","build:cjs":"tsc --project tsconfig-cjs.json","build:esm":"tsc --project tsconfig-esm.json"},"_npmUser":{"name":"bytel","email":"bouygues@codename.co"},"repository":{"url":"git+https://github.com/BouyguesTelecom/SPL.git","type":"git"},"_npmVersion":"10.8.2","description":"![NPM Version](https://img.shields.io/npm/v/@bouygues-telecom/spl?style=flat-square)","directories":{},"_nodeVersion":"20.19.1","dependencies":{"antlr4ts":"^0.5.0-alpha.4"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^6.3.5","tslib":"^2.8.1","vitest":"^3.2.0","typescript":"^5.8.3","@types/node":"^20.11.19","antlr4ts-cli":"^0.5.0-alpha.4","vite-plugin-dts":"^4.5.4"},"peerDependencies":{"graphql":"*","@graphql-mesh/types":"*","@graphql-mesh/utils":"*","@graphql-tools/utils":"*","@graphql-mesh/cache-localforage":"*"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"4.41.1"},"_npmOperationalInternal":{"tmp":"tmp/spl_1.0.0_1748959985594_0.3042410132046578","host":"s3://npm-registry-packages-npm-production"}},"0.1.9":{"name":"@bouygues-telecom/spl","version":"0.1.9","author":{"name":"Bouygues Telecom"},"license":"Apache-2.0","_id":"@bouygues-telecom/spl@0.1.9","maintainers":[{"name":"bytel","email":"bouygues@codename.co"}],"homepage":"https://github.com/BouyguesTelecom/SPL#readme","bugs":{"url":"https://github.com/BouyguesTelecom/SPL/issues"},"dist":{"shasum":"5bcbefa42b2dd670df24b6bdba545412260cc335","tarball":"https://registry.npmjs.org/@bouygues-telecom/spl/-/spl-0.1.9.tgz","fileCount":3,"integrity":"sha512-glIsvks0KNvi8DRLP1XQd56UebjtM7mBblwJfkUgrONyDomgmhraQyRIBwG0+CD68IA1gPwV742VkkuzsvAAsA==","signatures":[{"sig":"MEUCIQDInj5+gaWYZGS4olLMgk3bO7bHwKAdEH4Y+SNuDcVZEAIgOMl37OYMTYYKvr5aIqPirh8r1RUQf71jw3ReH20ZP/s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":14196},"main":"dist/cjs/index.js","type":"module","types":"dist/esm/index.d.ts","module":"dist/esm/index.js","exports":{".":{"import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"gitHead":"a4dd18ed5b909e8cf3120809588715a4d54c8fef","scripts":{"test":"vitest","build":"rm -rf dist && npm run build:esm && npm run build:cjs","prepare":"npm run antlr4ts","antlr4ts":"antlr4ts -visitor src/main/antlr/SPL.g4","build:cjs":"tsc --project tsconfig-cjs.json","build:esm":"tsc --project tsconfig-esm.json"},"_npmUser":{"name":"bytel","email":"bouygues@codename.co"},"repository":{"url":"git+https://github.com/BouyguesTelecom/SPL.git","type":"git"},"_npmVersion":"10.8.2","description":"![NPM Version](https://img.shields.io/npm/v/@bouygues-telecom/spl?style=flat-square)","directories":{},"_nodeVersion":"20.19.1","dependencies":{"antlr4ts":"^0.5.0-alpha.4"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^6.3.5","tslib":"^2.8.1","vitest":"^3.2.0","typescript":"^5.8.3","@types/node":"^20.11.19","antlr4ts-cli":"^0.5.0-alpha.4","vite-plugin-dts":"^4.5.4"},"peerDependencies":{"graphql":"*","@graphql-mesh/types":"*","@graphql-mesh/utils":"*","@graphql-tools/utils":"*","@graphql-mesh/cache-localforage":"*"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"4.41.1"},"_npmOperationalInternal":{"tmp":"tmp/spl_0.1.9_1748961131278_0.13592044442861506","host":"s3://npm-registry-packages-npm-production"}},"0.1.10":{"name":"@bouygues-telecom/spl","version":"0.1.10","author":{"name":"Bouygues Telecom"},"license":"Apache-2.0","_id":"@bouygues-telecom/spl@0.1.10","maintainers":[{"name":"bytel","email":"bouygues@codename.co"}],"homepage":"https://github.com/BouyguesTelecom/SPL#readme","bugs":{"url":"https://github.com/BouyguesTelecom/SPL/issues"},"dist":{"shasum":"4b41de3567168a71848ba80d070af159a3529fff","tarball":"https://registry.npmjs.org/@bouygues-telecom/spl/-/spl-0.1.10.tgz","fileCount":44,"integrity":"sha512-IjDeSyNivv0YKI0+7sQ1RdcoTNdYNMR6xcqefgAaVCejsmWodEjCq5jMWnxp4abFiJcU7Zcs1gk1sBp0gbTJuw==","signatures":[{"sig":"MEUCIQDUa19uTXyrbJPF69J7WKZi+49mQr6eb6K3zTWx1FeBnAIgO9apUpQn645Z+EyYMrUtE2+GE+C2/9pv88xluJXLAQc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":189900},"main":"dist/cjs/index.js","type":"module","types":"dist/esm/index.d.ts","module":"dist/esm/index.js","exports":{".":{"import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"gitHead":"cec62d36e67ef4d68f72787b2738a81dc83b88c7","scripts":{"test":"vitest","build":"rm -rf dist && npm run build:esm && npm run build:cjs","prepare":"npm run antlr4ts","antlr4ts":"antlr4ts -visitor src/main/antlr/SPL.g4","build:cjs":"tsc --project tsconfig-cjs.json","build:esm":"tsc --project tsconfig-esm.json"},"_npmUser":{"name":"bytel","email":"bouygues@codename.co"},"repository":{"url":"git+https://github.com/BouyguesTelecom/SPL.git","type":"git"},"_npmVersion":"10.8.2","description":"![NPM Version](https://img.shields.io/npm/v/@bouygues-telecom/spl?style=flat-square)","directories":{},"_nodeVersion":"20.19.1","dependencies":{"antlr4ts":"^0.5.0-alpha.4"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^6.3.5","tslib":"^2.8.1","vitest":"^3.2.0","typescript":"^5.8.3","@types/node":"^20.11.19","antlr4ts-cli":"^0.5.0-alpha.4","vite-plugin-dts":"^4.5.4"},"peerDependencies":{"graphql":"*","@graphql-mesh/types":"*","@graphql-mesh/utils":"*","@graphql-tools/utils":"*","@graphql-mesh/cache-localforage":"*"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"4.41.1"},"_npmOperationalInternal":{"tmp":"tmp/spl_0.1.10_1748964055523_0.966995906123072","host":"s3://npm-registry-packages-npm-production"}},"0.1.12":{"name":"@bouygues-telecom/spl","version":"0.1.12","author":{"name":"Bouygues Telecom"},"license":"Apache-2.0","_id":"@bouygues-telecom/spl@0.1.12","maintainers":[{"name":"bytel","email":"bouygues@codename.co"}],"homepage":"https://github.com/BouyguesTelecom/SPL#readme","bugs":{"url":"https://github.com/BouyguesTelecom/SPL/issues"},"dist":{"shasum":"b78a37c42f7f23d05a050d1f3e57aac50f8d4d50","tarball":"https://registry.npmjs.org/@bouygues-telecom/spl/-/spl-0.1.12.tgz","fileCount":248,"integrity":"sha512-CeVTgcT+MgeOE0ZPsfwCUq2qd+qDDKqvHz6drDjpIqVq3EyNWtZ+MJqGGDHHB035ZY4vQ04SSprXDDd421fmhg==","signatures":[{"sig":"MEYCIQCEMY1UY+g7YlUSovjZbyHkcnyLC8wK6OboYRU5HH7p8wIhAM6+AaQdRvkrEU5fCbTTqKSecDOrk6dA6vjqRv8wQ2+0","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":688393},"main":"dist/cjs/index.js","type":"module","types":"dist/esm/index.d.ts","module":"dist/esm/index.js","exports":{".":{"import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"gitHead":"9086ac406aa6a3ae472bf8abea82fa486966e5a7","scripts":{"test":"vitest","build":"rm -rf dist && npm run build:esm && npm run build:cjs","prepare":"npm run antlr4ts","antlr4ts":"antlr4ts -visitor src/main/antlr/SPL.g4","build:cjs":"tsc --project tsconfig-cjs.json","build:esm":"tsc --project tsconfig-esm.json","prepublishOnly":"npm run build"},"_npmUser":{"name":"bytel","email":"bouygues@codename.co"},"repository":{"url":"git+https://github.com/BouyguesTelecom/SPL.git","type":"git"},"_npmVersion":"10.8.2","description":"![NPM Version](https://img.shields.io/npm/v/@bouygues-telecom/spl?style=flat-square)","directories":{},"_nodeVersion":"20.19.1","dependencies":{"antlr4ts":"^0.5.0-alpha.4"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^6.3.5","tslib":"^2.8.1","vitest":"^3.2.0","typescript":"^5.8.3","@types/node":"^20.11.19","antlr4ts-cli":"^0.5.0-alpha.4","vite-plugin-dts":"^4.5.4"},"peerDependencies":{"graphql":"*","@graphql-mesh/types":"*","@graphql-mesh/utils":"*","@graphql-tools/utils":"*","@graphql-mesh/cache-localforage":"*"},"optionalDependencies":{"@rollup/rollup-linux-x64-gnu":"4.41.1"},"_npmOperationalInternal":{"tmp":"tmp/spl_0.1.12_1748964367334_0.5363161802880692","host":"s3://npm-registry-packages-npm-production"}},"0.1.14":{"name":"@bouygues-telecom/spl","version":"0.1.14","author":{"name":"Bouygues Telecom"},"license":"Apache-2.0","_id":"@bouygues-telecom/spl@0.1.14","maintainers":[{"name":"bytel","email":"bouygues@codename.co"}],"homepage":"https://github.com/BouyguesTelecom/SPL#readme","bugs":{"url":"https://github.com/BouyguesTelecom/SPL/issues"},"dist":{"shasum":"b0308f81465e9c5bac17ba8506b5b12d89347d3d","tarball":"https://registry.npmjs.org/@bouygues-telecom/spl/-/spl-0.1.14.tgz","fileCount":241,"integrity":"sha512-tX8WdKhBPLWWFObQ5dzURRH+QV00X8yd1Z08eQEaM3310OBy/S+vNqzORP9s+AYC2MpRitv6FnZ89Gl0S/pRjQ==","signatures":[{"sig":"MEYCIQCQFBjo4lc/wW5cSaVZ7UQM8a528V3w/hkRga43FsMq/wIhAIEqEBBtQIW3NY3fRPE3PgbTzHDKdRZP0eIV62Cojh69","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":676946},"main":"dist/cjs/index.js","type":"module","types":"dist/esm/index.d.ts","module":"dist/esm/index.js","exports":{".":{"import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"gitHead":"2dd9da549ebec0d930a8cfaf9cbdb3ed299601f5","scripts":{"test":"vitest","build":"rm -rf dist && npm run build:esm && npm run build:cjs","prepare":"npm run antlr4ts","antlr4ts":"antlr4ts -visitor src/antlr/SPL.g4","build:cjs":"tsc --project tsconfig-cjs.json","build:esm":"tsc --project tsconfig-esm.json","prepublishOnly":"npm run build"},"_npmUser":{"name":"bytel","email":"bouygues@codename.co"},"repository":{"url":"git+https://github.com/BouyguesTelecom/SPL.git","type":"git"},"_npmVersion":"10.8.2","description":"![NPM Version](https://img.shields.io/npm/v/@bouygues-telecom/spl?style=flat-square)","directories":{},"_nodeVersion":"20.19.1","dependencies":{"antlr4ts":"^0.5.0-alpha.4"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^6.3.5","tslib":"^2.8.1","vitest":"^3.2.0","typescript":"^5.8.3","@types/node":"^20.11.19","antlr4ts-cli":"^0.5.0-alpha.4","vite-plugin-dts":"^4.5.4"},"_npmOperationalInternal":{"tmp":"tmp/spl_0.1.14_1748967892652_0.04111459403846185","host":"s3://npm-registry-packages-npm-production"}},"0.1.15":{"name":"@bouygues-telecom/spl","version":"0.1.15","author":{"name":"Bouygues Telecom"},"license":"Apache-2.0","_id":"@bouygues-telecom/spl@0.1.15","maintainers":[{"name":"bytel","email":"bouygues@codename.co"}],"homepage":"https://github.com/BouyguesTelecom/SPL#readme","bugs":{"url":"https://github.com/BouyguesTelecom/SPL/issues"},"dist":{"shasum":"3434c8400545ce19760912e5620c6596ecb2bacb","tarball":"https://registry.npmjs.org/@bouygues-telecom/spl/-/spl-0.1.15.tgz","fileCount":241,"integrity":"sha512-bMPuAlxp3aSkLqlkGHV4lo5DhHce4NzzfUHfDubXW9fEDbuEa1uzFnMe622ZC/yZs8cFtM3sjXEKhxg5KA62Pg==","signatures":[{"sig":"MEUCIQDY/NArv9ENg86WqQe43+YzKBjOdUsWErrczBSSZ8kHswIgXpuP90PGqUdXx3nqn4Z18WBLSnEt80lrIEZxHAxB5X0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":677754},"main":"dist/cjs/index.js","type":"module","types":"dist/esm/index.d.ts","module":"dist/esm/index.js","exports":{".":{"import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"gitHead":"9e90a0b8d38fce18fa083e84f5b155313c77755d","scripts":{"test":"vitest","build":"rm -rf dist && npm run build:esm && npm run build:cjs","prepare":"npm run antlr4ts","antlr4ts":"antlr4ts -visitor src/antlr/SPL.g4","build:cjs":"tsc --project tsconfig-cjs.json","build:esm":"tsc --project tsconfig-esm.json","prepublishOnly":"npm run build"},"_npmUser":{"name":"bytel","email":"bouygues@codename.co"},"repository":{"url":"git+https://github.com/BouyguesTelecom/SPL.git","type":"git"},"_npmVersion":"10.8.2","description":"![NPM Version](https://img.shields.io/npm/v/@bouygues-telecom/spl?style=flat-square)","directories":{},"_nodeVersion":"20.19.1","dependencies":{"antlr4ts":"^0.5.0-alpha.4"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^6.3.5","tslib":"^2.8.1","vitest":"^3.2.0","typescript":"^5.8.3","@types/node":"^20.11.19","antlr4ts-cli":"^0.5.0-alpha.4","vite-plugin-dts":"^4.5.4"},"_npmOperationalInternal":{"tmp":"tmp/spl_0.1.15_1748970691572_0.3442893937921585","host":"s3://npm-registry-packages-npm-production"}},"0.1.16":{"name":"@bouygues-telecom/spl","version":"0.1.16","author":{"name":"Bouygues Telecom"},"license":"Apache-2.0","_id":"@bouygues-telecom/spl@0.1.16","maintainers":[{"name":"bytel","email":"bouygues@codename.co"}],"homepage":"https://github.com/BouyguesTelecom/SPL#readme","bugs":{"url":"https://github.com/BouyguesTelecom/SPL/issues"},"dist":{"shasum":"1872aa17fbb9c554bdf2af6b1effe268241e0f39","tarball":"https://registry.npmjs.org/@bouygues-telecom/spl/-/spl-0.1.16.tgz","fileCount":241,"integrity":"sha512-lQezbGjgTBCfqJxKPDVGpUdyxB9Xt5oRJ9IDex/Sxv7WTZCZRZ9PsX9fgzIPRxO73kzu/Yx3Hu/Y3tUq6K00Rg==","signatures":[{"sig":"MEUCIQCIAkxgbigsdEdGHwv0rZHZM0J55UgA50/2Vdsezh29HwIgWwGq4jkOFBdpWYWIMOmjsquMlsMXCBErW1B794y6qN4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":678710},"main":"dist/cjs/index.js","type":"module","types":"dist/esm/index.d.ts","module":"dist/esm/index.js","exports":{".":{"import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"gitHead":"7cf840fb5473825b8af70d35ce4e21c4368af4dd","scripts":{"test":"vitest","build":"rm -rf dist && npm run build:esm && npm run build:cjs","prepare":"npm run antlr4ts","antlr4ts":"antlr4ts -visitor src/antlr/SPL.g4 && ./scripts/fix-antlr-imports.js","build:cjs":"tsc --project tsconfig-cjs.json","build:esm":"tsc --project tsconfig-esm.json","prepublishOnly":"npm run build"},"_npmUser":{"name":"bytel","email":"bouygues@codename.co"},"repository":{"url":"git+https://github.com/BouyguesTelecom/SPL.git","type":"git"},"_npmVersion":"10.8.2","description":"![NPM Version](https://img.shields.io/npm/v/@bouygues-telecom/spl?style=flat-square)","directories":{},"_nodeVersion":"20.19.1","dependencies":{"antlr4ts":"^0.5.0-alpha.4"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^6.3.5","tslib":"^2.8.1","vitest":"^3.2.0","typescript":"^5.8.3","@types/node":"^20.11.19","antlr4ts-cli":"^0.5.0-alpha.4","vite-plugin-dts":"^4.5.4"},"_npmOperationalInternal":{"tmp":"tmp/spl_0.1.16_1748990898383_0.7613428341223729","host":"s3://npm-registry-packages-npm-production"}}},"time":{"created":"2025-06-03T14:13:05.479Z","modified":"2026-07-22T13:31:01.877Z","1.0.0":"2025-06-03T14:13:05.752Z","0.1.9":"2025-06-03T14:32:11.534Z","0.1.10":"2025-06-03T15:20:55.731Z","0.1.12":"2025-06-03T15:26:07.507Z","0.1.14":"2025-06-03T16:24:52.864Z","0.1.15":"2025-06-03T17:11:31.752Z","0.1.16":"2025-06-03T22:48:18.692Z"},"bugs":{"url":"https://github.com/BouyguesTelecom/SPL/issues"},"author":{"name":"Bouygues Telecom"},"license":"Apache-2.0","homepage":"https://github.com/BouyguesTelecom/SPL#readme","repository":{"url":"git+https://github.com/BouyguesTelecom/SPL.git","type":"git"},"description":"![NPM Version](https://img.shields.io/npm/v/@bouygues-telecom/spl?style=flat-square)","maintainers":[{"email":"bouygues@codename.co","name":"bytel"},{"email":"rkhatwan@bouyguestelecom.fr","name":"ravi.khatwani"},{"email":"arthur03.maury@gmail.com","name":"artymaury"}],"readme":"# Simple Predicate Langage (SPL)\n\n![NPM Version](https://img.shields.io/npm/v/@bouygues-telecom/spl?style=flat-square)\n\n## Introduction\n\nSPL is a very small, lightweight, straightforward and non-evaluated expression language to sort, filter and paginate arrays of maps.\n\n## Grammar\n\nSee [SPL.g4 file](./src/antlr/SPL.g4)\n\n## Examples\n\nGiven this simple dataset:\n\n```typescript\nconst dataset = [\n  {\n    firstName: \"Martin\",\n    lastName: \"Dupont\",\n    age: 21,\n    address: {\n      country: \"France\",\n      town: \"Paris\",\n    },\n  },\n  {\n    firstName: \"Bertrand\",\n    lastName: \"Dupont\",\n    age: 17,\n    address: {\n      country: \"South Korea\",\n      town: \"Seoul\",\n    },\n  },\n  {\n    firstName: \"Michel\",\n    lastName: \"Dupond\",\n    age: 19,\n    address: {\n      country: \"France\",\n      town: \"Toulouse\",\n    },\n  },\n]\n```\n\nThe following expressions can be applied using SPL:\n\n### Filters\n\n#### Simple filtering\n\n```sql\nlastName = 'Dupont'\n```\n\n#### Binary operators\n\n```sql\n(firstName = 'Seb') AND (lastName = 'Dupont')\n```\n\n#### Array search\n\n```sql\n(firstName IN ['Seb', 'Paul', 'Jean']) OR (lastName = 'Dupont')\n```\n\n#### Inject fields anywhere\n\n```sql\n(givenName IN [firstName, lastName]) OR (lastName = 'Dupont')\n```\n\n#### Inject variables anywhere\n\n```sql\n(givenName IN [:variable1, :variable2]) OR (lastName = :variable3)\n```\n\n#### Deep search\n\n```sql\naddress.country = 'France'\n```\n\n### Sort\n\n```sql\nSORT BY firstName ASC, lastName DESC\n```\n\n### Pagination\n\n```sql\nLIMIT 0, 100\n```\n","readmeFilename":"README.md"}