react-data-multi-filter
Advanced tools
Comparing version 0.5.9 to 0.5.10
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
const React = require("react"); | ||
const memoizee_1 = require("memoizee"); | ||
const memoize = require("memoizee"); | ||
class DataFilter extends React.Component { | ||
constructor(props) { | ||
super(props); | ||
this.applyFilterToData = memoizee_1.default((data, filter) => { | ||
this.applyFilterToData = memoize((data, filter) => { | ||
const filterResults = []; | ||
@@ -20,3 +20,3 @@ for (let idx = 0; idx < data.length; idx += 1) { | ||
}); | ||
this.memoizedFilterData = memoizee_1.default((data, | ||
this.memoizedFilterData = memoize((data, | ||
filters, exclude, include) => { | ||
@@ -86,3 +86,3 @@ let filtersKeysToInclude = Object.keys(filters); | ||
return Object.keys(funcHash).reduce((accumulator, key) => { | ||
const memoizedFunc = memoizee_1.default(funcHash[key], { length: funcHash[key].length }); | ||
const memoizedFunc = memoize(funcHash[key], { length: funcHash[key].length }); | ||
for (const propertyKey of Object.keys(funcHash[key])) { | ||
@@ -89,0 +89,0 @@ memoizedFunc[propertyKey] = funcHash[key][propertyKey]; |
import * as React from 'react'; | ||
import { DataFilterProps } from './DataFilter'; | ||
declare module 'React' { | ||
function createContext<T>(defaultValue: T, calculateChangedBits?: (prev: T, next: T) => number): Context<T>; | ||
type RenderFn<T> = (value: T) => React.ReactNode; | ||
type Context<T> = { | ||
Provider: React.ComponentClass<ProviderProps<T>>; | ||
Consumer: React.ComponentClass<ConsumerProps<T>>; | ||
}; | ||
type ProviderProps<T> = { | ||
value: T; | ||
children: React.ReactNode; | ||
}; | ||
type ConsumerProps<T> = { | ||
children: RenderFn<T> | [RenderFn<T>]; | ||
observedBits?: number; | ||
}; | ||
} | ||
export declare function createDataFilterContext<T = any>(): { | ||
@@ -4,0 +20,0 @@ Provider: (props: Pick<DataFilterProps<T>, "data" | "filters"> & { |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
const React = require("react"); | ||
const create_react_context_1 = require("create-react-context"); | ||
const DataFilter_1 = require("./DataFilter"); | ||
const react_component_component_1 = require("react-component-component"); | ||
function createDataFilterContext() { | ||
const Context = create_react_context_1.default({ | ||
const Context = React.createContext({ | ||
filteredInData: [], | ||
@@ -10,0 +9,0 @@ filteredOutData: [], |
import * as React from 'react'; | ||
import { DataFilterProps } from './DataFilter'; | ||
declare module 'React' { | ||
function createContext<T>(defaultValue: T, calculateChangedBits?: (prev: T, next: T) => number): Context<T>; | ||
type RenderFn<T> = (value: T) => React.ReactNode; | ||
type Context<T> = { | ||
Provider: React.ComponentClass<ProviderProps<T>>; | ||
Consumer: React.ComponentClass<ConsumerProps<T>>; | ||
}; | ||
type ProviderProps<T> = { | ||
value: T; | ||
children: React.ReactNode; | ||
}; | ||
type ConsumerProps<T> = { | ||
children: RenderFn<T> | [RenderFn<T>]; | ||
observedBits?: number; | ||
}; | ||
} | ||
export declare function createDataFilterContext<T = any>(): { | ||
@@ -4,0 +20,0 @@ Provider: (props: Pick<DataFilterProps<T>, "data" | "filters"> & { |
@@ -5,5 +5,5 @@ { | ||
"main": "build/cjs/index.js", | ||
"module": "build/es/index.mjs", | ||
"module": "build/es/index.js", | ||
"typings": "build/es/index.d.ts", | ||
"version": "0.5.9", | ||
"version": "0.5.10", | ||
"keywords": [ | ||
@@ -17,6 +17,5 @@ "react", | ||
"peerDependencies": { | ||
"react": "^14.0.0 || ^15.0.0 || ^16.0.0" | ||
"react": "^16.3.0" | ||
}, | ||
"dependencies": { | ||
"create-react-context": "^0.2.1", | ||
"memoizee": "^0.4.12", | ||
@@ -23,0 +22,0 @@ "react-component-component": "^1.2.1" |
@@ -38,11 +38,10 @@ # React Data Multi Filter | ||
const MyComponent = () => { | ||
const data = [0, 1, 2, 3, 4, 5]; | ||
const greaterThanTwo = (datum: number) => datum > 2; | ||
const lessThanFive = (datum: number) => datum < 5; | ||
const data = [{ a: 0 }, { a: 1 }, { a: 2 }]; | ||
const greaterThanOne = (datum: { a: number }) => datum.a > 1; | ||
return ( | ||
<DataFilterContext.Provider data={data} filters={{ greaterThanTwo }}> | ||
<DataFilterContext.Consumer filters={{ lessThanFive }}> | ||
<DataFilterContext.Provider data={data}> | ||
<DataFilterContext.Consumer filters={{ greaterThanOne }}> | ||
{({ filteredInData }) => ( | ||
<span> | ||
{filteredInData} | ||
{filteredInData/* [{ a: 2 }] */} | ||
</span> | ||
@@ -49,0 +48,0 @@ )} |
@@ -13,29 +13,1 @@ declare module 'react-component-component' { | ||
} | ||
declare module 'create-react-context' { | ||
import * as React from 'react'; | ||
function createReactContext<T>( | ||
defaultValue: T, | ||
calculateChangedBits?: (prev: T, next: T) => number | ||
): Context<T>; | ||
type RenderFn<T> = (value: T) => React.ReactNode; | ||
type Context<T> = { | ||
Provider: React.ComponentClass<ProviderProps<T>>; | ||
Consumer: React.ComponentClass<ConsumerProps<T>>; | ||
}; | ||
type ProviderProps<T> = { | ||
value: T; | ||
children: React.ReactNode; | ||
}; | ||
type ConsumerProps<T> = { | ||
children: RenderFn<T> | [RenderFn<T>]; | ||
observedBits?: number; | ||
}; | ||
export = createReactContext; | ||
} |
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
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
91889
3
1302
206
- Removedcreate-react-context@^0.2.1
- Removedasap@2.0.6(transitive)
- Removedcore-js@1.2.7(transitive)
- Removedcreate-react-context@0.2.3(transitive)
- Removedencoding@0.1.13(transitive)
- Removedfbjs@0.8.18(transitive)
- Removedgud@1.0.0(transitive)
- Removediconv-lite@0.6.3(transitive)
- Removedis-stream@1.1.0(transitive)
- Removedisomorphic-fetch@2.2.1(transitive)
- Removednode-fetch@1.7.3(transitive)
- Removedpromise@7.3.1(transitive)
- Removedsafer-buffer@2.1.2(transitive)
- Removedsetimmediate@1.0.5(transitive)
- Removedua-parser-js@0.7.40(transitive)
- Removedwhatwg-fetch@3.6.20(transitive)