現在ドキュメントは制作段階にあるため、多くの情報が不完全なものになっています

報告は Discord までお願いします

OMUクライアント

アプリを定義する

App
にはアプリの識別子、URL、表示名などを設定します。

1
import { App } from '@omujs/omu';
2

3
export const APP = new App('com.example:sample', {
4
    version: '1.0.0',
5
    url: 'https://example.com/app',
6
    metadata: {
7
        locale: 'ja',
8
        name: { ja: 'サンプル', en: 'Sample' },
9
        description: { ja: 'サンプルアプリです' },
10
        icon: 'ti-apps',
11
    },
12
});

OBS表示用などの子アプリは

parentId
を設定します。

1
export const ASSET_APP = new App('com.example:sample/asset', {
2
    parentId: APP,
3
    url: 'https://example.com/app/asset',
4
    metadata: {
5
        locale: 'ja',
6
        name: 'サンプル表示',
7
    },
8
});

接続する

必要なAPI、権限、プラグインは

start()
より前に登録します。

1
import { Omu } from '@omujs/omu';
2

3
const omu = new Omu(APP);
4

5
omu.on('ready', () => {
6
    console.log('APIへ接続しました');
7
});
8

9
omu.start();

start()
は切断まで接続処理を続けるPromiseを返します。画面初期化を待つ場合は
waitForReady()
を使います。

1
omu.start();
2
await omu.waitForReady();
3

4
console.log(omu.ready);

接続を終了するには

stop()
を呼びます。

イベント

イベント内容
started
start()
が呼ばれた
ready
APIを利用できる状態になった
stopped
stop()
が呼ばれた

on()
の戻り値を呼ぶとリスナーを解除できます。

Identifier

OMUのリソースは

namespace:path/to/resource
形式で識別します。

1
import { Identifier } from '@omujs/omu';
2

3
const id = new Identifier('com.example', 'sample');
4
const child = id.join('config');
5

6
console.log(child.key()); // com.example:sample/config

namespaceには公開元ドメインを逆順にした値を使います。

https://example.com
なら
com.example
です。

ブラウザセッション

ブラウザでは既定で

BrowserSession
がURLの
_omu_session
パラメーターから接続情報を取得します。通常は
new Omu(APP)
だけで利用できます。

関連項目: 権限 、セッション