| 511 | }; |
| 512 | |
| 513 | const normalizeDensityNormalization = ( |
| 514 | value: unknown |
| 515 | ): NonNullable<ScatterSeriesConfig['densityNormalization']> | undefined => { |
| 516 | if (typeof value !== 'string') return undefined; |
| 517 | const v = value.trim().toLowerCase(); |
| 518 | return v === 'linear' || v === 'sqrt' || v === 'log' |
| 519 | ? (v as NonNullable<ScatterSeriesConfig['densityNormalization']>) |
| 520 | : undefined; |
| 521 | }; |
| 522 | |
| 523 | const normalizeDensityBinSize = (value: unknown): number | undefined => { |
| 524 | if (typeof value !== 'number' || !Number.isFinite(value)) return undefined; |