refactor(web): dependency management (#2386)

This commit is contained in:
Mo
2023-08-05 12:48:39 -05:00
committed by GitHub
parent b07da5b663
commit d8d4052a52
274 changed files with 4065 additions and 3873 deletions

View File

@@ -0,0 +1,15 @@
import { ContentType, Result, SyncUseCaseInterface } from '@standardnotes/domain-core'
import { DecryptedItemInterface, SNTag } from '@standardnotes/models'
import { ItemManagerInterface } from '@standardnotes/services'
export class GetItemTags implements SyncUseCaseInterface<SNTag[]> {
constructor(private items: ItemManagerInterface) {}
execute(item: DecryptedItemInterface): Result<SNTag[]> {
return Result.ok(
this.items.itemsReferencingItem<SNTag>(item).filter((ref) => {
return ref.content_type === ContentType.TYPES.Tag
}),
)
}
}

View File

@@ -0,0 +1,11 @@
import { Result, SyncUseCaseInterface } from '@standardnotes/domain-core'
import { PrefDefaults, PrefKey } from '@standardnotes/models'
import { PreferenceServiceInterface } from '@standardnotes/services'
export class IsGlobalSpellcheckEnabled implements SyncUseCaseInterface<boolean> {
constructor(private preferences: PreferenceServiceInterface) {}
execute(): Result<boolean> {
return Result.ok(this.preferences.getValue(PrefKey.EditorSpellcheck, PrefDefaults[PrefKey.EditorSpellcheck]))
}
}

View File

@@ -0,0 +1,11 @@
import { Result, SyncUseCaseInterface } from '@standardnotes/domain-core'
import { IsNativeMobileWeb } from './IsNativeMobileWeb'
import { isAndroid, isIOS } from '../Utils/Utils'
export class IsMobileDevice implements SyncUseCaseInterface<boolean> {
constructor(private _isNativeMobileWeb: IsNativeMobileWeb) {}
execute(): Result<boolean> {
return Result.ok(this._isNativeMobileWeb.execute().getValue() || isIOS() || isAndroid())
}
}

View File

@@ -0,0 +1,13 @@
import { Result, SyncUseCaseInterface } from '@standardnotes/domain-core'
import { Environment, Platform } from '@standardnotes/models'
export class IsNativeIOS implements SyncUseCaseInterface<boolean> {
constructor(
private environment: Environment,
private platform: Platform,
) {}
execute(): Result<boolean> {
return Result.ok(this.environment === Environment.Mobile && this.platform === Platform.Ios)
}
}

View File

@@ -0,0 +1,10 @@
import { Result, SyncUseCaseInterface } from '@standardnotes/domain-core'
import { Environment } from '@standardnotes/models'
export class IsNativeMobileWeb implements SyncUseCaseInterface<boolean> {
constructor(private environment: Environment) {}
execute(): Result<boolean> {
return Result.ok(this.environment === Environment.Mobile)
}
}