{"id":16678075,"url":"https://github.com/johnynek/maniclass","last_synced_at":"2025-07-07T14:05:04.336Z","repository":{"id":6982256,"uuid":"8243915","full_name":"johnynek/maniclass","owner":"johnynek","description":"Generate unique classes for each unique scala type.","archived":false,"fork":false,"pushed_at":"2013-02-17T00:50:14.000Z","size":116,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-01-20T00:48:18.387Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Scala","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/johnynek.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":"2013-02-17T00:42:59.000Z","updated_at":"2013-12-26T06:30:23.000Z","dependencies_parsed_at":"2022-09-16T18:41:07.998Z","dependency_job_id":null,"html_url":"https://github.com/johnynek/maniclass","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/johnynek%2Fmaniclass","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/johnynek%2Fmaniclass/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/johnynek%2Fmaniclass/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/johnynek%2Fmaniclass/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/johnynek","download_url":"https://codeload.github.com/johnynek/maniclass/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243358212,"owners_count":20277991,"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-12T13:28:18.820Z","updated_at":"2025-03-13T06:44:47.586Z","avatar_url":"https://github.com/johnynek.png","language":"Scala","funding_links":[],"categories":[],"sub_categories":[],"readme":"maniclass\n=========\n\nGenerate unique classes for each unique scala type.\n\nAn example goes a long ways:\n```scala\nscala\u003e import org.bykn.maniclass.Maniclass\nimport org.bykn.maniclass.Maniclass\n\nscala\u003e val mc = Maniclass()\nmc: org.bykn.maniclass.Maniclass = org.bykn.maniclass.Maniclass@4658ef71\n\nscala\u003e mc.wrap(List(1,2,3,4))\nres0: org.bykn.maniclass.Gettable = org.bykn.maniclass.Gettable0@12dbd81\n\nscala\u003e res0.get\nres1: java.lang.Object = List(1, 2, 3, 4)\n\nscala\u003e mc.unwrap[List[Int]](res0)\nres2: Option[List[Int]] = Some(List(1, 2, 3, 4))\n\nscala\u003e mc.unwrap[List[Any]](res0)\nres3: Option[List[Any]] = Some(List(1, 2, 3, 4))\n\nscala\u003e mc.unwrap[List[String]](res0)\nres4: Option[List[String]] = None\n```\n\nThe motivation here is to deal with Hadoop serialization which switches on Class. This allows us to\nwrap each object with an instance of `org.bykn.maniclass.Gettable` whose getName is sufficient to\nlookup the original Manifest. This should give more efficient type-safe serialization of scala\nobjects.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjohnynek%2Fmaniclass","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjohnynek%2Fmaniclass","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjohnynek%2Fmaniclass/lists"}