@effect-vfs/core 0.9.0 → 0.11.0

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.
Files changed (106) hide show
  1. package/dist/BytePath.d.ts +4 -1
  2. package/dist/BytePath.d.ts.map +1 -1
  3. package/dist/BytePath.js +6 -4
  4. package/dist/Caller.d.ts +105 -66
  5. package/dist/Caller.d.ts.map +1 -1
  6. package/dist/Caller.js +15 -87
  7. package/dist/LiveVolume.d.ts +14 -8
  8. package/dist/LiveVolume.d.ts.map +1 -1
  9. package/dist/LiveVolume.js +10 -3
  10. package/dist/Search.d.ts +32 -8
  11. package/dist/Search.d.ts.map +1 -1
  12. package/dist/Search.js +14 -13
  13. package/dist/SynchronousAdapter.d.ts +58 -0
  14. package/dist/SynchronousAdapter.d.ts.map +1 -0
  15. package/dist/SynchronousAdapter.js +116 -0
  16. package/dist/Target.d.ts +7 -91
  17. package/dist/Target.d.ts.map +1 -1
  18. package/dist/Target.js +7 -47
  19. package/dist/Testing.d.ts +9 -5
  20. package/dist/Testing.d.ts.map +1 -1
  21. package/dist/Testing.js +3 -2
  22. package/dist/VfsError.d.ts +1 -1
  23. package/dist/VfsError.d.ts.map +1 -1
  24. package/dist/VirtualFileSystem.d.ts +143 -59
  25. package/dist/VirtualFileSystem.d.ts.map +1 -1
  26. package/dist/VirtualFileSystem.js +37 -33
  27. package/dist/Volume.d.ts +6 -1
  28. package/dist/Volume.d.ts.map +1 -1
  29. package/dist/Volume.js +6 -2
  30. package/dist/internal/adapterBinding.d.ts +13 -0
  31. package/dist/internal/adapterBinding.d.ts.map +1 -0
  32. package/dist/internal/adapterBinding.js +13 -0
  33. package/dist/internal/bytePath.d.ts +6 -1
  34. package/dist/internal/bytePath.d.ts.map +1 -1
  35. package/dist/internal/callerWatch.d.ts +5 -1
  36. package/dist/internal/callerWatch.d.ts.map +1 -1
  37. package/dist/internal/callerWatch.js +4 -3
  38. package/dist/internal/engine.d.ts +1305 -0
  39. package/dist/internal/engine.d.ts.map +1 -0
  40. package/dist/internal/engine.js +3458 -0
  41. package/dist/internal/errors.d.ts +1 -33
  42. package/dist/internal/errors.d.ts.map +1 -1
  43. package/dist/internal/errors.js +1 -45
  44. package/dist/internal/fixture.d.ts +3 -2
  45. package/dist/internal/fixture.d.ts.map +1 -1
  46. package/dist/internal/fixture.js +7 -3
  47. package/dist/internal/image.d.ts +4 -1
  48. package/dist/internal/image.d.ts.map +1 -1
  49. package/dist/internal/image.js +6 -3
  50. package/dist/internal/lines.d.ts.map +1 -1
  51. package/dist/internal/lines.js +3 -2
  52. package/dist/internal/liveImage.d.ts +4 -2
  53. package/dist/internal/liveImage.d.ts.map +1 -1
  54. package/dist/internal/liveImage.js +3 -1
  55. package/dist/internal/merkle.d.ts +8 -5
  56. package/dist/internal/merkle.d.ts.map +1 -1
  57. package/dist/internal/merkle.js +8 -7
  58. package/dist/internal/search.d.ts +3 -1
  59. package/dist/internal/search.d.ts.map +1 -1
  60. package/dist/internal/search.js +4 -3
  61. package/dist/internal/snapshotDelta.d.ts +14 -10
  62. package/dist/internal/snapshotDelta.d.ts.map +1 -1
  63. package/dist/internal/snapshotDelta.js +15 -9
  64. package/dist/internal/snapshotMerge.d.ts +1 -1
  65. package/dist/internal/snapshotMerge.d.ts.map +1 -1
  66. package/dist/internal/snapshotMerge.js +5 -2
  67. package/dist/internal/tree.d.ts +4 -2
  68. package/dist/internal/tree.d.ts.map +1 -1
  69. package/dist/internal/tree.js +4 -2
  70. package/dist/internal/virtualFileSystem.d.ts +27 -56
  71. package/dist/internal/virtualFileSystem.d.ts.map +1 -1
  72. package/dist/internal/virtualFileSystem.js +77 -2085
  73. package/dist/internal/volumeLimits.d.ts +1 -0
  74. package/dist/internal/volumeLimits.d.ts.map +1 -1
  75. package/dist/internal/volumeLimits.js +3 -2
  76. package/dist/internal/volumeState.d.ts +10 -79
  77. package/dist/internal/volumeState.d.ts.map +1 -1
  78. package/dist/internal/volumeState.js +9 -79
  79. package/dist/internal/watchHub.d.ts +3 -3
  80. package/dist/internal/watchHub.d.ts.map +1 -1
  81. package/dist/internal/watchHub.js +4 -2
  82. package/package.json +14 -9
  83. package/dist/internal/confinement.d.ts +0 -16
  84. package/dist/internal/confinement.d.ts.map +0 -1
  85. package/dist/internal/confinement.js +0 -79
  86. package/dist/internal/directoryEntries.d.ts +0 -6
  87. package/dist/internal/directoryEntries.d.ts.map +0 -1
  88. package/dist/internal/directoryEntries.js +0 -79
  89. package/dist/internal/inodeTable.d.ts +0 -20
  90. package/dist/internal/inodeTable.d.ts.map +0 -1
  91. package/dist/internal/inodeTable.js +0 -48
  92. package/dist/internal/path.d.ts +0 -56
  93. package/dist/internal/path.d.ts.map +0 -1
  94. package/dist/internal/path.js +0 -141
  95. package/dist/internal/resolution.d.ts +0 -139
  96. package/dist/internal/resolution.d.ts.map +0 -1
  97. package/dist/internal/resolution.js +0 -332
  98. package/dist/internal/testSeams.d.ts +0 -17
  99. package/dist/internal/testSeams.d.ts.map +0 -1
  100. package/dist/internal/testSeams.js +0 -20
  101. package/dist/internal/tokenRegistry.d.ts +0 -83
  102. package/dist/internal/tokenRegistry.d.ts.map +0 -1
  103. package/dist/internal/tokenRegistry.js +0 -146
  104. package/dist/internal/turnstile.d.ts +0 -8
  105. package/dist/internal/turnstile.d.ts.map +0 -1
  106. package/dist/internal/turnstile.js +0 -43
