Back to Explore

caiogondim/fast-memoize.js

GitHub
1 watchersOpen source

Last release:

fast-memoize is a JavaScript library for memoization, designed to speed up programs by caching results of expensive function calls and reusing them for repeated inputs. It supports memoizing functions with N arguments, and can use a custom cache implementation or a custom serializer to control how arguments are turned into cache keys.

Project status

  • The GitHub source appears quiet or in maintenance mode, with the last upstream push on 2023-02-19, and no evidence of updates since then relative to today (2026-08-12).
  • The update cadence is not active, with published updates far apart (notably v2.5.2 in 2020, and earlier versions in 2018), suggesting no ongoing feature or compatibility work.

AI summary generated

AI-generated from public sources. May be inaccurate. Report

Recent updates

  • v2.5.2

    v2.5.2 does not include publisher release notes, but the diff shows the main changes are TypeScript-related: updated type definitions and a revised TypeScript typings test strategy. The biggest potential breaking change is in the exported typings, specifically the Cache interface shape.

    Breaking
  • v2.4.0

    Release v2.4.0 adds TypeScript typings for fast-memoize, including a new declaration file and a small TypeScript compilation test. The package metadata and test scripts were updated so that `npm test:all` now also runs a `tsc` check against the new typings.

    Features
  • v2.3.2

    Release v2.3.2 was published on 2018-03-12, but no release notes were provided by the publisher. Because the changelog content is missing, this release cannot be analyzed for developer-impacting API changes, behavior changes, fixes, or migration steps from the provided data.

  • v2.3.0

    v2.3.0 is presented as a performance-focused release ("Faster") with benchmarking changes. The actual code change primarily optimizes cache hit/miss checks and adjusts what counts as a primitive argument, which has behavioral side effects not described in the release notes.

    Breaking
  • v2.2.8

    Release v2.2.8 is primarily described as a README update adding a Gotchas section. However, the actual code changes also introduce new public strategy exports and refactor strategy binding logic, plus there are notable dependency and tooling changes in the project.

    Features
  • v2.2.7

    Release v2.2.7 appears to be a syntax-only change, targeting compatibility with older JavaScript environments. The release notes state that all ES2015+ usage is removed, and the diff shows elimination of ES2015 constructs such as arrow functions and const.

  • v2.2.3

    v2.2.3 primarily targets ES5 compatibility without requiring transpilation. The core implementation was rewritten to remove modern JavaScript syntax (const, let, arrow functions, rest/spread, and class syntax), while keeping the same exported memoize API surface.

  • v2.2.1

    Release v2.2.1 is presented as a documentation-only update (“Fix on README”). The actual diff changes the required custom cache interface described in README.md by removing the `delete` method from the list of required functions.

  • v2.2.0

    Release v2.2.0 refactors the library to ES2015+ syntax, adds a new util.inspect-based serializer to the benchmarks, and removes a cache.delete method from the default cache implementation. The bulk of the code diff is stylistic modernization, plus a small functional change to the default cache class.

    BreakingFeatures