{"id":15654072,"url":"https://github.com/jaredly/ppx_autoserialize","last_synced_at":"2025-04-30T22:25:56.589Z","repository":{"id":66952824,"uuid":"101011327","full_name":"jaredly/ppx_autoserialize","owner":"jaredly","description":null,"archived":false,"fork":false,"pushed_at":"2018-07-02T16:48:14.000Z","size":184,"stargazers_count":27,"open_issues_count":4,"forks_count":4,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-30T20:33:48.918Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"OCaml","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/jaredly.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-08-22T02:18:36.000Z","updated_at":"2021-01-18T20:09:06.000Z","dependencies_parsed_at":null,"dependency_job_id":"5e98d76a-e86a-4a25-9ecb-aea91b7c99c9","html_url":"https://github.com/jaredly/ppx_autoserialize","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/jaredly%2Fppx_autoserialize","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jaredly%2Fppx_autoserialize/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jaredly%2Fppx_autoserialize/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jaredly%2Fppx_autoserialize/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jaredly","download_url":"https://codeload.github.com/jaredly/ppx_autoserialize/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251790737,"owners_count":21644277,"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-03T12:49:24.539Z","updated_at":"2025-04-30T22:25:56.569Z","avatar_url":"https://github.com/jaredly.png","language":"OCaml","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Autoserialize\n\nWhat do we want? no-pain jsonifying, devtools integration, and pretty printing\nof values for debugging!\n\nWhat does it look like?\n\n```reason\ntype myThing = {\n  something: int,\n  moreThings: option string,\n};\nlet myValue = {something: 10, moreThings: Some \"hello\"};\n/* ooh magically myThing__to_devtools is available! */\nJs.log (myThing__to_devtools myValue);\nJs.log (Js.Json.stringify (myThing__to_json myValue));\nswitch (myThing__from_json (myThing__to_json myValue)) {\n  | None =\u003e Js.log \"Failed to deserialize\"\n  | Some roundTripped =\u003e Js.log \"It worked!\"\n}\n```\n\n## Example screenshots!\n![screenshot](screenshot.png)\n![devtools](devtools.png)\n\n## How battled hardened is it?\n\nAs much as a wooden horse.\n\n## How well does it work?\n\nAs a ppx, it will only run on the code in the current project. If you want to\nserialize code that includes types from other libraries, we'll need something\nelse (I have an idea for that too). Or we could have bucklescript run this ppx\non all of everything, which would probably have prohibitive performance\nimplications.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjaredly%2Fppx_autoserialize","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjaredly%2Fppx_autoserialize","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjaredly%2Fppx_autoserialize/lists"}