@craft-native /苗条的
使用存储和操作为Craft框架进行精简绑定。
安装
npm install @craft-native/svelte
包中包含了它的TypeScript源代码,用于选择 svelte
出口条件。中的编译ESM或CommonJS条目
dist. 两个条目都公开相同的存储和操作。
使用
商店
<script>
import { craft, isReady, platform } from '@craft-native/svelte';
</script>
{#if $isReady}
<p>Platform: {$platform?.platform}</p>
{/if}
窗口管理
<script>
import { windowActions, isFullscreen } from '@craft-native/svelte';
</script>
<button on:click={windowActions.maximize}>Maximize</button>
<button on:click={windowActions.toggleFullscreen}>
{$isFullscreen ? 'Exit' : 'Enter'} Fullscreen
</button>
触觉行动
<script>
import { haptic } from '@craft-native/svelte';
</script>
<button use:haptic={'impact_medium'}>Tap Me</button>
烤面包
<script>
import { showToast } from '@craft-native/svelte';
</script>
<button on:click={() => showToast('Hello!')}>Show Toast</button>
文件系统
<script>
import { filesystem } from '@craft-native/svelte';
let content = '';
async function load() {
content = await filesystem.readFile('/path/to/file.txt');
}
async function save() {
await filesystem.writeFile('/path/to/file.txt', content);
}
</script>
<textarea bind:value={content} />
<button on:click={load}>Load</button>
<button on:click={save}>Save</button>
数据库
<script>
import { onMount } from 'svelte';
import { createDatabase } from '@craft-native/svelte';
const db = createDatabase('/path/to/db.sqlite');
let todos = [];
onMount(async () => {
todos = await db.query('SELECT * FROM todos');
});
</script>
<ul>
{#each todos as todo}
<li>{todo.title}</li>
{/each}
</ul>
HTTP
<script>
import { http } from '@craft-native/svelte';
let data = null;
async function loadData() {
data = await http.fetch('https://api.example.com/data');
}
</script>
<button on:click={loadData}>Load Data</button>
{#if data}
<pre>{JSON.stringify(data, null, 2)}</pre>
{/if}
许可证
麻省理工学院