@xyo-network/crypto-nft-diviner-score-plugin 2.75.15 → 2.75.17

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.
Files changed (226) hide show
  1. package/dist/docs.json +14 -14
  2. package/package.json +16 -16
  3. package/dist/browser/Diviner.cjs +0 -407
  4. package/dist/browser/Diviner.cjs.map +0 -1
  5. package/dist/browser/Diviner.js +0 -390
  6. package/dist/browser/Diviner.js.map +0 -1
  7. package/dist/browser/Plugin.cjs +0 -421
  8. package/dist/browser/Plugin.cjs.map +0 -1
  9. package/dist/browser/Plugin.js +0 -404
  10. package/dist/browser/Plugin.js.map +0 -1
  11. package/dist/browser/lib/index.cjs +0 -378
  12. package/dist/browser/lib/index.cjs.map +0 -1
  13. package/dist/browser/lib/index.js +0 -355
  14. package/dist/browser/lib/index.js.map +0 -1
  15. package/dist/browser/lib/rating/analyzeNft.cjs +0 -378
  16. package/dist/browser/lib/rating/analyzeNft.cjs.map +0 -1
  17. package/dist/browser/lib/rating/analyzeNft.js +0 -355
  18. package/dist/browser/lib/rating/analyzeNft.js.map +0 -1
  19. package/dist/browser/lib/rating/criteria/index.cjs +0 -364
  20. package/dist/browser/lib/rating/criteria/index.cjs.map +0 -1
  21. package/dist/browser/lib/rating/criteria/index.js +0 -341
  22. package/dist/browser/lib/rating/criteria/index.js.map +0 -1
  23. package/dist/browser/lib/rating/criteria/scoring/contract.cjs +0 -37
  24. package/dist/browser/lib/rating/criteria/scoring/contract.cjs.map +0 -1
  25. package/dist/browser/lib/rating/criteria/scoring/contract.js +0 -16
  26. package/dist/browser/lib/rating/criteria/scoring/contract.js.map +0 -1
  27. package/dist/browser/lib/rating/criteria/scoring/index.cjs +0 -363
  28. package/dist/browser/lib/rating/criteria/scoring/index.cjs.map +0 -1
  29. package/dist/browser/lib/rating/criteria/scoring/index.js +0 -340
  30. package/dist/browser/lib/rating/criteria/scoring/index.js.map +0 -1
  31. package/dist/browser/lib/rating/criteria/scoring/lib/index.cjs +0 -43
  32. package/dist/browser/lib/rating/criteria/scoring/lib/index.cjs.map +0 -1
  33. package/dist/browser/lib/rating/criteria/scoring/lib/index.js +0 -20
  34. package/dist/browser/lib/rating/criteria/scoring/lib/index.js.map +0 -1
  35. package/dist/browser/lib/rating/criteria/scoring/lib/isValidPositiveBigNumber.cjs +0 -42
  36. package/dist/browser/lib/rating/criteria/scoring/lib/isValidPositiveBigNumber.cjs.map +0 -1
  37. package/dist/browser/lib/rating/criteria/scoring/lib/isValidPositiveBigNumber.js +0 -19
  38. package/dist/browser/lib/rating/criteria/scoring/lib/isValidPositiveBigNumber.js.map +0 -1
  39. package/dist/browser/lib/rating/criteria/scoring/lib/toBigNumber.cjs +0 -34
  40. package/dist/browser/lib/rating/criteria/scoring/lib/toBigNumber.cjs.map +0 -1
  41. package/dist/browser/lib/rating/criteria/scoring/lib/toBigNumber.js +0 -13
  42. package/dist/browser/lib/rating/criteria/scoring/lib/toBigNumber.js.map +0 -1
  43. package/dist/browser/lib/rating/criteria/scoring/metadata/animationUrl.cjs +0 -67
  44. package/dist/browser/lib/rating/criteria/scoring/metadata/animationUrl.cjs.map +0 -1
  45. package/dist/browser/lib/rating/criteria/scoring/metadata/animationUrl.js +0 -46
  46. package/dist/browser/lib/rating/criteria/scoring/metadata/animationUrl.js.map +0 -1
  47. package/dist/browser/lib/rating/criteria/scoring/metadata/attributes/evaluateAttributes.cjs +0 -103
  48. package/dist/browser/lib/rating/criteria/scoring/metadata/attributes/evaluateAttributes.cjs.map +0 -1
  49. package/dist/browser/lib/rating/criteria/scoring/metadata/attributes/evaluateAttributes.js +0 -82
  50. package/dist/browser/lib/rating/criteria/scoring/metadata/attributes/evaluateAttributes.js.map +0 -1
  51. package/dist/browser/lib/rating/criteria/scoring/metadata/attributes/index.cjs +0 -105
  52. package/dist/browser/lib/rating/criteria/scoring/metadata/attributes/index.cjs.map +0 -1
  53. package/dist/browser/lib/rating/criteria/scoring/metadata/attributes/index.js +0 -82
  54. package/dist/browser/lib/rating/criteria/scoring/metadata/attributes/index.js.map +0 -1
  55. package/dist/browser/lib/rating/criteria/scoring/metadata/backgroundColor.cjs +0 -44
  56. package/dist/browser/lib/rating/criteria/scoring/metadata/backgroundColor.cjs.map +0 -1
  57. package/dist/browser/lib/rating/criteria/scoring/metadata/backgroundColor.js +0 -23
  58. package/dist/browser/lib/rating/criteria/scoring/metadata/backgroundColor.js.map +0 -1
  59. package/dist/browser/lib/rating/criteria/scoring/metadata/description.cjs +0 -37
  60. package/dist/browser/lib/rating/criteria/scoring/metadata/description.cjs.map +0 -1
  61. package/dist/browser/lib/rating/criteria/scoring/metadata/description.js +0 -16
  62. package/dist/browser/lib/rating/criteria/scoring/metadata/description.js.map +0 -1
  63. package/dist/browser/lib/rating/criteria/scoring/metadata/externalUrl.cjs +0 -58
  64. package/dist/browser/lib/rating/criteria/scoring/metadata/externalUrl.cjs.map +0 -1
  65. package/dist/browser/lib/rating/criteria/scoring/metadata/externalUrl.js +0 -37
  66. package/dist/browser/lib/rating/criteria/scoring/metadata/externalUrl.js.map +0 -1
  67. package/dist/browser/lib/rating/criteria/scoring/metadata/image.cjs +0 -67
  68. package/dist/browser/lib/rating/criteria/scoring/metadata/image.cjs.map +0 -1
  69. package/dist/browser/lib/rating/criteria/scoring/metadata/image.js +0 -46
  70. package/dist/browser/lib/rating/criteria/scoring/metadata/image.js.map +0 -1
  71. package/dist/browser/lib/rating/criteria/scoring/metadata/imageData.cjs +0 -50
  72. package/dist/browser/lib/rating/criteria/scoring/metadata/imageData.cjs.map +0 -1
  73. package/dist/browser/lib/rating/criteria/scoring/metadata/imageData.js +0 -29
  74. package/dist/browser/lib/rating/criteria/scoring/metadata/imageData.js.map +0 -1
  75. package/dist/browser/lib/rating/criteria/scoring/metadata/index.cjs +0 -287
  76. package/dist/browser/lib/rating/criteria/scoring/metadata/index.cjs.map +0 -1
  77. package/dist/browser/lib/rating/criteria/scoring/metadata/index.js +0 -264
  78. package/dist/browser/lib/rating/criteria/scoring/metadata/index.js.map +0 -1
  79. package/dist/browser/lib/rating/criteria/scoring/metadata/lib/index.cjs +0 -48
  80. package/dist/browser/lib/rating/criteria/scoring/metadata/lib/index.cjs.map +0 -1
  81. package/dist/browser/lib/rating/criteria/scoring/metadata/lib/index.js +0 -25
  82. package/dist/browser/lib/rating/criteria/scoring/metadata/lib/index.js.map +0 -1
  83. package/dist/browser/lib/rating/criteria/scoring/metadata/lib/urlHelpers.cjs +0 -46
  84. package/dist/browser/lib/rating/criteria/scoring/metadata/lib/urlHelpers.cjs.map +0 -1
  85. package/dist/browser/lib/rating/criteria/scoring/metadata/lib/urlHelpers.js +0 -25
  86. package/dist/browser/lib/rating/criteria/scoring/metadata/lib/urlHelpers.js.map +0 -1
  87. package/dist/browser/lib/rating/criteria/scoring/metadata/name.cjs +0 -37
  88. package/dist/browser/lib/rating/criteria/scoring/metadata/name.cjs.map +0 -1
  89. package/dist/browser/lib/rating/criteria/scoring/metadata/name.js +0 -16
  90. package/dist/browser/lib/rating/criteria/scoring/metadata/name.js.map +0 -1
  91. package/dist/browser/lib/rating/criteria/scoring/metadata/youtubeUrl.cjs +0 -60
  92. package/dist/browser/lib/rating/criteria/scoring/metadata/youtubeUrl.cjs.map +0 -1
  93. package/dist/browser/lib/rating/criteria/scoring/metadata/youtubeUrl.js +0 -39
  94. package/dist/browser/lib/rating/criteria/scoring/metadata/youtubeUrl.js.map +0 -1
  95. package/dist/browser/lib/rating/criteria/scoring/supply.cjs +0 -56
  96. package/dist/browser/lib/rating/criteria/scoring/supply.cjs.map +0 -1
  97. package/dist/browser/lib/rating/criteria/scoring/supply.js +0 -35
  98. package/dist/browser/lib/rating/criteria/scoring/supply.js.map +0 -1
  99. package/dist/browser/lib/rating/criteria/scoring/tokenId.cjs +0 -56
  100. package/dist/browser/lib/rating/criteria/scoring/tokenId.cjs.map +0 -1
  101. package/dist/browser/lib/rating/criteria/scoring/tokenId.js +0 -35
  102. package/dist/browser/lib/rating/criteria/scoring/tokenId.js.map +0 -1
  103. package/dist/browser/lib/rating/criteria/scoring/type.cjs +0 -37
  104. package/dist/browser/lib/rating/criteria/scoring/type.cjs.map +0 -1
  105. package/dist/browser/lib/rating/criteria/scoring/type.js +0 -16
  106. package/dist/browser/lib/rating/criteria/scoring/type.js.map +0 -1
  107. package/dist/browser/lib/rating/criteria/scoringCriteria.cjs +0 -364
  108. package/dist/browser/lib/rating/criteria/scoringCriteria.cjs.map +0 -1
  109. package/dist/browser/lib/rating/criteria/scoringCriteria.js +0 -341
  110. package/dist/browser/lib/rating/criteria/scoringCriteria.js.map +0 -1
  111. package/dist/browser/lib/rating/index.cjs +0 -378
  112. package/dist/browser/lib/rating/index.cjs.map +0 -1
  113. package/dist/browser/lib/rating/index.js +0 -355
  114. package/dist/browser/lib/rating/index.js.map +0 -1
  115. package/dist/node/Diviner.js +0 -429
  116. package/dist/node/Diviner.js.map +0 -1
  117. package/dist/node/Diviner.mjs +0 -407
  118. package/dist/node/Diviner.mjs.map +0 -1
  119. package/dist/node/Plugin.js +0 -442
  120. package/dist/node/Plugin.js.map +0 -1
  121. package/dist/node/Plugin.mjs +0 -421
  122. package/dist/node/Plugin.mjs.map +0 -1
  123. package/dist/node/lib/index.js +0 -399
  124. package/dist/node/lib/index.js.map +0 -1
  125. package/dist/node/lib/index.mjs +0 -372
  126. package/dist/node/lib/index.mjs.map +0 -1
  127. package/dist/node/lib/rating/analyzeNft.js +0 -399
  128. package/dist/node/lib/rating/analyzeNft.js.map +0 -1
  129. package/dist/node/lib/rating/analyzeNft.mjs +0 -372
  130. package/dist/node/lib/rating/analyzeNft.mjs.map +0 -1
  131. package/dist/node/lib/rating/criteria/index.js +0 -385
  132. package/dist/node/lib/rating/criteria/index.js.map +0 -1
  133. package/dist/node/lib/rating/criteria/index.mjs +0 -358
  134. package/dist/node/lib/rating/criteria/index.mjs.map +0 -1
  135. package/dist/node/lib/rating/criteria/scoring/contract.js +0 -41
  136. package/dist/node/lib/rating/criteria/scoring/contract.js.map +0 -1
  137. package/dist/node/lib/rating/criteria/scoring/contract.mjs +0 -16
  138. package/dist/node/lib/rating/criteria/scoring/contract.mjs.map +0 -1
  139. package/dist/node/lib/rating/criteria/scoring/index.js +0 -406
  140. package/dist/node/lib/rating/criteria/scoring/index.js.map +0 -1
  141. package/dist/node/lib/rating/criteria/scoring/index.mjs +0 -357
  142. package/dist/node/lib/rating/criteria/scoring/index.mjs.map +0 -1
  143. package/dist/node/lib/rating/criteria/scoring/lib/index.js +0 -48
  144. package/dist/node/lib/rating/criteria/scoring/lib/index.js.map +0 -1
  145. package/dist/node/lib/rating/criteria/scoring/lib/index.mjs +0 -20
  146. package/dist/node/lib/rating/criteria/scoring/lib/index.mjs.map +0 -1
  147. package/dist/node/lib/rating/criteria/scoring/lib/isValidPositiveBigNumber.js +0 -46
  148. package/dist/node/lib/rating/criteria/scoring/lib/isValidPositiveBigNumber.js.map +0 -1
  149. package/dist/node/lib/rating/criteria/scoring/lib/isValidPositiveBigNumber.mjs +0 -19
  150. package/dist/node/lib/rating/criteria/scoring/lib/isValidPositiveBigNumber.mjs.map +0 -1
  151. package/dist/node/lib/rating/criteria/scoring/lib/toBigNumber.js +0 -38
  152. package/dist/node/lib/rating/criteria/scoring/lib/toBigNumber.js.map +0 -1
  153. package/dist/node/lib/rating/criteria/scoring/lib/toBigNumber.mjs +0 -13
  154. package/dist/node/lib/rating/criteria/scoring/lib/toBigNumber.mjs.map +0 -1
  155. package/dist/node/lib/rating/criteria/scoring/metadata/animationUrl.js +0 -79
  156. package/dist/node/lib/rating/criteria/scoring/metadata/animationUrl.js.map +0 -1
  157. package/dist/node/lib/rating/criteria/scoring/metadata/animationUrl.mjs +0 -53
  158. package/dist/node/lib/rating/criteria/scoring/metadata/animationUrl.mjs.map +0 -1
  159. package/dist/node/lib/rating/criteria/scoring/metadata/attributes/evaluateAttributes.js +0 -112
  160. package/dist/node/lib/rating/criteria/scoring/metadata/attributes/evaluateAttributes.js.map +0 -1
  161. package/dist/node/lib/rating/criteria/scoring/metadata/attributes/evaluateAttributes.mjs +0 -85
  162. package/dist/node/lib/rating/criteria/scoring/metadata/attributes/evaluateAttributes.mjs.map +0 -1
  163. package/dist/node/lib/rating/criteria/scoring/metadata/attributes/index.js +0 -114
  164. package/dist/node/lib/rating/criteria/scoring/metadata/attributes/index.js.map +0 -1
  165. package/dist/node/lib/rating/criteria/scoring/metadata/attributes/index.mjs +0 -85
  166. package/dist/node/lib/rating/criteria/scoring/metadata/attributes/index.mjs.map +0 -1
  167. package/dist/node/lib/rating/criteria/scoring/metadata/backgroundColor.js +0 -50
  168. package/dist/node/lib/rating/criteria/scoring/metadata/backgroundColor.js.map +0 -1
  169. package/dist/node/lib/rating/criteria/scoring/metadata/backgroundColor.mjs +0 -24
  170. package/dist/node/lib/rating/criteria/scoring/metadata/backgroundColor.mjs.map +0 -1
  171. package/dist/node/lib/rating/criteria/scoring/metadata/description.js +0 -43
  172. package/dist/node/lib/rating/criteria/scoring/metadata/description.js.map +0 -1
  173. package/dist/node/lib/rating/criteria/scoring/metadata/description.mjs +0 -17
  174. package/dist/node/lib/rating/criteria/scoring/metadata/description.mjs.map +0 -1
  175. package/dist/node/lib/rating/criteria/scoring/metadata/externalUrl.js +0 -70
  176. package/dist/node/lib/rating/criteria/scoring/metadata/externalUrl.js.map +0 -1
  177. package/dist/node/lib/rating/criteria/scoring/metadata/externalUrl.mjs +0 -44
  178. package/dist/node/lib/rating/criteria/scoring/metadata/externalUrl.mjs.map +0 -1
  179. package/dist/node/lib/rating/criteria/scoring/metadata/image.js +0 -79
  180. package/dist/node/lib/rating/criteria/scoring/metadata/image.js.map +0 -1
  181. package/dist/node/lib/rating/criteria/scoring/metadata/image.mjs +0 -53
  182. package/dist/node/lib/rating/criteria/scoring/metadata/image.mjs.map +0 -1
  183. package/dist/node/lib/rating/criteria/scoring/metadata/imageData.js +0 -56
  184. package/dist/node/lib/rating/criteria/scoring/metadata/imageData.js.map +0 -1
  185. package/dist/node/lib/rating/criteria/scoring/metadata/imageData.mjs +0 -30
  186. package/dist/node/lib/rating/criteria/scoring/metadata/imageData.mjs.map +0 -1
  187. package/dist/node/lib/rating/criteria/scoring/metadata/index.js +0 -326
  188. package/dist/node/lib/rating/criteria/scoring/metadata/index.js.map +0 -1
  189. package/dist/node/lib/rating/criteria/scoring/metadata/index.mjs +0 -281
  190. package/dist/node/lib/rating/criteria/scoring/metadata/index.mjs.map +0 -1
  191. package/dist/node/lib/rating/criteria/scoring/metadata/lib/index.js +0 -63
  192. package/dist/node/lib/rating/criteria/scoring/metadata/lib/index.js.map +0 -1
  193. package/dist/node/lib/rating/criteria/scoring/metadata/lib/index.mjs +0 -31
  194. package/dist/node/lib/rating/criteria/scoring/metadata/lib/index.mjs.map +0 -1
  195. package/dist/node/lib/rating/criteria/scoring/metadata/lib/urlHelpers.js +0 -61
  196. package/dist/node/lib/rating/criteria/scoring/metadata/lib/urlHelpers.js.map +0 -1
  197. package/dist/node/lib/rating/criteria/scoring/metadata/lib/urlHelpers.mjs +0 -31
  198. package/dist/node/lib/rating/criteria/scoring/metadata/lib/urlHelpers.mjs.map +0 -1
  199. package/dist/node/lib/rating/criteria/scoring/metadata/name.js +0 -43
  200. package/dist/node/lib/rating/criteria/scoring/metadata/name.js.map +0 -1
  201. package/dist/node/lib/rating/criteria/scoring/metadata/name.mjs +0 -17
  202. package/dist/node/lib/rating/criteria/scoring/metadata/name.mjs.map +0 -1
  203. package/dist/node/lib/rating/criteria/scoring/metadata/youtubeUrl.js +0 -72
  204. package/dist/node/lib/rating/criteria/scoring/metadata/youtubeUrl.js.map +0 -1
  205. package/dist/node/lib/rating/criteria/scoring/metadata/youtubeUrl.mjs +0 -46
  206. package/dist/node/lib/rating/criteria/scoring/metadata/youtubeUrl.mjs.map +0 -1
  207. package/dist/node/lib/rating/criteria/scoring/supply.js +0 -60
  208. package/dist/node/lib/rating/criteria/scoring/supply.js.map +0 -1
  209. package/dist/node/lib/rating/criteria/scoring/supply.mjs +0 -35
  210. package/dist/node/lib/rating/criteria/scoring/supply.mjs.map +0 -1
  211. package/dist/node/lib/rating/criteria/scoring/tokenId.js +0 -60
  212. package/dist/node/lib/rating/criteria/scoring/tokenId.js.map +0 -1
  213. package/dist/node/lib/rating/criteria/scoring/tokenId.mjs +0 -35
  214. package/dist/node/lib/rating/criteria/scoring/tokenId.mjs.map +0 -1
  215. package/dist/node/lib/rating/criteria/scoring/type.js +0 -41
  216. package/dist/node/lib/rating/criteria/scoring/type.js.map +0 -1
  217. package/dist/node/lib/rating/criteria/scoring/type.mjs +0 -16
  218. package/dist/node/lib/rating/criteria/scoring/type.mjs.map +0 -1
  219. package/dist/node/lib/rating/criteria/scoringCriteria.js +0 -385
  220. package/dist/node/lib/rating/criteria/scoringCriteria.js.map +0 -1
  221. package/dist/node/lib/rating/criteria/scoringCriteria.mjs +0 -358
  222. package/dist/node/lib/rating/criteria/scoringCriteria.mjs.map +0 -1
  223. package/dist/node/lib/rating/index.js +0 -399
  224. package/dist/node/lib/rating/index.js.map +0 -1
  225. package/dist/node/lib/rating/index.mjs +0 -372
  226. package/dist/node/lib/rating/index.mjs.map +0 -1
