emblem-vault-sdk 1.9.21 → 1.10.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bundle.js +76 -13
- package/dist/index.js +10 -1
- package/dist/utils.js +67 -13
- package/docs/bundle.js +76 -13
- package/package.json +1 -1
- package/src/index.ts +12 -0
- package/src/utils.ts +73 -19
- package/types/index.d.ts +3 -0
package/dist/bundle.js
CHANGED
|
@@ -711421,7 +711421,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
711421
711421
|
const bignumber_1 = require("@ethersproject/bignumber");
|
|
711422
711422
|
const utils_1 = require("./utils");
|
|
711423
711423
|
const derive_1 = require("./derive");
|
|
711424
|
-
const SDK_VERSION = '1.
|
|
711424
|
+
const SDK_VERSION = '1.10.1';
|
|
711425
711425
|
class EmblemVaultSDK {
|
|
711426
711426
|
constructor(apiKey, baseUrl) {
|
|
711427
711427
|
this.apiKey = apiKey;
|
|
@@ -711451,6 +711451,15 @@ class EmblemVaultSDK {
|
|
|
711451
711451
|
getAllAssetMetadata() {
|
|
711452
711452
|
return (0, utils_1.metadataObj2Arr)(utils_1.NFT_DATA);
|
|
711453
711453
|
}
|
|
711454
|
+
getRemoteAssetMetadataProjectList() {
|
|
711455
|
+
return (0, utils_1.fetchData)(`${this.v3Url}/asset_metadata/projects`, this.apiKey);
|
|
711456
|
+
}
|
|
711457
|
+
getRemoteAssetMetadata(asset_name) {
|
|
711458
|
+
return (0, utils_1.fetchData)(`${this.v3Url}/asset_metadata/${asset_name}`, this.apiKey);
|
|
711459
|
+
}
|
|
711460
|
+
getRemoteAssetMetadataVaultedProjectList() {
|
|
711461
|
+
return (0, utils_1.fetchData)(`${this.v3Url}/asset_metadata/projects/vaulted`, this.apiKey);
|
|
711462
|
+
}
|
|
711454
711463
|
getAllProjects() {
|
|
711455
711464
|
const NFT_DATA_ARR = (0, utils_1.metadataObj2Arr)(utils_1.NFT_DATA);
|
|
711456
711465
|
const projects = (0, utils_1.metadataAllProjects)(NFT_DATA_ARR);
|
|
@@ -712619,33 +712628,87 @@ exports.getLegacyContract = getLegacyContract;
|
|
|
712619
712628
|
function checkContentType(url) {
|
|
712620
712629
|
return new Promise((resolve, reject) => {
|
|
712621
712630
|
let returnVal = { valid: false };
|
|
712622
|
-
|
|
712623
|
-
|
|
712631
|
+
// Function to make fetch requests
|
|
712632
|
+
function fetchUrl(method) {
|
|
712633
|
+
return fetch(url, { method: method })
|
|
712624
712634
|
.then(response => {
|
|
712625
712635
|
if (!response.ok) {
|
|
712626
712636
|
returnVal.valid = false;
|
|
712637
|
+
return resolve(returnVal);
|
|
712627
712638
|
}
|
|
712628
712639
|
else if (response.status === 200) {
|
|
712629
712640
|
const contentType = response.headers.get('content-type');
|
|
712630
|
-
|
|
712631
|
-
|
|
712632
|
-
|
|
712633
|
-
|
|
712634
|
-
|
|
712635
|
-
|
|
712641
|
+
if (!contentType && method === 'HEAD') {
|
|
712642
|
+
// If content-type is not found in HEAD, make a GET request
|
|
712643
|
+
return fetchUrl('GET');
|
|
712644
|
+
}
|
|
712645
|
+
else {
|
|
712646
|
+
// Process the content type and resolve the promise
|
|
712647
|
+
let extension = getFileExtensionFromMimeType(contentType);
|
|
712648
|
+
returnVal.valid = true;
|
|
712649
|
+
returnVal.contentType = contentType;
|
|
712650
|
+
returnVal.extension = extension;
|
|
712651
|
+
returnVal.method = method;
|
|
712652
|
+
returnVal.embed = !isValidDirect(extension);
|
|
712653
|
+
console.log('Content-Type:', contentType);
|
|
712654
|
+
return resolve(returnVal);
|
|
712655
|
+
}
|
|
712656
|
+
}
|
|
712657
|
+
else {
|
|
712658
|
+
return resolve(returnVal);
|
|
712636
712659
|
}
|
|
712637
|
-
resolve(returnVal);
|
|
712638
712660
|
})
|
|
712639
712661
|
.catch(error => {
|
|
712640
712662
|
console.error('Error while fetching URL:', error);
|
|
712641
|
-
resolve(returnVal);
|
|
712663
|
+
return resolve(returnVal);
|
|
712642
712664
|
});
|
|
712643
712665
|
}
|
|
712644
|
-
|
|
712645
|
-
|
|
712666
|
+
// Start with a HEAD request
|
|
712667
|
+
fetchUrl('HEAD').catch((error) => {
|
|
712668
|
+
console.error('Initial fetch error:', error);
|
|
712669
|
+
resolve(returnVal);
|
|
712670
|
+
});
|
|
712646
712671
|
});
|
|
712647
712672
|
}
|
|
712648
712673
|
exports.checkContentType = checkContentType;
|
|
712674
|
+
// export function checkContentType(url: string) {
|
|
712675
|
+
// return new Promise((resolve, reject) => {
|
|
712676
|
+
// // Making a HTTP HEAD request to get only the headers
|
|
712677
|
+
// type ReturnVal = { valid?: boolean, contentType?: string | null, extension?: string, embed?: boolean, method?: string};
|
|
712678
|
+
// let returnVal: ReturnVal = {valid: false};
|
|
712679
|
+
// function fetchUrl(method: string) {
|
|
712680
|
+
// fetch(url, { method: method })
|
|
712681
|
+
// .then(response => {
|
|
712682
|
+
// if (!response.ok) {
|
|
712683
|
+
// returnVal.valid = false
|
|
712684
|
+
// }
|
|
712685
|
+
// else if (response.status === 200) {
|
|
712686
|
+
// const contentType = response.headers.get('content-type');
|
|
712687
|
+
// if (!contentType) {
|
|
712688
|
+
// return fetchUrl('GET')
|
|
712689
|
+
// } else {
|
|
712690
|
+
// let extension = getFileExtensionFromMimeType(contentType)
|
|
712691
|
+
// returnVal.valid = true
|
|
712692
|
+
// returnVal.contentType = contentType
|
|
712693
|
+
// returnVal.extension = extension
|
|
712694
|
+
// returnVal.method = method
|
|
712695
|
+
// returnVal.embed = !isValidDirect(extension)
|
|
712696
|
+
// console.log('Content-Type:', contentType);
|
|
712697
|
+
// }
|
|
712698
|
+
// }
|
|
712699
|
+
// return resolve(returnVal);
|
|
712700
|
+
// })
|
|
712701
|
+
// .catch(error => {
|
|
712702
|
+
// console.error('Error while fetching URL:', error);
|
|
712703
|
+
// resolve(returnVal);
|
|
712704
|
+
// });
|
|
712705
|
+
// }
|
|
712706
|
+
// try {
|
|
712707
|
+
// fetchUrl('HEAD');
|
|
712708
|
+
// } catch (error) {
|
|
712709
|
+
// }
|
|
712710
|
+
// });
|
|
712711
|
+
// }
|
|
712649
712712
|
function isValidDirect(extension) {
|
|
712650
712713
|
switch (extension) {
|
|
712651
712714
|
case '.png':
|
package/dist/index.js
CHANGED
|
@@ -35,7 +35,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
35
35
|
const bignumber_1 = require("@ethersproject/bignumber");
|
|
36
36
|
const utils_1 = require("./utils");
|
|
37
37
|
const derive_1 = require("./derive");
|
|
38
|
-
const SDK_VERSION = '1.
|
|
38
|
+
const SDK_VERSION = '1.10.1';
|
|
39
39
|
class EmblemVaultSDK {
|
|
40
40
|
constructor(apiKey, baseUrl) {
|
|
41
41
|
this.apiKey = apiKey;
|
|
@@ -65,6 +65,15 @@ class EmblemVaultSDK {
|
|
|
65
65
|
getAllAssetMetadata() {
|
|
66
66
|
return (0, utils_1.metadataObj2Arr)(utils_1.NFT_DATA);
|
|
67
67
|
}
|
|
68
|
+
getRemoteAssetMetadataProjectList() {
|
|
69
|
+
return (0, utils_1.fetchData)(`${this.v3Url}/asset_metadata/projects`, this.apiKey);
|
|
70
|
+
}
|
|
71
|
+
getRemoteAssetMetadata(asset_name) {
|
|
72
|
+
return (0, utils_1.fetchData)(`${this.v3Url}/asset_metadata/${asset_name}`, this.apiKey);
|
|
73
|
+
}
|
|
74
|
+
getRemoteAssetMetadataVaultedProjectList() {
|
|
75
|
+
return (0, utils_1.fetchData)(`${this.v3Url}/asset_metadata/projects/vaulted`, this.apiKey);
|
|
76
|
+
}
|
|
68
77
|
getAllProjects() {
|
|
69
78
|
const NFT_DATA_ARR = (0, utils_1.metadataObj2Arr)(utils_1.NFT_DATA);
|
|
70
79
|
const projects = (0, utils_1.metadataAllProjects)(NFT_DATA_ARR);
|
package/dist/utils.js
CHANGED
|
@@ -599,33 +599,87 @@ exports.getLegacyContract = getLegacyContract;
|
|
|
599
599
|
function checkContentType(url) {
|
|
600
600
|
return new Promise((resolve, reject) => {
|
|
601
601
|
let returnVal = { valid: false };
|
|
602
|
-
|
|
603
|
-
|
|
602
|
+
// Function to make fetch requests
|
|
603
|
+
function fetchUrl(method) {
|
|
604
|
+
return fetch(url, { method: method })
|
|
604
605
|
.then(response => {
|
|
605
606
|
if (!response.ok) {
|
|
606
607
|
returnVal.valid = false;
|
|
608
|
+
return resolve(returnVal);
|
|
607
609
|
}
|
|
608
610
|
else if (response.status === 200) {
|
|
609
611
|
const contentType = response.headers.get('content-type');
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
612
|
+
if (!contentType && method === 'HEAD') {
|
|
613
|
+
// If content-type is not found in HEAD, make a GET request
|
|
614
|
+
return fetchUrl('GET');
|
|
615
|
+
}
|
|
616
|
+
else {
|
|
617
|
+
// Process the content type and resolve the promise
|
|
618
|
+
let extension = getFileExtensionFromMimeType(contentType);
|
|
619
|
+
returnVal.valid = true;
|
|
620
|
+
returnVal.contentType = contentType;
|
|
621
|
+
returnVal.extension = extension;
|
|
622
|
+
returnVal.method = method;
|
|
623
|
+
returnVal.embed = !isValidDirect(extension);
|
|
624
|
+
console.log('Content-Type:', contentType);
|
|
625
|
+
return resolve(returnVal);
|
|
626
|
+
}
|
|
627
|
+
}
|
|
628
|
+
else {
|
|
629
|
+
return resolve(returnVal);
|
|
630
|
+
}
|
|
618
631
|
})
|
|
619
632
|
.catch(error => {
|
|
620
633
|
console.error('Error while fetching URL:', error);
|
|
621
|
-
resolve(returnVal);
|
|
634
|
+
return resolve(returnVal);
|
|
622
635
|
});
|
|
623
636
|
}
|
|
624
|
-
|
|
625
|
-
|
|
637
|
+
// Start with a HEAD request
|
|
638
|
+
fetchUrl('HEAD').catch((error) => {
|
|
639
|
+
console.error('Initial fetch error:', error);
|
|
640
|
+
resolve(returnVal);
|
|
641
|
+
});
|
|
626
642
|
});
|
|
627
643
|
}
|
|
628
644
|
exports.checkContentType = checkContentType;
|
|
645
|
+
// export function checkContentType(url: string) {
|
|
646
|
+
// return new Promise((resolve, reject) => {
|
|
647
|
+
// // Making a HTTP HEAD request to get only the headers
|
|
648
|
+
// type ReturnVal = { valid?: boolean, contentType?: string | null, extension?: string, embed?: boolean, method?: string};
|
|
649
|
+
// let returnVal: ReturnVal = {valid: false};
|
|
650
|
+
// function fetchUrl(method: string) {
|
|
651
|
+
// fetch(url, { method: method })
|
|
652
|
+
// .then(response => {
|
|
653
|
+
// if (!response.ok) {
|
|
654
|
+
// returnVal.valid = false
|
|
655
|
+
// }
|
|
656
|
+
// else if (response.status === 200) {
|
|
657
|
+
// const contentType = response.headers.get('content-type');
|
|
658
|
+
// if (!contentType) {
|
|
659
|
+
// return fetchUrl('GET')
|
|
660
|
+
// } else {
|
|
661
|
+
// let extension = getFileExtensionFromMimeType(contentType)
|
|
662
|
+
// returnVal.valid = true
|
|
663
|
+
// returnVal.contentType = contentType
|
|
664
|
+
// returnVal.extension = extension
|
|
665
|
+
// returnVal.method = method
|
|
666
|
+
// returnVal.embed = !isValidDirect(extension)
|
|
667
|
+
// console.log('Content-Type:', contentType);
|
|
668
|
+
// }
|
|
669
|
+
// }
|
|
670
|
+
// return resolve(returnVal);
|
|
671
|
+
// })
|
|
672
|
+
// .catch(error => {
|
|
673
|
+
// console.error('Error while fetching URL:', error);
|
|
674
|
+
// resolve(returnVal);
|
|
675
|
+
// });
|
|
676
|
+
// }
|
|
677
|
+
// try {
|
|
678
|
+
// fetchUrl('HEAD');
|
|
679
|
+
// } catch (error) {
|
|
680
|
+
// }
|
|
681
|
+
// });
|
|
682
|
+
// }
|
|
629
683
|
function isValidDirect(extension) {
|
|
630
684
|
switch (extension) {
|
|
631
685
|
case '.png':
|
package/docs/bundle.js
CHANGED
|
@@ -711421,7 +711421,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
711421
711421
|
const bignumber_1 = require("@ethersproject/bignumber");
|
|
711422
711422
|
const utils_1 = require("./utils");
|
|
711423
711423
|
const derive_1 = require("./derive");
|
|
711424
|
-
const SDK_VERSION = '1.
|
|
711424
|
+
const SDK_VERSION = '1.10.1';
|
|
711425
711425
|
class EmblemVaultSDK {
|
|
711426
711426
|
constructor(apiKey, baseUrl) {
|
|
711427
711427
|
this.apiKey = apiKey;
|
|
@@ -711451,6 +711451,15 @@ class EmblemVaultSDK {
|
|
|
711451
711451
|
getAllAssetMetadata() {
|
|
711452
711452
|
return (0, utils_1.metadataObj2Arr)(utils_1.NFT_DATA);
|
|
711453
711453
|
}
|
|
711454
|
+
getRemoteAssetMetadataProjectList() {
|
|
711455
|
+
return (0, utils_1.fetchData)(`${this.v3Url}/asset_metadata/projects`, this.apiKey);
|
|
711456
|
+
}
|
|
711457
|
+
getRemoteAssetMetadata(asset_name) {
|
|
711458
|
+
return (0, utils_1.fetchData)(`${this.v3Url}/asset_metadata/${asset_name}`, this.apiKey);
|
|
711459
|
+
}
|
|
711460
|
+
getRemoteAssetMetadataVaultedProjectList() {
|
|
711461
|
+
return (0, utils_1.fetchData)(`${this.v3Url}/asset_metadata/projects/vaulted`, this.apiKey);
|
|
711462
|
+
}
|
|
711454
711463
|
getAllProjects() {
|
|
711455
711464
|
const NFT_DATA_ARR = (0, utils_1.metadataObj2Arr)(utils_1.NFT_DATA);
|
|
711456
711465
|
const projects = (0, utils_1.metadataAllProjects)(NFT_DATA_ARR);
|
|
@@ -712619,33 +712628,87 @@ exports.getLegacyContract = getLegacyContract;
|
|
|
712619
712628
|
function checkContentType(url) {
|
|
712620
712629
|
return new Promise((resolve, reject) => {
|
|
712621
712630
|
let returnVal = { valid: false };
|
|
712622
|
-
|
|
712623
|
-
|
|
712631
|
+
// Function to make fetch requests
|
|
712632
|
+
function fetchUrl(method) {
|
|
712633
|
+
return fetch(url, { method: method })
|
|
712624
712634
|
.then(response => {
|
|
712625
712635
|
if (!response.ok) {
|
|
712626
712636
|
returnVal.valid = false;
|
|
712637
|
+
return resolve(returnVal);
|
|
712627
712638
|
}
|
|
712628
712639
|
else if (response.status === 200) {
|
|
712629
712640
|
const contentType = response.headers.get('content-type');
|
|
712630
|
-
|
|
712631
|
-
|
|
712632
|
-
|
|
712633
|
-
|
|
712634
|
-
|
|
712635
|
-
|
|
712641
|
+
if (!contentType && method === 'HEAD') {
|
|
712642
|
+
// If content-type is not found in HEAD, make a GET request
|
|
712643
|
+
return fetchUrl('GET');
|
|
712644
|
+
}
|
|
712645
|
+
else {
|
|
712646
|
+
// Process the content type and resolve the promise
|
|
712647
|
+
let extension = getFileExtensionFromMimeType(contentType);
|
|
712648
|
+
returnVal.valid = true;
|
|
712649
|
+
returnVal.contentType = contentType;
|
|
712650
|
+
returnVal.extension = extension;
|
|
712651
|
+
returnVal.method = method;
|
|
712652
|
+
returnVal.embed = !isValidDirect(extension);
|
|
712653
|
+
console.log('Content-Type:', contentType);
|
|
712654
|
+
return resolve(returnVal);
|
|
712655
|
+
}
|
|
712656
|
+
}
|
|
712657
|
+
else {
|
|
712658
|
+
return resolve(returnVal);
|
|
712636
712659
|
}
|
|
712637
|
-
resolve(returnVal);
|
|
712638
712660
|
})
|
|
712639
712661
|
.catch(error => {
|
|
712640
712662
|
console.error('Error while fetching URL:', error);
|
|
712641
|
-
resolve(returnVal);
|
|
712663
|
+
return resolve(returnVal);
|
|
712642
712664
|
});
|
|
712643
712665
|
}
|
|
712644
|
-
|
|
712645
|
-
|
|
712666
|
+
// Start with a HEAD request
|
|
712667
|
+
fetchUrl('HEAD').catch((error) => {
|
|
712668
|
+
console.error('Initial fetch error:', error);
|
|
712669
|
+
resolve(returnVal);
|
|
712670
|
+
});
|
|
712646
712671
|
});
|
|
712647
712672
|
}
|
|
712648
712673
|
exports.checkContentType = checkContentType;
|
|
712674
|
+
// export function checkContentType(url: string) {
|
|
712675
|
+
// return new Promise((resolve, reject) => {
|
|
712676
|
+
// // Making a HTTP HEAD request to get only the headers
|
|
712677
|
+
// type ReturnVal = { valid?: boolean, contentType?: string | null, extension?: string, embed?: boolean, method?: string};
|
|
712678
|
+
// let returnVal: ReturnVal = {valid: false};
|
|
712679
|
+
// function fetchUrl(method: string) {
|
|
712680
|
+
// fetch(url, { method: method })
|
|
712681
|
+
// .then(response => {
|
|
712682
|
+
// if (!response.ok) {
|
|
712683
|
+
// returnVal.valid = false
|
|
712684
|
+
// }
|
|
712685
|
+
// else if (response.status === 200) {
|
|
712686
|
+
// const contentType = response.headers.get('content-type');
|
|
712687
|
+
// if (!contentType) {
|
|
712688
|
+
// return fetchUrl('GET')
|
|
712689
|
+
// } else {
|
|
712690
|
+
// let extension = getFileExtensionFromMimeType(contentType)
|
|
712691
|
+
// returnVal.valid = true
|
|
712692
|
+
// returnVal.contentType = contentType
|
|
712693
|
+
// returnVal.extension = extension
|
|
712694
|
+
// returnVal.method = method
|
|
712695
|
+
// returnVal.embed = !isValidDirect(extension)
|
|
712696
|
+
// console.log('Content-Type:', contentType);
|
|
712697
|
+
// }
|
|
712698
|
+
// }
|
|
712699
|
+
// return resolve(returnVal);
|
|
712700
|
+
// })
|
|
712701
|
+
// .catch(error => {
|
|
712702
|
+
// console.error('Error while fetching URL:', error);
|
|
712703
|
+
// resolve(returnVal);
|
|
712704
|
+
// });
|
|
712705
|
+
// }
|
|
712706
|
+
// try {
|
|
712707
|
+
// fetchUrl('HEAD');
|
|
712708
|
+
// } catch (error) {
|
|
712709
|
+
// }
|
|
712710
|
+
// });
|
|
712711
|
+
// }
|
|
712649
712712
|
function isValidDirect(extension) {
|
|
712650
712713
|
switch (extension) {
|
|
712651
712714
|
case '.png':
|
package/package.json
CHANGED
package/src/index.ts
CHANGED
|
@@ -41,6 +41,18 @@ class EmblemVaultSDK {
|
|
|
41
41
|
return metadataObj2Arr(NFT_DATA)
|
|
42
42
|
}
|
|
43
43
|
|
|
44
|
+
getRemoteAssetMetadataProjectList() {
|
|
45
|
+
return fetchData(`${this.v3Url}/asset_metadata/projects`, this.apiKey);
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
getRemoteAssetMetadata(asset_name: string) {
|
|
49
|
+
return fetchData(`${this.v3Url}/asset_metadata/${asset_name}`, this.apiKey);
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
getRemoteAssetMetadataVaultedProjectList() {
|
|
53
|
+
return fetchData(`${this.v3Url}/asset_metadata/projects/vaulted`, this.apiKey);
|
|
54
|
+
}
|
|
55
|
+
|
|
44
56
|
getAllProjects() {
|
|
45
57
|
const NFT_DATA_ARR = metadataObj2Arr(NFT_DATA)
|
|
46
58
|
const projects = metadataAllProjects(NFT_DATA_ARR)
|
package/src/utils.ts
CHANGED
|
@@ -568,35 +568,89 @@ export async function getLegacyContract(web3: any) {
|
|
|
568
568
|
|
|
569
569
|
export function checkContentType(url: string) {
|
|
570
570
|
return new Promise((resolve, reject) => {
|
|
571
|
-
//
|
|
572
|
-
type ReturnVal = { valid?: boolean, contentType?: string | null, extension?: string, embed?: boolean };
|
|
573
|
-
let returnVal: ReturnVal = {valid: false};
|
|
574
|
-
|
|
575
|
-
|
|
571
|
+
// Define the return value type
|
|
572
|
+
type ReturnVal = { valid?: boolean, contentType?: string | null, extension?: string, embed?: boolean, method?: string };
|
|
573
|
+
let returnVal: ReturnVal = { valid: false };
|
|
574
|
+
|
|
575
|
+
// Function to make fetch requests
|
|
576
|
+
function fetchUrl(method: string): any {
|
|
577
|
+
return fetch(url, { method: method })
|
|
576
578
|
.then(response => {
|
|
577
579
|
if (!response.ok) {
|
|
578
|
-
returnVal.valid = false
|
|
579
|
-
|
|
580
|
-
else if (response.status === 200) {
|
|
580
|
+
returnVal.valid = false;
|
|
581
|
+
return resolve(returnVal);
|
|
582
|
+
} else if (response.status === 200) {
|
|
581
583
|
const contentType = response.headers.get('content-type');
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
584
|
+
if (!contentType && method === 'HEAD') {
|
|
585
|
+
// If content-type is not found in HEAD, make a GET request
|
|
586
|
+
return fetchUrl('GET');
|
|
587
|
+
} else {
|
|
588
|
+
// Process the content type and resolve the promise
|
|
589
|
+
let extension = getFileExtensionFromMimeType(contentType);
|
|
590
|
+
returnVal.valid = true;
|
|
591
|
+
returnVal.contentType = contentType;
|
|
592
|
+
returnVal.extension = extension;
|
|
593
|
+
returnVal.method = method;
|
|
594
|
+
returnVal.embed = !isValidDirect(extension);
|
|
595
|
+
console.log('Content-Type:', contentType);
|
|
596
|
+
return resolve(returnVal);
|
|
597
|
+
}
|
|
598
|
+
} else {
|
|
599
|
+
return resolve(returnVal);
|
|
600
|
+
}
|
|
590
601
|
})
|
|
591
602
|
.catch(error => {
|
|
592
603
|
console.error('Error while fetching URL:', error);
|
|
593
|
-
resolve(returnVal);
|
|
604
|
+
return resolve(returnVal);
|
|
594
605
|
});
|
|
595
|
-
|
|
606
|
+
}
|
|
596
607
|
|
|
597
|
-
|
|
608
|
+
// Start with a HEAD request
|
|
609
|
+
fetchUrl('HEAD').catch((error: any) => {
|
|
610
|
+
console.error('Initial fetch error:', error);
|
|
611
|
+
resolve(returnVal);
|
|
612
|
+
});
|
|
598
613
|
});
|
|
599
614
|
}
|
|
615
|
+
// export function checkContentType(url: string) {
|
|
616
|
+
// return new Promise((resolve, reject) => {
|
|
617
|
+
// // Making a HTTP HEAD request to get only the headers
|
|
618
|
+
// type ReturnVal = { valid?: boolean, contentType?: string | null, extension?: string, embed?: boolean, method?: string};
|
|
619
|
+
// let returnVal: ReturnVal = {valid: false};
|
|
620
|
+
// function fetchUrl(method: string) {
|
|
621
|
+
// fetch(url, { method: method })
|
|
622
|
+
// .then(response => {
|
|
623
|
+
// if (!response.ok) {
|
|
624
|
+
// returnVal.valid = false
|
|
625
|
+
// }
|
|
626
|
+
// else if (response.status === 200) {
|
|
627
|
+
// const contentType = response.headers.get('content-type');
|
|
628
|
+
// if (!contentType) {
|
|
629
|
+
// return fetchUrl('GET')
|
|
630
|
+
// } else {
|
|
631
|
+
// let extension = getFileExtensionFromMimeType(contentType)
|
|
632
|
+
// returnVal.valid = true
|
|
633
|
+
// returnVal.contentType = contentType
|
|
634
|
+
// returnVal.extension = extension
|
|
635
|
+
// returnVal.method = method
|
|
636
|
+
// returnVal.embed = !isValidDirect(extension)
|
|
637
|
+
// console.log('Content-Type:', contentType);
|
|
638
|
+
// }
|
|
639
|
+
// }
|
|
640
|
+
// return resolve(returnVal);
|
|
641
|
+
// })
|
|
642
|
+
// .catch(error => {
|
|
643
|
+
// console.error('Error while fetching URL:', error);
|
|
644
|
+
// resolve(returnVal);
|
|
645
|
+
// });
|
|
646
|
+
// }
|
|
647
|
+
// try {
|
|
648
|
+
// fetchUrl('HEAD');
|
|
649
|
+
// } catch (error) {
|
|
650
|
+
|
|
651
|
+
// }
|
|
652
|
+
// });
|
|
653
|
+
// }
|
|
600
654
|
|
|
601
655
|
function isValidDirect(extension: string) {
|
|
602
656
|
switch (extension) {
|
package/types/index.d.ts
CHANGED
|
@@ -10,6 +10,9 @@ declare class EmblemVaultSDK {
|
|
|
10
10
|
generateUploadUrl(): void;
|
|
11
11
|
getAssetMetadata(projectName: string, strict?: boolean): any[];
|
|
12
12
|
getAllAssetMetadata(): any[];
|
|
13
|
+
getRemoteAssetMetadataProjectList(): Promise<any>;
|
|
14
|
+
getRemoteAssetMetadata(asset_name: string): Promise<any>;
|
|
15
|
+
getRemoteAssetMetadataVaultedProjectList(): Promise<any>;
|
|
13
16
|
getAllProjects(): any[];
|
|
14
17
|
fetchCuratedContracts(hideUnMintable?: boolean, overrideFunc?: Function | boolean): Promise<CuratedCollectionsResponse>;
|
|
15
18
|
fetchCuratedContractByName(name: string, contracts?: any): Promise<Collection | null>;
|