@zakodium/utils
    Preparing search index...

    Function is

    • Conditional type casting. You are responsible for ensuring that the condition implies the type casting.

      Type Parameters

      • Output

      Parameters

      • value: unknown
      • condition: boolean

      Returns value is Output

      interface BaseSpectrum {
      dimension: number;
      }
      interface Spectrum1D extends BaseSpectrum {
      foo: number;
      }
      interface Spectrum2D extends BaseSpectrum {
      bar: number;
      }

      const spectrum: Spectrum = {...null};

      if (is<Spectrum1D>(spectrum, spectrum.dimension === 1)) {
      // spectrum is Spectrum1D
      void spectrum.foo;
      }
      else if (is<Spectrum2D>(spectrum, spectrum.dimension === 2)) {
      // spectrum is Spectrum2D
      void spectrum.bar;
      }

      Hide type checks with noisy syntax in dedicated helpers.

      function isSpectrum1D(spectrum: Spectrum) {
      return is<Spectrum1D>(spectrum, spectrum.dimension === 1);
      }

      function isSpectrum2D(spectrum: Spectrum) {
      return is<Spectrum2D>(spectrum, spectrum.dimension === 1);
      }