🚀 Big News: Socket Acquires Coana to Bring Reachability Analysis to Every Appsec Team.Learn more
Socket
Book a DemoInstallSign in
Socket

sift

Package Overview
Dependencies
Maintainers
2
Versions
155
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

sift - npm Package Compare versions

Comparing version

to
11.1.0

lib/core.d.ts

16

es5m/core.js

@@ -176,6 +176,16 @@ var __extends = (this && this.__extends) || (function () {

export var numericalOperationCreator = function (createNumericalOperation) { return function (params, owneryQuery, options) {
return params == null
? new NopeOperation(params, owneryQuery, options)
: createNumericalOperation(params, owneryQuery, options);
if (params == null) {
return new NopeOperation(params, owneryQuery, options);
}
return createNumericalOperation(params, owneryQuery, options);
}; };
export var numericalOperation = function (createTester) {
return numericalOperationCreator(function (params, owneryQuery, options) {
var typeofParams = typeof comparable(params);
var test = createTester(params);
return new EqualsOperation(function (b) {
return typeof comparable(b) === typeofParams && test(b);
}, owneryQuery, options);
});
};
var createOperation = function (name, params, parentQuery, options) {

@@ -182,0 +192,0 @@ var operationCreator = options.operations[name];

18

es5m/operations.js

@@ -14,3 +14,3 @@ var __extends = (this && this.__extends) || (function () {

})();
import { BaseOperation, EqualsOperation, createTester, createQueryOperation, numericalOperationCreator, GroupOperation } from "./core";
import { BaseOperation, EqualsOperation, createTester, createQueryOperation, GroupOperation, numericalOperation } from "./core";
import { comparable, isFunction } from "./utils";

@@ -156,14 +156,6 @@ var $Ne = /** @class */ (function (_super) {

};
export var $lt = numericalOperationCreator(function (params, owneryQuery, options) {
return new EqualsOperation(function (b) { return b < params; }, owneryQuery, options);
});
export var $lte = numericalOperationCreator(function (params, owneryQuery, options) {
return new EqualsOperation(function (b) { return b <= params; }, owneryQuery, options);
});
export var $gt = numericalOperationCreator(function (params, owneryQuery, options) {
return new EqualsOperation(function (b) { return b > params; }, owneryQuery, options);
});
export var $gte = numericalOperationCreator(function (params, owneryQuery, options) {
return new EqualsOperation(function (b) { return b >= params; }, owneryQuery, options);
});
export var $lt = numericalOperation(function (params) { return function (b) { return b < params; }; });
export var $lte = numericalOperation(function (params) { return function (b) { return b <= params; }; });
export var $gt = numericalOperation(function (params) { return function (b) { return b > params; }; });
export var $gte = numericalOperation(function (params) { return function (b) { return b >= params; }; });
export var $mod = function (_a, owneryQuery, options) {

@@ -170,0 +162,0 @@ var mod = _a[0], equalsValue = _a[1];

@@ -80,2 +80,2 @@ // export type SupportedType =

export * from "./core";
export * from "./lib/core";

@@ -178,6 +178,16 @@ "use strict";

exports.numericalOperationCreator = function (createNumericalOperation) { return function (params, owneryQuery, options) {
return params == null
? new NopeOperation(params, owneryQuery, options)
: createNumericalOperation(params, owneryQuery, options);
if (params == null) {
return new NopeOperation(params, owneryQuery, options);
}
return createNumericalOperation(params, owneryQuery, options);
}; };
exports.numericalOperation = function (createTester) {
return exports.numericalOperationCreator(function (params, owneryQuery, options) {
var typeofParams = typeof utils_1.comparable(params);
var test = createTester(params);
return new EqualsOperation(function (b) {
return typeof utils_1.comparable(b) === typeofParams && test(b);
}, owneryQuery, options);
});
};
var createOperation = function (name, params, parentQuery, options) {

@@ -184,0 +194,0 @@ var operationCreator = options.operations[name];

@@ -157,14 +157,6 @@ "use strict";

};
exports.$lt = core_1.numericalOperationCreator(function (params, owneryQuery, options) {
return new core_1.EqualsOperation(function (b) { return b < params; }, owneryQuery, options);
});
exports.$lte = core_1.numericalOperationCreator(function (params, owneryQuery, options) {
return new core_1.EqualsOperation(function (b) { return b <= params; }, owneryQuery, options);
});
exports.$gt = core_1.numericalOperationCreator(function (params, owneryQuery, options) {
return new core_1.EqualsOperation(function (b) { return b > params; }, owneryQuery, options);
});
exports.$gte = core_1.numericalOperationCreator(function (params, owneryQuery, options) {
return new core_1.EqualsOperation(function (b) { return b >= params; }, owneryQuery, options);
});
exports.$lt = core_1.numericalOperation(function (params) { return function (b) { return b < params; }; });
exports.$lte = core_1.numericalOperation(function (params) { return function (b) { return b <= params; }; });
exports.$gt = core_1.numericalOperation(function (params) { return function (b) { return b > params; }; });
exports.$gte = core_1.numericalOperation(function (params) { return function (b) { return b >= params; }; });
exports.$mod = function (_a, owneryQuery, options) {

@@ -171,0 +163,0 @@ var mod = _a[0], equalsValue = _a[1];

{
"name": "sift",
"description": "mongodb query style array filtering",
"version": "11.0.10",
"version": "11.1.0",
"repository": "crcn/sift.js",

@@ -6,0 +6,0 @@ "sideEffects": false,

**Installation**: `npm install sift`, or `yarn add sift`
## Sift is a tiny library for using MongoDB queries in Javascript
## Sift is a tiny library for using MongoDB queries to filter data in Javascript

@@ -16,7 +16,5 @@ [![Build Status](https://secure.travis-ci.org/crcn/sift.js.png)](https://secure.travis-ci.org/crcn/sift.js)

- Regexp searches
- Function filtering
- Dot notation searching
- Supports node.js, and web
- Custom Operations
- Tree-shaking
- Tree-shaking (omitting functionality from web app bundles)

@@ -29,3 +27,3 @@ ## Examples

//intersecting arrays
var result = ["hello", "sifted", "array!"].filter(
const result1 = ["hello", "sifted", "array!"].filter(
sift({ $in: ["hello", "world"] })

@@ -35,6 +33,6 @@ ); //['hello']

//regexp filter
var result = ["craig", "john", "jake"].filter(sift(/^j/)); //['john','jake']
const result2 = ["craig", "john", "jake"].filter(sift(/^j/)); //['john','jake']
// function filter
var testFilter = sift({
const testFilter = sift({
//you can also filter against functions

@@ -46,3 +44,3 @@ name: function(value) {

var result = [
const result3 = [
{

@@ -49,0 +47,0 @@ name: "craig"

@@ -234,7 +234,25 @@ import {

createNumericalOperation: OperationCreator
) => (params: number, owneryQuery: any, options: Options) =>
params == null
? new NopeOperation(params, owneryQuery, options)
: createNumericalOperation(params, owneryQuery, options);
) => (params: any, owneryQuery: any, options: Options) => {
if (params == null) {
return new NopeOperation(params, owneryQuery, options);
}
return createNumericalOperation(params, owneryQuery, options);
};
export const numericalOperation = (createTester: (any) => Tester) =>
numericalOperationCreator(
(params: any, owneryQuery: Query, options: Options) => {
const typeofParams = typeof comparable(params);
const test = createTester(params);
return new EqualsOperation(
b => {
return typeof comparable(b) === typeofParams && test(b);
},
owneryQuery,
options
);
}
);
export type Options = {

@@ -241,0 +259,0 @@ operations: {

@@ -12,3 +12,4 @@ import {

Query,
GroupOperation
GroupOperation,
numericalOperation
} from "./core";

@@ -136,18 +137,7 @@ import { Key, comparable, isFunction } from "./utils";

new $Or(params, owneryQuery, options);
export const $lt = numericalOperationCreator(
(params: any, owneryQuery: Query, options: Options) =>
new EqualsOperation(b => b < params, owneryQuery, options)
);
export const $lte = numericalOperationCreator(
(params: any, owneryQuery: Query, options: Options) =>
new EqualsOperation(b => b <= params, owneryQuery, options)
);
export const $gt = numericalOperationCreator(
(params: any, owneryQuery: Query, options: Options) =>
new EqualsOperation(b => b > params, owneryQuery, options)
);
export const $gte = numericalOperationCreator(
(params: any, owneryQuery: Query, options: Options) =>
new EqualsOperation(b => b >= params, owneryQuery, options)
);
export const $lt = numericalOperation(params => b => b < params);
export const $lte = numericalOperation(params => b => b <= params);
export const $gt = numericalOperation(params => b => b > params);
export const $gte = numericalOperation(params => b => b >= params);
export const $mod = (

@@ -154,0 +144,0 @@ [mod, equalsValue]: number[],

@@ -66,2 +66,8 @@ import * as assert from "assert";

it("can compare various $lt dates", () => {
// assert.equal(sift({ $lt: new Date() })(new Date('2010-01-01')), true);
// assert.equal(sift({ $lt: new Date() })(new Date('2030-01-01')), false);
assert.equal(sift({ $lt: new Date() })(null), false);
});
it("$ne: null does not hit when field is present", function() {

@@ -68,0 +74,0 @@ var sifter = sift({ age: { $ne: null } });

@@ -7,13 +7,3 @@ import * as assert from "assert";

[
[
{
$where: function() {
return this.v === 1;
}
},
[{ v: 1 }, { v: 2 }],
[{ v: 1 }]
],
[{ $where: "this.v === 1" }, [{ v: 1 }, { v: 2 }], [{ v: 1 }]],
[{ $where: "obj.v === 1" }, [{ v: 1 }, { v: 2 }], [{ v: 1 }]],
[{ $lt: new Date() }, [null], []],

@@ -141,3 +131,6 @@ // $eq

[{ $lt: "c" }, ["a", "b", "c"], ["a", "b"]],
[{ $lt: "5" }, [4, 3, 2, 1], []],
[{ $lt: null }, [-3, -4], []],
[{ $lt: new Date() }, [null], []],
[{ $lt: new Date() }, [new Date("2010-01-01")], [new Date("2010-01-01")]],
[

@@ -151,2 +144,4 @@ { $lt: new Date(3) },

[{ $lte: 5 }, [3, 4, 5, 6], [3, 4, 5]],
[{ $lte: "5" }, [4, 3, 2, 1], []],
[{ $lte: "5" }, ["4", "3", "2"], ["4", "3", "2"]],
[

@@ -161,2 +156,4 @@ { groups: { $lt: 5 } },

[{ $gt: null }, [3, 4], []],
[{ $gt: "5" }, [6, 7, 8], []],
[{ $gt: "5" }, ["6", "7", "8"], ["6", "7", "8"]],
[

@@ -170,2 +167,3 @@ { groups: { $gt: 5 } },

[{ $gte: 5 }, [3, 4, 5, 6], [5, 6]],
[{ $gte: "5" }, [4, 3, 2, 1], []],
[

@@ -172,0 +170,0 @@ { groups: { $gte: 5 } },

@@ -7,2 +7,3 @@ {

"module": "commonjs",
"declaration": true,
"allowSyntheticDefaultImports": true

@@ -9,0 +10,0 @@ },

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet