{"id":21725040,"url":"https://github.com/yehzhang/babel-plugin-drop-hof","last_synced_at":"2026-01-22T16:41:44.077Z","repository":{"id":89739950,"uuid":"105214977","full_name":"yehzhang/babel-plugin-drop-hof","owner":"yehzhang","description":"Transforms higher-order function calls such as map, filter, and reduce to loops.","archived":false,"fork":false,"pushed_at":"2024-06-18T03:58:50.000Z","size":27,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-16T11:09:23.391Z","etag":null,"topics":["babel","babel-plugin","javascript","optimization","performance"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","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/yehzhang.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":"2017-09-29T01:16:19.000Z","updated_at":"2024-06-18T03:58:53.000Z","dependencies_parsed_at":"2025-02-15T08:39:14.826Z","dependency_job_id":null,"html_url":"https://github.com/yehzhang/babel-plugin-drop-hof","commit_stats":{"total_commits":21,"total_committers":1,"mean_commits":21.0,"dds":0.0,"last_synced_commit":"553189b017b6b890a08e5a02eaaa4a935ca410f6"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yehzhang%2Fbabel-plugin-drop-hof","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yehzhang%2Fbabel-plugin-drop-hof/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yehzhang%2Fbabel-plugin-drop-hof/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yehzhang%2Fbabel-plugin-drop-hof/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/yehzhang","download_url":"https://codeload.github.com/yehzhang/babel-plugin-drop-hof/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248055152,"owners_count":21040128,"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":["babel","babel-plugin","javascript","optimization","performance"],"created_at":"2024-11-26T03:15:12.225Z","updated_at":"2026-01-22T16:41:39.013Z","avatar_url":"https://github.com/yehzhang.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# babel-plugin-drop-hof\n\u003e Transforms higher-order function calls to loops.\n\nCurrently supported higher-order functions are: `forEach`, `map`, `filter`, `every`, `some`, and `reduce`.\n\n## Example\n**In**\n```javascript\nvar result = array.map(function (x) {\n  return x * 2;\n});\n```\n\n**Out**\n```javascript\nvar _a = array;\nvar _i = 0;\n\nvar _f = function _f(x) {\n  return x * 2;\n};\n\nvar _r = [];\n\nfor (; _i \u003c _a.length; _i++) {\n  var _e = _a[_i];\n\n  var _z;\n\n  _z = _f(_e, _i, _a);\n\n  _r.push(_z);\n}\n\nvar result = _r;\n```\n\nSome corner cases are handled properly:\n\n**In**\n```javascript\nisValid() \u0026\u0026 array.map(function (x) {\n  return x * 2;\n});\n\nwhile (array.map(function (x) {\n  return x * 2;\n}));\n```\n\n**Out**\n```javascript\n// **Same as input**\n```\n\n## Installation\n```sh\nnpm install --save babel-plugin-drop-hof\n```\n\n## Usage\n### Via `.babelrc`\n\n**.babelrc**\n\n```json\n{\n  \"plugins\": [\"babel-plugin-drop-hof\"]\n}\n```\n\n### Via CLI\n\n```sh\nbabel --plugins babel-plugin-drop-hof script.js\n```\n\n### Via Node API\n\n```javascript\nrequire(\"babel-core\").transform(\"code\", {\n  plugins: [\"babel-plugin-drop-hof\"]\n});\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyehzhang%2Fbabel-plugin-drop-hof","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyehzhang%2Fbabel-plugin-drop-hof","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyehzhang%2Fbabel-plugin-drop-hof/lists"}