@xyo-network/crypto-nft-collection-witness-plugin 2.70.11 → 2.70.13

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 (50) hide show
  1. package/dist/cjs/Witness.js +3 -2
  2. package/dist/cjs/Witness.js.map +1 -1
  3. package/dist/cjs/lib/collectionMetrics/getNftCollectionMetrics.js +16 -9
  4. package/dist/cjs/lib/collectionMetrics/getNftCollectionMetrics.js.map +1 -1
  5. package/dist/cjs/lib/collectionMetrics/lib/index.js +1 -0
  6. package/dist/cjs/lib/collectionMetrics/lib/index.js.map +1 -1
  7. package/dist/cjs/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromOutcomes.js +23 -0
  8. package/dist/cjs/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromOutcomes.js.map +1 -0
  9. package/dist/cjs/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromProbability.js +20 -0
  10. package/dist/cjs/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromProbability.js.map +1 -0
  11. package/dist/cjs/lib/collectionMetrics/lib/probabilityDistributions/binomial/index.js +6 -0
  12. package/dist/cjs/lib/collectionMetrics/lib/probabilityDistributions/binomial/index.js.map +1 -0
  13. package/dist/cjs/lib/collectionMetrics/lib/probabilityDistributions/index.js +5 -0
  14. package/dist/cjs/lib/collectionMetrics/lib/probabilityDistributions/index.js.map +1 -0
  15. package/dist/docs.json +1442 -1673
  16. package/dist/esm/Witness.js +3 -2
  17. package/dist/esm/Witness.js.map +1 -1
  18. package/dist/esm/lib/collectionMetrics/getNftCollectionMetrics.js +17 -10
  19. package/dist/esm/lib/collectionMetrics/getNftCollectionMetrics.js.map +1 -1
  20. package/dist/esm/lib/collectionMetrics/lib/index.js +1 -0
  21. package/dist/esm/lib/collectionMetrics/lib/index.js.map +1 -1
  22. package/dist/esm/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromOutcomes.js +19 -0
  23. package/dist/esm/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromOutcomes.js.map +1 -0
  24. package/dist/esm/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromProbability.js +16 -0
  25. package/dist/esm/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromProbability.js.map +1 -0
  26. package/dist/esm/lib/collectionMetrics/lib/probabilityDistributions/binomial/index.js +3 -0
  27. package/dist/esm/lib/collectionMetrics/lib/probabilityDistributions/binomial/index.js.map +1 -0
  28. package/dist/esm/lib/collectionMetrics/lib/probabilityDistributions/index.js +2 -0
  29. package/dist/esm/lib/collectionMetrics/lib/probabilityDistributions/index.js.map +1 -0
  30. package/dist/types/Witness.d.ts.map +1 -1
  31. package/dist/types/lib/collectionMetrics/getNftCollectionMetrics.d.ts +1 -10
  32. package/dist/types/lib/collectionMetrics/getNftCollectionMetrics.d.ts.map +1 -1
  33. package/dist/types/lib/collectionMetrics/lib/index.d.ts +1 -0
  34. package/dist/types/lib/collectionMetrics/lib/index.d.ts.map +1 -1
  35. package/dist/types/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromOutcomes.d.ts +8 -0
  36. package/dist/types/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromOutcomes.d.ts.map +1 -0
  37. package/dist/types/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromProbability.d.ts +9 -0
  38. package/dist/types/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromProbability.d.ts.map +1 -0
  39. package/dist/types/lib/collectionMetrics/lib/probabilityDistributions/binomial/index.d.ts +3 -0
  40. package/dist/types/lib/collectionMetrics/lib/probabilityDistributions/binomial/index.d.ts.map +1 -0
  41. package/dist/types/lib/collectionMetrics/lib/probabilityDistributions/index.d.ts +2 -0
  42. package/dist/types/lib/collectionMetrics/lib/probabilityDistributions/index.d.ts.map +1 -0
  43. package/package.json +8 -8
  44. package/src/Witness.ts +3 -2
  45. package/src/lib/collectionMetrics/getNftCollectionMetrics.ts +23 -19
  46. package/src/lib/collectionMetrics/lib/index.ts +1 -0
  47. package/src/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromOutcomes.ts +20 -0
  48. package/src/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromProbability.ts +20 -0
  49. package/src/lib/collectionMetrics/lib/probabilityDistributions/binomial/index.ts +2 -0
  50. package/src/lib/collectionMetrics/lib/probabilityDistributions/index.ts +1 -0
