{
  "version": 3,
  "sources": ["../../src/ArchivistWrapper.ts"],
  "sourcesContent": ["import type { Hash } from '@xylabs/sdk-js'\nimport type { AccountInstance } from '@xyo-network/account-model'\nimport type {\n  ArchivistAllQuery,\n  ArchivistClearQuery,\n  ArchivistCommitQuery,\n  ArchivistDeleteQuery,\n  ArchivistGetQuery,\n  ArchivistInsertQuery,\n  ArchivistModuleInstance,\n  ArchivistNextOptions,\n  ArchivistNextQuery,\n  ArchivistSnapshotPayload,\n  ArchivistSnapshotQuery,\n  AttachableArchivistInstance,\n} from '@xyo-network/archivist-model'\nimport {\n  ArchivistAllQuerySchema,\n  ArchivistClearQuerySchema,\n  ArchivistCommitQuerySchema,\n  ArchivistDeleteQuerySchema,\n  ArchivistGetQuerySchema,\n  ArchivistInsertQuerySchema,\n  ArchivistNextQuerySchema,\n  ArchivistSnapshotQuerySchema,\n  isArchivistInstance,\n  isArchivistModule,\n} from '@xyo-network/archivist-model'\nimport type { ModuleQueryResult } from '@xyo-network/module-model'\nimport { constructableModuleWrapper, ModuleWrapper } from '@xyo-network/module-wrapper'\nimport type { Payload, WithStorageMeta } from '@xyo-network/payload-model'\n\nconstructableModuleWrapper()\nexport class ArchivistWrapper<TWrappedModule extends ArchivistModuleInstance = ArchivistModuleInstance>\n  extends ModuleWrapper<TWrappedModule>\n  implements AttachableArchivistInstance<ArchivistModuleInstance['params']> {\n  static override readonly instanceIdentityCheck = isArchivistInstance\n  static override readonly moduleIdentityCheck = isArchivistModule\n  static override readonly requiredQueries = [ArchivistGetQuerySchema, ...super.requiredQueries]\n\n  async all(): Promise<WithStorageMeta<Payload>[]> {\n    const queryPayload: ArchivistAllQuery = { schema: ArchivistAllQuerySchema }\n    return await this.sendQuery(queryPayload)\n  }\n\n  async allQuery(account?: AccountInstance): Promise<ModuleQueryResult> {\n    const queryPayload: ArchivistAllQuery = { schema: ArchivistAllQuerySchema }\n    return await this.sendQueryRaw(queryPayload, undefined, account)\n  }\n\n  async clear(): Promise<void> {\n    const queryPayload: ArchivistClearQuery = { schema: ArchivistClearQuerySchema }\n    await this.sendQuery(queryPayload)\n  }\n\n  async clearQuery(account?: AccountInstance): Promise<ModuleQueryResult> {\n    const queryPayload: ArchivistClearQuery = { schema: ArchivistClearQuerySchema }\n    return await this.sendQueryRaw(queryPayload, undefined, account)\n  }\n\n  async commit(): Promise<Payload[]> {\n    const queryPayload: ArchivistCommitQuery = { schema: ArchivistCommitQuerySchema }\n    return await this.sendQuery(queryPayload)\n  }\n\n  async commitQuery(account?: AccountInstance): Promise<ModuleQueryResult> {\n    const queryPayload: ArchivistCommitQuery = { schema: ArchivistCommitQuerySchema }\n    return await this.sendQueryRaw(queryPayload, undefined, account)\n  }\n\n  async delete(hashes: Hash[]): Promise<WithStorageMeta<Payload>[]> {\n    const queryPayload: ArchivistDeleteQuery = { hashes, schema: ArchivistDeleteQuerySchema }\n    return await this.sendQuery(queryPayload)\n  }\n\n  async deleteQuery(hashes: Hash[], account?: AccountInstance): Promise<ModuleQueryResult> {\n    const queryPayload: ArchivistDeleteQuery = { hashes, schema: ArchivistDeleteQuerySchema }\n    return await this.sendQueryRaw(queryPayload, undefined, account)\n  }\n\n  async get(hashes: Hash[]): Promise<WithStorageMeta<Payload>[]> {\n    const queryPayload: ArchivistGetQuery = { hashes, schema: ArchivistGetQuerySchema }\n    return await this.sendQuery(queryPayload)\n  }\n\n  async getQuery(hashes: Hash[], account?: AccountInstance): Promise<ModuleQueryResult> {\n    const queryPayload: ArchivistGetQuery = { hashes, schema: ArchivistGetQuerySchema }\n    return await this.sendQueryRaw(queryPayload, undefined, account)\n  }\n\n  async insert(payloads: Payload[]): Promise<WithStorageMeta<Payload>[]> {\n    const queryPayload: ArchivistInsertQuery = { schema: ArchivistInsertQuerySchema }\n    return await this.sendQuery(queryPayload, payloads)\n  }\n\n  async insertQuery(payloads: Payload[], account?: AccountInstance): Promise<ModuleQueryResult> {\n    const queryPayload: ArchivistInsertQuery = { schema: ArchivistInsertQuerySchema }\n    return await this.sendQueryRaw(queryPayload, payloads, account)\n  }\n\n  async next(options?: ArchivistNextOptions): Promise<WithStorageMeta<Payload>[]> {\n    const queryPayload: ArchivistNextQuery = { ...options, schema: ArchivistNextQuerySchema }\n    return await this.sendQuery(queryPayload)\n  }\n\n  async nextQuery(options?: ArchivistNextOptions, account?: AccountInstance): Promise<ModuleQueryResult> {\n    const queryPayload: ArchivistNextQuery = { schema: ArchivistNextQuerySchema, ...options }\n    return await this.sendQueryRaw(queryPayload, undefined, account)\n  }\n\n  async snapshot(options?: {}): Promise<ArchivistSnapshotPayload<WithStorageMeta<Payload>, Hash>[]> {\n    const queryPayload: ArchivistSnapshotQuery = { ...options, schema: ArchivistSnapshotQuerySchema }\n    return await this.sendQuery(queryPayload)\n  }\n\n  async snapshotQuery(options?: {}, account?: AccountInstance): Promise<ModuleQueryResult> {\n    const queryPayload: ArchivistSnapshotQuery = { schema: ArchivistSnapshotQuerySchema, ...options }\n    return await this.sendQueryRaw(queryPayload, undefined, account)\n  }\n}\n"],
  "mappings": "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",
  "names": []
}
