{"id":24772672,"url":"https://github.com/neoapps-dev/easylua","last_synced_at":"2025-03-23T21:14:02.892Z","repository":{"id":274081488,"uuid":"921836085","full_name":"neoapps-dev/easylua","owner":"neoapps-dev","description":"A Lua module to make Lua even easier!","archived":false,"fork":false,"pushed_at":"2025-01-24T18:34:41.000Z","size":16,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-24T19:30:35.786Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Lua","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/neoapps-dev.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-01-24T17:53:13.000Z","updated_at":"2025-01-24T18:34:44.000Z","dependencies_parsed_at":"2025-01-24T19:40:59.679Z","dependency_job_id":null,"html_url":"https://github.com/neoapps-dev/easylua","commit_stats":null,"previous_names":["neoapps-dev/easylua"],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/neoapps-dev%2Feasylua","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/neoapps-dev%2Feasylua/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/neoapps-dev%2Feasylua/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/neoapps-dev%2Feasylua/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/neoapps-dev","download_url":"https://codeload.github.com/neoapps-dev/easylua/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245168912,"owners_count":20571804,"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":[],"created_at":"2025-01-29T04:31:40.335Z","updated_at":"2025-03-23T21:14:02.844Z","avatar_url":"https://github.com/neoapps-dev.png","language":"Lua","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n  \u003cimg width=\"150\" height=\"150\" src=\"https://raw.githubusercontent.com/neoapps-dev/easylua/refs/heads/main/logo.png\"\u003e\n  \u003ch1\u003eEasyLua\u003c/h1\u003e\n  \u003cp\u003e\u003cem\u003eMinimal Lua module to not reinvent the wheel.\u003c/em\u003e\u003c/p\u003e\n  \n  [![Lua](https://img.shields.io/badge/Lua-2C2D72?style=flat-square\u0026logo=lua\u0026logoColor=white)](https://lua.org) [![Codeac](https://static.codeac.io/badges/2-903404923.svg \"Codeac\")](https://app.codeac.io/github/neoapps-dev/easylua) [![License](https://img.shields.io/github/license/neoapps-dev/easylua.svg?style=flat-square)](https://github.com/neoapps-dev/buildit/blob/master/LICENSE)\n\u003c/div\u003e\n\n**EasyLua** is a lightweight Lua utility library designed to simplify everyday programming tasks. It aims to eliminate the repetitive work of implementing common utility functions and provides developers with a collection of reusable, cross-platform tools. Whether you're working on a game, web app, or general scripting task, EasyLua can make your Lua development faster and more efficient.\n\n---\n\n## 📌 **Why EasyLua?**\n\nLua is a powerful and lightweight scripting language, but it lacks many built-in utility functions that developers often need. EasyLua fills this gap by offering a suite of features for:\n\n- File Handling\n- JSON Operations\n- String Manipulations\n- Table Management\n- Mathematical Computations\n- Date/Time Utilities\n\nWith EasyLua, you can save time and focus on building your application instead of writing utility functions from scratch.\n\n---\n\n## 🚀 **Core Features**\n\n### 🔹 **File Utilities**\n\nSimplify file operations with intuitive functions:\n\n- **Read, write, and append** to files.\n- **Rename and delete** files safely.\n- **Check if files exist** or create directories.\n\n### 🔹 **JSON Utilities**\n\nHandle JSON data effortlessly:\n\n- Encode tables to JSON strings.\n- Decode JSON strings into Lua tables.\n- Pretty-print JSON for debugging.\n\n### 🔹 **Number Utilities**\n\nPerform common number-related tasks:\n\n- Generate random integers.\n- Check if a number is even or odd.\n- Calculate factorials or Fibonacci numbers.\n\n### 🔹 **String Utilities**\n\nWork smarter with strings:\n\n- Trim whitespace.\n- Split strings into tables by a delimiter.\n- Convert to upper or lower case.\n- Replace substrings easily.\n\n### 🔹 **Table Utilities**\n\nTake control of Lua tables:\n\n- Deep copy or merge tables.\n- Flatten nested tables.\n- Sort tables by keys or values.\n- Search for specific values.\n\n### 🔹 **Math Utilities**\n\nBoost your math operations:\n\n- Clamp numbers within a range.\n- Calculate the Greatest Common Divisor (GCD) or Least Common Multiple (LCM).\n- Check if a number is prime.\n\n### 🔹 **Date/Time Utilities**\n\nHandle time-related operations effortlessly:\n\n- Convert timestamps to human-readable formats.\n- Get the current date and time in custom formats.\n\n---\n\n## 🛠️ **Getting Started**\n\nPlease note that we've only tested it on GNU/Linux (Arch btw) and Windows only. tests on other devices like macOS and BSD are welcome. please flag any issues you encounter.\n\n### Installation\n\n1. Install [BuildIt](https://github.com/neoapps-dev/buildit)\n2. Package EasyLua as a one file:\n\n   ```bash\n   buildit pack\n   ```\n\n3. Copy the generated `dist/easy.lua` file to your project directory.\n\n### Usage\n\nLoad the module and start using its utilities:\n\n```lua\nlocal Easy = require(\"easy\")\n\n-- Example: Reading a file\nlocal content = Easy.Lua.readFile(\"example.txt\")\nprint(content)\n\n-- Example: JSON Encoding\nlocal jsonString = Easy.Lua.jsonEncode({ key = \"value\" })\nprint(jsonString)\n```\n\n---\n\n## 🤝 **Contribution Guide**\n\nContributions are welcome! If you want to add a new feature or fix a bug, follow these steps:\n\n1. Fork the repository.\n2. Create a new branch (`feature/your-feature` or `bugfix/your-fix`).\n3. Add your code and document it.\n4. Submit a pull request with a clear description of your changes.\n\n---\n\n## 📄 **License**\n\nEasyLua is licensed under the [MIT License](https://github.com/neoapps-dev/easylua/blob/main/LICENSE), allowing you to use it freely in both open-source and commercial projects.\n\n---\n\nMade with ❤️ by [NEOAPPS DEV](https://github.com/neoapps-dev) and the open-source community.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fneoapps-dev%2Feasylua","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fneoapps-dev%2Feasylua","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fneoapps-dev%2Feasylua/lists"}