Skip to content
Tauri

core

Invoke your custom commands.

This package is also accessible with window.__TAURI__.tauri when app.withGlobalTauri in tauri.conf.json is set to true.

Classes

Channel<T>

Type parameters

Type parameterValue
Tunknown

Constructors

new Channel()
new Channel<T>(): Channel<T>
Returns

Channel<T>

Source: https://github.com/tauri-apps/tauri/blob/dev/tooling/api/src/core.ts#L37

Properties

PropertyModifierTypeDefault value
#nextMessageIdprivatenumber0
#onmessageprivate(response: T) => void...
#pendingMessagesprivateRecord<string, T>{}
__TAURI_CHANNEL_MARKER__privatetruetrue
idpublicnumberundefined

Accessors

onmessage
get onmessage(): (response) => void
set onmessage(handler): void
Parameters
ParameterType
handler(response) => void
Returns

Function

Parameters
ParameterType
responseT
Returns

void

Source: https://github.com/tauri-apps/tauri/blob/dev/tooling/api/src/core.ts#L79

Methods

toJSON()
toJSON(): string
Returns

string

Source: https://github.com/tauri-apps/tauri/blob/dev/tooling/api/src/core.ts#L83


PluginListener

Constructors

new PluginListener()
new PluginListener(
plugin,
event,
channelId): PluginListener
Parameters
ParameterType
pluginstring
eventstring
channelIdnumber
Returns

PluginListener

Source: https://github.com/tauri-apps/tauri/blob/dev/tooling/api/src/core.ts#L93

Properties

PropertyType
channelIdnumber
eventstring
pluginstring

Methods

unregister()
unregister(): Promise<void>
Returns

Promise<void>

Source: https://github.com/tauri-apps/tauri/blob/dev/tooling/api/src/core.ts#L99


Resource

A rust-backed resource stored through tauri::Manager::resources_table API.

The resource lives in the main process and does not exist in the Javascript world, and thus will not be cleaned up automatiacally except on application exit. If you want to clean it up early, call Resource.close

Example

import { Resource, invoke } from '@tauri-apps/api/core';
export class DatabaseHandle extends Resource {
static async open(path: string): Promise<DatabaseHandle> {
const rid: number = await invoke('open_db', { path });
return new DatabaseHandle(rid);
}
async execute(sql: string): Promise<void> {
await invoke('execute_sql', { rid: this.rid, sql });
}
}

Extended by

Constructors

new Resource()
new Resource(rid): Resource
Parameters
ParameterType
ridnumber
Returns

Resource

Source: https://github.com/tauri-apps/tauri/blob/dev/tooling/api/src/core.ts#L226

Properties

PropertyModifierType
#ridprivatenumber

Accessors

rid
get rid(): number
Returns

number

Source: https://github.com/tauri-apps/tauri/blob/dev/tooling/api/src/core.ts#L222

Methods

close()
close(): Promise<void>

Destroys and cleans up this resource from memory. You should not call any method on this object anymore and should drop any reference to it.

Returns

Promise<void>

Source: https://github.com/tauri-apps/tauri/blob/dev/tooling/api/src/core.ts#L234

Interfaces

InvokeOptions

Since

2.0.0

Properties

PropertyType
headersHeaders | Record<string, string>

Type Aliases

InvokeArgs

type InvokeArgs: Record<string, unknown> | number[] | ArrayBuffer | Uint8Array;

Command arguments.

Since

1.0.0

Source: https://github.com/tauri-apps/tauri/blob/dev/tooling/api/src/core.ts#L131

Functions

addPluginListener()

function addPluginListener<T>(
plugin,
event,
cb): Promise<PluginListener>

Adds a listener to a plugin event.

Type parameters

Type parameter
T

Parameters

ParameterType
pluginstring
eventstring
cb(payload) => void

Returns

Promise<PluginListener>

The listener object to stop listening to the events.

Since

2.0.0

Source: https://github.com/tauri-apps/tauri/blob/dev/tooling/api/src/core.ts#L114


convertFileSrc()

function convertFileSrc(filePath, protocol): string

Convert a device file path to an URL that can be loaded by the webview. Note that asset: and http://asset.localhost must be added to tauri.security.csp in tauri.conf.json. Example CSP value: "csp": "default-src 'self' ipc: http://ipc.localhost; img-src 'self' asset: http://asset.localhost" to use the asset protocol on image sources.

Additionally, asset must be added to tauri.allowlist.protocol in tauri.conf.json and its access scope must be defined on the assetScope array on the same protocol object.

Parameters

ParameterTypeDefault valueDescription
filePathstringundefinedThe file path.
protocolstring'asset'The protocol to use. Defaults to asset. You only need to set this when using a custom protocol.

Returns

string

the URL that can be used as source on the webview.

Example

import { appDataDir, join } from '@tauri-apps/api/path';
import { convertFileSrc } from '@tauri-apps/api/core';
const appDataDirPath = await appDataDir();
const filePath = await join(appDataDirPath, 'assets/video.mp4');
const assetUrl = convertFileSrc(filePath);
const video = document.getElementById('my-video');
const source = document.createElement('source');
source.type = 'video/mp4';
source.src = assetUrl;
video.appendChild(source);
video.load();

Since

1.0.0

Source: https://github.com/tauri-apps/tauri/blob/dev/tooling/api/src/core.ts#L193


invoke()

function invoke<T>(
cmd,
args,
options?): Promise<T>

Sends a message to the backend.

Type parameters

Type parameter
T

Parameters

ParameterTypeDescription
cmdstringThe command name.
argsInvokeArgsThe optional arguments to pass to the command.
options?InvokeOptionsThe request options.

Returns

Promise<T>

A promise resolving or rejecting to the backend response.

Example

import { invoke } from '@tauri-apps/api/core';
await invoke('login', { user: 'tauri', password: 'poiwe3h4r5ip3yrhtew9ty' });

Since

1.0.0

Source: https://github.com/tauri-apps/tauri/blob/dev/tooling/api/src/core.ts#L155


isTauri()

function isTauri(): boolean

Returns

boolean

Source: https://github.com/tauri-apps/tauri/blob/dev/tooling/api/src/core.ts#L241


transformCallback()

function transformCallback<T>(callback?, once?): number

Transforms a callback function to a string identifier that can be passed to the backend. The backend uses the identifier to eval() the callback.

Type parameters

Type parameterValue
Tunknown

Parameters

ParameterTypeDefault value
callback?(response) => voidundefined
once?booleanfalse

Returns

number

A unique identifier associated with the callback function.

Since

1.0.0

Source: https://github.com/tauri-apps/tauri/blob/dev/tooling/api/src/core.ts#L20


© 2024 Tauri Contributors. CC-BY / MIT