@xyo-network/crypto-nft-diviner-score-plugin 2.75.0 → 2.75.2
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/browser/Diviner.d.cts +14 -0
- package/dist/browser/Diviner.d.cts.map +1 -0
- package/dist/browser/Diviner.js +5 -359
- package/dist/browser/Diviner.js.map +1 -1
- package/dist/browser/Plugin.d.cts +50 -0
- package/dist/browser/Plugin.d.cts.map +1 -0
- package/dist/browser/Plugin.js +2 -389
- package/dist/browser/Plugin.js.map +1 -1
- package/dist/browser/index.d.cts +6 -0
- package/dist/browser/index.d.cts.map +1 -0
- package/dist/browser/index.js +4 -407
- package/dist/browser/index.js.map +1 -1
- package/dist/browser/lib/index.d.cts +2 -0
- package/dist/browser/lib/index.d.cts.map +1 -0
- package/dist/browser/lib/index.js +1 -354
- package/dist/browser/lib/index.js.map +1 -1
- package/dist/browser/lib/rating/analyzeNft.d.cts +9 -0
- package/dist/browser/lib/rating/analyzeNft.d.cts.map +1 -0
- package/dist/browser/lib/rating/analyzeNft.js +2 -340
- package/dist/browser/lib/rating/analyzeNft.js.map +1 -1
- package/dist/browser/lib/rating/criteria/index.d.cts +2 -0
- package/dist/browser/lib/rating/criteria/index.d.cts.map +1 -0
- package/dist/browser/lib/rating/criteria/index.js +1 -340
- package/dist/browser/lib/rating/criteria/index.js.map +1 -1
- package/dist/browser/lib/rating/criteria/scoring/contract.d.cts +4 -0
- package/dist/browser/lib/rating/criteria/scoring/contract.d.cts.map +1 -0
- package/dist/browser/lib/rating/criteria/scoring/contract.js +1 -2
- package/dist/browser/lib/rating/criteria/scoring/contract.js.map +1 -1
- package/dist/browser/lib/rating/criteria/scoring/index.d.cts +6 -0
- package/dist/browser/lib/rating/criteria/scoring/index.d.cts.map +1 -0
- package/dist/browser/lib/rating/criteria/scoring/index.js +5 -339
- package/dist/browser/lib/rating/criteria/scoring/index.js.map +1 -1
- package/dist/browser/lib/rating/criteria/scoring/lib/index.d.cts +3 -0
- package/dist/browser/lib/rating/criteria/scoring/lib/index.d.cts.map +1 -0
- package/dist/browser/lib/rating/criteria/scoring/lib/index.js +2 -19
- package/dist/browser/lib/rating/criteria/scoring/lib/index.js.map +1 -1
- package/dist/browser/lib/rating/criteria/scoring/lib/isValidPositiveBigNumber.d.cts +2 -0
- package/dist/browser/lib/rating/criteria/scoring/lib/isValidPositiveBigNumber.d.cts.map +1 -0
- package/dist/browser/lib/rating/criteria/scoring/lib/isValidPositiveBigNumber.js +2 -12
- package/dist/browser/lib/rating/criteria/scoring/lib/isValidPositiveBigNumber.js.map +1 -1
- package/dist/browser/lib/rating/criteria/scoring/lib/toBigNumber.d.cts +3 -0
- package/dist/browser/lib/rating/criteria/scoring/lib/toBigNumber.d.cts.map +1 -0
- package/dist/browser/lib/rating/criteria/scoring/lib/toBigNumber.js +1 -2
- package/dist/browser/lib/rating/criteria/scoring/lib/toBigNumber.js.map +1 -1
- package/dist/browser/lib/rating/criteria/scoring/metadata/animationUrl.d.cts +5 -0
- package/dist/browser/lib/rating/criteria/scoring/metadata/animationUrl.d.cts.map +1 -0
- package/dist/browser/lib/rating/criteria/scoring/metadata/animationUrl.js +3 -21
- package/dist/browser/lib/rating/criteria/scoring/metadata/animationUrl.js.map +1 -1
- package/dist/browser/lib/rating/criteria/scoring/metadata/attributes/evaluateAttributes.d.cts +6 -0
- package/dist/browser/lib/rating/criteria/scoring/metadata/attributes/evaluateAttributes.d.cts.map +1 -0
- package/dist/browser/lib/rating/criteria/scoring/metadata/attributes/evaluateAttributes.js +9 -10
- package/dist/browser/lib/rating/criteria/scoring/metadata/attributes/evaluateAttributes.js.map +1 -1
- package/dist/browser/lib/rating/criteria/scoring/metadata/attributes/index.d.cts +2 -0
- package/dist/browser/lib/rating/criteria/scoring/metadata/attributes/index.d.cts.map +1 -0
- package/dist/browser/lib/rating/criteria/scoring/metadata/attributes/index.js +1 -81
- package/dist/browser/lib/rating/criteria/scoring/metadata/attributes/index.js.map +1 -1
- package/dist/browser/lib/rating/criteria/scoring/metadata/backgroundColor.d.cts +5 -0
- package/dist/browser/lib/rating/criteria/scoring/metadata/backgroundColor.d.cts.map +1 -0
- package/dist/browser/lib/rating/criteria/scoring/metadata/backgroundColor.js +3 -4
- package/dist/browser/lib/rating/criteria/scoring/metadata/backgroundColor.js.map +1 -1
- package/dist/browser/lib/rating/criteria/scoring/metadata/description.d.cts +5 -0
- package/dist/browser/lib/rating/criteria/scoring/metadata/description.d.cts.map +1 -0
- package/dist/browser/lib/rating/criteria/scoring/metadata/description.js +2 -3
- package/dist/browser/lib/rating/criteria/scoring/metadata/description.js.map +1 -1
- package/dist/browser/lib/rating/criteria/scoring/metadata/externalUrl.d.cts +5 -0
- package/dist/browser/lib/rating/criteria/scoring/metadata/externalUrl.d.cts.map +1 -0
- package/dist/browser/lib/rating/criteria/scoring/metadata/externalUrl.js +3 -21
- package/dist/browser/lib/rating/criteria/scoring/metadata/externalUrl.js.map +1 -1
- package/dist/browser/lib/rating/criteria/scoring/metadata/image.d.cts +5 -0
- package/dist/browser/lib/rating/criteria/scoring/metadata/image.d.cts.map +1 -0
- package/dist/browser/lib/rating/criteria/scoring/metadata/image.js +4 -22
- package/dist/browser/lib/rating/criteria/scoring/metadata/image.js.map +1 -1
- package/dist/browser/lib/rating/criteria/scoring/metadata/imageData.d.cts +5 -0
- package/dist/browser/lib/rating/criteria/scoring/metadata/imageData.d.cts.map +1 -0
- package/dist/browser/lib/rating/criteria/scoring/metadata/imageData.js +4 -5
- package/dist/browser/lib/rating/criteria/scoring/metadata/imageData.js.map +1 -1
- package/dist/browser/lib/rating/criteria/scoring/metadata/index.d.cts +10 -0
- package/dist/browser/lib/rating/criteria/scoring/metadata/index.d.cts.map +1 -0
- package/dist/browser/lib/rating/criteria/scoring/metadata/index.js +9 -263
- package/dist/browser/lib/rating/criteria/scoring/metadata/index.js.map +1 -1
- package/dist/browser/lib/rating/criteria/scoring/metadata/lib/index.d.cts +2 -0
- package/dist/browser/lib/rating/criteria/scoring/metadata/lib/index.d.cts.map +1 -0
- package/dist/browser/lib/rating/criteria/scoring/metadata/lib/index.js +1 -24
- package/dist/browser/lib/rating/criteria/scoring/metadata/lib/index.js.map +1 -1
- package/dist/browser/lib/rating/criteria/scoring/metadata/lib/urlHelpers.d.cts +8 -0
- package/dist/browser/lib/rating/criteria/scoring/metadata/lib/urlHelpers.d.cts.map +1 -0
- package/dist/browser/lib/rating/criteria/scoring/metadata/lib/urlHelpers.js +6 -7
- package/dist/browser/lib/rating/criteria/scoring/metadata/lib/urlHelpers.js.map +1 -1
- package/dist/browser/lib/rating/criteria/scoring/metadata/name.d.cts +5 -0
- package/dist/browser/lib/rating/criteria/scoring/metadata/name.d.cts.map +1 -0
- package/dist/browser/lib/rating/criteria/scoring/metadata/name.js +2 -3
- package/dist/browser/lib/rating/criteria/scoring/metadata/name.js.map +1 -1
- package/dist/browser/lib/rating/criteria/scoring/metadata/youtubeUrl.d.cts +5 -0
- package/dist/browser/lib/rating/criteria/scoring/metadata/youtubeUrl.d.cts.map +1 -0
- package/dist/browser/lib/rating/criteria/scoring/metadata/youtubeUrl.js +3 -21
- package/dist/browser/lib/rating/criteria/scoring/metadata/youtubeUrl.js.map +1 -1
- package/dist/browser/lib/rating/criteria/scoring/supply.d.cts +4 -0
- package/dist/browser/lib/rating/criteria/scoring/supply.d.cts.map +1 -0
- package/dist/browser/lib/rating/criteria/scoring/supply.js +2 -20
- package/dist/browser/lib/rating/criteria/scoring/supply.js.map +1 -1
- package/dist/browser/lib/rating/criteria/scoring/tokenId.d.cts +10 -0
- package/dist/browser/lib/rating/criteria/scoring/tokenId.d.cts.map +1 -0
- package/dist/browser/lib/rating/criteria/scoring/tokenId.js +2 -20
- package/dist/browser/lib/rating/criteria/scoring/tokenId.js.map +1 -1
- package/dist/browser/lib/rating/criteria/scoring/type.d.cts +4 -0
- package/dist/browser/lib/rating/criteria/scoring/type.d.cts.map +1 -0
- package/dist/browser/lib/rating/criteria/scoring/type.js +1 -2
- package/dist/browser/lib/rating/criteria/scoring/type.js.map +1 -1
- package/dist/browser/lib/rating/criteria/scoringCriteria.d.cts +55 -0
- package/dist/browser/lib/rating/criteria/scoringCriteria.d.cts.map +1 -0
- package/dist/browser/lib/rating/criteria/scoringCriteria.js +18 -319
- package/dist/browser/lib/rating/criteria/scoringCriteria.js.map +1 -1
- package/dist/browser/lib/rating/index.d.cts +2 -0
- package/dist/browser/lib/rating/index.d.cts.map +1 -0
- package/dist/browser/lib/rating/index.js +1 -354
- package/dist/browser/lib/rating/index.js.map +1 -1
- package/dist/docs.json +21969 -0
- package/dist/node/Diviner.d.cts +14 -0
- package/dist/node/Diviner.d.cts.map +1 -0
- package/dist/node/Diviner.js +379 -7
- package/dist/node/Diviner.js.map +1 -1
- package/dist/node/Diviner.mjs +377 -6
- package/dist/node/Diviner.mjs.map +1 -1
- package/dist/node/Plugin.d.cts +50 -0
- package/dist/node/Plugin.d.cts.map +1 -0
- package/dist/node/Plugin.js +406 -5
- package/dist/node/Plugin.js.map +1 -1
- package/dist/node/Plugin.mjs +406 -2
- package/dist/node/Plugin.mjs.map +1 -1
- package/dist/node/index.d.cts +6 -0
- package/dist/node/index.d.cts.map +1 -0
- package/dist/node/index.js +428 -9
- package/dist/node/index.js.map +1 -1
- package/dist/node/index.mjs +424 -4
- package/dist/node/index.mjs.map +1 -1
- package/dist/node/lib/index.d.cts +2 -0
- package/dist/node/lib/index.d.cts.map +1 -0
- package/dist/node/lib/index.js +379 -3
- package/dist/node/lib/index.js.map +1 -1
- package/dist/node/lib/index.mjs +371 -1
- package/dist/node/lib/index.mjs.map +1 -1
- package/dist/node/lib/rating/analyzeNft.d.cts +9 -0
- package/dist/node/lib/rating/analyzeNft.d.cts.map +1 -0
- package/dist/node/lib/rating/analyzeNft.js +361 -3
- package/dist/node/lib/rating/analyzeNft.js.map +1 -1
- package/dist/node/lib/rating/analyzeNft.mjs +357 -2
- package/dist/node/lib/rating/analyzeNft.mjs.map +1 -1
- package/dist/node/lib/rating/criteria/index.d.cts +2 -0
- package/dist/node/lib/rating/criteria/index.d.cts.map +1 -0
- package/dist/node/lib/rating/criteria/index.js +365 -3
- package/dist/node/lib/rating/criteria/index.js.map +1 -1
- package/dist/node/lib/rating/criteria/index.mjs +357 -1
- package/dist/node/lib/rating/criteria/index.mjs.map +1 -1
- package/dist/node/lib/rating/criteria/scoring/contract.d.cts +4 -0
- package/dist/node/lib/rating/criteria/scoring/contract.d.cts.map +1 -0
- package/dist/node/lib/rating/criteria/scoring/contract.js +3 -1
- package/dist/node/lib/rating/criteria/scoring/contract.js.map +1 -1
- package/dist/node/lib/rating/criteria/scoring/contract.mjs +2 -1
- package/dist/node/lib/rating/criteria/scoring/contract.mjs.map +1 -1
- package/dist/node/lib/rating/criteria/scoring/index.d.cts +6 -0
- package/dist/node/lib/rating/criteria/scoring/index.d.cts.map +1 -0
- package/dist/node/lib/rating/criteria/scoring/index.js +386 -11
- package/dist/node/lib/rating/criteria/scoring/index.js.map +1 -1
- package/dist/node/lib/rating/criteria/scoring/index.mjs +356 -5
- package/dist/node/lib/rating/criteria/scoring/index.mjs.map +1 -1
- package/dist/node/lib/rating/criteria/scoring/lib/index.d.cts +3 -0
- package/dist/node/lib/rating/criteria/scoring/lib/index.d.cts.map +1 -0
- package/dist/node/lib/rating/criteria/scoring/lib/index.js +28 -5
- package/dist/node/lib/rating/criteria/scoring/lib/index.js.map +1 -1
- package/dist/node/lib/rating/criteria/scoring/lib/index.mjs +19 -2
- package/dist/node/lib/rating/criteria/scoring/lib/index.mjs.map +1 -1
- package/dist/node/lib/rating/criteria/scoring/lib/isValidPositiveBigNumber.d.cts +2 -0
- package/dist/node/lib/rating/criteria/scoring/lib/isValidPositiveBigNumber.d.cts.map +1 -0
- package/dist/node/lib/rating/criteria/scoring/lib/isValidPositiveBigNumber.js +16 -3
- package/dist/node/lib/rating/criteria/scoring/lib/isValidPositiveBigNumber.js.map +1 -1
- package/dist/node/lib/rating/criteria/scoring/lib/isValidPositiveBigNumber.mjs +12 -2
- package/dist/node/lib/rating/criteria/scoring/lib/isValidPositiveBigNumber.mjs.map +1 -1
- package/dist/node/lib/rating/criteria/scoring/lib/toBigNumber.d.cts +3 -0
- package/dist/node/lib/rating/criteria/scoring/lib/toBigNumber.d.cts.map +1 -0
- package/dist/node/lib/rating/criteria/scoring/lib/toBigNumber.js +3 -1
- package/dist/node/lib/rating/criteria/scoring/lib/toBigNumber.js.map +1 -1
- package/dist/node/lib/rating/criteria/scoring/lib/toBigNumber.mjs +2 -1
- package/dist/node/lib/rating/criteria/scoring/lib/toBigNumber.mjs.map +1 -1
- package/dist/node/lib/rating/criteria/scoring/metadata/animationUrl.d.cts +5 -0
- package/dist/node/lib/rating/criteria/scoring/metadata/animationUrl.d.cts.map +1 -0
- package/dist/node/lib/rating/criteria/scoring/metadata/animationUrl.js +33 -7
- package/dist/node/lib/rating/criteria/scoring/metadata/animationUrl.js.map +1 -1
- package/dist/node/lib/rating/criteria/scoring/metadata/animationUrl.mjs +29 -4
- package/dist/node/lib/rating/criteria/scoring/metadata/animationUrl.mjs.map +1 -1
- package/dist/node/lib/rating/criteria/scoring/metadata/attributes/evaluateAttributes.d.cts +6 -0
- package/dist/node/lib/rating/criteria/scoring/metadata/attributes/evaluateAttributes.d.cts.map +1 -0
- package/dist/node/lib/rating/criteria/scoring/metadata/attributes/evaluateAttributes.js +22 -17
- package/dist/node/lib/rating/criteria/scoring/metadata/attributes/evaluateAttributes.js.map +1 -1
- package/dist/node/lib/rating/criteria/scoring/metadata/attributes/evaluateAttributes.mjs +21 -17
- package/dist/node/lib/rating/criteria/scoring/metadata/attributes/evaluateAttributes.mjs.map +1 -1
- package/dist/node/lib/rating/criteria/scoring/metadata/attributes/index.d.cts +2 -0
- package/dist/node/lib/rating/criteria/scoring/metadata/attributes/index.d.cts.map +1 -0
- package/dist/node/lib/rating/criteria/scoring/metadata/attributes/index.js +94 -3
- package/dist/node/lib/rating/criteria/scoring/metadata/attributes/index.js.map +1 -1
- package/dist/node/lib/rating/criteria/scoring/metadata/attributes/index.mjs +84 -1
- package/dist/node/lib/rating/criteria/scoring/metadata/attributes/index.mjs.map +1 -1
- package/dist/node/lib/rating/criteria/scoring/metadata/backgroundColor.d.cts +5 -0
- package/dist/node/lib/rating/criteria/scoring/metadata/backgroundColor.d.cts.map +1 -0
- package/dist/node/lib/rating/criteria/scoring/metadata/backgroundColor.js +7 -4
- package/dist/node/lib/rating/criteria/scoring/metadata/backgroundColor.js.map +1 -1
- package/dist/node/lib/rating/criteria/scoring/metadata/backgroundColor.mjs +6 -4
- package/dist/node/lib/rating/criteria/scoring/metadata/backgroundColor.mjs.map +1 -1
- package/dist/node/lib/rating/criteria/scoring/metadata/description.d.cts +5 -0
- package/dist/node/lib/rating/criteria/scoring/metadata/description.d.cts.map +1 -0
- package/dist/node/lib/rating/criteria/scoring/metadata/description.js +6 -3
- package/dist/node/lib/rating/criteria/scoring/metadata/description.js.map +1 -1
- package/dist/node/lib/rating/criteria/scoring/metadata/description.mjs +5 -3
- package/dist/node/lib/rating/criteria/scoring/metadata/description.mjs.map +1 -1
- package/dist/node/lib/rating/criteria/scoring/metadata/externalUrl.d.cts +5 -0
- package/dist/node/lib/rating/criteria/scoring/metadata/externalUrl.d.cts.map +1 -0
- package/dist/node/lib/rating/criteria/scoring/metadata/externalUrl.js +32 -6
- package/dist/node/lib/rating/criteria/scoring/metadata/externalUrl.js.map +1 -1
- package/dist/node/lib/rating/criteria/scoring/metadata/externalUrl.mjs +29 -4
- package/dist/node/lib/rating/criteria/scoring/metadata/externalUrl.mjs.map +1 -1
- package/dist/node/lib/rating/criteria/scoring/metadata/image.d.cts +5 -0
- package/dist/node/lib/rating/criteria/scoring/metadata/image.d.cts.map +1 -0
- package/dist/node/lib/rating/criteria/scoring/metadata/image.js +36 -10
- package/dist/node/lib/rating/criteria/scoring/metadata/image.js.map +1 -1
- package/dist/node/lib/rating/criteria/scoring/metadata/image.mjs +32 -7
- package/dist/node/lib/rating/criteria/scoring/metadata/image.mjs.map +1 -1
- package/dist/node/lib/rating/criteria/scoring/metadata/imageData.d.cts +5 -0
- package/dist/node/lib/rating/criteria/scoring/metadata/imageData.d.cts.map +1 -0
- package/dist/node/lib/rating/criteria/scoring/metadata/imageData.js +10 -7
- package/dist/node/lib/rating/criteria/scoring/metadata/imageData.js.map +1 -1
- package/dist/node/lib/rating/criteria/scoring/metadata/imageData.mjs +9 -7
- package/dist/node/lib/rating/criteria/scoring/metadata/imageData.mjs.map +1 -1
- package/dist/node/lib/rating/criteria/scoring/metadata/index.d.cts +10 -0
- package/dist/node/lib/rating/criteria/scoring/metadata/index.d.cts.map +1 -0
- package/dist/node/lib/rating/criteria/scoring/metadata/index.js +306 -19
- package/dist/node/lib/rating/criteria/scoring/metadata/index.js.map +1 -1
- package/dist/node/lib/rating/criteria/scoring/metadata/index.mjs +280 -9
- package/dist/node/lib/rating/criteria/scoring/metadata/index.mjs.map +1 -1
- package/dist/node/lib/rating/criteria/scoring/metadata/lib/index.d.cts +2 -0
- package/dist/node/lib/rating/criteria/scoring/metadata/lib/index.d.cts.map +1 -0
- package/dist/node/lib/rating/criteria/scoring/metadata/lib/index.js +43 -3
- package/dist/node/lib/rating/criteria/scoring/metadata/lib/index.js.map +1 -1
- package/dist/node/lib/rating/criteria/scoring/metadata/lib/index.mjs +30 -1
- package/dist/node/lib/rating/criteria/scoring/metadata/lib/index.mjs.map +1 -1
- package/dist/node/lib/rating/criteria/scoring/metadata/lib/urlHelpers.d.cts +8 -0
- package/dist/node/lib/rating/criteria/scoring/metadata/lib/urlHelpers.d.cts.map +1 -0
- package/dist/node/lib/rating/criteria/scoring/metadata/lib/urlHelpers.js +14 -6
- package/dist/node/lib/rating/criteria/scoring/metadata/lib/urlHelpers.js.map +1 -1
- package/dist/node/lib/rating/criteria/scoring/metadata/lib/urlHelpers.mjs +13 -6
- package/dist/node/lib/rating/criteria/scoring/metadata/lib/urlHelpers.mjs.map +1 -1
- package/dist/node/lib/rating/criteria/scoring/metadata/name.d.cts +5 -0
- package/dist/node/lib/rating/criteria/scoring/metadata/name.d.cts.map +1 -0
- package/dist/node/lib/rating/criteria/scoring/metadata/name.js +6 -3
- package/dist/node/lib/rating/criteria/scoring/metadata/name.js.map +1 -1
- package/dist/node/lib/rating/criteria/scoring/metadata/name.mjs +5 -3
- package/dist/node/lib/rating/criteria/scoring/metadata/name.mjs.map +1 -1
- package/dist/node/lib/rating/criteria/scoring/metadata/youtubeUrl.d.cts +5 -0
- package/dist/node/lib/rating/criteria/scoring/metadata/youtubeUrl.d.cts.map +1 -0
- package/dist/node/lib/rating/criteria/scoring/metadata/youtubeUrl.js +32 -6
- package/dist/node/lib/rating/criteria/scoring/metadata/youtubeUrl.js.map +1 -1
- package/dist/node/lib/rating/criteria/scoring/metadata/youtubeUrl.mjs +29 -4
- package/dist/node/lib/rating/criteria/scoring/metadata/youtubeUrl.mjs.map +1 -1
- package/dist/node/lib/rating/criteria/scoring/supply.d.cts +4 -0
- package/dist/node/lib/rating/criteria/scoring/supply.d.cts.map +1 -0
- package/dist/node/lib/rating/criteria/scoring/supply.js +22 -3
- package/dist/node/lib/rating/criteria/scoring/supply.js.map +1 -1
- package/dist/node/lib/rating/criteria/scoring/supply.mjs +20 -2
- package/dist/node/lib/rating/criteria/scoring/supply.mjs.map +1 -1
- package/dist/node/lib/rating/criteria/scoring/tokenId.d.cts +10 -0
- package/dist/node/lib/rating/criteria/scoring/tokenId.d.cts.map +1 -0
- package/dist/node/lib/rating/criteria/scoring/tokenId.js +22 -3
- package/dist/node/lib/rating/criteria/scoring/tokenId.js.map +1 -1
- package/dist/node/lib/rating/criteria/scoring/tokenId.mjs +20 -2
- package/dist/node/lib/rating/criteria/scoring/tokenId.mjs.map +1 -1
- package/dist/node/lib/rating/criteria/scoring/type.d.cts +4 -0
- package/dist/node/lib/rating/criteria/scoring/type.d.cts.map +1 -0
- package/dist/node/lib/rating/criteria/scoring/type.js +3 -1
- package/dist/node/lib/rating/criteria/scoring/type.js.map +1 -1
- package/dist/node/lib/rating/criteria/scoring/type.mjs +2 -1
- package/dist/node/lib/rating/criteria/scoring/type.mjs.map +1 -1
- package/dist/node/lib/rating/criteria/scoringCriteria.d.cts +55 -0
- package/dist/node/lib/rating/criteria/scoringCriteria.d.cts.map +1 -0
- package/dist/node/lib/rating/criteria/scoringCriteria.js +353 -18
- package/dist/node/lib/rating/criteria/scoringCriteria.js.map +1 -1
- package/dist/node/lib/rating/criteria/scoringCriteria.mjs +336 -18
- package/dist/node/lib/rating/criteria/scoringCriteria.mjs.map +1 -1
- package/dist/node/lib/rating/index.d.cts +2 -0
- package/dist/node/lib/rating/index.d.cts.map +1 -0
- package/dist/node/lib/rating/index.js +379 -3
- package/dist/node/lib/rating/index.js.map +1 -1
- package/dist/node/lib/rating/index.mjs +371 -1
- package/dist/node/lib/rating/index.mjs.map +1 -1
- package/package.json +15 -15
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../../src/lib/rating/criteria/scoring/metadata/animationUrl.ts","../../../../../../../src/lib/rating/criteria/scoring/metadata/lib/urlHelpers.ts","../../../../../../../src/lib/rating/criteria/scoring/metadata/attributes/evaluateAttributes.ts","../../../../../../../src/lib/rating/criteria/scoring/metadata/backgroundColor.ts","../../../../../../../src/lib/rating/criteria/scoring/metadata/description.ts","../../../../../../../src/lib/rating/criteria/scoring/metadata/externalUrl.ts","../../../../../../../src/lib/rating/criteria/scoring/metadata/image.ts","../../../../../../../src/lib/rating/criteria/scoring/metadata/imageData.ts","../../../../../../../src/lib/rating/criteria/scoring/metadata/name.ts","../../../../../../../src/lib/rating/criteria/scoring/metadata/youtubeUrl.ts"],"sourcesContent":["import { NftInfoFields, OpenSeaNftInfoFields } from '@xyo-network/crypto-nft-payload-plugin'\nimport { incrementPossible, incrementTotal, incrementTotalAndPossible, PASS, ScaledScore } from '@xyo-network/crypto-nft-score-model'\n\nimport { isSecure, isValidUrl, isWeb3 } from './lib'\n\nexport const scoreNftAnimationUrl = (nft: NftInfoFields | OpenSeaNftInfoFields): ScaledScore => {\n return scoreAnimationUrl(nft.metadata?.animation_url)\n}\n\nexport const scoreAnimationUrl = (animation_url: unknown): ScaledScore => {\n const score: ScaledScore = [0, 0]\n if (animation_url === undefined || animation_url === null) return PASS\n incrementPossible(score)\n if (typeof animation_url !== 'string') return score\n incrementTotalAndPossible(score)\n if (!isValidUrl(animation_url)) return score\n incrementTotalAndPossible(score)\n if (!isSecure(animation_url)) return score\n incrementTotalAndPossible(score)\n if (!isWeb3(animation_url)) return score\n return incrementTotal(score)\n}\n","import { URL } from '@xylabs/url'\n\nexport const web3Protocols = ['ipfs:', 'ar:']\n\nexport const toUrl = (url?: string | null): URL | undefined => {\n if (!url) return undefined\n try {\n return new URL(url)\n } catch (e) {\n return undefined\n }\n}\n\nexport const isValidUrl = (url?: string | null): boolean => toUrl(url) !== undefined\nexport const isWeb3 = (url?: string | null): boolean => web3Protocols.some((protocol) => protocol === toUrl(url)?.protocol)\nexport const isWeb2 = (url?: string | null): boolean => !isWeb3(url)\nexport const isSecure = (url?: string | null): boolean => isWeb3(url) || toUrl(url)?.protocol === 'https:'\n","import { NftAttribute, NftInfoFields, OpenSeaNftAttribute, OpenSeaNftInfoFields } from '@xyo-network/crypto-nft-payload-plugin'\nimport { incrementPossible, incrementTotal, incrementTotalAndPossible, ScaledScore } from '@xyo-network/crypto-nft-score-model'\n\nconst isDate = (value: unknown): value is Date => {\n if (isNumber(value)) {\n try {\n new Date(value)\n return true\n } catch (error) {\n return false\n }\n }\n return false\n}\n\nconst isNumber = (value: unknown): value is number => typeof value === 'number'\n\nconst isPercentage = (value: unknown): boolean => isNumber(value) && value >= 0 && value <= 100\n\nconst isNonEmptyString = (value: unknown): value is string => typeof value === 'string' && value.length > 0\n\nconst isNonEmptyStringOrNumber = (value: unknown): value is string | number => value === 'number' || isNonEmptyString(value)\n\nexport const evaluateNftAttributes = (nft: NftInfoFields | OpenSeaNftInfoFields): ScaledScore =>\n !nft?.metadata?.attributes ? [0, 1] : evaluateAttributes(nft?.metadata?.attributes)\n\nexport const evaluateAttributes = (attributes: NftAttribute[] | OpenSeaNftAttribute[] | unknown): ScaledScore => {\n if (!attributes || !Array.isArray(attributes) || attributes.length === 0) return [0, 1]\n const score: ScaledScore = [0, 0]\n for (const attribute of attributes) {\n const [attributeTotal, attributePossible] = evaluateAttribute(attribute)\n incrementTotalAndPossible(score, attributeTotal, attributePossible)\n }\n return [1, 1]\n}\n\nexport const evaluateAttribute = (attribute: OpenSeaNftAttribute): ScaledScore => {\n const score: ScaledScore = [0, 1]\n const max_value = attribute?.max_value\n const trait_type = attribute?.trait_type\n const value = attribute?.value\n\n // Validate trait_type & value\n if (!attribute || typeof attribute !== 'object' || !isNonEmptyString(trait_type) || !isNonEmptyStringOrNumber(value)) return score\n incrementTotal(score)\n\n // Validate display_type\n incrementPossible(score)\n if (validDisplayType(attribute)) incrementTotal(score)\n\n // Validate max_value\n if (max_value !== undefined) {\n incrementPossible(score)\n if (isNumber(max_value) && isNumber(value) && value <= max_value) incrementTotal(score)\n }\n\n return score\n}\n\nconst validDisplayType = (attribute: OpenSeaNftAttribute): boolean => {\n switch (attribute?.display_type) {\n case 'number':\n case 'boost_number': {\n if (isNumber(attribute?.value)) return true\n break\n }\n case 'boost_percentage': {\n if (isPercentage(attribute?.value)) return true\n break\n }\n case 'date': {\n if (isDate(attribute?.value)) return true\n break\n }\n case 'string':\n case undefined: {\n if (isNonEmptyString(attribute?.value)) return true\n break\n }\n default: {\n break\n }\n }\n return false\n}\n","import { NftInfoFields, OpenSeaNftInfoFields } from '@xyo-network/crypto-nft-payload-plugin'\nimport { incrementPossible, incrementTotal, incrementTotalAndPossible, PASS, ScaledScore } from '@xyo-network/crypto-nft-score-model'\n\nconst isHexColor = /^[0-9A-F]{6}$/i\n\nexport const scoreNftBackgroundColor = (nft: NftInfoFields | OpenSeaNftInfoFields): ScaledScore => {\n return scoreBackgroundColor(nft.metadata?.background_color)\n}\n\nexport const scoreBackgroundColor = (background_color: unknown): ScaledScore => {\n const score: ScaledScore = [0, 0]\n if (background_color === undefined || background_color === null) return PASS\n incrementPossible(score)\n if (typeof background_color !== 'string') return score\n incrementTotalAndPossible(score)\n if (!background_color.toUpperCase().match(isHexColor)) return score\n return incrementTotal(score)\n}\n","import { NftInfoFields, OpenSeaNftInfoFields } from '@xyo-network/crypto-nft-payload-plugin'\nimport { incrementTotal, ScaledScore } from '@xyo-network/crypto-nft-score-model'\n\nexport const scoreNftDescription = (nft: NftInfoFields | OpenSeaNftInfoFields): ScaledScore => {\n return scoreDescription(nft.metadata?.description)\n}\n\nexport const scoreDescription = (description: unknown): ScaledScore => {\n const score: ScaledScore = [0, 1]\n if (!description || typeof description !== 'string') return score\n return incrementTotal(score)\n}\n","import { NftInfoFields, OpenSeaNftInfoFields } from '@xyo-network/crypto-nft-payload-plugin'\nimport { incrementTotal, ScaledScore } from '@xyo-network/crypto-nft-score-model'\n\nimport { isSecure, isValidUrl } from './lib'\n\nexport const scoreNftExternalUrl = (nft: NftInfoFields | OpenSeaNftInfoFields): ScaledScore => {\n return scoreExternalUrl(nft?.metadata?.external_url)\n}\nexport const scoreExternalUrl = (external_url: unknown): ScaledScore => {\n const score: ScaledScore = [0, 2]\n if (external_url === undefined || external_url === null || typeof external_url !== 'string' || !isValidUrl(external_url)) return score\n incrementTotal(score)\n if (!isSecure(external_url)) return score\n return incrementTotal(score)\n}\n","import { NftInfoFields, OpenSeaNftInfoFields } from '@xyo-network/crypto-nft-payload-plugin'\nimport { incrementTotal, PASS, ScaledScore } from '@xyo-network/crypto-nft-score-model'\n\nimport { isSecure, isValidUrl, isWeb3 } from './lib'\n\nconst MaxPossibleImageScore = 3\n\nexport const scoreNftImage = (nft: NftInfoFields | OpenSeaNftInfoFields): ScaledScore => {\n // If there's no image data\n if (!nft?.metadata?.image) {\n // but there is image data, skip this scoring criteria, otherwise fail it completely\n return nft.metadata?.image_data ? PASS : [0, MaxPossibleImageScore]\n } else {\n return scoreImage(nft.metadata?.image)\n }\n}\n\nexport const scoreImage = (image: unknown): ScaledScore => {\n const score: ScaledScore = [0, MaxPossibleImageScore]\n if (!image || typeof image !== 'string' || !isValidUrl(image)) return score\n incrementTotal(score)\n if (!isSecure(image)) return score\n incrementTotal(score)\n if (!isWeb3(image)) return score\n incrementTotal(score)\n return score\n}\n","import { NftInfoFields, OpenSeaNftInfoFields } from '@xyo-network/crypto-nft-payload-plugin'\nimport { PASS, ScaledScore } from '@xyo-network/crypto-nft-score-model'\nimport { parse } from 'svg-parser'\n\nconst MaxPossibleImageDataScore = 1\n\n// NOTE: There is probably a deeper check we can do\n// here, but this is a good start\nconst isValidImageData = (image_data: string): boolean => {\n // If it doesn't start with an svg tag, it's not an svg\n if (!image_data.startsWith('<svg')) return false\n try {\n // If it can't be parsed, it's not an svg\n parse(image_data)\n return true\n } catch (error) {\n return false\n }\n}\n\nexport const scoreNftImageData = (nft: NftInfoFields | OpenSeaNftInfoFields): ScaledScore => {\n // If there's no image data\n if (!nft?.metadata?.image_data) {\n // but there is an image, skip this scoring criteria, otherwise fail it completely\n return nft.metadata?.image ? PASS : [0, MaxPossibleImageDataScore]\n } else {\n return scoreImageData(nft.metadata?.image_data)\n }\n}\n\nexport const scoreImageData = (image_data: unknown): ScaledScore => {\n return !image_data || typeof image_data !== 'string' || !isValidImageData(image_data)\n ? [0, MaxPossibleImageDataScore]\n : [MaxPossibleImageDataScore, MaxPossibleImageDataScore]\n}\n","import { NftInfoFields, OpenSeaNftInfoFields } from '@xyo-network/crypto-nft-payload-plugin'\nimport { incrementTotal, ScaledScore } from '@xyo-network/crypto-nft-score-model'\n\nexport const scoreNftName = (nft: NftInfoFields | OpenSeaNftInfoFields): ScaledScore => {\n return scoreName(nft.metadata?.name)\n}\nexport const scoreName = (name: unknown): ScaledScore => {\n const score: ScaledScore = [0, 1]\n if (!name || typeof name !== 'string') return score\n return incrementTotal(score)\n}\n","import { NftInfoFields, OpenSeaNftInfoFields } from '@xyo-network/crypto-nft-payload-plugin'\nimport { incrementTotal, PASS, ScaledScore } from '@xyo-network/crypto-nft-score-model'\n\nimport { isSecure, isValidUrl } from './lib'\n\nexport const scoreNftYoutubeUrl = (nft: NftInfoFields | OpenSeaNftInfoFields): ScaledScore => {\n return scoreYoutubeUrl(nft?.metadata?.youtube_url)\n}\nexport const scoreYoutubeUrl = (youtube_url: unknown): ScaledScore => {\n if (youtube_url === undefined || youtube_url === null) return PASS\n const score: ScaledScore = [0, 2]\n if (typeof youtube_url !== 'string' || !isValidUrl(youtube_url)) return score\n incrementTotal(score)\n if (!isSecure(youtube_url)) return score\n return incrementTotal(score)\n}\n"],"mappings":"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","names":["incrementPossible","incrementTotal","incrementTotalAndPossible","incrementPossible","incrementTotal","incrementTotalAndPossible","PASS","incrementTotal","incrementTotal","incrementTotal","incrementTotal","PASS","PASS","incrementTotal","PASS","incrementTotal","incrementTotal","PASS","PASS","incrementTotal"]}
|
|
1
|
+
{"version":3,"sources":["../../../../../../../src/lib/rating/criteria/scoring/metadata/index.ts"],"sourcesContent":["export * from './animationUrl'\nexport * from './attributes'\nexport * from './backgroundColor'\nexport * from './description'\nexport * from './externalUrl'\nexport * from './image'\nexport * from './imageData'\nexport * from './name'\nexport * from './youtubeUrl'\n"],"mappings":"AAAA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;","names":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../../src/lib/rating/criteria/scoring/metadata/lib/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA"}
|
|
@@ -1,25 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
import { URL } from "@xylabs/url";
|
|
3
|
-
var web3Protocols = ["ipfs:", "ar:"];
|
|
4
|
-
var toUrl = (url) => {
|
|
5
|
-
if (!url)
|
|
6
|
-
return void 0;
|
|
7
|
-
try {
|
|
8
|
-
return new URL(url);
|
|
9
|
-
} catch (e) {
|
|
10
|
-
return void 0;
|
|
11
|
-
}
|
|
12
|
-
};
|
|
13
|
-
var isValidUrl = (url) => toUrl(url) !== void 0;
|
|
14
|
-
var isWeb3 = (url) => web3Protocols.some((protocol) => protocol === toUrl(url)?.protocol);
|
|
15
|
-
var isWeb2 = (url) => !isWeb3(url);
|
|
16
|
-
var isSecure = (url) => isWeb3(url) || toUrl(url)?.protocol === "https:";
|
|
17
|
-
export {
|
|
18
|
-
isSecure,
|
|
19
|
-
isValidUrl,
|
|
20
|
-
isWeb2,
|
|
21
|
-
isWeb3,
|
|
22
|
-
toUrl,
|
|
23
|
-
web3Protocols
|
|
24
|
-
};
|
|
1
|
+
export * from "./urlHelpers";
|
|
25
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../../../src/lib/rating/criteria/scoring/metadata/lib/
|
|
1
|
+
{"version":3,"sources":["../../../../../../../../src/lib/rating/criteria/scoring/metadata/lib/index.ts"],"sourcesContent":["export * from './urlHelpers'\n"],"mappings":"AAAA,cAAc;","names":[]}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { URL } from '@xylabs/url';
|
|
2
|
+
export declare const web3Protocols: string[];
|
|
3
|
+
export declare const toUrl: (url?: string | null) => URL | undefined;
|
|
4
|
+
export declare const isValidUrl: (url?: string | null) => boolean;
|
|
5
|
+
export declare const isWeb3: (url?: string | null) => boolean;
|
|
6
|
+
export declare const isWeb2: (url?: string | null) => boolean;
|
|
7
|
+
export declare const isSecure: (url?: string | null) => boolean;
|
|
8
|
+
//# sourceMappingURL=urlHelpers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"urlHelpers.d.ts","sourceRoot":"","sources":["../../../../../../../../src/lib/rating/criteria/scoring/metadata/lib/urlHelpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAA;AAEjC,eAAO,MAAM,aAAa,UAAmB,CAAA;AAE7C,eAAO,MAAM,KAAK,SAAU,MAAM,GAAG,IAAI,KAAG,GAAG,GAAG,SAOjD,CAAA;AAED,eAAO,MAAM,UAAU,SAAU,MAAM,GAAG,IAAI,KAAG,OAAmC,CAAA;AACpF,eAAO,MAAM,MAAM,SAAU,MAAM,GAAG,IAAI,KAAG,OAA8E,CAAA;AAC3H,eAAO,MAAM,MAAM,SAAU,MAAM,GAAG,IAAI,KAAG,OAAuB,CAAA;AACpE,eAAO,MAAM,QAAQ,SAAU,MAAM,GAAG,IAAI,KAAG,OAA2D,CAAA"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
// src/lib/rating/criteria/scoring/metadata/lib/urlHelpers.ts
|
|
2
1
|
import { URL } from "@xylabs/url";
|
|
3
|
-
|
|
4
|
-
|
|
2
|
+
const web3Protocols = ["ipfs:", "ar:"];
|
|
3
|
+
const toUrl = (url) => {
|
|
5
4
|
if (!url)
|
|
6
5
|
return void 0;
|
|
7
6
|
try {
|
|
@@ -10,10 +9,10 @@ var toUrl = (url) => {
|
|
|
10
9
|
return void 0;
|
|
11
10
|
}
|
|
12
11
|
};
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
12
|
+
const isValidUrl = (url) => toUrl(url) !== void 0;
|
|
13
|
+
const isWeb3 = (url) => web3Protocols.some((protocol) => protocol === toUrl(url)?.protocol);
|
|
14
|
+
const isWeb2 = (url) => !isWeb3(url);
|
|
15
|
+
const isSecure = (url) => isWeb3(url) || toUrl(url)?.protocol === "https:";
|
|
17
16
|
export {
|
|
18
17
|
isSecure,
|
|
19
18
|
isValidUrl,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../../../src/lib/rating/criteria/scoring/metadata/lib/urlHelpers.ts"],"sourcesContent":["import { URL } from '@xylabs/url'\n\nexport const web3Protocols = ['ipfs:', 'ar:']\n\nexport const toUrl = (url?: string | null): URL | undefined => {\n if (!url) return undefined\n try {\n return new URL(url)\n } catch (e) {\n return undefined\n }\n}\n\nexport const isValidUrl = (url?: string | null): boolean => toUrl(url) !== undefined\nexport const isWeb3 = (url?: string | null): boolean => web3Protocols.some((protocol) => protocol === toUrl(url)?.protocol)\nexport const isWeb2 = (url?: string | null): boolean => !isWeb3(url)\nexport const isSecure = (url?: string | null): boolean => isWeb3(url) || toUrl(url)?.protocol === 'https:'\n"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../../../../../../src/lib/rating/criteria/scoring/metadata/lib/urlHelpers.ts"],"sourcesContent":["import { URL } from '@xylabs/url'\n\nexport const web3Protocols = ['ipfs:', 'ar:']\n\nexport const toUrl = (url?: string | null): URL | undefined => {\n if (!url) return undefined\n try {\n return new URL(url)\n } catch (e) {\n return undefined\n }\n}\n\nexport const isValidUrl = (url?: string | null): boolean => toUrl(url) !== undefined\nexport const isWeb3 = (url?: string | null): boolean => web3Protocols.some((protocol) => protocol === toUrl(url)?.protocol)\nexport const isWeb2 = (url?: string | null): boolean => !isWeb3(url)\nexport const isSecure = (url?: string | null): boolean => isWeb3(url) || toUrl(url)?.protocol === 'https:'\n"],"mappings":"AAAA,SAAS,WAAW;AAEb,MAAM,gBAAgB,CAAC,SAAS,KAAK;AAErC,MAAM,QAAQ,CAAC,QAAyC;AAC7D,MAAI,CAAC;AAAK,WAAO;AACjB,MAAI;AACF,WAAO,IAAI,IAAI,GAAG;AAAA,EACpB,SAAS,GAAG;AACV,WAAO;AAAA,EACT;AACF;AAEO,MAAM,aAAa,CAAC,QAAiC,MAAM,GAAG,MAAM;AACpE,MAAM,SAAS,CAAC,QAAiC,cAAc,KAAK,CAAC,aAAa,aAAa,MAAM,GAAG,GAAG,QAAQ;AACnH,MAAM,SAAS,CAAC,QAAiC,CAAC,OAAO,GAAG;AAC5D,MAAM,WAAW,CAAC,QAAiC,OAAO,GAAG,KAAK,MAAM,GAAG,GAAG,aAAa;","names":[]}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { NftInfoFields, OpenSeaNftInfoFields } from '@xyo-network/crypto-nft-payload-plugin';
|
|
2
|
+
import { ScaledScore } from '@xyo-network/crypto-nft-score-model';
|
|
3
|
+
export declare const scoreNftName: (nft: NftInfoFields | OpenSeaNftInfoFields) => ScaledScore;
|
|
4
|
+
export declare const scoreName: (name: unknown) => ScaledScore;
|
|
5
|
+
//# sourceMappingURL=name.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"name.d.ts","sourceRoot":"","sources":["../../../../../../../src/lib/rating/criteria/scoring/metadata/name.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,wCAAwC,CAAA;AAC5F,OAAO,EAAkB,WAAW,EAAE,MAAM,qCAAqC,CAAA;AAEjF,eAAO,MAAM,YAAY,QAAS,aAAa,GAAG,oBAAoB,gBAErE,CAAA;AACD,eAAO,MAAM,SAAS,SAAU,OAAO,gBAItC,CAAA"}
|
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
// src/lib/rating/criteria/scoring/metadata/name.ts
|
|
2
1
|
import { incrementTotal } from "@xyo-network/crypto-nft-score-model";
|
|
3
|
-
|
|
2
|
+
const scoreNftName = (nft) => {
|
|
4
3
|
return scoreName(nft.metadata?.name);
|
|
5
4
|
};
|
|
6
|
-
|
|
5
|
+
const scoreName = (name) => {
|
|
7
6
|
const score = [0, 1];
|
|
8
7
|
if (!name || typeof name !== "string")
|
|
9
8
|
return score;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../../src/lib/rating/criteria/scoring/metadata/name.ts"],"sourcesContent":["import { NftInfoFields, OpenSeaNftInfoFields } from '@xyo-network/crypto-nft-payload-plugin'\nimport { incrementTotal, ScaledScore } from '@xyo-network/crypto-nft-score-model'\n\nexport const scoreNftName = (nft: NftInfoFields | OpenSeaNftInfoFields): ScaledScore => {\n return scoreName(nft.metadata?.name)\n}\nexport const scoreName = (name: unknown): ScaledScore => {\n const score: ScaledScore = [0, 1]\n if (!name || typeof name !== 'string') return score\n return incrementTotal(score)\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../../../../../src/lib/rating/criteria/scoring/metadata/name.ts"],"sourcesContent":["import { NftInfoFields, OpenSeaNftInfoFields } from '@xyo-network/crypto-nft-payload-plugin'\nimport { incrementTotal, ScaledScore } from '@xyo-network/crypto-nft-score-model'\n\nexport const scoreNftName = (nft: NftInfoFields | OpenSeaNftInfoFields): ScaledScore => {\n return scoreName(nft.metadata?.name)\n}\nexport const scoreName = (name: unknown): ScaledScore => {\n const score: ScaledScore = [0, 1]\n if (!name || typeof name !== 'string') return score\n return incrementTotal(score)\n}\n"],"mappings":"AACA,SAAS,sBAAmC;AAErC,MAAM,eAAe,CAAC,QAA2D;AACtF,SAAO,UAAU,IAAI,UAAU,IAAI;AACrC;AACO,MAAM,YAAY,CAAC,SAA+B;AACvD,QAAM,QAAqB,CAAC,GAAG,CAAC;AAChC,MAAI,CAAC,QAAQ,OAAO,SAAS;AAAU,WAAO;AAC9C,SAAO,eAAe,KAAK;AAC7B;","names":[]}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { NftInfoFields, OpenSeaNftInfoFields } from '@xyo-network/crypto-nft-payload-plugin';
|
|
2
|
+
import { ScaledScore } from '@xyo-network/crypto-nft-score-model';
|
|
3
|
+
export declare const scoreNftYoutubeUrl: (nft: NftInfoFields | OpenSeaNftInfoFields) => ScaledScore;
|
|
4
|
+
export declare const scoreYoutubeUrl: (youtube_url: unknown) => ScaledScore;
|
|
5
|
+
//# sourceMappingURL=youtubeUrl.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"youtubeUrl.d.ts","sourceRoot":"","sources":["../../../../../../../src/lib/rating/criteria/scoring/metadata/youtubeUrl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,wCAAwC,CAAA;AAC5F,OAAO,EAAwB,WAAW,EAAE,MAAM,qCAAqC,CAAA;AAIvF,eAAO,MAAM,kBAAkB,QAAS,aAAa,GAAG,oBAAoB,gBAE3E,CAAA;AACD,eAAO,MAAM,eAAe,gBAAiB,OAAO,gBAOnD,CAAA"}
|
|
@@ -1,27 +1,9 @@
|
|
|
1
|
-
// src/lib/rating/criteria/scoring/metadata/youtubeUrl.ts
|
|
2
1
|
import { incrementTotal, PASS } from "@xyo-network/crypto-nft-score-model";
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
import { URL } from "@xylabs/url";
|
|
6
|
-
var web3Protocols = ["ipfs:", "ar:"];
|
|
7
|
-
var toUrl = (url) => {
|
|
8
|
-
if (!url)
|
|
9
|
-
return void 0;
|
|
10
|
-
try {
|
|
11
|
-
return new URL(url);
|
|
12
|
-
} catch (e) {
|
|
13
|
-
return void 0;
|
|
14
|
-
}
|
|
15
|
-
};
|
|
16
|
-
var isValidUrl = (url) => toUrl(url) !== void 0;
|
|
17
|
-
var isWeb3 = (url) => web3Protocols.some((protocol) => protocol === toUrl(url)?.protocol);
|
|
18
|
-
var isSecure = (url) => isWeb3(url) || toUrl(url)?.protocol === "https:";
|
|
19
|
-
|
|
20
|
-
// src/lib/rating/criteria/scoring/metadata/youtubeUrl.ts
|
|
21
|
-
var scoreNftYoutubeUrl = (nft) => {
|
|
2
|
+
import { isSecure, isValidUrl } from "./lib";
|
|
3
|
+
const scoreNftYoutubeUrl = (nft) => {
|
|
22
4
|
return scoreYoutubeUrl(nft?.metadata?.youtube_url);
|
|
23
5
|
};
|
|
24
|
-
|
|
6
|
+
const scoreYoutubeUrl = (youtube_url) => {
|
|
25
7
|
if (youtube_url === void 0 || youtube_url === null)
|
|
26
8
|
return PASS;
|
|
27
9
|
const score = [0, 2];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../../src/lib/rating/criteria/scoring/metadata/youtubeUrl.ts"
|
|
1
|
+
{"version":3,"sources":["../../../../../../../src/lib/rating/criteria/scoring/metadata/youtubeUrl.ts"],"sourcesContent":["import { NftInfoFields, OpenSeaNftInfoFields } from '@xyo-network/crypto-nft-payload-plugin'\nimport { incrementTotal, PASS, ScaledScore } from '@xyo-network/crypto-nft-score-model'\n\nimport { isSecure, isValidUrl } from './lib'\n\nexport const scoreNftYoutubeUrl = (nft: NftInfoFields | OpenSeaNftInfoFields): ScaledScore => {\n return scoreYoutubeUrl(nft?.metadata?.youtube_url)\n}\nexport const scoreYoutubeUrl = (youtube_url: unknown): ScaledScore => {\n if (youtube_url === undefined || youtube_url === null) return PASS\n const score: ScaledScore = [0, 2]\n if (typeof youtube_url !== 'string' || !isValidUrl(youtube_url)) return score\n incrementTotal(score)\n if (!isSecure(youtube_url)) return score\n return incrementTotal(score)\n}\n"],"mappings":"AACA,SAAS,gBAAgB,YAAyB;AAElD,SAAS,UAAU,kBAAkB;AAE9B,MAAM,qBAAqB,CAAC,QAA2D;AAC5F,SAAO,gBAAgB,KAAK,UAAU,WAAW;AACnD;AACO,MAAM,kBAAkB,CAAC,gBAAsC;AACpE,MAAI,gBAAgB,UAAa,gBAAgB;AAAM,WAAO;AAC9D,QAAM,QAAqB,CAAC,GAAG,CAAC;AAChC,MAAI,OAAO,gBAAgB,YAAY,CAAC,WAAW,WAAW;AAAG,WAAO;AACxE,iBAAe,KAAK;AACpB,MAAI,CAAC,SAAS,WAAW;AAAG,WAAO;AACnC,SAAO,eAAe,KAAK;AAC7B;","names":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"supply.d.ts","sourceRoot":"","sources":["../../../../../../src/lib/rating/criteria/scoring/supply.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAA;AACtE,OAAO,EAAc,uBAAuB,EAAE,MAAM,qCAAqC,CAAA;AAIzF,eAAO,MAAM,WAAW,EAAE,uBAAuB,CAAC,aAAa,CAS9D,CAAA"}
|
|
@@ -1,24 +1,6 @@
|
|
|
1
|
-
// src/lib/rating/criteria/scoring/supply.ts
|
|
2
1
|
import { FAIL, PASS } from "@xyo-network/crypto-nft-score-model";
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
import { BigNumber } from "@xylabs/bignumber";
|
|
6
|
-
var toBigNumber = (value) => {
|
|
7
|
-
try {
|
|
8
|
-
return new BigNumber(value);
|
|
9
|
-
} catch (error) {
|
|
10
|
-
return void 0;
|
|
11
|
-
}
|
|
12
|
-
};
|
|
13
|
-
|
|
14
|
-
// src/lib/rating/criteria/scoring/lib/isValidPositiveBigNumber.ts
|
|
15
|
-
var isValidPositiveBigNumber = (value) => {
|
|
16
|
-
const num = toBigNumber(value);
|
|
17
|
-
return !num || num.isNeg() ? false : true;
|
|
18
|
-
};
|
|
19
|
-
|
|
20
|
-
// src/lib/rating/criteria/scoring/supply.ts
|
|
21
|
-
var scoreSupply = (nft) => {
|
|
2
|
+
import { isValidPositiveBigNumber } from "./lib";
|
|
3
|
+
const scoreSupply = (nft) => {
|
|
22
4
|
if (!nft.supply)
|
|
23
5
|
return FAIL;
|
|
24
6
|
if (typeof nft.supply !== "string")
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../src/lib/rating/criteria/scoring/supply.ts"
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/lib/rating/criteria/scoring/supply.ts"],"sourcesContent":["import { NftInfoFields } from '@xyo-network/crypto-nft-payload-plugin'\nimport { FAIL, PASS, PassFailScoringFunction } from '@xyo-network/crypto-nft-score-model'\n\nimport { isValidPositiveBigNumber } from './lib'\n\nexport const scoreSupply: PassFailScoringFunction<NftInfoFields> = (nft: NftInfoFields) => {\n if (!nft.supply) return FAIL\n if (typeof nft.supply !== 'string') return FAIL\n try {\n // Check for positive BigNumber since data type is uint256\n return isValidPositiveBigNumber(nft.supply) ? PASS : FAIL\n } catch (_error) {\n return FAIL\n }\n}\n"],"mappings":"AACA,SAAS,MAAM,YAAqC;AAEpD,SAAS,gCAAgC;AAElC,MAAM,cAAsD,CAAC,QAAuB;AACzF,MAAI,CAAC,IAAI;AAAQ,WAAO;AACxB,MAAI,OAAO,IAAI,WAAW;AAAU,WAAO;AAC3C,MAAI;AAEF,WAAO,yBAAyB,IAAI,MAAM,IAAI,OAAO;AAAA,EACvD,SAAS,QAAQ;AACf,WAAO;AAAA,EACT;AACF;","names":[]}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { NftInfoFields } from '@xyo-network/crypto-nft-payload-plugin';
|
|
2
|
+
import { PassFailScoringFunction } from '@xyo-network/crypto-nft-score-model';
|
|
3
|
+
/**
|
|
4
|
+
* Callers SHALL NOT assume that ID numbers have any specific pattern to them, and
|
|
5
|
+
* MUST treat the ID as a "black box"
|
|
6
|
+
* @param nft
|
|
7
|
+
* @returns
|
|
8
|
+
*/
|
|
9
|
+
export declare const scoreTokenId: PassFailScoringFunction<NftInfoFields>;
|
|
10
|
+
//# sourceMappingURL=tokenId.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tokenId.d.ts","sourceRoot":"","sources":["../../../../../../src/lib/rating/criteria/scoring/tokenId.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAA;AACtE,OAAO,EAAc,uBAAuB,EAAE,MAAM,qCAAqC,CAAA;AAIzF;;;;;GAKG;AACH,eAAO,MAAM,YAAY,EAAE,uBAAuB,CAAC,aAAa,CAS/D,CAAA"}
|
|
@@ -1,24 +1,6 @@
|
|
|
1
|
-
// src/lib/rating/criteria/scoring/tokenId.ts
|
|
2
1
|
import { FAIL, PASS } from "@xyo-network/crypto-nft-score-model";
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
import { BigNumber } from "@xylabs/bignumber";
|
|
6
|
-
var toBigNumber = (value) => {
|
|
7
|
-
try {
|
|
8
|
-
return new BigNumber(value);
|
|
9
|
-
} catch (error) {
|
|
10
|
-
return void 0;
|
|
11
|
-
}
|
|
12
|
-
};
|
|
13
|
-
|
|
14
|
-
// src/lib/rating/criteria/scoring/lib/isValidPositiveBigNumber.ts
|
|
15
|
-
var isValidPositiveBigNumber = (value) => {
|
|
16
|
-
const num = toBigNumber(value);
|
|
17
|
-
return !num || num.isNeg() ? false : true;
|
|
18
|
-
};
|
|
19
|
-
|
|
20
|
-
// src/lib/rating/criteria/scoring/tokenId.ts
|
|
21
|
-
var scoreTokenId = (nft) => {
|
|
2
|
+
import { isValidPositiveBigNumber } from "./lib";
|
|
3
|
+
const scoreTokenId = (nft) => {
|
|
22
4
|
if (!nft.tokenId)
|
|
23
5
|
return FAIL;
|
|
24
6
|
if (typeof nft.tokenId !== "string")
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../src/lib/rating/criteria/scoring/tokenId.ts"
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/lib/rating/criteria/scoring/tokenId.ts"],"sourcesContent":["import { NftInfoFields } from '@xyo-network/crypto-nft-payload-plugin'\nimport { FAIL, PASS, PassFailScoringFunction } from '@xyo-network/crypto-nft-score-model'\n\nimport { isValidPositiveBigNumber } from './lib'\n\n/**\n * Callers SHALL NOT assume that ID numbers have any specific pattern to them, and\n * MUST treat the ID as a \"black box\"\n * @param nft\n * @returns\n */\nexport const scoreTokenId: PassFailScoringFunction<NftInfoFields> = (nft: NftInfoFields) => {\n if (!nft.tokenId) return FAIL\n if (typeof nft.tokenId !== 'string') return FAIL\n try {\n // Check for positive BigNumber since data type is uint256\n return isValidPositiveBigNumber(nft.tokenId) ? PASS : FAIL\n } catch (_error) {\n return FAIL\n }\n}\n"],"mappings":"AACA,SAAS,MAAM,YAAqC;AAEpD,SAAS,gCAAgC;AAQlC,MAAM,eAAuD,CAAC,QAAuB;AAC1F,MAAI,CAAC,IAAI;AAAS,WAAO;AACzB,MAAI,OAAO,IAAI,YAAY;AAAU,WAAO;AAC5C,MAAI;AAEF,WAAO,yBAAyB,IAAI,OAAO,IAAI,OAAO;AAAA,EACxD,SAAS,QAAQ;AACf,WAAO;AAAA,EACT;AACF;","names":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"type.d.ts","sourceRoot":"","sources":["../../../../../../src/lib/rating/criteria/scoring/type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAA;AACtE,OAAO,EAAc,uBAAuB,EAAE,MAAM,qCAAqC,CAAA;AAEzF,eAAO,MAAM,SAAS,EAAE,uBAAuB,CAAC,aAAa,CAM5D,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../src/lib/rating/criteria/scoring/type.ts"],"sourcesContent":["import { NftInfoFields } from '@xyo-network/crypto-nft-payload-plugin'\nimport { FAIL, PASS, PassFailScoringFunction } from '@xyo-network/crypto-nft-score-model'\n\nexport const scoreType: PassFailScoringFunction<NftInfoFields> = (nft: NftInfoFields) => {\n if (!nft.type) return FAIL\n if (typeof nft.type !== 'string') return FAIL\n const type = nft.type.toUpperCase()\n if (type !== 'ERC721' && type !== 'ERC1155') return FAIL\n return PASS\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/lib/rating/criteria/scoring/type.ts"],"sourcesContent":["import { NftInfoFields } from '@xyo-network/crypto-nft-payload-plugin'\nimport { FAIL, PASS, PassFailScoringFunction } from '@xyo-network/crypto-nft-score-model'\n\nexport const scoreType: PassFailScoringFunction<NftInfoFields> = (nft: NftInfoFields) => {\n if (!nft.type) return FAIL\n if (typeof nft.type !== 'string') return FAIL\n const type = nft.type.toUpperCase()\n if (type !== 'ERC721' && type !== 'ERC1155') return FAIL\n return PASS\n}\n"],"mappings":"AACA,SAAS,MAAM,YAAqC;AAE7C,MAAM,YAAoD,CAAC,QAAuB;AACvF,MAAI,CAAC,IAAI;AAAM,WAAO;AACtB,MAAI,OAAO,IAAI,SAAS;AAAU,WAAO;AACzC,QAAM,OAAO,IAAI,KAAK,YAAY;AAClC,MAAI,SAAS,YAAY,SAAS;AAAW,WAAO;AACpD,SAAO;AACT;","names":[]}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
export declare const scoringCriteria: {
|
|
2
|
+
Attributes: {
|
|
3
|
+
score: (nft: import("@xyo-network/crypto-nft-payload-plugin").NftInfoFields | import("@xyo-network/crypto-nft-payload-plugin").OpenSeaNftInfoFields) => import("@xyo-network/crypto-nft-score-model").ScaledScore;
|
|
4
|
+
weight: number;
|
|
5
|
+
};
|
|
6
|
+
'Animation URL': {
|
|
7
|
+
score: (nft: import("@xyo-network/crypto-nft-payload-plugin").NftInfoFields | import("@xyo-network/crypto-nft-payload-plugin").OpenSeaNftInfoFields) => import("@xyo-network/crypto-nft-score-model").ScaledScore;
|
|
8
|
+
weight: number;
|
|
9
|
+
};
|
|
10
|
+
'Background Color': {
|
|
11
|
+
score: (nft: import("@xyo-network/crypto-nft-payload-plugin").NftInfoFields | import("@xyo-network/crypto-nft-payload-plugin").OpenSeaNftInfoFields) => import("@xyo-network/crypto-nft-score-model").ScaledScore;
|
|
12
|
+
weight: number;
|
|
13
|
+
};
|
|
14
|
+
Description: {
|
|
15
|
+
score: (nft: import("@xyo-network/crypto-nft-payload-plugin").NftInfoFields | import("@xyo-network/crypto-nft-payload-plugin").OpenSeaNftInfoFields) => import("@xyo-network/crypto-nft-score-model").ScaledScore;
|
|
16
|
+
weight: number;
|
|
17
|
+
};
|
|
18
|
+
'External Url': {
|
|
19
|
+
score: (nft: import("@xyo-network/crypto-nft-payload-plugin").NftInfoFields | import("@xyo-network/crypto-nft-payload-plugin").OpenSeaNftInfoFields) => import("@xyo-network/crypto-nft-score-model").ScaledScore;
|
|
20
|
+
weight: number;
|
|
21
|
+
};
|
|
22
|
+
Image: {
|
|
23
|
+
score: (nft: import("@xyo-network/crypto-nft-payload-plugin").NftInfoFields | import("@xyo-network/crypto-nft-payload-plugin").OpenSeaNftInfoFields) => import("@xyo-network/crypto-nft-score-model").ScaledScore;
|
|
24
|
+
weight: number;
|
|
25
|
+
};
|
|
26
|
+
'Image Data': {
|
|
27
|
+
score: (nft: import("@xyo-network/crypto-nft-payload-plugin").NftInfoFields | import("@xyo-network/crypto-nft-payload-plugin").OpenSeaNftInfoFields) => import("@xyo-network/crypto-nft-score-model").ScaledScore;
|
|
28
|
+
weight: number;
|
|
29
|
+
};
|
|
30
|
+
Name: {
|
|
31
|
+
score: (nft: import("@xyo-network/crypto-nft-payload-plugin").NftInfoFields | import("@xyo-network/crypto-nft-payload-plugin").OpenSeaNftInfoFields) => import("@xyo-network/crypto-nft-score-model").ScaledScore;
|
|
32
|
+
weight: number;
|
|
33
|
+
};
|
|
34
|
+
'YouTube URL': {
|
|
35
|
+
score: (nft: import("@xyo-network/crypto-nft-payload-plugin").NftInfoFields | import("@xyo-network/crypto-nft-payload-plugin").OpenSeaNftInfoFields) => import("@xyo-network/crypto-nft-score-model").ScaledScore;
|
|
36
|
+
weight: number;
|
|
37
|
+
};
|
|
38
|
+
'Contract Address': {
|
|
39
|
+
score: import("@xyo-network/crypto-nft-score-model").PassFailScoringFunction<import("@xyo-network/crypto-nft-payload-plugin").NftInfoFields>;
|
|
40
|
+
weight: number;
|
|
41
|
+
};
|
|
42
|
+
Supply: {
|
|
43
|
+
score: import("@xyo-network/crypto-nft-score-model").PassFailScoringFunction<import("@xyo-network/crypto-nft-payload-plugin").NftInfoFields>;
|
|
44
|
+
weight: number;
|
|
45
|
+
};
|
|
46
|
+
'Token Id': {
|
|
47
|
+
score: import("@xyo-network/crypto-nft-score-model").PassFailScoringFunction<import("@xyo-network/crypto-nft-payload-plugin").NftInfoFields>;
|
|
48
|
+
weight: number;
|
|
49
|
+
};
|
|
50
|
+
Type: {
|
|
51
|
+
score: import("@xyo-network/crypto-nft-score-model").PassFailScoringFunction<import("@xyo-network/crypto-nft-payload-plugin").NftInfoFields>;
|
|
52
|
+
weight: number;
|
|
53
|
+
};
|
|
54
|
+
};
|
|
55
|
+
//# sourceMappingURL=scoringCriteria.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scoringCriteria.d.ts","sourceRoot":"","sources":["../../../../../src/lib/rating/criteria/scoringCriteria.ts"],"names":[],"mappings":"AAgCA,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAM3B,CAAA"}
|