Utilização

Declare a custom native slider view.

Este tipo é usado por view

tsx
// Declare a custom native slider view.
import { defineModule, view } from 'kuito';

type SliderProps = {
  value: number;
  min?: number;
  max?: number;
  onChange?: (value: number) => void;
};

export default defineModule('Slider', {
  view: view<SliderProps>({ events: ['change'] }),
  ios: { class: 'KuitoSliderModule' },
  android: { class: 'dev.kuito.runtime.modules.slider.KuitoSliderModule' },
});

Declaração do tipo

ts
export type NativeViewMethods<M> = {
  [K in keyof M]: M[K] extends (...args: infer A) => Promise<infer R>
    ? [A] extends [(ModuleData | undefined)[]]
      ? [R] extends [ModuleData | void]
        ? M[K]
        : never
      : never
    : never;
};

Tipo

ts
{ [K in keyof M]: M[K] extends (...args: infer A) => Promise<infer R> ? [A] extends [ModuleData[]] ? [R] extends [void | ModuleData] ? M[K] : never : never : never; }
Gerado a partir das declarações TypeScript públicas: assinaturas, props e predefinições vêm da fonte verificada, as descrições da sua JSDoc. Nenhuma predefinição é inventada.