core
Invoca tus comandos personalizados.
Este paquete también es accesible con window.__TAURI__.core cuando app.withGlobalTauri en tauri.conf.json está establecido en true.
Channel<T>
Sección titulada «Channel<T>»Parámetros de tipo
Sección titulada «Parámetros de tipo»| Parámetro de tipo | Tipo por defecto |
|---|---|
T |
unknown |
Constructores
Sección titulada «Constructores»new Channel()
Sección titulada «new Channel()»new Channel<T>(onmessage?): Channel<T>Parámetros
Sección titulada «Parámetros»| Parámetro | Tipo |
|---|---|
onmessage? |
(response) => void |
Devuelve
Sección titulada «Devuelve»Channel<T>
Fuente: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/core.ts#L87
Propiedades
Sección titulada «Propiedades»| Propiedad | Tipo | Descripción | Definido en |
|---|---|---|---|
id |
number |
El id de callback devuelto desde transformCallback |
Fuente: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/core.ts#L79 |
Accesores
Sección titulada «Accesores»onmessage
Sección titulada «onmessage»get onmessage(): (response) => voidset onmessage(handler): voidParámetros
Sección titulada «Parámetros»| Parámetro | Tipo |
|---|---|
handler |
(response) => void |
Devuelve
Sección titulada «Devuelve»Function
Parámetros
Sección titulada «Parámetros»| Parámetro | Tipo |
|---|---|
response |
T |
Devuelve
Sección titulada «Devuelve»void
Fuente: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/core.ts#L142
Métodos
Sección titulada «Métodos»__TAURI_TO_IPC_KEY__()
Sección titulada «__TAURI_TO_IPC_KEY__()»__TAURI_TO_IPC_KEY__(): stringDevuelve
Sección titulada «Devuelve»string
Fuente: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/core.ts#L146
toJSON()
Sección titulada «toJSON()»toJSON(): stringDevuelve
Sección titulada «Devuelve»string
Fuente: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/core.ts#L150
PluginListener
Sección titulada «PluginListener»Constructores
Sección titulada «Constructores»new PluginListener()
Sección titulada «new PluginListener()»new PluginListener( plugin, event, channelId): PluginListenerParámetros
Sección titulada «Parámetros»| Parámetro | Tipo |
|---|---|
plugin |
string |
event |
string |
channelId |
number |
Devuelve
Sección titulada «Devuelve»Fuente: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/core.ts#L161
Propiedades
Sección titulada «Propiedades»| Propiedad | Tipo | Definido en |
|---|---|---|
channelId |
number |
Fuente: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/core.ts#L159 |
event |
string |
Fuente: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/core.ts#L158 |
plugin |
string |
Fuente: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/core.ts#L157 |
Métodos
Sección titulada «Métodos»unregister()
Sección titulada «unregister()»unregister(): Promise<void>Devuelve
Sección titulada «Devuelve»Promise<void>
Fuente: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/core.ts#L167
Resource
Sección titulada «Resource»Un recurso respaldado por Rust almacenado a través de la API tauri::Manager::resources_table.
El recurso vive en el proceso principal y no existe
en el mundo de JavaScript, por lo que no se limpiará automáticamente
excepto al salir de la aplicación. Si quieres limpiarlo antes, llama a Resource.close
Ejemplo
Sección titulada «Ejemplo»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 }); }}Extendido por
Sección titulada «Extendido por»Constructores
Sección titulada «Constructores»new Resource()
Sección titulada «new Resource()»new Resource(rid): ResourceParámetros
Sección titulada «Parámetros»| Parámetro | Tipo |
|---|---|
rid |
number |
Devuelve
Sección titulada «Devuelve»Fuente: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/core.ts#L322
Accesores
Sección titulada «Accesores»get rid(): numberDevuelve
Sección titulada «Devuelve»number
Fuente: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/core.ts#L318
Métodos
Sección titulada «Métodos»close()
Sección titulada «close()»close(): Promise<void>Destruye y limpia este recurso de la memoria. Ya no deberías llamar a ningún método de este objeto y deberías descartar cualquier referencia a él.
Devuelve
Sección titulada «Devuelve»Promise<void>
Fuente: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/core.ts#L330
Interfaces
Sección titulada «Interfaces»InvokeOptions
Sección titulada «InvokeOptions»2.0.0
Propiedades
Sección titulada «Propiedades»| Propiedad | Tipo | Definido en |
|---|---|---|
headers |
HeadersInit |
Fuente: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/core.ts#L233 |
Alias de tipos
Sección titulada «Alias de tipos»InvokeArgs
Sección titulada «InvokeArgs»type InvokeArgs: Record<string, unknown> | number[] | ArrayBuffer | Uint8Array;Argumentos del comando.
1.0.0
Fuente: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/core.ts#L227
PermissionState
Sección titulada «PermissionState»type PermissionState: "granted" | "denied" | "prompt" | "prompt-with-rationale";Fuente: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/core.ts#L202
Variables
Sección titulada «Variables»SERIALIZE_TO_IPC_FN
Sección titulada «SERIALIZE_TO_IPC_FN»const SERIALIZE_TO_IPC_FN: "__TAURI_TO_IPC_KEY__" = '__TAURI_TO_IPC_KEY__';Una clave que se utilizará para implementar una función especial en tus tipos que define cómo debe serializarse tu tipo al pasarse a través del IPC.
Ejemplo
Sección titulada «Ejemplo»Dado un tipo en Rust que luce como esto
#[derive(serde::Serialize, serde::Deserialize)enum UserId { String(String), Number(u32),}UserId::String("id") se serializaría en { String: "id" }
y por lo tanto necesitamos pasar la misma estructura de vuelta a Rust
import { SERIALIZE_TO_IPC_FN } from "@tauri-apps/api/core"
class UserIdString { id constructor(id) { this.id = id }
[SERIALIZE_TO_IPC_FN]() { return { String: this.id } }}
class UserIdNumber { id constructor(id) { this.id = id }
[SERIALIZE_TO_IPC_FN]() { return { Number: this.id } }}
type UserId = UserIdString | UserIdNumberFuente: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/core.ts#L59
Funciones
Sección titulada «Funciones»addPluginListener()
Sección titulada «addPluginListener()»function addPluginListener<T>( plugin, event,cb): Promise<PluginListener>Agrega un listener a un evento de plugin.
Parámetros de tipo
Sección titulada «Parámetros de tipo»| Parámetro de tipo |
|---|
T |
Parámetros
Sección titulada «Parámetros»| Parámetro | Tipo |
|---|---|
plugin |
string |
event |
string |
cb |
(payload) => void |
Devuelve
Sección titulada «Devuelve»El objeto listener para dejar de escuchar los eventos.
2.0.0
Fuente: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/core.ts#L182
checkPermissions()
Sección titulada «checkPermissions()»function checkPermissions<T>(plugin): Promise<T>Obtiene el estado de permisos para un plugin.
Esto debe ser usado por los autores de plugins para envolver su implementación real.
Parámetros de tipo
Sección titulada «Parámetros de tipo»| Parámetro de tipo |
|---|
T |
Parámetros
Sección titulada «Parámetros»| Parámetro | Tipo |
|---|---|
plugin |
string |
Devuelve
Sección titulada «Devuelve»Promise<T>
Fuente: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/core.ts#L209
convertFileSrc()
Sección titulada «convertFileSrc()»function convertFileSrc(filePath, protocol): stringConvierte la ruta de archivo de un dispositivo en una URL que puede ser cargada por el webview.
Ten en cuenta que asset: y http://asset.localhost deben agregarse a app.security.csp en tauri.conf.json.
Ejemplo de valor CSP: "csp": "default-src 'self' ipc: http://ipc.localhost; img-src 'self' asset: http://asset.localhost" para usar el protocolo asset en fuentes de imágenes.
Además, debe agregarse "enable" : "true" a app.security.assetProtocol
en tauri.conf.json y su alcance de acceso debe definirse en el arreglo scope del mismo objeto assetProtocol.
Parámetros
Sección titulada «Parámetros»| Parámetro | Tipo | Valor por defecto | Descripción |
|---|---|---|---|
filePath |
string |
undefined |
La ruta del archivo. |
protocol |
string |
'asset' |
El protocolo a utilizar. Por defecto es asset. Solo necesitas establecer esto cuando usas un protocolo personalizado. |
Devuelve
Sección titulada «Devuelve»string
la URL que puede usarse como fuente en el webview.
Ejemplo
Sección titulada «Ejemplo»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();1.0.0
Fuente: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/core.ts#L289
invoke()
Sección titulada «invoke()»function invoke<T>( cmd, args,options?): Promise<T>Envía un mensaje al backend.
Parámetros de tipo
Sección titulada «Parámetros de tipo»| Parámetro de tipo |
|---|
T |
Parámetros
Sección titulada «Parámetros»| Parámetro | Tipo | Descripción |
|---|---|---|
cmd |
string |
El nombre del comando. |
args |
InvokeArgs |
Los argumentos opcionales a pasar al comando. |
options? |
InvokeOptions |
Las opciones de la solicitud. |
Devuelve
Sección titulada «Devuelve»Promise<T>
Una promesa que se resuelve o rechaza con la respuesta del backend.
Ejemplo
Sección titulada «Ejemplo»import { invoke } from '@tauri-apps/api/core';await invoke('login', { user: 'tauri', password: 'poiwe3h4r5ip3yrhtew9ty' });1.0.0
Fuente: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/core.ts#L251
isTauri()
Sección titulada «isTauri()»function isTauri(): booleanDevuelve
Sección titulada «Devuelve»boolean
Fuente: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/core.ts#L337
requestPermissions()
Sección titulada «requestPermissions()»function requestPermissions<T>(plugin): Promise<T>Solicita permisos.
Esto debe ser usado por los autores de plugins para envolver su implementación real.
Parámetros de tipo
Sección titulada «Parámetros de tipo»| Parámetro de tipo |
|---|
T |
Parámetros
Sección titulada «Parámetros»| Parámetro | Tipo |
|---|---|
plugin |
string |
Devuelve
Sección titulada «Devuelve»Promise<T>
Fuente: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/core.ts#L218
transformCallback()
Sección titulada «transformCallback()»function transformCallback<T>(callback?, once?): numberAlmacena el callback en una ubicación conocida y devuelve un identificador que se puede pasar al backend.
El backend utiliza el identificador para ejecutar eval() sobre el callback.
Parámetros de tipo
Sección titulada «Parámetros de tipo»| Parámetro de tipo | Tipo por defecto |
|---|---|
T |
unknown |
Parámetros
Sección titulada «Parámetros»| Parámetro | Tipo | Valor por defecto |
|---|---|---|
callback? |
(response) => void |
undefined |
once? |
boolean |
false |
Devuelve
Sección titulada «Devuelve»number
Un identificador único asociado con la función de callback.
1.0.0
Fuente: https://github.com/tauri-apps/tauri/blob/dev/packages/api/src/core.ts#L69
© 2026 Colaboradores de Tauri. CC-BY / MIT