{"id":15629693,"url":"https://github.com/anko/eslisp-propertify","last_synced_at":"2026-02-08T23:08:09.709Z","repository":{"id":57230382,"uuid":"42546471","full_name":"anko/eslisp-propertify","owner":"anko","description":"eslisp macro: a.b → (. a b)","archived":false,"fork":false,"pushed_at":"2017-05-05T15:28:26.000Z","size":13,"stargazers_count":2,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-07-01T11:51:58.517Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Makefile","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/anko.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":"2015-09-15T21:03:46.000Z","updated_at":"2022-11-26T18:19:51.000Z","dependencies_parsed_at":"2022-09-15T00:10:18.338Z","dependency_job_id":null,"html_url":"https://github.com/anko/eslisp-propertify","commit_stats":null,"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"purl":"pkg:github/anko/eslisp-propertify","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anko%2Feslisp-propertify","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anko%2Feslisp-propertify/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anko%2Feslisp-propertify/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anko%2Feslisp-propertify/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/anko","download_url":"https://codeload.github.com/anko/eslisp-propertify/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anko%2Feslisp-propertify/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":268215978,"owners_count":24214465,"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-01T02:00:08.611Z","response_time":67,"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":[],"created_at":"2024-10-03T10:28:11.173Z","updated_at":"2026-02-08T23:08:04.677Z","avatar_url":"https://github.com/anko.png","language":"Makefile","funding_links":[],"categories":[],"sub_categories":[],"readme":"# eslisp-propertify [![](https://img.shields.io/npm/v/eslisp-propertify.svg?style=flat-square)][1] [![](https://img.shields.io/travis/anko/eslisp-propertify.svg?style=flat-square)][2] [![](https://img.shields.io/badge/eslisp_chat-gitter_%E2%86%92-blue.svg?style=flat-square)][3]\n\nAn [eslisp][4] macro that rewrites its input forms' atoms that contain dots\ninto property accesses.  This means you can write `x.y.1` instead of `(. x y\n1)`, which compiles to JS as `x.y[1];`.\n\nIgnores trailing and leading dots, and atoms that consist of dots.\n\n## Example\n\n    (macro propertify (require \"/path/to/elisp-propertify/index.js\"))\n    (propertify (a.b 42))\n\n↓\n\n    a.b(42);\n\nSee [the tests][5] for fuller usage.\n\n## Full wrap\n\nIt's totally reasonable to wrap your whole program in this.  Consider the\neslisp compiler's `--transform` flag.\n\n## Limitations\n\nIf you need a computed member expression, you'll still need the `.` macro: For\nexample, to get `a.b[b.length]`, you'll need to write `(.  a.b b.length)`.\n\n## License\n\n[ISC][6].\n\n[1]: https://www.npmjs.com/package/eslisp-propertify\n[2]: https://travis-ci.org/anko/eslisp-propertify\n[3]: https://gitter.im/anko/eslisp\n[4]: https://www.npmjs.com/package/eslisp\n[5]: test.esl\n[6]: http://opensource.org/licenses/ISC\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fanko%2Feslisp-propertify","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fanko%2Feslisp-propertify","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fanko%2Feslisp-propertify/lists"}