
Research
Security News
The Landscape of Malicious Open Source Packages: 2025 Mid‑Year Threat Report
A look at the top trends in how threat actors are weaponizing open source packages to deliver malware and persist across the software supply chain.
Node.js/Typescript types and services for [Biarity/Sieve](https://github.com/Biarity/Sieve).
Node.js/Typescript types and services for Biarity/Sieve.
If you use the Sieve package for filtering in your (.NET) back-end then you probably only have to look at the SieveFilterService
.
If however, you use this package for multiple back-ends you can use the HttpParamFilterService
as the fall-back to use "regular" HTTP-params
install & import the package:
yarn add sieve-ts
import { Filter, SieveFilterService } from "sieve-ts";
construct a filter using the models:
const filter = new Filter({
pageIndex: 2,
pageSize: 45,
sorts: [
{
field: "testField",
direction: SortDirection.Ascending,
},
],
filters: [
{
fields: ["firstField", "secondField"],
values: ["singleValue"],
operator: Operators.CONTAINS,
},
],
})
create a service and use it:
// user either one, both will return a string
const service = new SieveFilterService();
const service = new HttpParamService();
use the service to create a usable value:
console.log(service.toValue(filter));
Observe the output:
// The Sieve service will have combined the fields together into a single filter:
page=3&pageSize=45&Filters=(firstField|secondField)@=singleValue&Sorts=testField
// the HTTP service will simply pass both variables:
page=3&pageSize=45&firstField=singleValue&secondField=singleValue&testField=+
You can also give the FilterService the URL query parameter string and have it figure out the filter structure.
Let's try it with a rather complicated query param string: page=3&pageSize=45&Filters=(firstField|secondField)@=singleValue&Sorts=testField
// create service
const sieveService = new SieveFilterService();
// parse filter
const filters = sieveService.parse(
"page=3&pageSize=45&Filters=(firstField|secondField)@=singleValue&Sorts=testField",
);
// output
console.log(JSON.stringify(filters, null, 2));
To include extra/custom parameters simply call the toValue
or getFilterValue
functions with the optional second argument (key:value):
console.log(service.toValue(filter, {firstKey: "firstValue", secondKey: "secondValue"}));
If you have customized parts of your back-end Sieve you can also pass along the custom options to the SieveService.
Let's say we've customized the word "page" to someOtherWordForPage
and the character to split filter keys from |
to ~
, our config would look like this:
const sieveService = new SieveFilterService({
...SIEVE_CONSTANTS,
page: "someOtherWordForPage",
keySplitChar: "~",
});
Which would result in the following result instead:
someOtherWordForPage=3&pagesize=45&Filters=(firstField~secondField)@=singleValue&Sorts=testField
FAQs
Node.js/Typescript types and services for [Biarity/Sieve](https://github.com/Biarity/Sieve).
The npm package sieve-ts receives a total of 75 weekly downloads. As such, sieve-ts popularity was classified as not popular.
We found that sieve-ts demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
A look at the top trends in how threat actors are weaponizing open source packages to deliver malware and persist across the software supply chain.
Security News
ESLint now supports HTML linting with 48 new rules, expanding its language plugin system to cover more of the modern web development stack.
Security News
CISA is discontinuing official RSS support for KEV and cybersecurity alerts, shifting updates to email and social media, disrupting automation workflows.