prographs 0.12.0 → 0.13.0
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.
- package/CHANGELOG.md +9 -1
- package/README.md +6 -4
- package/dist/AutoGraph-PDPEAIXL.cjs +145 -0
- package/dist/GraphType.js +19 -0
- package/dist/autograph/chartIndex.js +521 -0
- package/dist/autograph/chartModules.js +2 -1
- package/dist/autograph/index.cjs +98 -93
- package/dist/catalog-DI4XZ46L.cjs +142 -0
- package/dist/catalog.js +2 -1
- package/dist/charts/biologycharts/BiologySamples.js +59 -0
- package/dist/charts/biologycharts/PunnettSquare.js +342 -0
- package/dist/charts/biologycharts/biologyEnums.js +22 -1
- package/dist/charts/biologycharts/index.js +5 -3
- package/dist/charts/doecharts/DoeSamples.js +78 -0
- package/dist/charts/doecharts/SipocDiagram.js +453 -0
- package/dist/charts/doecharts/index.js +4 -2
- package/dist/charts/fieldcharts/SpeciesAccumulationCurve.js +350 -0
- package/dist/charts/fieldcharts/fieldEnums.js +8 -1
- package/dist/charts/fieldcharts/index.js +5 -3
- package/dist/charts/signals/AntennaPatternChart.js +492 -0
- package/dist/charts/signals/SignalSamples.js +17 -0
- package/dist/charts/signals/index.js +5 -3
- package/dist/charts/softwarediagrams/ComponentDiagram.js +504 -0
- package/dist/charts/softwarediagrams/DeploymentDiagram.js +419 -0
- package/dist/charts/softwarediagrams/SoftwareSamples.js +283 -1
- package/dist/charts/softwarediagrams/index.js +7 -3
- package/dist/charts/softwarediagrams/softwareEnums.js +45 -1
- package/dist/charts/sportscharts/PowerDurationCurve.js +301 -0
- package/dist/charts/sportscharts/SportsSamples.js +102 -0
- package/dist/charts/sportscharts/TrainingLoadChart.js +325 -0
- package/dist/charts/sportscharts/index.js +6 -2
- package/dist/charts/strategycharts/BassDiffusionChart.js +362 -0
- package/dist/charts/strategycharts/BassModel.js +96 -0
- package/dist/charts/strategycharts/BurnRunwayChart.js +284 -0
- package/dist/charts/strategycharts/CapTableChart.js +366 -0
- package/dist/charts/strategycharts/KanbanBoard.js +324 -0
- package/dist/charts/strategycharts/OkrTree.js +339 -0
- package/dist/charts/strategycharts/StrategyPane.js +27 -0
- package/dist/charts/strategycharts/StrategySamples.js +251 -0
- package/dist/charts/strategycharts/index.js +15 -3
- package/dist/charts/threefields/BsfcMap3DChart.js +231 -0
- package/dist/charts/threefields/CompressorMap3DChart.js +217 -0
- package/dist/charts/threefields/FieldGrid.js +50 -0
- package/dist/charts/threefields/LossLandscape3DChart.js +201 -0
- package/dist/charts/threefields/MapSheet.js +77 -0
- package/dist/charts/threefields/TerrainRoute3DChart.js +201 -0
- package/dist/charts/threefields/TerrainRouteMath.js +40 -0
- package/dist/charts/threefields/ThreeFieldBase.js +117 -0
- package/dist/charts/threefields/ThreeFieldsSamples.js +80 -0
- package/dist/charts/threefields/WaferMap3DChart.js +218 -0
- package/dist/charts/threefields/index.js +19 -0
- package/dist/charts/threesurfaces/index.js +2 -2
- package/dist/charts/tradingcharts/KeltnerChannelChart.js +171 -0
- package/dist/charts/tradingcharts/TradingMath.js +20 -0
- package/dist/charts/tradingcharts/index.js +4 -2
- package/dist/{chunk-ZL6XDXMK.cjs → chunk-26PSLEP4.cjs} +8 -8
- package/dist/{chunk-W3US6EFP.cjs → chunk-2BO5DZUP.cjs} +12 -12
- package/dist/{chunk-5DP7OUSE.cjs → chunk-2GG5YYSC.cjs} +6 -6
- package/dist/{chunk-7FG4JSVO.cjs → chunk-2GL2VNJU.cjs} +253 -33
- package/dist/{chunk-LCWMRCLF.cjs → chunk-2PYOI7OY.cjs} +21 -21
- package/dist/{chunk-JFWJAEBD.cjs → chunk-3U4MCSKI.cjs} +4 -4
- package/dist/{chunk-CUPLHZRR.cjs → chunk-3ZMM3FSK.cjs} +4 -4
- package/dist/{chunk-L2AV62DP.cjs → chunk-4767WQJ7.cjs} +6 -6
- package/dist/{chunk-DA2EYIIP.cjs → chunk-4E7FSSBF.cjs} +1210 -168
- package/dist/{chunk-VS5LQEZB.cjs → chunk-526STI2S.cjs} +5 -5
- package/dist/{chunk-RXIMEK6C.cjs → chunk-55767YPI.cjs} +20 -20
- package/dist/{chunk-JXLSKIUV.cjs → chunk-5FBQOMMT.cjs} +26 -26
- package/dist/{chunk-27PZV5BR.cjs → chunk-5N4Z7MTS.cjs} +4 -4
- package/dist/{chunk-KEWCUIQA.cjs → chunk-5WEV6YWA.cjs} +22 -22
- package/dist/chunk-5XOVVC5X.cjs +3281 -0
- package/dist/{chunk-HK5J7Q2W.cjs → chunk-6HLXVWXU.cjs} +9 -9
- package/dist/{chunk-7JG47RW4.cjs → chunk-6LQT4WJ5.cjs} +25 -25
- package/dist/{chunk-OCVTI6X4.cjs → chunk-6YTWOUFD.cjs} +329 -36
- package/dist/{chunk-W7IQCAVN.cjs → chunk-7F6W6HKL.cjs} +11 -11
- package/dist/{chunk-F2DCJXDM.cjs → chunk-7L6KYU5A.cjs} +21 -21
- package/dist/{chunk-GTGR6LPR.cjs → chunk-A4GIN4FE.cjs} +17 -17
- package/dist/{chunk-B2CETSR6.cjs → chunk-A4US7SA7.cjs} +5 -5
- package/dist/{chunk-3DIF2YYW.cjs → chunk-AOXPBLPW.cjs} +10 -10
- package/dist/{chunk-7TTR4UF5.cjs → chunk-ATI45Z4M.cjs} +2 -2
- package/dist/{chunk-5BFCIX2V.cjs → chunk-CPPMO4IQ.cjs} +434 -148
- package/dist/{chunk-AYZZQ6AC.cjs → chunk-CZ5KGF6Q.cjs} +9 -9
- package/dist/{chunk-7THJ3ZBK.cjs → chunk-D4I35MCE.cjs} +2 -2
- package/dist/{chunk-MCPPFRLN.cjs → chunk-DCGAAN3Z.cjs} +2 -2
- package/dist/{chunk-VABL6CVX.cjs → chunk-DEY36N37.cjs} +21 -21
- package/dist/{chunk-RNCKGJCC.cjs → chunk-DXHXD3DK.cjs} +3 -3
- package/dist/{chunk-A56ZGMVZ.cjs → chunk-E7B45DBZ.cjs} +11 -11
- package/dist/{chunk-DOR6L4MT.cjs → chunk-EJC6EAC5.cjs} +18 -18
- package/dist/{chunk-UPGNM7MA.cjs → chunk-EULJOOMA.cjs} +11 -11
- package/dist/{chunk-G4AZL4GO.cjs → chunk-EYM6LEIF.cjs} +474 -70
- package/dist/{chunk-NJ4X6XGV.cjs → chunk-EZTYX2GH.cjs} +5 -5
- package/dist/chunk-FDD4UP73.cjs +521 -0
- package/dist/{chunk-WJ3VH2Q4.cjs → chunk-GEAIGM3J.cjs} +110 -615
- package/dist/{chunk-P3SBHF43.cjs → chunk-GRUYVXTS.cjs} +2 -2
- package/dist/{chunk-NX4Z5LMS.cjs → chunk-H3SZXND5.cjs} +5 -5
- package/dist/{chunk-EE4S4TOE.cjs → chunk-HS45TOFJ.cjs} +21 -21
- package/dist/chunk-INGOG6OV.cjs +899 -0
- package/dist/{chunk-UDKA6DGT.cjs → chunk-J3CDXZHF.cjs} +4 -4
- package/dist/{chunk-YO6G7TKI.cjs → chunk-JAU5ADEU.cjs} +11 -11
- package/dist/{chunk-22LBK4GA.cjs → chunk-JQEBSHX3.cjs} +4 -4
- package/dist/{chunk-RXX3U7VQ.cjs → chunk-KLXGLMFU.cjs} +10 -10
- package/dist/chunk-KVOX36J3.cjs +327 -0
- package/dist/chunk-L6BGNHFL.cjs +139 -0
- package/dist/{chunk-GMER35L3.cjs → chunk-L7TB7PU5.cjs} +20 -20
- package/dist/{chunk-AFXYNBL2.cjs → chunk-LBTRYEM2.cjs} +4 -4
- package/dist/{chunk-WYYCKIOD.cjs → chunk-LLULNJSP.cjs} +11 -11
- package/dist/{chunk-J27XOSLP.cjs → chunk-LSO46AFV.cjs} +8 -8
- package/dist/{chunk-5XJO45ES.cjs → chunk-LZ2KJ7ZX.cjs} +11 -11
- package/dist/chunk-M4IQ5LIZ.cjs +422 -0
- package/dist/{chunk-Y2KIUKJF.cjs → chunk-MPDHDKYZ.cjs} +11 -11
- package/dist/{chunk-4EMPKRZU.cjs → chunk-MRQ42ZJE.cjs} +3 -3
- package/dist/{chunk-EU5D2MF4.cjs → chunk-MYV4KZWP.cjs} +9 -9
- package/dist/{chunk-XD7KN4UN.cjs → chunk-MZXVLC24.cjs} +6 -6
- package/dist/{chunk-PPSONARU.cjs → chunk-NLBVDFIR.cjs} +41 -2
- package/dist/{chunk-L3PEGMGM.cjs → chunk-NY3TBZY4.cjs} +33 -33
- package/dist/{chunk-6YNYXXB6.cjs → chunk-OGVVSFAR.cjs} +3 -3
- package/dist/{chunk-MLV7QLB6.cjs → chunk-OMTQIQMN.cjs} +6 -6
- package/dist/{chunk-BEEOSNK7.cjs → chunk-PEJJ6TXJ.cjs} +15 -144
- package/dist/{chunk-SOKOWUF5.cjs → chunk-PPGWHIU7.cjs} +2 -2
- package/dist/{chunk-IELWOM2J.cjs → chunk-PPO6SDAN.cjs} +6 -6
- package/dist/{chunk-6JTZZCSL.cjs → chunk-PUMKX5F2.cjs} +3 -3
- package/dist/{chunk-RFOXFY2U.cjs → chunk-PXBYWCNB.cjs} +190 -799
- package/dist/{chunk-3BYXOISI.cjs → chunk-Q3HB3IX6.cjs} +4 -4
- package/dist/{chunk-RXCOVONX.cjs → chunk-RBMUOIXE.cjs} +289 -34
- package/dist/{chunk-MSBNHCSE.cjs → chunk-RJHGCUUD.cjs} +6 -6
- package/dist/{chunk-I6VG7F6Z.cjs → chunk-RSONDMYW.cjs} +708 -141
- package/dist/{chunk-GZDNPHMT.cjs → chunk-SHMPFCUE.cjs} +19 -19
- package/dist/{chunk-ZIBVCOW6.cjs → chunk-SN4FCXFC.cjs} +19 -19
- package/dist/{chunk-7KM52NMN.cjs → chunk-SN5T7WYO.cjs} +2 -2
- package/dist/{chunk-7MSZR65Z.cjs → chunk-SQJZGVDR.cjs} +7 -7
- package/dist/chunk-SYABFMD7.cjs +633 -0
- package/dist/{chunk-2RRFEYFH.cjs → chunk-TICB3MAC.cjs} +16 -16
- package/dist/{chunk-AOOKHUV5.cjs → chunk-U7Z7XYR2.cjs} +5 -5
- package/dist/{chunk-JEWQAXVG.cjs → chunk-UA2THQFV.cjs} +6 -6
- package/dist/{chunk-LHZPAHU3.cjs → chunk-VIK4L2YF.cjs} +112 -521
- package/dist/{chunk-4YWMAQ4J.cjs → chunk-VM2Y6BDY.cjs} +4 -4
- package/dist/{chunk-IRRKE2ZE.cjs → chunk-VMS3KWYI.cjs} +21 -21
- package/dist/{chunk-4SLARW6F.cjs → chunk-VU5NUD46.cjs} +17 -17
- package/dist/{chunk-XHY6TVYG.cjs → chunk-VV5CVOF7.cjs} +13 -13
- package/dist/{chunk-CCIBPGPZ.cjs → chunk-VYSAWPSS.cjs} +57 -57
- package/dist/{chunk-TTNEMQ2A.cjs → chunk-W7YRWEWQ.cjs} +22 -22
- package/dist/{chunk-C7MUOGEW.cjs → chunk-X7R5SY62.cjs} +6 -6
- package/dist/{chunk-ILR5KBMB.cjs → chunk-XOK3KTSS.cjs} +6 -6
- package/dist/{chunk-2CZM2I3T.cjs → chunk-XUIX45VU.cjs} +19 -19
- package/dist/{chunk-TGRMPS3A.cjs → chunk-XWH46PVJ.cjs} +165 -43
- package/dist/{chunk-WQYXXECR.cjs → chunk-Y5XVMK3K.cjs} +6 -6
- package/dist/{chunk-AK4TX2WG.cjs → chunk-YCNKEDTG.cjs} +13 -13
- package/dist/{chunk-PJJB24DU.cjs → chunk-YEF7SE3X.cjs} +20 -20
- package/dist/{chunk-RVLV4XW6.cjs → chunk-YMTVPMU3.cjs} +22 -22
- package/dist/data/index.cjs +2 -2
- package/dist/entries/autograph-lazy.cjs +2 -2
- package/dist/entries/charts/acoustictransport.cjs +3 -3
- package/dist/entries/charts/analysischarts.cjs +3 -3
- package/dist/entries/charts/astrocharts.cjs +3 -3
- package/dist/entries/charts/bars.cjs +3 -3
- package/dist/entries/charts/bayesiancharts.cjs +3 -3
- package/dist/entries/charts/biocharts.cjs +3 -3
- package/dist/entries/charts/biologycharts.cjs +11 -3
- package/dist/entries/charts/biologycharts.d.ts +1 -1
- package/dist/entries/charts/biologycharts.js +3 -2
- package/dist/entries/charts/business.cjs +3 -3
- package/dist/entries/charts/carecharts.cjs +3 -3
- package/dist/entries/charts/chemistrycharts.cjs +3 -3
- package/dist/entries/charts/civicscharts.cjs +3 -3
- package/dist/entries/charts/clinicalcharts.cjs +3 -3
- package/dist/entries/charts/comparison.cjs +3 -3
- package/dist/entries/charts/demography.cjs +3 -3
- package/dist/entries/charts/density.cjs +3 -3
- package/dist/entries/charts/diagrams.cjs +3 -3
- package/dist/entries/charts/distribution.cjs +3 -3
- package/dist/entries/charts/doecharts.cjs +13 -3
- package/dist/entries/charts/doecharts.d.ts +1 -1
- package/dist/entries/charts/doecharts.js +2 -1
- package/dist/entries/charts/earthscience.cjs +3 -3
- package/dist/entries/charts/economicscharts.cjs +3 -3
- package/dist/entries/charts/energycharts.cjs +3 -3
- package/dist/entries/charts/engineering.cjs +3 -3
- package/dist/entries/charts/fieldcharts.cjs +7 -3
- package/dist/entries/charts/fieldcharts.d.ts +1 -1
- package/dist/entries/charts/fieldcharts.js +3 -2
- package/dist/entries/charts/financial.cjs +3 -3
- package/dist/entries/charts/flow.cjs +3 -3
- package/dist/entries/charts/frameworks.cjs +3 -3
- package/dist/entries/charts/genomics.cjs +3 -3
- package/dist/entries/charts/geoflows.cjs +3 -3
- package/dist/entries/charts/geomaps.cjs +3 -3
- package/dist/entries/charts/geosciencecharts.cjs +3 -3
- package/dist/entries/charts/hierarchy.cjs +3 -3
- package/dist/entries/charts/indicators.cjs +3 -3
- package/dist/entries/charts/inferencecharts.cjs +3 -3
- package/dist/entries/charts/layoutcharts.cjs +3 -3
- package/dist/entries/charts/lifescience.cjs +4 -4
- package/dist/entries/charts/linesareas.cjs +3 -3
- package/dist/entries/charts/logisticscharts.cjs +3 -3
- package/dist/entries/charts/machinecharts.cjs +7 -3
- package/dist/entries/charts/machinecharts.d.ts +1 -1
- package/dist/entries/charts/machinecharts.js +2 -1
- package/dist/entries/charts/massive.cjs +3 -3
- package/dist/entries/charts/mathematical.cjs +3 -3
- package/dist/entries/charts/matrix.cjs +3 -3
- package/dist/entries/charts/medicalcharts.cjs +4 -4
- package/dist/entries/charts/mlcharts.cjs +4 -4
- package/dist/entries/charts/modelcharts.cjs +6 -5
- package/dist/entries/charts/multivariate.cjs +3 -3
- package/dist/entries/charts/musiccharts.cjs +3 -3
- package/dist/entries/charts/network.cjs +3 -3
- package/dist/entries/charts/physicscharts.cjs +3 -3
- package/dist/entries/charts/pictorial.cjs +4 -4
- package/dist/entries/charts/portfoliocharts.cjs +3 -3
- package/dist/entries/charts/productcharts.cjs +3 -3
- package/dist/entries/charts/proportion.cjs +3 -3
- package/dist/entries/charts/qualitycharts.cjs +3 -3
- package/dist/entries/charts/radial.cjs +3 -3
- package/dist/entries/charts/reliabilitycharts.cjs +5 -3
- package/dist/entries/charts/scatter.cjs +3 -3
- package/dist/entries/charts/scientific.cjs +3 -3
- package/dist/entries/charts/seriescharts.cjs +3 -3
- package/dist/entries/charts/signals.cjs +7 -3
- package/dist/entries/charts/signals.d.ts +1 -1
- package/dist/entries/charts/signals.js +2 -1
- package/dist/entries/charts/softwarediagrams.cjs +21 -3
- package/dist/entries/charts/softwarediagrams.d.ts +1 -1
- package/dist/entries/charts/softwarediagrams.js +4 -2
- package/dist/entries/charts/sportscharts.cjs +13 -3
- package/dist/entries/charts/sportscharts.d.ts +1 -1
- package/dist/entries/charts/sportscharts.js +3 -1
- package/dist/entries/charts/statistics.cjs +6 -6
- package/dist/entries/charts/strategycharts.cjs +30 -3
- package/dist/entries/charts/strategycharts.d.ts +1 -1
- package/dist/entries/charts/strategycharts.js +6 -1
- package/dist/entries/charts/structure.cjs +3 -3
- package/dist/entries/charts/surveycharts.cjs +3 -3
- package/dist/entries/charts/systemscharts.cjs +3 -3
- package/dist/entries/charts/textcharts.cjs +5 -5
- package/dist/entries/charts/thematicmaps.cjs +4 -4
- package/dist/entries/charts/threebars.cjs +3 -3
- package/dist/entries/charts/threefields.cjs +53 -0
- package/dist/entries/charts/threefields.d.ts +1 -0
- package/dist/entries/charts/threefields.js +6 -0
- package/dist/entries/charts/threeglobe.cjs +3 -3
- package/dist/entries/charts/threenetwork.cjs +3 -3
- package/dist/entries/charts/threestrata.cjs +3 -3
- package/dist/entries/charts/threesurfaces.cjs +7 -3
- package/dist/entries/charts/threesurfaces.d.ts +1 -1
- package/dist/entries/charts/threesurfaces.js +2 -1
- package/dist/entries/charts/threevolume.cjs +4 -4
- package/dist/entries/charts/timeline.cjs +3 -3
- package/dist/entries/charts/tracecharts.cjs +3 -3
- package/dist/entries/charts/trackscharts.cjs +3 -3
- package/dist/entries/charts/tradingcharts.cjs +6 -4
- package/dist/entries/charts/tradingcharts.d.ts +1 -1
- package/dist/entries/charts/tradingcharts.js +2 -1
- package/dist/entries/three.cjs +60 -20
- package/dist/entries/three.d.ts +1 -1
- package/dist/entries/three.js +7 -1
- package/dist/index.cjs +258 -97
- package/dist/index.d.cts +1953 -10
- package/dist/index.d.ts +1953 -10
- package/dist/index.js +26 -5
- package/dist/page/index.cjs +2 -2
- package/dist/react/components.js +58 -1
- package/dist/react/index.cjs +135 -92
- package/dist/react/index.d.ts +1 -1
- package/dist/react/index.js +2 -2
- package/package.json +1 -1
- package/dist/AutoGraph-XLBJQDRB.cjs +0 -140
- package/dist/catalog-O7XGDD2H.cjs +0 -137
- package/dist/chunk-77K2HTRC.cjs +0 -3220
- package/dist/chunk-XEK47TVD.cjs +0 -323
- /package/dist/{chunk-UMEKIIHJ.cjs → chunk-LNWTC72Y.cjs} +0 -0
|
@@ -1,8 +1,5 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; } var _class; var _class2; var _class3; var _class4; var _class5; var _class6;
|
|
2
2
|
|
|
3
|
-
var _chunkMCPPFRLNcjs = require('./chunk-MCPPFRLN.cjs');
|
|
4
|
-
|
|
5
|
-
|
|
6
3
|
var _chunkZQINOZBJcjs = require('./chunk-ZQINOZBJ.cjs');
|
|
7
4
|
|
|
8
5
|
|
|
@@ -12,16 +9,19 @@ var _chunk4VWNDCUScjs = require('./chunk-4VWNDCUS.cjs');
|
|
|
12
9
|
var _chunkNEVHPFWRcjs = require('./chunk-NEVHPFWR.cjs');
|
|
13
10
|
|
|
14
11
|
|
|
15
|
-
var
|
|
12
|
+
var _chunkL6BGNHFLcjs = require('./chunk-L6BGNHFL.cjs');
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
var _chunkDCGAAN3Zcjs = require('./chunk-DCGAAN3Z.cjs');
|
|
16
16
|
|
|
17
17
|
|
|
18
18
|
var _chunkDKE6DIRKcjs = require('./chunk-DKE6DIRK.cjs');
|
|
19
19
|
|
|
20
20
|
|
|
21
|
-
var
|
|
21
|
+
var _chunkUXFWDEP6cjs = require('./chunk-UXFWDEP6.cjs');
|
|
22
22
|
|
|
23
23
|
|
|
24
|
-
var
|
|
24
|
+
var _chunkEEF5WRRZcjs = require('./chunk-EEF5WRRZ.cjs');
|
|
25
25
|
|
|
26
26
|
// src/charts/modelcharts/AlePlot.ts
|
|
27
27
|
var _d3 = require('d3');
|
|
@@ -109,135 +109,6 @@ var AleEffects = class _AleEffects {
|
|
|
109
109
|
}
|
|
110
110
|
};
|
|
111
111
|
|
|
112
|
-
// src/charts/modelcharts/ModelSamples.ts
|
|
113
|
-
|
|
114
|
-
var SHAP_FEATURES = [
|
|
115
|
-
["tenure_months", -1, 1, "saturating", 30, 16],
|
|
116
|
-
["monthly_charges", 1, 0.78, "linear", 68, 22],
|
|
117
|
-
["support_tickets", 1, 0.6, "count", 2, 1.8],
|
|
118
|
-
["contract_months", -1, 0.5, "saturating", 14, 9],
|
|
119
|
-
["payment_delay_days", 1, 0.4, "count", 4, 5],
|
|
120
|
-
["data_usage_gb", -1, 0.3, "linear", 42, 18],
|
|
121
|
-
["autopay_enrolled", -1, 0.24, "binary", 0, 1],
|
|
122
|
-
["device_count", -1, 0.18, "count", 3, 1.4],
|
|
123
|
-
["customer_age", -1, 0.13, "linear", 44, 13],
|
|
124
|
-
["discount_rate", -1, 0.1, "linear", 8, 5],
|
|
125
|
-
["region_index", 1, 0.06, "linear", 5, 3],
|
|
126
|
-
["referral_count", -1, 0.05, "count", 1, 1.2]
|
|
127
|
-
];
|
|
128
|
-
var SHAP_ROWS = 120;
|
|
129
|
-
var ALE_ROWS = 480;
|
|
130
|
-
var ALE_BINS = 12;
|
|
131
|
-
var ALE_SIDE = 6;
|
|
132
|
-
var GRID = 61;
|
|
133
|
-
var STEPS = 60;
|
|
134
|
-
var LAYER_UNITS = [[12, 24, 16, 8, 3], [16, 32, 16, 8, 4], [8, 20, 20, 10, 2]];
|
|
135
|
-
var round = (value, digits = 4) => +value.toFixed(digits);
|
|
136
|
-
var clamp = (value, low, high) => Math.max(low, Math.min(high, value));
|
|
137
|
-
var ModelSamples = class {
|
|
138
|
-
/** `{ score, actual }` for one classifier at 30% prevalence. */
|
|
139
|
-
static scores(seed) {
|
|
140
|
-
return _chunkMCPPFRLNcjs.ClassifierCurveBase.scored(seed).filter((row) => row.model === "Logistic").map(({ score, actual }) => ({ score, actual }));
|
|
141
|
-
}
|
|
142
|
-
/**
|
|
143
|
-
* ALE of a debt-to-income feature at its quantile bin edges, `{ x, x2, effect, low, high, count }`: rows with no `x2` are the
|
|
144
|
-
* one-feature curve, rows with one are the nodes of its interaction surface with credit utilisation.
|
|
145
|
-
*/
|
|
146
|
-
static ale(seed) {
|
|
147
|
-
const { n } = _chunkUMEKIIHJcjs.SampleData.rng(seed);
|
|
148
|
-
const pairs = Array.from({ length: ALE_ROWS }, () => {
|
|
149
|
-
const debt = clamp(34 + 11 * n(), 4, 68);
|
|
150
|
-
return [debt, clamp(48 + 1.2 * (debt - 34) + 15 * n(), 0, 100)];
|
|
151
|
-
});
|
|
152
|
-
const edges = (values, bins) => {
|
|
153
|
-
const sorted = [...values].sort(_d3.ascending);
|
|
154
|
-
return [...new Set(Array.from({ length: bins + 1 }, (_, k) => Math.round(_d3.quantileSorted.call(void 0, sorted, k / bins))))];
|
|
155
|
-
};
|
|
156
|
-
const within = (value, grid, k) => (k === 1 ? value >= grid[0] : value > grid[k - 1]) && value <= grid[k];
|
|
157
|
-
const debts = edges(pairs.map((pair) => pair[0]), ALE_BINS), uses = edges(pairs.map((pair) => pair[1]), ALE_SIDE);
|
|
158
|
-
const counts = debts.map((_, k) => k ? pairs.filter(([debt]) => within(debt, debts, k)).length : 0);
|
|
159
|
-
const raw = debts.map((debt) => 0.17 * Math.tanh((debt - 36) / 9) + 6e-3 * n());
|
|
160
|
-
const total = counts.reduce((sum, count2) => sum + count2, 0) || 1;
|
|
161
|
-
const centre = counts.reduce((sum, count2, k) => sum + (k ? count2 * (raw[k - 1] + raw[k]) / 2 : 0), 0) / total;
|
|
162
|
-
const curve = debts.map((x, k) => {
|
|
163
|
-
const effect = raw[k] - centre, reach = 0.012 + 16e-4 * Math.abs(x - 36);
|
|
164
|
-
return { x, x2: null, effect: round(effect), low: round(effect - reach), high: round(effect + reach), count: counts[k] };
|
|
165
|
-
});
|
|
166
|
-
const coarse = debts.filter((_, k) => k % 2 === 0);
|
|
167
|
-
const surface = coarse.flatMap((x, i) => uses.map((x2, j) => ({
|
|
168
|
-
x,
|
|
169
|
-
x2,
|
|
170
|
-
effect: round(0.05 * ((x - 34) / 11) * ((x2 - 48) / 20) + 4e-3 * n()),
|
|
171
|
-
low: null,
|
|
172
|
-
high: null,
|
|
173
|
-
count: i && j ? pairs.filter(([debt, use]) => within(debt, coarse, i) && within(use, uses, j)).length : 0
|
|
174
|
-
})));
|
|
175
|
-
return [...curve, ...surface];
|
|
176
|
-
}
|
|
177
|
-
/** `{ feature, shap, value }`, one row per customer and feature of a churn model, in log-odds. */
|
|
178
|
-
static shap(seed) {
|
|
179
|
-
const { n } = _chunkUMEKIIHJcjs.SampleData.rng(seed);
|
|
180
|
-
return Array.from({ length: SHAP_ROWS }, () => SHAP_FEATURES.map(([feature, direction, strength, shape, centre, spread]) => {
|
|
181
|
-
const z = n();
|
|
182
|
-
const value = shape === "binary" ? +(z > 0.1) : shape === "count" ? Math.max(0, Math.round(centre + spread * z)) : round(centre + spread * z, 1);
|
|
183
|
-
const level = shape === "binary" ? value ? 0.8 : -0.7 : shape === "count" ? (value - centre) / spread : z;
|
|
184
|
-
const push = shape === "saturating" ? Math.tanh(1.3 * level) * 0.75 : level * 0.5;
|
|
185
|
-
return { feature, shap: round(direction * strength * push + 0.09 * strength * n()), value };
|
|
186
|
-
})).flat();
|
|
187
|
-
}
|
|
188
|
-
/** A curved valley of loss over two parameter directions, with the paths of three optimisers from one start. */
|
|
189
|
-
static lossSurface(seed) {
|
|
190
|
-
const { n } = _chunkUMEKIIHJcjs.SampleData.rng(seed);
|
|
191
|
-
const steep = 4;
|
|
192
|
-
const loss = (x2, y2) => 0.05 + (1 - x2) ** 2 + steep * (y2 - x2 * x2) ** 2;
|
|
193
|
-
const slope = (x2, y2) => [-2 * (1 - x2) - 4 * steep * x2 * (y2 - x2 * x2), 2 * steep * (y2 - x2 * x2)];
|
|
194
|
-
const x = Array.from({ length: GRID }, (_, i) => round(-2 + 4 * i / (GRID - 1), 3)), y = x.map((value) => round(value + 1, 3));
|
|
195
|
-
const start = [-1.3 + 0.08 * n(), 2.55 + 0.08 * n()];
|
|
196
|
-
const walk = (name, step) => {
|
|
197
|
-
const points = [start];
|
|
198
|
-
for (let t = 1; t <= STEPS; t++) {
|
|
199
|
-
const [px, py] = step(points[t - 1], t);
|
|
200
|
-
points.push([clamp(px, -2, 2), clamp(py, -1, 3)]);
|
|
201
|
-
}
|
|
202
|
-
return { name, points: points.map(([px, py]) => [round(px, 3), round(py, 3)]) };
|
|
203
|
-
};
|
|
204
|
-
const speed = [0, 0], mean3 = [0, 0], square = [0, 0];
|
|
205
|
-
return {
|
|
206
|
-
x,
|
|
207
|
-
y,
|
|
208
|
-
z: y.map((row) => x.map((column) => round(loss(column, row)))),
|
|
209
|
-
paths: [
|
|
210
|
-
walk("SGD", ([px, py]) => {
|
|
211
|
-
const [gx, gy] = slope(px, py);
|
|
212
|
-
return [px - 0.03 * (gx + 0.6 * n()), py - 0.03 * (gy + 0.6 * n())];
|
|
213
|
-
}),
|
|
214
|
-
walk("Momentum", ([px, py]) => {
|
|
215
|
-
const grad = slope(px, py);
|
|
216
|
-
for (const axis of [0, 1]) speed[axis] = 0.85 * speed[axis] - 8e-3 * grad[axis];
|
|
217
|
-
return [px + speed[0], py + speed[1]];
|
|
218
|
-
}),
|
|
219
|
-
walk("Adam", ([px, py], t) => {
|
|
220
|
-
const grad = slope(px, py);
|
|
221
|
-
const move = [0, 1].map((axis) => {
|
|
222
|
-
mean3[axis] = 0.9 * mean3[axis] + 0.1 * grad[axis];
|
|
223
|
-
square[axis] = 0.999 * square[axis] + 1e-3 * grad[axis] ** 2;
|
|
224
|
-
return 0.15 * mean3[axis] / (1 - 0.9 ** t) / (Math.sqrt(square[axis] / (1 - 0.999 ** t)) + 1e-8);
|
|
225
|
-
});
|
|
226
|
-
return [px - move[0], py - move[1]];
|
|
227
|
-
})
|
|
228
|
-
]
|
|
229
|
-
};
|
|
230
|
-
}
|
|
231
|
-
/** `{ layer, kind, units }` for a small fully connected classifier. */
|
|
232
|
-
static network(seed) {
|
|
233
|
-
const units = LAYER_UNITS[Math.abs(Math.round(seed)) % LAYER_UNITS.length];
|
|
234
|
-
return units.map((count2, i) => {
|
|
235
|
-
const last = i === units.length - 1;
|
|
236
|
-
return { layer: i === 0 ? "Input" : last ? "Output" : `Hidden ${i}`, kind: i === 0 ? "Input" : last ? "Softmax" : "Dense", units: count2 };
|
|
237
|
-
});
|
|
238
|
-
}
|
|
239
|
-
};
|
|
240
|
-
|
|
241
112
|
// src/charts/modelcharts/AlePlot.ts
|
|
242
113
|
var AleForm = /* @__PURE__ */ ((AleForm2) => {
|
|
243
114
|
AleForm2["Curve"] = "curve";
|
|
@@ -265,7 +136,7 @@ var AlePlot = (_class = class extends _chunkUXFWDEP6cjs.StatisticalChart {
|
|
|
265
136
|
shape: "table" /* Table */,
|
|
266
137
|
description: "Shows a feature's accumulated local effect on a model's prediction across its quantile bins, or the interaction of two features as a heatmap.",
|
|
267
138
|
tags: ["machine learning", "explainability", "accumulated local effects", "ale", "interaction"],
|
|
268
|
-
sample: (seed) => ModelSamples.ale(seed),
|
|
139
|
+
sample: (seed) => _chunkL6BGNHFLcjs.ModelSamples.ale(seed),
|
|
269
140
|
variants: {
|
|
270
141
|
form: Object.values(AleForm),
|
|
271
142
|
density: Object.values(AleDensity),
|
|
@@ -439,7 +310,7 @@ var TITLES = {
|
|
|
439
310
|
var UNDER = 0.16;
|
|
440
311
|
var percent = (value) => `${Math.round(value * 100)}%`;
|
|
441
312
|
var figure2 = (value) => +value.toFixed(Math.abs(value) < 10 ? 3 : 1);
|
|
442
|
-
var DecisionCurveChart = (_class2 = class extends
|
|
313
|
+
var DecisionCurveChart = (_class2 = class extends _chunkDCGAAN3Zcjs.ClassifierCurveBase {
|
|
443
314
|
static __initStatic2() {this.meta = {
|
|
444
315
|
id: "decision-curve",
|
|
445
316
|
name: "Decision curve analysis",
|
|
@@ -448,7 +319,7 @@ var DecisionCurveChart = (_class2 = class extends _chunkMCPPFRLNcjs.ClassifierCu
|
|
|
448
319
|
shape: "table" /* Table */,
|
|
449
320
|
description: "Plots the net benefit of acting on each model across threshold probabilities, against treating everyone and treating no one.",
|
|
450
321
|
tags: ["machine learning", "clinical prediction", "net benefit", "dca", "threshold"],
|
|
451
|
-
sample: (seed) =>
|
|
322
|
+
sample: (seed) => _chunkDCGAAN3Zcjs.ClassifierCurveBase.scored(seed),
|
|
452
323
|
variants: {
|
|
453
324
|
metric: Object.values(DecisionCurveMetric),
|
|
454
325
|
shade: [false, true]
|
|
@@ -575,7 +446,7 @@ var KsChart = (_class3 = class extends _chunkUXFWDEP6cjs.StatisticalChart {
|
|
|
575
446
|
shape: "table" /* Table */,
|
|
576
447
|
description: "Draws the cumulative score distributions of the two classes and marks the widest gap between them, the Kolmogorov-Smirnov statistic of a classifier.",
|
|
577
448
|
tags: ["machine learning", "classifier", "kolmogorov-smirnov", "credit scoring", "separation"],
|
|
578
|
-
sample: (seed) => ModelSamples.scores(seed),
|
|
449
|
+
sample: (seed) => _chunkL6BGNHFLcjs.ModelSamples.scores(seed),
|
|
579
450
|
variants: {
|
|
580
451
|
against: Object.values(KsAxis),
|
|
581
452
|
resolution: Object.values(KsResolution),
|
|
@@ -768,7 +639,7 @@ var LossLandscapePlot = (_class4 = class extends _chunkUXFWDEP6cjs.StatisticalCh
|
|
|
768
639
|
shape: "grid" /* Grid */,
|
|
769
640
|
description: "Draws a loss over two parameter directions as contours with the path of each optimiser across it, or as a slice along one direction.",
|
|
770
641
|
tags: ["machine learning", "optimisation", "gradient descent", "contour", "training"],
|
|
771
|
-
sample: (seed) => ModelSamples.lossSurface(seed),
|
|
642
|
+
sample: (seed) => _chunkL6BGNHFLcjs.ModelSamples.lossSurface(seed),
|
|
772
643
|
variants: {
|
|
773
644
|
form: Object.values(LossLandscapeForm),
|
|
774
645
|
shading: Object.values(LossLandscapeShading),
|
|
@@ -954,7 +825,7 @@ var NeuralNetworkDiagram = (_class5 = class extends _chunkEEF5WRRZcjs.Chart2D {
|
|
|
954
825
|
shape: "table" /* Table */,
|
|
955
826
|
description: "Draws the layers of a neural network in order, as columns of connected units or as blocks sized by the number of units in each layer.",
|
|
956
827
|
tags: ["machine learning", "deep learning", "architecture", "layers", "multilayer perceptron"],
|
|
957
|
-
sample: (seed) => ModelSamples.network(seed),
|
|
828
|
+
sample: (seed) => _chunkL6BGNHFLcjs.ModelSamples.network(seed),
|
|
958
829
|
variants: {
|
|
959
830
|
form: Object.values(NeuralNetworkForm),
|
|
960
831
|
orientation: ["horizontal" /* Horizontal */, "vertical" /* Vertical */],
|
|
@@ -1124,7 +995,7 @@ var ShapSummaryPlot = (_class6 = class extends _chunkUXFWDEP6cjs.StatisticalChar
|
|
|
1124
995
|
shape: "table" /* Table */,
|
|
1125
996
|
description: "Shows the SHAP value of every observation for each feature as a beeswarm coloured by the feature value, or the mean absolute SHAP value as bars.",
|
|
1126
997
|
tags: ["machine learning", "explainability", "shap", "beeswarm", "feature attribution"],
|
|
1127
|
-
sample: (seed) => ModelSamples.shap(seed),
|
|
998
|
+
sample: (seed) => _chunkL6BGNHFLcjs.ModelSamples.shap(seed),
|
|
1128
999
|
variants: {
|
|
1129
1000
|
form: Object.values(ShapSummaryForm),
|
|
1130
1001
|
order: Object.values(ShapSummaryOrder)
|
|
@@ -1207,8 +1078,8 @@ var ShapSummaryPlot = (_class6 = class extends _chunkUXFWDEP6cjs.StatisticalChar
|
|
|
1207
1078
|
drawBars(ctx, axes, features) {
|
|
1208
1079
|
const thick = axes.y.bandwidth(), fill = features.length ? ctx.palette.color(MEAN) : "";
|
|
1209
1080
|
const shape = (row, value) => {
|
|
1210
|
-
const top = _nullishCoalesce(axes.y(row.feature), () => ( 0)), from = axes.x(0), to = Math.max(from, axes.x(value)),
|
|
1211
|
-
return `M${from},${top}H${to -
|
|
1081
|
+
const top = _nullishCoalesce(axes.y(row.feature), () => ( 0)), from = axes.x(0), to = Math.max(from, axes.x(value)), round = Math.min(4, thick / 2, to - from);
|
|
1082
|
+
return `M${from},${top}H${to - round}Q${to},${top} ${to},${top + round}V${top + thick - round}Q${to},${top + thick} ${to - round},${top + thick}H${from}Z`;
|
|
1212
1083
|
};
|
|
1213
1084
|
const marks = ctx.marks("bars", "path", features, (row) => row.feature).attr("fill", fill);
|
|
1214
1085
|
ctx.set(marks, { d: (row) => shape(row, row.mean) }, { d: (row) => shape(row, 0) }, 12);
|
|
@@ -9,7 +9,7 @@ var _chunkAL4XQZH6cjs = require('./chunk-AL4XQZH6.cjs');
|
|
|
9
9
|
var _chunkPY4R3IFFcjs = require('./chunk-PY4R3IFF.cjs');
|
|
10
10
|
|
|
11
11
|
|
|
12
|
-
var
|
|
12
|
+
var _chunkLNWTC72Ycjs = require('./chunk-LNWTC72Y.cjs');
|
|
13
13
|
|
|
14
14
|
// src/charts/statistics/VolcanoPlot.ts
|
|
15
15
|
var PValueAdjustment = /* @__PURE__ */ ((PValueAdjustment2) => {
|
|
@@ -33,7 +33,7 @@ var VolcanoPlot = (_class = class extends _chunkUXFWDEP6cjs.StatisticalChart {
|
|
|
33
33
|
shape: "table" /* Table */,
|
|
34
34
|
description: "Plots effect size against significance so strong, reliable changes stand out among thousands of tests.",
|
|
35
35
|
tags: ["genomics", "differential expression", "multiple testing", "p-value"],
|
|
36
|
-
sample: (seed) =>
|
|
36
|
+
sample: (seed) => _chunkLNWTC72Ycjs.SampleData.points(seed, 360, 3).map((row, i) => {
|
|
37
37
|
const effect = (+row.y - +row.x * 0.8 - 10) / 9 * 0.9;
|
|
38
38
|
return { gene: `G${String(i + 1).padStart(3, "0")}`, log2fc: +effect.toFixed(3), pvalue: _chunkAL4XQZH6cjs.StatMath.twoSided(effect * (+row.size / 7)), mean: row.size };
|
|
39
39
|
}),
|
|
@@ -18,7 +18,7 @@ var _chunkEEF5WRRZcjs = require('./chunk-EEF5WRRZ.cjs');
|
|
|
18
18
|
var _chunkPY4R3IFFcjs = require('./chunk-PY4R3IFF.cjs');
|
|
19
19
|
|
|
20
20
|
|
|
21
|
-
var
|
|
21
|
+
var _chunkLNWTC72Ycjs = require('./chunk-LNWTC72Y.cjs');
|
|
22
22
|
|
|
23
23
|
// src/charts/scientific/ClimateChart.ts
|
|
24
24
|
var _d3 = require('d3');
|
|
@@ -66,15 +66,15 @@ var ClimateChart = class extends _chunkEEF5WRRZcjs.Chart2D {
|
|
|
66
66
|
// src/charts/scientific/ScientificSample.ts
|
|
67
67
|
var ScientificSample = class {
|
|
68
68
|
static normal(seed, count) {
|
|
69
|
-
return
|
|
69
|
+
return _chunkLNWTC72Ycjs.SampleData.distribution(seed, count, 1).map((row) => (+row.value - 40) / 8);
|
|
70
70
|
}
|
|
71
71
|
static uniform(seed, count) {
|
|
72
|
-
return
|
|
72
|
+
return _chunkLNWTC72Ycjs.SampleData.points(seed, count, 1).map((row) => (+row.size - 3) / 30);
|
|
73
73
|
}
|
|
74
74
|
/** `{ a, b, c, size, group }`, three compositional clusters. */
|
|
75
75
|
static compositions(seed, count = 90) {
|
|
76
76
|
const centres = [[0.62, 0.22, 0.16], [0.18, 0.62, 0.2], [0.2, 0.2, 0.6]];
|
|
77
|
-
return
|
|
77
|
+
return _chunkLNWTC72Ycjs.SampleData.points(seed, count, 3).map((row, i) => {
|
|
78
78
|
const centre = centres[i % 3], noise = this.normal(seed + i, 3);
|
|
79
79
|
const parts = centre.map((value, k) => value * Math.exp(noise[k] * 0.38));
|
|
80
80
|
const total = parts[0] + parts[1] + parts[2];
|
|
@@ -88,7 +88,7 @@ var ScientificSample = class {
|
|
|
88
88
|
{ Ca: 0.8, Mg: 0.6, Na: 8.5, K: 0.3, HCO3: 2, CO3: 0.4, SO4: 1.2, Cl: 8, Fe: 0.2 },
|
|
89
89
|
{ Ca: 3.2, Mg: 4.5, Na: 2, K: 0.2, HCO3: 1.5, CO3: 0.1, SO4: 7, Cl: 1.4, Fe: 0.9 }
|
|
90
90
|
];
|
|
91
|
-
return
|
|
91
|
+
return _chunkLNWTC72Ycjs.SampleData.points(seed, count, 3).map((row, i) => {
|
|
92
92
|
const type = types[i % 3], noise = this.normal(seed * 7 + i, 9);
|
|
93
93
|
const ions = Object.fromEntries(Object.entries(type).map(([ion, value], k) => [ion, +(value * Math.exp(noise[k] * 0.55)).toFixed(3)]));
|
|
94
94
|
return { sample: `W${i + 1}`, group: row.group, ...ions, tds: +(Object.values(ions).reduce((a, b) => a + b, 0) * 34).toFixed(0) };
|
|
@@ -196,7 +196,7 @@ var ScientificSample = class {
|
|
|
196
196
|
}
|
|
197
197
|
/** Detector traces: `{ time, signal, trace }`, peak trains on a drifting baseline. */
|
|
198
198
|
static chromatogram(seed) {
|
|
199
|
-
const count = 420, u = this.uniform(seed, 40), walk =
|
|
199
|
+
const count = 420, u = this.uniform(seed, 40), walk = _chunkLNWTC72Ycjs.SampleData.timeSeries(seed, count, 1).map((row) => +row.value);
|
|
200
200
|
return ["Standard", "Sample"].flatMap((trace, s) => {
|
|
201
201
|
const peaks = Array.from({ length: 8 }, (_, p) => ({ at: 2.2 + p * 2.05 + u[p] * 0.8, tall: 180 + u[p + 8] ** 2 * 800 * (s ? 0.6 + u[p + 16] * 0.7 : 1), wide: 0.1 + u[p + 24] * 0.13 }));
|
|
202
202
|
return Array.from({ length: count }, (_, i) => {
|
|
@@ -9,7 +9,7 @@ var _chunkSGMB5HSQcjs = require('./chunk-SGMB5HSQ.cjs');
|
|
|
9
9
|
var _chunkEEF5WRRZcjs = require('./chunk-EEF5WRRZ.cjs');
|
|
10
10
|
|
|
11
11
|
|
|
12
|
-
var
|
|
12
|
+
var _chunkLNWTC72Ycjs = require('./chunk-LNWTC72Y.cjs');
|
|
13
13
|
|
|
14
14
|
// src/charts/diagrams/architectureEnums.ts
|
|
15
15
|
var ArchitectureKind = /* @__PURE__ */ ((ArchitectureKind2) => {
|
|
@@ -718,7 +718,7 @@ var ArchitectureLinkLabels = class _ArchitectureLinkLabels {
|
|
|
718
718
|
};
|
|
719
719
|
|
|
720
720
|
// src/charts/diagrams/ArchitectureSamples.ts
|
|
721
|
-
var optional = (seed) => +
|
|
721
|
+
var optional = (seed) => +_chunkLNWTC72Ycjs.SampleData.categories(seed, 1, 1)[0].value % 2 === 0;
|
|
722
722
|
var ArchitectureSamples = class {
|
|
723
723
|
static parcelTracking(seed) {
|
|
724
724
|
const nodes = [
|
|
@@ -3081,7 +3081,7 @@ var SequenceDiagram = (_class9 = class _SequenceDiagram extends _chunkEEF5WRRZcj
|
|
|
3081
3081
|
}}
|
|
3082
3082
|
/** A synthetic checkout scenario, invented for illustration; the seed decides whether a receipt is sent. */
|
|
3083
3083
|
static checkout(seed) {
|
|
3084
|
-
const receipt = +
|
|
3084
|
+
const receipt = +_chunkLNWTC72Ycjs.SampleData.categories(seed, 1, 1)[0].value % 2 === 0;
|
|
3085
3085
|
const messages = [
|
|
3086
3086
|
{ from: "Customer", to: "Web app", label: "Place order", kind: Sync },
|
|
3087
3087
|
{ from: "Web app", to: "Orders", label: "POST /orders", kind: Sync },
|