{"id":24033745,"url":"https://github.com/daanv2/lsp-object-storage","last_synced_at":"2025-04-19T14:41:37.816Z","repository":{"id":237571252,"uuid":"783282031","full_name":"DaanV2/lsp-object-storage","owner":"DaanV2","description":"A storage structure that allows to store objects, which are related to file / document or other references, that a LSP might need to store / delete / update.","archived":false,"fork":false,"pushed_at":"2025-04-02T06:35:18.000Z","size":871,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-15T01:39:21.149Z","etag":null,"topics":["lsp","storage","typescript"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","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/DaanV2.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":"2024-04-07T13:07:26.000Z","updated_at":"2025-04-02T06:35:16.000Z","dependencies_parsed_at":"2025-01-02T09:34:04.684Z","dependency_job_id":"2ebd6fc9-c488-4117-9e98-9fe2e2deed03","html_url":"https://github.com/DaanV2/lsp-object-storage","commit_stats":null,"previous_names":["daanv2/lsp-object-storage"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DaanV2%2Flsp-object-storage","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DaanV2%2Flsp-object-storage/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DaanV2%2Flsp-object-storage/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DaanV2%2Flsp-object-storage/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DaanV2","download_url":"https://codeload.github.com/DaanV2/lsp-object-storage/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249716489,"owners_count":21315066,"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":["lsp","storage","typescript"],"created_at":"2025-01-08T18:54:32.370Z","updated_at":"2025-04-19T14:41:37.788Z","avatar_url":"https://github.com/DaanV2.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# LSP - Object storage\n\nA storage structure that allows storage of objects, that are related to files/documents or other references, that an LSP (Language Server Protocol) might need to store/delete/update.\n\nObjects in LSP used to summarize project information usually have an identification field and a reference field that stores where the object is stored. Based on folders/workspaces/projects, A developer might want to store objects in a structured way, so that they can be easily retrieved.\n\nAs well as when a file/folder is moved or deleted the objects that are related to it should be updated/deleted.\n\n\n## Data structure\n\n```mermaid\nflowchart LR\n    db[(Database)]\n    container1[(Container)]\n    container2[(Container)]\n    set1[(Set)]\n    set2[(Set)]\n    set3[(Set)]\n    set4[(Set)]\n    set5[(Set)]\n    set6[(Set)]\n\n    db -- workspace foo --\u003e container1\n    db -- workspace foo --\u003e container2\n\n    container1 --classes--\u003e set1\n    container1 --enums--\u003e set2\n    container1 --constants--\u003e set3\n\n    container2 --classes--\u003e set4\n    container2 --enums--\u003e set5\n    container2 --constants--\u003e set6\n```\n\n**Set**  \nA set is a collection of objects, each object is a key-value pair, where the key is the identification of the object and the value is the object itself.\nThere can be multiple data items with the same Identification, but the reference should be unique. (something was defined twice in a project)\n\n**Container**  \nA container is a Collection of sets, each Set is storing a category of objects.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdaanv2%2Flsp-object-storage","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdaanv2%2Flsp-object-storage","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdaanv2%2Flsp-object-storage/lists"}