{"id":16592297,"url":"https://github.com/quantizor/gentle-object-transformer","last_synced_at":"2025-07-02T08:33:36.666Z","repository":{"id":23616185,"uuid":"26985541","full_name":"quantizor/Gentle-Object-Transformer","owner":"quantizor","description":"🤗 deep recursive transformation: make A into B while preserving the original object reference","archived":false,"fork":false,"pushed_at":"2014-11-22T02:09:23.000Z","size":120,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-06T15:51:32.435Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","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/quantizor.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":"2014-11-22T01:59:15.000Z","updated_at":"2016-12-15T20:25:39.000Z","dependencies_parsed_at":"2022-08-22T02:10:59.447Z","dependency_job_id":null,"html_url":"https://github.com/quantizor/Gentle-Object-Transformer","commit_stats":null,"previous_names":["quantizor/gentle-object-transformer"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/quantizor/Gentle-Object-Transformer","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/quantizor%2FGentle-Object-Transformer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/quantizor%2FGentle-Object-Transformer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/quantizor%2FGentle-Object-Transformer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/quantizor%2FGentle-Object-Transformer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/quantizor","download_url":"https://codeload.github.com/quantizor/Gentle-Object-Transformer/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/quantizor%2FGentle-Object-Transformer/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263102810,"owners_count":23414169,"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":[],"created_at":"2024-10-11T23:20:18.741Z","updated_at":"2025-07-02T08:33:36.593Z","avatar_url":"https://github.com/quantizor.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"Gentle Object Transformer\n=========================\n\nWalks through complex objects and transforms the destination into the source without outright replacement.\n\nUseful for 2-way databound frameworks because it allows existing views to not be destroyed if they don't need to be.\n\n1. Update matches between source and destination\n2. Remove destination items not in source\n3. Add source items not in destination\n\nMatches array items based on properties ending in `_id` (change this to your ID syntax)\n\n**NOTE** This uses some ES5 features like `Object.keys` and `Array.filter`. If you need it to work in browsers\nolder than IE9, I recommend either monkeypatching the prototypes or looking into a library like lodash.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fquantizor%2Fgentle-object-transformer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fquantizor%2Fgentle-object-transformer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fquantizor%2Fgentle-object-transformer/lists"}