getCredentialNFTFromLocator function
Future<CrossmintCredentialNftLookupResult>
getCredentialNFTFromLocator(
- String locator, {
- CrossmintCredentialCollectionProvider? collectionProvider,
- Future<
Object?> metadataLoader(- CrossmintCredentialLocator locator
Implementation
Future<CrossmintCredentialNftLookupResult> getCredentialNFTFromLocator(
String locator, {
CrossmintCredentialCollectionProvider? collectionProvider,
Future<Object?> Function(CrossmintCredentialLocator locator)? metadataLoader,
}) async {
final CrossmintCredentialLocator parsed = parseCredentialLocator(locator);
final Object? metadata = metadataLoader == null
? null
: await metadataLoader(parsed);
final CrossmintJsonMap raw = <String, Object?>{...parsed.toJson()};
if (metadata != null) {
raw['metadata'] = metadata;
}
final CrossmintVcNft nft = CrossmintVcNft(
chain: parsed.chain,
contractAddress: parsed.contractAddress,
tokenId: parsed.tokenId ?? '',
metadata: metadata,
raw: raw,
);
final CrossmintCredentialsCollection? collection = collectionProvider == null
? null
: await collectionProvider(parsed.chain, parsed.contractAddress);
return CrossmintCredentialNftLookupResult(nft: nft, collection: collection);
}