From 8988f94f4277d8b8f462b1dffc67cd32d83fa525 Mon Sep 17 00:00:00 2001 From: Jude Zhu Date: Wed, 22 May 2024 17:09:46 -0700 Subject: [PATCH] added replacer --- common/utils.go | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 common/utils.go diff --git a/common/utils.go b/common/utils.go new file mode 100644 index 0000000..62ac64e --- /dev/null +++ b/common/utils.go @@ -0,0 +1,36 @@ +package common + +import "regexp" + +var ( + placeholderNonFungibleToken = regexp.MustCompile(`"[^"\s].*/NonFungibleToken.cdc"`) + placeholderExampleNFT = regexp.MustCompile(`"[^"\s].*/ExampleNFT.cdc"`) + placeholderMetadataViews = regexp.MustCompile(`"[^"\s].*/MetadataViews.cdc"`) + placeholderFungibleToken = regexp.MustCompile(`"[^"\s].*/FungibleToken.cdc"`) +) + +type Replacer map[AddressName]*regexp.Regexp + +type AddressName string + +const ( + NonFungibleTokenAddr AddressName = "NonFungibleToken" +) + +var replacer Replacer + +func init() { + replacer = map[AddressName]*regexp.Regexp{ + "placeholderNonFungibleToken": placeholderNonFungibleToken, + "placeholderExampleNFT": placeholderExampleNFT, + "placeholderMetadataViews": placeholderMetadataViews, + "placeholderFungibleToken": placeholderFungibleToken, + } +} + +func (r Replacer) replaceAddresses(code string, addr map[AddressName]string) string { + for key, value := range addr { + code = r[key].ReplaceAllString(code, "0x"+value) + } + return code +}