{"id":28096486,"url":"https://github.com/socialtables/immutable-transform-memoizer","last_synced_at":"2025-05-13T16:22:08.107Z","repository":{"id":57272858,"uuid":"160581188","full_name":"socialtables/immutable-transform-memoizer","owner":"socialtables","description":"A helpful function for speeding up Immutable.js Collection transformations using a WeakMap","archived":false,"fork":false,"pushed_at":"2023-04-13T20:15:21.000Z","size":55,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":21,"default_branch":"main","last_synced_at":"2025-05-02T12:48:29.553Z","etag":null,"topics":["immutable","library","open-source","public"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/socialtables.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-12-05T21:31:57.000Z","updated_at":"2023-04-13T20:15:24.000Z","dependencies_parsed_at":"2022-09-13T12:12:00.760Z","dependency_job_id":null,"html_url":"https://github.com/socialtables/immutable-transform-memoizer","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/socialtables%2Fimmutable-transform-memoizer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/socialtables%2Fimmutable-transform-memoizer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/socialtables%2Fimmutable-transform-memoizer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/socialtables%2Fimmutable-transform-memoizer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/socialtables","download_url":"https://codeload.github.com/socialtables/immutable-transform-memoizer/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253980118,"owners_count":21994046,"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":["immutable","library","open-source","public"],"created_at":"2025-05-13T16:21:59.260Z","updated_at":"2025-05-13T16:22:08.097Z","avatar_url":"https://github.com/socialtables.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Immutable Transform Memoizer\nA utility function for reusing results of transformations over Immutable.js\ncollections.\n\nThis library is intended for use in apps that need to propagate small changes\nthrough large Immutable Collections without wasting time and memory redoing\nwork on objects that have not changed. It can make frequent .toJS operations\nsignificantly faster by avoiding re-traversal of nested Collections.\n\n## Usage\n\nHere's an example of our primary use case - we want to convert a massive\nImmutable.js Map into an array. Not an ideal pattern, but it's a pattern that\nwe have in one of our Reselect selectors.\n\n```javascript\nimport { Map } from \"immutable\";\nimport memoizeImmutableTransform from \"immutable-transform-memoizer\";\nconst memoizedToJS = memoizeImmutableTransform(value =\u003e value.toJS(), \"array\");\nconst yourMap = Map({\n  fizz: Map({ \"beep\": \"boop\" }),\n  buzz: Map({ \"car\": \"cdr\" })\n});\nconst yourArray = memoizedToJS(yourMap);\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsocialtables%2Fimmutable-transform-memoizer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsocialtables%2Fimmutable-transform-memoizer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsocialtables%2Fimmutable-transform-memoizer/lists"}