feat: add models package

This commit is contained in:
Karol Sójko
2022-07-05 20:47:11 +02:00
parent 60d1554ff7
commit b614c71e79
199 changed files with 8772 additions and 22 deletions

View File

@@ -0,0 +1,24 @@
import { ItemContent } from '../../Abstract/Content/ItemContent'
import { DecryptedItemInterface, DeletedItemInterface, EncryptedItemInterface } from '../../Abstract/Item'
import { AnyItemInterface } from '../../Abstract/Item/Interfaces/UnionTypes'
export interface ItemDelta<C extends ItemContent = ItemContent> {
changed: AnyItemInterface[]
inserted: AnyItemInterface[]
/** Items that were deleted and finished sync */
discarded: DeletedItemInterface[]
/** Items which have encrypted overwrite protection enabled */
ignored: EncryptedItemInterface[]
/** Items which were previously error decrypting which have now been successfully decrypted */
unerrored: DecryptedItemInterface<C>[]
}
export function CreateItemDelta(partial: Partial<ItemDelta>): ItemDelta {
return {
changed: partial.changed || [],
inserted: partial.inserted || [],
discarded: partial.discarded || [],
ignored: partial.ignored || [],
unerrored: partial.unerrored || [],
}
}

View File

@@ -0,0 +1,5 @@
import { ItemDelta } from './ItemDelta'
export interface SNIndex {
onChange(delta: ItemDelta): void
}