SYMBOL INDEX (942 symbols across 65 files) FILE: android/app/src/main/java/org/handmadeideas/floccus/MainActivity.java class MainActivity (line 8) | public class MainActivity extends BridgeActivity { method onNewIntent (line 10) | @Override method handleIntent (line 16) | private void handleIntent(Intent intent) { FILE: gulpfile.js constant VERSION (line 26) | const VERSION = require('./package.json').version constant WEBSTORE_ID (line 51) | const WEBSTORE_ID = 'fnaicdffflnofjppbagibeoednhnbjhg' constant WEBSTORE_CREDENTIALS (line 53) | let WEBSTORE_CREDENTIALS function onWatchEvent (line 295) | function onWatchEvent(path) { FILE: lib/gulp-crx.js function transform (line 11) | function transform(file, encoding, done) { FILE: src/build-fixtures/lazyLoadIntegration.js function lazyLoadIntegration (line 1) | function lazyLoadIntegration() { FILE: src/errors/Error.ts class FloccusError (line 4) | class FloccusError extends Error { method constructor (line 7) | constructor(message) { class TransientError (line 14) | class TransientError extends FloccusError { method constructor (line 15) | constructor(message) { class UnknownCreateTargetError (line 21) | class UnknownCreateTargetError extends FloccusError { method constructor (line 23) | constructor() { class UnknownBookmarkUpdateError (line 29) | class UnknownBookmarkUpdateError extends TransientError { method constructor (line 31) | constructor() { class UnknownMoveOriginError (line 37) | class UnknownMoveOriginError extends TransientError { method constructor (line 39) | constructor() { class UnknownMoveTargetError (line 45) | class UnknownMoveTargetError extends FloccusError { method constructor (line 47) | constructor() { class UnknownFolderParentUpdateError (line 53) | class UnknownFolderParentUpdateError extends TransientError { method constructor (line 55) | constructor() { class UnknownFolderUpdateError (line 61) | class UnknownFolderUpdateError extends TransientError { method constructor (line 63) | constructor() { class UnknownFolderMoveError (line 69) | class UnknownFolderMoveError extends TransientError { method constructor (line 71) | constructor() { class UnknownFolderOrderError (line 80) | class UnknownFolderOrderError extends TransientError { method constructor (line 82) | constructor() { class UnknownFolderItemOrderError (line 88) | class UnknownFolderItemOrderError extends FloccusError { method constructor (line 91) | constructor(item: string) { class MissingItemOrderError (line 98) | class MissingItemOrderError extends FloccusError { method constructor (line 101) | constructor(item: string) { class UnknownFolderRemoveError (line 108) | class UnknownFolderRemoveError extends TransientError { method constructor (line 110) | constructor() { class UnknownFolderParentRemoveError (line 116) | class UnknownFolderParentRemoveError extends FloccusError { method constructor (line 118) | constructor() { class UnexpectedServerResponseError (line 124) | class UnexpectedServerResponseError extends TransientError { method constructor (line 126) | constructor() { class RequestTimeoutError (line 132) | class RequestTimeoutError extends TransientError { method constructor (line 134) | constructor() { class NetworkError (line 140) | class NetworkError extends TransientError { method constructor (line 142) | constructor() { class AuthenticationError (line 150) | class AuthenticationError extends FloccusError { method constructor (line 152) | constructor() { class HttpError (line 158) | class HttpError extends TransientError { method constructor (line 164) | constructor(status: number, method: string) { class ParseResponseError (line 175) | class ParseResponseError extends TransientError { method constructor (line 178) | constructor(response: string) { class InconsistentServerStateError (line 185) | class InconsistentServerStateError extends TransientError { method constructor (line 187) | constructor() { class InconsistentBookmarksExistenceError (line 195) | class InconsistentBookmarksExistenceError extends TransientError { method constructor (line 199) | constructor(folder: string, bookmark: string) { class UnclearedLockFileError (line 209) | class UnclearedLockFileError extends FloccusError { method constructor (line 213) | constructor(lockFile:string) { class LockFileError (line 220) | class LockFileError extends FloccusError { method constructor (line 225) | constructor(status:number, lockFile:string) { class SlashError (line 233) | class SlashError extends FloccusError { method constructor (line 238) | constructor() { class CancelledSyncError (line 244) | class CancelledSyncError extends FloccusError { method constructor (line 246) | constructor() { class InterruptedSyncError (line 252) | class InterruptedSyncError extends TransientError { method constructor (line 254) | constructor() { class ServersideDeletionFailsafeError (line 262) | class ServersideDeletionFailsafeError extends FloccusError { method constructor (line 266) | constructor(percent:number) { class DecryptionError (line 273) | class DecryptionError extends FloccusError { method constructor (line 276) | constructor() { class GoogleDriveAuthenticationError (line 282) | class GoogleDriveAuthenticationError extends FloccusError { method constructor (line 284) | constructor() { class GoogleOAuthTokenError (line 290) | class GoogleOAuthTokenError extends FloccusError { method constructor (line 292) | constructor() { class RedirectError (line 298) | class RedirectError extends FloccusError { method constructor (line 300) | constructor() { class FileUnreadableError (line 306) | class FileUnreadableError extends FloccusError { method constructor (line 308) | constructor() { class CreateBookmarkError (line 314) | class CreateBookmarkError extends FloccusError { method constructor (line 317) | constructor(bookmark: Bookmark) { class MissingPermissionsError (line 324) | class MissingPermissionsError extends FloccusError { method constructor (line 326) | constructor() { class ResourceLockedError (line 332) | class ResourceLockedError extends FloccusError { method constructor (line 334) | constructor() { class LocalFolderNotFoundError (line 340) | class LocalFolderNotFoundError extends FloccusError { method constructor (line 342) | constructor() { class UpdateBookmarkError (line 348) | class UpdateBookmarkError extends FloccusError { method constructor (line 351) | constructor(bookmark: Bookmark) { class GoogleDriveSearchError (line 358) | class GoogleDriveSearchError extends FloccusError { method constructor (line 360) | constructor() { class FileSizeMismatch (line 366) | class FileSizeMismatch extends TransientError { method constructor (line 368) | constructor() { class FileSizeUnknown (line 376) | class FileSizeUnknown extends FloccusError { method constructor (line 378) | constructor() { class ServersideAdditionFailsafeError (line 384) | class ServersideAdditionFailsafeError extends FloccusError { method constructor (line 388) | constructor(percent:number) { class GitPushError (line 395) | class GitPushError extends FloccusError { method constructor (line 399) | constructor(errorMessage:string) { class UnexpectedFolderPathError (line 406) | class UnexpectedFolderPathError extends FloccusError { method constructor (line 411) | constructor(originalPath: string, newPath: string) { class InvalidUrlError (line 419) | class InvalidUrlError extends FloccusError { method constructor (line 423) | constructor(url: string) { class XbelParseError (line 430) | class XbelParseError extends FloccusError { method constructor (line 432) | constructor() { class MappingFailureError (line 438) | class MappingFailureError extends FloccusError { method constructor (line 442) | constructor(id: string) { class ClientsideAdditionFailsafeError (line 449) | class ClientsideAdditionFailsafeError extends FloccusError { method constructor (line 453) | constructor(percent:number) { class ClientsideDeletionFailsafeError (line 460) | class ClientsideDeletionFailsafeError extends FloccusError { method constructor (line 464) | constructor(percent:number) { class DropboxAuthenticationError (line 471) | class DropboxAuthenticationError extends FloccusError { method constructor (line 473) | constructor() { class DropboxOAuthTokenError (line 479) | class DropboxOAuthTokenError extends FloccusError { method constructor (line 481) | constructor() { class DropboxSearchError (line 487) | class DropboxSearchError extends FloccusError { method constructor (line 489) | constructor() { class DropboxTemplateError (line 495) | class DropboxTemplateError extends FloccusError { method constructor (line 497) | constructor() { FILE: src/lib/Account.ts constant LOCK_TIMEOUT (line 38) | const LOCK_TIMEOUT = 1000 * 60 * 60 * 2 class Account (line 42) | class Account { method getAccountClass (line 46) | static async getAccountClass(): Promise { method get (line 58) | static async get(id:string):Promise { method create (line 68) | static async create(data: IAccountData):Promise { method import (line 72) | static async import(accounts:IAccountData[]):Promise { method export (line 78) | static async export(accountIds:string[]):Promise { method constructor (line 95) | constructor(id:string, storageAdapter:IAccountStorage, serverAdapter: ... method delete (line 104) | async delete():Promise { method getLabel (line 108) | getLabel():string { method getData (line 112) | getData():IAccountData { method getResource (line 135) | async getResource():Promise { method setData (line 143) | async setData(data:Partial):Promise { method updateFromStorage (line 151) | async updateFromStorage():Promise { method tracksBookmark (line 155) | async tracksBookmark(localId:string):Promise { method init (line 168) | async init():Promise { method isInitialized (line 172) | async isInitialized():Promise { method sync (line 176) | async sync(strategy?:TAccountStrategy, forceSync = false):Promise { method stringifyError (line 441) | static async stringifyError(er:any):Promise { method cancelSync (line 445) | async cancelSync():Promise { method progressCallback (line 461) | private async progressCallback(progress: number, actionsDone: number) { method getAllAccounts (line 500) | static async getAllAccounts():Promise { method getAccountsContainingLocalId (line 504) | static async getAccountsContainingLocalId(localId:string, ancestors:st... function matchAllErrors (line 509) | function matchAllErrors(e, fn:(e)=>boolean) { FILE: src/lib/AdapterFactory.ts method register (line 6) | register(type:string, adapter: any):void { method factory (line 9) | async factory(data: any): Promise { method getDefaultValues (line 15) | async getDefaultValues(type:string):Promise { FILE: src/lib/CacheTree.ts class CacheTree (line 5) | class CacheTree extends CachingAdapter implements IResource) { method getBookmarksTree (line 17) | async getBookmarksTree(): Promise> { method isAvailable (line 23) | isAvailable(): Promise { FILE: src/lib/CachingTreeWrapper.ts class CachingTreeWrapper (line 6) | class CachingTreeWrapper implements OrderFolderResource) { method getBookmarksTree (line 15) | async getBookmarksTree(): Promise> { method setCacheTree (line 21) | async setCacheTree(tree: Folder) { method createBookmark (line 25) | async createBookmark(bookmark:Bookmark): Pr... method updateBookmark (line 37) | async updateBookmark(bookmark:Bookmark):Pro... method removeBookmark (line 42) | async removeBookmark(bookmark:Bookmark): Pr... method createFolder (line 47) | async createFolder(folder:Folder): Promise<... method orderFolder (line 59) | async orderFolder(id:string|number, order:Ordering): Promise<... method removeFolder (line 69) | async removeFolder(folder:Folder): Promise<... method isAvailable (line 74) | isAvailable(): Promise { method isUsingBrowserTabs (line 78) | async isUsingBrowserTabs() { method getCacheTree (line 82) | getCacheTree(): Promise> { method getCapabilities (line 86) | getCapabilities(): Promise { method setHashSettings (line 90) | setHashSettings(hashSettings: IHashSettings): void { method cancel (line 94) | cancel(): void { method isAtomic (line 98) | isAtomic(): boolean { FILE: src/lib/Controller.ts type FloccusWorker (line 5) | interface FloccusWorker { class Controller (line 10) | class Controller implements IController { method getSingleton (line 15) | static async getSingleton():Promise { method constructor (line 28) | constructor(worker?: FloccusWorker) { method getWorker (line 32) | async getWorker(): Promise { method cancelSync (line 74) | async cancelSync(accountId, keepEnabled): Promise { method onStatusChange (line 82) | onStatusChange(listener): () => void { method scheduleSync (line 99) | async scheduleSync(accountId, wait): Promise { method scheduleAll (line 107) | async scheduleAll(): Promise { method setEnabled (line 115) | async setEnabled(enabled: boolean): Promise { method syncAccount (line 122) | async syncAccount(accountId, strategy, forceSync = false): Promise { method getUnlocked (line 149) | async getUnlocked(): Promise { method onLoad (line 168) | async onLoad() { FILE: src/lib/Crypto.ts class Crypto (line 5) | class Crypto { method xxhash32 (line 9) | static async xxhash32(message: string): Promise { method murmurHash3 (line 13) | static async murmurHash3(message: string): Promise { method sha256 (line 20) | static async sha256(message: string): Promise { method bufferToHexstr (line 27) | static bufferToHexstr(buffer: Uint8Array): string { method hexstrToBuffer (line 33) | static hexstrToBuffer(hex: string): Uint8Array { method prepareKey (line 44) | static async prepareKey(passphrase: string, salt: string): Promise { FILE: src/lib/DefunctCrypto.js class Crypto (line 1) | class Crypto { method sha256 (line 2) | static async sha256(message) { method bufferToHexstr (line 9) | static bufferToHexstr(buffer) { method hexstrToBuffer (line 15) | static hexstrToBuffer(hex) { method prepareKey (line 26) | static async prepareKey(key) { method decryptAES (line 41) | static async decryptAES(key, iv, ciphertext) { method encryptAES (line 51) | static async encryptAES(key, iv, message) { method getRandomBytes (line 61) | static getRandomBytes(bytelength) { FILE: src/lib/Diff.ts type TActionType (line 18) | type TActionType = (typeof ActionType)[keyof typeof ActionType]; type CreateAction (line 20) | interface CreateAction { type Action (line 58) | type Action = Create... type LocationOfAction (line 60) | type LocationOfAction = A extends Action ? L ... type OldLocationOfAction (line 61) | type OldLocationOfAction = A extends Action ?... type MapLocation (line 63) | type MapLocation, NewLoca... class Diff (line 81) | class Diff< method constructor (line 88) | constructor() { method clone (line 92) | clone(filter: (action: A) => boolean = () => true): Diff { method commit (line 103) | commit(action: A): void { method retract (line 107) | retract(action: A): void { method getActions (line 111) | getActions(): A[] { method containsParent (line 115) | static containsParent( method findChain (line 160) | static findChain( method sortMoves (line 237) | static sortMoves( method map (line 290) | map( method toJSON (line 405) | toJSON() { method toJSONAsync (line 415) | async toJSONAsync() { method inspect (line 431) | inspect(depth = 0): string { method fromJSON (line 452) | static fromJSON< method fromJSONAsync (line 466) | static async fromJSONAsync< type PlanStage1 (line 482) | interface PlanStage1 { type PlanStage2 (line 490) | interface PlanStage2 { FILE: src/lib/LocalTabs.ts class LocalTabs (line 9) | class LocalTabs implements OrderFolderResource { method constructor (line 13) | constructor(storage:unknown) { method getWindowIdFromFolderId (line 18) | private getWindowIdFromFolderId(folderId:string|number):number { method getTabGroupIdFromFolderId (line 22) | private getTabGroupIdFromFolderId(folderId:string|number):number { method getFolderIdFromWindowId (line 26) | private getFolderIdFromWindowId(windowId:number):string { method getFolderIdFromTabGroupId (line 30) | private getFolderIdFromTabGroupId(tabGroupId:number):string { method getBookmarksTree (line 34) | async getBookmarksTree():Promise> { method createBookmark (line 138) | async createBookmark(bookmark:Bookmark): Pr... method updateBookmark (line 207) | async updateBookmark(bookmark:Bookmark):Pro... method removeBookmark (line 276) | async removeBookmark(bookmark:Bookmark): Pr... method createFolder (line 287) | async createFolder(folder:Folder): Promise<... method orderFolder (line 345) | async orderFolder(id:string|number, order:Ordering):Promise):Promise { method isUsingBrowserTabs (line 513) | async isUsingBrowserTabs() { method getCapabilities (line 517) | async getCapabilities(): Promise { method setHashSettings (line 525) | setHashSettings(hashSettings: IHashSettings): void { method cancel (line 529) | cancel(): void { method isAtomic (line 533) | isAtomic(): boolean { function awaitTabsUpdated (line 538) | function awaitTabsUpdated() { FILE: src/lib/Logger.js class Logger (line 11) | class Logger { method log (line 12) | static log() { method trimLogs (line 22) | static trimLogs() { method persist (line 26) | static async persist() { method intermittentPersist (line 41) | static async intermittentPersist() { method getLogs (line 54) | static async getLogs() { method anonymizeLogs (line 61) | static async anonymizeLogs(logs) { method replaceAsync (line 86) | static async replaceAsync(str, regex, asyncFn) { method downloadLogs (line 102) | static async downloadLogs(anonymous = false) { method download (line 123) | static async download(filename, blob) { FILE: src/lib/Mappings.ts type InternalItemTypeMapping (line 3) | type InternalItemTypeMapping = { LocalToServer: Record, ... type Mapping (line 5) | type Mapping = Record> type MappingSnapshot (line 7) | type MappingSnapshot = { class Mappings (line 12) | class Mappings { method constructor (line 17) | constructor(storageAdapter:any, mappingsData:any) { method getSnapshot (line 23) | getSnapshot():MappingSnapshot { method gc (line 36) | async gc(tree: Folder) { method addFolder (line 50) | async addFolder({ localId, remoteId }: { localId?:string|number, remot... method removeFolder (line 54) | async removeFolder({ localId, remoteId }: { localId?:string|number, re... method addBookmark (line 58) | async addBookmark({ localId, remoteId }: { localId?:string|number, rem... method removeBookmark (line 62) | async removeBookmark({ localId, remoteId }: { localId?:string|number, ... method persist (line 66) | async persist():Promise { method add (line 73) | private static add(mappings, { localId, remoteId }: { localId?:string|... method remove (line 81) | private static remove(mappings, { localId, remoteId }: { localId?:stri... method mapRawId (line 98) | static mapRawId(mappingsSnapshot:MappingSnapshot, id: string|number, t... method mapId (line 105) | static mapId(mappingsSnapshot:MappingSnapshot, item: TItem { class Scanner (line 16) | class Scanner { method constructor (line 26) | constructor(oldTree:TItem, newTree:TItem, mergeable:(i1:TItem<... method getDiffs (line 42) | getDiffs(): ScanResult { method run (line 46) | async run():Promise> { method diffItem (line 53) | async diffItem(oldItem:TItem, newItem:TItem):Promise { method diffFolder (line 63) | async diffFolder(oldFolder:Folder, newFolder:Folder):Promise, newBookmark:Bookmark)... method bookmarkHasChanged (line 139) | async bookmarkHasChanged(oldBookmark:Bookmark, newBookmark:Bookmar... method folderHasChanged (line 145) | async folderHasChanged(oldFolder:Folder, newFolder:Folder):Pro... method findMoves (line 151) | async findMoves():Promise { method addReorders (line 292) | async addReorders(): Promise { FILE: src/lib/Tree.ts constant STRANGE_PROTOCOLS (line 7) | const STRANGE_PROTOCOLS = ['data:', 'javascript:', 'about:', 'chrome:', ... type TItemLocation (line 14) | type TItemLocation = (typeof ItemLocation)[keyof typeof ItemLocation]; type TOppositeLocation (line 16) | type TOppositeLocation = L extends typeof ItemL... type TItemType (line 23) | type TItemType = (typeof ItemType)[keyof typeof ItemType]; type IItemIndex (line 25) | interface IItemIndex { class Bookmark (line 32) | class Bookmark { method constructor (line 44) | constructor({ method canMergeWith (line 89) | canMergeWith(otherItem: TItem): boolean { method childrenSimilarity (line 96) | childrenSimilarity(otherItem: TItem): nu... method setHashCacheValue (line 100) | setHashCacheValue(hashSettings: IHashSettings, value: string): void { method hash (line 106) | async hash( method clone (line 130) | clone(withHash?: boolean): Bookmark { method cloneWithLocation (line 138) | cloneWithLocation( method copy (line 147) | copy(withHash?: boolean): Bookmark { method copyWithLocation (line 153) | copyWithLocation( method toJSON (line 165) | toJSON() { method toJSONAsync (line 182) | async toJSONAsync(): Promise { method createIndex (line 200) | createIndex(): IItemIndex { method findItem (line 206) | findItem(type: TItemType, id: string | number): TItem | null { method findItemFilter (line 214) | findItemFilter( method count (line 225) | count(): number { method countFolders (line 229) | countFolders(): number { method inspect (line 233) | inspect(depth = 0): string { method visitCreate (line 242) | visitCreate(resource: TResource): Promise { method visitUpdate (line 246) | visitUpdate(resource: TResource): Promise { method visitRemove (line 250) | visitRemove(resource: TResource): Promise { method hydrate (line 254) | static hydrate(obj: any): Bookmark { class Folder (line 259) | class Folder { method constructor (line 271) | constructor({ method findItemFilter (line 311) | findItemFilter( method findFolder (line 324) | findFolder(id: string | number): Folder { method findBookmark (line 341) | findBookmark(id: string | number): Bookmark { method findItem (line 361) | findItem(type: TItemType, id: string | number): TItem | null { method traverse (line 369) | async traverse( method canMergeWith (line 387) | canMergeWith(otherItem: TItem): boolean { method childrenSimilarity (line 394) | childrenSimilarity(otherItem: TItem): nu... method setHashCacheValue (line 404) | setHashCacheValue(hashSettings: IHashSettings, value: string): void { method hash (line 410) | async hash( method copy (line 461) | copy(withHash?: boolean): Folder { method copyWithLocation (line 471) | copyWithLocation( method clone (line 487) | clone(withHash?: boolean): Folder { method cloneWithLocation (line 497) | cloneWithLocation( method toJSON (line 513) | toJSON(): Folder { method toJSONAsync (line 533) | async toJSONAsync(): Promise> { method count (line 554) | count(): number { method countFolders (line 561) | countFolders(): number { method createIndex (line 568) | createIndex(): IItemIndex { method updateIndex (line 590) | updateIndex(item: TItem) { method removeFromIndex (line 600) | removeFromIndex(item: TItem) { method inspect (line 605) | inspect(depth = 0): string { method visitCreate (line 621) | visitCreate(resource: TResource): Promise { method visitUpdate (line 625) | visitUpdate(resource: TResource): Promise { method visitRemove (line 629) | visitRemove(resource: TResource): Promise { method hydrate (line 633) | static hydrate(obj: { method getAncestorsOf (line 656) | static getAncestorsOf( type TItem (line 674) | type TItem = Bookmark | Folder function hydrate (line 676) | function hydrate(obj: any) { FILE: src/lib/adapters/Caching.ts class CachingAdapter (line 17) | class CachingAdapter implements Adapter, BulkImportResource> { method acceptsBookmark (line 42) | acceptsBookmark(bm:Bookmark):boolean { method createBookmark (line 74) | async createBookmark(bm:Bookmark):Promise { method updateBookmark (line 87) | async updateBookmark(newBm: Bookmark): Promise { method removeBookmark (line 119) | async removeBookmark(bookmark:Bookmark): Promise { method createFolder (line 139) | async createFolder(folder:Folder): Promise): Promise { method orderFolder (line 178) | async orderFolder(id:string|number, order:Ordering):Pro... method removeFolder (line 209) | async removeFolder(folder:Folder):Promise { method bulkImportFolder (line 225) | async bulkImportFolder(id:string|number, folder:Folder)... method setData (line 246) | setData(data:any):void { method getData (line 250) | getData():any { method onSyncStart (line 255) | async onSyncStart(needLock = true):Promise { } method onSyncFail (line 258) | async onSyncFail():Promise { } method onSyncComplete (line 261) | async onSyncComplete():Promise { } method cancel (line 263) | cancel() { method isAvailable (line 267) | isAvailable(): Promise { method isAtomic (line 271) | isAtomic(): boolean { method getCapabilities (line 275) | async getCapabilities(): Promise { method setHashSettings (line 282) | setHashSettings(hashSettings: IHashSettings): void { FILE: src/lib/adapters/Dropbox.ts type CustomResponse (line 64) | interface CustomResponse { constant LOCK_INTERVAL (line 72) | const LOCK_INTERVAL = 2 * 60 * 1000 // Lock every two minutes while syncing constant LOCK_TIMEOUT (line 73) | const LOCK_TIMEOUT = 15 * 60 * 1000 // Override lock 15min after last ti... constant HTTP_TIMEOUT (line 74) | const HTTP_TIMEOUT = 60000 class DropboxAdapter (line 75) | class DropboxAdapter extends CachingAdapter { method constructor (line 86) | constructor(server) { method authorize (line 91) | static async authorize(interactive = true) { method getAccessToken (line 219) | async getAccessToken(refreshToken:string) { method getLabel (line 248) | getLabel():string { method getDefaultValues (line 252) | static getDefaultValues() { method getUrl (line 263) | getUrl() :string { method getContentUrl (line 267) | getContentUrl() :string { method timeout (line 271) | timeout(ms) { method getBookmarksTree (line 278) | async getBookmarksTree(): Promise> { method onSyncStart (line 291) | async onSyncStart(needLock = true, forceLock = false) { method onSyncFail (line 420) | async onSyncFail() { method getXBELContent (line 434) | async getXBELContent() { method onSyncComplete (line 448) | async onSyncComplete() { method cancel (line 471) | cancel() { method request (line 484) | async request(method: string, url: string, body: any = null, contentTy... method requestWeb (line 488) | async requestWeb(method: string, url: string, body: any = null, conten... method requestNative (line 530) | async requestNative(method: string, url: string, body: any = null, con... method listFiles (line 593) | async listFiles(query: string, limit = 1) : Promise { method getFileMetadata (line 623) | async getFileMetadata(id: string): Promise { method downloadFile (line 665) | async downloadFile(path: string): Promise { method deleteFile (line 735) | async deleteFile(id: string): Promise { method setupTemplate (line 752) | async setupTemplate() { method addTemplate (line 781) | async addTemplate(): Promise { method getTemplates (line 810) | async getTemplates(): Promise { method getTemplate (line 842) | async getTemplate(templateId:string): Promise { method getTemplateId (line 877) | async getTemplateId(): Promise { method freeLock (line 925) | async freeLock(id:string) { method setLock (line 968) | async setLock(id:string) { method createFile (line 998) | async createFile(xbel: string, path:string) { method uploadFile (line 1032) | async uploadFile(id:string, xbel: string) { function createXBEL (line 1060) | function createXBEL(rootFolder, highestId) { FILE: src/lib/adapters/Fake.js class FakeAdapter (line 3) | class FakeAdapter extends CachingAdapter { method constructor (line 4) | constructor(server) { method getDefaultValues (line 9) | static getDefaultValues() { method setData (line 15) | setData(data) { method getData (line 19) | getData() { method getLabel (line 23) | getLabel() { FILE: src/lib/adapters/Git.ts constant LOCK_INTERVAL (line 22) | const LOCK_INTERVAL = 2 * 60 * 1000 // Lock every 2mins while syncing constant LOCK_TIMEOUT (line 23) | const LOCK_TIMEOUT = 15 * 60 * 1000 // Override lock 0.25h after last ti... class GitAdapter (line 24) | class GitAdapter extends CachingAdapter { method constructor (line 34) | constructor(server) { method getDefaultValues (line 41) | static getDefaultValues() { method getLabel (line 56) | getLabel():string { method getData (line 63) | getData() { method cancel (line 67) | cancel() { method getBookmarksTree (line 71) | async getBookmarksTree(): Promise> { method onSyncStart (line 78) | async onSyncStart(needLock = true, forceLock = false) { method onSyncFail (line 190) | async onSyncFail() { method onSyncComplete (line 197) | async onSyncComplete() { method cleanupIndexedDB (line 246) | async cleanupIndexedDB() { method obtainLock (line 289) | async obtainLock() { method setLock (line 302) | async setLock() { method onAuth (line 317) | async onAuth() { method freeLock (line 321) | async freeLock() { method clearAllLocks (line 344) | async clearAllLocks(fs:FS = null): Promise { method pullFromServer (line 354) | async pullFromServer() { method clearServer (line 397) | async clearServer() { function createXBEL (line 455) | function createXBEL(rootFolder, highestId) { function createHTML (line 475) | function createHTML(rootFolder, highestId) { FILE: src/lib/adapters/GoogleDrive.ts type CustomResponse (line 37) | interface CustomResponse { constant LOCK_INTERVAL (line 45) | const LOCK_INTERVAL = 2 * 60 * 1000 // Lock every two minutes while syncing constant LOCK_TIMEOUT (line 46) | const LOCK_TIMEOUT = 15 * 60 * 1000 // Override lock 15min after last ti... constant HTTP_TIMEOUT (line 47) | const HTTP_TIMEOUT = 60000 class GoogleDriveAdapter (line 48) | class GoogleDriveAdapter extends CachingAdapter { method constructor (line 60) | constructor(server) { method authorize (line 65) | static async authorize(interactive = true) { method getAccessToken (line 145) | async getAccessToken(refreshToken:string) { method getLabel (line 169) | getLabel():string { method getDefaultValues (line 173) | static getDefaultValues() { method getUrl (line 184) | getUrl() :string { method timeout (line 188) | timeout(ms) { method getBookmarksTree (line 195) | async getBookmarksTree(): Promise> { method onSyncStart (line 202) | async onSyncStart(needLock = true, forceLock = false) { method onSyncFail (line 314) | async onSyncFail() { method getXBELContent (line 325) | async getXBELContent() { method onSyncComplete (line 336) | async onSyncComplete() { method cancel (line 359) | cancel() { method request (line 363) | async request(method: string, url: string, body: any = null, contentTy... method requestWeb (line 367) | async requestWeb(method: string, url: string, body: any = null, conten... method requestNative (line 400) | async requestNative(method: string, url: string, body: any = null, con... method listFiles (line 454) | async listFiles(query: string, limit = 1) : Promise { method getFileMetadata (line 463) | async getFileMetadata(id: string, fields?:string): Promise { method downloadFile (line 472) | async downloadFile(id: string): Promise { method deleteFile (line 482) | async deleteFile(id: string): Promise { method freeLock (line 486) | async freeLock(id:string) { method setLock (line 509) | async setLock(id:string) { method createFile (line 522) | async createFile(xbel: string) { method uploadFile (line 537) | async uploadFile(id:string, xbel: string) { function createXBEL (line 547) | function createXBEL(rootFolder, highestId) { FILE: src/lib/adapters/Karakeep.ts type KarakeepConfig (line 19) | interface KarakeepConfig { constant TIMEOUT (line 30) | const TIMEOUT = 300000 class KarakeepAdapter (line 32) | class KarakeepAdapter implements Adapter, IResource): boolean { method cancel (line 74) | cancel(): void { method setData (line 79) | setData(data: KarakeepConfig): void { method getData (line 83) | getData(): KarakeepConfig { method getLabel (line 87) | getLabel(): string { method onSyncComplete (line 92) | onSyncComplete(): Promise { method onSyncFail (line 96) | onSyncFail(): Promise { method onSyncStart (line 100) | async onSyncStart( method createBookmark (line 121) | async createBookmark(bookmark: { method updateBookmark (line 158) | async updateBookmark(bookmark: { method removeBookmark (line 197) | async removeBookmark(bookmark: { method createFolder (line 227) | async createFolder(folder: { method updateFolder (line 247) | async updateFolder(folder: { method removeFolder (line 267) | async removeFolder(folder: { id: string | number }): Promise { method getBookmarksTree (line 322) | async getBookmarksTree( method getListsOfBookmark (line 413) | async getListsOfBookmark(bookmarkId: string | number): Promise { method sendRequest (line 426) | async sendRequest( method sendRequestNative (line 510) | private async sendRequestNative( method getCapabilities (line 571) | async getCapabilities(): Promise { method isAtomic (line 578) | isAtomic(): boolean { method setHashSettings (line 583) | setHashSettings(hashSettings: IHashSettings): void { FILE: src/lib/adapters/Linkwarden.ts type LinkwardenConfig (line 17) | interface LinkwardenConfig { constant TIMEOUT (line 29) | const TIMEOUT = 300000 class LinkwardenAdapter (line 31) | class LinkwardenAdapter implements Adapter, IResource):boolean { method cancel (line 66) | cancel(): void { method setData (line 71) | setData(data:LinkwardenConfig):void { method getData (line 75) | getData(): LinkwardenConfig { method getLabel (line 79) | getLabel(): string { method onSyncComplete (line 84) | onSyncComplete(): Promise { method onSyncFail (line 88) | onSyncFail(): Promise { method onSyncStart (line 92) | async onSyncStart(needLock?: boolean, forceLock?: boolean): Promise): ... method updateBookmark (line 125) | async updateBookmark(bookmark: Bookmark): ... method removeBookmark (line 144) | async removeBookmark(bookmark: Bookmark): ... method createFolder (line 149) | async createFolder(folder: Folder): Promis... method updateFolder (line 161) | async updateFolder(folder: Folder): Promis... method removeFolder (line 174) | async removeFolder(folder: Folder): Promis... method getBookmarksTree (line 194) | async getBookmarksTree(loadAll?: boolean): Promise { method sendRequest (line 244) | async sendRequest(verb:string, relUrl:string, type:string = null, body... method sendRequestNative (line 320) | private async sendRequestNative(verb: string, url: string, type: strin... method getCapabilities (line 373) | async getCapabilities(): Promise { method isAtomic (line 380) | isAtomic(): boolean { method setHashSettings (line 385) | setHashSettings(hashSettings: IHashSettings): void { FILE: src/lib/adapters/NextcloudBookmarks.ts constant PAGE_SIZE (line 36) | const PAGE_SIZE = 300 constant TIMEOUT (line 37) | const TIMEOUT = 300000 type NextcloudBookmarksConfig (line 39) | interface NextcloudBookmarksConfig { type IChildFolder (line 51) | interface IChildFolder { type IChildOrderItem (line 58) | interface IChildOrderItem { constant LOCK_INTERVAL (line 64) | const LOCK_INTERVAL = 2 * 60 * 1000 // Set lock every two minutes while ... class NextcloudBookmarksAdapter (line 66) | class NextcloudBookmarksAdapter implements Adapter, BulkImportResource):boolean { method normalizeServerURL (line 128) | normalizeServerURL(input:string):string { method onSyncStart (line 144) | async onSyncStart(needLock = true, forceLock = false): Promise { method onSyncComplete (line 185) | async onSyncComplete(): Promise { method onSyncFail (line 191) | async onSyncFail(): Promise { method cancel (line 197) | cancel() { method getBookmarksList (line 203) | async getBookmarksList():Promise[... method getBookmarksTree (line 249) | async getBookmarksTree(loadAll = false):Promise> { method getCompleteBookmarksTree (line 304) | async getCompleteBookmarksTree():Promise { method _getChildren (line 347) | async _getChildren(folderId:string|number, layers:number):Promise):Promise<... method bulkImportFolder (line 450) | async bulkImportFolder(parentId:string|number, folder:Folder):Promise<... method orderFolder (line 551) | async orderFolder(id:string|number, order:Ordering):Promise<... method _getBookmark (line 587) | async _getBookmark(id:string|number):Promise):Promise<... method updateBookmark (line 708) | async updateBookmark(newBm:Bookmark):Promi... method removeBookmark (line 773) | async removeBookmark(bookmark:Bookmark):Pr... method getNextcloudCapabilities (line 797) | async getNextcloudCapabilities(): Promise { method checkFeatureJavascriptLinks (line 805) | async checkFeatureJavascriptLinks(): Promise { method sendOCSRequest (line 832) | async sendOCSRequest(verb: string, relUrl: string, type: string = null... method sendRequest (line 854) | async sendRequest(verb:string, relUrl:string, type:string = null, orig... method acquireLock (line 955) | private async acquireLock():Promise { method releaseLock (line 977) | private async releaseLock():Promise { method sendRequestNative (line 995) | private async sendRequestNative(verb: string, url: string, type: strin... method isAvailable (line 1070) | isAvailable(): Promise { method getCapabilities (line 1074) | async getCapabilities(): Promise { method countClick (line 1089) | async countClick(url: string): Promise { method isAtomic (line 1104) | isAtomic(): boolean { method setHashSettings (line 1108) | setHashSettings(hashSettings: IHashSettings): void { FILE: src/lib/adapters/WebDav.ts constant LOCK_INTERVAL (line 21) | const LOCK_INTERVAL = 2 * 60 * 1000 // Lock every 2mins while syncing constant LOCK_TIMEOUT (line 22) | const LOCK_TIMEOUT = 15 * 60 * 1000 // Override lock 0.25h after last ti... class WebDavAdapter (line 23) | class WebDavAdapter extends CachingAdapter { method constructor (line 32) | constructor(server) { method getDefaultValues (line 40) | static getDefaultValues() { method getData (line 55) | getData() { method normalizeServerURL (line 59) | normalizeServerURL(input) { method cancel (line 73) | cancel() { method getBookmarkURL (line 78) | getBookmarkURL() { method getBookmarkLockURL (line 82) | getBookmarkLockURL() { method checkLock (line 86) | async checkLock() { method timeout (line 94) | timeout(ms) { method obtainLock (line 101) | async obtainLock() { method setLock (line 128) | async setLock() { method freeLock (line 148) | async freeLock() { method pullFromServer (line 206) | async pullFromServer() { method getBookmarksTree (line 295) | async getBookmarksTree(): Promise> { method onSyncStart (line 302) | async onSyncStart(needLock = true, forceLock = false) { method onSyncFail (line 359) | async onSyncFail() { method onSyncComplete (line 366) | async onSyncComplete() { method uploadFile (line 389) | async uploadFile(url, content_type, data) { method uploadFileWeb (line 397) | async uploadFileWeb(url, content_type, data) { method uploadFileNative (line 431) | async uploadFileNative(url, content_type, data) { method downloadFile (line 465) | async downloadFile(url) { method getFileSize (line 473) | async getFileSize(url) { method getFileSizeWeb (line 481) | async getFileSizeWeb(url): Promise { method getFileSizeNative (line 519) | async getFileSizeNative(url): Promise { method downloadFileWeb (line 561) | async downloadFileWeb(url) { method downloadFileNative (line 596) | async downloadFileNative(fullURL) { function createXBEL (line 636) | function createXBEL(rootFolder, highestId) { function createHTML (line 656) | function createHTML(rootFolder, highestId) { FILE: src/lib/browser-api.js function ChromePromise (line 8) | function ChromePromise(chrome, Promise) { FILE: src/lib/browser/BrowserAccount.ts class BrowserAccount (line 20) | class BrowserAccount extends Account { method get (line 21) | static async get(id:string):Promise { method create (line 30) | static async create(data):Promise { method init (line 42) | async init():Promise { method isInitialized (line 62) | async isInitialized():Promise { method getResource (line 76) | async getResource():Promise { method stringifyError (line 92) | static async stringifyError(er:any):Promise { method getAllAccounts (line 155) | static async getAllAccounts():Promise { method getAccountsContainingLocalId (line 163) | static async getAccountsContainingLocalId(localId:string, ancestors:st... FILE: src/lib/browser/BrowserAccountStorage.js class BrowserAccountStorage (line 11) | class BrowserAccountStorage { method constructor (line 12) | constructor(id) { method setEntry (line 16) | static async setEntry(entryName, value) { method changeEntry (line 22) | static async changeEntry(entryName, fn, defaultVal) { method getEntry (line 31) | static async getEntry(entryName, defaultVal) { method deleteEntry (line 51) | static deleteEntry(entryName) { method getAllAccounts (line 55) | static async getAllAccounts() { method getAccountData (line 60) | async getAccountData(key) { method setAccountData (line 89) | async setAccountData(data, key) { method deleteAccountData (line 121) | async deleteAccountData() { method initCache (line 130) | async initCache() { method getCache (line 137) | async getCache() { method setCache (line 146) | async setCache(data) { method deleteCache (line 153) | async deleteCache() { method initMappings (line 159) | async initMappings() { method getMappings (line 166) | async getMappings() { method setMappings (line 187) | async setMappings(data) { method deleteMappings (line 194) | async deleteMappings() { method getCurrentContinuation (line 200) | async getCurrentContinuation() { method setCurrentContinuation (line 206) | async setCurrentContinuation(continuation) { FILE: src/lib/browser/BrowserController.js constant INACTIVITY_TIMEOUT (line 14) | const INACTIVITY_TIMEOUT = 7 * 1000 // 7 seconds constant MAX_BACKOFF_INTERVAL (line 15) | const MAX_BACKOFF_INTERVAL = 1000 * 60 * 60 // 1 hour constant DEFAULT_SYNC_INTERVAL (line 16) | const DEFAULT_SYNC_INTERVAL = 15 // 15 minutes constant STALE_SYNC_TIME (line 17) | const STALE_SYNC_TIME = 1000 * 60 * 60 * 24 * 2 // two days constant INTERVENTION_INTERVAL (line 18) | const INTERVENTION_INTERVAL = 1000 * 60 * 60 * 24 * 182 // 182 days class AlarmManager (line 20) | class AlarmManager { method constructor (line 21) | constructor(ctl) { method checkStorage (line 25) | async checkStorage() { method checkSync (line 29) | async checkSync() { method getBackoffInterval (line 72) | getBackoffInterval(interval, errorCount, lastSync) { class BrowserController (line 82) | class BrowserController { method constructor (line 83) | constructor() { method _receiveEvent (line 251) | async _receiveEvent(data, sendResponse) { method setEnabled (line 260) | setEnabled(enabled) { method unlock (line 270) | async unlock(key) { method getUnlocked (line 301) | getUnlocked() { method onchange (line 305) | async onchange(localId, details) { method onTabsChanged (line 357) | async onTabsChanged() { method scheduleSync (line 385) | async scheduleSync(accountId, wait) { method scheduleAll (line 416) | async scheduleAll() { method cancelSync (line 424) | async cancelSync(accountId, keepEnabled) { method syncAccount (line 433) | async syncAccount(accountId, strategy, forceSync = false) { method updateStatus (line 453) | async updateStatus() { method onStatusChange (line 458) | onStatusChange(listener) { method getStatus (line 468) | async getStatus() { method updateBadge (line 497) | async updateBadge() { method setStatusBadge (line 501) | async setStatusBadge(status) { method onStartup (line 518) | async onStartup() { method onLoad (line 535) | async onLoad() { method onVisitUrl (line 555) | async onVisitUrl(historyItem) { FILE: src/lib/browser/BrowserTree.ts class BrowserTree (line 16) | class BrowserTree implements IResource { method constructor (line 30) | constructor(storage:unknown, rootId:string) { method getBookmarksTree (line 39) | async getBookmarksTree():Promise> { method createBookmark (line 148) | async createBookmark(bookmark:Bookmark): Pr... method updateBookmark (line 179) | async updateBookmark(bookmark:Bookmark):Pro... method removeBookmark (line 208) | async removeBookmark(bookmark:Bookmark): Pr... method createFolder (line 225) | async createFolder(folder:Folder): Promise<... method orderFolder (line 246) | async orderFolder(id:string|number, order:Ordering):Promise):Promise { method getCapabilities (line 401) | async getCapabilities(): Promise { method setHashSettings (line 409) | setHashSettings(hashSettings: IHashSettings): void { method cancel (line 413) | cancel(): void { method isAtomic (line 417) | isAtomic(): boolean { method getHostname (line 421) | private getHostname(url: string): string { FILE: src/lib/getFavicon.js function getIcons (line 1) | function getIcons(html, pageUrl) { FILE: src/lib/interfaces/Account.ts type IAccount (line 4) | interface IAccount { FILE: src/lib/interfaces/AccountStorage.ts type TAccountStrategy (line 5) | type TAccountStrategy = 'default' | 'overwrite' | 'slave' type IAccountData (line 7) | interface IAccountData { type IAccountStorage (line 24) | interface IAccountStorage { FILE: src/lib/interfaces/Adapter.ts type IAdapter (line 5) | interface IAdapter { type TAdapter (line 15) | type TAdapter = IAdapter & TResource FILE: src/lib/interfaces/Controller.ts type IController (line 1) | interface IController { constant STATUS_ERROR (line 13) | const STATUS_ERROR = Symbol('error') constant STATUS_SYNCING (line 14) | const STATUS_SYNCING = Symbol('syncing') constant STATUS_ALLGOOD (line 15) | const STATUS_ALLGOOD = Symbol('allgood') constant STATUS_DISABLED (line 16) | const STATUS_DISABLED = Symbol('disabled') FILE: src/lib/interfaces/Ordering.ts type OrderingItem (line 3) | interface OrderingItem { type Ordering (line 8) | type Ordering = OrderingItem[] FILE: src/lib/interfaces/Resource.ts type THashFunction (line 4) | type THashFunction = 'sha256' | 'murmur3' | 'xxhash3' type ICapabilities (line 6) | interface ICapabilities { type IHashSettings (line 11) | interface IHashSettings { type IResource (line 16) | interface IResource { type CachingResource (line 33) | interface CachingResource extends IResource { type BulkImportResource (line 38) | interface BulkImportResource extends IResource<... type LoadFolderChildrenResource (line 42) | interface LoadFolderChildrenResource extends IR... type OrderFolderResource (line 46) | interface OrderFolderResource extends IResource... type ClickCountResource (line 50) | interface ClickCountResource extends IResource<... type TLocalTree (line 54) | type TLocalTree = IResource & OrderFolderReso... type TResource (line 56) | type TResource = IResource|BulkImportResourc... FILE: src/lib/interfaces/Serializer.ts type Serializer (line 3) | interface Serializer { FILE: src/lib/murmurhash3.js function murmurhash3_32_gc (line 14) | function murmurhash3_32_gc(key, seed) { FILE: src/lib/native/I18n.ts type TranslationEntry (line 14) | interface TranslationEntry { type Messages (line 17) | interface Messages { class I18n (line 21) | class I18n { method constructor (line 26) | constructor(locale: string) { method setLocales (line 32) | setLocales(locales:string[]):void { method load (line 36) | async load():Promise { method getMessage (line 64) | public getMessage(messageName: string, content?: any, formats?: any): ... method getDefaultLocaleMessage (line 82) | private getDefaultLocaleMessage(messageName: string): TranslationEntry... method doGetMessage (line 93) | private doGetMessage(messageName: string): TranslationEntry | null { FILE: src/lib/native/NativeAccount.ts class NativeAccount (line 19) | class NativeAccount extends Account { method get (line 20) | static async get(id:string):Promise { method create (line 32) | static async create(data: IAccountData):Promise { method init (line 47) | async init():Promise { method isInitialized (line 56) | async isInitialized():Promise { method updateFromStorage (line 65) | async updateFromStorage():Promise { method stringifyError (line 69) | static async stringifyError(er:any):Promise { method getAllAccounts (line 129) | static async getAllAccounts():Promise { FILE: src/lib/native/NativeAccountStorage.js class NativeAccountStorage (line 11) | class NativeAccountStorage { method constructor (line 12) | constructor(id) { method changeEntry (line 16) | static async changeEntry(entryName, fn, defaultVal) { method getEntry (line 25) | static async getEntry(entryName, defaultVal) { method deleteEntry (line 43) | static deleteEntry(entryName) { method getAllAccounts (line 47) | static async getAllAccounts() { method getAccountData (line 52) | async getAccountData(key) { method setAccountData (line 69) | async setAccountData(data, key) { method deleteAccountData (line 91) | async deleteAccountData() { method initCache (line 100) | async initCache() { method getCache (line 107) | async getCache() { method setCache (line 114) | async setCache(data) { method deleteCache (line 121) | async deleteCache() { method initMappings (line 125) | async initMappings() { method getMappings (line 132) | async getMappings() { method setMappings (line 153) | async setMappings(data) { method deleteMappings (line 160) | async deleteMappings() { method getCurrentContinuation (line 164) | async getCurrentContinuation() { method setCurrentContinuation (line 168) | async setCurrentContinuation(continuation) { FILE: src/lib/native/NativeController.js constant INACTIVITY_TIMEOUT (line 11) | const INACTIVITY_TIMEOUT = 1000 * 7 constant MAX_BACKOFF_INTERVAL (line 12) | const MAX_BACKOFF_INTERVAL = 1000 * 60 * 60 // 1 hour constant DEFAULT_SYNC_INTERVAL (line 13) | const DEFAULT_SYNC_INTERVAL = 15 class AlarmManager (line 15) | class AlarmManager { method constructor (line 16) | constructor(ctl) { method checkStorage (line 31) | async checkStorage() { method checkSync (line 35) | async checkSync() { method getBackoffInterval (line 81) | getBackoffInterval(interval, errorCount, lastSync) { class NativeController (line 91) | class NativeController { method constructor (line 92) | constructor() { method setEnabled (line 119) | setEnabled(enabled) { method unlock (line 123) | async unlock(key) { method getUnlocked (line 142) | getUnlocked() { method scheduleAll (line 146) | async scheduleAll() { method scheduleSync (line 153) | async scheduleSync(accountId, wait) { method cancelSync (line 184) | async cancelSync(accountId, keepEnabled) { method syncAccount (line 193) | async syncAccount(accountId, strategy, forceSync = false) { method updateStatus (line 248) | async updateStatus() { method getStatus (line 252) | async getStatus() { method onStatusChange (line 277) | onStatusChange(listener) { method onLoad (line 287) | async onLoad() { FILE: src/lib/native/NativeTree.ts class NativeTree (line 8) | class NativeTree extends CachingAdapter implements BulkImportResource { method save (line 36) | async save():Promise { method triggerSave (line 41) | triggerSave():void { method getBookmarksTree (line 48) | async getBookmarksTree(): Promise> { method createBookmark (line 54) | async createBookmark(bookmark:Bookmark): Pr... method updateBookmark (line 59) | async updateBookmark(bookmark:Bookmark):Pro... method removeBookmark (line 64) | async removeBookmark(bookmark:Bookmark): Pr... method createFolder (line 69) | async createFolder(folder:Folder): Promise<... method orderFolder (line 74) | async orderFolder(id:string|number, order:Ordering):Promise):Promise { FILE: src/lib/on-wake-up.ts constant CLOCK (line 1) | const CLOCK = 1000 constant TIMEOUT (line 2) | const TIMEOUT = 2 * 60 * 1000 // 2 mins function onWakeUp (line 4) | function onWakeUp(fn: () => void) { FILE: src/lib/sentry.ts function initEmpty (line 9) | function initEmpty() { function initSharp (line 19) | function initSharp() { FILE: src/lib/serializers/Html.ts class HtmlSerializer (line 5) | class HtmlSerializer implements Serializer { method serialize (line 6) | serialize(folder) { method _htmlentities_encode (line 10) | _htmlentities_encode(string) { method _serializeFolder (line 14) | _serializeFolder(folder, indent) { method deserialize (line 35) | deserialize(html): Folder { FILE: src/lib/serializers/Xbel.ts class XbelSerializer (line 7) | class XbelSerializer implements Serializer { method serialize (line 8) | serialize(folder: Folder) { method deserialize (line 14) | deserialize(xbel: string) { method _parseFolder (line 43) | _parseFolder(xbelObj, folder: Folder) { method _serializeFolder (line 73) | _serializeFolder(folder: Folder) { FILE: src/lib/strategies/Default.ts constant ACTION_CONCURRENCY (line 38) | const ACTION_CONCURRENCY = 5 class SyncProcess (line 40) | class SyncProcess { method constructor (line 90) | constructor( method getMembersToPersist (line 108) | getMembersToPersist() { method getMappingsInstance (line 153) | getMappingsInstance(): Mappings { method setCacheTree (line 157) | setCacheTree(cacheTree: Folder) { method getCacheTree (line 161) | getCacheTree(): Folder { method getTargetTree (line 165) | public getTargetTree(targetLocation: L1): Fo... method cancel (line 169) | async cancel() :Promise { method updateProgress (line 177) | async updateProgress():Promise { method setProgress (line 197) | async setProgress(json: any) { method setDirection (line 227) | setDirection(direction:TItemLocation):void { method sync (line 231) | async sync(): Promise { method prepareSync (line 447) | protected async prepareSync() { method applyDeletionFailsafe (line 516) | protected applyDeletionFailsafe(direction: TItemLocation, tree: Folder... method applyAdditionFailsafe (line 539) | protected applyAdditionFailsafe(direction: TItemLocation, tree: Folder... method filterOutUnacceptedBookmarks (line 558) | filterOutUnacceptedBookmarks(tree: Folder): void { method filterOutInvalidBookmarks (line 569) | filterOutInvalidBookmarks(tree: Folder): void { method filterOutDuplicatesInTheSameFolder (line 600) | async filterOutDuplicatesInTheSameFolder(tree: Folder):... method getDiffs (line 622) | async getDiffs():Promise<{localScanResult:ScanResult( method executeStage3 (line 1001) | async executeStage3( method executeCreate (line 1027) | async executeCreate( method executeRemove (line 1235) | async executeRemove( method executeUpdate (line 1259) | async executeUpdate( method reconcileReorderings (line 1288) | reconcileReorderings( method executeReorderings (line 1384) | async executeReorderings(resource:OrderFolderResource, ... method addMapping (line 1430) | async addMapping(resource:TResource, item:TItem, item:TItem, ca... method filterOutUnmappedItems (line 1530) | filterOutUnmappedItems(tree: Folder, mapping: MappingSn... method removeItemFromReorders (line 1545) | static removeItemFromReorders( method toJSONAsync (line 1556) | async toJSONAsync(): Promise { method fromJSON (line 1625) | static async fromJSON(mappings:Mappings, type ISerializedSyncProcess (line 1663) | interface ISerializedSyncProcess { FILE: src/lib/strategies/Merge.ts class MergeSyncProcess (line 12) | class MergeSyncProcess extends DefaultSyncProcess { method getDiffs (line 13) | async getDiffs(): Promise<{ method reconcileDiffs (line 67) | async reconcileDiffs< method loadChildren (line 357) | async loadChildren( method toJSONAsync (line 366) | async toJSONAsync(): Promise { FILE: src/lib/strategies/Unidirectional.ts class UnidirectionalSyncProcess (line 12) | class UnidirectionalSyncProcess extends DefaultStrategy { method setDirection (line 29) | setDirection(direction: TItemLocation): void { method getMembersToPersist (line 33) | getMembersToPersist() { method setProgress (line 53) | async setProgress(json: any) { method getDiff (line 86) | async getDiff(): Promise> { method loadChildren (line 147) | async loadChildren( method sync (line 156) | async sync(): Promise { method revertDiff (line 290) | async revertDiff( method translateCompleteItem (line 370) | private async translateCompleteItem< method executeRevert (line 402) | async executeRevert( method toJSONAsync (line 514) | async toJSONAsync(): Promise { FILE: src/lib/yieldToEventLoop.ts function yieldToEventLoop (line 1) | async function yieldToEventLoop() { FILE: src/test/reporter.js function createWebdriverAndHtmlReporter (line 10) | function createWebdriverAndHtmlReporter(html_reporter) { function stringifyException (line 61) | function stringifyException(exception) { FILE: src/test/test.js function hasNoBookmarks (line 8901) | function hasNoBookmarks(child) { function getAllBookmarks (line 8906) | async function getAllBookmarks(account) { function withSyncConnection (line 8914) | async function withSyncConnection(account, fn) { function randomlyManipulateTree (line 8923) | async function randomlyManipulateTree(account, folders, bookmarks, itera... function randomlyManipulateTreeWithDeletions (line 8982) | async function randomlyManipulateTreeWithDeletions(account, folders, boo... function syncAccountWithInterrupts (line 9060) | async function syncAccountWithInterrupts(account) { function stringifyAccountData (line 9075) | function stringifyAccountData(ACCOUNT_DATA) { function awaitTabsUpdated (line 9089) | function awaitTabsUpdated() { function filterBookmarksInTree (line 9101) | function filterBookmarksInTree(tree, fn) { FILE: src/ui/plugins/capacitor.js method isBrowser (line 8) | isBrowser() { method mounted (line 12) | mounted() { FILE: src/ui/plugins/i18n.js method t (line 5) | t(messageName, substitutions) { FILE: src/ui/store/actions.js method [actions.LOAD_LOCKED] (line 11) | async [actions.LOAD_LOCKED]({ commit, dispatch, state }) { method [actions.UNLOCK] (line 16) | async [actions.UNLOCK]({commit, dispatch, state}, key) { method [actions.LOAD_ACCOUNTS] (line 26) | async [actions.LOAD_ACCOUNTS]({ commit, dispatch, state }) { method [actions.CREATE_ACCOUNT] (line 43) | async [actions.CREATE_ACCOUNT]({commit, dispatch, state}, data) { method [actions.IMPORT_ACCOUNTS] (line 48) | async [actions.IMPORT_ACCOUNTS]({commit, dispatch, state}, accounts) { method [actions.EXPORT_ACCOUNTS] (line 52) | async [actions.EXPORT_ACCOUNTS]({commit, dispatch, state}, accountIds) { method [actions.DELETE_ACCOUNT] (line 60) | async [actions.DELETE_ACCOUNT]({commit, dispatch, state}, id) { method [actions.RESET_ACCOUNT] (line 65) | async [actions.RESET_ACCOUNT]({commit, dispatch, state}, id) { method [actions.STORE_ACCOUNT] (line 70) | async [actions.STORE_ACCOUNT]({ commit, dispatch, state }, { id,data }) { method [actions.TRIGGER_SYNC] (line 88) | async [actions.TRIGGER_SYNC]({ commit, dispatch, state }, accountId) { method [actions.FORCE_SYNC] (line 92) | async [actions.FORCE_SYNC]({ commit, dispatch, state }, accountId) { method [actions.TRIGGER_SYNC_ALL] (line 96) | async [actions.TRIGGER_SYNC_ALL]({ commit, dispatch, state }, accountId) { method [actions.TRIGGER_SYNC_DOWN] (line 100) | async [actions.TRIGGER_SYNC_DOWN]({ commit, dispatch, state }, accountId) { method [actions.TRIGGER_SYNC_UP] (line 104) | async [actions.TRIGGER_SYNC_UP]({ commit, dispatch, state }, accountId) { method [actions.CANCEL_SYNC] (line 108) | async [actions.CANCEL_SYNC]({ commit, dispatch, state }, accountId) { method [actions.DOWNLOAD_LOGS] (line 112) | async [actions.DOWNLOAD_LOGS]({ commit, dispatch, state }, anonymous) { method [actions.TEST_WEBDAV_SERVER] (line 115) | async [actions.TEST_WEBDAV_SERVER]({commit, dispatch, state}, {rootUrl, ... method [actions.TEST_NEXTCLOUD_SERVER] (line 133) | async [actions.TEST_NEXTCLOUD_SERVER]({commit, dispatch, state}, rootUrl) { method [actions.TEST_LINKWARDEN_SERVER] (line 141) | async [actions.TEST_LINKWARDEN_SERVER]({commit, dispatch, state}, {rootU... method [actions.TEST_KARAKEEP_SERVER] (line 156) | async [actions.TEST_KARAKEEP_SERVER]({commit, dispatch, state}, {rootUrl... method [actions.START_LOGIN_FLOW] (line 171) | async [actions.START_LOGIN_FLOW]({commit, dispatch, state}, rootUrl) { method [actions.STOP_LOGIN_FLOW] (line 208) | async [actions.STOP_LOGIN_FLOW]({commit}) { method [actions.REQUEST_NETWORK_PERMISSIONS] (line 211) | async [actions.REQUEST_NETWORK_PERMISSIONS]() { method [actions.REQUEST_HISTORY_PERMISSIONS] (line 218) | async [actions.REQUEST_HISTORY_PERMISSIONS]() { FILE: src/ui/store/mutations.js method [mutations.SET_LOCKED] (line 5) | [mutations.SET_LOCKED](state, locked) { method [mutations.LOAD_ACCOUNTS] (line 8) | [mutations.LOAD_ACCOUNTS](state, accounts) { method [mutations.STORE_ACCOUNT_DATA] (line 11) | [mutations.STORE_ACCOUNT_DATA](state, {id, data}) { method [mutations.REMOVE_ACCOUNT] (line 14) | [mutations.REMOVE_ACCOUNT](state, id) { method [mutations.SET_LOGIN_FLOW_STATE] (line 17) | [mutations.SET_LOGIN_FLOW_STATE](state, running) { method [mutations.LOADING_START] (line 20) | [mutations.LOADING_START](state, label) { method [mutations.LOADING_END] (line 23) | [mutations.LOADING_END](state, label) { FILE: src/ui/store/native/actions.js method [actions.LOAD_ACCOUNTS] (line 15) | async [actions.LOAD_ACCOUNTS]({ commit, dispatch, state }) { method [actions.LOAD_TREE] (line 39) | async [actions.LOAD_TREE]({ commit, dispatch, state }, id) { method [actions.LOAD_TREE_FROM_DISK] (line 46) | async [actions.LOAD_TREE_FROM_DISK]({ commit, dispatch, state }, id) { method [actions.CREATE_BOOKMARK] (line 59) | async [actions.CREATE_BOOKMARK]({commit}, {accountId, bookmark}) { method [actions.EDIT_BOOKMARK] (line 68) | async [actions.EDIT_BOOKMARK]({commit}, {accountId, bookmark}) { method [actions.COUNT_BOOKMARK_CLICK] (line 75) | async [actions.COUNT_BOOKMARK_CLICK]({state}, {accountId, bookmark}) { method [actions.DELETE_BOOKMARK] (line 86) | async [actions.DELETE_BOOKMARK]({commit}, {accountId, bookmark}) { method [actions.SHARE_BOOKMARK] (line 95) | async [actions.SHARE_BOOKMARK]({commit}, bookmark) { method [actions.CREATE_FOLDER] (line 101) | async [actions.CREATE_FOLDER]({commit}, {accountId, folder}) { method [actions.EDIT_FOLDER] (line 110) | async [actions.EDIT_FOLDER]({commit}, {accountId, folder}) { method [actions.DELETE_FOLDER] (line 119) | async [actions.DELETE_FOLDER]({commit}, {accountId, folder}) { method [actions.IMPORT_BOOKMARKS] (line 128) | async [actions.IMPORT_BOOKMARKS]({ commit }, {accountId, parentFolder, h... method [actions.CREATE_ACCOUNT] (line 145) | async [actions.CREATE_ACCOUNT]({commit, dispatch, state}, data) { method [actions.IMPORT_ACCOUNTS] (line 151) | async [actions.IMPORT_ACCOUNTS]({commit, dispatch, state}, accounts) { method [actions.EXPORT_ACCOUNTS] (line 164) | async [actions.EXPORT_ACCOUNTS]({commit, dispatch, state}, accountIds) { method [actions.DELETE_ACCOUNT] (line 172) | async [actions.DELETE_ACCOUNT]({commit, dispatch, state}, id) { method [actions.RESET_ACCOUNT] (line 177) | async [actions.RESET_ACCOUNT]({commit, dispatch, state}, id) { method [actions.STORE_ACCOUNT] (line 182) | async [actions.STORE_ACCOUNT]({ commit, dispatch, state }, { id,data }) { method [actions.TRIGGER_SYNC] (line 197) | async [actions.TRIGGER_SYNC]({ commit, dispatch, state }, accountId) { method [actions.FORCE_SYNC] (line 201) | async [actions.FORCE_SYNC]({ commit, dispatch, state }, accountId) { method [actions.TRIGGER_SYNC_DOWN] (line 205) | async [actions.TRIGGER_SYNC_DOWN]({ commit, dispatch, state }, accountId) { method [actions.TRIGGER_SYNC_UP] (line 209) | async [actions.TRIGGER_SYNC_UP]({ commit, dispatch, state }, accountId) { method [actions.CANCEL_SYNC] (line 213) | async [actions.CANCEL_SYNC]({ commit, dispatch, state }, accountId) { method [actions.DOWNLOAD_LOGS] (line 217) | async [actions.DOWNLOAD_LOGS]({ commit, dispatch, state }, anonymous) { method [actions.EXPORT_BOOKMARKS] (line 220) | async [actions.EXPORT_BOOKMARKS]({commit, dispatch, state}, accountId) { method [actions.TEST_WEBDAV_SERVER] (line 230) | async [actions.TEST_WEBDAV_SERVER]({commit, dispatch, state}, {rootUrl, ... method [actions.TEST_LINKWARDEN_SERVER] (line 234) | async [actions.TEST_LINKWARDEN_SERVER]({commit, dispatch, state}, {rootU... method [actions.TEST_KARAKEEP_SERVER] (line 248) | async [actions.TEST_KARAKEEP_SERVER]({commit, dispatch, state}, {rootUrl... method [actions.TEST_NEXTCLOUD_SERVER] (line 262) | async [actions.TEST_NEXTCLOUD_SERVER]({commit, dispatch, state}, rootUrl) { method [actions.START_LOGIN_FLOW] (line 273) | async [actions.START_LOGIN_FLOW]({commit, dispatch, state}, rootUrl) { method [actions.STOP_LOGIN_FLOW] (line 309) | async [actions.STOP_LOGIN_FLOW]({commit}) { method [actions.SET_SORTBY] (line 312) | async [actions.SET_SORTBY]({state}, {accountId, sortBy}) { method [actions.SET_LAST_FOLDER] (line 316) | async [actions.SET_LAST_FOLDER]({commit}, {accountId, folderId}) { method [actions.SET_LAST_ACCOUNT] (line 323) | async [actions.SET_LAST_ACCOUNT]({commit}, accountId) { FILE: src/ui/store/native/mutations.js method [mutations.SET_LOCKED] (line 5) | [mutations.SET_LOCKED](state, locked) { method [mutations.LOAD_ACCOUNTS] (line 8) | [mutations.LOAD_ACCOUNTS](state, accounts) { method [mutations.STORE_ACCOUNT_DATA] (line 11) | [mutations.STORE_ACCOUNT_DATA](state, {id, data}) { method [mutations.REMOVE_ACCOUNT] (line 14) | [mutations.REMOVE_ACCOUNT](state, id) { method [mutations.LOAD_TREE] (line 17) | [mutations.LOAD_TREE](state, tree) { method [mutations.SET_LOGIN_FLOW_STATE] (line 20) | [mutations.SET_LOGIN_FLOW_STATE](state, running) { method [mutations.LOADING_START] (line 23) | [mutations.LOADING_START](state, label) { method [mutations.LOADING_END] (line 26) | [mutations.LOADING_END](state, label) { method [mutations.SET_LAST_FOLDER] (line 29) | [mutations.SET_LAST_FOLDER](state, {accountId, folderId}) { method [mutations.SET_LAST_ACCOUNT] (line 32) | [mutations.SET_LAST_ACCOUNT](state, accountId) { FILE: test/save-stats.js constant GIST_ID (line 4) | const GIST_ID = '51b4015641802f4f275574ca98beed61' function save (line 6) | async function save(sha, label, data) { FILE: test/selenium-runner.js constant VERSION (line 13) | const VERSION = require('../package.json').version