@@ -30,14 +30,15 @@ class CryptoNftCollectionWitness extends witness_1.AbstractWitness {
30
30
  (0, lib_1.getNftCollectionNfts)(address, chainId, this.account.private.hex, maxNfts),
31
31
  this.writeArchivist(),
32
32
  ]);
33
- const distribution = (0, lib_1.getNftCollectionMetrics)(nfts);
33
+ const metrics = (0, lib_1.getNftCollectionMetrics)(nfts);
34
34
  const [sources] = yield Promise.all([
35
35
  // Hash all the payloads
36
36
  Promise.all(nfts.map((nft) => core_1.PayloadHasher.hashAsync(nft))),
37
37
  // Insert them into the archivist if we have one
38
38
  archivist ? archivist.insert(nfts) : NoOp,
39
39
  ]);
40
- return Object.assign(Object.assign(Object.assign({}, info), distribution), { schema: crypto_nft_collection_payload_plugin_1.NftCollectionSchema, sources, total });
40
+ const payload = Object.assign(Object.assign({}, info), { metrics, schema: crypto_nft_collection_payload_plugin_1.NftCollectionSchema, sources, total });
41
+ return payload;
41
42
  })));
42
43
  return observations.flat();
43
44
  });
@@ -1 +1 @@
1
- {"version":3,"file":"Witness.js","sourceRoot":"","sources":["../../src/Witness.ts"],"names":[],"mappings":";;;;AAAA,2CAAyC;AACzC,4CAAiD;AACjD,4GAM0D;AAG1D,kDAAqE;AAErE,+BAAsH;AAItH,MAAM,cAAc,GAAG,GAAG,CAAA;AAE1B;;;;GAIG;AACH,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,EAAE,CAAA;AAE9B,MAAa,0BAEX,SAAQ,yBAAwB;IAGP,cAAc,CAAC,QAAoB;;;YAC1D,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;YAC3B,MAAM,OAAO,GAAG,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,MAAM,CAAC,yEAAkC,CAAC,mCAAI,EAAE,CAAA;YAC1E,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,GAAG,CACpC,OAAO,CAAC,GAAG,CAAoC,CAAO,KAAK,EAAE,EAAE;gBAC7D,MAAM,OAAO,GAAG,IAAA,iBAAQ,EAAC,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,OAAO,KAAI,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,4BAA4B,CAAC,CAAA;gBAC7F,MAAM,OAAO,GAAG,IAAA,iBAAQ,EAAC,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,OAAO,KAAI,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,4BAA4B,CAAC,CAAA;gBAC7F,MAAM,OAAO,GAAG,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,OAAO,KAAI,cAAc,CAAA;gBAChD,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;oBACvD,IAAA,0BAAoB,EAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC;oBAChE,IAAA,+BAAyB,EAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC;oBACrE,IAAA,0BAAoB,EAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC;oBACzE,IAAI,CAAC,cAAc,EAAE;iBACtB,CAAC,CAAA;gBACF,MAAM,YAAY,GAAG,IAAA,6BAAuB,EAAC,IAAI,CAAC,CAAA;gBAClD,MAAM,CAAC,OAAO,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;oBAClC,wBAAwB;oBACxB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,oBAAa,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;oBAC5D,gDAAgD;oBAChD,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI;iBAC1C,CAAC,CAAA;gBACF,qDAAY,IAAI,GAAK,YAAY,KAAE,MAAM,EAAE,0DAAmB,EAAE,OAAO,EAAE,KAAK,IAAE;YAClF,CAAC,CAAA,CAAC,CACH,CAAA;YACD,OAAO,YAAY,CAAC,IAAI,EAAE,CAAA;;KAC3B;;AA9BH,gEA+BC;AA5BiB,wCAAa,GAAG,CAAC,uEAAgC,CAAC,CAAA"}
1
+ {"version":3,"file":"Witness.js","sourceRoot":"","sources":["../../src/Witness.ts"],"names":[],"mappings":";;;;AAAA,2CAAyC;AACzC,4CAAiD;AACjD,4GAM0D;AAG1D,kDAAqE;AAErE,+BAAsH;AAItH,MAAM,cAAc,GAAG,GAAG,CAAA;AAE1B;;;;GAIG;AACH,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,EAAE,CAAA;AAE9B,MAAa,0BAEX,SAAQ,yBAAwB;IAGP,cAAc,CAAC,QAAoB;;;YAC1D,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;YAC3B,MAAM,OAAO,GAAG,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,MAAM,CAAC,yEAAkC,CAAC,mCAAI,EAAE,CAAA;YAC1E,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,GAAG,CACpC,OAAO,CAAC,GAAG,CAAoC,CAAO,KAAK,EAAE,EAAE;gBAC7D,MAAM,OAAO,GAAG,IAAA,iBAAQ,EAAC,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,OAAO,KAAI,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,4BAA4B,CAAC,CAAA;gBAC7F,MAAM,OAAO,GAAG,IAAA,iBAAQ,EAAC,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,OAAO,KAAI,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,4BAA4B,CAAC,CAAA;gBAC7F,MAAM,OAAO,GAAG,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,OAAO,KAAI,cAAc,CAAA;gBAChD,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;oBACvD,IAAA,0BAAoB,EAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC;oBAChE,IAAA,+BAAyB,EAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC;oBACrE,IAAA,0BAAoB,EAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC;oBACzE,IAAI,CAAC,cAAc,EAAE;iBACtB,CAAC,CAAA;gBACF,MAAM,OAAO,GAAG,IAAA,6BAAuB,EAAC,IAAI,CAAC,CAAA;gBAC7C,MAAM,CAAC,OAAO,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;oBAClC,wBAAwB;oBACxB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,oBAAa,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;oBAC5D,gDAAgD;oBAChD,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI;iBAC1C,CAAC,CAAA;gBACF,MAAM,OAAO,mCAAkC,IAAI,KAAE,OAAO,EAAE,MAAM,EAAE,0DAAmB,EAAE,OAAO,EAAE,KAAK,GAAE,CAAA;gBAC3G,OAAO,OAAO,CAAA;YAChB,CAAC,CAAA,CAAC,CACH,CAAA;YACD,OAAO,YAAY,CAAC,IAAI,EAAE,CAAA;;KAC3B;;AA/BH,gEAgCC;AA7BiB,wCAAa,GAAG,CAAC,uEAAgC,CAAC,CAAA"}
@@ -3,19 +3,26 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getNftCollectionMetrics = void 0;
4
4
  const lib_1 = require("./lib");
