@xyo-network/crypto-nft-collection-witness-plugin 2.74.5 → 2.75.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (398) hide show
  1. package/dist/browser/Plugin.cjs +199 -0
  2. package/dist/browser/Plugin.cjs.map +1 -0
  3. package/dist/browser/Plugin.d.cts.map +1 -0
  4. package/dist/browser/Plugin.d.mts.map +1 -0
  5. package/dist/browser/Plugin.d.ts +56 -0
  6. package/dist/browser/Plugin.d.ts.map +1 -0
  7. package/dist/browser/Plugin.js +17 -0
  8. package/dist/browser/Plugin.js.map +1 -0
  9. package/dist/browser/Witness.cjs +183 -0
  10. package/dist/browser/Witness.cjs.map +1 -0
  11. package/dist/browser/Witness.d.cts.map +1 -0
  12. package/dist/browser/Witness.d.mts.map +1 -0
  13. package/dist/browser/Witness.d.ts +10 -0
  14. package/dist/browser/Witness.d.ts.map +1 -0
  15. package/dist/browser/Witness.js +45 -0
  16. package/dist/browser/Witness.js.map +1 -0
  17. package/dist/{index.js → browser/index.cjs} +1 -10
  18. package/dist/browser/index.cjs.map +1 -0
  19. package/dist/browser/index.d.cts.map +1 -0
  20. package/dist/browser/index.d.mts.map +1 -0
  21. package/dist/browser/index.d.ts +6 -0
  22. package/dist/browser/index.d.ts.map +1 -0
  23. package/dist/browser/index.js +9 -0
  24. package/dist/browser/index.js.map +1 -0
  25. package/dist/browser/lib/collectionMetrics/getNftCollectionMetrics.cjs +83 -0
  26. package/dist/browser/lib/collectionMetrics/getNftCollectionMetrics.cjs.map +1 -0
  27. package/dist/browser/lib/collectionMetrics/getNftCollectionMetrics.d.cts.map +1 -0
  28. package/dist/browser/lib/collectionMetrics/getNftCollectionMetrics.d.mts.map +1 -0
  29. package/dist/browser/lib/collectionMetrics/getNftCollectionMetrics.d.ts +4 -0
  30. package/dist/browser/lib/collectionMetrics/getNftCollectionMetrics.d.ts.map +1 -0
  31. package/dist/browser/lib/collectionMetrics/getNftCollectionMetrics.js +27 -0
  32. package/dist/browser/lib/collectionMetrics/getNftCollectionMetrics.js.map +1 -0
  33. package/dist/browser/lib/collectionMetrics/index.cjs +83 -0
  34. package/dist/browser/lib/collectionMetrics/index.cjs.map +1 -0
  35. package/dist/browser/lib/collectionMetrics/index.d.cts.map +1 -0
  36. package/dist/browser/lib/collectionMetrics/index.d.mts.map +1 -0
  37. package/dist/browser/lib/collectionMetrics/index.d.ts +2 -0
  38. package/dist/browser/lib/collectionMetrics/index.d.ts.map +1 -0
  39. package/dist/browser/lib/collectionMetrics/index.js +2 -0
  40. package/dist/browser/lib/collectionMetrics/index.js.map +1 -0
  41. package/dist/browser/lib/collectionMetrics/lib/calculateAllPropertiesDistribution.cjs +49 -0
  42. package/dist/browser/lib/collectionMetrics/lib/calculateAllPropertiesDistribution.cjs.map +1 -0
  43. package/dist/browser/lib/collectionMetrics/lib/calculateAllPropertiesDistribution.d.cts.map +1 -0
  44. package/dist/browser/lib/collectionMetrics/lib/calculateAllPropertiesDistribution.d.mts.map +1 -0
  45. package/dist/browser/lib/collectionMetrics/lib/calculateAllPropertiesDistribution.d.ts +3 -0
  46. package/dist/browser/lib/collectionMetrics/lib/calculateAllPropertiesDistribution.d.ts.map +1 -0
  47. package/dist/browser/lib/collectionMetrics/lib/calculateAllPropertiesDistribution.js +27 -0
  48. package/dist/browser/lib/collectionMetrics/lib/calculateAllPropertiesDistribution.js.map +1 -0
  49. package/dist/browser/lib/collectionMetrics/lib/calculatePropertyDistribution.cjs +45 -0
  50. package/dist/browser/lib/collectionMetrics/lib/calculatePropertyDistribution.cjs.map +1 -0
  51. package/dist/browser/lib/collectionMetrics/lib/calculatePropertyDistribution.d.cts.map +1 -0
  52. package/dist/browser/lib/collectionMetrics/lib/calculatePropertyDistribution.d.mts.map +1 -0
  53. package/dist/browser/lib/collectionMetrics/lib/calculatePropertyDistribution.d.ts +3 -0
  54. package/dist/browser/lib/collectionMetrics/lib/calculatePropertyDistribution.d.ts.map +1 -0
  55. package/dist/browser/lib/collectionMetrics/lib/calculatePropertyDistribution.js +23 -0
  56. package/dist/browser/lib/collectionMetrics/lib/calculatePropertyDistribution.js.map +1 -0
  57. package/dist/browser/lib/collectionMetrics/lib/distribution.cjs +19 -0
  58. package/dist/browser/lib/collectionMetrics/lib/distribution.cjs.map +1 -0
  59. package/dist/browser/lib/collectionMetrics/lib/distribution.d.cts.map +1 -0
  60. package/dist/browser/lib/collectionMetrics/lib/distribution.d.mts.map +1 -0
  61. package/dist/browser/lib/collectionMetrics/lib/distribution.d.ts +6 -0
  62. package/dist/browser/lib/collectionMetrics/lib/distribution.d.ts.map +1 -0
  63. package/dist/browser/lib/collectionMetrics/lib/distribution.js +1 -0
  64. package/dist/browser/lib/collectionMetrics/lib/distribution.js.map +1 -0
  65. package/dist/browser/lib/collectionMetrics/lib/index.cjs +72 -0
  66. package/dist/browser/lib/collectionMetrics/lib/index.cjs.map +1 -0
  67. package/dist/browser/lib/collectionMetrics/lib/index.d.cts.map +1 -0
  68. package/dist/browser/lib/collectionMetrics/lib/index.d.mts.map +1 -0
  69. package/dist/browser/lib/collectionMetrics/lib/index.d.ts +4 -0
  70. package/dist/browser/lib/collectionMetrics/lib/index.d.ts.map +1 -0
  71. package/dist/browser/lib/collectionMetrics/lib/index.js +4 -0
  72. package/dist/browser/lib/collectionMetrics/lib/index.js.map +1 -0
  73. package/dist/browser/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromOutcomes.cjs +35 -0
  74. package/dist/browser/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromOutcomes.cjs.map +1 -0
  75. package/dist/browser/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromOutcomes.d.cts.map +1 -0
  76. package/dist/browser/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromOutcomes.d.mts.map +1 -0
  77. package/dist/browser/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromOutcomes.d.ts +8 -0
  78. package/dist/browser/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromOutcomes.d.ts.map +1 -0
  79. package/dist/browser/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromOutcomes.js +13 -0
  80. package/dist/browser/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromOutcomes.js.map +1 -0
  81. package/dist/browser/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromProbability.cjs +32 -0
  82. package/dist/browser/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromProbability.cjs.map +1 -0
  83. package/dist/browser/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromProbability.d.cts.map +1 -0
  84. package/dist/browser/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromProbability.d.mts.map +1 -0
  85. package/dist/browser/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromProbability.d.ts +9 -0
  86. package/dist/browser/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromProbability.d.ts.map +1 -0
  87. package/dist/browser/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromProbability.js +10 -0
  88. package/dist/browser/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromProbability.js.map +1 -0
  89. package/dist/browser/lib/collectionMetrics/lib/probabilityDistributions/binomial/index.cjs +46 -0
  90. package/dist/browser/lib/collectionMetrics/lib/probabilityDistributions/binomial/index.cjs.map +1 -0
  91. package/dist/browser/lib/collectionMetrics/lib/probabilityDistributions/binomial/index.d.cts.map +1 -0
  92. package/dist/browser/lib/collectionMetrics/lib/probabilityDistributions/binomial/index.d.mts.map +1 -0
  93. package/dist/browser/lib/collectionMetrics/lib/probabilityDistributions/binomial/index.d.ts +3 -0
  94. package/dist/browser/lib/collectionMetrics/lib/probabilityDistributions/binomial/index.d.ts.map +1 -0
  95. package/dist/browser/lib/collectionMetrics/lib/probabilityDistributions/binomial/index.js +3 -0
  96. package/dist/browser/lib/collectionMetrics/lib/probabilityDistributions/binomial/index.js.map +1 -0
  97. package/dist/browser/lib/collectionMetrics/lib/probabilityDistributions/index.cjs +46 -0
  98. package/dist/browser/lib/collectionMetrics/lib/probabilityDistributions/index.cjs.map +1 -0
  99. package/dist/browser/lib/collectionMetrics/lib/probabilityDistributions/index.d.cts.map +1 -0
  100. package/dist/{lib/collectionMetrics/lib/probabilityDistributions/binomial → browser/lib/collectionMetrics/lib/probabilityDistributions}/index.d.mts.map +1 -1
  101. package/dist/browser/lib/collectionMetrics/lib/probabilityDistributions/index.d.ts +2 -0
  102. package/dist/{lib/collectionMetrics/lib/probabilityDistributions/binomial → browser/lib/collectionMetrics/lib/probabilityDistributions}/index.d.ts.map +1 -1
  103. package/dist/browser/lib/collectionMetrics/lib/probabilityDistributions/index.js +2 -0
  104. package/dist/browser/lib/collectionMetrics/lib/probabilityDistributions/index.js.map +1 -0
  105. package/dist/browser/lib/getNftCollectionCount.cjs +44 -0
  106. package/dist/browser/lib/getNftCollectionCount.cjs.map +1 -0
  107. package/dist/browser/lib/getNftCollectionCount.d.cts.map +1 -0
  108. package/dist/browser/lib/getNftCollectionCount.d.mts.map +1 -0
  109. package/dist/browser/lib/getNftCollectionCount.d.ts +2 -0
  110. package/dist/browser/lib/getNftCollectionCount.d.ts.map +1 -0
  111. package/dist/browser/lib/getNftCollectionCount.js +15 -0
  112. package/dist/browser/lib/getNftCollectionCount.js.map +1 -0
  113. package/dist/browser/lib/getNftCollectionMetadata.cjs +46 -0
  114. package/dist/browser/lib/getNftCollectionMetadata.cjs.map +1 -0
  115. package/dist/browser/lib/getNftCollectionMetadata.d.cts.map +1 -0
  116. package/dist/browser/lib/getNftCollectionMetadata.d.mts.map +1 -0
  117. package/dist/browser/lib/getNftCollectionMetadata.d.ts +3 -0
  118. package/dist/browser/lib/getNftCollectionMetadata.d.ts.map +1 -0
  119. package/dist/browser/lib/getNftCollectionMetadata.js +17 -0
  120. package/dist/browser/lib/getNftCollectionMetadata.js.map +1 -0
  121. package/dist/browser/lib/getNftCollectionNfts.cjs +60 -0
  122. package/dist/browser/lib/getNftCollectionNfts.cjs.map +1 -0
  123. package/dist/browser/lib/getNftCollectionNfts.d.cts.map +1 -0
  124. package/dist/browser/lib/getNftCollectionNfts.d.mts.map +1 -0
  125. package/dist/browser/lib/getNftCollectionNfts.d.ts +3 -0
  126. package/dist/browser/lib/getNftCollectionNfts.d.ts.map +1 -0
  127. package/dist/browser/lib/getNftCollectionNfts.js +31 -0
  128. package/dist/browser/lib/getNftCollectionNfts.js.map +1 -0
  129. package/dist/browser/lib/index.cjs +148 -0
  130. package/dist/browser/lib/index.cjs.map +1 -0
  131. package/dist/browser/lib/index.d.cts.map +1 -0
  132. package/dist/browser/lib/index.d.mts.map +1 -0
  133. package/dist/browser/lib/index.d.ts +5 -0
  134. package/dist/browser/lib/index.d.ts.map +1 -0
  135. package/dist/browser/lib/index.js +5 -0
  136. package/dist/browser/lib/index.js.map +1 -0
  137. package/dist/browser/lib/nonEvaluableContractAddresses.cjs +30 -0
  138. package/dist/browser/lib/nonEvaluableContractAddresses.cjs.map +1 -0
  139. package/dist/browser/lib/nonEvaluableContractAddresses.d.cts.map +1 -0
  140. package/dist/browser/lib/nonEvaluableContractAddresses.d.mts.map +1 -0
  141. package/dist/browser/lib/nonEvaluableContractAddresses.d.ts +6 -0
  142. package/dist/browser/lib/nonEvaluableContractAddresses.d.ts.map +1 -0
  143. package/dist/browser/lib/nonEvaluableContractAddresses.js +8 -0
  144. package/dist/browser/lib/nonEvaluableContractAddresses.js.map +1 -0
  145. package/dist/docs.json +558 -558
  146. package/dist/node/Plugin.d.cts +56 -0
  147. package/dist/node/Plugin.d.cts.map +1 -0
  148. package/dist/node/Plugin.d.mts +56 -0
  149. package/dist/node/Plugin.d.mts.map +1 -0
  150. package/dist/node/Plugin.d.ts +56 -0
  151. package/dist/node/Plugin.d.ts.map +1 -0
  152. package/dist/node/Plugin.js +206 -0
  153. package/dist/node/Plugin.js.map +1 -0
  154. package/dist/node/Plugin.mjs +185 -0
  155. package/dist/node/Plugin.mjs.map +1 -0
  156. package/dist/node/Witness.d.cts +10 -0
  157. package/dist/node/Witness.d.cts.map +1 -0
  158. package/dist/node/Witness.d.mts +10 -0
  159. package/dist/node/Witness.d.mts.map +1 -0
  160. package/dist/node/Witness.d.ts +10 -0
  161. package/dist/node/Witness.d.ts.map +1 -0
  162. package/dist/node/Witness.js +190 -0
  163. package/dist/node/Witness.js.map +1 -0
  164. package/dist/node/Witness.mjs +169 -0
  165. package/dist/node/Witness.mjs.map +1 -0
  166. package/dist/node/index.d.cts +6 -0
  167. package/dist/node/index.d.cts.map +1 -0
  168. package/dist/node/index.d.mts +6 -0
  169. package/dist/node/index.d.mts.map +1 -0
  170. package/dist/node/index.d.ts +6 -0
  171. package/dist/node/index.d.ts.map +1 -0
  172. package/dist/node/index.js +222 -0
  173. package/dist/node/index.js.map +1 -0
  174. package/dist/{index.mjs → node/index.mjs} +8 -5
  175. package/dist/node/index.mjs.map +1 -0
  176. package/dist/node/lib/collectionMetrics/getNftCollectionMetrics.d.cts +4 -0
  177. package/dist/node/lib/collectionMetrics/getNftCollectionMetrics.d.cts.map +1 -0
  178. package/dist/node/lib/collectionMetrics/getNftCollectionMetrics.d.mts +4 -0
  179. package/dist/node/lib/collectionMetrics/getNftCollectionMetrics.d.mts.map +1 -0
  180. package/dist/node/lib/collectionMetrics/getNftCollectionMetrics.d.ts +4 -0
  181. package/dist/node/lib/collectionMetrics/getNftCollectionMetrics.d.ts.map +1 -0
  182. package/dist/node/lib/collectionMetrics/getNftCollectionMetrics.js +90 -0
  183. package/dist/node/lib/collectionMetrics/getNftCollectionMetrics.js.map +1 -0
  184. package/dist/node/lib/collectionMetrics/getNftCollectionMetrics.mjs +63 -0
  185. package/dist/node/lib/collectionMetrics/getNftCollectionMetrics.mjs.map +1 -0
  186. package/dist/node/lib/collectionMetrics/index.d.cts +2 -0
  187. package/dist/node/lib/collectionMetrics/index.d.cts.map +1 -0
  188. package/dist/node/lib/collectionMetrics/index.d.mts +2 -0
  189. package/dist/node/lib/collectionMetrics/index.d.mts.map +1 -0
  190. package/dist/node/lib/collectionMetrics/index.d.ts +2 -0
  191. package/dist/node/lib/collectionMetrics/index.d.ts.map +1 -0
  192. package/dist/node/lib/collectionMetrics/index.js +90 -0
  193. package/dist/node/lib/collectionMetrics/index.js.map +1 -0
  194. package/dist/node/lib/collectionMetrics/index.mjs +63 -0
  195. package/dist/node/lib/collectionMetrics/index.mjs.map +1 -0
  196. package/dist/node/lib/collectionMetrics/lib/calculateAllPropertiesDistribution.d.cts +3 -0
  197. package/dist/node/lib/collectionMetrics/lib/calculateAllPropertiesDistribution.d.cts.map +1 -0
  198. package/dist/node/lib/collectionMetrics/lib/calculateAllPropertiesDistribution.d.mts +3 -0
  199. package/dist/node/lib/collectionMetrics/lib/calculateAllPropertiesDistribution.d.mts.map +1 -0
  200. package/dist/node/lib/collectionMetrics/lib/calculateAllPropertiesDistribution.d.ts +3 -0
  201. package/dist/node/lib/collectionMetrics/lib/calculateAllPropertiesDistribution.d.ts.map +1 -0
  202. package/dist/node/lib/collectionMetrics/lib/calculateAllPropertiesDistribution.js +53 -0
  203. package/dist/node/lib/collectionMetrics/lib/calculateAllPropertiesDistribution.js.map +1 -0
  204. package/dist/node/lib/collectionMetrics/lib/calculateAllPropertiesDistribution.mjs +28 -0
  205. package/dist/node/lib/collectionMetrics/lib/calculateAllPropertiesDistribution.mjs.map +1 -0
  206. package/dist/node/lib/collectionMetrics/lib/calculatePropertyDistribution.d.cts +3 -0
  207. package/dist/node/lib/collectionMetrics/lib/calculatePropertyDistribution.d.cts.map +1 -0
  208. package/dist/node/lib/collectionMetrics/lib/calculatePropertyDistribution.d.mts +3 -0
  209. package/dist/node/lib/collectionMetrics/lib/calculatePropertyDistribution.d.mts.map +1 -0
  210. package/dist/node/lib/collectionMetrics/lib/calculatePropertyDistribution.d.ts +3 -0
  211. package/dist/node/lib/collectionMetrics/lib/calculatePropertyDistribution.d.ts.map +1 -0
  212. package/dist/node/lib/collectionMetrics/lib/calculatePropertyDistribution.js +49 -0
  213. package/dist/node/lib/collectionMetrics/lib/calculatePropertyDistribution.js.map +1 -0
  214. package/dist/node/lib/collectionMetrics/lib/calculatePropertyDistribution.mjs +24 -0
  215. package/dist/node/lib/collectionMetrics/lib/calculatePropertyDistribution.mjs.map +1 -0
  216. package/dist/node/lib/collectionMetrics/lib/distribution.d.cts +6 -0
  217. package/dist/node/lib/collectionMetrics/lib/distribution.d.cts.map +1 -0
  218. package/dist/node/lib/collectionMetrics/lib/distribution.d.mts +6 -0
  219. package/dist/node/lib/collectionMetrics/lib/distribution.d.mts.map +1 -0
  220. package/dist/node/lib/collectionMetrics/lib/distribution.d.ts +6 -0
  221. package/dist/node/lib/collectionMetrics/lib/distribution.d.ts.map +1 -0
  222. package/dist/node/lib/collectionMetrics/lib/distribution.js +19 -0
  223. package/dist/node/lib/collectionMetrics/lib/distribution.js.map +1 -0
  224. package/dist/node/lib/collectionMetrics/lib/distribution.mjs +1 -0
  225. package/dist/node/lib/collectionMetrics/lib/distribution.mjs.map +1 -0
  226. package/dist/node/lib/collectionMetrics/lib/index.d.cts +4 -0
  227. package/dist/node/lib/collectionMetrics/lib/index.d.cts.map +1 -0
  228. package/dist/node/lib/collectionMetrics/lib/index.d.mts +4 -0
  229. package/dist/node/lib/collectionMetrics/lib/index.d.mts.map +1 -0
  230. package/dist/node/lib/collectionMetrics/lib/index.d.ts +4 -0
  231. package/dist/node/lib/collectionMetrics/lib/index.d.ts.map +1 -0
  232. package/dist/node/lib/collectionMetrics/lib/index.js +78 -0
  233. package/dist/node/lib/collectionMetrics/lib/index.js.map +1 -0
  234. package/dist/node/lib/collectionMetrics/lib/index.mjs +49 -0
  235. package/dist/node/lib/collectionMetrics/lib/index.mjs.map +1 -0
  236. package/dist/node/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromOutcomes.d.cts +8 -0
  237. package/dist/node/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromOutcomes.d.cts.map +1 -0
  238. package/dist/node/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromOutcomes.d.mts +8 -0
  239. package/dist/node/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromOutcomes.d.mts.map +1 -0
  240. package/dist/node/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromOutcomes.d.ts +8 -0
  241. package/dist/node/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromOutcomes.d.ts.map +1 -0
  242. package/dist/node/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromOutcomes.js +39 -0
  243. package/dist/node/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromOutcomes.js.map +1 -0
  244. package/dist/node/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromOutcomes.mjs +14 -0
  245. package/dist/node/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromOutcomes.mjs.map +1 -0
  246. package/dist/node/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromProbability.d.cts +9 -0
  247. package/dist/node/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromProbability.d.cts.map +1 -0
  248. package/dist/node/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromProbability.d.mts +9 -0
  249. package/dist/node/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromProbability.d.mts.map +1 -0
  250. package/dist/node/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromProbability.d.ts +9 -0
  251. package/dist/node/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromProbability.d.ts.map +1 -0
  252. package/dist/node/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromProbability.js +36 -0
  253. package/dist/node/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromProbability.js.map +1 -0
  254. package/dist/node/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromProbability.mjs +11 -0
  255. package/dist/node/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromProbability.mjs.map +1 -0
  256. package/dist/node/lib/collectionMetrics/lib/probabilityDistributions/binomial/index.d.cts +3 -0
  257. package/dist/node/lib/collectionMetrics/lib/probabilityDistributions/binomial/index.d.cts.map +1 -0
  258. package/dist/node/lib/collectionMetrics/lib/probabilityDistributions/binomial/index.d.mts +3 -0
  259. package/dist/node/lib/collectionMetrics/lib/probabilityDistributions/binomial/index.d.mts.map +1 -0
  260. package/dist/node/lib/collectionMetrics/lib/probabilityDistributions/binomial/index.d.ts +3 -0
  261. package/dist/node/lib/collectionMetrics/lib/probabilityDistributions/binomial/index.d.ts.map +1 -0
  262. package/dist/node/lib/collectionMetrics/lib/probabilityDistributions/binomial/index.js +51 -0
  263. package/dist/node/lib/collectionMetrics/lib/probabilityDistributions/binomial/index.js.map +1 -0
  264. package/dist/node/lib/collectionMetrics/lib/probabilityDistributions/binomial/index.mjs +23 -0
  265. package/dist/node/lib/collectionMetrics/lib/probabilityDistributions/binomial/index.mjs.map +1 -0
  266. package/dist/node/lib/collectionMetrics/lib/probabilityDistributions/index.d.cts +2 -0
  267. package/dist/node/lib/collectionMetrics/lib/probabilityDistributions/index.d.cts.map +1 -0
  268. package/dist/node/lib/collectionMetrics/lib/probabilityDistributions/index.d.mts +2 -0
  269. package/dist/node/lib/collectionMetrics/lib/probabilityDistributions/index.d.mts.map +1 -0
  270. package/dist/node/lib/collectionMetrics/lib/probabilityDistributions/index.d.ts +2 -0
  271. package/dist/node/lib/collectionMetrics/lib/probabilityDistributions/index.d.ts.map +1 -0
  272. package/dist/node/lib/collectionMetrics/lib/probabilityDistributions/index.js +51 -0
  273. package/dist/node/lib/collectionMetrics/lib/probabilityDistributions/index.js.map +1 -0
  274. package/dist/node/lib/collectionMetrics/lib/probabilityDistributions/index.mjs +23 -0
  275. package/dist/node/lib/collectionMetrics/lib/probabilityDistributions/index.mjs.map +1 -0
  276. package/dist/node/lib/getNftCollectionCount.d.cts +2 -0
  277. package/dist/node/lib/getNftCollectionCount.d.cts.map +1 -0
  278. package/dist/node/lib/getNftCollectionCount.d.mts +2 -0
  279. package/dist/node/lib/getNftCollectionCount.d.mts.map +1 -0
  280. package/dist/node/lib/getNftCollectionCount.d.ts +2 -0
  281. package/dist/node/lib/getNftCollectionCount.d.ts.map +1 -0
  282. package/dist/node/lib/getNftCollectionCount.js +48 -0
  283. package/dist/node/lib/getNftCollectionCount.js.map +1 -0
  284. package/dist/node/lib/getNftCollectionCount.mjs +23 -0
  285. package/dist/node/lib/getNftCollectionCount.mjs.map +1 -0
  286. package/dist/node/lib/getNftCollectionMetadata.d.cts +3 -0
  287. package/dist/node/lib/getNftCollectionMetadata.d.cts.map +1 -0
  288. package/dist/node/lib/getNftCollectionMetadata.d.mts +3 -0
  289. package/dist/node/lib/getNftCollectionMetadata.d.mts.map +1 -0
  290. package/dist/node/lib/getNftCollectionMetadata.d.ts +3 -0
  291. package/dist/node/lib/getNftCollectionMetadata.d.ts.map +1 -0
  292. package/dist/node/lib/getNftCollectionMetadata.js +50 -0
  293. package/dist/node/lib/getNftCollectionMetadata.js.map +1 -0
  294. package/dist/node/lib/getNftCollectionMetadata.mjs +25 -0
  295. package/dist/node/lib/getNftCollectionMetadata.mjs.map +1 -0
  296. package/dist/node/lib/getNftCollectionNfts.d.cts +3 -0
  297. package/dist/node/lib/getNftCollectionNfts.d.cts.map +1 -0
  298. package/dist/node/lib/getNftCollectionNfts.d.mts +3 -0
  299. package/dist/node/lib/getNftCollectionNfts.d.mts.map +1 -0
  300. package/dist/node/lib/getNftCollectionNfts.d.ts +3 -0
  301. package/dist/node/lib/getNftCollectionNfts.d.ts.map +1 -0
  302. package/dist/node/lib/getNftCollectionNfts.js +64 -0
  303. package/dist/node/lib/getNftCollectionNfts.js.map +1 -0
  304. package/dist/node/lib/getNftCollectionNfts.mjs +39 -0
  305. package/dist/node/lib/getNftCollectionNfts.mjs.map +1 -0
  306. package/dist/node/lib/index.d.cts +5 -0
  307. package/dist/node/lib/index.d.cts.map +1 -0
  308. package/dist/node/lib/index.d.mts +5 -0
  309. package/dist/node/lib/index.d.mts.map +1 -0
  310. package/dist/node/lib/index.d.ts +5 -0
  311. package/dist/node/lib/index.d.ts.map +1 -0
  312. package/dist/node/lib/index.js +158 -0
  313. package/dist/node/lib/index.js.map +1 -0
  314. package/dist/node/lib/index.mjs +128 -0
  315. package/dist/node/lib/index.mjs.map +1 -0
  316. package/dist/node/lib/nonEvaluableContractAddresses.d.cts +6 -0
  317. package/dist/node/lib/nonEvaluableContractAddresses.d.cts.map +1 -0
  318. package/dist/node/lib/nonEvaluableContractAddresses.d.mts +6 -0
  319. package/dist/node/lib/nonEvaluableContractAddresses.d.mts.map +1 -0
  320. package/dist/node/lib/nonEvaluableContractAddresses.d.ts +6 -0
  321. package/dist/node/lib/nonEvaluableContractAddresses.d.ts.map +1 -0
  322. package/dist/node/lib/nonEvaluableContractAddresses.js +34 -0
  323. package/dist/node/lib/nonEvaluableContractAddresses.js.map +1 -0
  324. package/dist/node/lib/nonEvaluableContractAddresses.mjs +9 -0
  325. package/dist/node/lib/nonEvaluableContractAddresses.mjs.map +1 -0
  326. package/package.json +33 -30
  327. package/dist/Plugin.d.mts.map +0 -1
  328. package/dist/Plugin.d.ts.map +0 -1
  329. package/dist/Witness.d.mts.map +0 -1
  330. package/dist/Witness.d.ts.map +0 -1
  331. package/dist/index.d.mts.map +0 -1
  332. package/dist/index.d.ts.map +0 -1
  333. package/dist/index.js.map +0 -1
  334. package/dist/index.mjs.map +0 -1
  335. package/dist/lib/collectionMetrics/getNftCollectionMetrics.d.mts.map +0 -1
  336. package/dist/lib/collectionMetrics/getNftCollectionMetrics.d.ts.map +0 -1
  337. package/dist/lib/collectionMetrics/index.d.mts.map +0 -1
  338. package/dist/lib/collectionMetrics/index.d.ts.map +0 -1
  339. package/dist/lib/collectionMetrics/lib/calculateAllPropertiesDistribution.d.mts.map +0 -1
  340. package/dist/lib/collectionMetrics/lib/calculateAllPropertiesDistribution.d.ts.map +0 -1
  341. package/dist/lib/collectionMetrics/lib/calculatePropertyDistribution.d.mts.map +0 -1
  342. package/dist/lib/collectionMetrics/lib/calculatePropertyDistribution.d.ts.map +0 -1
  343. package/dist/lib/collectionMetrics/lib/distribution.d.mts.map +0 -1
  344. package/dist/lib/collectionMetrics/lib/distribution.d.ts.map +0 -1
  345. package/dist/lib/collectionMetrics/lib/index.d.mts.map +0 -1
  346. package/dist/lib/collectionMetrics/lib/index.d.ts.map +0 -1
  347. package/dist/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromOutcomes.d.mts.map +0 -1
  348. package/dist/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromOutcomes.d.ts.map +0 -1
  349. package/dist/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromProbability.d.mts.map +0 -1
  350. package/dist/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromProbability.d.ts.map +0 -1
  351. package/dist/lib/collectionMetrics/lib/probabilityDistributions/index.d.mts.map +0 -1
  352. package/dist/lib/collectionMetrics/lib/probabilityDistributions/index.d.ts.map +0 -1
  353. package/dist/lib/getNftCollectionCount.d.mts.map +0 -1
  354. package/dist/lib/getNftCollectionCount.d.ts.map +0 -1
  355. package/dist/lib/getNftCollectionMetadata.d.mts.map +0 -1
  356. package/dist/lib/getNftCollectionMetadata.d.ts.map +0 -1
  357. package/dist/lib/getNftCollectionNfts.d.mts.map +0 -1
  358. package/dist/lib/getNftCollectionNfts.d.ts.map +0 -1
  359. package/dist/lib/index.d.mts.map +0 -1
  360. package/dist/lib/index.d.ts.map +0 -1
  361. package/dist/lib/nonEvaluableContractAddresses.d.mts.map +0 -1
  362. package/dist/lib/nonEvaluableContractAddresses.d.ts.map +0 -1
  363. /package/dist/{Plugin.d.mts → browser/Plugin.d.cts} +0 -0
  364. /package/dist/{Plugin.d.ts → browser/Plugin.d.mts} +0 -0
  365. /package/dist/{Witness.d.mts → browser/Witness.d.cts} +0 -0
  366. /package/dist/{Witness.d.ts → browser/Witness.d.mts} +0 -0
  367. /package/dist/{index.d.mts → browser/index.d.cts} +0 -0
  368. /package/dist/{index.d.ts → browser/index.d.mts} +0 -0
  369. /package/dist/{lib/collectionMetrics/getNftCollectionMetrics.d.mts → browser/lib/collectionMetrics/getNftCollectionMetrics.d.cts} +0 -0
  370. /package/dist/{lib/collectionMetrics/getNftCollectionMetrics.d.ts → browser/lib/collectionMetrics/getNftCollectionMetrics.d.mts} +0 -0
  371. /package/dist/{lib/collectionMetrics/index.d.mts → browser/lib/collectionMetrics/index.d.cts} +0 -0
  372. /package/dist/{lib/collectionMetrics/index.d.ts → browser/lib/collectionMetrics/index.d.mts} +0 -0
  373. /package/dist/{lib/collectionMetrics/lib/calculateAllPropertiesDistribution.d.mts → browser/lib/collectionMetrics/lib/calculateAllPropertiesDistribution.d.cts} +0 -0
  374. /package/dist/{lib/collectionMetrics/lib/calculateAllPropertiesDistribution.d.ts → browser/lib/collectionMetrics/lib/calculateAllPropertiesDistribution.d.mts} +0 -0
  375. /package/dist/{lib/collectionMetrics/lib/calculatePropertyDistribution.d.mts → browser/lib/collectionMetrics/lib/calculatePropertyDistribution.d.cts} +0 -0
  376. /package/dist/{lib/collectionMetrics/lib/calculatePropertyDistribution.d.ts → browser/lib/collectionMetrics/lib/calculatePropertyDistribution.d.mts} +0 -0
  377. /package/dist/{lib/collectionMetrics/lib/distribution.d.mts → browser/lib/collectionMetrics/lib/distribution.d.cts} +0 -0
  378. /package/dist/{lib/collectionMetrics/lib/distribution.d.ts → browser/lib/collectionMetrics/lib/distribution.d.mts} +0 -0
  379. /package/dist/{lib/collectionMetrics/lib/index.d.mts → browser/lib/collectionMetrics/lib/index.d.cts} +0 -0
  380. /package/dist/{lib/collectionMetrics/lib/index.d.ts → browser/lib/collectionMetrics/lib/index.d.mts} +0 -0
  381. /package/dist/{lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromOutcomes.d.mts → browser/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromOutcomes.d.cts} +0 -0
  382. /package/dist/{lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromOutcomes.d.ts → browser/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromOutcomes.d.mts} +0 -0
  383. /package/dist/{lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromProbability.d.mts → browser/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromProbability.d.cts} +0 -0
  384. /package/dist/{lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromProbability.d.ts → browser/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromProbability.d.mts} +0 -0
  385. /package/dist/{lib/collectionMetrics/lib/probabilityDistributions/binomial/index.d.mts → browser/lib/collectionMetrics/lib/probabilityDistributions/binomial/index.d.cts} +0 -0
  386. /package/dist/{lib/collectionMetrics/lib/probabilityDistributions/binomial/index.d.ts → browser/lib/collectionMetrics/lib/probabilityDistributions/binomial/index.d.mts} +0 -0
  387. /package/dist/{lib/collectionMetrics/lib/probabilityDistributions/index.d.mts → browser/lib/collectionMetrics/lib/probabilityDistributions/index.d.cts} +0 -0
  388. /package/dist/{lib/collectionMetrics/lib/probabilityDistributions/index.d.ts → browser/lib/collectionMetrics/lib/probabilityDistributions/index.d.mts} +0 -0
  389. /package/dist/{lib/getNftCollectionCount.d.mts → browser/lib/getNftCollectionCount.d.cts} +0 -0
  390. /package/dist/{lib/getNftCollectionCount.d.ts → browser/lib/getNftCollectionCount.d.mts} +0 -0
  391. /package/dist/{lib/getNftCollectionMetadata.d.mts → browser/lib/getNftCollectionMetadata.d.cts} +0 -0
  392. /package/dist/{lib/getNftCollectionMetadata.d.ts → browser/lib/getNftCollectionMetadata.d.mts} +0 -0
  393. /package/dist/{lib/getNftCollectionNfts.d.mts → browser/lib/getNftCollectionNfts.d.cts} +0 -0
  394. /package/dist/{lib/getNftCollectionNfts.d.ts → browser/lib/getNftCollectionNfts.d.mts} +0 -0
  395. /package/dist/{lib/index.d.mts → browser/lib/index.d.cts} +0 -0
  396. /package/dist/{lib/index.d.ts → browser/lib/index.d.mts} +0 -0
  397. /package/dist/{lib/nonEvaluableContractAddresses.d.mts → browser/lib/nonEvaluableContractAddresses.d.cts} +0 -0
  398. /package/dist/{lib/nonEvaluableContractAddresses.d.ts → browser/lib/nonEvaluableContractAddresses.d.mts} +0 -0
