{"id":17438547,"url":"https://github.com/blixt/js-objectmanager","last_synced_at":"2026-01-22T14:59:54.460Z","repository":{"id":137380517,"uuid":"621844","full_name":"blixt/js-objectmanager","owner":"blixt","description":"A JavaScript library that handles serialization and deserialization of objects, preserving reference integrity. Ideal for storing a complex data structure as JSON.","archived":false,"fork":false,"pushed_at":"2010-04-21T16:09:51.000Z","size":92,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-10-11T15:58:39.866Z","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":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/blixt.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2010-04-21T16:09:33.000Z","updated_at":"2013-10-10T09:49:48.000Z","dependencies_parsed_at":"2023-03-11T01:55:48.432Z","dependency_job_id":null,"html_url":"https://github.com/blixt/js-objectmanager","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/blixt/js-objectmanager","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/blixt%2Fjs-objectmanager","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/blixt%2Fjs-objectmanager/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/blixt%2Fjs-objectmanager/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/blixt%2Fjs-objectmanager/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/blixt","download_url":"https://codeload.github.com/blixt/js-objectmanager/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/blixt%2Fjs-objectmanager/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28664827,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-22T14:01:31.714Z","status":"ssl_error","status_checked_at":"2026-01-22T13:59:23.143Z","response_time":144,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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-17T12:13:52.183Z","updated_at":"2026-01-22T14:59:54.432Z","avatar_url":"https://github.com/blixt.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Object manager\n\n## Information\n\nA JavaScript library that handles serialization and deserialization of objects,\npreserving reference integrity. Ideal for storing a complex data structure as\nJSON.\n\n## Example\n\n    var a = {aString: 'hello', aNumber: 12.3, aBool: true,\n             anArray: [1, 2, [3, 4]], anObject: {anotherObject: {\n             hello: 'world', iAm: 1337}}},\n        b = {referenceToArray: a.anArray, referenceToA: a,\n             referenceToSubObject: a.anObject.anotherObject,\n             anotherString: 'weeee'},\n        c = {references: [a, b]},\n        d = [a, b, c];\n\n    // Create an ObjectManager instance and register variables a, b, c and\n    // d.\n    var manager = new ObjectManager();\n    manager.register(a, 'a');\n    manager.register(b, 'b');\n    manager.register(c, 'c');\n    manager.register(d, 'd');\n\n    // Serialize and deserialize the registered objects.\n    var serialized = manager.serialize();\n    var deserialized = ObjectManager.deserialize(serialized);\n\n    // (Support for the console object required)\n    // Shows the instances before and after serialization as well as the\n    // serialized version of the data.\n    console.log({\n        before: [a, b, c, d],\n        intermediate: serialized,\n        after: [deserialized.get('a'), deserialized.get('b'),\n                deserialized.get('c'), deserialized.get('d')]\n    });\n\nThe above example is probably not a practical use case. In a real project, you\nwould probably convert the result of `manager.serialize()` to JSON, store it\nsomewhere, then later retrieve it and parse it, and call\n`ObjectManager.deserialize(...)` with the resulting object.\n\n## MIT license\n\nThis project is licensed under an MIT license.  \n\u003chttp://www.opensource.org/licenses/mit-license.php\u003e\n\nCopyright (c) 2009-2010 Andreas Blixt \u003candreas@blixt.org\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fblixt%2Fjs-objectmanager","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fblixt%2Fjs-objectmanager","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fblixt%2Fjs-objectmanager/lists"}