5
5
  const getNftCollectionMetrics = (nfts) => {
6
- const attributes = nfts
6
+ const traits = nfts
7
7
  .map((nft) => { var _a; return (_a = nft.metadata) === null || _a === void 0 ? void 0 : _a.attributes; })
8
8
  .map((attributes) => {
9
9
  return Object.fromEntries(attributes.map((attribute) => [attribute.trait_type, attribute.value]));
10
10
  });
11
- const distribution = (0, lib_1.calculateAllPropertiesDistribution)(attributes);
12
- return {
13
- distribution: {
14
- metadata: {
15
- attributes: distribution,
16
- },
17
- },
18
- };
11
+ const distribution = (0, lib_1.calculateAllPropertiesDistribution)(traits);
12
+ const n = nfts.length;
13
+ const attributes = Object.fromEntries(Object.entries(distribution)
14
+ .filter((v) => v[1] !== undefined)
15
+ .map(([trait, entries]) => {
16
+ const traitCount = Object.values(entries).reduce((prev, curr) => prev + curr, 0);
17
+ const { p } = (0, lib_1.calculateBinomialParamsFromProbability)(nfts.length, traitCount / n);
18
+ const values = Object.fromEntries(Object.entries(entries).map(([value, traitValueCount]) => {
19
+ const { p } = (0, lib_1.calculateBinomialParamsFromProbability)(n, traitValueCount / n);
20
+ const metrics = { binomial: { p }, count: traitValueCount };
21
+ return [value, metrics];
22
+ }));
23
+ return [trait, { metrics: { binomial: { p }, count: traitCount }, values }];
24
+ }));
25
+ return { metadata: { attributes } };
19
26
  };
