defineModule
A native module: name is what Swift and Kotlin implement as <name>Spec.
Export it as the spec file's default; the compiler reads it as written, so
every value is a literal or a declaration.
Usage
Connect a reporting service
// modules/crash-service/crash-service.ts
import { defineModule, fn } from 'kuito';
export default defineModule('CrashService', {
start: fn.main<(key: string) => Promise<void>>(),
ios: { class: 'CrashServiceModule' },
android: { class: 'com.example.myapp.modules.crashservice.CrashServiceModule' },
});Signatures
<const S extends ModuleMembers & NativeNeeds>(_name: string, _spec: S): ModuleOf<S>Type parameters
| Name | Constraint | Default |
|---|---|---|
S | ModuleMembers & NativeNeeds | — |
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
_name | string | Yes | — |
_spec | S | Yes | — |
Returns
ModuleOf<S>
Generated from the public TypeScript declarations: signatures, props and defaults come from the checked source, descriptions from its JSDoc. No defaults are invented.