@@ -0,0 +1,90 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/lib/collectionMetrics/index.ts
21
+ var collectionMetrics_exports = {};
22
+ __export(collectionMetrics_exports, {
23
+ getNftCollectionMetrics: () => getNftCollectionMetrics
24
+ });
25
+ module.exports = __toCommonJS(collectionMetrics_exports);
26
+
27
+ // src/lib/collectionMetrics/lib/calculateAllPropertiesDistribution.ts
28
+ var calculateAllPropertiesDistribution = (array) => {
29
+ const distribution = {};
30
+ array.forEach((item) => {
31
+ for (const property in item) {
32
+ if (Object.prototype.hasOwnProperty.call(item, property)) {
33
+ const value = item[property];
34
+ if (value !== void 0 && value !== null) {
35
+ const valueString = value.toString();
36
+ if (!distribution[property]) {
37
+ distribution[property] = { [valueString]: 1 };
38
+ } else if (!distribution[property][valueString]) {
39
+ ;
40
+ distribution[property][valueString] = 1;
41
+ } else {
42
+ ;
43
+ distribution[property][valueString] += 1;
44
+ }
45
+ }
46
+ }
47
+ }
48
+ });
49
+ return distribution;
50
+ };
51
+
52
+ // src/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromProbability.ts
53
+ var calculateBinomialParamsFromProbability = (n, p) => {
54
+ const mean = n * p;
55
+ const variance = n * p * (1 - p);
56
+ const stdDev = Math.sqrt(variance);
57
+ return { mean, p, stdDev, variance };
58
+ };
59
+
60
+ // src/lib/collectionMetrics/getNftCollectionMetrics.ts
61
+ var getNftCollectionMetrics = (nfts) => {
62
+ const traits = nfts.map((nft) => {
63
+ var _a;
64
+ return (_a = nft == null ? void 0 : nft.metadata) == null ? void 0 : _a.attributes;
65
+ }).filter((v) => v !== void 0).map((attributes2) => {
66
+ return Object.fromEntries(attributes2.map((attribute) => [attribute.trait_type, attribute.value]));
67
+ });
68
+ const distribution = calculateAllPropertiesDistribution(traits);
69
+ const n = nfts.length;
70
+ const attributes = Object.fromEntries(
71
+ Object.entries(distribution).filter((v) => v[1] !== void 0).map(([trait, entries]) => {
72
+ const traitCount = Object.values(entries).reduce((prev, curr) => prev + curr, 0);
73
+ const { p } = calculateBinomialParamsFromProbability(nfts.length, traitCount / n);
74
+ const values = Object.fromEntries(
75
+ Object.entries(entries).map(([value, traitValueCount]) => {
76
+ const { p: p2 } = calculateBinomialParamsFromProbability(n, traitValueCount / n);
77
+ const metrics = { binomial: { p: p2 }, count: traitValueCount };
78
+ return [value, metrics];
79
+ })
80
+ );
81
+ return [trait, { metrics: { binomial: { p }, count: traitCount }, values }];
82
+ })
83
+ );
84
+ return { metadata: { attributes } };
85
+ };
86
+ // Annotate the CommonJS export names for ESM import in node:
87
+ 0 && (module.exports = {
88
+ getNftCollectionMetrics
89
+ });
90
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/lib/collectionMetrics/index.ts","../../../../src/lib/collectionMetrics/lib/calculateAllPropertiesDistribution.ts","../../../../src/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromProbability.ts","../../../../src/lib/collectionMetrics/getNftCollectionMetrics.ts"],"sourcesContent":["export * from './getNftCollectionMetrics'\n","import { Distribution } from './distribution'\n\nexport const calculateAllPropertiesDistribution = <T>(array: T[]): Distribution<T> => {\n const distribution: Distribution<T> = {}\n\n array.forEach((item) => {\n for (const property in item) {\n if (Object.prototype.hasOwnProperty.call(item, property)) {\n const value = item[property as keyof T]\n if (value !== undefined && value !== null) {\n const valueString = value.toString()\n if (!distribution[property]) {\n distribution[property] = { [valueString]: 1 }\n } else if (!distribution[property]![valueString]) {\n ;(distribution[property] as Record<string, number>)[valueString] = 1\n } else {\n ;(distribution[property] as Record<string, number>)[valueString] += 1\n }\n }\n }\n }\n })\n\n return distribution\n}\n","import { BinomialDistributionParameters } from '@xyo-network/crypto-nft-collection-payload-plugin'\n\n/**\n * Calculates the parameters of a binomial distribution given the number of trials and success probability\n * @param n Number of trials\n * @param p Success probability\n * @returns The binomial distribution parameters\n */\nexport const calculateBinomialParamsFromProbability = (n: number, p: number): BinomialDistributionParameters => {\n // Mean (µ)\n const mean = n * p\n\n // Variance (σ^2)\n const variance = n * p * (1 - p)\n\n // Standard Deviation (σ)\n const stdDev = Math.sqrt(variance)\n\n return { mean, p, stdDev, variance }\n}\n","import { NftCollectionMetrics, NftTraitMetrics } from '@xyo-network/crypto-nft-collection-payload-plugin'\nimport { NftInfoFields, OpenSeaNftAttribute } from '@xyo-network/crypto-nft-payload-plugin'\n\nimport { calculateAllPropertiesDistribution, calculateBinomialParamsFromProbability } from './lib'\n\ntype TraitDistributionEntry = [string, { [key: string]: number }]\n\nexport const getNftCollectionMetrics = (nfts: NftInfoFields[]): NftCollectionMetrics => {\n const traits = nfts\n .map((nft) => nft?.metadata?.attributes as OpenSeaNftAttribute[] | undefined)\n .filter((v): v is OpenSeaNftAttribute[] => v !== undefined)\n .map((attributes) => {\n return Object.fromEntries(attributes.map((attribute) => [attribute.trait_type, attribute.value]))\n })\n const distribution = calculateAllPropertiesDistribution(traits)\n const n = nfts.length\n const attributes = Object.fromEntries(\n Object.entries(distribution)\n .filter((v): v is TraitDistributionEntry => v[1] !== undefined)\n .map(([trait, entries]) => {\n const traitCount = Object.values(entries).reduce((prev, curr) => prev + curr, 0)\n const { p } = calculateBinomialParamsFromProbability(nfts.length, traitCount / n)\n const values = Object.fromEntries(\n Object.entries(entries).map(([value, traitValueCount]) => {\n const { p } = calculateBinomialParamsFromProbability(n, traitValueCount / n)\n const metrics: NftTraitMetrics = { binomial: { p }, count: traitValueCount }\n return [value, metrics]\n }),\n )\n return [trait, { metrics: { binomial: { p }, count: traitCount }, values }]\n }),\n )\n return { metadata: { attributes } }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACEO,IAAM,qCAAqC,CAAI,UAAgC;AACpF,QAAM,eAAgC,CAAC;AAEvC,QAAM,QAAQ,CAAC,SAAS;AACtB,eAAW,YAAY,MAAM;AAC3B,UAAI,OAAO,UAAU,eAAe,KAAK,MAAM,QAAQ,GAAG;AACxD,cAAM,QAAQ,KAAK,QAAmB;AACtC,YAAI,UAAU,UAAa,UAAU,MAAM;AACzC,gBAAM,cAAc,MAAM,SAAS;AACnC,cAAI,CAAC,aAAa,QAAQ,GAAG;AAC3B,yBAAa,QAAQ,IAAI,EAAE,CAAC,WAAW,GAAG,EAAE;AAAA,UAC9C,WAAW,CAAC,aAAa,QAAQ,EAAG,WAAW,GAAG;AAChD;AAAC,YAAC,aAAa,QAAQ,EAA6B,WAAW,IAAI;AAAA,UACrE,OAAO;AACL;AAAC,YAAC,aAAa,QAAQ,EAA6B,WAAW,KAAK;AAAA,UACtE;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,EACF,CAAC;AAED,SAAO;AACT;;;AChBO,IAAM,yCAAyC,CAAC,GAAW,MAA8C;AAE9G,QAAM,OAAO,IAAI;AAGjB,QAAM,WAAW,IAAI,KAAK,IAAI;AAG9B,QAAM,SAAS,KAAK,KAAK,QAAQ;AAEjC,SAAO,EAAE,MAAM,GAAG,QAAQ,SAAS;AACrC;;;ACZO,IAAM,0BAA0B,CAAC,SAAgD;AACtF,QAAM,SAAS,KACZ,IAAI,CAAC,QAAK;AATf;AASkB,4CAAK,aAAL,mBAAe;AAAA,GAA+C,EAC3E,OAAO,CAAC,MAAkC,MAAM,MAAS,EACzD,IAAI,CAACA,gBAAe;AACnB,WAAO,OAAO,YAAYA,YAAW,IAAI,CAAC,cAAc,CAAC,UAAU,YAAY,UAAU,KAAK,CAAC,CAAC;AAAA,EAClG,CAAC;AACH,QAAM,eAAe,mCAAmC,MAAM;AAC9D,QAAM,IAAI,KAAK;AACf,QAAM,aAAa,OAAO;AAAA,IACxB,OAAO,QAAQ,YAAY,EACxB,OAAO,CAAC,MAAmC,EAAE,CAAC,MAAM,MAAS,EAC7D,IAAI,CAAC,CAAC,OAAO,OAAO,MAAM;AACzB,YAAM,aAAa,OAAO,OAAO,OAAO,EAAE,OAAO,CAAC,MAAM,SAAS,OAAO,MAAM,CAAC;AAC/E,YAAM,EAAE,EAAE,IAAI,uCAAuC,KAAK,QAAQ,aAAa,CAAC;AAChF,YAAM,SAAS,OAAO;AAAA,QACpB,OAAO,QAAQ,OAAO,EAAE,IAAI,CAAC,CAAC,OAAO,eAAe,MAAM;AACxD,gBAAM,EAAE,GAAAC,GAAE,IAAI,uCAAuC,GAAG,kBAAkB,CAAC;AAC3E,gBAAM,UAA2B,EAAE,UAAU,EAAE,GAAAA,GAAE,GAAG,OAAO,gBAAgB;AAC3E,iBAAO,CAAC,OAAO,OAAO;AAAA,QACxB,CAAC;AAAA,MACH;AACA,aAAO,CAAC,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,EAAE,GAAG,OAAO,WAAW,GAAG,OAAO,CAAC;AAAA,IAC5E,CAAC;AAAA,EACL;AACA,SAAO,EAAE,UAAU,EAAE,WAAW,EAAE;AACpC;","names":["attributes","p"]}
@@ -0,0 +1,63 @@
1
+ // src/lib/collectionMetrics/lib/calculateAllPropertiesDistribution.ts
2
+ var calculateAllPropertiesDistribution = (array) => {
3
+ const distribution = {};
4
+ array.forEach((item) => {
5
+ for (const property in item) {
6
+ if (Object.prototype.hasOwnProperty.call(item, property)) {
7
+ const value = item[property];
8
+ if (value !== void 0 && value !== null) {
9
+ const valueString = value.toString();
10
+ if (!distribution[property]) {
11
+ distribution[property] = { [valueString]: 1 };
12
+ } else if (!distribution[property][valueString]) {
13
+ ;
14
+ distribution[property][valueString] = 1;
15
+ } else {
16
+ ;
17
+ distribution[property][valueString] += 1;
18
+ }
19
+ }
20
+ }
21
+ }
22
+ });
23
+ return distribution;
24
+ };
25
+
26
+ // src/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromProbability.ts
27
+ var calculateBinomialParamsFromProbability = (n, p) => {
28
+ const mean = n * p;
29
+ const variance = n * p * (1 - p);
30
+ const stdDev = Math.sqrt(variance);
31
+ return { mean, p, stdDev, variance };
32
+ };
33
+
34
+ // src/lib/collectionMetrics/getNftCollectionMetrics.ts
35
+ var getNftCollectionMetrics = (nfts) => {
36
+ const traits = nfts.map((nft) => {
37
+ var _a;
38
+ return (_a = nft == null ? void 0 : nft.metadata) == null ? void 0 : _a.attributes;
39
+ }).filter((v) => v !== void 0).map((attributes2) => {
40
+ return Object.fromEntries(attributes2.map((attribute) => [attribute.trait_type, attribute.value]));
41
+ });
42
+ const distribution = calculateAllPropertiesDistribution(traits);
43
+ const n = nfts.length;
44
+ const attributes = Object.fromEntries(
45
+ Object.entries(distribution).filter((v) => v[1] !== void 0).map(([trait, entries]) => {
46
+ const traitCount = Object.values(entries).reduce((prev, curr) => prev + curr, 0);
47
+ const { p } = calculateBinomialParamsFromProbability(nfts.length, traitCount / n);
48
+ const values = Object.fromEntries(
49
+ Object.entries(entries).map(([value, traitValueCount]) => {
50
+ const { p: p2 } = calculateBinomialParamsFromProbability(n, traitValueCount / n);
51
+ const metrics = { binomial: { p: p2 }, count: traitValueCount };
52
+ return [value, metrics];
53
+ })
54
+ );
55
+ return [trait, { metrics: { binomial: { p }, count: traitCount }, values }];
56
+ })
57
+ );
58
+ return { metadata: { attributes } };
59
+ };
60
+ export {
61
+ getNftCollectionMetrics
62
+ };
63
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/lib/collectionMetrics/lib/calculateAllPropertiesDistribution.ts","../../../../src/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromProbability.ts","../../../../src/lib/collectionMetrics/getNftCollectionMetrics.ts"],"sourcesContent":["import { Distribution } from './distribution'\n\nexport const calculateAllPropertiesDistribution = <T>(array: T[]): Distribution<T> => {\n const distribution: Distribution<T> = {}\n\n array.forEach((item) => {\n for (const property in item) {\n if (Object.prototype.hasOwnProperty.call(item, property)) {\n const value = item[property as keyof T]\n if (value !== undefined && value !== null) {\n const valueString = value.toString()\n if (!distribution[property]) {\n distribution[property] = { [valueString]: 1 }\n } else if (!distribution[property]![valueString]) {\n ;(distribution[property] as Record<string, number>)[valueString] = 1\n } else {\n ;(distribution[property] as Record<string, number>)[valueString] += 1\n }\n }\n }\n }\n })\n\n return distribution\n}\n","import { BinomialDistributionParameters } from '@xyo-network/crypto-nft-collection-payload-plugin'\n\n/**\n * Calculates the parameters of a binomial distribution given the number of trials and success probability\n * @param n Number of trials\n * @param p Success probability\n * @returns The binomial distribution parameters\n */\nexport const calculateBinomialParamsFromProbability = (n: number, p: number): BinomialDistributionParameters => {\n // Mean (µ)\n const mean = n * p\n\n // Variance (σ^2)\n const variance = n * p * (1 - p)\n\n // Standard Deviation (σ)\n const stdDev = Math.sqrt(variance)\n\n return { mean, p, stdDev, variance }\n}\n","import { NftCollectionMetrics, NftTraitMetrics } from '@xyo-network/crypto-nft-collection-payload-plugin'\nimport { NftInfoFields, OpenSeaNftAttribute } from '@xyo-network/crypto-nft-payload-plugin'\n\nimport { calculateAllPropertiesDistribution, calculateBinomialParamsFromProbability } from './lib'\n\ntype TraitDistributionEntry = [string, { [key: string]: number }]\n\nexport const getNftCollectionMetrics = (nfts: NftInfoFields[]): NftCollectionMetrics => {\n const traits = nfts\n .map((nft) => nft?.metadata?.attributes as OpenSeaNftAttribute[] | undefined)\n .filter((v): v is OpenSeaNftAttribute[] => v !== undefined)\n .map((attributes) => {\n return Object.fromEntries(attributes.map((attribute) => [attribute.trait_type, attribute.value]))\n })\n const distribution = calculateAllPropertiesDistribution(traits)\n const n = nfts.length\n const attributes = Object.fromEntries(\n Object.entries(distribution)\n .filter((v): v is TraitDistributionEntry => v[1] !== undefined)\n .map(([trait, entries]) => {\n const traitCount = Object.values(entries).reduce((prev, curr) => prev + curr, 0)\n const { p } = calculateBinomialParamsFromProbability(nfts.length, traitCount / n)\n const values = Object.fromEntries(\n Object.entries(entries).map(([value, traitValueCount]) => {\n const { p } = calculateBinomialParamsFromProbability(n, traitValueCount / n)\n const metrics: NftTraitMetrics = { binomial: { p }, count: traitValueCount }\n return [value, metrics]\n }),\n )\n return [trait, { metrics: { binomial: { p }, count: traitCount }, values }]\n }),\n )\n return { metadata: { attributes } }\n}\n"],"mappings":";AAEO,IAAM,qCAAqC,CAAI,UAAgC;AACpF,QAAM,eAAgC,CAAC;AAEvC,QAAM,QAAQ,CAAC,SAAS;AACtB,eAAW,YAAY,MAAM;AAC3B,UAAI,OAAO,UAAU,eAAe,KAAK,MAAM,QAAQ,GAAG;AACxD,cAAM,QAAQ,KAAK,QAAmB;AACtC,YAAI,UAAU,UAAa,UAAU,MAAM;AACzC,gBAAM,cAAc,MAAM,SAAS;AACnC,cAAI,CAAC,aAAa,QAAQ,GAAG;AAC3B,yBAAa,QAAQ,IAAI,EAAE,CAAC,WAAW,GAAG,EAAE;AAAA,UAC9C,WAAW,CAAC,aAAa,QAAQ,EAAG,WAAW,GAAG;AAChD;AAAC,YAAC,aAAa,QAAQ,EAA6B,WAAW,IAAI;AAAA,UACrE,OAAO;AACL;AAAC,YAAC,aAAa,QAAQ,EAA6B,WAAW,KAAK;AAAA,UACtE;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,EACF,CAAC;AAED,SAAO;AACT;;;AChBO,IAAM,yCAAyC,CAAC,GAAW,MAA8C;AAE9G,QAAM,OAAO,IAAI;AAGjB,QAAM,WAAW,IAAI,KAAK,IAAI;AAG9B,QAAM,SAAS,KAAK,KAAK,QAAQ;AAEjC,SAAO,EAAE,MAAM,GAAG,QAAQ,SAAS;AACrC;;;ACZO,IAAM,0BAA0B,CAAC,SAAgD;AACtF,QAAM,SAAS,KACZ,IAAI,CAAC,QAAK;AATf;AASkB,4CAAK,aAAL,mBAAe;AAAA,GAA+C,EAC3E,OAAO,CAAC,MAAkC,MAAM,MAAS,EACzD,IAAI,CAACA,gBAAe;AACnB,WAAO,OAAO,YAAYA,YAAW,IAAI,CAAC,cAAc,CAAC,UAAU,YAAY,UAAU,KAAK,CAAC,CAAC;AAAA,EAClG,CAAC;AACH,QAAM,eAAe,mCAAmC,MAAM;AAC9D,QAAM,IAAI,KAAK;AACf,QAAM,aAAa,OAAO;AAAA,IACxB,OAAO,QAAQ,YAAY,EACxB,OAAO,CAAC,MAAmC,EAAE,CAAC,MAAM,MAAS,EAC7D,IAAI,CAAC,CAAC,OAAO,OAAO,MAAM;AACzB,YAAM,aAAa,OAAO,OAAO,OAAO,EAAE,OAAO,CAAC,MAAM,SAAS,OAAO,MAAM,CAAC;AAC/E,YAAM,EAAE,EAAE,IAAI,uCAAuC,KAAK,QAAQ,aAAa,CAAC;AAChF,YAAM,SAAS,OAAO;AAAA,QACpB,OAAO,QAAQ,OAAO,EAAE,IAAI,CAAC,CAAC,OAAO,eAAe,MAAM;AACxD,gBAAM,EAAE,GAAAC,GAAE,IAAI,uCAAuC,GAAG,kBAAkB,CAAC;AAC3E,gBAAM,UAA2B,EAAE,UAAU,EAAE,GAAAA,GAAE,GAAG,OAAO,gBAAgB;AAC3E,iBAAO,CAAC,OAAO,OAAO;AAAA,QACxB,CAAC;AAAA,MACH;AACA,aAAO,CAAC,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,EAAE,GAAG,OAAO,WAAW,GAAG,OAAO,CAAC;AAAA,IAC5E,CAAC;AAAA,EACL;AACA,SAAO,EAAE,UAAU,EAAE,WAAW,EAAE;AACpC;","names":["attributes","p"]}
@@ -0,0 +1,3 @@
1
+ import { Distribution } from './distribution';
2
+ export declare const calculateAllPropertiesDistribution: <T>(array: T[]) => Distribution<T>;
3
+ //# sourceMappingURL=calculateAllPropertiesDistribution.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"calculateAllPropertiesDistribution.d.ts","sourceRoot":"","sources":["../../../../../src/lib/collectionMetrics/lib/calculateAllPropertiesDistribution.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAE7C,eAAO,MAAM,kCAAkC,oCAsB9C,CAAA"}
@@ -0,0 +1,3 @@
1
+ import { Distribution } from './distribution';
2
+ export declare const calculateAllPropertiesDistribution: <T>(array: T[]) => Distribution<T>;
3
+ //# sourceMappingURL=calculateAllPropertiesDistribution.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"calculateAllPropertiesDistribution.d.ts","sourceRoot":"","sources":["../../../../../src/lib/collectionMetrics/lib/calculateAllPropertiesDistribution.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAE7C,eAAO,MAAM,kCAAkC,oCAsB9C,CAAA"}
@@ -0,0 +1,3 @@
1
+ import { Distribution } from './distribution';
2
+ export declare const calculateAllPropertiesDistribution: <T>(array: T[]) => Distribution<T>;
3
+ //# sourceMappingURL=calculateAllPropertiesDistribution.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"calculateAllPropertiesDistribution.d.ts","sourceRoot":"","sources":["../../../../../src/lib/collectionMetrics/lib/calculateAllPropertiesDistribution.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAE7C,eAAO,MAAM,kCAAkC,oCAsB9C,CAAA"}
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/lib/collectionMetrics/lib/calculateAllPropertiesDistribution.ts
21
+ var calculateAllPropertiesDistribution_exports = {};
22
+ __export(calculateAllPropertiesDistribution_exports, {
23
+ calculateAllPropertiesDistribution: () => calculateAllPropertiesDistribution
24
+ });
25
+ module.exports = __toCommonJS(calculateAllPropertiesDistribution_exports);
26
+ var calculateAllPropertiesDistribution = (array) => {
27
+ const distribution = {};
28
+ array.forEach((item) => {
29
+ for (const property in item) {
30
+ if (Object.prototype.hasOwnProperty.call(item, property)) {
31
+ const value = item[property];
32
+ if (value !== void 0 && value !== null) {
33
+ const valueString = value.toString();
34
+ if (!distribution[property]) {
35
+ distribution[property] = { [valueString]: 1 };
36
+ } else if (!distribution[property][valueString]) {
37
+ ;
38
+ distribution[property][valueString] = 1;
39
+ } else {
40
+ ;
41
+ distribution[property][valueString] += 1;
42
+ }
43
+ }
44
+ }
45
+ }
46
+ });
47
+ return distribution;
48
+ };
49
+ // Annotate the CommonJS export names for ESM import in node:
50
+ 0 && (module.exports = {
51
+ calculateAllPropertiesDistribution
52
+ });
53
+ //# sourceMappingURL=calculateAllPropertiesDistribution.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/lib/collectionMetrics/lib/calculateAllPropertiesDistribution.ts"],"sourcesContent":["import { Distribution } from './distribution'\n\nexport const calculateAllPropertiesDistribution = <T>(array: T[]): Distribution<T> => {\n const distribution: Distribution<T> = {}\n\n array.forEach((item) => {\n for (const property in item) {\n if (Object.prototype.hasOwnProperty.call(item, property)) {\n const value = item[property as keyof T]\n if (value !== undefined && value !== null) {\n const valueString = value.toString()\n if (!distribution[property]) {\n distribution[property] = { [valueString]: 1 }\n } else if (!distribution[property]![valueString]) {\n ;(distribution[property] as Record<string, number>)[valueString] = 1\n } else {\n ;(distribution[property] as Record<string, number>)[valueString] += 1\n }\n }\n }\n }\n })\n\n return distribution\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEO,IAAM,qCAAqC,CAAI,UAAgC;AACpF,QAAM,eAAgC,CAAC;AAEvC,QAAM,QAAQ,CAAC,SAAS;AACtB,eAAW,YAAY,MAAM;AAC3B,UAAI,OAAO,UAAU,eAAe,KAAK,MAAM,QAAQ,GAAG;AACxD,cAAM,QAAQ,KAAK,QAAmB;AACtC,YAAI,UAAU,UAAa,UAAU,MAAM;AACzC,gBAAM,cAAc,MAAM,SAAS;AACnC,cAAI,CAAC,aAAa,QAAQ,GAAG;AAC3B,yBAAa,QAAQ,IAAI,EAAE,CAAC,WAAW,GAAG,EAAE;AAAA,UAC9C,WAAW,CAAC,aAAa,QAAQ,EAAG,WAAW,GAAG;AAChD;AAAC,YAAC,aAAa,QAAQ,EAA6B,WAAW,IAAI;AAAA,UACrE,OAAO;AACL;AAAC,YAAC,aAAa,QAAQ,EAA6B,WAAW,KAAK;AAAA,UACtE;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,EACF,CAAC;AAED,SAAO;AACT;","names":[]}
@@ -0,0 +1,28 @@
1
+ // src/lib/collectionMetrics/lib/calculateAllPropertiesDistribution.ts
2
+ var calculateAllPropertiesDistribution = (array) => {
3
+ const distribution = {};
4
+ array.forEach((item) => {
5
+ for (const property in item) {
6
+ if (Object.prototype.hasOwnProperty.call(item, property)) {
7
+ const value = item[property];
8
+ if (value !== void 0 && value !== null) {
9
+ const valueString = value.toString();
10
+ if (!distribution[property]) {
11
+ distribution[property] = { [valueString]: 1 };
12
+ } else if (!distribution[property][valueString]) {
13
+ ;
14
+ distribution[property][valueString] = 1;
15
+ } else {
16
+ ;
17
+ distribution[property][valueString] += 1;
18
+ }
19
+ }
20
+ }
21
+ }
22
+ });
23
+ return distribution;
24
+ };
25
+ export {
26
+ calculateAllPropertiesDistribution
27
+ };
28
+ //# sourceMappingURL=calculateAllPropertiesDistribution.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/lib/collectionMetrics/lib/calculateAllPropertiesDistribution.ts"],"sourcesContent":["import { Distribution } from './distribution'\n\nexport const calculateAllPropertiesDistribution = <T>(array: T[]): Distribution<T> => {\n const distribution: Distribution<T> = {}\n\n array.forEach((item) => {\n for (const property in item) {\n if (Object.prototype.hasOwnProperty.call(item, property)) {\n const value = item[property as keyof T]\n if (value !== undefined && value !== null) {\n const valueString = value.toString()\n if (!distribution[property]) {\n distribution[property] = { [valueString]: 1 }\n } else if (!distribution[property]![valueString]) {\n ;(distribution[property] as Record<string, number>)[valueString] = 1\n } else {\n ;(distribution[property] as Record<string, number>)[valueString] += 1\n }\n }\n }\n }\n })\n\n return distribution\n}\n"],"mappings":";AAEO,IAAM,qCAAqC,CAAI,UAAgC;AACpF,QAAM,eAAgC,CAAC;AAEvC,QAAM,QAAQ,CAAC,SAAS;AACtB,eAAW,YAAY,MAAM;AAC3B,UAAI,OAAO,UAAU,eAAe,KAAK,MAAM,QAAQ,GAAG;AACxD,cAAM,QAAQ,KAAK,QAAmB;AACtC,YAAI,UAAU,UAAa,UAAU,MAAM;AACzC,gBAAM,cAAc,MAAM,SAAS;AACnC,cAAI,CAAC,aAAa,QAAQ,GAAG;AAC3B,yBAAa,QAAQ,IAAI,EAAE,CAAC,WAAW,GAAG,EAAE;AAAA,UAC9C,WAAW,CAAC,aAAa,QAAQ,EAAG,WAAW,GAAG;AAChD;AAAC,YAAC,aAAa,QAAQ,EAA6B,WAAW,IAAI;AAAA,UACrE,OAAO;AACL;AAAC,YAAC,aAAa,QAAQ,EAA6B,WAAW,KAAK;AAAA,UACtE;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,EACF,CAAC;AAED,SAAO;AACT;","names":[]}
@@ -0,0 +1,3 @@
1
+ import { Distribution } from './distribution';
2
+ export declare const calculatePropertyDistribution: <T>(array: T[], property: keyof T) => Distribution<T>;
3
+ //# sourceMappingURL=calculatePropertyDistribution.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"calculatePropertyDistribution.d.ts","sourceRoot":"","sources":["../../../../../src/lib/collectionMetrics/lib/calculatePropertyDistribution.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAE7C,eAAO,MAAM,6BAA6B,uDAgBzC,CAAA"}
@@ -0,0 +1,3 @@
1
+ import { Distribution } from './distribution';
2
+ export declare const calculatePropertyDistribution: <T>(array: T[], property: keyof T) => Distribution<T>;
3
+ //# sourceMappingURL=calculatePropertyDistribution.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"calculatePropertyDistribution.d.ts","sourceRoot":"","sources":["../../../../../src/lib/collectionMetrics/lib/calculatePropertyDistribution.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAE7C,eAAO,MAAM,6BAA6B,uDAgBzC,CAAA"}
@@ -0,0 +1,3 @@
1
+ import { Distribution } from './distribution';
2
+ export declare const calculatePropertyDistribution: <T>(array: T[], property: keyof T) => Distribution<T>;
3
+ //# sourceMappingURL=calculatePropertyDistribution.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"calculatePropertyDistribution.d.ts","sourceRoot":"","sources":["../../../../../src/lib/collectionMetrics/lib/calculatePropertyDistribution.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAE7C,eAAO,MAAM,6BAA6B,uDAgBzC,CAAA"}
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/lib/collectionMetrics/lib/calculatePropertyDistribution.ts
21
+ var calculatePropertyDistribution_exports = {};
22
+ __export(calculatePropertyDistribution_exports, {
23
+ calculatePropertyDistribution: () => calculatePropertyDistribution
24
+ });
25
+ module.exports = __toCommonJS(calculatePropertyDistribution_exports);
26
+ var calculatePropertyDistribution = (array, property) => {
27
+ const distribution = {};
28
+ array.forEach((item) => {
29
+ const value = item[property];
30
+ if (value !== void 0 && value !== null) {
31
+ const valueString = value.toString();
32
+ if (!distribution[property]) {
33
+ distribution[property] = { [valueString]: 1 };
34
+ } else if (!distribution[property][valueString]) {
35
+ ;
36
+ distribution[property][valueString] = 1;
37
+ } else {
38
+ ;
39
+ distribution[property][valueString] += 1;
40
+ }
41
+ }
42
+ });
43
+ return distribution;
44
+ };
45
+ // Annotate the CommonJS export names for ESM import in node:
46
+ 0 && (module.exports = {
47
+ calculatePropertyDistribution
48
+ });
49
+ //# sourceMappingURL=calculatePropertyDistribution.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/lib/collectionMetrics/lib/calculatePropertyDistribution.ts"],"sourcesContent":["import { Distribution } from './distribution'\n\nexport const calculatePropertyDistribution = <T>(array: T[], property: keyof T): Distribution<T> => {\n const distribution: Distribution<T> = {}\n array.forEach((item) => {\n const value = item[property]\n if (value !== undefined && value !== null) {\n const valueString = value.toString()\n if (!distribution[property]) {\n distribution[property] = { [valueString]: 1 }\n } else if (!distribution[property]![valueString]) {\n ;(distribution[property] as Record<string, number>)[valueString] = 1\n } else {\n ;(distribution[property] as Record<string, number>)[valueString] += 1\n }\n }\n })\n return distribution\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEO,IAAM,gCAAgC,CAAI,OAAY,aAAuC;AAClG,QAAM,eAAgC,CAAC;AACvC,QAAM,QAAQ,CAAC,SAAS;AACtB,UAAM,QAAQ,KAAK,QAAQ;AAC3B,QAAI,UAAU,UAAa,UAAU,MAAM;AACzC,YAAM,cAAc,MAAM,SAAS;AACnC,UAAI,CAAC,aAAa,QAAQ,GAAG;AAC3B,qBAAa,QAAQ,IAAI,EAAE,CAAC,WAAW,GAAG,EAAE;AAAA,MAC9C,WAAW,CAAC,aAAa,QAAQ,EAAG,WAAW,GAAG;AAChD;AAAC,QAAC,aAAa,QAAQ,EAA6B,WAAW,IAAI;AAAA,MACrE,OAAO;AACL;AAAC,QAAC,aAAa,QAAQ,EAA6B,WAAW,KAAK;AAAA,MACtE;AAAA,IACF;AAAA,EACF,CAAC;AACD,SAAO;AACT;","names":[]}
@@ -0,0 +1,24 @@
1
+ // src/lib/collectionMetrics/lib/calculatePropertyDistribution.ts
2
+ var calculatePropertyDistribution = (array, property) => {
3
+ const distribution = {};
4
+ array.forEach((item) => {
5
+ const value = item[property];
6
+ if (value !== void 0 && value !== null) {
7
+ const valueString = value.toString();
8
+ if (!distribution[property]) {
9
+ distribution[property] = { [valueString]: 1 };
10
+ } else if (!distribution[property][valueString]) {
11
+ ;
12
+ distribution[property][valueString] = 1;
13
+ } else {
14
+ ;
15
+ distribution[property][valueString] += 1;
16
+ }
17
+ }
18
+ });
19
+ return distribution;
20
+ };
21
+ export {
22
+ calculatePropertyDistribution
23
+ };
24
+ //# sourceMappingURL=calculatePropertyDistribution.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/lib/collectionMetrics/lib/calculatePropertyDistribution.ts"],"sourcesContent":["import { Distribution } from './distribution'\n\nexport const calculatePropertyDistribution = <T>(array: T[], property: keyof T): Distribution<T> => {\n const distribution: Distribution<T> = {}\n array.forEach((item) => {\n const value = item[property]\n if (value !== undefined && value !== null) {\n const valueString = value.toString()\n if (!distribution[property]) {\n distribution[property] = { [valueString]: 1 }\n } else if (!distribution[property]![valueString]) {\n ;(distribution[property] as Record<string, number>)[valueString] = 1\n } else {\n ;(distribution[property] as Record<string, number>)[valueString] += 1\n }\n }\n })\n return distribution\n}\n"],"mappings":";AAEO,IAAM,gCAAgC,CAAI,OAAY,aAAuC;AAClG,QAAM,eAAgC,CAAC;AACvC,QAAM,QAAQ,CAAC,SAAS;AACtB,UAAM,QAAQ,KAAK,QAAQ;AAC3B,QAAI,UAAU,UAAa,UAAU,MAAM;AACzC,YAAM,cAAc,MAAM,SAAS;AACnC,UAAI,CAAC,aAAa,QAAQ,GAAG;AAC3B,qBAAa,QAAQ,IAAI,EAAE,CAAC,WAAW,GAAG,EAAE;AAAA,MAC9C,WAAW,CAAC,aAAa,QAAQ,EAAG,WAAW,GAAG;AAChD;AAAC,QAAC,aAAa,QAAQ,EAA6B,WAAW,IAAI;AAAA,MACrE,OAAO;AACL;AAAC,QAAC,aAAa,QAAQ,EAA6B,WAAW,KAAK;AAAA,MACtE;AAAA,IACF;AAAA,EACF,CAAC;AACD,SAAO;AACT;","names":[]}
@@ -0,0 +1,6 @@
1
+ export type Distribution<T> = {
2
+ [K in keyof T]?: {
3
+ [value: string]: number;
4
+ };
5
+ };
6
+ //# sourceMappingURL=distribution.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"distribution.d.ts","sourceRoot":"","sources":["../../../../../src/lib/collectionMetrics/lib/distribution.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI;KAC3B,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE;QAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE;CAC7C,CAAA"}
@@ -0,0 +1,6 @@
1
+ export type Distribution<T> = {
2
+ [K in keyof T]?: {
3
+ [value: string]: number;
4
+ };
5
+ };
6
+ //# sourceMappingURL=distribution.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"distribution.d.ts","sourceRoot":"","sources":["../../../../../src/lib/collectionMetrics/lib/distribution.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI;KAC3B,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE;QAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE;CAC7C,CAAA"}
@@ -0,0 +1,6 @@
1
+ export type Distribution<T> = {
2
+ [K in keyof T]?: {
3
+ [value: string]: number;
4
+ };
5
+ };
6
+ //# sourceMappingURL=distribution.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"distribution.d.ts","sourceRoot":"","sources":["../../../../../src/lib/collectionMetrics/lib/distribution.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI;KAC3B,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE;QAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE;CAC7C,CAAA"}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __copyProps = (to, from, except, desc) => {
7
+ if (from && typeof from === "object" || typeof from === "function") {
8
+ for (let key of __getOwnPropNames(from))
9
+ if (!__hasOwnProp.call(to, key) && key !== except)
10
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
11
+ }
12
+ return to;
13
+ };
14
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
15
+
16
+ // src/lib/collectionMetrics/lib/distribution.ts
17
+ var distribution_exports = {};
18
+ module.exports = __toCommonJS(distribution_exports);
19
+ //# sourceMappingURL=distribution.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/lib/collectionMetrics/lib/distribution.ts"],"sourcesContent":["export type Distribution<T> = {\n [K in keyof T]?: { [value: string]: number }\n}\n"],"mappings":";;;;;;;;;;;;;;;;AAAA;AAAA;","names":[]}
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=distribution.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1,4 @@
1
+ export * from './calculateAllPropertiesDistribution';
2
+ export * from './distribution';
3
+ export * from './probabilityDistributions';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/lib/collectionMetrics/lib/index.ts"],"names":[],"mappings":"AAAA,cAAc,sCAAsC,CAAA;AACpD,cAAc,gBAAgB,CAAA;AAC9B,cAAc,4BAA4B,CAAA"}
@@ -0,0 +1,4 @@
1
+ export * from './calculateAllPropertiesDistribution';
2
+ export * from './distribution';
3
+ export * from './probabilityDistributions';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/lib/collectionMetrics/lib/index.ts"],"names":[],"mappings":"AAAA,cAAc,sCAAsC,CAAA;AACpD,cAAc,gBAAgB,CAAA;AAC9B,cAAc,4BAA4B,CAAA"}
@@ -0,0 +1,4 @@
1
+ export * from './calculateAllPropertiesDistribution';
2
+ export * from './distribution';
3
+ export * from './probabilityDistributions';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/lib/collectionMetrics/lib/index.ts"],"names":[],"mappings":"AAAA,cAAc,sCAAsC,CAAA;AACpD,cAAc,gBAAgB,CAAA;AAC9B,cAAc,4BAA4B,CAAA"}
@@ -0,0 +1,78 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/lib/collectionMetrics/lib/index.ts
21
+ var lib_exports = {};
22
+ __export(lib_exports, {
23
+ calculateAllPropertiesDistribution: () => calculateAllPropertiesDistribution,
24
+ calculateBinomialParamsFromOutcomes: () => calculateBinomialParamsFromOutcomes,
25
+ calculateBinomialParamsFromProbability: () => calculateBinomialParamsFromProbability
26
+ });
27
+ module.exports = __toCommonJS(lib_exports);
28
+
29
+ // src/lib/collectionMetrics/lib/calculateAllPropertiesDistribution.ts
30
+ var calculateAllPropertiesDistribution = (array) => {
31
+ const distribution = {};
32
+ array.forEach((item) => {
33
+ for (const property in item) {
34
+ if (Object.prototype.hasOwnProperty.call(item, property)) {
35
+ const value = item[property];
36
+ if (value !== void 0 && value !== null) {
37
+ const valueString = value.toString();
38
+ if (!distribution[property]) {
39
+ distribution[property] = { [valueString]: 1 };
40
+ } else if (!distribution[property][valueString]) {
41
+ ;
42
+ distribution[property][valueString] = 1;
43
+ } else {
44
+ ;
45
+ distribution[property][valueString] += 1;
46
+ }
47
+ }
48
+ }
49
+ }
50
+ });
51
+ return distribution;
52
+ };
53
+
54
+ // src/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromOutcomes.ts
55
+ var calculateBinomialParamsFromOutcomes = (outcomes) => {
56
+ const n = outcomes.length;
57
+ const sum = outcomes.reduce((acc, value) => acc + value, 0);
58
+ const p = sum / n;
59
+ const mean = n * p;
60
+ const variance = n * p * (1 - p);
61
+ const stdDev = Math.sqrt(variance);
62
+ return { mean, p, stdDev, variance };
63
+ };
64
+
65
+ // src/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromProbability.ts
66
+ var calculateBinomialParamsFromProbability = (n, p) => {
67
+ const mean = n * p;
68
+ const variance = n * p * (1 - p);
69
+ const stdDev = Math.sqrt(variance);
70
+ return { mean, p, stdDev, variance };
71
+ };
72
+ // Annotate the CommonJS export names for ESM import in node:
73
+ 0 && (module.exports = {
74
+ calculateAllPropertiesDistribution,
75
+ calculateBinomialParamsFromOutcomes,
76
+ calculateBinomialParamsFromProbability
77
+ });
78
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/lib/collectionMetrics/lib/index.ts","../../../../../src/lib/collectionMetrics/lib/calculateAllPropertiesDistribution.ts","../../../../../src/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromOutcomes.ts","../../../../../src/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromProbability.ts"],"sourcesContent":["export * from './calculateAllPropertiesDistribution'\nexport * from './distribution'\nexport * from './probabilityDistributions'\n","import { Distribution } from './distribution'\n\nexport const calculateAllPropertiesDistribution = <T>(array: T[]): Distribution<T> => {\n const distribution: Distribution<T> = {}\n\n array.forEach((item) => {\n for (const property in item) {\n if (Object.prototype.hasOwnProperty.call(item, property)) {\n const value = item[property as keyof T]\n if (value !== undefined && value !== null) {\n const valueString = value.toString()\n if (!distribution[property]) {\n distribution[property] = { [valueString]: 1 }\n } else if (!distribution[property]![valueString]) {\n ;(distribution[property] as Record<string, number>)[valueString] = 1\n } else {\n ;(distribution[property] as Record<string, number>)[valueString] += 1\n }\n }\n }\n }\n })\n\n return distribution\n}\n","import { BinomialDistributionParameters } from '@xyo-network/crypto-nft-collection-payload-plugin'\n\n/**\n * Calculates the parameters of a binomial distribution given a list of outcomes\n * @param outcomes List of outcomes, where 1 is a success and 0 is a failure\n * @returns The mean, standard deviation, and variance of the binomial distribution\n */\nexport const calculateBinomialParamsFromOutcomes = (outcomes: number[]): BinomialDistributionParameters => {\n const n = outcomes.length\n // Calculate p: the proportion of successes\n const sum = outcomes.reduce((acc, value) => acc + value, 0)\n const p = sum / n\n // Mean (µ)\n const mean = n * p\n // Variance (σ^2)\n const variance = n * p * (1 - p)\n // Standard Deviation (σ)\n const stdDev = Math.sqrt(variance)\n return { mean, p, stdDev, variance }\n}\n","import { BinomialDistributionParameters } from '@xyo-network/crypto-nft-collection-payload-plugin'\n\n/**\n * Calculates the parameters of a binomial distribution given the number of trials and success probability\n * @param n Number of trials\n * @param p Success probability\n * @returns The binomial distribution parameters\n */\nexport const calculateBinomialParamsFromProbability = (n: number, p: number): BinomialDistributionParameters => {\n // Mean (µ)\n const mean = n * p\n\n // Variance (σ^2)\n const variance = n * p * (1 - p)\n\n // Standard Deviation (σ)\n const stdDev = Math.sqrt(variance)\n\n return { mean, p, stdDev, variance }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACEO,IAAM,qCAAqC,CAAI,UAAgC;AACpF,QAAM,eAAgC,CAAC;AAEvC,QAAM,QAAQ,CAAC,SAAS;AACtB,eAAW,YAAY,MAAM;AAC3B,UAAI,OAAO,UAAU,eAAe,KAAK,MAAM,QAAQ,GAAG;AACxD,cAAM,QAAQ,KAAK,QAAmB;AACtC,YAAI,UAAU,UAAa,UAAU,MAAM;AACzC,gBAAM,cAAc,MAAM,SAAS;AACnC,cAAI,CAAC,aAAa,QAAQ,GAAG;AAC3B,yBAAa,QAAQ,IAAI,EAAE,CAAC,WAAW,GAAG,EAAE;AAAA,UAC9C,WAAW,CAAC,aAAa,QAAQ,EAAG,WAAW,GAAG;AAChD;AAAC,YAAC,aAAa,QAAQ,EAA6B,WAAW,IAAI;AAAA,UACrE,OAAO;AACL;AAAC,YAAC,aAAa,QAAQ,EAA6B,WAAW,KAAK;AAAA,UACtE;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,EACF,CAAC;AAED,SAAO;AACT;;;ACjBO,IAAM,sCAAsC,CAAC,aAAuD;AACzG,QAAM,IAAI,SAAS;AAEnB,QAAM,MAAM,SAAS,OAAO,CAAC,KAAK,UAAU,MAAM,OAAO,CAAC;AAC1D,QAAM,IAAI,MAAM;AAEhB,QAAM,OAAO,IAAI;AAEjB,QAAM,WAAW,IAAI,KAAK,IAAI;AAE9B,QAAM,SAAS,KAAK,KAAK,QAAQ;AACjC,SAAO,EAAE,MAAM,GAAG,QAAQ,SAAS;AACrC;;;ACXO,IAAM,yCAAyC,CAAC,GAAW,MAA8C;AAE9G,QAAM,OAAO,IAAI;AAGjB,QAAM,WAAW,IAAI,KAAK,IAAI;AAG9B,QAAM,SAAS,KAAK,KAAK,QAAQ;AAEjC,SAAO,EAAE,MAAM,GAAG,QAAQ,SAAS;AACrC;","names":[]}