@@ -7,13 +7,16 @@ import { MergeSideChange } from "../SnapshotDelta.js";
7
7
  import { getBytes, make as makeBytePath } from "./bytePath.js";
8
8
  import { bytesOrder, sameBytes } from "./bytes.js";
9
9
  import { CanonicalBase64 } from "./canonicalBase64.js";
10
- import { argumentFailure, imageFailure } from "./errors.js";
10
+ import { Errors, State } from "./engine.js";
11
+ import { imageFailure } from "./errors.js";
11
12
  import * as Image from "./image.js";
12
13
  import * as Merkle from "./merkle.js";
13
14
  import * as Delta from "./snapshotDelta.js";
14
15
  import * as SnapshotDeltaModel from "./snapshotDeltaModel.js";
15
16
  import { UNCHECKED } from "./tree.js";
16
- import { getNode, payloadOf, storedMetadata } from "./volumeState.js";
17
+ import { storedMetadata } from "./volumeState.js";
18
+ const argumentFailure = Errors.argumentFailure;
19
+ const { getNode, payloadOf } = State;
17
20
  const OPERATION = "mergeSnapshotDeltas";
18
21
  const SIDES = ["ours", "theirs"];
19
22
  const other = (side) => (side === "ours" ? "theirs" : "ours");
@@ -5,7 +5,9 @@ import * as Stream from "effect/Stream";
5
5
  import type { ImageFailure } from "../VfsError.js";
