@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.
Files changed (292) hide show
  1. package/dist/browser/Diviner.d.cts +14 -0
  2. package/dist/browser/Diviner.d.cts.map +1 -0
  3. package/dist/browser/Diviner.js +5 -359
  4. package/dist/browser/Diviner.js.map +1 -1
  5. package/dist/browser/Plugin.d.cts +50 -0
  6. package/dist/browser/Plugin.d.cts.map +1 -0
  7. package/dist/browser/Plugin.js +2 -389
  8. package/dist/browser/Plugin.js.map +1 -1
  9. package/dist/browser/index.d.cts +6 -0
  10. package/dist/browser/index.d.cts.map +1 -0
  11. package/dist/browser/index.js +4 -407
  12. package/dist/browser/index.js.map +1 -1
  13. package/dist/browser/lib/index.d.cts +2 -0
  14. package/dist/browser/lib/index.d.cts.map +1 -0
  15. package/dist/browser/lib/index.js +1 -354
  16. package/dist/browser/lib/index.js.map +1 -1
  17. package/dist/browser/lib/rating/analyzeNft.d.cts +9 -0
  18. package/dist/browser/lib/rating/analyzeNft.d.cts.map +1 -0
  19. package/dist/browser/lib/rating/analyzeNft.js +2 -340
  20. package/dist/browser/lib/rating/analyzeNft.js.map +1 -1
  21. package/dist/browser/lib/rating/criteria/index.d.cts +2 -0
  22. package/dist/browser/lib/rating/criteria/index.d.cts.map +1 -0
  23. package/dist/browser/lib/rating/criteria/index.js +1 -340
  24. package/dist/browser/lib/rating/criteria/index.js.map +1 -1
  25. package/dist/browser/lib/rating/criteria/scoring/contract.d.cts +4 -0
  26. package/dist/browser/lib/rating/criteria/scoring/contract.d.cts.map +1 -0
  27. package/dist/browser/lib/rating/criteria/scoring/contract.js +1 -2
  28. package/dist/browser/lib/rating/criteria/scoring/contract.js.map +1 -1
  29. package/dist/browser/lib/rating/criteria/scoring/index.d.cts +6 -0
  30. package/dist/browser/lib/rating/criteria/scoring/index.d.cts.map +1 -0
  31. package/dist/browser/lib/rating/criteria/scoring/index.js +5 -339
  32. package/dist/browser/lib/rating/criteria/scoring/index.js.map +1 -1
  33. package/dist/browser/lib/rating/criteria/scoring/lib/index.d.cts +3 -0
  34. package/dist/browser/lib/rating/criteria/scoring/lib/index.d.cts.map +1 -0
  35. package/dist/browser/lib/rating/criteria/scoring/lib/index.js +2 -19
  36. package/dist/browser/lib/rating/criteria/scoring/lib/index.js.map +1 -1
  37. package/dist/browser/lib/rating/criteria/scoring/lib/isValidPositiveBigNumber.d.cts +2 -0
  38. package/dist/browser/lib/rating/criteria/scoring/lib/isValidPositiveBigNumber.d.cts.map +1 -0
  39. package/dist/browser/lib/rating/criteria/scoring/lib/isValidPositiveBigNumber.js +2 -12
  40. package/dist/browser/lib/rating/criteria/scoring/lib/isValidPositiveBigNumber.js.map +1 -1
  41. package/dist/browser/lib/rating/criteria/scoring/lib/toBigNumber.d.cts +3 -0
  42. package/dist/browser/lib/rating/criteria/scoring/lib/toBigNumber.d.cts.map +1 -0
  43. package/dist/browser/lib/rating/criteria/scoring/lib/toBigNumber.js +1 -2
  44. package/dist/browser/lib/rating/criteria/scoring/lib/toBigNumber.js.map +1 -1
  45. package/dist/browser/lib/rating/criteria/scoring/metadata/animationUrl.d.cts +5 -0
  46. package/dist/browser/lib/rating/criteria/scoring/metadata/animationUrl.d.cts.map +1 -0
  47. package/dist/browser/lib/rating/criteria/scoring/metadata/animationUrl.js +3 -21
  48. package/dist/browser/lib/rating/criteria/scoring/metadata/animationUrl.js.map +1 -1
  49. package/dist/browser/lib/rating/criteria/scoring/metadata/attributes/evaluateAttributes.d.cts +6 -0
  50. package/dist/browser/lib/rating/criteria/scoring/metadata/attributes/evaluateAttributes.d.cts.map +1 -0
  51. package/dist/browser/lib/rating/criteria/scoring/metadata/attributes/evaluateAttributes.js +9 -10
  52. package/dist/browser/lib/rating/criteria/scoring/metadata/attributes/evaluateAttributes.js.map +1 -1
  53. package/dist/browser/lib/rating/criteria/scoring/metadata/attributes/index.d.cts +2 -0
  54. package/dist/browser/lib/rating/criteria/scoring/metadata/attributes/index.d.cts.map +1 -0
  55. package/dist/browser/lib/rating/criteria/scoring/metadata/attributes/index.js +1 -81
  56. package/dist/browser/lib/rating/criteria/scoring/metadata/attributes/index.js.map +1 -1
  57. package/dist/browser/lib/rating/criteria/scoring/metadata/backgroundColor.d.cts +5 -0
  58. package/dist/browser/lib/rating/criteria/scoring/metadata/backgroundColor.d.cts.map +1 -0
  59. package/dist/browser/lib/rating/criteria/scoring/metadata/backgroundColor.js +3 -4
  60. package/dist/browser/lib/rating/criteria/scoring/metadata/backgroundColor.js.map +1 -1
  61. package/dist/browser/lib/rating/criteria/scoring/metadata/description.d.cts +5 -0
  62. package/dist/browser/lib/rating/criteria/scoring/metadata/description.d.cts.map +1 -0
  63. package/dist/browser/lib/rating/criteria/scoring/metadata/description.js +2 -3
  64. package/dist/browser/lib/rating/criteria/scoring/metadata/description.js.map +1 -1
  65. package/dist/browser/lib/rating/criteria/scoring/metadata/externalUrl.d.cts +5 -0
  66. package/dist/browser/lib/rating/criteria/scoring/metadata/externalUrl.d.cts.map +1 -0
  67. package/dist/browser/lib/rating/criteria/scoring/metadata/externalUrl.js +3 -21
  68. package/dist/browser/lib/rating/criteria/scoring/metadata/externalUrl.js.map +1 -1
  69. package/dist/browser/lib/rating/criteria/scoring/metadata/image.d.cts +5 -0
  70. package/dist/browser/lib/rating/criteria/scoring/metadata/image.d.cts.map +1 -0
  71. package/dist/browser/lib/rating/criteria/scoring/metadata/image.js +4 -22
  72. package/dist/browser/lib/rating/criteria/scoring/metadata/image.js.map +1 -1
  73. package/dist/browser/lib/rating/criteria/scoring/metadata/imageData.d.cts +5 -0
  74. package/dist/browser/lib/rating/criteria/scoring/metadata/imageData.d.cts.map +1 -0
  75. package/dist/browser/lib/rating/criteria/scoring/metadata/imageData.js +4 -5
  76. package/dist/browser/lib/rating/criteria/scoring/metadata/imageData.js.map +1 -1
  77. package/dist/browser/lib/rating/criteria/scoring/metadata/index.d.cts +10 -0
  78. package/dist/browser/lib/rating/criteria/scoring/metadata/index.d.cts.map +1 -0
  79. package/dist/browser/lib/rating/criteria/scoring/metadata/index.js +9 -263
  80. package/dist/browser/lib/rating/criteria/scoring/metadata/index.js.map +1 -1
  81. package/dist/browser/lib/rating/criteria/scoring/metadata/lib/index.d.cts +2 -0
  82. package/dist/browser/lib/rating/criteria/scoring/metadata/lib/index.d.cts.map +1 -0
  83. package/dist/browser/lib/rating/criteria/scoring/metadata/lib/index.js +1 -24
  84. package/dist/browser/lib/rating/criteria/scoring/metadata/lib/index.js.map +1 -1
  85. package/dist/browser/lib/rating/criteria/scoring/metadata/lib/urlHelpers.d.cts +8 -0
  86. package/dist/browser/lib/rating/criteria/scoring/metadata/lib/urlHelpers.d.cts.map +1 -0
  87. package/dist/browser/lib/rating/criteria/scoring/metadata/lib/urlHelpers.js +6 -7
  88. package/dist/browser/lib/rating/criteria/scoring/metadata/lib/urlHelpers.js.map +1 -1
  89. package/dist/browser/lib/rating/criteria/scoring/metadata/name.d.cts +5 -0
  90. package/dist/browser/lib/rating/criteria/scoring/metadata/name.d.cts.map +1 -0
  91. package/dist/browser/lib/rating/criteria/scoring/metadata/name.js +2 -3
  92. package/dist/browser/lib/rating/criteria/scoring/metadata/name.js.map +1 -1
  93. package/dist/browser/lib/rating/criteria/scoring/metadata/youtubeUrl.d.cts +5 -0
  94. package/dist/browser/lib/rating/criteria/scoring/metadata/youtubeUrl.d.cts.map +1 -0
  95. package/dist/browser/lib/rating/criteria/scoring/metadata/youtubeUrl.js +3 -21
  96. package/dist/browser/lib/rating/criteria/scoring/metadata/youtubeUrl.js.map +1 -1
  97. package/dist/browser/lib/rating/criteria/scoring/supply.d.cts +4 -0
  98. package/dist/browser/lib/rating/criteria/scoring/supply.d.cts.map +1 -0
  99. package/dist/browser/lib/rating/criteria/scoring/supply.js +2 -20
  100. package/dist/browser/lib/rating/criteria/scoring/supply.js.map +1 -1
  101. package/dist/browser/lib/rating/criteria/scoring/tokenId.d.cts +10 -0
  102. package/dist/browser/lib/rating/criteria/scoring/tokenId.d.cts.map +1 -0
  103. package/dist/browser/lib/rating/criteria/scoring/tokenId.js +2 -20
  104. package/dist/browser/lib/rating/criteria/scoring/tokenId.js.map +1 -1
  105. package/dist/browser/lib/rating/criteria/scoring/type.d.cts +4 -0
  106. package/dist/browser/lib/rating/criteria/scoring/type.d.cts.map +1 -0
  107. package/dist/browser/lib/rating/criteria/scoring/type.js +1 -2
  108. package/dist/browser/lib/rating/criteria/scoring/type.js.map +1 -1
  109. package/dist/browser/lib/rating/criteria/scoringCriteria.d.cts +55 -0
  110. package/dist/browser/lib/rating/criteria/scoringCriteria.d.cts.map +1 -0
  111. package/dist/browser/lib/rating/criteria/scoringCriteria.js +18 -319
  112. package/dist/browser/lib/rating/criteria/scoringCriteria.js.map +1 -1
  113. package/dist/browser/lib/rating/index.d.cts +2 -0
  114. package/dist/browser/lib/rating/index.d.cts.map +1 -0
  115. package/dist/browser/lib/rating/index.js +1 -354
  116. package/dist/browser/lib/rating/index.js.map +1 -1
  117. package/dist/docs.json +21969 -0
  118. package/dist/node/Diviner.d.cts +14 -0
  119. package/dist/node/Diviner.d.cts.map +1 -0
  120. package/dist/node/Diviner.js +379 -7
  121. package/dist/node/Diviner.js.map +1 -1
  122. package/dist/node/Diviner.mjs +377 -6
  123. package/dist/node/Diviner.mjs.map +1 -1
  124. package/dist/node/Plugin.d.cts +50 -0
  125. package/dist/node/Plugin.d.cts.map +1 -0
  126. package/dist/node/Plugin.js +406 -5
  127. package/dist/node/Plugin.js.map +1 -1
  128. package/dist/node/Plugin.mjs +406 -2
  129. package/dist/node/Plugin.mjs.map +1 -1
  130. package/dist/node/index.d.cts +6 -0
  131. package/dist/node/index.d.cts.map +1 -0
  132. package/dist/node/index.js +428 -9
  133. package/dist/node/index.js.map +1 -1
  134. package/dist/node/index.mjs +424 -4
  135. package/dist/node/index.mjs.map +1 -1
  136. package/dist/node/lib/index.d.cts +2 -0
  137. package/dist/node/lib/index.d.cts.map +1 -0
  138. package/dist/node/lib/index.js +379 -3
  139. package/dist/node/lib/index.js.map +1 -1
  140. package/dist/node/lib/index.mjs +371 -1
  141. package/dist/node/lib/index.mjs.map +1 -1
  142. package/dist/node/lib/rating/analyzeNft.d.cts +9 -0
  143. package/dist/node/lib/rating/analyzeNft.d.cts.map +1 -0
  144. package/dist/node/lib/rating/analyzeNft.js +361 -3
  145. package/dist/node/lib/rating/analyzeNft.js.map +1 -1
  146. package/dist/node/lib/rating/analyzeNft.mjs +357 -2
  147. package/dist/node/lib/rating/analyzeNft.mjs.map +1 -1
  148. package/dist/node/lib/rating/criteria/index.d.cts +2 -0
  149. package/dist/node/lib/rating/criteria/index.d.cts.map +1 -0
  150. package/dist/node/lib/rating/criteria/index.js +365 -3
  151. package/dist/node/lib/rating/criteria/index.js.map +1 -1
  152. package/dist/node/lib/rating/criteria/index.mjs +357 -1
  153. package/dist/node/lib/rating/criteria/index.mjs.map +1 -1
  154. package/dist/node/lib/rating/criteria/scoring/contract.d.cts +4 -0
  155. package/dist/node/lib/rating/criteria/scoring/contract.d.cts.map +1 -0
  156. package/dist/node/lib/rating/criteria/scoring/contract.js +3 -1
  157. package/dist/node/lib/rating/criteria/scoring/contract.js.map +1 -1
  158. package/dist/node/lib/rating/criteria/scoring/contract.mjs +2 -1
  159. package/dist/node/lib/rating/criteria/scoring/contract.mjs.map +1 -1
  160. package/dist/node/lib/rating/criteria/scoring/index.d.cts +6 -0
  161. package/dist/node/lib/rating/criteria/scoring/index.d.cts.map +1 -0
  162. package/dist/node/lib/rating/criteria/scoring/index.js +386 -11
  163. package/dist/node/lib/rating/criteria/scoring/index.js.map +1 -1
  164. package/dist/node/lib/rating/criteria/scoring/index.mjs +356 -5
  165. package/dist/node/lib/rating/criteria/scoring/index.mjs.map +1 -1
  166. package/dist/node/lib/rating/criteria/scoring/lib/index.d.cts +3 -0
  167. package/dist/node/lib/rating/criteria/scoring/lib/index.d.cts.map +1 -0
  168. package/dist/node/lib/rating/criteria/scoring/lib/index.js +28 -5
  169. package/dist/node/lib/rating/criteria/scoring/lib/index.js.map +1 -1
  170. package/dist/node/lib/rating/criteria/scoring/lib/index.mjs +19 -2
  171. package/dist/node/lib/rating/criteria/scoring/lib/index.mjs.map +1 -1
  172. package/dist/node/lib/rating/criteria/scoring/lib/isValidPositiveBigNumber.d.cts +2 -0
  173. package/dist/node/lib/rating/criteria/scoring/lib/isValidPositiveBigNumber.d.cts.map +1 -0
  174. package/dist/node/lib/rating/criteria/scoring/lib/isValidPositiveBigNumber.js +16 -3
  175. package/dist/node/lib/rating/criteria/scoring/lib/isValidPositiveBigNumber.js.map +1 -1
  176. package/dist/node/lib/rating/criteria/scoring/lib/isValidPositiveBigNumber.mjs +12 -2
  177. package/dist/node/lib/rating/criteria/scoring/lib/isValidPositiveBigNumber.mjs.map +1 -1
  178. package/dist/node/lib/rating/criteria/scoring/lib/toBigNumber.d.cts +3 -0
  179. package/dist/node/lib/rating/criteria/scoring/lib/toBigNumber.d.cts.map +1 -0
  180. package/dist/node/lib/rating/criteria/scoring/lib/toBigNumber.js +3 -1
  181. package/dist/node/lib/rating/criteria/scoring/lib/toBigNumber.js.map +1 -1
  182. package/dist/node/lib/rating/criteria/scoring/lib/toBigNumber.mjs +2 -1
  183. package/dist/node/lib/rating/criteria/scoring/lib/toBigNumber.mjs.map +1 -1
  184. package/dist/node/lib/rating/criteria/scoring/metadata/animationUrl.d.cts +5 -0
  185. package/dist/node/lib/rating/criteria/scoring/metadata/animationUrl.d.cts.map +1 -0
  186. package/dist/node/lib/rating/criteria/scoring/metadata/animationUrl.js +33 -7
  187. package/dist/node/lib/rating/criteria/scoring/metadata/animationUrl.js.map +1 -1
  188. package/dist/node/lib/rating/criteria/scoring/metadata/animationUrl.mjs +29 -4
  189. package/dist/node/lib/rating/criteria/scoring/metadata/animationUrl.mjs.map +1 -1
  190. package/dist/node/lib/rating/criteria/scoring/metadata/attributes/evaluateAttributes.d.cts +6 -0
  191. package/dist/node/lib/rating/criteria/scoring/metadata/attributes/evaluateAttributes.d.cts.map +1 -0
  192. package/dist/node/lib/rating/criteria/scoring/metadata/attributes/evaluateAttributes.js +22 -17
  193. package/dist/node/lib/rating/criteria/scoring/metadata/attributes/evaluateAttributes.js.map +1 -1
  194. package/dist/node/lib/rating/criteria/scoring/metadata/attributes/evaluateAttributes.mjs +21 -17
  195. package/dist/node/lib/rating/criteria/scoring/metadata/attributes/evaluateAttributes.mjs.map +1 -1
  196. package/dist/node/lib/rating/criteria/scoring/metadata/attributes/index.d.cts +2 -0
  197. package/dist/node/lib/rating/criteria/scoring/metadata/attributes/index.d.cts.map +1 -0
  198. package/dist/node/lib/rating/criteria/scoring/metadata/attributes/index.js +94 -3
  199. package/dist/node/lib/rating/criteria/scoring/metadata/attributes/index.js.map +1 -1
  200. package/dist/node/lib/rating/criteria/scoring/metadata/attributes/index.mjs +84 -1
  201. package/dist/node/lib/rating/criteria/scoring/metadata/attributes/index.mjs.map +1 -1
  202. package/dist/node/lib/rating/criteria/scoring/metadata/backgroundColor.d.cts +5 -0
  203. package/dist/node/lib/rating/criteria/scoring/metadata/backgroundColor.d.cts.map +1 -0
  204. package/dist/node/lib/rating/criteria/scoring/metadata/backgroundColor.js +7 -4
  205. package/dist/node/lib/rating/criteria/scoring/metadata/backgroundColor.js.map +1 -1
  206. package/dist/node/lib/rating/criteria/scoring/metadata/backgroundColor.mjs +6 -4
  207. package/dist/node/lib/rating/criteria/scoring/metadata/backgroundColor.mjs.map +1 -1
  208. package/dist/node/lib/rating/criteria/scoring/metadata/description.d.cts +5 -0
  209. package/dist/node/lib/rating/criteria/scoring/metadata/description.d.cts.map +1 -0
  210. package/dist/node/lib/rating/criteria/scoring/metadata/description.js +6 -3
  211. package/dist/node/lib/rating/criteria/scoring/metadata/description.js.map +1 -1
  212. package/dist/node/lib/rating/criteria/scoring/metadata/description.mjs +5 -3
  213. package/dist/node/lib/rating/criteria/scoring/metadata/description.mjs.map +1 -1
  214. package/dist/node/lib/rating/criteria/scoring/metadata/externalUrl.d.cts +5 -0
  215. package/dist/node/lib/rating/criteria/scoring/metadata/externalUrl.d.cts.map +1 -0
  216. package/dist/node/lib/rating/criteria/scoring/metadata/externalUrl.js +32 -6
  217. package/dist/node/lib/rating/criteria/scoring/metadata/externalUrl.js.map +1 -1
  218. package/dist/node/lib/rating/criteria/scoring/metadata/externalUrl.mjs +29 -4
  219. package/dist/node/lib/rating/criteria/scoring/metadata/externalUrl.mjs.map +1 -1
  220. package/dist/node/lib/rating/criteria/scoring/metadata/image.d.cts +5 -0
  221. package/dist/node/lib/rating/criteria/scoring/metadata/image.d.cts.map +1 -0
  222. package/dist/node/lib/rating/criteria/scoring/metadata/image.js +36 -10
  223. package/dist/node/lib/rating/criteria/scoring/metadata/image.js.map +1 -1
  224. package/dist/node/lib/rating/criteria/scoring/metadata/image.mjs +32 -7
  225. package/dist/node/lib/rating/criteria/scoring/metadata/image.mjs.map +1 -1
  226. package/dist/node/lib/rating/criteria/scoring/metadata/imageData.d.cts +5 -0
  227. package/dist/node/lib/rating/criteria/scoring/metadata/imageData.d.cts.map +1 -0
  228. package/dist/node/lib/rating/criteria/scoring/metadata/imageData.js +10 -7
  229. package/dist/node/lib/rating/criteria/scoring/metadata/imageData.js.map +1 -1
  230. package/dist/node/lib/rating/criteria/scoring/metadata/imageData.mjs +9 -7
  231. package/dist/node/lib/rating/criteria/scoring/metadata/imageData.mjs.map +1 -1
  232. package/dist/node/lib/rating/criteria/scoring/metadata/index.d.cts +10 -0
  233. package/dist/node/lib/rating/criteria/scoring/metadata/index.d.cts.map +1 -0
  234. package/dist/node/lib/rating/criteria/scoring/metadata/index.js +306 -19
  235. package/dist/node/lib/rating/criteria/scoring/metadata/index.js.map +1 -1
  236. package/dist/node/lib/rating/criteria/scoring/metadata/index.mjs +280 -9
  237. package/dist/node/lib/rating/criteria/scoring/metadata/index.mjs.map +1 -1
  238. package/dist/node/lib/rating/criteria/scoring/metadata/lib/index.d.cts +2 -0
  239. package/dist/node/lib/rating/criteria/scoring/metadata/lib/index.d.cts.map +1 -0
  240. package/dist/node/lib/rating/criteria/scoring/metadata/lib/index.js +43 -3
  241. package/dist/node/lib/rating/criteria/scoring/metadata/lib/index.js.map +1 -1
  242. package/dist/node/lib/rating/criteria/scoring/metadata/lib/index.mjs +30 -1
  243. package/dist/node/lib/rating/criteria/scoring/metadata/lib/index.mjs.map +1 -1
  244. package/dist/node/lib/rating/criteria/scoring/metadata/lib/urlHelpers.d.cts +8 -0
  245. package/dist/node/lib/rating/criteria/scoring/metadata/lib/urlHelpers.d.cts.map +1 -0
  246. package/dist/node/lib/rating/criteria/scoring/metadata/lib/urlHelpers.js +14 -6
  247. package/dist/node/lib/rating/criteria/scoring/metadata/lib/urlHelpers.js.map +1 -1
  248. package/dist/node/lib/rating/criteria/scoring/metadata/lib/urlHelpers.mjs +13 -6
  249. package/dist/node/lib/rating/criteria/scoring/metadata/lib/urlHelpers.mjs.map +1 -1
  250. package/dist/node/lib/rating/criteria/scoring/metadata/name.d.cts +5 -0
  251. package/dist/node/lib/rating/criteria/scoring/metadata/name.d.cts.map +1 -0
  252. package/dist/node/lib/rating/criteria/scoring/metadata/name.js +6 -3
  253. package/dist/node/lib/rating/criteria/scoring/metadata/name.js.map +1 -1
  254. package/dist/node/lib/rating/criteria/scoring/metadata/name.mjs +5 -3
  255. package/dist/node/lib/rating/criteria/scoring/metadata/name.mjs.map +1 -1
  256. package/dist/node/lib/rating/criteria/scoring/metadata/youtubeUrl.d.cts +5 -0
  257. package/dist/node/lib/rating/criteria/scoring/metadata/youtubeUrl.d.cts.map +1 -0
  258. package/dist/node/lib/rating/criteria/scoring/metadata/youtubeUrl.js +32 -6
  259. package/dist/node/lib/rating/criteria/scoring/metadata/youtubeUrl.js.map +1 -1
  260. package/dist/node/lib/rating/criteria/scoring/metadata/youtubeUrl.mjs +29 -4
  261. package/dist/node/lib/rating/criteria/scoring/metadata/youtubeUrl.mjs.map +1 -1
  262. package/dist/node/lib/rating/criteria/scoring/supply.d.cts +4 -0
  263. package/dist/node/lib/rating/criteria/scoring/supply.d.cts.map +1 -0
  264. package/dist/node/lib/rating/criteria/scoring/supply.js +22 -3
  265. package/dist/node/lib/rating/criteria/scoring/supply.js.map +1 -1
  266. package/dist/node/lib/rating/criteria/scoring/supply.mjs +20 -2
  267. package/dist/node/lib/rating/criteria/scoring/supply.mjs.map +1 -1
  268. package/dist/node/lib/rating/criteria/scoring/tokenId.d.cts +10 -0
  269. package/dist/node/lib/rating/criteria/scoring/tokenId.d.cts.map +1 -0
  270. package/dist/node/lib/rating/criteria/scoring/tokenId.js +22 -3
  271. package/dist/node/lib/rating/criteria/scoring/tokenId.js.map +1 -1
  272. package/dist/node/lib/rating/criteria/scoring/tokenId.mjs +20 -2
  273. package/dist/node/lib/rating/criteria/scoring/tokenId.mjs.map +1 -1
  274. package/dist/node/lib/rating/criteria/scoring/type.d.cts +4 -0
  275. package/dist/node/lib/rating/criteria/scoring/type.d.cts.map +1 -0
  276. package/dist/node/lib/rating/criteria/scoring/type.js +3 -1
  277. package/dist/node/lib/rating/criteria/scoring/type.js.map +1 -1
  278. package/dist/node/lib/rating/criteria/scoring/type.mjs +2 -1
  279. package/dist/node/lib/rating/criteria/scoring/type.mjs.map +1 -1
  280. package/dist/node/lib/rating/criteria/scoringCriteria.d.cts +55 -0
  281. package/dist/node/lib/rating/criteria/scoringCriteria.d.cts.map +1 -0
  282. package/dist/node/lib/rating/criteria/scoringCriteria.js +353 -18
  283. package/dist/node/lib/rating/criteria/scoringCriteria.js.map +1 -1
  284. package/dist/node/lib/rating/criteria/scoringCriteria.mjs +336 -18
  285. package/dist/node/lib/rating/criteria/scoringCriteria.mjs.map +1 -1
  286. package/dist/node/lib/rating/index.d.cts +2 -0
  287. package/dist/node/lib/rating/index.d.cts.map +1 -0
  288. package/dist/node/lib/rating/index.js +379 -3
  289. package/dist/node/lib/rating/index.js.map +1 -1
  290. package/dist/node/lib/rating/index.mjs +371 -1
  291. package/dist/node/lib/rating/index.mjs.map +1 -1
  292. 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/backgroundColor.ts
