{"versions":{"1.0.0":{"name":"@maptalks/feature-filter","version":"1.0.0","main":"./index.js","module":"./index.js","description":"Creates filtering function for features","dependencies":{},"devDependencies":{"eslint":"^5.0.1","eslint-config-maptalks":"^0.2.1","eslint-plugin-mocha":"^5.1.0","esm":"^3.0.64","expect.js":"^0.3.1","mocha":"^5.2.0"},"scripts":{"pretest":"eslint index.js test.js","test":"mocha -r esm test.js"},"repository":{"type":"git","url":"git+ssh://git@github.com/maptalks/feature-filter.git"},"gitHead":"280788078c1ac28885e7031a4c34449fb3edbcde","bugs":{"url":"https://github.com/maptalks/feature-filter/issues"},"homepage":"https://github.com/maptalks/feature-filter#readme","_id":"@maptalks/feature-filter@1.0.0","_npmVersion":"5.6.0","_nodeVersion":"10.0.0","_npmUser":{"name":"anonymous","email":"fuzhen@maptalks.org"},"dist":{"shasum":"bfcc7f705e6de5c6c3d3802a3b5081272c877fc8","size":36820,"noattachment":false,"tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/@maptalks/feature-filter/-/feature-filter-1.0.0.tgz"},"maintainers":[{"name":"anonymous","email":"fuzhen@maptalks.org"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/feature-filter_1.0.0_1531031141743_0.1543411107197592"},"_hasShrinkwrap":false,"publish_time":1531031141856,"_cnpm_publish_time":1531031141856,"contributors":[]},"1.1.0":{"name":"@maptalks/feature-filter","version":"1.1.0","main":"./index.js","module":"./index.js","type":"module","description":"Creates filtering function for features","dependencies":{},"devDependencies":{"eslint":"^5.0.1","eslint-config-maptalks":"^0.2.1","eslint-plugin-mocha":"^5.1.0","expect.js":"^0.3.1","mocha":"^10.0.0"},"scripts":{"pretest":"eslint index.js test.js","test":"mocha test.js"},"repository":{"type":"git","url":"git+ssh://git@github.com/maptalks/feature-filter.git"},"gitHead":"f4082838c7cd787a6423b2103ce7d8d8533992a7","bugs":{"url":"https://github.com/maptalks/feature-filter/issues"},"homepage":"https://github.com/maptalks/feature-filter#readme","_id":"@maptalks/feature-filter@1.1.0","_nodeVersion":"16.15.1","_npmVersion":"7.20.5","dist":{"integrity":"sha512-cJGop/lnL5xbONJBTACOw6gSAkN9Q10ukHYZYnkSlB9OzToXk9OIrlDe5ihgPI/ONDUDNFYoqgzWVU5q0qBRhg==","shasum":"db376de1664d77469f8bdb2c5d85e97691cd0119","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/@maptalks/feature-filter/-/feature-filter-1.1.0.tgz","fileCount":11,"unpackedSize":89745,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGrU1XEFJtIroZNLD99shAukeq3ruIqTeOQJAki/j1L0AiEAwNmrruwu8L0fDp3yj9md1F3ZmJ1jbe2BVmapK/lSTIE="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjIq2yACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqJ1Q//RMInGJLeQLi/By5upfRa1ts3yjC6RTdIgBfdnl1GOH6+U3hX\r\nHFnCtnfdnR2Nrg9deCfWs84smm98dZswRp2I6fQfF05O1I7iBqdkWc1YAbcV\r\nQlybe1moDjmzi/PTXxn2tsfIGpo/6l3Ss5lKtqyHDHS3Fy8FmCaSdtkdMLdk\r\nLCOVoGxigjc9xu1DBEkZwjuSkbZoxhMUlqLVu0+lQHK3wWtcers3x6O7bA6J\r\nJtC/Os7SYeV+YUyNfcnWM+pYr2eHKLsSJqWW4PjlxQ5+llGh/OSsqNeUbaN7\r\nO1p86KLMzbaZLzQ28lMJUSAU3zaZfdh+KfDzzn6S3nER1azHOBSFiewzMZUl\r\nZud3wiapJRUvcEE7JzZb2TkA3lNj8mVPbDWr/hKQOKcdTr4SPWe2eHeTK1br\r\ng3mVjr0VC6UqimCDmVgBPxVIeLHm//gIz/NnOraDeV71XzamYobiUahzQ2zl\r\nnpNrmhi8s7j7Qz6Efa3PoWQlL/PIPtBootiJ2Txr1G12SCW6k0JelNhqKd8K\r\nUSl0KiBPaTz+f35TXYARnkDq88456pXJmGHwPz+At/B0IJUkVYCCa9tPprxV\r\nizzVSQ+6jHkY187zAcDQbrfK9QIZQZeXesm0hSqp3QhYmjYBtUUwvQ4iiCdx\r\nxet8iLyNBBTnLmCj3Q604W6Fvj48ZgH8Ac8=\r\n=PDZz\r\n-----END PGP SIGNATURE-----\r\n","size":36880},"_npmUser":{"name":"anonymous","email":"fuzhen@maptalks.org"},"directories":{},"maintainers":[{"name":"anonymous","email":"fuzhen@maptalks.org"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/feature-filter_1.1.0_1663217074677_0.4928227371375289"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-09-15T04:45:05.205Z","contributors":[]},"1.2.0":{"name":"@maptalks/feature-filter","version":"1.2.0","main":"./index.js","module":"./index.js","type":"module","description":"Creates filtering function for features","dependencies":{},"devDependencies":{"eslint":"^5.0.1","eslint-config-maptalks":"^0.2.1","eslint-plugin-mocha":"^5.1.0","expect.js":"^0.3.1","mocha":"^10.0.0"},"scripts":{"pretest":"eslint index.js test.js","test":"mocha test.js"},"repository":{"type":"git","url":"git+ssh://git@github.com/maptalks/feature-filter.git"},"gitHead":"33c99bf2197bc78ea92854b0571bf0c9981fe6d0","bugs":{"url":"https://github.com/maptalks/feature-filter/issues"},"homepage":"https://github.com/maptalks/feature-filter#readme","_id":"@maptalks/feature-filter@1.2.0","_nodeVersion":"16.15.1","_npmVersion":"7.20.5","dist":{"integrity":"sha512-QmVUc0k5b0SrrS5qW28h5dyZFB6aCVJ7eDkmwv6bqL8dWQlVICmsyKATR3hUVwfUKuj2LpRv1X+/LaJTiOGHuA==","shasum":"12cb2cbcc3ac32f14543ba09f9a071747c99b743","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/@maptalks/feature-filter/-/feature-filter-1.2.0.tgz","fileCount":11,"unpackedSize":90164,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDPSzN++kBqAoSknafp2JpdT9KOdZ8ZZSksmWY5b7NJwwIgdyOoo90RjyGpsFoEwbuY7kFqpOQC/+uhEgDtnOU8YJM="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjKnv+ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmosahAAhNfcSKn98DOC/h8Ttgw5xTkZvgXqbicaBWijJLGgeyQqlYai\r\nQd3pj5Ma6JV2Wv+ZC75vGuxJp+XXnb5zvuLmfAwGSkGz7+ZQQEGIsXeDRWfp\r\n91r/GgfjddxSo9fyVq5NfV+BWszTlAYY87ENTwG1nnYU+nySeVGCsKK8E2eu\r\nZcKc68QZKIW8eYumaSnghJSTliWF6kxCnRFK2bYkfoey+f2cR3SmO3Nyg05w\r\nRl074M9+YlyjUwkAUZkZAqofJDsfojoxzkll+A02pCVtMNGmKSAs+/IBWEai\r\nrTQwFUz5fjcZo8CECNdIG2mZQlzodvpaH7MWB9LtkDKIYTfAY+fPr3vq4nm1\r\nZNPGXExmECyt4uv4wVFOJXDbeirFL51phNA4/NHbA6IG3g9GbqQZmBlsbBk3\r\nJxOYtI4ji/p6u+PG/xQkqs54b1G9MCweAWmEKrUD9+q1SciE1F2Tu48qx8FR\r\nOYJOVWzTJCLubhPWa5ElNGoSvv20QvgZPGpHdDsDw/sZVfJ5fIEw4OfNXbW3\r\ntRNPbd1W6QYA+AgZaDm6lJJ7byt8Cm6UL5WKPLWst5kxpJtr95KIqrvqteUL\r\n4H5vPRZrGG5QWV3qwaUWfYZajOINwZJX7IdkzTS7GRKekGH7NbI0YFC+Atfa\r\nn/5k/iP3INOGOFqF5o8duTQbtkEMMB6upEQ=\r\n=4pIC\r\n-----END PGP SIGNATURE-----\r\n","size":37000},"_npmUser":{"name":"anonymous","email":"fuzhen@maptalks.org"},"directories":{},"maintainers":[{"name":"anonymous","email":"fuzhen@maptalks.org"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/feature-filter_1.2.0_1663728638051_0.9655978189335972"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-09-21T02:58:39.423Z","contributors":[]},"1.3.0":{"name":"@maptalks/feature-filter","version":"1.3.0","main":"./index.js","module":"./index.js","type":"module","description":"Creates filtering function for features","dependencies":{},"devDependencies":{"eslint":"^5.0.1","eslint-config-maptalks":"^0.2.1","eslint-plugin-mocha":"^5.1.0","expect.js":"^0.3.1","mocha":"^10.0.0"},"scripts":{"pretest":"eslint index.js test.js","test":"mocha test.js"},"repository":{"type":"git","url":"git+ssh://git@github.com/maptalks/feature-filter.git"},"gitHead":"96e303d19a99b579b33868d80cf595884982d7db","bugs":{"url":"https://github.com/maptalks/feature-filter/issues"},"homepage":"https://github.com/maptalks/feature-filter#readme","_id":"@maptalks/feature-filter@1.3.0","_nodeVersion":"16.15.1","_npmVersion":"7.20.5","dist":{"integrity":"sha512-O6GcFzPuCbz6bO4TNBnmP8VunS0GexTzZ4m36A4HbYQICY1cplpFgntX2fyB/TY3cZrFRGoeMePBeMZFMOOhcQ==","shasum":"dd004d65783e7310696d8eabf8bb5a8618dd6097","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/@maptalks/feature-filter/-/feature-filter-1.3.0.tgz","fileCount":11,"unpackedSize":92064,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEnbeaQbEyAqMraSxDmzN2hx5F7ssNqnTaTKldn58sBcAiBOaamETLZW7t8jxyEOT3C4Kvp3ei5ZWmAeg9nbIIoFZA=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjoYOGACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqLHw//eOlCcrQ0fow9IZo5UbgNQytHKrjsp7fQQWnv/3veM/C3nDdg\r\nQOJJNSP/roSBvco8UHXNcq3GvMBWwtMZZ/x46xR2hmyHTaDSeoAi9hrL+ky7\r\n6RLi3akUfhxiaBhWTH3tXVl/yfLRJF/5ktXR3HGtXd36VEgoOgvoj3LldKlW\r\ngU/c3SVxZuIOyLBiVBhsTCauFmuJHAsKPG19VZiYahlY5G7ekuuyVLtDsbD/\r\nkMMZwOW/gnRR8ktSreZ+LBspw7u59ESglC3ZKtajfdgF8jgB7xgoEGt7oUsD\r\n8NiBrsly8s2473cwbwRsWr60pTh34BMx8kq5LbAWKJXO2tyOb2vAvu6NBwZQ\r\nwWv1MnvECvR9AYiit/5k8KTplTiWz6HVkaHyrWlZkdn8XqMUQXTrwGPPK+tI\r\nKG+MpnTUnG3yDwjmEil/e7gMUCXdhKsDIjsUU6cOSbZV0udL9FbW4riFP68r\r\n/ZmXcTeFiGSbR95rSIV7XVikn+Mi8XgWwsbtP3gw7JVzNbmTBtcCCAjF+kka\r\nEn37upTbZX/VphQBQqYtOoHKU69ZMVLhFdbV2Rju/ZldsXNc/1pkgjBOCofD\r\n+8/8UJqpaKEZPVgdLGrYBmoYv1/adO4H4jCG2mwvA1n2iloFe1LrAbeRVflT\r\nzdP06yKBG3fE5BYtZu0hIWZTFTMclKy+3lI=\r\n=aRNN\r\n-----END PGP SIGNATURE-----\r\n","size":37435},"_npmUser":{"name":"anonymous","email":"fuzhen@maptalks.org"},"directories":{},"maintainers":[{"name":"anonymous","email":"fuzhen@maptalks.org"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/feature-filter_1.3.0_1671529350644_0.7426563941188127"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-12-20T09:48:00.427Z","contributors":[]}},"dist-tags":{"latest":"1.3.0"},"name":"@maptalks/feature-filter","time":{"modified":"2022-12-20T09:48:04.708Z","created":"2022-01-26T19:09:56.693Z","1.0.0":"2018-07-08T06:25:41.856Z","1.1.0":"2022-09-15T04:44:34.854Z","1.2.0":"2022-09-21T02:50:38.262Z","1.3.0":"2022-12-20T09:42:30.809Z"},"readme":"## Filter\r\n\r\n[![CircleCI](https://circleci.com/gh/maptalks/feature-filter.svg?style=svg)](https://circleci.com/gh/maptalks/feature-filter)\r\n\r\nFilter expressions are used to target specific data in a layer. This library implements the semantics specified by the [Mapbox GL JS spec](https://www.mapbox.com/mapbox-gl-style-spec/#filter).\r\n\r\n### API\r\n\r\n`featureFilter(filter)`\r\n\r\nGiven a filter expressed as nested arrays, return a new function\r\nthat evaluates whether a given feature (with a .properties or .tags property)\r\npasses its test.\r\n\r\n#### Parameters\r\n\r\n| parameter | type  | description      |\r\n| --------- | ----- | ---------------- |\r\n| `filter`  | Array | mapbox gl filter |\r\n\r\n**Returns** `Function`, filter-evaluating function\r\n\r\n### Usage\r\n\r\n``` javascript\r\nvar ff = require('feature-filter');\r\n\r\n// will match a feature with class of street_limited,\r\n// AND an admin_level less than or equal to 3,\r\n// that's NOT a polygon.\r\nvar filter = [\r\n    \"all\",\r\n    [\"==\", \"class\", \"street_limited\"],\r\n    [\"<=\", \"admin_level\", 3],\r\n    [\"!=\", \"$type\", \"Polygon\"]\r\n]\r\n\r\n// will match a feature that has a class of\r\n// wetland OR wetland_noveg.\r\n// [\"in\", \"class\", \"wetland\", \"wetland_noveg\"]\r\n\r\n// testFilter will be a function that returns a boolean\r\nvar testFilter = ff(filter);\r\n\r\n// Layer feature that you're testing. Must have type\r\n// and properties keys.\r\nvar feature = {\r\n    type: 2,\r\n    properties: {\r\n       class: \"street_limited\"\r\n       admin_level: 1\r\n    }\r\n};\r\n\r\n// will return a boolean based on whether the feature matched the filter\r\nreturn testFilter(feature);\r\n```","users":{}}