@@ -1,24 +0,0 @@
1
- // src/lib/rating/criteria/scoring/metadata/backgroundColor.ts
2
- import { incrementPossible, incrementTotal, incrementTotalAndPossible, PASS } from "@xyo-network/crypto-nft-score-model";
3
- var isHexColor = /^[0-9A-F]{6}$/i;
4
- var scoreNftBackgroundColor = (nft) => {
5
- var _a;
6
- return scoreBackgroundColor((_a = nft.metadata) == null ? void 0 : _a.background_color);
7
- };
8
- var scoreBackgroundColor = (background_color) => {
9
- const score = [0, 0];
10
- if (background_color === void 0 || background_color === null)
11
- return PASS;
12
- incrementPossible(score);
13
- if (typeof background_color !== "string")
14
- return score;
15
- incrementTotalAndPossible(score);
16
- if (!background_color.toUpperCase().match(isHexColor))
17
- return score;
18
- return incrementTotal(score);
19
- };
20
- export {
21
- scoreBackgroundColor,
22
- scoreNftBackgroundColor
23
- };
24
- //# sourceMappingURL=backgroundColor.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../../../src/lib/rating/criteria/scoring/metadata/backgroundColor.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\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"],"mappings":";AACA,SAAS,mBAAmB,gBAAgB,2BAA2B,YAAyB;AAEhG,IAAM,aAAa;AAEZ,IAAM,0BAA0B,CAAC,QAA2D;AALnG;AAME,SAAO,sBAAqB,SAAI,aAAJ,mBAAc,gBAAgB;AAC5D;AAEO,IAAM,uBAAuB,CAAC,qBAA2C;AAC9E,QAAM,QAAqB,CAAC,GAAG,CAAC;AAChC,MAAI,qBAAqB,UAAa,qBAAqB;AAAM,WAAO;AACxE,oBAAkB,KAAK;AACvB,MAAI,OAAO,qBAAqB;AAAU,WAAO;AACjD,4BAA0B,KAAK;AAC/B,MAAI,CAAC,iBAAiB,YAAY,EAAE,MAAM,UAAU;AAAG,WAAO;AAC9D,SAAO,eAAe,KAAK;AAC7B;","names":[]}
@@ -1,43 +0,0 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
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
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
-
20
- // src/lib/rating/criteria/scoring/metadata/description.ts
21
- var description_exports = {};
22
- __export(description_exports, {
23
- scoreDescription: () => scoreDescription,
24
- scoreNftDescription: () => scoreNftDescription
25
- });
26
- module.exports = __toCommonJS(description_exports);
27
- var import_crypto_nft_score_model = require("@xyo-network/crypto-nft-score-model");
28
- var scoreNftDescription = (nft) => {
29
- var _a;
30
- return scoreDescription((_a = nft.metadata) == null ? void 0 : _a.description);
31
- };
32
- var scoreDescription = (description) => {
33
- const score = [0, 1];
34
- if (!description || typeof description !== "string")
35
- return score;
36
- return (0, import_crypto_nft_score_model.incrementTotal)(score);
37
- };
38
- // Annotate the CommonJS export names for ESM import in node:
39
- 0 && (module.exports = {
40
- scoreDescription,
41
- scoreNftDescription
42
- });
43
- //# sourceMappingURL=description.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../../../src/lib/rating/criteria/scoring/metadata/description.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 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"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,oCAA4C;AAErC,IAAM,sBAAsB,CAAC,QAA2D;AAH/F;AAIE,SAAO,kBAAiB,SAAI,aAAJ,mBAAc,WAAW;AACnD;AAEO,IAAM,mBAAmB,CAAC,gBAAsC;AACrE,QAAM,QAAqB,CAAC,GAAG,CAAC;AAChC,MAAI,CAAC,eAAe,OAAO,gBAAgB;AAAU,WAAO;AAC5D,aAAO,8CAAe,KAAK;AAC7B;","names":[]}
@@ -1,17 +0,0 @@
1
- // src/lib/rating/criteria/scoring/metadata/description.ts
2
- import { incrementTotal } from "@xyo-network/crypto-nft-score-model";
3
- var scoreNftDescription = (nft) => {
4
- var _a;
5
- return scoreDescription((_a = nft.metadata) == null ? void 0 : _a.description);
6
- };
7
- var scoreDescription = (description) => {
8
- const score = [0, 1];
9
- if (!description || typeof description !== "string")
10
- return score;
11
- return incrementTotal(score);
12
- };
13
- export {
14
- scoreDescription,
15
- scoreNftDescription
16
- };
17
- //# sourceMappingURL=description.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../../../src/lib/rating/criteria/scoring/metadata/description.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 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"],"mappings":";AACA,SAAS,sBAAmC;AAErC,IAAM,sBAAsB,CAAC,QAA2D;AAH/F;AAIE,SAAO,kBAAiB,SAAI,aAAJ,mBAAc,WAAW;AACnD;AAEO,IAAM,mBAAmB,CAAC,gBAAsC;AACrE,QAAM,QAAqB,CAAC,GAAG,CAAC;AAChC,MAAI,CAAC,eAAe,OAAO,gBAAgB;AAAU,WAAO;AAC5D,SAAO,eAAe,KAAK;AAC7B;","names":[]}
@@ -1,70 +0,0 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
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
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
-
20
- // src/lib/rating/criteria/scoring/metadata/externalUrl.ts
21
- var externalUrl_exports = {};
22
- __export(externalUrl_exports, {
23
- scoreExternalUrl: () => scoreExternalUrl,
24
- scoreNftExternalUrl: () => scoreNftExternalUrl
25
- });
26
- module.exports = __toCommonJS(externalUrl_exports);
27
- var import_crypto_nft_score_model = require("@xyo-network/crypto-nft-score-model");
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/externalUrl.ts
52
- var scoreNftExternalUrl = (nft) => {
53
- var _a;
54
- return scoreExternalUrl((_a = nft == null ? void 0 : nft.metadata) == null ? void 0 : _a.external_url);
55
- };
56
- var scoreExternalUrl = (external_url) => {
57
- const score = [0, 2];
58
- if (external_url === void 0 || external_url === null || typeof external_url !== "string" || !isValidUrl(external_url))
59
- return score;
60
- (0, import_crypto_nft_score_model.incrementTotal)(score);
61
- if (!isSecure(external_url))
62
- return score;
63
- return (0, import_crypto_nft_score_model.incrementTotal)(score);
64
- };
65
- // Annotate the CommonJS export names for ESM import in node:
66
- 0 && (module.exports = {
67
- scoreExternalUrl,
68
- scoreNftExternalUrl
69
- });
70
- //# sourceMappingURL=externalUrl.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../../../src/lib/rating/criteria/scoring/metadata/externalUrl.ts","../../../../../../../src/lib/rating/criteria/scoring/metadata/lib/urlHelpers.ts"],"sourcesContent":["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 { 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,oCAA4C;;;ACD5C,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,sBAAsB,CAAC,QAA2D;AAL/F;AAME,SAAO,kBAAiB,gCAAK,aAAL,mBAAe,YAAY;AACrD;AACO,IAAM,mBAAmB,CAAC,iBAAuC;AACtE,QAAM,QAAqB,CAAC,GAAG,CAAC;AAChC,MAAI,iBAAiB,UAAa,iBAAiB,QAAQ,OAAO,iBAAiB,YAAY,CAAC,WAAW,YAAY;AAAG,WAAO;AACjI,oDAAe,KAAK;AACpB,MAAI,CAAC,SAAS,YAAY;AAAG,WAAO;AACpC,aAAO,8CAAe,KAAK;AAC7B;","names":[]}
@@ -1,44 +0,0 @@
1
- // src/lib/rating/criteria/scoring/metadata/externalUrl.ts
2
- import { incrementTotal } from "@xyo-network/crypto-nft-score-model";
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
- }
15
- };
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/externalUrl.ts
27
- var scoreNftExternalUrl = (nft) => {
28
- var _a;
29
- return scoreExternalUrl((_a = nft == null ? void 0 : nft.metadata) == null ? void 0 : _a.external_url);
30
- };
31
- var scoreExternalUrl = (external_url) => {
32
- const score = [0, 2];
33
- if (external_url === void 0 || external_url === null || typeof external_url !== "string" || !isValidUrl(external_url))
34
- return score;
35
- incrementTotal(score);
36
- if (!isSecure(external_url))
37
- return score;
38
- return incrementTotal(score);
39
- };
40
- export {
41
- scoreExternalUrl,
42
- scoreNftExternalUrl
43
- };
44
- //# sourceMappingURL=externalUrl.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../../../src/lib/rating/criteria/scoring/metadata/externalUrl.ts","../../../../../../../src/lib/rating/criteria/scoring/metadata/lib/urlHelpers.ts"],"sourcesContent":["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 { 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,sBAAmC;;;ACD5C,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,sBAAsB,CAAC,QAA2D;AAL/F;AAME,SAAO,kBAAiB,gCAAK,aAAL,mBAAe,YAAY;AACrD;AACO,IAAM,mBAAmB,CAAC,iBAAuC;AACtE,QAAM,QAAqB,CAAC,GAAG,CAAC;AAChC,MAAI,iBAAiB,UAAa,iBAAiB,QAAQ,OAAO,iBAAiB,YAAY,CAAC,WAAW,YAAY;AAAG,WAAO;AACjI,iBAAe,KAAK;AACpB,MAAI,CAAC,SAAS,YAAY;AAAG,WAAO;AACpC,SAAO,eAAe,KAAK;AAC7B;","names":[]}
@@ -1,79 +0,0 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
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
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
-
20
- // src/lib/rating/criteria/scoring/metadata/image.ts
21
- var image_exports = {};
22
- __export(image_exports, {
23
- scoreImage: () => scoreImage,
24
- scoreNftImage: () => scoreNftImage
25
- });
26
- module.exports = __toCommonJS(image_exports);
27
- var import_crypto_nft_score_model = require("@xyo-network/crypto-nft-score-model");
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/image.ts
52
- var MaxPossibleImageScore = 3;
53
- var scoreNftImage = (nft) => {
54
- var _a, _b, _c;
55
- if (!((_a = nft == null ? void 0 : nft.metadata) == null ? void 0 : _a.image)) {
56
- return ((_b = nft.metadata) == null ? void 0 : _b.image_data) ? import_crypto_nft_score_model.PASS : [0, MaxPossibleImageScore];
57
- } else {
58
- return scoreImage((_c = nft.metadata) == null ? void 0 : _c.image);
59
- }
60
- };
61
- var scoreImage = (image) => {
62
- const score = [0, MaxPossibleImageScore];
63
- if (!image || typeof image !== "string" || !isValidUrl(image))
64
- return score;
65
- (0, import_crypto_nft_score_model.incrementTotal)(score);
66
- if (!isSecure(image))
67
- return score;
68
- (0, import_crypto_nft_score_model.incrementTotal)(score);
69
- if (!isWeb3(image))
70
- return score;
71
- (0, import_crypto_nft_score_model.incrementTotal)(score);
72
- return score;
73
- };
74
- // Annotate the CommonJS export names for ESM import in node:
75
- 0 && (module.exports = {
76
- scoreImage,
77
- scoreNftImage
78
- });
79
- //# sourceMappingURL=image.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../../../src/lib/rating/criteria/scoring/metadata/image.ts","../../../../../../../src/lib/rating/criteria/scoring/metadata/lib/urlHelpers.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, 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 { 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,oCAAkD;;;ACDlD,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;;;ADXlG,IAAM,wBAAwB;AAEvB,IAAM,gBAAgB,CAAC,QAA2D;AAPzF;AASE,MAAI,GAAC,gCAAK,aAAL,mBAAe,QAAO;AAEzB,aAAO,SAAI,aAAJ,mBAAc,cAAa,qCAAO,CAAC,GAAG,qBAAqB;AAAA,EACpE,OAAO;AACL,WAAO,YAAW,SAAI,aAAJ,mBAAc,KAAK;AAAA,EACvC;AACF;AAEO,IAAM,aAAa,CAAC,UAAgC;AACzD,QAAM,QAAqB,CAAC,GAAG,qBAAqB;AACpD,MAAI,CAAC,SAAS,OAAO,UAAU,YAAY,CAAC,WAAW,KAAK;AAAG,WAAO;AACtE,oDAAe,KAAK;AACpB,MAAI,CAAC,SAAS,KAAK;AAAG,WAAO;AAC7B,oDAAe,KAAK;AACpB,MAAI,CAAC,OAAO,KAAK;AAAG,WAAO;AAC3B,oDAAe,KAAK;AACpB,SAAO;AACT;","names":[]}
@@ -1,53 +0,0 @@
1
- // src/lib/rating/criteria/scoring/metadata/image.ts
2
- import { incrementTotal, PASS } from "@xyo-network/crypto-nft-score-model";
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
- }
15
- };
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/image.ts
27
- var MaxPossibleImageScore = 3;
28
- var scoreNftImage = (nft) => {
29
- var _a, _b, _c;
30
- if (!((_a = nft == null ? void 0 : nft.metadata) == null ? void 0 : _a.image)) {
31
- return ((_b = nft.metadata) == null ? void 0 : _b.image_data) ? PASS : [0, MaxPossibleImageScore];
32
- } else {
33
- return scoreImage((_c = nft.metadata) == null ? void 0 : _c.image);
34
- }
35
- };
36
- var scoreImage = (image) => {
37
- const score = [0, MaxPossibleImageScore];
38
- if (!image || typeof image !== "string" || !isValidUrl(image))
39
- return score;
40
- incrementTotal(score);
41
- if (!isSecure(image))
42
- return score;
43
- incrementTotal(score);
44
- if (!isWeb3(image))
45
- return score;
46
- incrementTotal(score);
47
- return score;
48
- };
49
- export {
50
- scoreImage,
51
- scoreNftImage
52
- };
53
- //# sourceMappingURL=image.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../../../src/lib/rating/criteria/scoring/metadata/image.ts","../../../../../../../src/lib/rating/criteria/scoring/metadata/lib/urlHelpers.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, 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 { 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,gBAAgB,YAAyB;;;ACDlD,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;;;ADXlG,IAAM,wBAAwB;AAEvB,IAAM,gBAAgB,CAAC,QAA2D;AAPzF;AASE,MAAI,GAAC,gCAAK,aAAL,mBAAe,QAAO;AAEzB,aAAO,SAAI,aAAJ,mBAAc,cAAa,OAAO,CAAC,GAAG,qBAAqB;AAAA,EACpE,OAAO;AACL,WAAO,YAAW,SAAI,aAAJ,mBAAc,KAAK;AAAA,EACvC;AACF;AAEO,IAAM,aAAa,CAAC,UAAgC;AACzD,QAAM,QAAqB,CAAC,GAAG,qBAAqB;AACpD,MAAI,CAAC,SAAS,OAAO,UAAU,YAAY,CAAC,WAAW,KAAK;AAAG,WAAO;AACtE,iBAAe,KAAK;AACpB,MAAI,CAAC,SAAS,KAAK;AAAG,WAAO;AAC7B,iBAAe,KAAK;AACpB,MAAI,CAAC,OAAO,KAAK;AAAG,WAAO;AAC3B,iBAAe,KAAK;AACpB,SAAO;AACT;","names":[]}
@@ -1,56 +0,0 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
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
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
-
20
- // src/lib/rating/criteria/scoring/metadata/imageData.ts
21
- var imageData_exports = {};
22
- __export(imageData_exports, {
23
- scoreImageData: () => scoreImageData,
24
- scoreNftImageData: () => scoreNftImageData
25
- });
26
- module.exports = __toCommonJS(imageData_exports);
27
- var import_crypto_nft_score_model = require("@xyo-network/crypto-nft-score-model");
28
- var import_svg_parser = require("svg-parser");
29
- var MaxPossibleImageDataScore = 1;
30
- var isValidImageData = (image_data) => {
31
- if (!image_data.startsWith("<svg"))
32
- return false;
33
- try {
34
- (0, import_svg_parser.parse)(image_data);
35
- return true;
36
- } catch (error) {
37
- return false;
38
- }
39
- };
40
- var scoreNftImageData = (nft) => {
41
- var _a, _b, _c;
42
- if (!((_a = nft == null ? void 0 : nft.metadata) == null ? void 0 : _a.image_data)) {
43
- return ((_b = nft.metadata) == null ? void 0 : _b.image) ? import_crypto_nft_score_model.PASS : [0, MaxPossibleImageDataScore];
44
- } else {
45
- return scoreImageData((_c = nft.metadata) == null ? void 0 : _c.image_data);
46
- }
47
- };
48
- var scoreImageData = (image_data) => {
49
- return !image_data || typeof image_data !== "string" || !isValidImageData(image_data) ? [0, MaxPossibleImageDataScore] : [MaxPossibleImageDataScore, MaxPossibleImageDataScore];
50
- };
51
- // Annotate the CommonJS export names for ESM import in node:
52
- 0 && (module.exports = {
53
- scoreImageData,
54
- scoreNftImageData
55
- });
56
- //# sourceMappingURL=imageData.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../../../src/lib/rating/criteria/scoring/metadata/imageData.ts"],"sourcesContent":["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"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,oCAAkC;AAClC,wBAAsB;AAEtB,IAAM,4BAA4B;AAIlC,IAAM,mBAAmB,CAAC,eAAgC;AAExD,MAAI,CAAC,WAAW,WAAW,MAAM;AAAG,WAAO;AAC3C,MAAI;AAEF,iCAAM,UAAU;AAChB,WAAO;AAAA,EACT,SAAS,OAAO;AACd,WAAO;AAAA,EACT;AACF;AAEO,IAAM,oBAAoB,CAAC,QAA2D;AApB7F;AAsBE,MAAI,GAAC,gCAAK,aAAL,mBAAe,aAAY;AAE9B,aAAO,SAAI,aAAJ,mBAAc,SAAQ,qCAAO,CAAC,GAAG,yBAAyB;AAAA,EACnE,OAAO;AACL,WAAO,gBAAe,SAAI,aAAJ,mBAAc,UAAU;AAAA,EAChD;AACF;AAEO,IAAM,iBAAiB,CAAC,eAAqC;AAClE,SAAO,CAAC,cAAc,OAAO,eAAe,YAAY,CAAC,iBAAiB,UAAU,IAChF,CAAC,GAAG,yBAAyB,IAC7B,CAAC,2BAA2B,yBAAyB;AAC3D;","names":[]}
@@ -1,30 +0,0 @@
1
- // src/lib/rating/criteria/scoring/metadata/imageData.ts
2
- import { PASS } from "@xyo-network/crypto-nft-score-model";
3
- import { parse } from "svg-parser";
4
- var MaxPossibleImageDataScore = 1;
5
- var isValidImageData = (image_data) => {
6
- if (!image_data.startsWith("<svg"))
7
- return false;
8
- try {
9
- parse(image_data);
10
- return true;
11
- } catch (error) {
12
- return false;
13
- }
14
- };
15
- var scoreNftImageData = (nft) => {
16
- var _a, _b, _c;
17
- if (!((_a = nft == null ? void 0 : nft.metadata) == null ? void 0 : _a.image_data)) {
18
- return ((_b = nft.metadata) == null ? void 0 : _b.image) ? PASS : [0, MaxPossibleImageDataScore];
19
- } else {
20
- return scoreImageData((_c = nft.metadata) == null ? void 0 : _c.image_data);
21
- }
22
- };
23
- var scoreImageData = (image_data) => {
24
- return !image_data || typeof image_data !== "string" || !isValidImageData(image_data) ? [0, MaxPossibleImageDataScore] : [MaxPossibleImageDataScore, MaxPossibleImageDataScore];
25
- };
26
- export {
27
- scoreImageData,
28
- scoreNftImageData
29
- };
30
- //# sourceMappingURL=imageData.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../../../src/lib/rating/criteria/scoring/metadata/imageData.ts"],"sourcesContent":["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"],"mappings":";AACA,SAAS,YAAyB;AAClC,SAAS,aAAa;AAEtB,IAAM,4BAA4B;AAIlC,IAAM,mBAAmB,CAAC,eAAgC;AAExD,MAAI,CAAC,WAAW,WAAW,MAAM;AAAG,WAAO;AAC3C,MAAI;AAEF,UAAM,UAAU;AAChB,WAAO;AAAA,EACT,SAAS,OAAO;AACd,WAAO;AAAA,EACT;AACF;AAEO,IAAM,oBAAoB,CAAC,QAA2D;AApB7F;AAsBE,MAAI,GAAC,gCAAK,aAAL,mBAAe,aAAY;AAE9B,aAAO,SAAI,aAAJ,mBAAc,SAAQ,OAAO,CAAC,GAAG,yBAAyB;AAAA,EACnE,OAAO;AACL,WAAO,gBAAe,SAAI,aAAJ,mBAAc,UAAU;AAAA,EAChD;AACF;AAEO,IAAM,iBAAiB,CAAC,eAAqC;AAClE,SAAO,CAAC,cAAc,OAAO,eAAe,YAAY,CAAC,iBAAiB,UAAU,IAChF,CAAC,GAAG,yBAAyB,IAC7B,CAAC,2BAA2B,yBAAyB;AAC3D;","names":[]}