6
6
  import type { Budget } from "./budget.js";
7
7
  import { type FrameMeter, type LineFold } from "./lines.js";
8
- import { type Node, type NodeSpec, type VolumeState } from "./volumeState.js";
8
+ import { State } from "./engine.js";
9
+ import { type NodeSpec } from "./volumeState.js";
10
+ type Node = State.Node;
9
11
  /** @internal */
10
12
  export declare const TreeNode: Schema.TaggedUnion<{
11
13
  readonly directory: Schema.TaggedStruct<"directory", {
@@ -205,7 +207,7 @@ export declare const UNCHECKED: {
205
207
  /** @internal */
206
208
  export declare const treeNode: (node: Node) => TreeNode;
207
209
  /** @internal */
208
- export declare const treeNodes: (value: VolumeState, extra?: readonly Node[] | undefined) => Effect.Effect<Node[], never, never>;
210
+ export declare const treeNodes: (value: State.VolumeState, extra?: readonly State.Node[] | undefined) => Effect.Effect<State.Node[], never, never>;
209
211
  /** @internal */
210
212
  export interface Writer<N extends TreeNode> {
211
213
  readonly operation: string;
@@ -1 +1 @@
1
- {"version":3,"file":"tree.d.ts","sourceRoot":"","sources":["../../src/internal/tree.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tree.d.ts","sourceRoot":"","sources":["../../src/internal/tree.ts"],"names":[],"mappings":"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"}
@@ -13,8 +13,10 @@ import { ENCODING_CHECK, imageFailure, isEncodingIssue, issueSite } from "./erro
13
13
  import { KeySecret, VolumeEpoch } from "./hex128.js";
14
14
  import { byteLimit, encodeLine, frame } from "./lines.js";
15
15
  import { StoredMetadata } from "./metadata.js";
16
- import { isNameBytes, MAX_NAME_BYTES, nameBytes, NUL_BYTE } from "./path.js";
17
- import { byIno, Ino, MAX_INO, reachableNodes, ROOT_INO, storedMetadata, WALK_YIELD_INTERVAL } from "./volumeState.js";
16
+ import { Paths, State } from "./engine.js";
17
+ import { reachableNodes, storedMetadata } from "./volumeState.js";
18
+ const { isNameBytes, MAX_NAME_BYTES, nameBytes, NUL_BYTE } = Paths;
19
+ const { byIno, Ino, MAX_INO, ROOT_INO, WALK_YIELD_INTERVAL } = State;
18
20
  const TreeIno = Schema.Int.check(Schema.isBetween({ minimum: ROOT_INO, maximum: MAX_INO }));
19
21
  const NaturalBigInt = Schema.String.check(Schema.isPattern(/^(0|[1-9][0-9]{0,127})$/, { [ENCODING_CHECK]: true })).pipe(Schema.decodeTo(Schema.BigInt, SchemaTransformation.bigintFromString));
20
22
  const TreeLink = Schema.Struct({ parent: TreeIno, name: CanonicalBase64.Encoded });
@@ -1,25 +1,25 @@
1
+ /**
2
+ * Community volume assembly over the shared private filesystem engine.
3
+ * IDs, authenticated keys, snapshots, overlays, storage encoders and watch delivery stay here.
4
+ * @internal
5
+ */
1
6
  import * as ByteSize from "effect/ByteSize";
2
- import * as Crypto from "effect/Crypto";
7
+ import * as SecureRandom from "effect/crypto/SecureRandom";
3
8
  import * as Data from "effect/Data";
4
9
  import * as Effect from "effect/Effect";
5
10
  import type { CommitOutcome } from "../LiveVolume.js";
6
11
  import type { Snapshot } from "../Snapshot.js";
7
- import { type FsFailure } from "../VfsError.js";
8
- import type { OverlayVolume, Volume } from "../VirtualFileSystem.js";
9
- import { VfsError } from "./errors.js";
12
+ import { VfsError } from "../VfsError.js";
13
+ import type { FsFailure, OverlayVolume, Volume } from "../VirtualFileSystem.js";
14
+ import * as Engine from "./engine.js";
10
15
  import * as LiveImage from "./liveImage.js";
11
16
  import { type ObservationEntry } from "./overlayDiff.js";
12
- import { type VolumeState } from "./volumeState.js";
17
+ import { State } from "./engine.js";
18
+ type VolumeState = State.VolumeState;
13
19
  /** @internal */
14
- export interface CommitProvider<State> {
15
- readonly mode: "memory" | "durable";
16
- readonly commit: (candidate: State) => Effect.Effect<CommitOutcome, FsFailure & {
17
- readonly code: "StorageRejected";
18
- }>;
19
- readonly shutdown: Effect.Effect<void>;
20
- }
20
+ export type CommitProvider<State> = Engine.CommitProvider<State>;
21
21
  /** @internal */
22
- export declare const memoryCommitProvider: CommitProvider<VolumeState>;
22
+ export declare const memoryCommitProvider: Engine.CommitProvider<State.VolumeState>;
23
23
  type VolumeSource = {
24
24
  readonly _tag: "Empty";
25
25
  } | {
@@ -30,44 +30,10 @@ type VolumeSource = {
30
30
  readonly value: VolumeState;
31
31
  };
32
32
  /** @internal */
33
- export declare const VolumeSource: {
34
- readonly $is: <Tag extends "Empty" | "Live" | "Restored">(tag: Tag) => (u: unknown) => u is Extract<{
35
- readonly _tag: "Empty";
36
- }, {
37
- readonly _tag: Tag;
38
- }> | Extract<{
39
- readonly _tag: "Live";
40
- readonly restored: LiveImage.Restored;
41
- }, {
42
- readonly _tag: Tag;
43
- }> | Extract<{
44
- readonly _tag: "Restored";
45
- readonly value: VolumeState;
46
- }, {
47
- readonly _tag: Tag;
48
- }>;
49
- readonly $match: {
50
- <Cases extends { readonly [Tag in "Empty" | "Live" | "Restored"]: (args: Extract<VolumeSource, {
51
- readonly _tag: Tag;
52
- }>) => any; }>(cases: Cases): (value: VolumeSource) => import("effect/Unify").Unify<ReturnType<Cases["Empty" | "Live" | "Restored"]>>;
53
- <Cases extends { readonly [Tag in "Empty" | "Live" | "Restored"]: (args: Extract<VolumeSource, {
54
- readonly _tag: Tag;
55
- }>) => any; }>(value: VolumeSource, cases: Cases): import("effect/Unify").Unify<ReturnType<Cases["Empty" | "Live" | "Restored"]>>;
56
- };
57
- readonly Empty: Data.TaggedEnum.ConstructorFrom<{
58
- readonly _tag: "Empty";
59
- }, "_tag">;
60
- readonly Live: Data.TaggedEnum.ConstructorFrom<{
61
- readonly _tag: "Live";
62
- readonly restored: LiveImage.Restored;
63
- }, "_tag">;
64
- readonly Restored: Data.TaggedEnum.ConstructorFrom<{
65
- readonly _tag: "Restored";
66
- readonly value: VolumeState;
67
- }, "_tag">;
68
- };
33
+ export declare const VolumeSource: Data.TaggedEnum.Constructor<VolumeSource>;
69
34
  /** @internal */
70
- export declare const makeVolume: (source: VolumeSource, commitProvider: CommitProvider<VolumeState>, options?: {
35
+ export declare const makeVolume: (source: VolumeSource, commitProvider: CommitProvider<State.VolumeState>, options?: {
36
+ readonly execution?: "cooperative" | "sync";
71
37
  readonly identity?: string & import("effect/Brand").Brand<"@effect-vfs/core/VolumeIdentity">;
72
38
  readonly maxEntries?: number;
73
39
  readonly maxPendingOperations?: number;
@@ -85,9 +51,10 @@ export declare const makeVolume: (source: VolumeSource, commitProvider: CommitPr
85
51
  observation: ObservationEntry[];
86
52
  }, FsFailure, never>;
87
53
  }>;
88
- }>, import("../VfsError.js").ArgumentFailure | import("../VfsError.js").ImageFailure, Crypto.Crypto>;
54
+ }>, import("../VfsError.js").ArgumentFailure | import("../VfsError.js").ImageFailure, SecureRandom.SecureRandom>;
89
55
  /** @internal */
90
56
  export declare const make: (options?: {
57
+ readonly execution?: "cooperative" | "sync";
91
58
  readonly identity?: string & import("effect/Brand").Brand<"@effect-vfs/core/VolumeIdentity">;
92
59
  readonly maxEntries?: number;
93
60
  readonly maxPendingOperations?: number;
@@ -95,9 +62,10 @@ export declare const make: (options?: {
95
62
  readonly maxBytes?: ByteSize.ByteSize;
96
63
  readonly maxFileBytes?: ByteSize.ByteSize;
97
64
  readonly maxPathBytes?: ByteSize.ByteSize;
98
- } | undefined) => Effect.Effect<Volume, import("../VfsError.js").ArgumentFailure, Crypto.Crypto>;
65
+ } | undefined) => Effect.Effect<Volume, import("../VfsError.js").ArgumentFailure, SecureRandom.SecureRandom>;
99
66
  /** @internal */
100
67
  export declare const prepareEmptyLiveImage: (options?: {
68
+ readonly execution?: "cooperative" | "sync";
101
69
  readonly identity?: string & import("effect/Brand").Brand<"@effect-vfs/core/VolumeIdentity">;
102
70
  readonly maxEntries?: number;
103
71
  readonly maxPendingOperations?: number;
@@ -107,9 +75,10 @@ export declare const prepareEmptyLiveImage: (options?: {
107
75
  readonly maxPathBytes?: ByteSize.ByteSize;
108
76
  } | undefined) => Effect.Effect<Uint8Array<ArrayBufferLike>, import("../VfsError.js").ArgumentFailure | (VfsError & {
109
77
  readonly code: import("../VfsError.js").ImageCode;
110
- }), Crypto.Crypto>;
78
+ }), SecureRandom.SecureRandom>;
111
79
  /** @internal */
112
80
  export declare const openImageVolume: (image: Uint8Array<ArrayBufferLike>, maxImageBytes: ByteSize.ByteSize, commit: (image: Uint8Array) => Effect.Effect<CommitOutcome>, durability?: "memory-only" | "survives-operating-system-crash" | "survives-power-loss" | "survives-process-crash" | undefined, options?: {
81
+ readonly execution?: "cooperative" | "sync";
113
82
  readonly identity?: string & import("effect/Brand").Brand<"@effect-vfs/core/VolumeIdentity">;
114
83
  readonly maxEntries?: number;
115
84
  readonly maxPendingOperations?: number;
@@ -120,9 +89,10 @@ export declare const openImageVolume: (image: Uint8Array<ArrayBufferLike>, maxIm
120
89
  } | undefined) => Effect.Effect<Readonly<{
121
90
  volume: Volume;
122
91
  shutdown: Effect.Effect<void, never, never>;
123
- }>, import("../VfsError.js").ArgumentFailure | import("../VfsError.js").ImageFailure, Crypto.Crypto>;
92
+ }>, import("../VfsError.js").ArgumentFailure | import("../VfsError.js").ImageFailure, SecureRandom.SecureRandom>;
124
93
  /** @internal */
125
94
  export declare const fromSnapshot: (snapshot: Snapshot, options?: {
95
+ readonly execution?: "cooperative" | "sync";
126
96
  readonly identity?: string & import("effect/Brand").Brand<"@effect-vfs/core/VolumeIdentity">;
127
97
  readonly maxEntries?: number;
128
98
  readonly maxPendingOperations?: number;
@@ -130,9 +100,10 @@ export declare const fromSnapshot: (snapshot: Snapshot, options?: {
130
100
  readonly maxBytes?: ByteSize.ByteSize;
131
101
  readonly maxFileBytes?: ByteSize.ByteSize;
132
102
  readonly maxPathBytes?: ByteSize.ByteSize;
133
- } | undefined) => Effect.Effect<Volume, import("../VfsError.js").ArgumentFailure | import("../VfsError.js").ImageFailure, Crypto.Crypto>;
103
+ } | undefined) => Effect.Effect<Volume, import("../VfsError.js").ArgumentFailure | import("../VfsError.js").ImageFailure, SecureRandom.SecureRandom>;
134
104
  /** @internal */
135
105
  export declare const makeOverlay: (base: Snapshot, options?: {
106
+ readonly execution?: "cooperative" | "sync";
136
107
  readonly identity?: string & import("effect/Brand").Brand<"@effect-vfs/core/VolumeIdentity">;
137
108
  readonly maxEntries?: number;
138
109
  readonly maxPendingOperations?: number;
@@ -140,6 +111,6 @@ export declare const makeOverlay: (base: Snapshot, options?: {
140
111
  readonly maxBytes?: ByteSize.ByteSize;
141
112
  readonly maxFileBytes?: ByteSize.ByteSize;
142
113
  readonly maxPathBytes?: ByteSize.ByteSize;
143
- } | undefined) => Effect.Effect<OverlayVolume, import("../VfsError.js").ArgumentFailure | import("../VfsError.js").ImageFailure, Crypto.Crypto>;
114
+ } | undefined) => Effect.Effect<OverlayVolume, import("../VfsError.js").ArgumentFailure | import("../VfsError.js").ImageFailure, SecureRandom.SecureRandom>;
144
115
  export {};
145
116
  //# sourceMappingURL=virtualFileSystem.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"virtualFileSystem.d.ts","sourceRoot":"","sources":["../../src/internal/virtualFileSystem.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,QAAQ,MAAM,iBAAiB,CAAA;AAI3C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,IAAI,MAAM,aAAa,CAAA;AACnC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AA2BvC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAErD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAE9C,OAAO,EAAE,KAAK,SAAS,EAAqB,MAAM,gBAAgB,CAAA;AAClE,OAAO,KAAK,EAQV,aAAa,EAEb,MAAM,EAIP,MAAM,yBAAyB,CAAA;AAiBhC,OAAO,EAQL,QAAQ,EACT,MAAM,aAAa,CAAA;AAKpB,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAE3C,OAAO,EAAkB,KAAK,gBAAgB,EAAyB,MAAM,kBAAkB,CAAA;AAmB/F,OAAO,EAeL,KAAK,WAAW,EAEjB,MAAM,kBAAkB,CAAA;AAWzB,gBAAgB;AAChB,MAAM,WAAW,cAAc,CAAC,KAAK;IACnC,QAAQ,CAAC,IAAI,EAAE,QAAQ,GAAG,SAAS,CAAA;IACnC,QAAQ,CAAC,MAAM,EAAE,CAAC,SAAS,EAAE,KAAK,KAAK,MAAM,CAAC,MAAM,CAAC,aAAa,EAAE,SAAS,GAAG;QAAE,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAA;KAAE,CAAC,CAAA;IACrH,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;CACvC;AAED,gBAAgB;AAChB,eAAO,MAAM,oBAAoB,EAAE,cAAc,CAAC,WAAW,CAI3D,CAAA;AAsVF,KAAK,YAAY,GACb;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;CAAE,GAC1B;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC,QAAQ,CAAA;CAAE,GAChE;IAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAA;CAAE,CAAA;AAE9D,gBAAgB;AAChB,eAAO,MAAM,YAAY;;uBALJ,OAAO;;;;uBACP,MAAM;2BAAqB,SAAS,CAAC,QAAQ;;;;uBAC7C,UAAU;wBAAkB,WAAW;;;;;;;;;;;;;uBAFvC,OAAO;;;uBACP,MAAM;2BAAqB,SAAS,CAAC,QAAQ;;;uBAC7C,UAAU;wBAAkB,WAAW;;CAGD,CAAA;AA2C3D,gBAAgB;AAChB,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;oGAy3FtB,CAAA;AAED,gBAAgB;AAChB,eAAO,MAAM,IAAI;;;;;;;;gGAIf,CAAA;AAEF,gBAAgB;AAChB,eAAO,MAAM,qBAAqB;;;;;;;;;;kBAahC,CAAA;AAEF,gBAAgB;AAChB,eAAO,MAAM,eAAe,yFAGV,UAAU,KAAK,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC;;;;;;;;;;;oGAyB3D,CAAA;AAeF,gBAAgB;AAChB,eAAO,MAAM,YAAY;;;;;;;;wIASxB,CAAA;AAED,gBAAgB;AAChB,eAAO,MAAM,WAAW;;;;;;;;+IAkCvB,CAAA"}
1
+ {"version":3,"file":"virtualFileSystem.d.ts","sourceRoot":"","sources":["../../src/internal/virtualFileSystem.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,QAAQ,MAAM,iBAAiB,CAAA;AAE3C,OAAO,KAAK,YAAY,MAAM,4BAA4B,CAAA;AAC1D,OAAO,KAAK,IAAI,MAAM,aAAa,CAAA;AACnC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAQvC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AACrD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAC9C,OAAO,EAAqB,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAC5D,OAAO,KAAK,EAAU,SAAS,EAAmB,aAAa,EAAE,MAAM,EAAiB,MAAM,yBAAyB,CAAA;AAevH,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AAKrC,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAE3C,OAAO,EAAkB,KAAK,gBAAgB,EAAyB,MAAM,kBAAkB,CAAA;AAE/F,OAAO,EAAiB,KAAK,EAAmB,MAAM,aAAa,CAAA;AAanE,KAAK,WAAW,GAAG,KAAK,CAAC,WAAW,CAAA;AAEpC,gBAAgB;AAChB,MAAM,MAAM,cAAc,CAAC,KAAK,IAAI,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAA;AAEhE,gBAAgB;AAChB,eAAO,MAAM,oBAAoB,0CAA8B,CAAA;AAI/D,KAAK,YAAY,GACb;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;CAAE,GAC1B;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC,QAAQ,CAAA;CAAE,GAChE;IAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAA;CAAE,CAAA;AAE9D,gBAAgB;AAChB,eAAO,MAAM,YAAY,2CAAkC,CAAA;AAyC3D,gBAAgB;AAChB,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;gHAwQrB,CAAA;AAEF,gBAAgB;AAChB,eAAO,MAAM,IAAI;;;;;;;;;4GAIf,CAAA;AAEF,gBAAgB;AAChB,eAAO,MAAM,qBAAqB;;;;;;;;;;;8BAahC,CAAA;AAEF,gBAAgB;AAChB,eAAO,MAAM,eAAe,yFAGV,UAAU,KAAK,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC;;;;;;;;;;;;gHA4B3D,CAAA;AAeF,gBAAgB;AAChB,eAAO,MAAM,YAAY;;;;;;;;;oJASxB,CAAA;AAED,gBAAgB;AAChB,eAAO,MAAM,WAAW;;;;;;;;;2JAoCvB,CAAA"}