@xyo-network/crypto-nft-diviner-score-plugin 2.75.0 → 2.75.3
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
|
@@ -16,6 +16,8 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
16
16
|
return to;
|
|
17
17
|
};
|
|
18
18
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
|
|
20
|
+
// src/lib/rating/criteria/scoring/metadata/animationUrl.ts
|
|
19
21
|
var animationUrl_exports = {};
|
|
20
22
|
__export(animationUrl_exports, {
|
|
21
23
|
scoreAnimationUrl: () => scoreAnimationUrl,
|
|
@@ -23,11 +25,35 @@ __export(animationUrl_exports, {
|
|
|
23
25
|
});
|
|
24
26
|
module.exports = __toCommonJS(animationUrl_exports);
|
|
25
27
|
var import_crypto_nft_score_model = require("@xyo-network/crypto-nft-score-model");
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
28
|
+
|
|
29
|
+
// src/lib/rating/criteria/scoring/metadata/lib/urlHelpers.ts
|
|
30
|
+
var import_url = require("@xylabs/url");
|
|
31
|
+
var web3Protocols = ["ipfs:", "ar:"];
|
|
32
|
+
var toUrl = (url) => {
|
|
33
|
+
if (!url)
|
|
34
|
+
return void 0;
|
|
35
|
+
try {
|
|
36
|
+
return new import_url.URL(url);
|
|
37
|
+
} catch (e) {
|
|
38
|
+
return void 0;
|
|
39
|
+
}
|
|
40
|
+
};
|
|
41
|
+
var isValidUrl = (url) => toUrl(url) !== void 0;
|
|
42
|
+
var isWeb3 = (url) => web3Protocols.some((protocol) => {
|
|
43
|
+
var _a;
|
|
44
|
+
return protocol === ((_a = toUrl(url)) == null ? void 0 : _a.protocol);
|
|
45
|
+
});
|
|
46
|
+
var isSecure = (url) => {
|
|
47
|
+
var _a;
|
|
48
|
+
return isWeb3(url) || ((_a = toUrl(url)) == null ? void 0 : _a.protocol) === "https:";
|
|
49
|
+
};
|
|
50
|
+
|
|
51
|
+
// src/lib/rating/criteria/scoring/metadata/animationUrl.ts
|
|
52
|
+
var scoreNftAnimationUrl = (nft) => {
|
|
53
|
+
var _a;
|
|
54
|
+
return scoreAnimationUrl((_a = nft.metadata) == null ? void 0 : _a.animation_url);
|
|
29
55
|
};
|
|
30
|
-
|
|
56
|
+
var scoreAnimationUrl = (animation_url) => {
|
|
31
57
|
const score = [0, 0];
|
|
32
58
|
if (animation_url === void 0 || animation_url === null)
|
|
33
59
|
return import_crypto_nft_score_model.PASS;
|
|
@@ -35,13 +61,13 @@ const scoreAnimationUrl = (animation_url) => {
|
|
|
35
61
|
if (typeof animation_url !== "string")
|
|
36
62
|
return score;
|
|
37
63
|
(0, import_crypto_nft_score_model.incrementTotalAndPossible)(score);
|
|
38
|
-
if (!
|
|
64
|
+
if (!isValidUrl(animation_url))
|
|
39
65
|
return score;
|
|
40
66
|
(0, import_crypto_nft_score_model.incrementTotalAndPossible)(score);
|
|
41
|
-
if (!
|
|
67
|
+
if (!isSecure(animation_url))
|
|
42
68
|
return score;
|
|
43
69
|
(0, import_crypto_nft_score_model.incrementTotalAndPossible)(score);
|
|
44
|
-
if (!
|
|
70
|
+
if (!isWeb3(animation_url))
|
|
45
71
|
return score;
|
|
46
72
|
return (0, import_crypto_nft_score_model.incrementTotal)(score);
|
|
47
73
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../../src/lib/rating/criteria/scoring/metadata/animationUrl.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"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../../../../../src/lib/rating/criteria/scoring/metadata/animationUrl.ts","../../../../../../../src/lib/rating/criteria/scoring/metadata/lib/urlHelpers.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"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,oCAAgG;;;ACDhG,iBAAoB;AAEb,IAAM,gBAAgB,CAAC,SAAS,KAAK;AAErC,IAAM,QAAQ,CAAC,QAAyC;AAC7D,MAAI,CAAC;AAAK,WAAO;AACjB,MAAI;AACF,WAAO,IAAI,eAAI,GAAG;AAAA,EACpB,SAAS,GAAG;AACV,WAAO;AAAA,EACT;AACF;AAEO,IAAM,aAAa,CAAC,QAAiC,MAAM,GAAG,MAAM;AACpE,IAAM,SAAS,CAAC,QAAiC,cAAc,KAAK,CAAC,aAAU;AAdtF;AAcyF,wBAAa,WAAM,GAAG,MAAT,mBAAY;AAAA,CAAQ;AAEnH,IAAM,WAAW,CAAC,QAA8B;AAhBvD;AAgB0D,gBAAO,GAAG,OAAK,WAAM,GAAG,MAAT,mBAAY,cAAa;AAAA;;;ADX3F,IAAM,uBAAuB,CAAC,QAA2D;AALhG;AAME,SAAO,mBAAkB,SAAI,aAAJ,mBAAc,aAAa;AACtD;AAEO,IAAM,oBAAoB,CAAC,kBAAwC;AACxE,QAAM,QAAqB,CAAC,GAAG,CAAC;AAChC,MAAI,kBAAkB,UAAa,kBAAkB;AAAM,WAAO;AAClE,uDAAkB,KAAK;AACvB,MAAI,OAAO,kBAAkB;AAAU,WAAO;AAC9C,+DAA0B,KAAK;AAC/B,MAAI,CAAC,WAAW,aAAa;AAAG,WAAO;AACvC,+DAA0B,KAAK;AAC/B,MAAI,CAAC,SAAS,aAAa;AAAG,WAAO;AACrC,+DAA0B,KAAK;AAC/B,MAAI,CAAC,OAAO,aAAa;AAAG,WAAO;AACnC,aAAO,8CAAe,KAAK;AAC7B;","names":[]}
|
|
@@ -1,9 +1,34 @@
|
|
|
1
|
+
// src/lib/rating/criteria/scoring/metadata/animationUrl.ts
|
|
1
2
|
import { incrementPossible, incrementTotal, incrementTotalAndPossible, PASS } from "@xyo-network/crypto-nft-score-model";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
3
|
+
|
|
4
|
+
// src/lib/rating/criteria/scoring/metadata/lib/urlHelpers.ts
|
|
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
|
+
}
|
|
5
15
|
};
|
|
6
|
-
|
|
16
|
+
var isValidUrl = (url) => toUrl(url) !== void 0;
|
|
17
|
+
var isWeb3 = (url) => web3Protocols.some((protocol) => {
|
|
18
|
+
var _a;
|
|
19
|
+
return protocol === ((_a = toUrl(url)) == null ? void 0 : _a.protocol);
|
|
20
|
+
});
|
|
21
|
+
var isSecure = (url) => {
|
|
22
|
+
var _a;
|
|
23
|
+
return isWeb3(url) || ((_a = toUrl(url)) == null ? void 0 : _a.protocol) === "https:";
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
// src/lib/rating/criteria/scoring/metadata/animationUrl.ts
|
|
27
|
+
var scoreNftAnimationUrl = (nft) => {
|
|
28
|
+
var _a;
|
|
29
|
+
return scoreAnimationUrl((_a = nft.metadata) == null ? void 0 : _a.animation_url);
|
|
30
|
+
};
|
|
31
|
+
var scoreAnimationUrl = (animation_url) => {
|
|
7
32
|
const score = [0, 0];
|
|
8
33
|
if (animation_url === void 0 || animation_url === null)
|
|
9
34
|
return PASS;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../../src/lib/rating/criteria/scoring/metadata/animationUrl.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"],"mappings":"AACA,SAAS,mBAAmB,gBAAgB,2BAA2B,YAAyB;
|
|
1
|
+
{"version":3,"sources":["../../../../../../../src/lib/rating/criteria/scoring/metadata/animationUrl.ts","../../../../../../../src/lib/rating/criteria/scoring/metadata/lib/urlHelpers.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"],"mappings":";AACA,SAAS,mBAAmB,gBAAgB,2BAA2B,YAAyB;;;ACDhG,SAAS,WAAW;AAEb,IAAM,gBAAgB,CAAC,SAAS,KAAK;AAErC,IAAM,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,IAAM,aAAa,CAAC,QAAiC,MAAM,GAAG,MAAM;AACpE,IAAM,SAAS,CAAC,QAAiC,cAAc,KAAK,CAAC,aAAU;AAdtF;AAcyF,wBAAa,WAAM,GAAG,MAAT,mBAAY;AAAA,CAAQ;AAEnH,IAAM,WAAW,CAAC,QAA8B;AAhBvD;AAgB0D,gBAAO,GAAG,OAAK,WAAM,GAAG,MAAT,mBAAY,cAAa;AAAA;;;ADX3F,IAAM,uBAAuB,CAAC,QAA2D;AALhG;AAME,SAAO,mBAAkB,SAAI,aAAJ,mBAAc,aAAa;AACtD;AAEO,IAAM,oBAAoB,CAAC,kBAAwC;AACxE,QAAM,QAAqB,CAAC,GAAG,CAAC;AAChC,MAAI,kBAAkB,UAAa,kBAAkB;AAAM,WAAO;AAClE,oBAAkB,KAAK;AACvB,MAAI,OAAO,kBAAkB;AAAU,WAAO;AAC9C,4BAA0B,KAAK;AAC/B,MAAI,CAAC,WAAW,aAAa;AAAG,WAAO;AACvC,4BAA0B,KAAK;AAC/B,MAAI,CAAC,SAAS,aAAa;AAAG,WAAO;AACrC,4BAA0B,KAAK;AAC/B,MAAI,CAAC,OAAO,aAAa;AAAG,WAAO;AACnC,SAAO,eAAe,KAAK;AAC7B;","names":[]}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { NftAttribute, NftInfoFields, OpenSeaNftAttribute, OpenSeaNftInfoFields } from '@xyo-network/crypto-nft-payload-plugin';
|
|
2
|
+
import { ScaledScore } from '@xyo-network/crypto-nft-score-model';
|
|
3
|
+
export declare const evaluateNftAttributes: (nft: NftInfoFields | OpenSeaNftInfoFields) => ScaledScore;
|
|
4
|
+
export declare const evaluateAttributes: (attributes: NftAttribute[] | OpenSeaNftAttribute[] | unknown) => ScaledScore;
|
|
5
|
+
export declare const evaluateAttribute: (attribute: OpenSeaNftAttribute) => ScaledScore;
|
|
6
|
+
//# sourceMappingURL=evaluateAttributes.d.ts.map
|
package/dist/node/lib/rating/criteria/scoring/metadata/attributes/evaluateAttributes.d.cts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"evaluateAttributes.d.ts","sourceRoot":"","sources":["../../../../../../../../src/lib/rating/criteria/scoring/metadata/attributes/evaluateAttributes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,wCAAwC,CAAA;AAC/H,OAAO,EAAgE,WAAW,EAAE,MAAM,qCAAqC,CAAA;AAsB/H,eAAO,MAAM,qBAAqB,QAAS,aAAa,GAAG,oBAAoB,gBACM,CAAA;AAErF,eAAO,MAAM,kBAAkB,eAAgB,YAAY,EAAE,GAAG,mBAAmB,EAAE,GAAG,OAAO,gBAQ9F,CAAA;AAED,eAAO,MAAM,iBAAiB,cAAe,mBAAmB,gBAqB/D,CAAA"}
|
|
@@ -16,6 +16,8 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
16
16
|
return to;
|
|
17
17
|
};
|
|
18
18
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
|
|
20
|
+
// src/lib/rating/criteria/scoring/metadata/attributes/evaluateAttributes.ts
|
|
19
21
|
var evaluateAttributes_exports = {};
|
|
20
22
|
__export(evaluateAttributes_exports, {
|
|
21
23
|
evaluateAttribute: () => evaluateAttribute,
|
|
@@ -24,7 +26,7 @@ __export(evaluateAttributes_exports, {
|
|
|
24
26
|
});
|
|
25
27
|
module.exports = __toCommonJS(evaluateAttributes_exports);
|
|
26
28
|
var import_crypto_nft_score_model = require("@xyo-network/crypto-nft-score-model");
|
|
27
|
-
|
|
29
|
+
var isDate = (value) => {
|
|
28
30
|
if (isNumber(value)) {
|
|
29
31
|
try {
|
|
30
32
|
new Date(value);
|
|
@@ -35,12 +37,15 @@ const isDate = (value) => {
|
|
|
35
37
|
}
|
|
36
38
|
return false;
|
|
37
39
|
};
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
40
|
+
var isNumber = (value) => typeof value === "number";
|
|
41
|
+
var isPercentage = (value) => isNumber(value) && value >= 0 && value <= 100;
|
|
42
|
+
var isNonEmptyString = (value) => typeof value === "string" && value.length > 0;
|
|
43
|
+
var isNonEmptyStringOrNumber = (value) => value === "number" || isNonEmptyString(value);
|
|
44
|
+
var evaluateNftAttributes = (nft) => {
|
|
45
|
+
var _a, _b;
|
|
46
|
+
return !((_a = nft == null ? void 0 : nft.metadata) == null ? void 0 : _a.attributes) ? [0, 1] : evaluateAttributes((_b = nft == null ? void 0 : nft.metadata) == null ? void 0 : _b.attributes);
|
|
47
|
+
};
|
|
48
|
+
var evaluateAttributes = (attributes) => {
|
|
44
49
|
if (!attributes || !Array.isArray(attributes) || attributes.length === 0)
|
|
45
50
|
return [0, 1];
|
|
46
51
|
const score = [0, 0];
|
|
@@ -50,11 +55,11 @@ const evaluateAttributes = (attributes) => {
|
|
|
50
55
|
}
|
|
51
56
|
return [1, 1];
|
|
52
57
|
};
|
|
53
|
-
|
|
58
|
+
var evaluateAttribute = (attribute) => {
|
|
54
59
|
const score = [0, 1];
|
|
55
|
-
const max_value = attribute
|
|
56
|
-
const trait_type = attribute
|
|
57
|
-
const value = attribute
|
|
60
|
+
const max_value = attribute == null ? void 0 : attribute.max_value;
|
|
61
|
+
const trait_type = attribute == null ? void 0 : attribute.trait_type;
|
|
62
|
+
const value = attribute == null ? void 0 : attribute.value;
|
|
58
63
|
if (!attribute || typeof attribute !== "object" || !isNonEmptyString(trait_type) || !isNonEmptyStringOrNumber(value))
|
|
59
64
|
return score;
|
|
60
65
|
(0, import_crypto_nft_score_model.incrementTotal)(score);
|
|
@@ -68,27 +73,27 @@ const evaluateAttribute = (attribute) => {
|
|
|
68
73
|
}
|
|
69
74
|
return score;
|
|
70
75
|
};
|
|
71
|
-
|
|
72
|
-
switch (attribute
|
|
76
|
+
var validDisplayType = (attribute) => {
|
|
77
|
+
switch (attribute == null ? void 0 : attribute.display_type) {
|
|
73
78
|
case "number":
|
|
74
79
|
case "boost_number": {
|
|
75
|
-
if (isNumber(attribute
|
|
80
|
+
if (isNumber(attribute == null ? void 0 : attribute.value))
|
|
76
81
|
return true;
|
|
77
82
|
break;
|
|
78
83
|
}
|
|
79
84
|
case "boost_percentage": {
|
|
80
|
-
if (isPercentage(attribute
|
|
85
|
+
if (isPercentage(attribute == null ? void 0 : attribute.value))
|
|
81
86
|
return true;
|
|
82
87
|
break;
|
|
83
88
|
}
|
|
84
89
|
case "date": {
|
|
85
|
-
if (isDate(attribute
|
|
90
|
+
if (isDate(attribute == null ? void 0 : attribute.value))
|
|
86
91
|
return true;
|
|
87
92
|
break;
|
|
88
93
|
}
|
|
89
94
|
case "string":
|
|
90
95
|
case void 0: {
|
|
91
|
-
if (isNonEmptyString(attribute
|
|
96
|
+
if (isNonEmptyString(attribute == null ? void 0 : attribute.value))
|
|
92
97
|
return true;
|
|
93
98
|
break;
|
|
94
99
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../../../src/lib/rating/criteria/scoring/metadata/attributes/evaluateAttributes.ts"],"sourcesContent":["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"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../../../../../../src/lib/rating/criteria/scoring/metadata/attributes/evaluateAttributes.ts"],"sourcesContent":["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"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,oCAA0F;AAE1F,IAAM,SAAS,CAAC,UAAkC;AAChD,MAAI,SAAS,KAAK,GAAG;AACnB,QAAI;AACF,UAAI,KAAK,KAAK;AACd,aAAO;AAAA,IACT,SAAS,OAAO;AACd,aAAO;AAAA,IACT;AAAA,EACF;AACA,SAAO;AACT;AAEA,IAAM,WAAW,CAAC,UAAoC,OAAO,UAAU;AAEvE,IAAM,eAAe,CAAC,UAA4B,SAAS,KAAK,KAAK,SAAS,KAAK,SAAS;AAE5F,IAAM,mBAAmB,CAAC,UAAoC,OAAO,UAAU,YAAY,MAAM,SAAS;AAE1G,IAAM,2BAA2B,CAAC,UAA6C,UAAU,YAAY,iBAAiB,KAAK;AAEpH,IAAM,wBAAwB,CAAC,QAAwD;AAvB9F;AAwBE,YAAC,gCAAK,aAAL,mBAAe,cAAa,CAAC,GAAG,CAAC,IAAI,oBAAmB,gCAAK,aAAL,mBAAe,UAAU;AAAA;AAE7E,IAAM,qBAAqB,CAAC,eAA8E;AAC/G,MAAI,CAAC,cAAc,CAAC,MAAM,QAAQ,UAAU,KAAK,WAAW,WAAW;AAAG,WAAO,CAAC,GAAG,CAAC;AACtF,QAAM,QAAqB,CAAC,GAAG,CAAC;AAChC,aAAW,aAAa,YAAY;AAClC,UAAM,CAAC,gBAAgB,iBAAiB,IAAI,kBAAkB,SAAS;AACvE,iEAA0B,OAAO,gBAAgB,iBAAiB;AAAA,EACpE;AACA,SAAO,CAAC,GAAG,CAAC;AACd;AAEO,IAAM,oBAAoB,CAAC,cAAgD;AAChF,QAAM,QAAqB,CAAC,GAAG,CAAC;AAChC,QAAM,YAAY,uCAAW;AAC7B,QAAM,aAAa,uCAAW;AAC9B,QAAM,QAAQ,uCAAW;AAGzB,MAAI,CAAC,aAAa,OAAO,cAAc,YAAY,CAAC,iBAAiB,UAAU,KAAK,CAAC,yBAAyB,KAAK;AAAG,WAAO;AAC7H,oDAAe,KAAK;AAGpB,uDAAkB,KAAK;AACvB,MAAI,iBAAiB,SAAS;AAAG,sDAAe,KAAK;AAGrD,MAAI,cAAc,QAAW;AAC3B,yDAAkB,KAAK;AACvB,QAAI,SAAS,SAAS,KAAK,SAAS,KAAK,KAAK,SAAS;AAAW,wDAAe,KAAK;AAAA,EACxF;AAEA,SAAO;AACT;AAEA,IAAM,mBAAmB,CAAC,cAA4C;AACpE,UAAQ,uCAAW,cAAc;AAAA,IAC/B,KAAK;AAAA,IACL,KAAK,gBAAgB;AACnB,UAAI,SAAS,uCAAW,KAAK;AAAG,eAAO;AACvC;AAAA,IACF;AAAA,IACA,KAAK,oBAAoB;AACvB,UAAI,aAAa,uCAAW,KAAK;AAAG,eAAO;AAC3C;AAAA,IACF;AAAA,IACA,KAAK,QAAQ;AACX,UAAI,OAAO,uCAAW,KAAK;AAAG,eAAO;AACrC;AAAA,IACF;AAAA,IACA,KAAK;AAAA,IACL,KAAK,QAAW;AACd,UAAI,iBAAiB,uCAAW,KAAK;AAAG,eAAO;AAC/C;AAAA,IACF;AAAA,IACA,SAAS;AACP;AAAA,IACF;AAAA,EACF;AACA,SAAO;AACT;","names":[]}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
+
// src/lib/rating/criteria/scoring/metadata/attributes/evaluateAttributes.ts
|
|
1
2
|
import { incrementPossible, incrementTotal, incrementTotalAndPossible } from "@xyo-network/crypto-nft-score-model";
|
|
2
|
-
|
|
3
|
+
var isDate = (value) => {
|
|
3
4
|
if (isNumber(value)) {
|
|
4
5
|
try {
|
|
5
6
|
new Date(value);
|
|
@@ -10,12 +11,15 @@ const isDate = (value) => {
|
|
|
10
11
|
}
|
|
11
12
|
return false;
|
|
12
13
|
};
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
14
|
+
var isNumber = (value) => typeof value === "number";
|
|
15
|
+
var isPercentage = (value) => isNumber(value) && value >= 0 && value <= 100;
|
|
16
|
+
var isNonEmptyString = (value) => typeof value === "string" && value.length > 0;
|
|
17
|
+
var isNonEmptyStringOrNumber = (value) => value === "number" || isNonEmptyString(value);
|
|
18
|
+
var evaluateNftAttributes = (nft) => {
|
|
19
|
+
var _a, _b;
|
|
20
|
+
return !((_a = nft == null ? void 0 : nft.metadata) == null ? void 0 : _a.attributes) ? [0, 1] : evaluateAttributes((_b = nft == null ? void 0 : nft.metadata) == null ? void 0 : _b.attributes);
|
|
21
|
+
};
|
|
22
|
+
var evaluateAttributes = (attributes) => {
|
|
19
23
|
if (!attributes || !Array.isArray(attributes) || attributes.length === 0)
|
|
20
24
|
return [0, 1];
|
|
21
25
|
const score = [0, 0];
|
|
@@ -25,11 +29,11 @@ const evaluateAttributes = (attributes) => {
|
|
|
25
29
|
}
|
|
26
30
|
return [1, 1];
|
|
27
31
|
};
|
|
28
|
-
|
|
32
|
+
var evaluateAttribute = (attribute) => {
|
|
29
33
|
const score = [0, 1];
|
|
30
|
-
const max_value = attribute
|
|
31
|
-
const trait_type = attribute
|
|
32
|
-
const value = attribute
|
|
34
|
+
const max_value = attribute == null ? void 0 : attribute.max_value;
|
|
35
|
+
const trait_type = attribute == null ? void 0 : attribute.trait_type;
|
|
36
|
+
const value = attribute == null ? void 0 : attribute.value;
|
|
33
37
|
if (!attribute || typeof attribute !== "object" || !isNonEmptyString(trait_type) || !isNonEmptyStringOrNumber(value))
|
|
34
38
|
return score;
|
|
35
39
|
incrementTotal(score);
|
|
@@ -43,27 +47,27 @@ const evaluateAttribute = (attribute) => {
|
|
|
43
47
|
}
|
|
44
48
|
return score;
|
|
45
49
|
};
|
|
46
|
-
|
|
47
|
-
switch (attribute
|
|
50
|
+
var validDisplayType = (attribute) => {
|
|
51
|
+
switch (attribute == null ? void 0 : attribute.display_type) {
|
|
48
52
|
case "number":
|
|
49
53
|
case "boost_number": {
|
|
50
|
-
if (isNumber(attribute
|
|
54
|
+
if (isNumber(attribute == null ? void 0 : attribute.value))
|
|
51
55
|
return true;
|
|
52
56
|
break;
|
|
53
57
|
}
|
|
54
58
|
case "boost_percentage": {
|
|
55
|
-
if (isPercentage(attribute
|
|
59
|
+
if (isPercentage(attribute == null ? void 0 : attribute.value))
|
|
56
60
|
return true;
|
|
57
61
|
break;
|
|
58
62
|
}
|
|
59
63
|
case "date": {
|
|
60
|
-
if (isDate(attribute
|
|
64
|
+
if (isDate(attribute == null ? void 0 : attribute.value))
|
|
61
65
|
return true;
|
|
62
66
|
break;
|
|
63
67
|
}
|
|
64
68
|
case "string":
|
|
65
69
|
case void 0: {
|
|
66
|
-
if (isNonEmptyString(attribute
|
|
70
|
+
if (isNonEmptyString(attribute == null ? void 0 : attribute.value))
|
|
67
71
|
return true;
|
|
68
72
|
break;
|
|
69
73
|
}
|
package/dist/node/lib/rating/criteria/scoring/metadata/attributes/evaluateAttributes.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../../../src/lib/rating/criteria/scoring/metadata/attributes/evaluateAttributes.ts"],"sourcesContent":["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"],"mappings":"AACA,SAAS,mBAAmB,gBAAgB,iCAA8C;AAE1F,
|
|
1
|
+
{"version":3,"sources":["../../../../../../../../src/lib/rating/criteria/scoring/metadata/attributes/evaluateAttributes.ts"],"sourcesContent":["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"],"mappings":";AACA,SAAS,mBAAmB,gBAAgB,iCAA8C;AAE1F,IAAM,SAAS,CAAC,UAAkC;AAChD,MAAI,SAAS,KAAK,GAAG;AACnB,QAAI;AACF,UAAI,KAAK,KAAK;AACd,aAAO;AAAA,IACT,SAAS,OAAO;AACd,aAAO;AAAA,IACT;AAAA,EACF;AACA,SAAO;AACT;AAEA,IAAM,WAAW,CAAC,UAAoC,OAAO,UAAU;AAEvE,IAAM,eAAe,CAAC,UAA4B,SAAS,KAAK,KAAK,SAAS,KAAK,SAAS;AAE5F,IAAM,mBAAmB,CAAC,UAAoC,OAAO,UAAU,YAAY,MAAM,SAAS;AAE1G,IAAM,2BAA2B,CAAC,UAA6C,UAAU,YAAY,iBAAiB,KAAK;AAEpH,IAAM,wBAAwB,CAAC,QAAwD;AAvB9F;AAwBE,YAAC,gCAAK,aAAL,mBAAe,cAAa,CAAC,GAAG,CAAC,IAAI,oBAAmB,gCAAK,aAAL,mBAAe,UAAU;AAAA;AAE7E,IAAM,qBAAqB,CAAC,eAA8E;AAC/G,MAAI,CAAC,cAAc,CAAC,MAAM,QAAQ,UAAU,KAAK,WAAW,WAAW;AAAG,WAAO,CAAC,GAAG,CAAC;AACtF,QAAM,QAAqB,CAAC,GAAG,CAAC;AAChC,aAAW,aAAa,YAAY;AAClC,UAAM,CAAC,gBAAgB,iBAAiB,IAAI,kBAAkB,SAAS;AACvE,8BAA0B,OAAO,gBAAgB,iBAAiB;AAAA,EACpE;AACA,SAAO,CAAC,GAAG,CAAC;AACd;AAEO,IAAM,oBAAoB,CAAC,cAAgD;AAChF,QAAM,QAAqB,CAAC,GAAG,CAAC;AAChC,QAAM,YAAY,uCAAW;AAC7B,QAAM,aAAa,uCAAW;AAC9B,QAAM,QAAQ,uCAAW;AAGzB,MAAI,CAAC,aAAa,OAAO,cAAc,YAAY,CAAC,iBAAiB,UAAU,KAAK,CAAC,yBAAyB,KAAK;AAAG,WAAO;AAC7H,iBAAe,KAAK;AAGpB,oBAAkB,KAAK;AACvB,MAAI,iBAAiB,SAAS;AAAG,mBAAe,KAAK;AAGrD,MAAI,cAAc,QAAW;AAC3B,sBAAkB,KAAK;AACvB,QAAI,SAAS,SAAS,KAAK,SAAS,KAAK,KAAK,SAAS;AAAW,qBAAe,KAAK;AAAA,EACxF;AAEA,SAAO;AACT;AAEA,IAAM,mBAAmB,CAAC,cAA4C;AACpE,UAAQ,uCAAW,cAAc;AAAA,IAC/B,KAAK;AAAA,IACL,KAAK,gBAAgB;AACnB,UAAI,SAAS,uCAAW,KAAK;AAAG,eAAO;AACvC;AAAA,IACF;AAAA,IACA,KAAK,oBAAoB;AACvB,UAAI,aAAa,uCAAW,KAAK;AAAG,eAAO;AAC3C;AAAA,IACF;AAAA,IACA,KAAK,QAAQ;AACX,UAAI,OAAO,uCAAW,KAAK;AAAG,eAAO;AACrC;AAAA,IACF;AAAA,IACA,KAAK;AAAA,IACL,KAAK,QAAW;AACd,UAAI,iBAAiB,uCAAW,KAAK;AAAG,eAAO;AAC/C;AAAA,IACF;AAAA,IACA,SAAS;AACP;AAAA,IACF;AAAA,EACF;AACA,SAAO;AACT;","names":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../../src/lib/rating/criteria/scoring/metadata/attributes/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAA"}
|
|
@@ -3,6 +3,10 @@ var __defProp = Object.defineProperty;
|
|
|
3
3
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
4
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
5
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
6
10
|
var __copyProps = (to, from, except, desc) => {
|
|
7
11
|
if (from && typeof from === "object" || typeof from === "function") {
|
|
8
12
|
for (let key of __getOwnPropNames(from))
|
|
@@ -11,13 +15,100 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
11
15
|
}
|
|
12
16
|
return to;
|
|
13
17
|
};
|
|
14
|
-
var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
|
|
15
18
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
|
|
20
|
+
// src/lib/rating/criteria/scoring/metadata/attributes/index.ts
|
|
16
21
|
var attributes_exports = {};
|
|
22
|
+
__export(attributes_exports, {
|
|
23
|
+
evaluateAttribute: () => evaluateAttribute,
|
|
24
|
+
evaluateAttributes: () => evaluateAttributes,
|
|
25
|
+
evaluateNftAttributes: () => evaluateNftAttributes
|
|
26
|
+
});
|
|
17
27
|
module.exports = __toCommonJS(attributes_exports);
|
|
18
|
-
|
|
28
|
+
|
|
29
|
+
// src/lib/rating/criteria/scoring/metadata/attributes/evaluateAttributes.ts
|
|
30
|
+
var import_crypto_nft_score_model = require("@xyo-network/crypto-nft-score-model");
|
|
31
|
+
var isDate = (value) => {
|
|
32
|
+
if (isNumber(value)) {
|
|
33
|
+
try {
|
|
34
|
+
new Date(value);
|
|
35
|
+
return true;
|
|
36
|
+
} catch (error) {
|
|
37
|
+
return false;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
return false;
|
|
41
|
+
};
|
|
42
|
+
var isNumber = (value) => typeof value === "number";
|
|
43
|
+
var isPercentage = (value) => isNumber(value) && value >= 0 && value <= 100;
|
|
44
|
+
var isNonEmptyString = (value) => typeof value === "string" && value.length > 0;
|
|
45
|
+
var isNonEmptyStringOrNumber = (value) => value === "number" || isNonEmptyString(value);
|
|
46
|
+
var evaluateNftAttributes = (nft) => {
|
|
47
|
+
var _a, _b;
|
|
48
|
+
return !((_a = nft == null ? void 0 : nft.metadata) == null ? void 0 : _a.attributes) ? [0, 1] : evaluateAttributes((_b = nft == null ? void 0 : nft.metadata) == null ? void 0 : _b.attributes);
|
|
49
|
+
};
|
|
50
|
+
var evaluateAttributes = (attributes) => {
|
|
51
|
+
if (!attributes || !Array.isArray(attributes) || attributes.length === 0)
|
|
52
|
+
return [0, 1];
|
|
53
|
+
const score = [0, 0];
|
|
54
|
+
for (const attribute of attributes) {
|
|
55
|
+
const [attributeTotal, attributePossible] = evaluateAttribute(attribute);
|
|
56
|
+
(0, import_crypto_nft_score_model.incrementTotalAndPossible)(score, attributeTotal, attributePossible);
|
|
57
|
+
}
|
|
58
|
+
return [1, 1];
|
|
59
|
+
};
|
|
60
|
+
var evaluateAttribute = (attribute) => {
|
|
61
|
+
const score = [0, 1];
|
|
62
|
+
const max_value = attribute == null ? void 0 : attribute.max_value;
|
|
63
|
+
const trait_type = attribute == null ? void 0 : attribute.trait_type;
|
|
64
|
+
const value = attribute == null ? void 0 : attribute.value;
|
|
65
|
+
if (!attribute || typeof attribute !== "object" || !isNonEmptyString(trait_type) || !isNonEmptyStringOrNumber(value))
|
|
66
|
+
return score;
|
|
67
|
+
(0, import_crypto_nft_score_model.incrementTotal)(score);
|
|
68
|
+
(0, import_crypto_nft_score_model.incrementPossible)(score);
|
|
69
|
+
if (validDisplayType(attribute))
|
|
70
|
+
(0, import_crypto_nft_score_model.incrementTotal)(score);
|
|
71
|
+
if (max_value !== void 0) {
|
|
72
|
+
(0, import_crypto_nft_score_model.incrementPossible)(score);
|
|
73
|
+
if (isNumber(max_value) && isNumber(value) && value <= max_value)
|
|
74
|
+
(0, import_crypto_nft_score_model.incrementTotal)(score);
|
|
75
|
+
}
|
|
76
|
+
return score;
|
|
77
|
+
};
|
|
78
|
+
var validDisplayType = (attribute) => {
|
|
79
|
+
switch (attribute == null ? void 0 : attribute.display_type) {
|
|
80
|
+
case "number":
|
|
81
|
+
case "boost_number": {
|
|
82
|
+
if (isNumber(attribute == null ? void 0 : attribute.value))
|
|
83
|
+
return true;
|
|
84
|
+
break;
|
|
85
|
+
}
|
|
86
|
+
case "boost_percentage": {
|
|
87
|
+
if (isPercentage(attribute == null ? void 0 : attribute.value))
|
|
88
|
+
return true;
|
|
89
|
+
break;
|
|
90
|
+
}
|
|
91
|
+
case "date": {
|
|
92
|
+
if (isDate(attribute == null ? void 0 : attribute.value))
|
|
93
|
+
return true;
|
|
94
|
+
break;
|
|
95
|
+
}
|
|
96
|
+
case "string":
|
|
97
|
+
case void 0: {
|
|
98
|
+
if (isNonEmptyString(attribute == null ? void 0 : attribute.value))
|
|
99
|
+
return true;
|
|
100
|
+
break;
|
|
101
|
+
}
|
|
102
|
+
default: {
|
|
103
|
+
break;
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
return false;
|
|
107
|
+
};
|
|
19
108
|
// Annotate the CommonJS export names for ESM import in node:
|
|
20
109
|
0 && (module.exports = {
|
|
21
|
-
|
|
110
|
+
evaluateAttribute,
|
|
111
|
+
evaluateAttributes,
|
|
112
|
+
evaluateNftAttributes
|
|
22
113
|
});
|
|
23
114
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../../../src/lib/rating/criteria/scoring/metadata/attributes/index.ts"],"sourcesContent":["export * from './evaluateAttributes'\n"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../../../../../../src/lib/rating/criteria/scoring/metadata/attributes/index.ts","../../../../../../../../src/lib/rating/criteria/scoring/metadata/attributes/evaluateAttributes.ts"],"sourcesContent":["export * from './evaluateAttributes'\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"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACCA,oCAA0F;AAE1F,IAAM,SAAS,CAAC,UAAkC;AAChD,MAAI,SAAS,KAAK,GAAG;AACnB,QAAI;AACF,UAAI,KAAK,KAAK;AACd,aAAO;AAAA,IACT,SAAS,OAAO;AACd,aAAO;AAAA,IACT;AAAA,EACF;AACA,SAAO;AACT;AAEA,IAAM,WAAW,CAAC,UAAoC,OAAO,UAAU;AAEvE,IAAM,eAAe,CAAC,UAA4B,SAAS,KAAK,KAAK,SAAS,KAAK,SAAS;AAE5F,IAAM,mBAAmB,CAAC,UAAoC,OAAO,UAAU,YAAY,MAAM,SAAS;AAE1G,IAAM,2BAA2B,CAAC,UAA6C,UAAU,YAAY,iBAAiB,KAAK;AAEpH,IAAM,wBAAwB,CAAC,QAAwD;AAvB9F;AAwBE,YAAC,gCAAK,aAAL,mBAAe,cAAa,CAAC,GAAG,CAAC,IAAI,oBAAmB,gCAAK,aAAL,mBAAe,UAAU;AAAA;AAE7E,IAAM,qBAAqB,CAAC,eAA8E;AAC/G,MAAI,CAAC,cAAc,CAAC,MAAM,QAAQ,UAAU,KAAK,WAAW,WAAW;AAAG,WAAO,CAAC,GAAG,CAAC;AACtF,QAAM,QAAqB,CAAC,GAAG,CAAC;AAChC,aAAW,aAAa,YAAY;AAClC,UAAM,CAAC,gBAAgB,iBAAiB,IAAI,kBAAkB,SAAS;AACvE,iEAA0B,OAAO,gBAAgB,iBAAiB;AAAA,EACpE;AACA,SAAO,CAAC,GAAG,CAAC;AACd;AAEO,IAAM,oBAAoB,CAAC,cAAgD;AAChF,QAAM,QAAqB,CAAC,GAAG,CAAC;AAChC,QAAM,YAAY,uCAAW;AAC7B,QAAM,aAAa,uCAAW;AAC9B,QAAM,QAAQ,uCAAW;AAGzB,MAAI,CAAC,aAAa,OAAO,cAAc,YAAY,CAAC,iBAAiB,UAAU,KAAK,CAAC,yBAAyB,KAAK;AAAG,WAAO;AAC7H,oDAAe,KAAK;AAGpB,uDAAkB,KAAK;AACvB,MAAI,iBAAiB,SAAS;AAAG,sDAAe,KAAK;AAGrD,MAAI,cAAc,QAAW;AAC3B,yDAAkB,KAAK;AACvB,QAAI,SAAS,SAAS,KAAK,SAAS,KAAK,KAAK,SAAS;AAAW,wDAAe,KAAK;AAAA,EACxF;AAEA,SAAO;AACT;AAEA,IAAM,mBAAmB,CAAC,cAA4C;AACpE,UAAQ,uCAAW,cAAc;AAAA,IAC/B,KAAK;AAAA,IACL,KAAK,gBAAgB;AACnB,UAAI,SAAS,uCAAW,KAAK;AAAG,eAAO;AACvC;AAAA,IACF;AAAA,IACA,KAAK,oBAAoB;AACvB,UAAI,aAAa,uCAAW,KAAK;AAAG,eAAO;AAC3C;AAAA,IACF;AAAA,IACA,KAAK,QAAQ;AACX,UAAI,OAAO,uCAAW,KAAK;AAAG,eAAO;AACrC;AAAA,IACF;AAAA,IACA,KAAK;AAAA,IACL,KAAK,QAAW;AACd,UAAI,iBAAiB,uCAAW,KAAK;AAAG,eAAO;AAC/C;AAAA,IACF;AAAA,IACA,SAAS;AACP;AAAA,IACF;AAAA,EACF;AACA,SAAO;AACT;","names":[]}
|
|
@@ -1,2 +1,85 @@
|
|
|
1
|
-
|
|
1
|
+
// src/lib/rating/criteria/scoring/metadata/attributes/evaluateAttributes.ts
|
|
2
|
+
import { incrementPossible, incrementTotal, incrementTotalAndPossible } from "@xyo-network/crypto-nft-score-model";
|
|
3
|
+
var isDate = (value) => {
|
|
4
|
+
if (isNumber(value)) {
|
|
5
|
+
try {
|
|
6
|
+
new Date(value);
|
|
7
|
+
return true;
|
|
8
|
+
} catch (error) {
|
|
9
|
+
return false;
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
return false;
|
|
13
|
+
};
|
|
14
|
+
var isNumber = (value) => typeof value === "number";
|
|
15
|
+
var isPercentage = (value) => isNumber(value) && value >= 0 && value <= 100;
|
|
16
|
+
var isNonEmptyString = (value) => typeof value === "string" && value.length > 0;
|
|
17
|
+
var isNonEmptyStringOrNumber = (value) => value === "number" || isNonEmptyString(value);
|
|
18
|
+
var evaluateNftAttributes = (nft) => {
|
|
19
|
+
var _a, _b;
|
|
20
|
+
return !((_a = nft == null ? void 0 : nft.metadata) == null ? void 0 : _a.attributes) ? [0, 1] : evaluateAttributes((_b = nft == null ? void 0 : nft.metadata) == null ? void 0 : _b.attributes);
|
|
21
|
+
};
|
|
22
|
+
var evaluateAttributes = (attributes) => {
|
|
23
|
+
if (!attributes || !Array.isArray(attributes) || attributes.length === 0)
|
|
24
|
+
return [0, 1];
|
|
25
|
+
const score = [0, 0];
|
|
26
|
+
for (const attribute of attributes) {
|
|
27
|
+
const [attributeTotal, attributePossible] = evaluateAttribute(attribute);
|
|
28
|
+
incrementTotalAndPossible(score, attributeTotal, attributePossible);
|
|
29
|
+
}
|
|
30
|
+
return [1, 1];
|
|
31
|
+
};
|
|
32
|
+
var evaluateAttribute = (attribute) => {
|
|
33
|
+
const score = [0, 1];
|
|
34
|
+
const max_value = attribute == null ? void 0 : attribute.max_value;
|
|
35
|
+
const trait_type = attribute == null ? void 0 : attribute.trait_type;
|
|
36
|
+
const value = attribute == null ? void 0 : attribute.value;
|
|
37
|
+
if (!attribute || typeof attribute !== "object" || !isNonEmptyString(trait_type) || !isNonEmptyStringOrNumber(value))
|
|
38
|
+
return score;
|
|
39
|
+
incrementTotal(score);
|
|
40
|
+
incrementPossible(score);
|
|
41
|
+
if (validDisplayType(attribute))
|
|
42
|
+
incrementTotal(score);
|
|
43
|
+
if (max_value !== void 0) {
|
|
44
|
+
incrementPossible(score);
|
|
45
|
+
if (isNumber(max_value) && isNumber(value) && value <= max_value)
|
|
46
|
+
incrementTotal(score);
|
|
47
|
+
}
|
|
48
|
+
return score;
|
|
49
|
+
};
|
|
50
|
+
var validDisplayType = (attribute) => {
|
|
51
|
+
switch (attribute == null ? void 0 : attribute.display_type) {
|
|
52
|
+
case "number":
|
|
53
|
+
case "boost_number": {
|
|
54
|
+
if (isNumber(attribute == null ? void 0 : attribute.value))
|
|
55
|
+
return true;
|
|
56
|
+
break;
|
|
57
|
+
}
|
|
58
|
+
case "boost_percentage": {
|
|
59
|
+
if (isPercentage(attribute == null ? void 0 : attribute.value))
|
|
60
|
+
return true;
|
|
61
|
+
break;
|
|
62
|
+
}
|
|
63
|
+
case "date": {
|
|
64
|
+
if (isDate(attribute == null ? void 0 : attribute.value))
|
|
65
|
+
return true;
|
|
66
|
+
break;
|
|
67
|
+
}
|
|
68
|
+
case "string":
|
|
69
|
+
case void 0: {
|
|
70
|
+
if (isNonEmptyString(attribute == null ? void 0 : attribute.value))
|
|
71
|
+
return true;
|
|
72
|
+
break;
|
|
73
|
+
}
|
|
74
|
+
default: {
|
|
75
|
+
break;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
return false;
|
|
79
|
+
};
|
|
80
|
+
export {
|
|
81
|
+
evaluateAttribute,
|
|
82
|
+
evaluateAttributes,
|
|
83
|
+
evaluateNftAttributes
|
|
84
|
+
};
|
|
2
85
|
//# sourceMappingURL=index.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../../../src/lib/rating/criteria/scoring/metadata/attributes/
|
|
1
|
+
{"version":3,"sources":["../../../../../../../../src/lib/rating/criteria/scoring/metadata/attributes/evaluateAttributes.ts"],"sourcesContent":["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"],"mappings":";AACA,SAAS,mBAAmB,gBAAgB,iCAA8C;AAE1F,IAAM,SAAS,CAAC,UAAkC;AAChD,MAAI,SAAS,KAAK,GAAG;AACnB,QAAI;AACF,UAAI,KAAK,KAAK;AACd,aAAO;AAAA,IACT,SAAS,OAAO;AACd,aAAO;AAAA,IACT;AAAA,EACF;AACA,SAAO;AACT;AAEA,IAAM,WAAW,CAAC,UAAoC,OAAO,UAAU;AAEvE,IAAM,eAAe,CAAC,UAA4B,SAAS,KAAK,KAAK,SAAS,KAAK,SAAS;AAE5F,IAAM,mBAAmB,CAAC,UAAoC,OAAO,UAAU,YAAY,MAAM,SAAS;AAE1G,IAAM,2BAA2B,CAAC,UAA6C,UAAU,YAAY,iBAAiB,KAAK;AAEpH,IAAM,wBAAwB,CAAC,QAAwD;AAvB9F;AAwBE,YAAC,gCAAK,aAAL,mBAAe,cAAa,CAAC,GAAG,CAAC,IAAI,oBAAmB,gCAAK,aAAL,mBAAe,UAAU;AAAA;AAE7E,IAAM,qBAAqB,CAAC,eAA8E;AAC/G,MAAI,CAAC,cAAc,CAAC,MAAM,QAAQ,UAAU,KAAK,WAAW,WAAW;AAAG,WAAO,CAAC,GAAG,CAAC;AACtF,QAAM,QAAqB,CAAC,GAAG,CAAC;AAChC,aAAW,aAAa,YAAY;AAClC,UAAM,CAAC,gBAAgB,iBAAiB,IAAI,kBAAkB,SAAS;AACvE,8BAA0B,OAAO,gBAAgB,iBAAiB;AAAA,EACpE;AACA,SAAO,CAAC,GAAG,CAAC;AACd;AAEO,IAAM,oBAAoB,CAAC,cAAgD;AAChF,QAAM,QAAqB,CAAC,GAAG,CAAC;AAChC,QAAM,YAAY,uCAAW;AAC7B,QAAM,aAAa,uCAAW;AAC9B,QAAM,QAAQ,uCAAW;AAGzB,MAAI,CAAC,aAAa,OAAO,cAAc,YAAY,CAAC,iBAAiB,UAAU,KAAK,CAAC,yBAAyB,KAAK;AAAG,WAAO;AAC7H,iBAAe,KAAK;AAGpB,oBAAkB,KAAK;AACvB,MAAI,iBAAiB,SAAS;AAAG,mBAAe,KAAK;AAGrD,MAAI,cAAc,QAAW;AAC3B,sBAAkB,KAAK;AACvB,QAAI,SAAS,SAAS,KAAK,SAAS,KAAK,KAAK,SAAS;AAAW,qBAAe,KAAK;AAAA,EACxF;AAEA,SAAO;AACT;AAEA,IAAM,mBAAmB,CAAC,cAA4C;AACpE,UAAQ,uCAAW,cAAc;AAAA,IAC/B,KAAK;AAAA,IACL,KAAK,gBAAgB;AACnB,UAAI,SAAS,uCAAW,KAAK;AAAG,eAAO;AACvC;AAAA,IACF;AAAA,IACA,KAAK,oBAAoB;AACvB,UAAI,aAAa,uCAAW,KAAK;AAAG,eAAO;AAC3C;AAAA,IACF;AAAA,IACA,KAAK,QAAQ;AACX,UAAI,OAAO,uCAAW,KAAK;AAAG,eAAO;AACrC;AAAA,IACF;AAAA,IACA,KAAK;AAAA,IACL,KAAK,QAAW;AACd,UAAI,iBAAiB,uCAAW,KAAK;AAAG,eAAO;AAC/C;AAAA,IACF;AAAA,IACA,SAAS;AACP;AAAA,IACF;AAAA,EACF;AACA,SAAO;AACT;","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 scoreNftBackgroundColor: (nft: NftInfoFields | OpenSeaNftInfoFields) => ScaledScore;
|
|
4
|
+
export declare const scoreBackgroundColor: (background_color: unknown) => ScaledScore;
|
|
5
|
+
//# sourceMappingURL=backgroundColor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"backgroundColor.d.ts","sourceRoot":"","sources":["../../../../../../../src/lib/rating/criteria/scoring/metadata/backgroundColor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,wCAAwC,CAAA;AAC5F,OAAO,EAAsE,WAAW,EAAE,MAAM,qCAAqC,CAAA;AAIrI,eAAO,MAAM,uBAAuB,QAAS,aAAa,GAAG,oBAAoB,gBAEhF,CAAA;AAED,eAAO,MAAM,oBAAoB,qBAAsB,OAAO,gBAQ7D,CAAA"}
|