hexo/node_modules/micro-memoize/CHANGELOG.md

6.5 KiB

micro-memoize CHANGELOG

4.1.2

4.1.1 (Bad version - do not use)

  • #102 - avoid publishing development-only files for less node_modules bloat

4.1.0

Enhancements

  • Types now have direct exports instead of requiring the MicroMemoize namespace. That namespace has been labeled as deprecated, and will be removed in the next major version change in favor of the direct type exports.

Bugfixes

  • #97 - src files included in publish, and referenced from *.d.ts files
  • mjs/*d.ts files renamed to mjs/*.d.mts to align with NodeJS standard
  • #101 - fixed benchmark using mem incorrectly for complex object parameters or multiple parameter calls

4.0.15

  • #99 - mjs import does not have typings surfaced

4.0.14

  • Republish of #87

4.0.13 (Bad version - do not use)

  • #87 - Default generic values for exposed types, to avoid unintentional breaking changes from #85

4.0.12

  • #84 - Fix inferred typing of memoized function
  • #85 - Follow-up on #84, further improving inferred typing via pass-throughs.

4.0.11

  • Fix #79 - Sourcemaps referencing incorrect hierarchy

4.0.10

  • Fix #76 - noUncheckedIndexedAccess support on TS 4.1+

4.0.9

  • Update npm search keywords and documentation

4.0.8

  • Improve typings to support strict mode in TypeScript

4.0.7

  • Create more targeted getKeyIndex helpers for more speed in each key situation

4.0.6

  • Use standard then interface (.then(onFulfilled, onRejected)) instead of ES spec (.then(onFulfilled).catch(onRejected)) for broader support

4.0.5

  • Fix failure when getKeyIndex is used and no keys are in the cache

4.0.4

  • Use .pop() to cap cache to maxSize when possible (slight performance improvement)

4.0.3

  • Namespace types under MicroMemoize namespace (which is how it was for 4.0.0, but it got lost)

4.0.2

  • Make Cache class consumable in types

4.0.1

  • Fix types for consumption

4.0.0

  • Update to use Cache class instead of plain object (~10% performance improvement)

Breaking changes

  • memoized.cacheSnapshot has been deprecated in favor of memoized.cache.snapshot
  • Memoizing an already-memoized function no longer returns the function passed (now composes, see Composition)

Enhancements

  • You can now compose memoized functions with their options (see Composition)

3.0.2

  • Fix types declarations to ensure signature of fn passed is retained
  • Throw an error when the first parameter passed is not a function

3.0.1

  • Fix types declaration for Options to allow custom keys / indices

3.0.0

  • Rewrite in TypeScript
  • Use rollup for builds of all packages

BREAKING CHANGES

  • CommonJS requires no longer require .default
  • Types contract is much stricter
  • Utility methods are no longer deep-linkable
    • Not technically exposed in the API, but was relied upon by other libraries)

2.1.2

  • Fix issue where isMatchingKey was not being used with promise updater
  • Remove requirement of Object.assign existing globally
  • Add common use-case static handlers for up to 3 arguments, falling back to pre-existing dynamic handlers for more (faster comparison / argument cloning)

2.1.1

  • Upgrade to babel 7
  • Add "sideEffects": false for better tree-shaking with webpack

2.1.0

2.0.4

  • Fix issue with recursive calls to memoized function created discrepancy between keys and values in cache

2.0.3

  • More TypeScript typings (thanks again @rtorr)

2.0.2

  • Fix TypeScript typings (thanks @rtorr)

2.0.1

  • Fix TypeScript typings (thanks @Crecket)

2.0.0

  • Add isMatchingKey method to provide match test on entire key vs iterative equality

BREAKING CHANGES

  • The return value from transformKey must be an Array (would previously coalesce it for you)

NEW FEATURES

  • isMatchingKey will matching on entire key vs isEqual, which does an iterative comparison of arguments in order
  • Add size property to cache

1.8.1

  • Fix getKeyIndex being passed as memoize for promises

1.8.0

  • Include the memoized function itself as the third parameter to onCacheAdd, onCacheChange, and onCacheHit firings

1.7.0

  • Fire onCacheHit and onCacheChange when promise functions successfully resolve

1.6.3

  • Replace native slice usages with cloneArray utility

1.6.2

  • Convert dist files to be built using rollup instead of webpack

1.6.1

  • Optimize slice calls for key storage (performance)

1.6.0

  • Add onCacheAdd option
  • Pass through unused properties in options for higher-order memoization library usage

1.5.0

1.4.0

  • Add options as second parameter to onCacheChanged

1.3.2

  • Make additional properties (cache, cacheSnapshot, isMemoized, options) configurable for higher-order memoization library usage

1.3.1

  • Only reorder keys when matching cache entry is not first key

1.3.0

1.2.0

  • Add isPromise option
  • Add typings for Flowtype and TypeScript

1.1.0

1.0.1

  • Delay argument-to-key generation until stored as new cache value (speed improvement of ~35%)

1.0.0

  • Initial release