19
21
  var backgroundColor_exports = {};
20
22
  __export(backgroundColor_exports, {
21
23
  scoreBackgroundColor: () => scoreBackgroundColor,
@@ -23,11 +25,12 @@ __export(backgroundColor_exports, {
23
25
  });
24
26
  module.exports = __toCommonJS(backgroundColor_exports);
25
27
  var import_crypto_nft_score_model = require("@xyo-network/crypto-nft-score-model");
26
- const isHexColor = /^[0-9A-F]{6}$/i;
27
- const scoreNftBackgroundColor = (nft) => {
28
- return scoreBackgroundColor(nft.metadata?.background_color);
28
+ var isHexColor = /^[0-9A-F]{6}$/i;
29
+ var scoreNftBackgroundColor = (nft) => {
30
+ var _a;
31
+ return scoreBackgroundColor((_a = nft.metadata) == null ? void 0 : _a.background_color);
29
32
  };
30
- const scoreBackgroundColor = (background_color) => {
33
+ var scoreBackgroundColor = (background_color) => {
31
34
  const score = [0, 0];
32
35
  if (background_color === void 0 || background_color === null)
33
36
  return import_crypto_nft_score_model.PASS;
@@ -1 +1 @@
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":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,oCAAgG;AAEhG,MAAM,aAAa;AAEZ,MAAM,0BAA0B,CAAC,QAA2D;AACjG,SAAO,qBAAqB,IAAI,UAAU,gBAAgB;AAC5D;AAEO,MAAM,uBAAuB,CAAC,qBAA2C;AAC9E,QAAM,QAAqB,CAAC,GAAG,CAAC;AAChC,MAAI,qBAAqB,UAAa,qBAAqB;AAAM,WAAO;AACxE,uDAAkB,KAAK;AACvB,MAAI,OAAO,qBAAqB;AAAU,WAAO;AACjD,+DAA0B,KAAK;AAC/B,MAAI,CAAC,iBAAiB,YAAY,EAAE,MAAM,UAAU;AAAG,WAAO;AAC9D,aAAO,8CAAe,KAAK;AAC7B;","names":[]}
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":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,oCAAgG;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,uDAAkB,KAAK;AACvB,MAAI,OAAO,qBAAqB;AAAU,WAAO;AACjD,+DAA0B,KAAK;AAC/B,MAAI,CAAC,iBAAiB,YAAY,EAAE,MAAM,UAAU;AAAG,WAAO;AAC9D,aAAO,8CAAe,KAAK;AAC7B;","names":[]}
@@ -1,9 +1,11 @@
1
+ // src/lib/rating/criteria/scoring/metadata/backgroundColor.ts
1
2
  import { incrementPossible, incrementTotal, incrementTotalAndPossible, PASS } from "@xyo-network/crypto-nft-score-model";
2
- const isHexColor = /^[0-9A-F]{6}$/i;
3
- const scoreNftBackgroundColor = (nft) => {
4
- return scoreBackgroundColor(nft.metadata?.background_color);
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);
5
7
  };
6
- const scoreBackgroundColor = (background_color) => {
8
+ var scoreBackgroundColor = (background_color) => {
7
9
  const score = [0, 0];
8
10
  if (background_color === void 0 || background_color === null)
9
11
  return PASS;
@@ -1 +1 @@
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,MAAM,aAAa;AAEZ,MAAM,0BAA0B,CAAC,QAA2D;AACjG,SAAO,qBAAqB,IAAI,UAAU,gBAAgB;AAC5D;AAEO,MAAM,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
+ {"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":[]}
@@ -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 scoreNftDescription: (nft: NftInfoFields | OpenSeaNftInfoFields) => ScaledScore;
4
+ export declare const scoreDescription: (description: unknown) => ScaledScore;
5
+ //# sourceMappingURL=description.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"description.d.ts","sourceRoot":"","sources":["../../../../../../../src/lib/rating/criteria/scoring/metadata/description.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,wCAAwC,CAAA;AAC5F,OAAO,EAAkB,WAAW,EAAE,MAAM,qCAAqC,CAAA;AAEjF,eAAO,MAAM,mBAAmB,QAAS,aAAa,GAAG,oBAAoB,gBAE5E,CAAA;AAED,eAAO,MAAM,gBAAgB,gBAAiB,OAAO,gBAIpD,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/description.ts
19
21
  var description_exports = {};
20
22
  __export(description_exports, {
21
23
  scoreDescription: () => scoreDescription,
@@ -23,10 +25,11 @@ __export(description_exports, {
23
25
  });
24
26
  module.exports = __toCommonJS(description_exports);
25
27
  var import_crypto_nft_score_model = require("@xyo-network/crypto-nft-score-model");
26
- const scoreNftDescription = (nft) => {
27
- return scoreDescription(nft.metadata?.description);
28
+ var scoreNftDescription = (nft) => {
29
+ var _a;
30
+ return scoreDescription((_a = nft.metadata) == null ? void 0 : _a.description);
28
31
  };
29
- const scoreDescription = (description) => {
32
+ var scoreDescription = (description) => {
30
33
  const score = [0, 1];
31
34
  if (!description || typeof description !== "string")
32
35
  return score;
@@ -1 +1 @@
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,MAAM,sBAAsB,CAAC,QAA2D;AAC7F,SAAO,iBAAiB,IAAI,UAAU,WAAW;AACnD;AAEO,MAAM,mBAAmB,CAAC,gBAAsC;AACrE,QAAM,QAAqB,CAAC,GAAG,CAAC;AAChC,MAAI,CAAC,eAAe,OAAO,gBAAgB;AAAU,WAAO;AAC5D,aAAO,8CAAe,KAAK;AAC7B;","names":[]}
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,8 +1,10 @@
1
+ // src/lib/rating/criteria/scoring/metadata/description.ts
1
2
  import { incrementTotal } from "@xyo-network/crypto-nft-score-model";
2
- const scoreNftDescription = (nft) => {
3
- return scoreDescription(nft.metadata?.description);
3
+ var scoreNftDescription = (nft) => {
4
+ var _a;
5
+ return scoreDescription((_a = nft.metadata) == null ? void 0 : _a.description);
4
6
  };
5
- const scoreDescription = (description) => {
7
+ var scoreDescription = (description) => {
6
8
  const score = [0, 1];
7
9
  if (!description || typeof description !== "string")
8
10
  return score;
@@ -1 +1 @@
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,MAAM,sBAAsB,CAAC,QAA2D;AAC7F,SAAO,iBAAiB,IAAI,UAAU,WAAW;AACnD;AAEO,MAAM,mBAAmB,CAAC,gBAAsC;AACrE,QAAM,QAAqB,CAAC,GAAG,CAAC;AAChC,MAAI,CAAC,eAAe,OAAO,gBAAgB;AAAU,WAAO;AAC5D,SAAO,eAAe,KAAK;AAC7B;","names":[]}
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":[]}
@@ -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 scoreNftExternalUrl: (nft: NftInfoFields | OpenSeaNftInfoFields) => ScaledScore;
4
+ export declare const scoreExternalUrl: (external_url: unknown) => ScaledScore;
5
+ //# sourceMappingURL=externalUrl.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"externalUrl.d.ts","sourceRoot":"","sources":["../../../../../../../src/lib/rating/criteria/scoring/metadata/externalUrl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,wCAAwC,CAAA;AAC5F,OAAO,EAAkB,WAAW,EAAE,MAAM,qCAAqC,CAAA;AAIjF,eAAO,MAAM,mBAAmB,QAAS,aAAa,GAAG,oBAAoB,gBAE5E,CAAA;AACD,eAAO,MAAM,gBAAgB,iBAAkB,OAAO,gBAMrD,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/externalUrl.ts
19
21
  var externalUrl_exports = {};
20
22
  __export(externalUrl_exports, {
21
23
  scoreExternalUrl: () => scoreExternalUrl,
@@ -23,16 +25,40 @@ __export(externalUrl_exports, {
23
25
  });
24
26
  module.exports = __toCommonJS(externalUrl_exports);
25
27
  var import_crypto_nft_score_model = require("@xyo-network/crypto-nft-score-model");
26
- var import_lib = require("./lib");
27
- const scoreNftExternalUrl = (nft) => {
28
- return scoreExternalUrl(nft?.metadata?.external_url);
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);
29
55
  };
30
- const scoreExternalUrl = (external_url) => {
56
+ var scoreExternalUrl = (external_url) => {
31
57
  const score = [0, 2];
32
- if (external_url === void 0 || external_url === null || typeof external_url !== "string" || !(0, import_lib.isValidUrl)(external_url))
58
+ if (external_url === void 0 || external_url === null || typeof external_url !== "string" || !isValidUrl(external_url))
33
59
  return score;
34
60
  (0, import_crypto_nft_score_model.incrementTotal)(score);
35
- if (!(0, import_lib.isSecure)(external_url))
61
+ if (!isSecure(external_url))
36
62
  return score;
37
63
  return (0, import_crypto_nft_score_model.incrementTotal)(score);
38
64
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../../src/lib/rating/criteria/scoring/metadata/externalUrl.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"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,oCAA4C;AAE5C,iBAAqC;AAE9B,MAAM,sBAAsB,CAAC,QAA2D;AAC7F,SAAO,iBAAiB,KAAK,UAAU,YAAY;AACrD;AACO,MAAM,mBAAmB,CAAC,iBAAuC;AACtE,QAAM,QAAqB,CAAC,GAAG,CAAC;AAChC,MAAI,iBAAiB,UAAa,iBAAiB,QAAQ,OAAO,iBAAiB,YAAY,KAAC,uBAAW,YAAY;AAAG,WAAO;AACjI,oDAAe,KAAK;AACpB,MAAI,KAAC,qBAAS,YAAY;AAAG,WAAO;AACpC,aAAO,8CAAe,KAAK;AAC7B;","names":[]}
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,9 +1,34 @@
1
+ // src/lib/rating/criteria/scoring/metadata/externalUrl.ts
1
2
  import { incrementTotal } from "@xyo-network/crypto-nft-score-model";
2
- import { isSecure, isValidUrl } from "./lib";
3
- const scoreNftExternalUrl = (nft) => {
4
- return scoreExternalUrl(nft?.metadata?.external_url);
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
- const scoreExternalUrl = (external_url) => {
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) => {
7
32
  const score = [0, 2];
8
33
  if (external_url === void 0 || external_url === null || typeof external_url !== "string" || !isValidUrl(external_url))
9
34
  return score;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../../src/lib/rating/criteria/scoring/metadata/externalUrl.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"],"mappings":"AACA,SAAS,sBAAmC;AAE5C,SAAS,UAAU,kBAAkB;AAE9B,MAAM,sBAAsB,CAAC,QAA2D;AAC7F,SAAO,iBAAiB,KAAK,UAAU,YAAY;AACrD;AACO,MAAM,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
+ {"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":[]}
@@ -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 scoreNftImage: (nft: NftInfoFields | OpenSeaNftInfoFields) => ScaledScore;
4
+ export declare const scoreImage: (image: unknown) => ScaledScore;
5
+ //# sourceMappingURL=image.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"image.d.ts","sourceRoot":"","sources":["../../../../../../../src/lib/rating/criteria/scoring/metadata/image.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,wCAAwC,CAAA;AAC5F,OAAO,EAAwB,WAAW,EAAE,MAAM,qCAAqC,CAAA;AAMvF,eAAO,MAAM,aAAa,QAAS,aAAa,GAAG,oBAAoB,gBAQtE,CAAA;AAED,eAAO,MAAM,UAAU,UAAW,OAAO,gBASxC,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/image.ts
19
21
  var image_exports = {};
20
22
  __export(image_exports, {
21
23
  scoreImage: () => scoreImage,
@@ -23,24 +25,48 @@ __export(image_exports, {
23
25
  });
24
26
  module.exports = __toCommonJS(image_exports);
25
27
  var import_crypto_nft_score_model = require("@xyo-network/crypto-nft-score-model");
26
- var import_lib = require("./lib");
27
- const MaxPossibleImageScore = 3;
28
- const scoreNftImage = (nft) => {
29
- if (!nft?.metadata?.image) {
30
- return nft.metadata?.image_data ? import_crypto_nft_score_model.PASS : [0, MaxPossibleImageScore];
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];
31
57
  } else {
32
- return scoreImage(nft.metadata?.image);
58
+ return scoreImage((_c = nft.metadata) == null ? void 0 : _c.image);
33
59
  }
34
60
  };
35
- const scoreImage = (image) => {
61
+ var scoreImage = (image) => {
36
62
  const score = [0, MaxPossibleImageScore];
37
- if (!image || typeof image !== "string" || !(0, import_lib.isValidUrl)(image))
63
+ if (!image || typeof image !== "string" || !isValidUrl(image))
38
64
  return score;
39
65
  (0, import_crypto_nft_score_model.incrementTotal)(score);
40
- if (!(0, import_lib.isSecure)(image))
66
+ if (!isSecure(image))
41
67
  return score;
42
68
  (0, import_crypto_nft_score_model.incrementTotal)(score);
43
- if (!(0, import_lib.isWeb3)(image))
69
+ if (!isWeb3(image))
44
70
  return score;
45
71
  (0, import_crypto_nft_score_model.incrementTotal)(score);
46
72
  return score;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../../src/lib/rating/criteria/scoring/metadata/image.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"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,oCAAkD;AAElD,iBAA6C;AAE7C,MAAM,wBAAwB;AAEvB,MAAM,gBAAgB,CAAC,QAA2D;AAEvF,MAAI,CAAC,KAAK,UAAU,OAAO;AAEzB,WAAO,IAAI,UAAU,aAAa,qCAAO,CAAC,GAAG,qBAAqB;AAAA,EACpE,OAAO;AACL,WAAO,WAAW,IAAI,UAAU,KAAK;AAAA,EACvC;AACF;AAEO,MAAM,aAAa,CAAC,UAAgC;AACzD,QAAM,QAAqB,CAAC,GAAG,qBAAqB;AACpD,MAAI,CAAC,SAAS,OAAO,UAAU,YAAY,KAAC,uBAAW,KAAK;AAAG,WAAO;AACtE,oDAAe,KAAK;AACpB,MAAI,KAAC,qBAAS,KAAK;AAAG,WAAO;AAC7B,oDAAe,KAAK;AACpB,MAAI,KAAC,mBAAO,KAAK;AAAG,WAAO;AAC3B,oDAAe,KAAK;AACpB,SAAO;AACT;","names":[]}
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,14 +1,39 @@
1
+ // src/lib/rating/criteria/scoring/metadata/image.ts
1
2
  import { incrementTotal, PASS } from "@xyo-network/crypto-nft-score-model";
2
- import { isSecure, isValidUrl, isWeb3 } from "./lib";
3
- const MaxPossibleImageScore = 3;
4
- const scoreNftImage = (nft) => {
5
- if (!nft?.metadata?.image) {
6
- return nft.metadata?.image_data ? PASS : [0, MaxPossibleImageScore];
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];
7
32
  } else {
8
- return scoreImage(nft.metadata?.image);
33
+ return scoreImage((_c = nft.metadata) == null ? void 0 : _c.image);
9
34
  }
10
35
  };
11
- const scoreImage = (image) => {
36
+ var scoreImage = (image) => {
12
37
  const score = [0, MaxPossibleImageScore];
13
38
  if (!image || typeof image !== "string" || !isValidUrl(image))
14
39
  return score;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../../src/lib/rating/criteria/scoring/metadata/image.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"],"mappings":"AACA,SAAS,gBAAgB,YAAyB;AAElD,SAAS,UAAU,YAAY,cAAc;AAE7C,MAAM,wBAAwB;AAEvB,MAAM,gBAAgB,CAAC,QAA2D;AAEvF,MAAI,CAAC,KAAK,UAAU,OAAO;AAEzB,WAAO,IAAI,UAAU,aAAa,OAAO,CAAC,GAAG,qBAAqB;AAAA,EACpE,OAAO;AACL,WAAO,WAAW,IAAI,UAAU,KAAK;AAAA,EACvC;AACF;AAEO,MAAM,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
+ {"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":[]}
@@ -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 scoreNftImageData: (nft: NftInfoFields | OpenSeaNftInfoFields) => ScaledScore;
4
+ export declare const scoreImageData: (image_data: unknown) => ScaledScore;
5
+ //# sourceMappingURL=imageData.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"imageData.d.ts","sourceRoot":"","sources":["../../../../../../../src/lib/rating/criteria/scoring/metadata/imageData.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,wCAAwC,CAAA;AAC5F,OAAO,EAAQ,WAAW,EAAE,MAAM,qCAAqC,CAAA;AAmBvE,eAAO,MAAM,iBAAiB,QAAS,aAAa,GAAG,oBAAoB,gBAQ1E,CAAA;AAED,eAAO,MAAM,cAAc,eAAgB,OAAO,gBAIjD,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/imageData.ts
19
21
  var imageData_exports = {};
20
22
  __export(imageData_exports, {
21
23
  scoreImageData: () => scoreImageData,
@@ -24,8 +26,8 @@ __export(imageData_exports, {
24
26
  module.exports = __toCommonJS(imageData_exports);
25
27
  var import_crypto_nft_score_model = require("@xyo-network/crypto-nft-score-model");
26
28
  var import_svg_parser = require("svg-parser");
27
- const MaxPossibleImageDataScore = 1;
28
- const isValidImageData = (image_data) => {
29
+ var MaxPossibleImageDataScore = 1;
30
+ var isValidImageData = (image_data) => {
29
31
  if (!image_data.startsWith("<svg"))
30
32
  return false;
31
33
  try {
@@ -35,14 +37,15 @@ const isValidImageData = (image_data) => {
35
37
  return false;
36
38
  }
37
39
  };
38
- const scoreNftImageData = (nft) => {
39
- if (!nft?.metadata?.image_data) {
40
- return nft.metadata?.image ? import_crypto_nft_score_model.PASS : [0, MaxPossibleImageDataScore];
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];
41
44
  } else {
42
- return scoreImageData(nft.metadata?.image_data);
45
+ return scoreImageData((_c = nft.metadata) == null ? void 0 : _c.image_data);
43
46
  }
44
47
  };
45
- const scoreImageData = (image_data) => {
48
+ var scoreImageData = (image_data) => {
46
49
  return !image_data || typeof image_data !== "string" || !isValidImageData(image_data) ? [0, MaxPossibleImageDataScore] : [MaxPossibleImageDataScore, MaxPossibleImageDataScore];
47
50
  };
48
51
  // Annotate the CommonJS export names for ESM import in node:
@@ -1 +1 @@
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,MAAM,4BAA4B;AAIlC,MAAM,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,MAAM,oBAAoB,CAAC,QAA2D;AAE3F,MAAI,CAAC,KAAK,UAAU,YAAY;AAE9B,WAAO,IAAI,UAAU,QAAQ,qCAAO,CAAC,GAAG,yBAAyB;AAAA,EACnE,OAAO;AACL,WAAO,eAAe,IAAI,UAAU,UAAU;AAAA,EAChD;AACF;AAEO,MAAM,iBAAiB,CAAC,eAAqC;AAClE,SAAO,CAAC,cAAc,OAAO,eAAe,YAAY,CAAC,iBAAiB,UAAU,IAChF,CAAC,GAAG,yBAAyB,IAC7B,CAAC,2BAA2B,yBAAyB;AAC3D;","names":[]}
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,7 +1,8 @@
1
+ // src/lib/rating/criteria/scoring/metadata/imageData.ts
1
2
  import { PASS } from "@xyo-network/crypto-nft-score-model";
2
3
  import { parse } from "svg-parser";
3
- const MaxPossibleImageDataScore = 1;
4
- const isValidImageData = (image_data) => {
4
+ var MaxPossibleImageDataScore = 1;
5
+ var isValidImageData = (image_data) => {
5
6
  if (!image_data.startsWith("<svg"))
6
7
  return false;
7
8
  try {
@@ -11,14 +12,15 @@ const isValidImageData = (image_data) => {
11
12
  return false;
12
13
  }
13
14
  };
14
- const scoreNftImageData = (nft) => {
15
- if (!nft?.metadata?.image_data) {
16
- return nft.metadata?.image ? PASS : [0, MaxPossibleImageDataScore];
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];
17
19
  } else {
18
- return scoreImageData(nft.metadata?.image_data);
20
+ return scoreImageData((_c = nft.metadata) == null ? void 0 : _c.image_data);
19
21
  }
20
22
  };
21
- const scoreImageData = (image_data) => {
23
+ var scoreImageData = (image_data) => {
22
24
  return !image_data || typeof image_data !== "string" || !isValidImageData(image_data) ? [0, MaxPossibleImageDataScore] : [MaxPossibleImageDataScore, MaxPossibleImageDataScore];
23
25
  };
24
26
  export {
@@ -1 +1 @@
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,MAAM,4BAA4B;AAIlC,MAAM,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,MAAM,oBAAoB,CAAC,QAA2D;AAE3F,MAAI,CAAC,KAAK,UAAU,YAAY;AAE9B,WAAO,IAAI,UAAU,QAAQ,OAAO,CAAC,GAAG,yBAAyB;AAAA,EACnE,OAAO;AACL,WAAO,eAAe,IAAI,UAAU,UAAU;AAAA,EAChD;AACF;AAEO,MAAM,iBAAiB,CAAC,eAAqC;AAClE,SAAO,CAAC,cAAc,OAAO,eAAe,YAAY,CAAC,iBAAiB,UAAU,IAChF,CAAC,GAAG,yBAAyB,IAC7B,CAAC,2BAA2B,yBAAyB;AAC3D;","names":[]}
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":[]}
@@ -0,0 +1,10 @@
1
+ export * from './animationUrl';
2
+ export * from './attributes';
3
+ export * from './backgroundColor';
4
+ export * from './description';
5
+ export * from './externalUrl';
6
+ export * from './image';
7
+ export * from './imageData';
8
+ export * from './name';
9
+ export * from './youtubeUrl';
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../src/lib/rating/criteria/scoring/metadata/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAA;AAC9B,cAAc,cAAc,CAAA;AAC5B,cAAc,mBAAmB,CAAA;AACjC,cAAc,eAAe,CAAA;AAC7B,cAAc,eAAe,CAAA;AAC7B,cAAc,SAAS,CAAA;AACvB,cAAc,aAAa,CAAA;AAC3B,cAAc,QAAQ,CAAA;AACtB,cAAc,cAAc,CAAA"}