20
27
  exports.getNftCollectionMetrics = getNftCollectionMetrics;
21
28
  //# sourceMappingURL=getNftCollectionMetrics.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getNftCollectionMetrics.js","sourceRoot":"","sources":["../../../../src/lib/collectionMetrics/getNftCollectionMetrics.ts"],"names":[],"mappings":";;;AAEA,+BAAwE;AAYjE,MAAM,uBAAuB,GAAG,CAAC,IAAe,EAAwB,EAAE;IAC/E,MAAM,UAAU,GAAG,IAAI;SACpB,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,WAAC,OAAA,MAAA,GAAG,CAAC,QAAQ,0CAAE,UAAmC,CAAA,EAAA,CAAC;SAC/D,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE;QAClB,OAAO,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,UAAU,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IACnG,CAAC,CAAC,CAAA;IACJ,MAAM,YAAY,GAAG,IAAA,wCAAkC,EAAC,UAAU,CAAC,CAAA;IACnE,OAAO;QACL,YAAY,EAAE;YACZ,QAAQ,EAAE;gBACR,UAAU,EAAE,YAAY;aACzB;SACF;KACF,CAAA;AACH,CAAC,CAAA;AAdY,QAAA,uBAAuB,2BAcnC"}
1
+ {"version":3,"file":"getNftCollectionMetrics.js","sourceRoot":"","sources":["../../../../src/lib/collectionMetrics/getNftCollectionMetrics.ts"],"names":[],"mappings":";;;AAGA,+BAAkG;AAI3F,MAAM,uBAAuB,GAAG,CAAC,IAAe,EAAwB,EAAE;IAC/E,MAAM,MAAM,GAAG,IAAI;SAChB,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,WAAC,OAAA,MAAA,GAAG,CAAC,QAAQ,0CAAE,UAAmC,CAAA,EAAA,CAAC;SAC/D,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE;QAClB,OAAO,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,UAAU,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IACnG,CAAC,CAAC,CAAA;IACJ,MAAM,YAAY,GAAG,IAAA,wCAAkC,EAAC,MAAM,CAAC,CAAA;IAC/D,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAA;IACrB,MAAM,UAAU,GAAG,MAAM,CAAC,WAAW,CACnC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC;SACzB,MAAM,CAAC,CAAC,CAAC,EAA+B,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC;SAC9D,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,EAAE;QACxB,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,GAAG,IAAI,EAAE,CAAC,CAAC,CAAA;QAChF,MAAM,EAAE,CAAC,EAAE,GAAG,IAAA,4CAAsC,EAAC,IAAI,CAAC,MAAM,EAAE,UAAU,GAAG,CAAC,CAAC,CAAA;QACjF,MAAM,MAAM,GAAG,MAAM,CAAC,WAAW,CAC/B,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,eAAe,CAAC,EAAE,EAAE;YACvD,MAAM,EAAE,CAAC,EAAE,GAAG,IAAA,4CAAsC,EAAC,CAAC,EAAE,eAAe,GAAG,CAAC,CAAC,CAAA;YAC5E,MAAM,OAAO,GAAoB,EAAE,QAAQ,EAAE,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,eAAe,EAAE,CAAA;YAC5E,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;QACzB,CAAC,CAAC,CACH,CAAA;QACD,OAAO,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,MAAM,EAAE,CAAC,CAAA;IAC7E,CAAC,CAAC,CACL,CAAA;IACD,OAAO,EAAE,QAAQ,EAAE,EAAE,UAAU,EAAE,EAAE,CAAA;AACrC,CAAC,CAAA;AAzBY,QAAA,uBAAuB,2BAyBnC"}
@@ -3,4 +3,5 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
4
  tslib_1.__exportStar(require("./calculateAllPropertiesDistribution"), exports);
5
5
  tslib_1.__exportStar(require("./distribution"), exports);
