From 01ed090ad605cfca7b5f4313990d5606cf9b5c11 Mon Sep 17 00:00:00 2001 From: Grol Grol Date: Tue, 22 Apr 2025 00:28:26 +0300 Subject: [PATCH] ref type to enum --- src/CheckboxSyncPluginSettingTab.ts | 10 +++++----- src/main.ts | 4 ++-- src/types.ts | 8 ++++++-- 3 files changed, 13 insertions(+), 9 deletions(-) diff --git a/src/CheckboxSyncPluginSettingTab.ts b/src/CheckboxSyncPluginSettingTab.ts index 60954c4..3e0e642 100644 --- a/src/CheckboxSyncPluginSettingTab.ts +++ b/src/CheckboxSyncPluginSettingTab.ts @@ -1,6 +1,6 @@ import { App, ButtonComponent, DropdownComponent, Notice, PluginSettingTab, Setting, TextComponent, ToggleComponent } from "obsidian"; import CheckboxSyncPlugin from "./main"; -import { UnknownSymbolPolicy } from "./types"; +import { UnknownSymbolPolicyEnum } from "./types"; export class CheckboxSyncPluginSettingTab extends PluginSettingTab { plugin: CheckboxSyncPlugin; @@ -116,9 +116,9 @@ export class CheckboxSyncPluginSettingTab extends PluginSettingTab { .addDropdown(dropdown => { this.unknownPolicyDropdown = dropdown; dropdown - .addOption('checked', 'Treat as Checked') - .addOption('unchecked', 'Treat as Unchecked') - .addOption('ignore', 'Ignore') + .addOption(UnknownSymbolPolicyEnum.Checked, 'Treat as Checked') + .addOption(UnknownSymbolPolicyEnum.Unchecked, 'Treat as Unchecked') + .addOption(UnknownSymbolPolicyEnum.Ignore, 'Ignore') .setValue(this.plugin.settings.unknownSymbolPolicy) .onChange(() => this.applyButton.setDisabled(false)) }); @@ -178,7 +178,7 @@ export class CheckboxSyncPluginSettingTab extends PluginSettingTab { try { const checkedValue = this.checkedSymbolsInput.getValue(); const uncheckedValue = this.uncheckedSymbolsInput.getValue(); - const policyValue = this.unknownPolicyDropdown.getValue() as UnknownSymbolPolicy; + const policyValue = this.unknownPolicyDropdown.getValue() as UnknownSymbolPolicyEnum; const parentValue = this.parentToggle.getValue(); const childValue = this.childToggle.getValue(); diff --git a/src/main.ts b/src/main.ts index 1225ef5..52f68e3 100644 --- a/src/main.ts +++ b/src/main.ts @@ -3,7 +3,7 @@ import { CheckboxSyncPluginSettingTab } from "./CheckboxSyncPluginSettingTab"; import { CheckboxUtils } from "./checkboxUtils"; import FileStateHolder from "./FileStateHolder"; import SyncController from "./SyncController"; -import { CheckboxSyncPluginSettings } from "./types"; +import { CheckboxSyncPluginSettings, UnknownSymbolPolicyEnum } from "./types"; import { FileLoadEventHandler } from "./events/FileLoadEventHandler"; import { FileChangeEventHandler } from "./events/FileChangeEventHandler"; @@ -13,7 +13,7 @@ const DEFAULT_SETTINGS: CheckboxSyncPluginSettings = { enableAutomaticChildState: true, checkedSymbols: ['x'], uncheckedSymbols: [' '], - unknownSymbolPolicy: 'checked', + unknownSymbolPolicy: UnknownSymbolPolicyEnum.Checked, }; export default class CheckboxSyncPlugin extends Plugin { diff --git a/src/types.ts b/src/types.ts index 86c1b63..6d00311 100644 --- a/src/types.ts +++ b/src/types.ts @@ -1,4 +1,8 @@ -export type UnknownSymbolPolicy = 'checked' | 'unchecked' | 'ignore'; +export enum UnknownSymbolPolicyEnum { + Checked = 'checked', + Unchecked = 'unchecked', + Ignore = 'ignore' +} export interface CheckboxSyncPluginSettings { xOnlyMode: boolean; @@ -6,5 +10,5 @@ export interface CheckboxSyncPluginSettings { enableAutomaticChildState: boolean; checkedSymbols: string[]; uncheckedSymbols: string[]; - unknownSymbolPolicy: UnknownSymbolPolicy; + unknownSymbolPolicy: UnknownSymbolPolicyEnum; } \ No newline at end of file