(chore): split utils

This commit is contained in:
vorotamoroz
2026-06-10 11:22:34 +01:00
parent 36827d4799
commit e4b36602ec
25 changed files with 358 additions and 136 deletions
+1 -1
View File
@@ -1,7 +1,7 @@
import { REMOTE_COUCHDB, REMOTE_MINIO } from "@lib/common/models/setting.const";
import type { ObsidianLiveSyncSettings } from "@lib/common/models/setting.type";
import { generateCredentialObject } from "@lib/replication/httplib";
import { parseHeaderValues } from "@lib/common/utils";
import { parseHeaderValues } from "@lib/common/utils.misc";
import { requestToCouchDBWithCredentials } from "./utils";
import { LOG_LEVEL_VERBOSE, Logger } from "@lib/common/logger";
import { DEFAULT_SETTINGS } from "@lib/common/models/setting.const.defaults";
+1 -1
View File
@@ -204,7 +204,7 @@ export function requestToCouchDBWithCredentials(
import { BASE_IS_NEW, EVEN, TARGET_IS_NEW } from "@lib/common/models/shared.const.symbols.ts";
export { BASE_IS_NEW, EVEN, TARGET_IS_NEW };
// Why 2000? : ZIP FILE Does not have enough resolution.
import { compareMTime } from "@lib/common/utils.ts";
import { compareMTime } from "@lib/common/utils.database.ts";
import { _fetch } from "@/lib/src/common/coreEnvFunctions.ts";
export { compareMTime };
function getKey(file: AnyEntry | string | UXFileInfoStub) {
+10 -5
View File
@@ -10,7 +10,14 @@ import {
addIcon,
} from "@/deps.ts";
import type { EntryDoc } from "@lib/common/models/db.definition";
import type { LoadedEntry, InternalFileEntry, FilePathWithPrefix, FilePath, AnyEntry, SavingEntry } from "@lib/common/models/db.type";
import type {
LoadedEntry,
InternalFileEntry,
FilePathWithPrefix,
FilePath,
AnyEntry,
SavingEntry,
} from "@lib/common/models/db.type";
import type { diff_result } from "@lib/common/models/diff.definition";
import { CANCELLED, LEAVE_TO_SUBSEQUENT } from "@lib/common/models/shared.const.symbols";
import { MODE_SELECTIVE, MODE_SHINY } from "@lib/common/models/setting.const";
@@ -21,14 +28,12 @@ import {
createBlob,
createSavingEntryFromLoadedEntry,
createTextBlob,
delay,
fireAndForget,
getDocData,
getDocDataAsArray,
isDocContentSame,
isLoadedEntry,
isObjectDifferent,
} from "@lib/common/utils.ts";
} from "@lib/common/utils.database.ts";
import { delay, fireAndForget, isObjectDifferent } from "@lib/common/utils.ts";
import { digestHash } from "@lib/string_and_binary/hash.ts";
import { arrayBufferToBase64, decodeBinary, readString } from "@lib/string_and_binary/convert.ts";
import { serialized, shareRunningResult } from "octagonal-wheels/concurrency/lock";
@@ -1,22 +1,24 @@
import { type PluginManifest, type ListedFiles } from "@/deps.ts";
import type { LoadedEntry, FilePathWithPrefix, FilePath, SavingEntry, DocumentID, MetaEntry } from "@lib/common/models/db.type";
import type {
LoadedEntry,
FilePathWithPrefix,
FilePath,
SavingEntry,
DocumentID,
MetaEntry,
} from "@lib/common/models/db.type";
import { MODE_SELECTIVE, MODE_PAUSED } from "@lib/common/models/setting.const";
import type { UXFileInfo, UXStat, UXDataWriteOptions } from "@lib/common/models/fileaccess.type";
import { LOG_LEVEL_INFO, LOG_LEVEL_NOTICE, LOG_LEVEL_VERBOSE, LOG_LEVEL_DEBUG } from "@lib/common/logger";
import { ICHeader, ICHeaderEnd } from "@lib/common/models/fileaccess.const";
import { type InternalFileInfo } from "@/common/types.ts";
import { readAsBlob, isDocContentSame, readContent, createBlob } from "@lib/common/utils.database.ts";
import type { CustomRegExp } from "@lib/common/utils.regexp.ts";
import { getFileRegExp } from "@lib/common/utils.regexp.ts";
import { sendSignal, fireAndForget } from "@lib/common/utils.ts";
import { compareMTime } from "@lib/common/utils.database.ts";
import { displayRev } from "@lib/common/utils.notations.ts";
import {
readAsBlob,
isDocContentSame,
sendSignal,
readContent,
createBlob,
fireAndForget,
type CustomRegExp,
getFileRegExp,
} from "@lib/common/utils.ts";
import {
compareMTime,
isInternalMetadata,
TARGET_IS_NEW,
scheduleTask,
@@ -26,7 +28,6 @@ import {
onlyInNTimes,
BASE_IS_NEW,
EVEN,
displayRev,
} from "@/common/utils.ts";
import { PeriodicProcessor } from "@/common/PeriodicProcessor.ts";
import { serialized, skipIfDuplicated } from "octagonal-wheels/concurrency/lock";
+1 -1
Submodule src/lib updated: 0b5947a3fc...d82503b665
+2 -1
View File
@@ -17,7 +17,8 @@ import {
Logger,
type LOG_LEVEL,
} from "@lib/common/logger";
import { fireAndForget, isAnyNote, throttle } from "@lib/common/utils";
import { isAnyNote } from "@lib/common/utils.database";
import { fireAndForget, throttle } from "@lib/common/utils";
import { isNotFoundError } from "@lib/common/utils.doc.ts";
import { Semaphore } from "octagonal-wheels/concurrency/semaphore_v2";
import { serialized } from "octagonal-wheels/concurrency/lock";
@@ -13,7 +13,8 @@ import {
} from "@lib/common/types";
import { isCustomisationSyncMetadata, isPluginMetadata } from "@lib/common/typeUtils.ts";
import { TARGET_IS_NEW } from "@lib/common/models/shared.const.symbols.ts";
import { compareMTime, displayRev } from "@lib/common/utils.ts";
import { compareMTime } from "@lib/common/utils.database.ts";
import { displayRev } from "@lib/common/utils.notations.ts";
import diff_match_patch from "diff-match-patch";
import { stripAllPrefixes, isPlainText } from "@lib/string_and_binary/path";
import { eventHub } from "@/common/events.ts";
@@ -1,10 +1,16 @@
import { Logger, LOG_LEVEL_NOTICE } from "octagonal-wheels/common/logger";
import { extractObject } from "octagonal-wheels/object";
import type { TweakValues } from "@lib/common/models/tweak.definition";
import { TweakValuesShouldMatchedTemplate, TweakValuesTemplate, IncompatibleChanges, IncompatibleChangesInSpecificPattern, CompatibleButLossyChanges } from "@lib/common/models/tweak.definition";
import {
TweakValuesShouldMatchedTemplate,
TweakValuesTemplate,
IncompatibleChanges,
IncompatibleChangesInSpecificPattern,
CompatibleButLossyChanges,
} from "@lib/common/models/tweak.definition";
import { confName } from "@lib/common/models/shared.definition.configNames";
import type { ObsidianLiveSyncSettings, RemoteDBSettings } from "@lib/common/models/setting.type";
import { escapeMarkdownValue } from "@lib/common/utils.ts";
import { escapeMarkdownValue } from "@lib/common/utils.notations.ts";
import { AbstractModule } from "@/modules/AbstractModule.ts";
import { $msg } from "@lib/common/i18n.ts";
import type { InjectableServiceHub } from "@lib/services/InjectableServices.ts";
@@ -4,9 +4,14 @@ import { TFile, type TAbstractFile, type TFolder } from "@/deps.ts";
import { ICHeader } from "@lib/common/models/fileaccess.const";
import { addPrefix, isPlainText } from "@lib/string_and_binary/path.ts";
import { LOG_LEVEL_VERBOSE, Logger } from "octagonal-wheels/common/logger";
import { createBlob } from "@lib/common/utils.ts";
import { createBlob } from "@lib/common/utils.database.ts";
import type { FilePath, FilePathWithPrefix } from "@lib/common/models/db.type";
import type { UXFileInfo, UXFileInfoStub, UXFolderInfo, UXInternalFileInfoStub } from "@lib/common/models/fileaccess.type";
import type {
UXFileInfo,
UXFileInfoStub,
UXFolderInfo,
UXInternalFileInfoStub,
} from "@lib/common/models/fileaccess.type";
import type { LiveSyncCore } from "@/main.ts";
import type { FileAccessObsidian } from "@/serviceModules/FileAccessObsidian.ts";
+1 -1
View File
@@ -12,7 +12,7 @@ import { $msg } from "@lib/common/i18n.ts";
import { performDoctorConsultation, RebuildOptions } from "@lib/common/configForDoc.ts";
import { isValidPath } from "@/common/utils.ts";
import { isMetaEntry } from "@lib/common/models/db.definition";
import { isDeletedEntry, isDocContentSame, isLoadedEntry, readAsBlob } from "@lib/common/utils.ts";
import { isDeletedEntry, isDocContentSame, isLoadedEntry, readAsBlob } from "@lib/common/utils.database.ts";
import { countCompromisedChunks } from "@lib/pouchdb/negotiation.ts";
import type { LiveSyncCore } from "@/main.ts";
import { SetupManager } from "@/modules/features/SetupManager.ts";
@@ -6,7 +6,8 @@ import type { DocumentID, FilePathWithPrefix, LoadedEntry } from "@lib/common/mo
import { LOG_LEVEL_INFO, LOG_LEVEL_NOTICE, LOG_LEVEL_VERBOSE } from "@lib/common/logger";
import { Logger } from "@lib/common/logger.ts";
import { isErrorOfMissingDoc } from "@lib/pouchdb/utils_couchdb.ts";
import { fireAndForget, getDocData, readContent } from "@lib/common/utils.ts";
import { getDocData, readContent } from "@lib/common/utils.database.ts";
import { fireAndForget } from "@lib/common/utils.ts";
import { isPlainText, stripPrefix } from "@lib/string_and_binary/path.ts";
import { scheduleOnceIfDuplicated } from "octagonal-wheels/concurrency/lock";
import type { LiveSyncBaseCore } from "@/LiveSyncBaseCore.ts";
@@ -4,7 +4,7 @@ import type { diff_result } from "@lib/common/models/diff.definition";
import { LOG_LEVEL_INFO, LOG_LEVEL_NOTICE, LOG_LEVEL_VERBOSE } from "@lib/common/logger";
import { ConflictResolveModal } from "./InteractiveConflictResolving/ConflictResolveModal.ts";
import { AbstractObsidianModule } from "@/modules/AbstractObsidianModule.ts";
import { displayRev } from "@/common/utils.ts";
import { displayRev } from "@lib/common/utils.notations.ts";
import { fireAndForget } from "octagonal-wheels/promises";
import { serialized } from "octagonal-wheels/concurrency/lock";
import type { LiveSyncCore } from "@/main.ts";
+2 -1
View File
@@ -4,7 +4,8 @@ import type { DatabaseConnectingStatus } from "@lib/common/models/shared.definit
import { LOG_LEVEL_DEBUG, LOG_LEVEL_INFO, LOG_LEVEL_VERBOSE } from "@lib/common/logger";
import type { LOG_LEVEL } from "@lib/common/logger";
import { cancelTask, scheduleTask } from "octagonal-wheels/concurrency/task";
import { fireAndForget, isDirty, throttle } from "@lib/common/utils.ts";
import { isDirty } from "@lib/common/utils.misc.ts";
import { fireAndForget, throttle } from "@lib/common/utils.ts";
import {
collectingChunks,
pluginScanningCount,
@@ -1,6 +1,7 @@
import type { FilePathWithPrefix, DocumentID, LoadedEntry, MetaEntry, FilePath } from "@lib/common/models/db.type";
import { LOG_LEVEL_NOTICE, LOG_LEVEL_VERBOSE } from "@lib/common/logger";
import { createBlob, getFileRegExp, isDocContentSame, readAsBlob } from "@lib/common/utils.ts";
import { createBlob, isDocContentSame, readAsBlob } from "@lib/common/utils.database.ts";
import { getFileRegExp } from "@lib/common/utils.regexp.ts";
import { Logger } from "@lib/common/logger.ts";
import { addPrefix, shouldBeIgnored, stripAllPrefixes } from "@lib/string_and_binary/path.ts";
import { $msg } from "@lib/common/i18n.ts";
@@ -1,6 +1,6 @@
import { LEVEL_ADVANCED } from "@lib/common/models/shared.definition.configNames";
import type { CustomRegExpSource } from "@lib/common/models/shared.type.util";
import { constructCustomRegExpList, splitCustomRegExpList } from "@lib/common/utils.ts";
import { constructCustomRegExpList, splitCustomRegExpList } from "@lib/common/utils.regexp.ts";
import MultipleRegExpControl from "./MultipleRegExpControl.svelte";
import { LiveSyncSetting as Setting } from "./LiveSyncSetting.ts";
import { mount } from "svelte";
@@ -1,4 +1,4 @@
import { pickBucketSyncSettings, pickCouchDBSyncSettings, pickP2PSyncSettings } from "@lib/common/utils.ts";
import { pickBucketSyncSettings, pickCouchDBSyncSettings, pickP2PSyncSettings } from "@lib/common/utils.settings.ts";
import type { ObsidianLiveSyncSettings } from "@lib/common/models/setting.type";
// Keep the setting dialogue buffer aligned with the current core settings before persisting other dirty keys.
// This also clears stale dirty values left from editing a different remote type before switching active remotes.
@@ -5,7 +5,7 @@ import {
pickBucketSyncSettings,
pickP2PSyncSettings,
pickEncryptionSettings,
} from "@lib/common/utils";
} from "@lib/common/utils.settings";
import { getConfig, type AllSettingItemKey } from "./settingConstants";
import { LOG_LEVEL_NOTICE, Logger } from "octagonal-wheels/common/logger";
import { isNotFoundError } from "@lib/common/utils.doc.ts";
@@ -2,7 +2,8 @@ import { requestToCouchDBWithCredentials } from "@/common/utils";
import { $msg } from "@lib/common/i18n";
import { LOG_LEVEL_INFO, LOG_LEVEL_NOTICE, LOG_LEVEL_VERBOSE, Logger } from "@lib/common/logger";
import type { ObsidianLiveSyncSettings } from "@lib/common/types";
import { fireAndForget, parseHeaderValues } from "@lib/common/utils";
import { parseHeaderValues } from "@lib/common/utils.misc";
import { fireAndForget } from "@lib/common/utils";
import { isCloudantURI } from "@lib/pouchdb/utils_couchdb";
import { generateCredentialObject } from "@lib/replication/httplib";
+7 -1
View File
@@ -1,4 +1,10 @@
import type { BucketSyncSetting, CouchDBConnection, EncryptionSettings, ObsidianLiveSyncSettings, P2PSyncSetting } from "@lib/common/models/setting.type";
import type {
BucketSyncSetting,
CouchDBConnection,
EncryptionSettings,
ObsidianLiveSyncSettings,
P2PSyncSetting,
} from "@lib/common/models/setting.type";
import { DEFAULT_SETTINGS } from "@lib/common/models/setting.const.defaults";
import { REMOTE_COUCHDB, REMOTE_MINIO, REMOTE_P2P } from "@lib/common/models/setting.const";
import { LOG_LEVEL_NOTICE, LOG_LEVEL_VERBOSE } from "@lib/common/logger";
@@ -2,7 +2,7 @@ import { requestToCouchDBWithCredentials } from "@/common/utils";
import { $msg } from "@lib/common/i18n";
import { Logger } from "@lib/common/logger";
import type { ObsidianLiveSyncSettings } from "@lib/common/types";
import { parseHeaderValues } from "@lib/common/utils";
import { parseHeaderValues } from "@lib/common/utils.misc";
import { isCloudantURI } from "@lib/pouchdb/utils_couchdb";
import { generateCredentialObject } from "@lib/replication/httplib";
export type ResultMessage = { message: string; classes: string[] };