Skip to content

serkodev/singleflight-any

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

singleflight-any

This repo hard forks from golang.org/x/sync/singleflight and support generics to the Group and Key type. Comparing to the original version of singleflight, you are free to use any comparable key type instead of string only.

Install

go get github.com/serkodev/singleflight-any@latest

Usage

string key, string value

var g Group[string, string]
v, _, _ := g.Do("foo", func() (string, error) {
    return "bar", nil
})

int key, string value

var g Group[int, string]
v, _, _ := g.Do(123, func() (string, error) {
    return "bar", nil
})

Requirements

go 1.18 or above.