@peerbit/document 12.1.2 → 12.2.0-369b236

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,11 +1,12 @@
1
1
  export * from "@peerbit/indexer-interface";
2
2
  export * from "@peerbit/document-interface";
3
3
  export * from "./program.js";
4
- export type { CanRead, CanSearch, DocumentIndex, WithContext, WithIndexedContext, WithIndexed, OpenOptions, QueryOptions, RemoteQueryOptions, ResultsIterator, SearchOptions, TransformOptions, TransformerAsConstructor, TransformerAsFunction, ValueTypeFromRequest, UpdateCallbacks, UpdateMergeStrategy, UpdateOptions, UpdateReason, WaitBehavior, WaitPolicy, ReachScope, PrefetchOptions, LateResultsEvent, JoiningOnMissedResults, JoiningTargets, JoiningTimeoutPolicy, } from "./search.js";
4
+ export type { CanRead, CanSearch, DocumentIndex, WithContext, WithIndexedContext, WithIndexed, OpenOptions, GetOptions, QueryOptions, RemoteQueryOptions, ResultsIterator, SearchOptions, TransformOptions, TransformerAsConstructor, TransformerAsFunction, ValueTypeFromRequest, UpdateCallbacks, UpdateMergeStrategy, UpdateOptions, UpdateReason, WaitBehavior, WaitPolicy, ReachScope, PrefetchOptions, LateResultsEvent, JoiningOnMissedResults, JoiningTargets, JoiningTimeoutPolicy, } from "./search.js";
5
5
  export { coerceWithContext, coerceWithIndexed } from "./search.js";
6
6
  export * from "./operation.js";
7
7
  export { MAX_BATCH_SIZE as MAX_DOCUMENT_SIZE } from "./constants.js";
8
8
  export { ClosedError } from "@peerbit/program";
9
9
  export { type CustomDocumentDomain, createDocumentDomain, createDocumentDomainFromProperty, } from "./domain.js";
10
10
  export * from "./events.js";
11
+ export type { DocumentsLike, DocumentsLikeCountOptions, DocumentsLikeIndex, DocumentsLikeQuery, DocumentsLikeWaitForOptions, } from "./like.js";
11
12
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAC;AAC3C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,cAAc,CAAC;AAC7B,YAAY,EACX,OAAO,EACP,SAAS,EACT,aAAa,EACb,WAAW,EACX,kBAAkB,EAClB,WAAW,EACX,WAAW,EACX,YAAY,EACZ,kBAAkB,EAClB,eAAe,EACf,aAAa,EACb,gBAAgB,EAChB,wBAAwB,EACxB,qBAAqB,EACrB,oBAAoB,EACpB,eAAe,EACf,mBAAmB,EACnB,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,UAAU,EACV,UAAU,EACV,eAAe,EACf,gBAAgB,EAChB,sBAAsB,EACtB,cAAc,EACd,oBAAoB,GACpB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AACnE,cAAc,gBAAgB,CAAC;AAC/B,OAAO,EAAE,cAAc,IAAI,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EACN,KAAK,oBAAoB,EACzB,oBAAoB,EACpB,gCAAgC,GAChC,MAAM,aAAa,CAAC;AACrB,cAAc,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAC;AAC3C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,cAAc,CAAC;AAC7B,YAAY,EACX,OAAO,EACP,SAAS,EACT,aAAa,EACb,WAAW,EACX,kBAAkB,EAClB,WAAW,EACX,WAAW,EACX,UAAU,EACV,YAAY,EACZ,kBAAkB,EAClB,eAAe,EACf,aAAa,EACb,gBAAgB,EAChB,wBAAwB,EACxB,qBAAqB,EACrB,oBAAoB,EACpB,eAAe,EACf,mBAAmB,EACnB,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,UAAU,EACV,UAAU,EACV,eAAe,EACf,gBAAgB,EAChB,sBAAsB,EACtB,cAAc,EACd,oBAAoB,GACpB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AACnE,cAAc,gBAAgB,CAAC;AAC/B,OAAO,EAAE,cAAc,IAAI,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EACN,KAAK,oBAAoB,EACzB,oBAAoB,EACpB,gCAAgC,GAChC,MAAM,aAAa,CAAC;AACrB,cAAc,aAAa,CAAC;AAC5B,YAAY,EACX,aAAa,EACb,yBAAyB,EACzB,kBAAkB,EAClB,kBAAkB,EAClB,2BAA2B,GAC3B,MAAM,WAAW,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAC;AAC3C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,cAAc,CAAC;AA8B7B,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AACnE,cAAc,gBAAgB,CAAC;AAC/B,OAAO,EAAE,cAAc,IAAI,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAEN,oBAAoB,EACpB,gCAAgC,GAChC,MAAM,aAAa,CAAC;AACrB,cAAc,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAC;AAC3C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,cAAc,CAAC;AA+B7B,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AACnE,cAAc,gBAAgB,CAAC;AAC/B,OAAO,EAAE,cAAc,IAAI,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAEN,oBAAoB,EACpB,gCAAgC,GAChC,MAAM,aAAa,CAAC;AACrB,cAAc,aAAa,CAAC"}
@@ -0,0 +1,67 @@
1
+ import type { Context, IterationRequest, ResultIndexedValue, ResultValue, Results, SearchRequest, SearchRequestIndexed } from "@peerbit/document-interface";
2
+ import type * as indexerTypes from "@peerbit/indexer-interface";
3
+ import type { Program } from "@peerbit/program";
4
+ import type { SharedLogLike } from "@peerbit/shared-log";
5
+ import type { PeerRefs } from "@peerbit/stream-interface";
6
+ import type { GetOptions, QueryOptions, ReachScope, ResultsIterator, SearchOptions, ValueTypeFromRequest, WithContext, WithIndexedContext } from "./search.js";
7
+ import type { CountEstimate } from "./program.js";
8
+ export type DocumentsLikeQuery = SearchRequest | SearchRequestIndexed | IterationRequest | {
9
+ query?: indexerTypes.QueryLike | indexerTypes.Query[];
10
+ sort?: indexerTypes.SortLike | indexerTypes.Sort | indexerTypes.Sort[];
11
+ };
12
+ export type DocumentsLikeWaitForOptions = {
13
+ seek?: "any" | "present";
14
+ signal?: AbortSignal;
15
+ timeout?: number;
16
+ };
17
+ export type DocumentsLikeExactCountOptions = {
18
+ query?: indexerTypes.Query | indexerTypes.QueryLike;
19
+ approximate?: false | undefined;
20
+ };
21
+ export type DocumentsLikeApproximateCountOptions = {
22
+ query?: indexerTypes.Query | indexerTypes.QueryLike;
23
+ approximate: true | {
24
+ scope?: ReachScope;
25
+ };
26
+ };
27
+ export type DocumentsLikeCountOptions = DocumentsLikeExactCountOptions | DocumentsLikeApproximateCountOptions;
28
+ export type DocumentsLikeIndex<T, I, D = any> = {
29
+ get: <Resolve extends boolean | undefined = true>(id: indexerTypes.Ideable | indexerTypes.IdKey, options?: GetOptions<T, I, D, Resolve>) => Promise<ValueTypeFromRequest<Resolve, T, I> | undefined>;
30
+ getDetailed: <Resolve extends boolean | undefined = true>(id: indexerTypes.IdKey | indexerTypes.IdPrimitive, options?: QueryOptions<T, I, D, Resolve>) => Promise<Results<Resolve extends false ? ResultIndexedValue<WithContext<I>> : ResultValue<WithIndexedContext<T, I>>>[] | undefined>;
31
+ resolveId: (value: any) => indexerTypes.IdKey;
32
+ iterate: <Resolve extends boolean | undefined = true>(query?: DocumentsLikeQuery, options?: QueryOptions<T, I, D, Resolve>) => ResultsIterator<ValueTypeFromRequest<Resolve, T, I>>;
33
+ search: <Resolve extends boolean | undefined = true>(query: DocumentsLikeQuery, options?: SearchOptions<T, I, D, Resolve>) => Promise<ValueTypeFromRequest<Resolve, T, I>[]>;
34
+ getSize: () => Promise<number> | number;
35
+ waitFor: (peers: PeerRefs, options?: DocumentsLikeWaitForOptions) => Promise<string[]>;
36
+ wrappedIndexedType?: new (value: I, context: Context) => WithContext<I>;
37
+ index?: {
38
+ count?: (options?: indexerTypes.CountOptions) => Promise<number> | number;
39
+ getSize?: () => Promise<number> | number;
40
+ get?: (id: indexerTypes.IdKey, options?: {
41
+ shape: indexerTypes.Shape;
42
+ }) => Promise<indexerTypes.IndexedResult<WithContext<I>> | undefined> | indexerTypes.IndexedResult<WithContext<I>> | undefined;
43
+ iterate?: (request?: indexerTypes.IterateOptions, options?: {
44
+ shape?: indexerTypes.Shape;
45
+ reference?: boolean;
46
+ }) => indexerTypes.IndexIterator<WithContext<I>, indexerTypes.Shape | undefined>;
47
+ put?: (value: WithContext<I>) => Promise<void> | void;
48
+ };
49
+ };
50
+ export type DocumentsLike<T, I, D = any> = {
51
+ closed?: boolean;
52
+ events: EventTarget;
53
+ changes: EventTarget;
54
+ index: DocumentsLikeIndex<T, I, D>;
55
+ log: SharedLogLike<any>;
56
+ put(doc: T, options?: unknown): Promise<unknown>;
57
+ get: (id: indexerTypes.Ideable | indexerTypes.IdKey, options?: Omit<GetOptions<T, I, D, true | undefined>, "resolve">) => Promise<T | undefined>;
58
+ del(id: indexerTypes.Ideable | indexerTypes.IdKey, options?: unknown): Promise<unknown>;
59
+ count: {
60
+ (options?: DocumentsLikeExactCountOptions): Promise<number>;
61
+ (options: DocumentsLikeApproximateCountOptions): Promise<CountEstimate>;
62
+ };
63
+ waitFor: (peers: PeerRefs, options?: DocumentsLikeWaitForOptions) => Promise<string[]>;
64
+ recover: () => Promise<void>;
65
+ close: (from?: Program<any, any>) => Promise<boolean | void>;
66
+ };
67
+ //# sourceMappingURL=like.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"like.d.ts","sourceRoot":"","sources":["../../src/like.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=like.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"like.js","sourceRoot":"","sources":["../../src/like.ts"],"names":[],"mappings":""}
@@ -7,7 +7,7 @@ import { type EntryReplicated, type ReplicationDomain, type SharedAppendOptions,
7
7
  import type { CustomDocumentDomain } from "./domain.js";
8
8
  import type { DocumentEvents } from "./events.js";
9
9
  import { DeleteOperation, type Operation, PutOperation } from "./operation.js";
10
- import { type CanRead, type CanSearch, DocumentIndex, type PrefetchOptions, type ReachScope, type TransformOptions } from "./search.js";
10
+ import { type CanRead, type CanSearch, DocumentIndex, type GetOptions, type PrefetchOptions, type ReachScope, type TransformOptions } from "./search.js";
11
11
  export declare class OperationError extends Error {
12
12
  constructor(message?: string);
13
13
  }
@@ -81,16 +81,17 @@ export declare class Documents<T, I extends Record<string, any> = T extends Reco
81
81
  index?: DocumentIndex<T, I, ExtractArgs<D>>;
82
82
  });
