{"library":"scim2-filter","title":"scim2-filter","description":"A parser and evaluator for RFC 7643 SCIM 2.0 filter syntax. Version 0.2.0 allows parsing filter expressions into an AST and applying them as JavaScript functions to filter JSON objects. Supports operators (eq, co, sw, pr, gt, ge, lt, le, and, or, not) and complex filters with attribute paths and value filters. Lightweight, dependency-free, and ESM-only. No TypeScript types provided. Differentiates from generic query parsers by adhering strictly to SCIM 2.0 filtering grammar.","language":"javascript","status":"active","last_verified":"Sat Apr 25","install":{"commands":["npm install scim2-filter"],"cli":null},"imports":["import { parse } from 'scim2-filter'","import { filter } from 'scim2-filter'","import type { ScimFilter, FilterOperator } from 'scim2-filter'"],"auth":{"required":false,"env_vars":[]},"quickstart":{"code":"import { parse, filter } from 'scim2-filter';\n\nconst ast = parse(`userType eq \"Employee\" and emails[type eq \"work\" and value co \"@example.com\"]`);\nconsole.log(JSON.stringify(ast, null, 2));\n\nconst userFilter = filter(parse(`userName eq \"test1@example.com\"`));\nconst users = [\n  { userName: \"test1@example.com\" },\n  { userName: \"test2@example.com\" }\n];\nconst result = users.filter(userFilter);\nconsole.log(result); // [{ userName: \"test1@example.com\" }]","lang":"javascript","description":"Parses a SCIM 2.0 filter string into an AST, then uses the filter function to evaluate the expression against an array of objects.","tag":null,"tag_description":null,"last_tested":null,"results":[]},"compatibility":null}