{"id":15107449,"url":"https://github.com/moosetechnology/famix-value","last_synced_at":"2025-08-17T01:32:11.924Z","repository":{"id":154849766,"uuid":"610317264","full_name":"moosetechnology/Famix-Value","owner":"moosetechnology","description":"Famix metamodel for runtime values ","archived":false,"fork":false,"pushed_at":"2025-06-17T23:06:48.000Z","size":505,"stargazers_count":2,"open_issues_count":2,"forks_count":1,"subscribers_count":13,"default_branch":"main","last_synced_at":"2025-06-17T23:28:48.846Z","etag":null,"topics":["meta-model","moose","pharo","runtime","smalltalk"],"latest_commit_sha":null,"homepage":"","language":"Smalltalk","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/moosetechnology.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2023-03-06T14:31:37.000Z","updated_at":"2025-06-17T23:06:51.000Z","dependencies_parsed_at":null,"dependency_job_id":"fc11dd26-4956-4589-b7af-cfb64ef37523","html_url":"https://github.com/moosetechnology/Famix-Value","commit_stats":{"total_commits":197,"total_committers":3,"mean_commits":65.66666666666667,"dds":0.1624365482233503,"last_synced_commit":"d95b700f5470c7cda9142907f1b101dcca1f3bfd"},"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/moosetechnology/Famix-Value","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/moosetechnology%2FFamix-Value","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/moosetechnology%2FFamix-Value/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/moosetechnology%2FFamix-Value/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/moosetechnology%2FFamix-Value/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/moosetechnology","download_url":"https://codeload.github.com/moosetechnology/Famix-Value/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/moosetechnology%2FFamix-Value/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":270796224,"owners_count":24647320,"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","status":"online","status_checked_at":"2025-08-16T02:00:11.002Z","response_time":91,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["meta-model","moose","pharo","runtime","smalltalk"],"created_at":"2024-09-25T21:24:39.752Z","updated_at":"2025-08-17T01:32:11.046Z","avatar_url":"https://github.com/moosetechnology.png","language":"Smalltalk","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Moose version](https://img.shields.io/badge/Moose-10-%23aac9ff.svg)](https://modularmoose.org/)\n[![Moose version](https://img.shields.io/badge/Moose-11-%23aac9ff.svg)](https://github.com/moosetechnology/Moose)\n![Build Info](https://github.com/moosetechnology/Famix-Value/workflows/CI/badge.svg)\n[![Coverage Status](https://coveralls.io/repos/github/moosetechnology/Famix-Value/badge.svg?branch=main)](https://coveralls.io/github/moosetechnology/Famix-Value?branch=main)\n\n# Famix-Value\n\nFamix-Value is a metamodel for representing runtime values and their corresponding types and entities in a [Famix](https://github.com/moosetechnology/Famix) model.  \nThe goal is to simplify working with values from languages other than Smalltalk by reifying them and linking them to the Famix model of the application that produced them.  \nThis project allows the values to be exported into code so that they can be recreated in their original programming language.\n\nNote that this is a work in progress: there are plans to improve the readability of the code, for example by giving variables better names.\n\n## Installation\n\n```st\nMetacello new\n  githubUser: 'moosetechnology' project: 'Famix-Value' commitish: 'main' path: 'src';\n  baseline: 'FamixValue';\n  load\n```\n\n## Example\nGiven the following Java class:\n```java\npublic class MyClass {\n  int foo;\n  List\u003cString\u003e bar;\n\n  void setFoo(int foo) { this.foo = foo; }\n  void setBar(List\u003cString\u003e bar) { this.bar = bar; }\n}\n```\n\nAnd the JSON serialization of an instance, produced by the [Jackson](https://github.com/FasterXML/jackson) library:\n```json\n{\n  \"@type\": \"MyClass\",\n  \"foo\": 42,\n  \"bar\": [\"java.util.ArrayList\", [\"Hello\", \"World\"]]\n}\n```\n\nExporting this value produces the following code:\n```java\nMyClass myClass0 = new MyClass();\nmyClass.setFoo(42);\nList\u003cString\u003e bar1 = new ArrayList\u003c\u003e();\nbar1.add(\"Hello\");\nbar1.add(\"World\");\nmyClass0.setBar(bar1);\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmoosetechnology%2Ffamix-value","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmoosetechnology%2Ffamix-value","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmoosetechnology%2Ffamix-value/lists"}