{"id":26290033,"url":"https://github.com/unsafe-risk/deecpy","last_synced_at":"2025-05-07T22:44:35.416Z","repository":{"id":43574998,"uuid":"511413020","full_name":"unsafe-risk/deecpy","owner":"unsafe-risk","description":"Deecpy, The DeepCopy Library","archived":false,"fork":false,"pushed_at":"2024-11-14T17:30:16.000Z","size":48,"stargazers_count":6,"open_issues_count":5,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-05-07T22:44:29.959Z","etag":null,"topics":["clone","deepcopy","duplicate","go","golang","golang-deepcopy","struct"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"unlicense","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/unsafe-risk.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}},"created_at":"2022-07-07T06:40:35.000Z","updated_at":"2024-09-28T04:51:25.000Z","dependencies_parsed_at":"2024-06-20T13:04:46.424Z","dependency_job_id":null,"html_url":"https://github.com/unsafe-risk/deecpy","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/unsafe-risk%2Fdeecpy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/unsafe-risk%2Fdeecpy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/unsafe-risk%2Fdeecpy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/unsafe-risk%2Fdeecpy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/unsafe-risk","download_url":"https://codeload.github.com/unsafe-risk/deecpy/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252967974,"owners_count":21833245,"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":["clone","deepcopy","duplicate","go","golang","golang-deepcopy","struct"],"created_at":"2025-03-14T23:17:45.753Z","updated_at":"2025-05-07T22:44:35.385Z","avatar_url":"https://github.com/unsafe-risk.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Go Reference](https://img.shields.io/badge/go-reference-%23007d9c?style=for-the-badge\u0026logo=go)](https://pkg.go.dev/v8.run/go/deecpy)\n[![GitHub Workflow Status (push)](https://img.shields.io/github/workflow/status/unsafe-risk/deecpy/go_test/main?event=push\u0026style=for-the-badge)](https://github.com/unsafe-risk/deecpy/actions/workflows/go_test.yml)\n[![Codecov main](https://img.shields.io/codecov/c/gh/unsafe-risk/deecpy/main?style=for-the-badge)](https://app.codecov.io/gh/unsafe-risk/deecpy)\n[![GitHub license](https://img.shields.io/github/license/unsafe-risk/deecpy?style=for-the-badge)](https://pkg.go.dev/v8.run/go/deecpy?tab=licenses)\n# Deecpy\n\n**Deecpy**, The DeepCopy Library\n\n# Example\n\n```go\npackage main\n\nimport (\n    \"fmt\"\n\n    \"v8.run/go/deecpy\"\n)\n\n// func deecpy.Copy[T any](dst, src *T) error\n// func deecpy.Duplicate[T any](src T) (T, error)\n\ntype Person struct {\n    Name string\n    Age  int\n    id   ID\n}\n\ntype ID struct {\n    UUID string\n    email string\n}\n\nvar john = Person{Name: \"John\", Age: 30, id: ID{UUID: \"123\", email: \"john@example.com\"}}\nvar jane = Person{Name: \"Jane\", Age: 25, id: ID{UUID: \"456\", email: \"jane@example.com\"}}\n\nfunc main() {\n    var john_copy Person\n    err := deecpy.Copy(\u0026john_copy, \u0026john)\n    if err != nil {\n        panic(err)\n    }\n\n    fmt.Println(\"john:\", john)\n    fmt.Println(\"john_copy:\", john_copy)\n\n    jane_copy, err := deecpy.Duplicate(jane)\n    if err != nil {\n        panic(err)\n    }\n\n    fmt.Println(\"jane:\", jane)\n    fmt.Println(\"jane_copy:\", jane_copy)\n}\n```\n[***Go Playground***](https://go.dev/play/p/4Kc5gPCaebk)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Funsafe-risk%2Fdeecpy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Funsafe-risk%2Fdeecpy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Funsafe-risk%2Fdeecpy/lists"}