import type {Encoder} from '../../type/encoder.js'; import type {Encoding} from '../../type/encoding.js'; import {booleanEncoder} from '../boolean/boolean-encoder.js'; export function* nullableEncoder( value: T | null, encoder: Encoder, ): Encoding { if (value === null) { yield* booleanEncoder(false); return; } yield* booleanEncoder(true); yield* encoder(value); }