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