feat: add models package
This commit is contained in:
24
packages/models/src/Domain/Runtime/Index/ItemDelta.ts
Normal file
24
packages/models/src/Domain/Runtime/Index/ItemDelta.ts
Normal 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 || [],
|
||||
}
|
||||
}
|
||||
5
packages/models/src/Domain/Runtime/Index/SNIndex.ts
Normal file
5
packages/models/src/Domain/Runtime/Index/SNIndex.ts
Normal file
@@ -0,0 +1,5 @@
|
||||
import { ItemDelta } from './ItemDelta'
|
||||
|
||||
export interface SNIndex {
|
||||
onChange(delta: ItemDelta): void
|
||||
}
|
||||
Reference in New Issue
Block a user