6
+ tslib_1.__exportStar(require("./probabilityDistributions"), exports);
6
7
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/lib/collectionMetrics/lib/index.ts"],"names":[],"mappings":";;;AAAA,+EAAoD;AACpD,yDAA8B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/lib/collectionMetrics/lib/index.ts"],"names":[],"mappings":";;;AAAA,+EAAoD;AACpD,yDAA8B;AAC9B,qEAA0C"}
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.calculateBinomialParamsFromOutcomes = void 0;
4
+ /**
5
+ * Calculates the parameters of a binomial distribution given a list of outcomes
6
+ * @param outcomes List of outcomes, where 1 is a success and 0 is a failure
7
+ * @returns The mean, standard deviation, and variance of the binomial distribution
8
+ */
9
+ const calculateBinomialParamsFromOutcomes = (outcomes) => {
10
+ const n = outcomes.length;
11
+ // Calculate p: the proportion of successes
12
+ const sum = outcomes.reduce((acc, value) => acc + value, 0);
13
+ const p = sum / n;
14
+ // Mean (µ)
15
+ const mean = n * p;
16
+ // Variance (σ^2)
17
+ const variance = n * p * (1 - p);
18
+ // Standard Deviation (σ)
19
+ const stdDev = Math.sqrt(variance);
20
+ return { mean, p, stdDev, variance };
21
+ };
22
+ exports.calculateBinomialParamsFromOutcomes = calculateBinomialParamsFromOutcomes;
23
+ //# sourceMappingURL=calculateBinomialParamsFromOutcomes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"calculateBinomialParamsFromOutcomes.js","sourceRoot":"","sources":["../../../../../../../src/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromOutcomes.ts"],"names":[],"mappings":";;;AAEA;;;;GAIG;AACI,MAAM,mCAAmC,GAAG,CAAC,QAAkB,EAAkC,EAAE;IACxG,MAAM,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAA;IACzB,2CAA2C;IAC3C,MAAM,GAAG,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,GAAG,KAAK,EAAE,CAAC,CAAC,CAAA;IAC3D,MAAM,CAAC,GAAG,GAAG,GAAG,CAAC,CAAA;IACjB,WAAW;IACX,MAAM,IAAI,GAAG,CAAC,GAAG,CAAC,CAAA;IAClB,iBAAiB;IACjB,MAAM,QAAQ,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;IAChC,yBAAyB;IACzB,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IAClC,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAA;AACtC,CAAC,CAAA;AAZY,QAAA,mCAAmC,uCAY/C"}
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.calculateBinomialParamsFromProbability = void 0;
4
+ /**
5
+ * Calculates the parameters of a binomial distribution given the number of trials and success probability
6
+ * @param n Number of trials
7
+ * @param p Success probability
8
+ * @returns The binomial distribution parameters
9
+ */
10
+ const calculateBinomialParamsFromProbability = (n, p) => {
11
+ // Mean (µ)
12
+ const mean = n * p;
13
+ // Variance (σ^2)
14
+ const variance = n * p * (1 - p);
15
+ // Standard Deviation (σ)
16
+ const stdDev = Math.sqrt(variance);
17
+ return { mean, p, stdDev, variance };
18
+ };
19
+ exports.calculateBinomialParamsFromProbability = calculateBinomialParamsFromProbability;
20
+ //# sourceMappingURL=calculateBinomialParamsFromProbability.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"calculateBinomialParamsFromProbability.js","sourceRoot":"","sources":["../../../../../../../src/lib/collectionMetrics/lib/probabilityDistributions/binomial/calculateBinomialParamsFromProbability.ts"],"names":[],"mappings":";;;AAEA;;;;;GAKG;AACI,MAAM,sCAAsC,GAAG,CAAC,CAAS,EAAE,CAAS,EAAkC,EAAE;IAC7G,WAAW;IACX,MAAM,IAAI,GAAG,CAAC,GAAG,CAAC,CAAA;IAElB,iBAAiB;IACjB,MAAM,QAAQ,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;IAEhC,yBAAyB;IACzB,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IAElC,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAA;AACtC,CAAC,CAAA;AAXY,QAAA,sCAAsC,0CAWlD"}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./calculateBinomialParamsFromOutcomes"), exports);
5
+ tslib_1.__exportStar(require("./calculateBinomialParamsFromProbability"), exports);
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../src/lib/collectionMetrics/lib/probabilityDistributions/binomial/index.ts"],"names":[],"mappings":";;;AAAA,gFAAqD;AACrD,mFAAwD"}
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./binomial"), exports);
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/lib/collectionMetrics/lib/probabilityDistributions/index.ts"],"names":[],"mappings":";;;AAAA,qDAA0B"}