Comparing version 1.4.1 to 1.4.2
{ | ||
"name": "ngx-pipes", | ||
"version": "1.4.1", | ||
"version": "1.4.2", | ||
"author": "Dan Revah", | ||
@@ -5,0 +5,0 @@ "description": "Useful angular2 pipes", |
@@ -9,3 +9,3 @@ "use strict"; | ||
if (strict === void 0) { strict = false; } | ||
if (!Array.isArray(input) || (!helpers_1.isString(search) && !helpers_1.isNumberFinite(search))) { | ||
if (!Array.isArray(input) || (!helpers_1.isString(search) && !helpers_1.isNumberFinite(search) && !helpers_1.isBoolean(search))) { | ||
return input; | ||
@@ -12,0 +12,0 @@ } |
@@ -7,6 +7,6 @@ import {FilterByPipe} from './filter-by'; | ||
const users = [ | ||
{id: 1, first_name: 'John', last_name: 'Doe', work: { title: 'Software Engineer', company: 'Foo Tech', previous_company: 'Unknown' }}, | ||
{id: 2, first_name: 'Jane', last_name: 'West', work: { title: 'Designer', company: 'AAA Solutions', previous_company: 'Unknown' }}, | ||
{id: 3, first_name: 'Bruce', last_name: 'John', work: { title: 'Software Engineer', company: 'Bar Tech', previous_company: 'Unknown' }}, | ||
{id: 4, first_name: 'William', last_name: 'Cent', work: { title: 'Designer', company: 'Foo Tech', previous_company: 'Bar Tech' }} | ||
{id: 1, first_name: 'John', last_name: 'Doe', work: { title: 'Software Engineer', company: 'Foo Tech', previous_company: 'Unknown' }, current_employed: true}, | ||
{id: 2, first_name: 'Jane', last_name: 'West', work: { title: 'Designer', company: 'AAA Solutions', previous_company: 'Unknown' }, current_employed: false}, | ||
{id: 3, first_name: 'Bruce', last_name: 'John', work: { title: 'Software Engineer', company: 'Bar Tech', previous_company: 'Unknown' }, current_employed: true}, | ||
{id: 4, first_name: 'William', last_name: 'Cent', work: { title: 'Designer', company: 'Foo Tech', previous_company: 'Bar Tech' }, current_employed: false} | ||
]; | ||
@@ -33,2 +33,10 @@ | ||
it('should filter by boolean value', () => { | ||
const filtered = pipe.transform(users, ['current_employed'], true); | ||
expect(filtered.length).toEqual(2); | ||
expect(filtered[0]).toEqual(users[0]); | ||
expect(filtered[1]).toEqual(users[2]); | ||
}); | ||
it('should filter by multiple fields with a two result', () => { | ||
@@ -35,0 +43,0 @@ const filtered = pipe.transform(users, ['first_name', 'last_name'], 'John'); |
import {PipeTransform, Pipe} from '@angular/core'; | ||
import {isString, extractDeepPropertyByMapKey, isNumberFinite} from '../helpers/helpers'; | ||
import {isString, extractDeepPropertyByMapKey, isNumberFinite, isBoolean} from '../helpers/helpers'; | ||
@@ -8,3 +8,3 @@ @Pipe({name: 'filterBy'}) | ||
transform(input: any, props: Array<string>, search: any, strict: boolean = false): any[] { | ||
if (!Array.isArray(input) || (!isString(search) && !isNumberFinite(search))) { | ||
if (!Array.isArray(input) || (!isString(search) && !isNumberFinite(search) && !isBoolean(search))) { | ||
return input; | ||
@@ -11,0 +11,0 @@ } |
@@ -75,2 +75,31 @@ import {OrderByPipe} from './order-by'; | ||
it('should order by a property of type boolean', () => { | ||
expect(pipe.transform([ | ||
{id: 1, value: false}, | ||
{id: 2, value: true}, | ||
{id: 3, value: false}, | ||
{id: 4, value: true}, | ||
], 'value')).toEqual([ | ||
{id: 1, value: false}, | ||
{id: 3, value: false}, | ||
{id: 2, value: true}, | ||
{id: 4, value: true}, | ||
]); | ||
}); | ||
it('should order by a property of type date', () => { | ||
const curr = new Date; | ||
expect(pipe.transform([ | ||
{id: 1, value: new Date(curr.getTime() + 3)}, | ||
{id: 2, value: new Date(curr.getTime() + 2)}, | ||
{id: 3, value: new Date(curr.getTime() + 1)}, | ||
{id: 4, value: new Date(curr.getTime() + 4)}, | ||
], 'value')).toEqual([ | ||
{id: 3, value: new Date(curr.getTime() + 1)}, | ||
{id: 2, value: new Date(curr.getTime() + 2)}, | ||
{id: 1, value: new Date(curr.getTime() + 3)}, | ||
{id: 4, value: new Date(curr.getTime() + 4)}, | ||
]); | ||
}); | ||
it('should order by property if there a stringy value of `+property` or `property`', () => { | ||
@@ -77,0 +106,0 @@ expect(pipe.transform(testArray, 'name')).toEqual([ |
@@ -5,4 +5,5 @@ export declare function isUndefined(value: any): boolean; | ||
export declare function isString(value: any): boolean; | ||
export declare function isBoolean(value: any): boolean; | ||
export declare function isObject(value: any): boolean; | ||
export declare function isNumberFinite(value: any): boolean; | ||
export declare function extractDeepPropertyByMapKey(obj: any, map: string): any; |
@@ -18,2 +18,6 @@ "use strict"; | ||
exports.isString = isString; | ||
function isBoolean(value) { | ||
return typeof value === 'boolean'; | ||
} | ||
exports.isBoolean = isBoolean; | ||
function isObject(value) { | ||
@@ -20,0 +24,0 @@ return value !== null && typeof value === 'object'; |
@@ -1,1 +0,1 @@ | ||
[{"__symbolic":"module","version":3,"metadata":{"isUndefined":{"__symbolic":"function","parameters":["value"],"value":{"__symbolic":"binop","operator":"===","left":{"__symbolic":"error","message":"Expression form not supported","line":3,"character":9},"right":"undefined"}},"isFunction":{"__symbolic":"function","parameters":["value"],"value":{"__symbolic":"binop","operator":"===","left":{"__symbolic":"error","message":"Expression form not supported","line":7,"character":9},"right":"function"}},"isNumber":{"__symbolic":"function","parameters":["value"],"value":{"__symbolic":"binop","operator":"===","left":{"__symbolic":"error","message":"Expression form not supported","line":11,"character":9},"right":"number"}},"isString":{"__symbolic":"function","parameters":["value"],"value":{"__symbolic":"binop","operator":"===","left":{"__symbolic":"error","message":"Expression form not supported","line":15,"character":9},"right":"string"}},"isObject":{"__symbolic":"function","parameters":["value"],"value":{"__symbolic":"binop","operator":"&&","left":{"__symbolic":"binop","operator":"!==","left":{"__symbolic":"reference","name":"value"},"right":null},"right":{"__symbolic":"binop","operator":"===","left":{"__symbolic":"error","message":"Expression form not supported","line":19,"character":27},"right":"object"}}},"isNumberFinite":{"__symbolic":"function","parameters":["value"],"value":{"__symbolic":"binop","operator":"&&","left":{"__symbolic":"call","expression":{"__symbolic":"reference","name":"isNumber"},"arguments":[{"__symbolic":"reference","name":"value"}]},"right":{"__symbolic":"call","expression":{"__symbolic":"reference","name":"isFinite"},"arguments":[{"__symbolic":"reference","name":"value"}]}}},"extractDeepPropertyByMapKey":{"__symbolic":"function"}}},{"__symbolic":"module","version":1,"metadata":{"isUndefined":{"__symbolic":"function","parameters":["value"],"value":{"__symbolic":"binop","operator":"===","left":{"__symbolic":"error","message":"Expression form not supported","line":3,"character":9},"right":"undefined"}},"isFunction":{"__symbolic":"function","parameters":["value"],"value":{"__symbolic":"binop","operator":"===","left":{"__symbolic":"error","message":"Expression form not supported","line":7,"character":9},"right":"function"}},"isNumber":{"__symbolic":"function","parameters":["value"],"value":{"__symbolic":"binop","operator":"===","left":{"__symbolic":"error","message":"Expression form not supported","line":11,"character":9},"right":"number"}},"isString":{"__symbolic":"function","parameters":["value"],"value":{"__symbolic":"binop","operator":"===","left":{"__symbolic":"error","message":"Expression form not supported","line":15,"character":9},"right":"string"}},"isObject":{"__symbolic":"function","parameters":["value"],"value":{"__symbolic":"binop","operator":"&&","left":{"__symbolic":"binop","operator":"!==","left":{"__symbolic":"reference","name":"value"},"right":null},"right":{"__symbolic":"binop","operator":"===","left":{"__symbolic":"error","message":"Expression form not supported","line":19,"character":27},"right":"object"}}},"isNumberFinite":{"__symbolic":"function","parameters":["value"],"value":{"__symbolic":"binop","operator":"&&","left":{"__symbolic":"call","expression":{"__symbolic":"reference","name":"isNumber"},"arguments":[{"__symbolic":"reference","name":"value"}]},"right":{"__symbolic":"call","expression":{"__symbolic":"reference","name":"isFinite"},"arguments":[{"__symbolic":"reference","name":"value"}]}}},"extractDeepPropertyByMapKey":{"__symbolic":"function"}}}] | ||
[{"__symbolic":"module","version":3,"metadata":{"isUndefined":{"__symbolic":"function","parameters":["value"],"value":{"__symbolic":"binop","operator":"===","left":{"__symbolic":"error","message":"Expression form not supported","line":3,"character":9},"right":"undefined"}},"isFunction":{"__symbolic":"function","parameters":["value"],"value":{"__symbolic":"binop","operator":"===","left":{"__symbolic":"error","message":"Expression form not supported","line":7,"character":9},"right":"function"}},"isNumber":{"__symbolic":"function","parameters":["value"],"value":{"__symbolic":"binop","operator":"===","left":{"__symbolic":"error","message":"Expression form not supported","line":11,"character":9},"right":"number"}},"isString":{"__symbolic":"function","parameters":["value"],"value":{"__symbolic":"binop","operator":"===","left":{"__symbolic":"error","message":"Expression form not supported","line":15,"character":9},"right":"string"}},"isBoolean":{"__symbolic":"function","parameters":["value"],"value":{"__symbolic":"binop","operator":"===","left":{"__symbolic":"error","message":"Expression form not supported","line":19,"character":9},"right":"boolean"}},"isObject":{"__symbolic":"function","parameters":["value"],"value":{"__symbolic":"binop","operator":"&&","left":{"__symbolic":"binop","operator":"!==","left":{"__symbolic":"reference","name":"value"},"right":null},"right":{"__symbolic":"binop","operator":"===","left":{"__symbolic":"error","message":"Expression form not supported","line":23,"character":27},"right":"object"}}},"isNumberFinite":{"__symbolic":"function","parameters":["value"],"value":{"__symbolic":"binop","operator":"&&","left":{"__symbolic":"call","expression":{"__symbolic":"reference","name":"isNumber"},"arguments":[{"__symbolic":"reference","name":"value"}]},"right":{"__symbolic":"call","expression":{"__symbolic":"reference","name":"isFinite"},"arguments":[{"__symbolic":"reference","name":"value"}]}}},"extractDeepPropertyByMapKey":{"__symbolic":"function"}}},{"__symbolic":"module","version":1,"metadata":{"isUndefined":{"__symbolic":"function","parameters":["value"],"value":{"__symbolic":"binop","operator":"===","left":{"__symbolic":"error","message":"Expression form not supported","line":3,"character":9},"right":"undefined"}},"isFunction":{"__symbolic":"function","parameters":["value"],"value":{"__symbolic":"binop","operator":"===","left":{"__symbolic":"error","message":"Expression form not supported","line":7,"character":9},"right":"function"}},"isNumber":{"__symbolic":"function","parameters":["value"],"value":{"__symbolic":"binop","operator":"===","left":{"__symbolic":"error","message":"Expression form not supported","line":11,"character":9},"right":"number"}},"isString":{"__symbolic":"function","parameters":["value"],"value":{"__symbolic":"binop","operator":"===","left":{"__symbolic":"error","message":"Expression form not supported","line":15,"character":9},"right":"string"}},"isBoolean":{"__symbolic":"function","parameters":["value"],"value":{"__symbolic":"binop","operator":"===","left":{"__symbolic":"error","message":"Expression form not supported","line":19,"character":9},"right":"boolean"}},"isObject":{"__symbolic":"function","parameters":["value"],"value":{"__symbolic":"binop","operator":"&&","left":{"__symbolic":"binop","operator":"!==","left":{"__symbolic":"reference","name":"value"},"right":null},"right":{"__symbolic":"binop","operator":"===","left":{"__symbolic":"error","message":"Expression form not supported","line":23,"character":27},"right":"object"}}},"isNumberFinite":{"__symbolic":"function","parameters":["value"],"value":{"__symbolic":"binop","operator":"&&","left":{"__symbolic":"call","expression":{"__symbolic":"reference","name":"isNumber"},"arguments":[{"__symbolic":"reference","name":"value"}]},"right":{"__symbolic":"call","expression":{"__symbolic":"reference","name":"isFinite"},"arguments":[{"__symbolic":"reference","name":"value"}]}}},"extractDeepPropertyByMapKey":{"__symbolic":"function"}}}] |
@@ -19,2 +19,6 @@ | ||
export function isBoolean(value: any) { | ||
return typeof value === 'boolean'; | ||
} | ||
export function isObject(value: any) { | ||
@@ -21,0 +25,0 @@ return value !== null && typeof value === 'object'; |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
379717
5244