Socket
Socket
Sign inDemoInstall

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 11.0.10 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

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc