{"id":21262878,"url":"https://github.com/stackql/go-suffix-map","last_synced_at":"2025-07-11T04:31:22.487Z","repository":{"id":57659937,"uuid":"474504182","full_name":"stackql/go-suffix-map","owner":"stackql","description":null,"archived":false,"fork":false,"pushed_at":"2022-03-27T01:11:18.000Z","size":2,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-05-01T11:44:46.870Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Go","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/stackql.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}},"created_at":"2022-03-27T01:10:23.000Z","updated_at":"2023-02-23T21:41:47.000Z","dependencies_parsed_at":"2022-09-26T20:31:08.783Z","dependency_job_id":null,"html_url":"https://github.com/stackql/go-suffix-map","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stackql%2Fgo-suffix-map","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stackql%2Fgo-suffix-map/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stackql%2Fgo-suffix-map/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stackql%2Fgo-suffix-map/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/stackql","download_url":"https://codeload.github.com/stackql/go-suffix-map/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225674895,"owners_count":17506272,"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-21T04:59:37.046Z","updated_at":"2024-11-21T04:59:37.709Z","avatar_url":"https://github.com/stackql.png","language":"Go","readme":"\n# go-suffix-map\n\n`go-suffix-map` supports a suffix tree with pointers to aribitrary objects.  The idea is that lookup happens on shared suffix between search key and store key, with specialisations to be supported.\n\nThe default specialisation is that suffix matching is on either dot (`.`) separation boundaries, or full string match.\n\n## Examples of default lookup\n\n| Lookup Key | Storage key | Matches? | Comment |\n| -----------| ----------- | -------- | ------- |\n| subSubSubDomainBeta | domainA.subDomainB.subSubDomainC.subSubSubDomainBeta | true | matches on `.` boundary |\n| omainBeta | domainA.subDomainB.subSubDomainC.subSubSubDomainBeta | false | does not match on `.` boundary |\n| subSubDomainC.subSubSubDomainBeta | domainA.subDomainB.subSubDomainC.subSubSubDomainBeta | true | matches on `.` boundary |\n| ainC.subSubSubDomainBeta | domainA.subDomainB.subSubDomainC.subSubSubDomainBeta | false | does not match on `.` boundary |\n| subDomainB.subSubDomainC.subSubSubDomainBeta | domainA.subDomainB.subSubDomainC.subSubSubDomainBeta | true | matches on `.` boundary |\n| ainA.subDomainB.subSubDomainC.subSubSubDomainBeta | domainA.subDomainB.subSubDomainC.subSubSubDomainBeta | false | does not match on `.` boundary |\n| domainA.subDomainB.subSubDomainC.subSubSubDomainBeta | domainA.subDomainB.subSubDomainC.subSubSubDomainBeta | true | full string match |\n\n\n## TODO\n\n- Convert to `golang` generics.\n- Possibly change core implementation to [Ukkonen's algorithm](https://en.wikipedia.org/wiki/Ukkonen%27s_algorithm).\n- Add init config object to support specialisations.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstackql%2Fgo-suffix-map","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstackql%2Fgo-suffix-map","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstackql%2Fgo-suffix-map/lists"}