Socket
Socket
Sign inDemoInstall

memoize-one

Package Overview
Dependencies
0
Maintainers
1
Versions
35
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 5.1.0-beta.4 to 5.1.0-beta.5

2

dist/are-inputs-equal.d.ts

@@ -1,1 +0,1 @@

export default function areInputsEqual(newInputs: unknown[], lastInputs: unknown[]): boolean;
export default function areInputsEqual(newInputs: readonly unknown[], lastInputs: readonly unknown[]): boolean;

@@ -1,2 +0,2 @@

export declare type EqualityFn = (newArgs: unknown[], lastArgs: unknown[]) => boolean;
export declare type EqualityFn = (newArgs: readonly unknown[], lastArgs: readonly unknown[]) => boolean;
export default function memoizeOne<ResultFn extends (this: any, ...newArgs: any[]) => ReturnType<ResultFn>>(resultFn: ResultFn, isEqual?: EqualityFn): ResultFn;

@@ -1,1 +0,1 @@

!function(e,n){"object"==typeof exports&&"undefined"!=typeof module?module.exports=n():"function"==typeof define&&define.amd?define(n):(e=e||self).memoizeOne=n()}(this,function(){"use strict";function e(e,n){if(e.length!==n.length)return!1;for(var t=0;t<e.length;t++)if(e[t]!==n[t])return!1;return!0}return function(t,r){var i;void 0===r&&(r=e);var f,o=[],u=!1;return function(){for(var e=[],n=0;n<arguments.length;n++)e[n]=arguments[n];return u&&i===this&&r(e,o)||(f=t.apply(this,e),u=!0,i=this,o=e),f}}});
!function(e,n){"object"==typeof exports&&"undefined"!=typeof module?module.exports=n():"function"==typeof define&&define.amd?define(n):(e=e||self).memoizeOne=n()}(this,function(){"use strict";function e(e,n){if(e.length!==n.length)return!1;for(var t=0;t<e.length;t++)if(e[t]!==n[t])return!1;return!0}return function(n,t){var r;void 0===t&&(t=e);var i,f=[],o=!1;return function(){for(var e=[],u=0;u<arguments.length;u++)e[u]=arguments[u];return o&&r===this&&t(e,f)?i:(i=n.apply(this,e),o=!0,r=this,f=e,i)}}});
{
"name": "memoize-one",
"version": "5.1.0-beta.4",
"version": "5.1.0-beta.5",
"description": "A memoization library which only remembers the latest invocation",

@@ -37,3 +37,2 @@ "main": "dist/memoize-one.cjs.js",

"eslint-plugin-prettier": "^3.1.0",
"flow-bin": "^0.105.2",
"jest": "^24.9.0",

@@ -44,6 +43,5 @@ "lodash.isequal": "^4.5.0",

"rollup": "^1.19.4",
"rollup-plugin-commonjs": "^10.0.2",
"rollup-plugin-replace": "^2.2.0",
"rollup-plugin-terser": "^5.1.1",
"rollup-plugin-typescript": "^1.0.1",
"rollup-plugin-uglify": "^6.0.2",
"ts-jest": "^24.0.2",

@@ -50,0 +48,0 @@ "ts-node": "^8.3.0",

@@ -57,5 +57,18 @@ # memoize-one

const memoized = memoizeOne(fn, isEqual);
type EqualityFn = (newArgs: mixed[], oldArgs: mixed[]) => boolean;
```
The quality function needs to conform to this `type`:
```ts
type EqualityFn = (newArgs: readonly unknown[], lastArgs: readonly unknown[]) => boolean;
// You can import this type from memoize-one if you like
// typescript
import { EqualityFn } from 'memoize-one';
// flow
import type { EqualityFn } from 'memoize-one';
```
An equality function should return `true` if the arguments are equal. If `true` is returned then the wrapped function will not be called.

@@ -65,8 +78,2 @@

```js
const simpleIsEqual: EqualityFn = (newArgs: mixed[], lastArgs: mixed[]): boolean =>
newArgs.length === lastArgs.length &&
newArgs.every((newArg: mixed, index: number): boolean => shallowEqual(newArg, lastArgs[index]));
```
A custom equality function needs to compare `Arrays`. The `newArgs` array will be a new reference every time so a simple `newArgs === lastArgs` will always return `false`.

@@ -73,0 +80,0 @@

@@ -1,3 +0,5 @@

// @flow
export default function areInputsEqual(newInputs: unknown[], lastInputs: unknown[]): boolean {
export default function areInputsEqual(
newInputs: readonly unknown[],
lastInputs: readonly unknown[],
): boolean {
// no checks needed if the inputs length has changed

@@ -4,0 +6,0 @@ if (newInputs.length !== lastInputs.length) {

import areInputsEqual from './are-inputs-equal';
export type EqualityFn = (newArgs: unknown[], lastArgs: unknown[]) => boolean;
export type EqualityFn = (newArgs: readonly unknown[], lastArgs: readonly unknown[]) => boolean;

@@ -5,0 +5,0 @@ export default function memoizeOne<

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

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc