{"id":19413632,"url":"https://github.com/wisehackermonkey/ascii-pipe","last_synced_at":"2026-06-19T07:31:54.223Z","repository":{"id":132669969,"uuid":"429232365","full_name":"wisehackermonkey/ascii-pipe","owner":"wisehackermonkey","description":null,"archived":false,"fork":false,"pushed_at":"2021-11-22T15:50:45.000Z","size":47,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-11-19T07:20:13.435Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"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/wisehackermonkey.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":"2021-11-17T23:29:19.000Z","updated_at":"2021-11-22T15:50:48.000Z","dependencies_parsed_at":null,"dependency_job_id":"dee50435-3624-4aa5-8b89-660aebbaffc4","html_url":"https://github.com/wisehackermonkey/ascii-pipe","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/wisehackermonkey/ascii-pipe","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wisehackermonkey%2Fascii-pipe","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wisehackermonkey%2Fascii-pipe/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wisehackermonkey%2Fascii-pipe/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wisehackermonkey%2Fascii-pipe/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/wisehackermonkey","download_url":"https://codeload.github.com/wisehackermonkey/ascii-pipe/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wisehackermonkey%2Fascii-pipe/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34522034,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-19T02:00:06.005Z","response_time":61,"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-11-10T12:34:12.558Z","updated_at":"2026-06-19T07:31:54.205Z","avatar_url":"https://github.com/wisehackermonkey.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ascii-pipe\n----\n[![Open Source Love svg2](https://badges.frapsoft.com/os/v2/open-source.svg?v=103)](https://github.com/ellerbrock/open-source-badges/)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n\n\n\u003c!-- \u003cimg src=\"NNNNNNNNNNNNN\" width=\"400\"\u003e --\u003e\n\n\n\u003ch2 align=\"center\"\u003ea ascii art conconcurent pipe framework for javascript\u003c/h2\u003e\n\n\u003c!-- \u003ch4 align=\"center\"\u003e________________________\u003c/h4\u003e --\u003e\n\n\n\n# Example\n```javascript\n        |  fn5       =\u003e|\nInput =\u003e|  fn1=\u003e| fn8=\u003e|=\u003e out\n        |  fn7=\u003e|        \n```\n\nExpanding and constricting pipe\n```javascript \n        |fn5     =\u003e|f2=\u003e|\nInput =\u003e|fn1=\u003efn8=\u003e|f3=\u003e|=\u003eout\n        \n```\n# parallel example\n```javascript \n        |  fn5       =\u003e|\nInput =\u003e|  fn1=\u003e| fn8=\u003e| \n        |  fn7=\u003e|    =\u003e| =\u003e out\n        |  fn5       =\u003e|\nInput2=\u003e|  fn1=\u003e| fn8=\u003e|\n        |  fn7=\u003e|\n```\n\n\n# Quick start\n### \n##### \n```bash\nyarn\nyarn start\n``` \n## Open Broswer to [`http://localhost:3000`](http://localhost:3000)\n\n---\n\n\n\n# the grammer\n```bash\nnearleyc grammar.ne -o grammar.js\n```\n```\nmain -\u003e function arrow cells block arrow function \nmain -\u003e cells\n\n\ncells -\u003e block cell block\n\ncells -\u003e (cell block):*\ncells -\u003e (block cell):*\n#cells -\u003e cell block \n#cells -\u003e cell\n\ncell -\u003e (function arrow block):*\ncell -\u003e (block function arrow ):*\ncell -\u003e (function arrow ):*\n\nblank -\u003e [\\t]|[\\s\\s\\s\\s]\nblock -\u003e [|]\narrow -\u003e \"=\u003e\"\nfunction -\u003e ([a-zA-Z0-9_]):*\n```\n### optimize for more strict\n```python\n\nmain -\u003e function arrow cells block arrow function \nmain -\u003e cells\n\n\n#cells -\u003e block cell block\n\ncells -\u003e (cell block):*\ncells -\u003e (block cell):*\n#cells -\u003e cell block \n#cells -\u003e cell\n\n#cell -\u003e (function arrow block):*\ncell -\u003e (block function arrow ):*\ncell -\u003e (function arrow ):*\n\nblank -\u003e [\\t]|[\\s\\s\\s\\s]\nblock -\u003e [|]\narrow -\u003e \"=\u003e\"\nfunction -\u003e ([a-zA-Z0-9_]):*\n```\n```\n@builtin \"whitespace.ne\"\n\n\nmain -\u003e function arrow cells block arrow function  \nmain -\u003e cells\n\n\n#cells -\u003e block cell block\n\ncells -\u003e (cell block):*\ncells -\u003e (block cell):*\n#cells -\u003e cell block \n#cells -\u003e cell\n\n#cell -\u003e (function arrow block):*\ncell -\u003e (block function arrow ):*\ncell -\u003e (function arrow ):*\n\n_  -\u003e wschar:* {% function(d) {return null;} %}\n__ -\u003e wschar:+ {% function(d) {return null;} %}\n\nwschar -\u003e [ \\t\\n\\v\\f] {% id %}\n\nblock -\u003e [|]\narrow -\u003e \"=\u003e\"\nfunction -\u003e ([a-zA-Z0-9_]):*\nfunction -\u003e _ ([a-zA-Z0-9_]) \n```\n#added grammer suppoert for args to functions\n```\n\nmain -\u003e function arrow   cells   block arrow function {%(d)=\u003e{return [d[0][0],d[2],d[2],d[5][0]]}  %}\nmain -\u003e cells\n\n\n#cells -\u003e block cell block {%(d)=\u003e{return d[0]}  %}\n\ncells -\u003e (cell block):* \ncells -\u003e (block cell):*{%(d)=\u003e{return d[0][0]}  %}\n\n\ncell -\u003e (block function arrow ):*  {%(d)=\u003e{return null}  %}\ncell -\u003e (function arrow ):* {%(d)=\u003e{return d[0]}  %}\n\nblank -\u003e [\\t]|[\\s\\s\\s\\s]\nblock -\u003e [|] {%(d)=\u003e{return \"block\"} %}\narrow -\u003e \"=\u003e\" {%(d)=\u003e{return \"arrow\"}%}\nfunction -\u003e function_name \"(\" arg \")\"  {% (d)=\u003e {return [d[0],d[2]]}%}  \n          | function_name \narg -\u003e [^`]:*  {% (d)=\u003e {return d[0].join(\"\")}%}  \nfunction_name -\u003e [a-zA-Z0-9_]:* {% (d)=\u003e {return d[0].join(\"\")}%}  \n```\n\nexperiment with newline blocks\n```\nmain -\u003e lines\n\nlines -\u003e line newline line \nlines -\u003e (line newline):+\nlines -\u003e line\nlines -\u003e newline\n\nline -\u003e [^\\n]:+\nnewline -\u003e \"\\n\"\n```\n### how to dev grammer\n```bash\n##yarn run dev-grammer\nnodemon -w grammar.ne -w grammerTest.js  --exec './node_modules/.bin/nearleyc grammar.ne -o grammar.js\u0026 node grammerTest.js'\n\nnodemon -w grammar.ne -w exampleMultiPipe2.js  --exec './node_modules/.bin/nearleyc grammar.ne -o grammar.js\u0026 node exampleMultiPipe2.js'\nnodemon   -w exampleMultiPipe3.js    exampleMultiPipe3.js \n\n```\n# Summary\n### -  *[Quick start](#Quick-start)*\n### -  *[Installation](#Installation)*\n### -  *[Deveopment](#For-developers)*\n### -  *[Contributors](#Contributors)*\n### -  *[Links](#Links)*\n### -  *[License](#License)*\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n# Installation\n### \n```bash\ncd ~\ngit clone https://github.com/wisehackermonkey/ascii-pipe.git\ncd ascii-pipe\nyarn\nyarn start\n```\n\n\n# List of command\n## Build for production\n```bash\nyarn build\n```\n\n\n\n\n\n\n\n\n\n\n -----------------\n# Screenshots\n- \u003c!-- \u003cimg src=\"NNNNNNNNNNNNN\" width=\"400\"\u003e --\u003e\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n-----------------\n# Deveopment\n### \n```bash\nyarn run dev\n```\n\n\n\n\n\n\n\n\n\n\n\n\n \n---\n# Links\n### [Tokenizers - nearley.js - JS Parsing Toolkit](https://nearley.js.org/docs/tokenizers)\n### [Moo (no-context/moo): Optimised tokenizer/lexer generator! 🐄 Uses /y for performance. ](https://github.com/no-context/moo)\n### [AST explorer](https://astexplorer.net/)\n### [Nearley Parser Playground | Parse Grammars Online, From The Comfort Of Your Home!](https://omrelli.ug/nearley-playground/)\n---\n### UNUSED but cool [acornjs/acorn: A small, fast, JavaScript-based JavaScript parser](https://github.com/acornjs/acorn)\n### also cool and unused [acorn/acorn-loose at master · acornjs/acorn](https://github.com/acornjs/acorn/tree/master/acorn-loose)\n### https://www.digitalocean.com/community/tutorials/js-traversing-ast\n\n\n\n\n\n\n\n\n\n\n\n\n -----------------\n# Contributors\n\n[![](https://contrib.rocks/image?repo=wisehackermonkey/ascii-pipe)](https://github.com/wisehackermonkey/ascii-pipe/graphs/contributors)\n\n##### Made with [contributors-img](https://contrib.rocks).\n\n-----------------\n# License\n#### MIT © wisehackermonkey\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n```bash\nby oran collins\ngithub.com/wisehackermonkey\noranbusiness@gmail.com\n11/17/2021\n```\n\u003c!-- \n\n# Docker\n### Build\n```bash\ncd ~\ngit clone https://github.com/wisehackermonkey/ascii-pipe.git\ncd ascii-pipe\ndocker build -t wisehackermonkey/ascii-pipe:latest .  \n```\n### Run\n```bash\ndocker run -it --rm --name wisehackermonkey/ascii-pipe:latest  \n```\n### Docker-compose\n```bash\ndocker-compose build\ndocker-compose up \n```\n# Publish Docker Image\n```bash\ndocker build -t wisehackermonkey/ascii-pipe:latest .\ndocker login\ndocker push wisehackermonkey/ascii-pipe:latest\n```\n# Deploy on netlify\n```\nnpm install netlify-cli -g\nnetlify login\nnetlify deploy\nnetlify deploy --prod\n```\n--\u003e","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwisehackermonkey%2Fascii-pipe","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwisehackermonkey%2Fascii-pipe","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwisehackermonkey%2Fascii-pipe/lists"}