83
83
  get index(): DocumentIndex<T, I, D>;
84
+ get changes(): import("@libp2p/interface").TypedEventTarget<DocumentEvents<T, I> & ProgramEvents>;
84
85
  private maybeSubprogramOpen;
85
86
  private keepCache;
86
87
  open(options: SetupOptions<T, I, D>): Promise<void>;
87
88
  recover(): Promise<void>;
88
89
  private _resolveEntry;
89
- canAppend(entry: Entry<Operation>, reference?: {
90
+ protected canAppend(entry: Entry<Operation>, reference?: {
90
91
  document: T;
91
92
  operation: PutOperation;
92
93
  }): Promise<boolean>;
93
- _canAppend(entry: Entry<Operation>, reference?: {
94
+ protected _canAppend(entry: Entry<Operation>, reference?: {
94
95
  document: T;
95
96
  operation: PutOperation;
96
97
  }): Promise<PutOperation | DeleteOperation | false>;
@@ -102,7 +103,8 @@ export declare class Documents<T, I extends Record<string, any> = T extends Reco
102
103
  entry: Entry<Operation>;
103
104
  removed: ShallowOrFullEntry<Operation>[];
104
105
  }>;
105
- del(id: indexerTypes.Ideable, options?: SharedAppendOptions<Operation>): Promise<{
106
+ get(id: indexerTypes.Ideable | indexerTypes.IdKey, options?: Omit<GetOptions<T, I, D, true | undefined>, "resolve">): Promise<T | undefined>;
107
+ del(id: indexerTypes.Ideable | indexerTypes.IdKey, options?: SharedAppendOptions<Operation>): Promise<{
106
108
  entry: Entry<Operation>;
107
109
  removed: ShallowOrFullEntry<Operation>[];
108
110
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"program.d.ts","sourceRoot":"","sources":["../../src/program.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"program.d.ts","sourceRoot":"","sources":["../../src/program.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,KAAK,YAAY,EAKjB,MAAM,gBAAgB,CAAC;AAGxB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,KAAK,YAAY,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EACN,KAAK,MAAM,EACX,KAAK,EAEL,KAAK,kBAAkB,EACvB,KAAK,WAAW,EAChB,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EACN,KAAK,eAAe,EACpB,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,EACxB,SAAS,EACT,KAAK,gBAAgB,EACrB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,KAAK,EAAE,cAAc,EAAmB,MAAM,aAAa,CAAC;AACnE,OAAO,EAEN,eAAe,EACf,KAAK,SAAS,EACd,YAAY,EAKZ,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACN,KAAK,OAAO,EACZ,KAAK,SAAS,EACd,aAAa,EACb,KAAK,UAAU,EACf,KAAK,eAAe,EACpB,KAAK,UAAU,EACf,KAAK,gBAAgB,EAIrB,MAAM,aAAa,CAAC;AAKrB,qBAAa,cAAe,SAAQ,KAAK;gBAC5B,OAAO,CAAC,EAAE,MAAM;CAG5B;AAED,KAAK,YAAY,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AAEtC,MAAM,MAAM,aAAa,GAAG;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB;;;;;;;;OAQG;IACH,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;CAChC,CAAC;AAEF,KAAK,aAAa,CAAC,CAAC,IAAI;IACvB,IAAI,EAAE,KAAK,CAAC;IACZ,KAAK,EAAE,CAAC,CAAC;IACT,SAAS,EAAE,YAAY,CAAC;IACxB,KAAK,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;CAC3B,CAAC;AAEF,KAAK,gBAAgB,GAAG;IACvB,IAAI,EAAE,QAAQ,CAAC;IACf,SAAS,EAAE,eAAe,CAAC;IAC3B,KAAK,EAAE,KAAK,CAAC,eAAe,CAAC,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,oBAAoB,CAAC,CAAC,IAAI,aAAa,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;AAC1E,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI,CAC3B,UAAU,EAAE,oBAAoB,CAAC,CAAC,CAAC,KAC/B,YAAY,CAAC,OAAO,CAAC,CAAC;AAE3B,KAAK,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,iBAAiB,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAE5E,MAAM,MAAM,YAAY,CACvB,CAAC,EACD,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,EACvE,CAAC,SAAS,iBAAiB,CAAC,GAAG,EAAE,SAAS,EAAE,GAAG,CAAC,GAAG,GAAG,IACnD;IACH,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;IACtB,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,YAAY,CAAC,OAAO,CAAC,CAAC;IAChD,UAAU,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;IAC3B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,YAAY,CAAC,WAAW,CAAC;IAC5C,KAAK,CAAC,EAAE;QACP,SAAS,CAAC,EAAE,SAAS,CAAC;QACtB,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;QACrB,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;QAC/B,KAAK,CAAC,EAAE;YACP,QAAQ,CAAC,EAAE,MAAM,CAAC;YAClB,KAAK,CAAC,EAAE,iBAAiB,CAAC;SAC1B,CAAC;QACF,QAAQ,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;QAC9C,cAAc,CAAC,EAAE,OAAO,CAAC;KACzB,GAAG,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC3B,GAAG,CAAC,EAAE;QACL,IAAI,CAAC,EAAE,WAAW,CAAC;KACnB,CAAC;IACF,aAAa,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IACtB,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IACrE,IAAI,CAAC,EACF,CAAC,CACD,KAAK,EAAE,kBAAkB,CAAC,SAAS,CAAC,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAC5D,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,GAChC,MAAM,CAAC;CACV,GAAG,IAAI,CACP,gBAAgB,CAAC,SAAS,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EACzC,eAAe,GAAG,QAAQ,GAAG,MAAM,CACnC,CAAC;AAEF,MAAM,MAAM,WAAW,CAAC,CAAC,IACxB,CAAC,SAAS,iBAAiB,CAAC,MAAM,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,IAAI,GAAG,KAAK,CAAC;AAElE,qBACa,SAAS,CACrB,CAAC,EACD,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,EACvE,CAAC,SAAS,iBAAiB,CAAC,GAAG,EAAE,SAAS,EAAE,GAAG,CAAC,GAAG,GAAG,CACrD,SAAQ,OAAO,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,aAAa,CAAC;IAE7E,GAAG,EAAE,SAAS,CAAC,SAAS,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAGxC,SAAS,EAAE,OAAO,CAAC;IAGnB,OAAO,CAAC,MAAM,CAAyB;IAEvC,OAAO,CAAC,MAAM,CAAmB;IAEjC,OAAO,CAAC,iBAAiB,CAAC,CAAgB;IAC1C,OAAO,CAAC,UAAU,CAA0C;IAC5D,OAAO,CAAC,MAAM,CAAC,CAAkC;IACjD,OAAO,CAAC,aAAa,CAAU;IAC/B,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;IAErD,aAAa,EAAE,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;gBAErB,UAAU,CAAC,EAAE;QACxB,EAAE,CAAC,EAAE,UAAU,CAAC;QAChB,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,KAAK,CAAC,EAAE,aAAa,CAAC,CAAC,EAAE,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;KAC5C;IAQD,IAAI,KAAK,IAAI,aAAa,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAElC;IAED,IAAI,OAAO,uFAEV;YAEa,mBAAmB;IAUjC,OAAO,CAAC,SAAS,CAAsC;IACjD,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IA0HnC,OAAO;YAIC,aAAa;cAqBX,SAAS,CACxB,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,EACvB,SAAS,CAAC,EAAE;QAAE,QAAQ,EAAE,CAAC,CAAC;QAAC,SAAS,EAAE,YAAY,CAAA;KAAE,GAClD,OAAO,CAAC,OAAO,CAAC;cAuDH,UAAU,CACzB,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,EACvB,SAAS,CAAC,EAAE;QAAE,QAAQ,EAAE,CAAC,CAAC;QAAC,SAAS,EAAE,YAAY,CAAA;KAAE,GAClD,OAAO,CAAC,YAAY,GAAG,eAAe,GAAG,KAAK,CAAC;IA4IrC,GAAG,CACf,GAAG,EAAE,CAAC,EACN,OAAO,CAAC,EAAE,mBAAmB,CAAC,SAAS,CAAC,GAAG;QAC1C,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,WAAW,CAAC,EAAE,OAAO,CAAC;KACtB;;;;IAgEW,GAAG,CACf,EAAE,EAAE,YAAY,CAAC,OAAO,GAAG,YAAY,CAAC,KAAK,EAC7C,OAAO,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,GAAG,SAAS,CAAC,EAAE,SAAS,CAAC,GAC9D,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAQnB,GAAG,CACR,EAAE,EAAE,YAAY,CAAC,OAAO,GAAG,YAAY,CAAC,KAAK,EAC7C,OAAO,CAAC,EAAE,mBAAmB,CAAC,SAAS,CAAC;;;;IAqCnC,aAAa,CAClB,MAAM,EAAE,MAAM,CAAC,SAAS,CAAC,EACzB,SAAS,CAAC,EAAE;QAAE,QAAQ,EAAE,CAAC,CAAC;QAAC,SAAS,EAAE,YAAY,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,GACpE,OAAO,CAAC,IAAI,CAAC;IAqKhB;;;;;OAKG;IACG,KAAK,CAAC,OAAO,CAAC,EAAE;QACrB,KAAK,CAAC,EAAE,YAAY,CAAC,KAAK,GAAG,YAAY,CAAC,SAAS,CAAC;QACpD,WAAW,CAAC,EAAE,KAAK,GAAG,SAAS,CAAC;KAChC,GAAG,OAAO,CAAC,MAAM,CAAC;IACb,KAAK,CAAC,OAAO,EAAE;QACpB,KAAK,CAAC,EAAE,YAAY,CAAC,KAAK,GAAG,YAAY,CAAC,SAAS,CAAC;QACpD,WAAW,EAAE,IAAI,GAAG;YAAE,KAAK,CAAC,EAAE,UAAU,CAAA;SAAE,CAAC;KAC3C,GAAG,OAAO,CAAC,aAAa,CAAC;CAqG1B"}
@@ -99,6 +99,9 @@ let Documents = (() => {
99
99
  get index() {
100
100
  return this._index;
101
101
  }
102
+ get changes() {
103
+ return this.events;
104
+ }
102
105
  async maybeSubprogramOpen(value) {
103
106
  if (await this.canOpen(value)) {
104
107
  return (await this.node.open(value, {
@@ -442,8 +445,15 @@ let Documents = (() => {
442
445
  this.keepCache?.add(appended.entry.hash);
443
446
  return appended;
444
447
  }
448
+ async get(id, options) {
449
+ const resolved = await this.index.get(id, {
450
+ ...(options ?? {}),
451
+ resolve: true,
452
+ });
453
+ return resolved ? resolved : undefined;
454
+ }
445
455
  async del(id, options) {
446
- const key = indexerTypes.toId(id);
456
+ const key = id instanceof indexerTypes.IdKey ? id : indexerTypes.toId(id);
447
457
  const existing = (await this._index.getDetailed(key, {
448
458
  resolve: false,
449
459
  local: true,
@@ -1 +1 @@
1
- {"version":3,"file":"program.js","sourceRoot":"","sources":["../../src/program.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAEN,UAAU,EACV,KAAK,EACL,SAAS,EACT,OAAO,GACP,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAEhF,OAAO,KAAK,YAAY,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAEN,KAAK,EACL,SAAS,GAGT,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,MAAM,IAAI,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,OAAO,EAAsB,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EAIN,SAAS,GAET,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAGhD,OAAO,EACN,wBAAwB,EACxB,eAAe,EAEf,YAAY,EACZ,mBAAmB,EACnB,qBAAqB,EACrB,iBAAiB,EACjB,cAAc,GACd,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAGN,aAAa,EAKb,iBAAiB,EACjB,iBAAiB,GACjB,MAAM,aAAa,CAAC;AAErB,MAAM,MAAM,GAAG,QAAQ,CAAC,0BAA0B,CAAC,CAAC;AACpD,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AAErC,MAAM,OAAO,cAAe,SAAQ,KAAK;IACxC,YAAY,OAAgB;QAC3B,KAAK,CAAC,OAAO,CAAC,CAAC;IAChB,CAAC;CACD;IA8EY,SAAS;4BADrB,OAAO,CAAC,WAAW,CAAC;;;;sBAKX,OAAO;;;;;;;;;;yBAAf,SAAQ,WAAoE;;;;+BAC5E,KAAK,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;qCAG1B,KAAK,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;kCAGvB,KAAK,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;YAL/B,2JAAA,GAAG,6BAAH,GAAG,iFAAqC;YAGxC,6KAAA,SAAS,6BAAT,SAAS,6FAAU;YAGnB,oKAAQ,MAAM,6BAAN,MAAM,uFAAyB;YAZxC,6KAsxBC;;;YAtxBY,uDAAS;;QAMrB,GAAG,sDAAqC;QAGxC,SAAS,+GAAU,CAAC,gCAAgC;QAG5C,MAAM,kHAAyB;QAE/B,MAAM,sDAAmB;QAEzB,iBAAiB,CAAiB;QAClC,UAAU,CAA0C;QACpD,MAAM,CAAmC;QACzC,aAAa,CAAU;QAC/B,OAAO,CAA8C;QAErD,aAAa,CAAoB;QAEjC,YAAY,UAIX;YACA,KAAK,EAAE,CAAC;YAER,IAAI,CAAC,GAAG,GAAG,IAAI,SAAS,CAAC,UAAU,CAAC,CAAC;YACrC,IAAI,CAAC,SAAS,GAAG,UAAU,EAAE,SAAS,IAAI,KAAK,CAAC;YAChD,IAAI,CAAC,MAAM,GAAG,UAAU,EAAE,KAAK,IAAI,IAAI,aAAa,EAAE,CAAC;QACxD,CAAC;QAED,IAAI,KAAK;YACR,OAAO,IAAI,CAAC,MAAM,CAAC;QACpB,CAAC;QAEO,KAAK,CAAC,mBAAmB,CAAC,KAAkB;YACnD,IAAI,MAAM,IAAI,CAAC,OAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;gBAChC,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;oBACnC,MAAM,EAAE,IAAyB;oBACjC,QAAQ,EAAE,OAAO;iBACjB,CAAC,CAAuB,CAAC,CAAC,aAAa;YACzC,CAAC;YAED,OAAO,KAAK,CAAC;QACd,CAAC;QACO,SAAS,GAA4B,SAAS,CAAC;QACvD,KAAK,CAAC,IAAI,CAAC,OAA8B;YACxC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;YAC3B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;YAE/B,oBAAoB;YACpB,IAAI,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;gBACxC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;oBACnB,MAAM,IAAI,KAAK,CACd,2FAA2F,CAC3F,CAAC;gBACH,CAAC;YACF,CAAC;YAED,IAAI,CAAC,iBAAiB,GAAG,OAAO,CAAC,UAAU,CAAC;YAC5C,MAAM,UAAU,GACf,OAAO,CAAC,KAAK,EAAE,UAAU;gBACzB,YAAY,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC;gBACvC,IAAI,CAAC;YACN,MAAM,UAAU,GACf,OAAO,CAAC,EAAE;gBACV,CAAC,OAAO,UAAU,KAAK,QAAQ;oBAC9B,CAAC,CAAC,CAAC,GAAQ,EAAE,EAAE,CAAC,GAAG,CAAC,UAAoB,CAAC;oBACzC,CAAC,CAAC,CAAC,GAAQ,EAAE,EAAE,CACb,YAAY,CAAC,iBAAiB,CAAC,GAAG,EAAE,UAAsB,CAAC,CAAC,CAAC;YAEjE,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;YAC7B,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;YAC3C,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,IAAI,KAAK,CAAC;YAEpD,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;gBACtB,cAAc,EAAE,IAAI,CAAC,MAAM;gBAC3B,GAAG,EAAE,IAAI,CAAC,GAAG;gBACb,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO;gBAChC,SAAS,EAAE,OAAO,CAAC,KAAK,EAAE,SAAS;gBACnC,YAAY,EAAE,IAAI,CAAC,MAAM;gBACzB,SAAS,EAAE,OAAO,CAAC,KAAK;gBACxB,OAAO,EAAE,UAAU;gBACnB,aAAa,EAAE,OAAO,CAAC,aAAa;gBACpC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK;gBAC5B,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;oBACnC,yDAAyD;oBAEzD,IAAI,aAAa,GAAG,IAAI,CAAC,MAAM,EAAE,sBAAsB,CAAC,KAAK,CAAC,CAAC;oBAC/D,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAClB,OAAO,CAAC,OAAO;yBACb,IAAI,EAAE;yBACN,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACV,CAAC,YAAY,kBAAkB,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC;wBACtD,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;wBACd,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CACjB,EACF,EAAE,SAAS,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,aAAa,EAAE,EAAE,CACpD,CAAC;gBACH,CAAC;gBACD,MAAM,EAAE,IAAI,CAAC,WAAW;gBACxB,SAAS,EAAE,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC;gBAC9C,QAAQ,EAAE,OAAO,CAAC,KAAK,EAAE,QAAQ;gBACjC,cAAc,EAAE,OAAO,CAAC,KAAK,EAAE,cAAc;aAC7C,CAAC,CAAC;YAEH,8DAA8D;YAC9D,4CAA4C;YAC5C,IAAI,eAAe,GAAuB,SAAS,CAAC;YACpD,IAAI,OAAO,CAAC,aAAa,KAAK,CAAC,EAAE,CAAC;gBACjC,eAAe,GAAG,CAAC,CAAC;YACrB,CAAC;iBAAM,IAAI,OAAO,CAAC,aAAa,KAAK,CAAC,EAAE,CAAC;gBACxC,eAAe,GAAG,CAAC,CAAC;YACrB,CAAC;YAED,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC;YAErC,IAAI,YAIQ,CAAC;YACb,IAAI,OAAO,EAAE,IAAI,KAAK,MAAM,EAAE,CAAC;gBAC9B,IAAI,CAAC,SAAS,GAAG,IAAI,GAAG,EAAE,CAAC;gBAC3B,YAAY,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE;oBAC1B,IAAI,IAAI,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;wBACjC,OAAO,IAAI,CAAC;oBACb,CAAC;oBACD,IAAI,UAAU,GAAmC,SAAS,CAAC;oBAC3D,IAAI,CAAC,YAAY,KAAK,EAAE,CAAC;wBACxB,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC;oBAC3B,CAAC;yBAAM,CAAC;wBACP,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;wBAC7C,UAAU,GAAG,KAAK,EAAE,UAAU,CAAC;oBAChC,CAAC;oBAED,IAAI,CAAC,UAAU,EAAE,CAAC;wBACjB,OAAO,KAAK,CAAC;oBACd,CAAC;oBAED,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;wBACpC,IAAI,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;4BAC9D,IAAI,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;4BAC5B,OAAO,IAAI,CAAC;wBACb,CAAC;oBACF,CAAC;oBACD,OAAO,KAAK,CAAC,CAAC,wBAAwB;gBACvC,CAAC,CAAC;YACH,CAAC;iBAAM,CAAC;gBACP,YAAY,GAAG,OAAO,EAAE,IAAI,CAAC;YAC9B,CAAC;YAED,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;gBACnB,QAAQ,EAAE,wBAAwB;gBAClC,YAAY,EAAE,OAAO,EAAE,YAAY;gBACnC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC;gBACpC,QAAQ,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC;gBACvC,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI;gBACxB,SAAS,EAAE,OAAO,EAAE,SAAS;gBAC7B,QAAQ,EAAE,OAAO,EAAE,QAAQ;gBAC3B,MAAM,EAAE,CAAC,OAAO,EAAE,MAAM;oBACvB,CAAC,CAAC,CAAC,GAAQ,EAAE,EAAE,CAAC,OAAO,CAAC,MAAO,CAAC,IAAI,CAAC;oBACrC,CAAC,CAAC,SAAS,CAAQ,EAAE,eAAe;gBACrC,aAAa,EAAE,eAAe;gBAC9B,IAAI,EAAE,YAAY;aAClB,CAAC,CAAC;QACJ,CAAC;QAED,KAAK,CAAC,OAAO;YACZ,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;QAC3B,CAAC;QAEO,KAAK,CAAC,aAAa,CAC1B,OAAkC,EAClC,OAOC;YAED,OAAO,OAAO,OAAO,KAAK,QAAQ;gBACjC,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;oBAC1C,CAAC,MAAM,KAAK,CAAC,aAAa,CACzB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,EACnB,OAAO,EACP,OAAO,CACP,CAAC;gBACJ,CAAC,CAAC,OAAO,CAAC;QACZ,CAAC;QAED,KAAK,CAAC,SAAS,CACd,KAAuB,EACvB,SAAoD;YAEpD,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,KAAyB,EAAE,SAAS,CAAC,CAAC;YACvE,IAAI,CAAC,EAAE,EAAE,CAAC;gBACT,OAAO,KAAK,CAAC;YACd,CAAC;YAED,IAAI,CAAC;gBACJ,IAAI,SAAS,GAAmC,EAAE,CAAC;gBACnD,IAAI,QAAQ,GAAkB,SAAS,EAAE,QAAQ,CAAC;gBAClD,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACf,IAAI,cAAc,CAAC,EAAE,CAAC,EAAE,CAAC;wBACxB,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;wBACtD,IAAI,CAAC,QAAQ,EAAE,CAAC;4BACf,OAAO,KAAK,CAAC;wBACd,CAAC;oBACF,CAAC;yBAAM,IAAI,iBAAiB,CAAC,EAAE,CAAC,EAAE,CAAC;wBAClC,gCAAgC;wBAChC,mDAAmD;wBACnD,oCAAoC;oBACrC,CAAC;yBAAM,CAAC;wBACP,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;oBAC1C,CAAC;gBACF,CAAC;gBAED,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;oBAC5B,IACC,CAAC,CAAC,MAAM,IAAI,CAAC,iBAAiB,CAC7B,cAAc,CAAC,SAAS,CAAC;wBACxB,CAAC,CAAC;4BACA,IAAI,EAAE,KAAK;4BACX,KAAK,EAAE,QAAS;4BAChB,SAAS;4BACT,KAAK,EAAE,KAAmC;yBAC1C;wBACF,CAAC,CAAC;4BACA,IAAI,EAAE,QAAQ;4BACd,SAAS;4BACT,KAAK,EAAE,KAAsC;yBAC7C,CACH,CAAC,EACD,CAAC;wBACF,OAAO,KAAK,CAAC;oBACd,CAAC;gBACF,CAAC;YACF,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAChB,IAAI,KAAK,YAAY,UAAU,EAAE,CAAC;oBACjC,IAAI,CAAC,sDAAsD,CAAC,CAAC;oBAC7D,OAAO,KAAK,CAAC;gBACd,CAAC;gBACD,MAAM,KAAK,CAAC;YACb,CAAC;YAED,OAAO,IAAI,CAAC;QACb,CAAC;QAED,KAAK,CAAC,UAAU,CACf,KAAuB,EACvB,SAAoD;YAEpD,MAAM,OAAO,GAAG,KAAK,EAAE,OAAkC,EAAE,EAAE;gBAC5D,OAAO,OAAO,OAAO,KAAK,QAAQ;oBACjC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC;wBACzB,CAAC,MAAM,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;oBAC3D,CAAC,CAAC,OAAO,CAAC;YACZ,CAAC,CAAC;YACF,MAAM,eAAe,GAAG,KAAK,EAAE,OAAkC,EAAE,EAAE;gBACpE,wEAAwE;gBACxE,IAAI,OAAO,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;gBAErC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAChC,OACC,OAAO,EAAE,IAAI;oBACb,IAAI,KAAK,OAAO,EAAE,IAAI;oBACtB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAC3B,CAAC;oBACF,OAAO,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAE,CAAC;gBACzD,CAAC;gBACD,IAAI,OAAO,EAAE,IAAI,KAAK,IAAI,EAAE,CAAC;oBAC5B,OAAO,IAAI,CAAC,CAAC,sFAAsF;gBACpG,CAAC;gBACD,OAAO,KAAK,CAAC;YACd,CAAC,CAAC;YAEF,IAAI,CAAC;gBACJ,KAAK,CAAC,IAAI,CAAC;oBACV,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ;oBAC/B,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ;iBACrC,CAAC,CAAC;gBACH,MAAM,SAAS,GACd,SAAS,EAAE,SAAS;oBACpB;;6BAEM,CAAC,CAAC,MAAM,KAAK,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,8EAA8E;gBACvH,IAAI,cAAc,CAAC,SAAS,CAAC,EAAE,CAAC;oBAC/B,cAAc;oBACd,MAAM,YAAY,GAAG,SAAyB,CAAC;oBAC/C,IAAI,KAAK,GACR,SAAS,EAAE,QAAQ;wBACnB,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;oBACrD,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;oBAExC,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBAExC,MAAM,gBAAgB,GAAG,CACxB,MAAM,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;wBACjC,OAAO,EAAE,KAAK;wBACd,KAAK,EAAE,IAAI;wBACX,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,KAAK;qBACzD,CAAC,CACF,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;oBACnB,IAAI,gBAAgB,IAAI,gBAAgB,CAAC,OAAO,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,EAAE,CAAC;wBACtE,4HAA4H;wBAC5H,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;4BACpB,8CAA8C;4BAC9C,4DAA4D;4BAC5D,IACC,gBAAgB,CAAC,OAAO,CAAC,OAAO;gCAChC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,EAClC,CAAC;gCACF,OAAO,KAAK,CAAC;4BACd,CAAC;4BAED,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gCAChC,OAAO,KAAK,CAAC,CAAC,uCAAuC;4BACtD,CAAC;4BAED,OAAO,YAAY,CAAC;wBACrB,CAAC;6BAAM,CAAC;4BACP,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;gCACxB,6EAA6E;gCAC7E,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oCAClC,OAAO,KAAK,CAAC;gCACd,CAAC;gCAED,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAClD,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAC7B,CAAC;gCACF,IAAI,CAAC,SAAS,EAAE,CAAC;oCAChB,MAAM,CAAC,KAAK,CACX,mDAAmD;wCAClD,KAAK,CAAC,IAAI,CACX,CAAC;oCACF,OAAO,KAAK,CAAC;gCACd,CAAC;gCACD,MAAM,yBAAyB,GAC9B,MAAM,eAAe,CAAC,SAAS,CAAC,CAAC;gCAClC,OAAO,yBAAyB,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC;4BACzD,CAAC;iCAAM,CAAC;gCACP,OAAO,YAAY,CAAC;4BACrB,CAAC;wBACF,CAAC;oBACF,CAAC;yBAAM,CAAC;wBACP,0DAA0D;wBAC1D,yDAAyD;wBACzD,6EAA6E;oBAC9E,CAAC;gBACF,CAAC;qBAAM,IAAI,iBAAiB,CAAC,SAAS,CAAC,EAAE,CAAC;oBACzC,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBAClC,OAAO,KAAK,CAAC;oBACd,CAAC;oBACD,MAAM,gBAAgB,GAAG,CACxB,MAAM,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,SAAS,CAAC,GAAG,EAAE;wBAC3C,OAAO,EAAE,KAAK;wBACd,KAAK,EAAE,IAAI;wBACX,MAAM,EAAE,IAAI,CAAC,SAAS;qBACtB,CAAC,CACF,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;oBAEnB,IAAI,CAAC,gBAAgB,EAAE,CAAC;wBACvB,kBAAkB;wBAClB,OAAO,qBAAqB,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY;oBACtD,CAAC;oBACD,IAAI,GAAG,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;oBAChE,IAAI,CAAC,GAAG,EAAE,CAAC;wBACV,MAAM,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC;wBAClD,OAAO,KAAK,CAAC;oBACd,CAAC;oBACD,IAAI,MAAM,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC;wBAChC,mCAAmC;wBACnC,OAAO,qBAAqB,CAAC,SAAS,CAAC,CAAC;oBACzC,CAAC;oBACD,OAAO,KAAK,CAAC;gBACd,CAAC;qBAAM,CAAC;oBACP,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;gBAC1C,CAAC;gBAED,OAAO,SAAS,CAAC;YAClB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAChB,IAAI,KAAK,YAAY,WAAW,EAAE,CAAC;oBAClC,OAAO,KAAK,CAAC,CAAC,2CAA2C;gBAC1D,CAAC;qBAAM,IAAI,KAAK,YAAY,UAAU,EAAE,CAAC;oBACxC,IAAI,CAAC,sDAAsD,CAAC,CAAC;oBAC7D,OAAO,KAAK,CAAC;gBACd,CAAC;gBACD,MAAM,KAAK,CAAC;YACb,CAAC;QACF,CAAC;QAEM,KAAK,CAAC,GAAG,CACf,GAAM,EACN,OAIC;YAED,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;YAEtC,qBAAqB;YACrB,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YAE/B,MAAM,GAAG,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;YAC3B,IAAI,GAAG,CAAC,MAAM,GAAG,cAAc,EAAE,CAAC;gBACjC,MAAM,IAAI,KAAK,CACd,0BACC,GAAG,CAAC,MAAM,GAAG,IACd,gCAAgC,cAAc,GAAG,IAAI,KAAK,CAC1D,CAAC;YACH,CAAC;YAED,MAAM,gBAAgB,GAAG,OAAO,EAAE,MAAM;gBACvC,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,CACA,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ,EAAE;oBACvC,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,IAAI;oBACX,MAAM,EAAE,OAAO,EAAE,WAAW;wBAC3B,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE;wBACnC,CAAC,CAAC,KAAK,EAAE,0CAA0C;iBACpD,CAAC,CACF,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;YAErB,IAAI,SAA6C,CAAC;YAClD,IAAI,IAAI,CAAC,aAAa,KAAK,CAAC,EAAE,CAAC;gBAC9B,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;oBAClC,SAAS,GAAG,IAAI,mBAAmB,CAAC;wBACnC,GAAG,EAAE,QAAQ;wBACb,IAAI,EAAE,GAAG;qBACT,CAAC,CAAC;gBACJ,CAAC;qBAAM,CAAC;oBACP,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;gBAClE,CAAC;YACF,CAAC;iBAAM,CAAC;gBACP,SAAS,GAAG,IAAI,YAAY,CAAC;oBAC5B,IAAI,EAAE,GAAG;iBACT,CAAC,CAAC;YACJ,CAAC;YAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,EAAE;gBACjD,GAAG,OAAO;gBACV,IAAI,EAAE;oBACL,IAAI,EAAE,gBAAgB;wBACrB,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;wBAC3D,CAAC,CAAC,EAAE;oBACL,GAAG,OAAO,EAAE,IAAI;iBAChB;gBACD,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE;oBACpB,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC;gBAC5D,CAAC;gBACD,QAAQ,EAAE,CAAC,MAAM,EAAE,EAAE;oBACpB,OAAO,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC;gBACjE,CAAC;gBACD,SAAS,EAAE,OAAO,EAAE,SAAS;aAC7B,CAAC,CAAC;YACH,IAAI,CAAC,SAAS,EAAE,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACzC,OAAO,QAAQ,CAAC;QACjB,CAAC;QAED,KAAK,CAAC,GAAG,CACR,EAAwB,EACxB,OAAwC;YAExC,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAClC,MAAM,QAAQ,GAAG,CAChB,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,EAAE;gBAClC,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,IAAI;gBACX,MAAM,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE;aACzC,CAAC,CACF,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;YAEnB,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACf,MAAM,IAAI,aAAa,CACtB,sBAAsB,GAAG,CAAC,SAAS,mBAAmB,CACtD,CAAC;YACH,CAAC;YAED,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACtD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE;gBAC7D,MAAM,EAAE,IAAI;aACZ,CAAC,CAAC;YAEH,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,CACrB,IAAI,eAAe,CAAC;gBACnB,GAAG;aACH,CAAC,EACF;gBACC,GAAG,OAAO;gBACV,IAAI,EAAE;oBACL,IAAI,EAAE,CAAC,KAAK,CAAC;oBACb,IAAI,EAAE,SAAS,CAAC,GAAG;oBACnB,GAAG,OAAO,EAAE,IAAI;iBAChB;aACD,CACD,CAAC;QACH,CAAC;QAED,KAAK,CAAC,aAAa,CAClB,MAAyB,EACzB,SAAsE;YAEtE,MAAM,CAAC,KAAK,CAAC,sBAAsB,EAAE,MAAM,CAAC,CAAC;YAC7C,MAAM,iBAAiB,GACtB,MAAM,EAAE,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;YACxD,MAAM,UAAU,GAAG,IAAI,GAAG,EAAyC,CAAC;YAEpE,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBAChC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;YAC3B,CAAC;YAED,MAAM,aAAa,GAAG;gBACrB,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;gBACnC,GAAG,CAAC,CAAC,MAAM,OAAO,CAAC,GAAG,CACrB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACxB,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAC5D,CACD,CAAC,IAAI,EAAE,CAAC;aACT,CAAC,CAAC,sBAAsB;YACzB;;yEAEoD;YAEpD,uIAAuI;YACvI,oIAAoI;YAEpI,IAAI,gBAAgB,GAA0B;gBAC7C,KAAK,EAAE,EAAE;gBACT,OAAO,EAAE,EAAE;aACX,CAAC;YAEF,IAAI,QAAQ,GAAkC,IAAI,GAAG,EAAE,CAAC;YACxD,KAAK,MAAM,IAAI,IAAI,aAAa,EAAE,CAAC;gBAClC,IAAI,CAAC,IAAI,EAAE,CAAC;oBACX,SAAS;gBACV,CAAC;gBAED,IAAI,CAAC;oBACJ,MAAM,OAAO;oBACZ;;6BAEM,CAAC,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC,8EAA8E;oBAEpH,IAAI,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;wBAC3D,IAAI,KAAK,GACR,CAAC,iBAAiB;4BACjB,SAAS,EAAE,SAAS,KAAK,OAAO;4BAChC,SAAS,EAAE,QAAQ,CAAC;4BACrB,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;wBAEhD,2BAA2B;wBAC3B,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;wBACzC,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;wBAEzC,qDAAqD;wBACrD,IAAI,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;4BACjC,SAAS;wBACV,CAAC;wBAED,8DAA8D;wBAC9D,IAAI,QAAQ,GAAG,SAAS,EAAE,MAAM;4BAC/B,CAAC,CAAC,IAAI;4BACN,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC;wBAC9C,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,QAAQ,EAAE,CAAC;4BACrC,2CAA2C;4BAC3C,IAAI,kBAAkB,GAAG,IAAI,CAAC,SAAS;gCACtC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ;oCAClC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ;gCACnC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ;oCAClC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC;4BACrC,IAAI,kBAAkB,EAAE,CAAC;gCACxB,SAAS;4BACV,CAAC;wBACF,CAAC;wBAED,mBAAmB;wBACnB,IAAI,KAAK,YAAY,OAAO,EAAE,CAAC;4BAC9B,2BAA2B;4BAC3B,KAAK,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;wBAC/C,CAAC;wBACD,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CACnD,KAAK,EACL,GAAG,EACH,IAAI,EACJ,QAAQ,CACR,CAAC;wBACF,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAC1B,iBAAiB,CAAC,iBAAiB,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,SAAS,CAAC,CAC/D,CAAC;wBAEF,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;oBAC7B,CAAC;yBAAM,IACN,CAAC,iBAAiB,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBAC1D,cAAc,CAAC,OAAO,CAAC;wBACvB,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EACxB,CAAC;wBACF,IAAI,KAA+B,CAAC;wBACpC,IAAI,GAAuB,CAAC;wBAE5B,IAAI,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC;4BAC7B,MAAM,mBAAmB,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAC3D,OAAO,CAAC,IAAI,CACZ,CAAC;4BACF,GAAG,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC,CAAC;4BAC9D,qDAAqD;4BACrD,IAAI,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;gCACjC,SAAS;4BACV,CAAC;4BAED,wEAAwE;4BACxE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE;gCAC3C,KAAK,EAAE,IAAI;gCACX,MAAM,EAAE,KAAK;6BACb,CAAC,CAAC;4BACH,IAAI,CAAC,QAAQ,EAAE,CAAC;gCACf,SAAS;4BACV,CAAC;4BACD,KAAK,GAAG,QAAQ,CAAC;wBAClB,CAAC;6BAAM,IAAI,iBAAiB,CAAC,OAAO,CAAC,EAAE,CAAC;4BACvC,GAAG,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC;4BACzC,qDAAqD;4BACrD,IAAI,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;gCACjC,SAAS;4BACV,CAAC;4BACD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE;gCAC3C,KAAK,EAAE,IAAI;gCACX,MAAM,EAAE,KAAK;6BACb,CAAC,CAAC;4BACH,IAAI,CAAC,QAAQ,EAAE,CAAC;gCACf,SAAS;4BACV,CAAC;4BACD,KAAK,GAAG,QAAQ,CAAC;wBAClB,CAAC;6BAAM,CAAC;4BACP,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC;wBAC/B,CAAC;wBAED,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;wBAErC,IACC,KAAK,YAAY,OAAO;4BACxB,KAAK,CAAC,MAAM,KAAK,IAAI;4BACrB,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAC3B,CAAC;4BACF,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBACxB,CAAC;wBAED,eAAe;wBACf,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;wBAC3B,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;oBAC7B,CAAC;yBAAM,CAAC;wBACP,oBAAoB;wBACpB,MAAM,IAAI,cAAc,CAAC,mBAAmB,CAAC,CAAC;oBAC/C,CAAC;gBACF,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBAChB,IAAI,KAAK,YAAY,WAAW,EAAE,CAAC;wBAClC,SAAS;oBACV,CAAC;oBACD,MAAM,KAAK,CAAC;gBACb,CAAC;YACF,CAAC;YAED,IAAI,CAAC,MAAM,CAAC,aAAa,CACxB,IAAI,WAAW,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC,CACvD,CAAC;QACH,CAAC;QAgBD,KAAK,CAAC,KAAK,CAAC,OAGX;YACA,oBAAoB;YACpB,IAAI,CAAC,OAAO,EAAE,WAAW,EAAE,CAAC;gBAC3B,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;YAC1D,CAAC;YAED,MAAM,qBAAqB,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC;gBAC1D,KAAK,EAAE,OAAO,EAAE,KAAK;aACrB,CAAC,CAAC;YAEH,MAAM,eAAe,GAAG,GAAkB,EAAE,CAAC,CAAC;gBAC7C,QAAQ,EAAE,qBAAqB;gBAC/B,WAAW,EAAE,SAAS;aACtB,CAAC,CAAC;YAEH,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;YACrD,IAAI,CAAC,aAAa,EAAE,CAAC;gBACpB,OAAO,eAAe,EAAE,CAAC;YAC1B,CAAC;YAED,MAAM,oBAAoB,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,6BAA6B,EAAE,CAAC;YAC5E,MAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAClE,MAAM,IAAI,GAAG,gBAAgB,GAAG,oBAAoB,CAAC;YACrD,MAAM,oBAAoB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;YAE/C,IACC,CAAC,MAAM,CAAC,QAAQ,CAAC,oBAAoB,CAAC;gBACtC,oBAAoB,IAAI,CAAC;gBACzB,oBAAoB,GAAG,CAAC,EACvB,CAAC;gBACF,OAAO,eAAe,EAAE,CAAC;YAC1B,CAAC;YAED,MAAM,WAAW,GAChB,oBAAoB,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,oBAAoB,CAAC,CAAC,0CAA0C;YACrG,IACC,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC;gBAC7B,WAAW,GAAG,MAAM,CAAC,gBAAgB,EACpC,CAAC;gBACF,OAAO,eAAe,EAAE,CAAC;YAC1B,CAAC;YAED,2EAA2E;YAC3E,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,kBAAkB,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;YAE3E,6DAA6D;YAC7D,MAAM,kBAAkB,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,kBAAkB,CAAC;gBAC5D,MAAM,EAAE,KAAK;aACb,CAAC,CAAC;YAEH,IAAI,kBAAkB,KAAK,CAAC,EAAE,CAAC;gBAC9B,OAAO,eAAe,EAAE,CAAC;YAC1B,CAAC;YAED,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,GAAG,WAAW,CAAC,CAAC;YAChE,MAAM,wBAAwB,GAAG,qBAAqB,GAAG,kBAAkB,CAAC,CAAC,SAAS;YACtF,MAAM,yBAAyB,GAAG,cAAc,GAAG,wBAAwB,CAAC;YAE5E,IACC,CAAC,MAAM,CAAC,QAAQ,CAAC,yBAAyB,CAAC;gBAC3C,yBAAyB,GAAG,MAAM,CAAC,gBAAgB,EAClD,CAAC;gBACF,OAAO,eAAe,EAAE,CAAC;YAC1B,CAAC;YAED,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;YACvD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,QAAQ,GAAG,MAAM,CAAC,gBAAgB,EAAE,CAAC;gBACtE,OAAO,eAAe,EAAE,CAAC;YAC1B,CAAC;YAED,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC;YACzC,MAAM,qBAAqB,GAC1B,UAAU,KAAK,MAAM,IAAI,cAAc,GAAG,CAAC,IAAI,qBAAqB,GAAG,CAAC,CAAC;YAE1E,IAAI,WAAW,GAAuB,SAAS,CAAC;YAChD,IAAI,qBAAqB,EAAE,CAAC;gBAC3B,0DAA0D;gBAC1D,MAAM,UAAU,GACf,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,oBAAoB,CAAC,GAAG,cAAc,CAAC,CAAC;gBAE/D,0EAA0E;gBAC1E,MAAM,IAAI,GAAG,wBAAwB,CAAC;gBACtC,MAAM,WAAW,GAChB,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC;oBACnB,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,kBAAkB,CAAC,CAAC;oBAC5D,CAAC,CAAC,CAAC,CAAC;gBAEN,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CACzB,UAAU,GAAG,UAAU,GAAG,WAAW,GAAG,WAAW,CACnD,CAAC;gBACF,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAC/B,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC;gBAClD,CAAC;YACF,CAAC;YAED,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC;QAClC,CAAC;;;;SArxBW,SAAS"}
1
+ {"version":3,"file":"program.js","sourceRoot":"","sources":["../../src/program.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@peerbit/document",
3
- "version": "12.1.2",
3
+ "version": "12.2.0-369b236",
4
4
  "description": "Document store implementation",
5
5
  "type": "module",
6
6
  "sideEffects": false,
@@ -57,32 +57,32 @@
57
57
  "@libp2p/interface": "^3.1.0",
58
58
  "@libp2p/tcp": "^11.0.2",
59
59
  "@multiformats/multiaddr": "^13.0.1",
60
+ "@peerbit/cache": "2.2.0-369b236",
61
+ "@peerbit/crypto": "2.4.1-369b236",
62
+ "@peerbit/logger": "2.0.0-369b236",
63
+ "@peerbit/log": "5.0.6-369b236",
64
+ "@peerbit/pubsub": "4.1.3-369b236",
65
+ "@peerbit/program": "5.6.0-369b236",
66
+ "@peerbit/rpc": "5.4.15-369b236",
67
+ "@peerbit/shared-log": "12.2.0-369b236",
68
+ "@peerbit/indexer-interface": "2.1.1-369b236",
69
+ "@peerbit/indexer-simple": "1.2.2-369b236",
70
+ "@peerbit/indexer-sqlite3": "2.1.0-369b236",
71
+ "@peerbit/document-interface": "3.2.0-369b236",
72
+ "@peerbit/indexer-cache": "0.2.2-369b236",
73
+ "@peerbit/stream-interface": "5.3.1-369b236",
60
74
  "p-defer": "^4.0.0",
61
- "uint8arrays": "^5.1.0",
62
- "@peerbit/cache": "2.2.0",
63
- "@peerbit/crypto": "2.4.1",
64
- "@peerbit/logger": "2.0.0",
65
- "@peerbit/log": "5.0.5",
66
- "@peerbit/pubsub": "4.1.3",
67
- "@peerbit/program": "5.5.2",
68
- "@peerbit/rpc": "5.4.14",
69
- "@peerbit/shared-log": "12.1.3",
70
- "@peerbit/indexer-interface": "2.1.1",
71
- "@peerbit/indexer-simple": "1.2.2",
72
- "@peerbit/indexer-sqlite3": "2.0.2",
73
- "@peerbit/indexer-cache": "0.2.2",
74
- "@peerbit/stream-interface": "5.3.1",
75
- "@peerbit/document-interface": "3.1.14"
75
+ "uint8arrays": "^5.1.0"
76
76
  },
77
77
  "devDependencies": {
78
+ "@peerbit/test-utils": "2.3.15-369b236",
79
+ "@peerbit/time": "2.3.0-369b236",
80
+ "peerbit": "4.4.15-369b236",
78
81
  "@types/pidusage": "^2.0.5",
79
82
  "pidusage": "^4.0.1",
80
83
  "uuid": "^10.0.0",
81
84
  "@libp2p/websockets": "^10.1.0",
82
- "@chainsafe/libp2p-noise": "^17.0.0",
83
- "@peerbit/test-utils": "2.3.14",
84
- "peerbit": "4.4.14",
85
- "@peerbit/time": "2.3.0"
85
+ "@chainsafe/libp2p-noise": "^17.0.0"
86
86
  },
87
87
  "scripts": {
88
88
  "clean": "aegir clean",
package/src/index.ts CHANGED
@@ -9,6 +9,7 @@ export type {
9
9
  WithIndexedContext,
10
10
  WithIndexed,
11
11
  OpenOptions,
12
+ GetOptions,
12
13
  QueryOptions,
13
14
  RemoteQueryOptions,
14
15
  ResultsIterator,
@@ -40,3 +41,10 @@ export {
40
41
  createDocumentDomainFromProperty,
41
42
  } from "./domain.js";
42
43
  export * from "./events.js";
44
+ export type {
45
+ DocumentsLike,
46
+ DocumentsLikeCountOptions,
47
+ DocumentsLikeIndex,
48
+ DocumentsLikeQuery,
49
+ DocumentsLikeWaitForOptions,
50
+ } from "./like.js";
package/src/like.ts ADDED
@@ -0,0 +1,132 @@
1
+ import type {
2
+ Context,
3
+ IterationRequest,
4
+ ResultIndexedValue,
5
+ ResultValue,
6
+ Results,
7
+ SearchRequest,
8
+ SearchRequestIndexed,
9
+ } from "@peerbit/document-interface";
10
+ import type * as indexerTypes from "@peerbit/indexer-interface";
11
+ import type { Program } from "@peerbit/program";
12
+ import type { SharedLogLike } from "@peerbit/shared-log";
13
+ import type { PeerRefs } from "@peerbit/stream-interface";
14
+ import type {
15
+ GetOptions,
16
+ QueryOptions,
17
+ ReachScope,
18
+ ResultsIterator,
19
+ SearchOptions,
20
+ ValueTypeFromRequest,
21
+ WithContext,
22
+ WithIndexedContext,
23
+ } from "./search.js";
24
+ import type { CountEstimate } from "./program.js";
25
+
26
+ export type DocumentsLikeQuery =
27
+ | SearchRequest
28
+ | SearchRequestIndexed
29
+ | IterationRequest
30
+ | {
31
+ query?: indexerTypes.QueryLike | indexerTypes.Query[];
32
+ sort?: indexerTypes.SortLike | indexerTypes.Sort | indexerTypes.Sort[];
33
+ };
34
+
35
+ export type DocumentsLikeWaitForOptions = {
36
+ seek?: "any" | "present";
37
+ signal?: AbortSignal;
38
+ timeout?: number;
39
+ };
40
+
41
+ export type DocumentsLikeExactCountOptions = {
42
+ query?: indexerTypes.Query | indexerTypes.QueryLike;
43
+ approximate?: false | undefined;
44
+ };
45
+
46
+ export type DocumentsLikeApproximateCountOptions = {
47
+ query?: indexerTypes.Query | indexerTypes.QueryLike;
48
+ approximate: true | { scope?: ReachScope };
49
+ };
50
+
51
+ export type DocumentsLikeCountOptions =
52
+ | DocumentsLikeExactCountOptions
53
+ | DocumentsLikeApproximateCountOptions;
54
+
55
+ export type DocumentsLikeIndex<T, I, D = any> = {
56
+ get: <Resolve extends boolean | undefined = true>(
57
+ id: indexerTypes.Ideable | indexerTypes.IdKey,
58
+ options?: GetOptions<T, I, D, Resolve>,
59
+ ) => Promise<ValueTypeFromRequest<Resolve, T, I> | undefined>;
60
+ getDetailed: <Resolve extends boolean | undefined = true>(
61
+ id: indexerTypes.IdKey | indexerTypes.IdPrimitive,
62
+ options?: QueryOptions<T, I, D, Resolve>,
63
+ ) => Promise<
64
+ | Results<
65
+ Resolve extends false
66
+ ? ResultIndexedValue<WithContext<I>>
67
+ : ResultValue<WithIndexedContext<T, I>>
68
+ >[]
69
+ | undefined
70
+ >;
71
+ resolveId: (value: any) => indexerTypes.IdKey;
72
+ iterate: <Resolve extends boolean | undefined = true>(
73
+ query?: DocumentsLikeQuery,
74
+ options?: QueryOptions<T, I, D, Resolve>,
75
+ ) => ResultsIterator<ValueTypeFromRequest<Resolve, T, I>>;
76
+ search: <Resolve extends boolean | undefined = true>(
77
+ query: DocumentsLikeQuery,
78
+ options?: SearchOptions<T, I, D, Resolve>,
79
+ ) => Promise<ValueTypeFromRequest<Resolve, T, I>[]>;
80
+ getSize: () => Promise<number> | number;
81
+ waitFor: (
82
+ peers: PeerRefs,
83
+ options?: DocumentsLikeWaitForOptions,
84
+ ) => Promise<string[]>;
85
+ wrappedIndexedType?: new (value: I, context: Context) => WithContext<I>;
86
+ index?: {
87
+ count?: (options?: indexerTypes.CountOptions) => Promise<number> | number;
88
+ getSize?: () => Promise<number> | number;
89
+ get?: (
90
+ id: indexerTypes.IdKey,
91
+ options?: { shape: indexerTypes.Shape },
92
+ ) =>
93
+ | Promise<indexerTypes.IndexedResult<WithContext<I>> | undefined>
94
+ | indexerTypes.IndexedResult<WithContext<I>>
95
+ | undefined;
96
+ iterate?: (
97
+ request?: indexerTypes.IterateOptions,
98
+ options?: { shape?: indexerTypes.Shape; reference?: boolean },
99
+ ) => indexerTypes.IndexIterator<
100
+ WithContext<I>,
101
+ indexerTypes.Shape | undefined
102
+ >;
103
+ put?: (value: WithContext<I>) => Promise<void> | void;
104
+ };
105
+ };
106
+
107
+ export type DocumentsLike<T, I, D = any> = {
108
+ closed?: boolean;
109
+ events: EventTarget;
110
+ changes: EventTarget;
111
+ index: DocumentsLikeIndex<T, I, D>;
112
+ log: SharedLogLike<any>;
113
+ put(doc: T, options?: unknown): Promise<unknown>;
114
+ get: (
115
+ id: indexerTypes.Ideable | indexerTypes.IdKey,
116
+ options?: Omit<GetOptions<T, I, D, true | undefined>, "resolve">,
117
+ ) => Promise<T | undefined>;
118
+ del(
119
+ id: indexerTypes.Ideable | indexerTypes.IdKey,
120
+ options?: unknown,
121
+ ): Promise<unknown>;
122
+ count: {
123
+ (options?: DocumentsLikeExactCountOptions): Promise<number>;
124
+ (options: DocumentsLikeApproximateCountOptions): Promise<CountEstimate>;
125
+ };
126
+ waitFor: (
127
+ peers: PeerRefs,
128
+ options?: DocumentsLikeWaitForOptions,
129
+ ) => Promise<string[]>;
130
+ recover: () => Promise<void>;
131
+ close: (from?: Program<any, any>) => Promise<boolean | void>;
132
+ };
package/src/program.ts CHANGED
@@ -42,6 +42,7 @@ import {
42
42
  type CanRead,
43
43
  type CanSearch,
44
44
  DocumentIndex,
45
+ type GetOptions,
45
46
  type PrefetchOptions,
46
47
  type ReachScope,
47
48
  type TransformOptions,
@@ -175,6 +176,10 @@ export class Documents<
175
176
  return this._index;
176
177
  }
177
178
 
179
+ get changes() {
180
+ return this.events;
181
+ }
182
+
178
183
  private async maybeSubprogramOpen(value: T & Program): Promise<T & Program> {
179
184
  if (await this.canOpen!(value)) {
180
185
  return (await this.node.open(value, {
@@ -333,7 +338,7 @@ export class Documents<
333
338
  : history;
334
339
  }
335
340
 
336
- async canAppend(
341
+ protected async canAppend(
337
342
  entry: Entry<Operation>,
338
343
  reference?: { document: T; operation: PutOperation },
339
344
  ): Promise<boolean> {
@@ -391,7 +396,7 @@ export class Documents<
391
396
  return true;
392
397
  }
393
398
 
394
- async _canAppend(
399
+ protected async _canAppend(
395
400
  entry: Entry<Operation>,
396
401
  reference?: { document: T; operation: PutOperation },
397
402
  ): Promise<PutOperation | DeleteOperation | false> {
@@ -604,11 +609,22 @@ export class Documents<
604
609
  return appended;
605
610
  }
606
611
 
612
+ public async get(
613
+ id: indexerTypes.Ideable | indexerTypes.IdKey,
614
+ options?: Omit<GetOptions<T, I, D, true | undefined>, "resolve">,
615
+ ): Promise<T | undefined> {
616
+ const resolved = await this.index.get(id, {
617
+ ...(options ?? {}),
618
+ resolve: true,
619
+ } as GetOptions<T, I, D, true>);
620
+ return resolved ? (resolved as T) : undefined;
621
+ }
622
+
607
623
  async del(
608
- id: indexerTypes.Ideable,
624
+ id: indexerTypes.Ideable | indexerTypes.IdKey,
609
625
  options?: SharedAppendOptions<Operation>,
610
626
  ) {
611
- const key = indexerTypes.toId(id);
627
+ const key = id instanceof indexerTypes.IdKey ? id : indexerTypes.toId(id);
612
628
  const existing = (
613
629
  await this._index.getDetailed(key, {
614
630
  resolve: false,