{"id":20756504,"url":"https://github.com/basiliscos/lua-ordered-set","last_synced_at":"2025-07-06T17:35:01.726Z","repository":{"id":153550121,"uuid":"52216730","full_name":"basiliscos/lua-ordered-set","owner":"basiliscos","description":"Ordered set implementation in lua","archived":false,"fork":false,"pushed_at":"2016-02-25T20:16:16.000Z","size":15,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-01-18T04:31:46.239Z","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":"artistic-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/basiliscos.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}},"created_at":"2016-02-21T16:51:09.000Z","updated_at":"2016-02-21T18:33:09.000Z","dependencies_parsed_at":"2023-05-10T11:08:04.094Z","dependency_job_id":null,"html_url":"https://github.com/basiliscos/lua-ordered-set","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/basiliscos%2Flua-ordered-set","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/basiliscos%2Flua-ordered-set/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/basiliscos%2Flua-ordered-set/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/basiliscos%2Flua-ordered-set/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/basiliscos","download_url":"https://codeload.github.com/basiliscos/lua-ordered-set/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243064398,"owners_count":20230559,"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":"2024-11-17T09:32:48.912Z","updated_at":"2025-03-11T15:49:20.455Z","avatar_url":"https://github.com/basiliscos.png","language":"Lua","funding_links":[],"categories":[],"sub_categories":[],"readme":"# lua-ordered-set\nOrdered set implementation in lua\n\n[![Build Status](https://travis-ci.org/basiliscos/lua-ordered-set.png)](https://travis-ci.org/basiliscos/lua-ordered-set)\n\n\n1. It is not allowed to add duplicate into set\n2. The order of element is pre-served\n2. Adding element to **head** or **tail** is `O(1)` fast \n3. Adding element in **middle** of set is `O(N)` slow, discouraged\n4. Removing element from anywhere is `O(1)` fast\n5. Anything could be element, except `nil`\n\n\n# Example\n```lua\nlocal OrderedSet = require \"OrderedSet\"\nlocal set = OrderedSet.new({\"a\", \"b\", \"c\"})\n\nset:insert(\"d\")\nset:insert(\"bb\", 2) -- slow\nset:remove(\"a\")\n\n-- traverse elements in the order as they were added\nfor index, element in set:pairs() do\n  print(index .. \": \" .. element)\nend\n\n-- traverse elements in the reverse order\nfor index, element in set:pairs(true) do\n  print(index .. \": \" .. element)\nend\n\n\n```\n\nInstallation\n============\n\n```luarocks install OrderedScope```\n\n\n# License\n\nArtistic License 2.0\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbasiliscos%2Flua-ordered-set","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbasiliscos%2Flua-ordered-set","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbasiliscos%2Flua-ordered-set/lists"}