mirror of
https://github.com/vrtmrz/obsidian-livesync.git
synced 2026-04-02 15:15:17 +00:00
- Rewrite the service's binding/handler assignment systems - Removed loopholes that allowed traversal between services to clarify dependencies. - Consolidated the hidden state-related state, the handler, and the addition of bindings to the handler into a single object. - Currently, functions that can have handlers added implement either addHandler or setHandler directly on the function itself. I understand there are differing opinions on this, but for now, this is how it stands. - Services now possess a Context. Please ensure each platform has a class that inherits from ServiceContext. - To permit services to be dynamically bound, the services themselves are now defined by interfaces.
19 lines
697 B
TypeScript
19 lines
697 B
TypeScript
import type { LiveSyncCore } from "../../main.ts";
|
|
import { AbstractObsidianModule } from "../AbstractObsidianModule.ts";
|
|
|
|
export class ModuleExtraSyncObsidian extends AbstractObsidianModule {
|
|
deviceAndVaultName: string = "";
|
|
|
|
_getDeviceAndVaultName(): string {
|
|
return this.deviceAndVaultName;
|
|
}
|
|
_setDeviceAndVaultName(name: string): void {
|
|
this.deviceAndVaultName = name;
|
|
}
|
|
|
|
onBindFunction(core: LiveSyncCore, services: typeof core.services): void {
|
|
services.setting.getDeviceAndVaultName.setHandler(this._getDeviceAndVaultName.bind(this));
|
|
services.setting.setDeviceAndVaultName.setHandler(this._setDeviceAndVaultName.bind(this));
|
|
}
|
|
}
|