import type { RxDocumentData, WithDeleted } from 'nxdb-old/src/types'; import { createRevision, flatClone, getDefaultRevision, now } from 'nxdb-old/src/plugins/utils'; export function docStateToWriteDoc( databaseInstanceToken: string, docState: WithDeleted, previous?: RxDocumentData ): RxDocumentData { const docData: RxDocumentData = Object.assign( {}, docState, { _attachments: {}, _meta: { lwt: now() }, _rev: getDefaultRevision() } ); docData._rev = createRevision( databaseInstanceToken, previous ); return docData; } export function writeDocToDocState( writeDoc: RxDocumentData ): WithDeleted { const ret = flatClone(writeDoc); delete (ret as any)._attachments; delete (ret as any)._meta; delete (ret as any)._rev; return ret; }