{"id":25732237,"url":"https://github.com/howprogrammingworks/memoization","last_synced_at":"2025-05-07T18:44:54.229Z","repository":{"id":147758446,"uuid":"68866470","full_name":"HowProgrammingWorks/Memoization","owner":"HowProgrammingWorks","description":"Memoization of synchronous and asynchronous functions","archived":false,"fork":false,"pushed_at":"2023-11-06T17:04:58.000Z","size":161,"stargazers_count":19,"open_issues_count":5,"forks_count":26,"subscribers_count":18,"default_branch":"master","last_synced_at":"2025-03-31T12:58:13.167Z","etag":null,"topics":["cache","function","functional-programming","javascript","js","memoization","memoize","node","nodejs"],"latest_commit_sha":null,"homepage":"https://youtube.com/TimurShemsedinov","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/HowProgrammingWorks.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null},"funding":{"patreon":"tshemsedinov"}},"created_at":"2016-09-21T23:37:52.000Z","updated_at":"2025-02-24T10:32:36.000Z","dependencies_parsed_at":"2023-05-27T10:45:25.154Z","dependency_job_id":null,"html_url":"https://github.com/HowProgrammingWorks/Memoization","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HowProgrammingWorks%2FMemoization","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HowProgrammingWorks%2FMemoization/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HowProgrammingWorks%2FMemoization/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HowProgrammingWorks%2FMemoization/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/HowProgrammingWorks","download_url":"https://codeload.github.com/HowProgrammingWorks/Memoization/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252937230,"owners_count":21828332,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cache","function","functional-programming","javascript","js","memoization","memoize","node","nodejs"],"created_at":"2025-02-26T03:40:02.642Z","updated_at":"2025-05-07T18:44:54.175Z","avatar_url":"https://github.com/HowProgrammingWorks.png","language":"JavaScript","readme":"## Мемоизация функций: memoize в JavaScript\n\n[![Мемоизация функций: memoize в JavaScript](https://img.youtube.com/vi/H6S8QJo2Qxg/0.jpg)](https://www.youtube.com/watch?v=H6S8QJo2Qxg)\n\nTasks:\n- see examples\n- implement time expiration cash\n- implement memoize with max records count and removing least used\n- implement memoize with max total stored data size\n- implement universal memoize compatible with both sync and async function\n- implement functional object with following properties methods and events:\n  - `memoized.clear()` - clear cache\n  - `memoized.add(key, value)` - add value to cach\n  - `memoized.del(key)` - remove value from cach\n  - `memoized.get(key)` - returns saved value\n  - `memoized.timeout: Number` - cache timout\n  - `memoized.maxSize: Number` - maximum cache size in bytes\n  - `memoized.maxCount: Number` - maximum cache size in item count\n  - `memoized.on('add', Function)`\n  - `memoized.on('del', Function)`\n  - `memoized.on('clear', Function)`\n","funding_links":["https://patreon.com/tshemsedinov"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhowprogrammingworks%2Fmemoization","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhowprogrammingworks%2Fmemoization","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhowprogrammingworks%2Fmemoization/lists"}