@bgord/bun 1.4.17 → 1.4.19

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.
@@ -22,6 +22,7 @@ export declare class RemoteFileStorageDiskAdapter implements RemoteFileStoragePo
22
22
  head(key: tools.ObjectKeyType): Promise<RemoteHeadResult>;
23
23
  getStream(key: tools.ObjectKeyType): Promise<ReadableStream | null>;
24
24
  delete(key: tools.ObjectKeyType): Promise<void>;
25
+ get root(): string & import("zod").$brand<"DirectoryPathAbsoluteSchema">;
25
26
  }
26
27
  export {};
27
28
  //# sourceMappingURL=remote-file-storage-disk.adapter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"remote-file-storage-disk.adapter.d.ts","sourceRoot":"","sources":["../src/remote-file-storage-disk.adapter.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,KAAK,EACV,qBAAqB,EACrB,gBAAgB,EAChB,sBAAsB,EACtB,uBAAuB,EACxB,MAAM,4BAA4B,CAAC;AAEpC,KAAK,2BAA2B,GAAG;IAAE,IAAI,EAAE,KAAK,CAAC,yBAAyB,CAAC;IAAC,aAAa,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAErG,KAAK,YAAY,GAAG;IAAE,QAAQ,EAAE,YAAY,CAAC;IAAC,WAAW,EAAE,eAAe,CAAC;IAAC,WAAW,EAAE,eAAe,CAAA;CAAE,CAAC;AAE3G,qBAAa,4BAA6B,YAAW,qBAAqB;IAEtE,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,IAAI;gBADJ,MAAM,EAAE,2BAA2B,EACnC,IAAI,EAAE,YAAY;IAGrC,OAAO,CAAC,4BAA4B;IASpC,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC,aAAa,GAAG,MAAM;IAKrC,WAAW,CAAC,KAAK,EAAE,sBAAsB,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAa5E,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,aAAa,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAUzD,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC,aAAa,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAUnE,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;CAGtD"}
1
+ {"version":3,"file":"remote-file-storage-disk.adapter.d.ts","sourceRoot":"","sources":["../src/remote-file-storage-disk.adapter.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,KAAK,EACV,qBAAqB,EACrB,gBAAgB,EAChB,sBAAsB,EACtB,uBAAuB,EACxB,MAAM,4BAA4B,CAAC;AAEpC,KAAK,2BAA2B,GAAG;IAAE,IAAI,EAAE,KAAK,CAAC,yBAAyB,CAAC;IAAC,aAAa,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAErG,KAAK,YAAY,GAAG;IAAE,QAAQ,EAAE,YAAY,CAAC;IAAC,WAAW,EAAE,eAAe,CAAC;IAAC,WAAW,EAAE,eAAe,CAAA;CAAE,CAAC;AAE3G,qBAAa,4BAA6B,YAAW,qBAAqB;IAEtE,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,IAAI;gBADJ,MAAM,EAAE,2BAA2B,EACnC,IAAI,EAAE,YAAY;IAGrC,OAAO,CAAC,4BAA4B;IASpC,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC,aAAa,GAAG,MAAM;IAKrC,WAAW,CAAC,KAAK,EAAE,sBAAsB,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAa5E,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,aAAa,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAUzD,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC,aAAa,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAUnE,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAIrD,IAAI,IAAI,iEAEP;CACF"}
@@ -48,5 +48,8 @@ export class RemoteFileStorageDiskAdapter {
48
48
  async delete(key) {
49
49
  await this.deps.FileCleaner.delete(this.resolveKeyToAbsoluteFilePath(key));
50
50
  }
51
+ get root() {
52
+ return this.config.root;
53
+ }
51
54
  }
52
55
  //# sourceMappingURL=remote-file-storage-disk.adapter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"remote-file-storage-disk.adapter.js","sourceRoot":"","sources":["../src/remote-file-storage-disk.adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"remote-file-storage-disk.adapter.js","sourceRoot":"","sources":["../src/remote-file-storage-disk.adapter.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@ import type { ClockPort } from "./clock.port";
3
3
  import type { LoggerPort } from "./logger.port";
4
4
  import type { RemoteFileStoragePort, RemoteHeadResult, RemotePutFromPathInput, RemotePutFromPathResult } from "./remote-file-storage.port";
5
5
  type RemoteFileStorageNoopConfig = {
6
+ root: tools.DirectoryPathAbsoluteType;
6
7
  publicBaseUrl?: string;
7
8
  };
8
9
  type Dependencies = {
@@ -10,15 +11,16 @@ type Dependencies = {
10
11
  Clock: ClockPort;
11
12
  };
12
13
  export declare class RemoteFileStorageNoopAdapter implements RemoteFileStoragePort {
14
+ private readonly config;
13
15
  private readonly deps;
14
- private readonly config?;
15
16
  private readonly base;
16
- constructor(deps: Dependencies, config?: RemoteFileStorageNoopConfig | undefined);
17
+ constructor(config: RemoteFileStorageNoopConfig, deps: Dependencies);
17
18
  publicUrl(key: tools.ObjectKeyType): string;
18
19
  putFromPath(input: RemotePutFromPathInput): Promise<RemotePutFromPathResult>;
19
20
  head(key: tools.ObjectKeyType): Promise<RemoteHeadResult>;
20
21
  getStream(key: tools.ObjectKeyType): Promise<ReadableStream | null>;
21
22
  delete(key: tools.ObjectKeyType): Promise<void>;
23
+ get root(): string & import("zod").$brand<"DirectoryPathAbsoluteSchema">;
22
24
  }
23
25
  export {};
24
26
  //# sourceMappingURL=remote-file-storage-noop.adapter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"remote-file-storage-noop.adapter.d.ts","sourceRoot":"","sources":["../src/remote-file-storage-noop.adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,KAAK,EACV,qBAAqB,EACrB,gBAAgB,EAChB,sBAAsB,EACtB,uBAAuB,EACxB,MAAM,4BAA4B,CAAC;AAEpC,KAAK,2BAA2B,GAAG;IAAE,aAAa,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAC9D,KAAK,YAAY,GAAG;IAAE,MAAM,EAAE,UAAU,CAAC;IAAC,KAAK,EAAE,SAAS,CAAA;CAAE,CAAC;AAE7D,qBAAa,4BAA6B,YAAW,qBAAqB;IAItE,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;IAJ1B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAqE;gBAGvE,IAAI,EAAE,YAAY,EAClB,MAAM,CAAC,EAAE,2BAA2B,YAAA;IAGvD,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC,aAAa,GAAG,MAAM;IAKrC,WAAW,CAAC,KAAK,EAAE,sBAAsB,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAe5E,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,aAAa,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAUzD,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC,aAAa,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAUnE,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;CAOtD"}
1
+ {"version":3,"file":"remote-file-storage-noop.adapter.d.ts","sourceRoot":"","sources":["../src/remote-file-storage-noop.adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,KAAK,EACV,qBAAqB,EACrB,gBAAgB,EAChB,sBAAsB,EACtB,uBAAuB,EACxB,MAAM,4BAA4B,CAAC;AAEpC,KAAK,2BAA2B,GAAG;IAAE,IAAI,EAAE,KAAK,CAAC,yBAAyB,CAAC;IAAC,aAAa,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AACrG,KAAK,YAAY,GAAG;IAAE,MAAM,EAAE,UAAU,CAAC;IAAC,KAAK,EAAE,SAAS,CAAA;CAAE,CAAC;AAE7D,qBAAa,4BAA6B,YAAW,qBAAqB;IAItE,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,IAAI;IAJvB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAqE;gBAGvE,MAAM,EAAE,2BAA2B,EACnC,IAAI,EAAE,YAAY;IAGrC,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC,aAAa,GAAG,MAAM;IAKrC,WAAW,CAAC,KAAK,EAAE,sBAAsB,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAe5E,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,aAAa,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAUzD,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC,aAAa,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAUnE,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAQrD,IAAI,IAAI,iEAEP;CACF"}
@@ -1,11 +1,11 @@
1
1
  import * as tools from "@bgord/tools";
2
2
  export class RemoteFileStorageNoopAdapter {
3
- deps;
4
3
  config;
4
+ deps;
5
5
  base = { component: "infra", operation: "RemoteFileStorageNoopAdapter" };
6
- constructor(deps, config) {
7
- this.deps = deps;
6
+ constructor(config, deps) {
8
7
  this.config = config;
8
+ this.deps = deps;
9
9
  }
10
10
  publicUrl(key) {
11
11
  if (!this.config?.publicBaseUrl)
@@ -48,5 +48,8 @@ export class RemoteFileStorageNoopAdapter {
48
48
  ...this.base,
49
49
  });
50
50
  }
51
+ get root() {
52
+ return this.config.root;
53
+ }
51
54
  }
52
55
  //# sourceMappingURL=remote-file-storage-noop.adapter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"remote-file-storage-noop.adapter.js","sourceRoot":"","sources":["../src/remote-file-storage-noop.adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAatC,MAAM,OAAO,4BAA4B;IAIpB;IACA;IAJF,IAAI,GAAG,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,8BAA8B,EAAE,CAAC;IAE1F,YACmB,IAAkB,EAClB,MAAoC;QADpC,SAAI,GAAJ,IAAI,CAAc;QAClB,WAAM,GAAN,MAAM,CAA8B;IACpD,CAAC;IAEJ,SAAS,CAAC,GAAwB;QAChC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa;YAAE,OAAO,IAAI,GAAG,EAAE,CAAC;QAClD,OAAO,GAAG,IAAI,CAAC,MAAM,EAAE,aAAa,IAAI,GAAG,EAAE,CAAC;IAChD,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,KAA6B;QAC7C,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;YACpB,OAAO,EAAE,iDAAiD;YAC1D,QAAQ,EAAE,EAAE,KAAK,EAAE;YACnB,GAAG,IAAI,CAAC,IAAI;SACb,CAAC,CAAC;QAEH,OAAO;YACL,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;YAC9B,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE;YACnC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI;SACvB,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,GAAwB;QACjC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;YACpB,OAAO,EAAE,0CAA0C;YACnD,QAAQ,EAAE,EAAE,GAAG,EAAE;YACjB,GAAG,IAAI,CAAC,IAAI;SACb,CAAC,CAAC;QAEH,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;IAC3B,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,GAAwB;QACtC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;YACpB,OAAO,EAAE,+CAA+C;YACxD,QAAQ,EAAE,EAAE,GAAG,EAAE;YACjB,GAAG,IAAI,CAAC,IAAI;SACb,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,GAAwB;QACnC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;YACpB,OAAO,EAAE,4CAA4C;YACrD,QAAQ,EAAE,EAAE,GAAG,EAAE;YACjB,GAAG,IAAI,CAAC,IAAI;SACb,CAAC,CAAC;IACL,CAAC;CACF"}
1
+ {"version":3,"file":"remote-file-storage-noop.adapter.js","sourceRoot":"","sources":["../src/remote-file-storage-noop.adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAatC,MAAM,OAAO,4BAA4B;IAIpB;IACA;IAJF,IAAI,GAAG,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,8BAA8B,EAAE,CAAC;IAE1F,YACmB,MAAmC,EACnC,IAAkB;QADlB,WAAM,GAAN,MAAM,CAA6B;QACnC,SAAI,GAAJ,IAAI,CAAc;IAClC,CAAC;IAEJ,SAAS,CAAC,GAAwB;QAChC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa;YAAE,OAAO,IAAI,GAAG,EAAE,CAAC;QAClD,OAAO,GAAG,IAAI,CAAC,MAAM,EAAE,aAAa,IAAI,GAAG,EAAE,CAAC;IAChD,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,KAA6B;QAC7C,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;YACpB,OAAO,EAAE,iDAAiD;YAC1D,QAAQ,EAAE,EAAE,KAAK,EAAE;YACnB,GAAG,IAAI,CAAC,IAAI;SACb,CAAC,CAAC;QAEH,OAAO;YACL,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;YAC9B,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE;YACnC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI;SACvB,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,GAAwB;QACjC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;YACpB,OAAO,EAAE,0CAA0C;YACnD,QAAQ,EAAE,EAAE,GAAG,EAAE;YACjB,GAAG,IAAI,CAAC,IAAI;SACb,CAAC,CAAC;QAEH,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;IAC3B,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,GAAwB;QACtC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;YACpB,OAAO,EAAE,+CAA+C;YACxD,QAAQ,EAAE,EAAE,GAAG,EAAE;YACjB,GAAG,IAAI,CAAC,IAAI;SACb,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,GAAwB;QACnC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;YACpB,OAAO,EAAE,4CAA4C;YACrD,QAAQ,EAAE,EAAE,GAAG,EAAE;YACjB,GAAG,IAAI,CAAC,IAAI;SACb,CAAC,CAAC;IACL,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;IAC1B,CAAC;CACF"}
@@ -16,5 +16,6 @@ export interface RemoteFileStoragePort {
16
16
  getStream(key: tools.ObjectKeyType): Promise<ReadableStream | null>;
17
17
  delete(key: tools.ObjectKeyType): Promise<void>;
18
18
  publicUrl(key: tools.ObjectKeyType): string;
19
+ get root(): tools.DirectoryPathAbsoluteType;
19
20
  }
20
21
  //# sourceMappingURL=remote-file-storage.port.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"remote-file-storage.port.d.ts","sourceRoot":"","sources":["../src/remote-file-storage.port.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEvD,MAAM,MAAM,sBAAsB,GAAG;IACnC,GAAG,EAAE,KAAK,CAAC,aAAa,CAAC;IACzB,IAAI,EAAE,KAAK,CAAC,gBAAgB,GAAG,KAAK,CAAC,gBAAgB,CAAC;CACvD,CAAC;AACF,MAAM,MAAM,uBAAuB,GAAG,cAAc,CAAC;AACrD,MAAM,MAAM,gBAAgB,GAAG;IAAE,MAAM,EAAE,KAAK,CAAA;CAAE,GAAG,CAAC;IAAE,MAAM,EAAE,IAAI,CAAA;CAAE,GAAG,cAAc,CAAC,CAAC;AAEvF,MAAM,WAAW,qBAAqB;IACpC,WAAW,CAAC,KAAK,EAAE,sBAAsB,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAAC;IAC7E,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,aAAa,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAC1D,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC,aAAa,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IACpE,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAChD,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC,aAAa,GAAG,MAAM,CAAC;CAC7C"}
1
+ {"version":3,"file":"remote-file-storage.port.d.ts","sourceRoot":"","sources":["../src/remote-file-storage.port.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEvD,MAAM,MAAM,sBAAsB,GAAG;IACnC,GAAG,EAAE,KAAK,CAAC,aAAa,CAAC;IACzB,IAAI,EAAE,KAAK,CAAC,gBAAgB,GAAG,KAAK,CAAC,gBAAgB,CAAC;CACvD,CAAC;AACF,MAAM,MAAM,uBAAuB,GAAG,cAAc,CAAC;AACrD,MAAM,MAAM,gBAAgB,GAAG;IAAE,MAAM,EAAE,KAAK,CAAA;CAAE,GAAG,CAAC;IAAE,MAAM,EAAE,IAAI,CAAA;CAAE,GAAG,cAAc,CAAC,CAAC;AAEvF,MAAM,WAAW,qBAAqB;IACpC,WAAW,CAAC,KAAK,EAAE,sBAAsB,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAAC;IAC7E,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,aAAa,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAC1D,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC,aAAa,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IACpE,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAChD,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC,aAAa,GAAG,MAAM,CAAC;IAC5C,IAAI,IAAI,IAAI,KAAK,CAAC,yBAAyB,CAAC;CAC7C"}
@@ -14,6 +14,7 @@ export declare class TemporaryFileAbsoluteAdapter implements TemporaryFilePort {
14
14
  path: tools.FilePathAbsolute;
15
15
  }>;
16
16
  cleanup(filename: tools.Filename): Promise<void>;
17
+ get root(): string & import("zod").$brand<"DirectoryPathAbsoluteSchema">;
17
18
  }
18
19
  export {};
19
20
  //# sourceMappingURL=temporary-file-absolute.adapter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"temporary-file-absolute.adapter.d.ts","sourceRoot":"","sources":["../src/temporary-file-absolute.adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE/D,KAAK,YAAY,GAAG;IAAE,WAAW,EAAE,eAAe,CAAC;IAAC,WAAW,EAAE,eAAe,CAAA;CAAE,CAAC;AAEnF,qBAAa,4BAA6B,YAAW,iBAAiB;IAElE,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,IAAI;gBADJ,SAAS,EAAE,KAAK,CAAC,yBAAyB,EAC1C,IAAI,EAAE,YAAY;IAG/B,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,OAAO,EAAE,IAAI;;;IAU7C,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,QAAQ;CAGvC"}
1
+ {"version":3,"file":"temporary-file-absolute.adapter.d.ts","sourceRoot":"","sources":["../src/temporary-file-absolute.adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE/D,KAAK,YAAY,GAAG;IAAE,WAAW,EAAE,eAAe,CAAC;IAAC,WAAW,EAAE,eAAe,CAAA;CAAE,CAAC;AAEnF,qBAAa,4BAA6B,YAAW,iBAAiB;IAElE,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,IAAI;gBADJ,SAAS,EAAE,KAAK,CAAC,yBAAyB,EAC1C,IAAI,EAAE,YAAY;IAG/B,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,OAAO,EAAE,IAAI;;;IAU7C,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,QAAQ;IAItC,IAAI,IAAI,iEAEP;CACF"}
@@ -16,5 +16,8 @@ export class TemporaryFileAbsoluteAdapter {
16
16
  async cleanup(filename) {
17
17
  await this.deps.FileCleaner.delete(tools.FilePathAbsolute.fromPartsSafe(this.directory, filename));
18
18
  }
19
+ get root() {
20
+ return this.directory;
21
+ }
19
22
  }
20
23
  //# sourceMappingURL=temporary-file-absolute.adapter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"temporary-file-absolute.adapter.js","sourceRoot":"","sources":["../src/temporary-file-absolute.adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAOtC,MAAM,OAAO,4BAA4B;IAEpB;IACA;IAFnB,YACmB,SAA0C,EAC1C,IAAkB;QADlB,cAAS,GAAT,SAAS,CAAiC;QAC1C,SAAI,GAAJ,IAAI,CAAc;IAClC,CAAC;IAEJ,KAAK,CAAC,KAAK,CAAC,QAAwB,EAAE,OAAa;QACjD,MAAM,SAAS,GAAG,KAAK,CAAC,gBAAgB,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;QACrG,MAAM,KAAK,GAAG,KAAK,CAAC,gBAAgB,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QAE7E,MAAM,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,OAAO,CAAC,CAAC;QAC1C,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAErD,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,QAAwB;QACpC,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;IACrG,CAAC;CACF"}
1
+ {"version":3,"file":"temporary-file-absolute.adapter.js","sourceRoot":"","sources":["../src/temporary-file-absolute.adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAOtC,MAAM,OAAO,4BAA4B;IAEpB;IACA;IAFnB,YACmB,SAA0C,EAC1C,IAAkB;QADlB,cAAS,GAAT,SAAS,CAAiC;QAC1C,SAAI,GAAJ,IAAI,CAAc;IAClC,CAAC;IAEJ,KAAK,CAAC,KAAK,CAAC,QAAwB,EAAE,OAAa;QACjD,MAAM,SAAS,GAAG,KAAK,CAAC,gBAAgB,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;QACrG,MAAM,KAAK,GAAG,KAAK,CAAC,gBAAgB,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QAE7E,MAAM,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,OAAO,CAAC,CAAC;QAC1C,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAErD,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,QAAwB;QACpC,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;IACrG,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;CACF"}
@@ -7,5 +7,6 @@ export declare class TemporaryFileNoopAdapter implements TemporaryFilePort {
7
7
  path: tools.FilePathAbsolute;
8
8
  }>;
9
9
  cleanup(): Promise<void>;
10
+ get root(): string & import("zod").$brand<"DirectoryPathAbsoluteSchema">;
10
11
  }
11
12
  //# sourceMappingURL=temporary-file-noop.adapter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"temporary-file-noop.adapter.d.ts","sourceRoot":"","sources":["../src/temporary-file-noop.adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE/D,qBAAa,wBAAyB,YAAW,iBAAiB;IACpD,OAAO,CAAC,QAAQ,CAAC,SAAS;gBAAT,SAAS,EAAE,KAAK,CAAC,yBAAyB;IAEjE,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,QAAQ;;;IAI9B,OAAO;CACd"}
1
+ {"version":3,"file":"temporary-file-noop.adapter.d.ts","sourceRoot":"","sources":["../src/temporary-file-noop.adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE/D,qBAAa,wBAAyB,YAAW,iBAAiB;IACpD,OAAO,CAAC,QAAQ,CAAC,SAAS;gBAAT,SAAS,EAAE,KAAK,CAAC,yBAAyB;IAEjE,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,QAAQ;;;IAI9B,OAAO;IAEb,IAAI,IAAI,iEAEP;CACF"}
@@ -8,5 +8,8 @@ export class TemporaryFileNoopAdapter {
8
8
  return { path: tools.FilePathAbsolute.fromPartsSafe(this.directory, filename) };
9
9
  }
10
10
  async cleanup() { }
11
+ get root() {
12
+ return this.directory;
13
+ }
11
14
  }
12
15
  //# sourceMappingURL=temporary-file-noop.adapter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"temporary-file-noop.adapter.js","sourceRoot":"","sources":["../src/temporary-file-noop.adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAGtC,MAAM,OAAO,wBAAwB;IACN;IAA7B,YAA6B,SAA0C;QAA1C,cAAS,GAAT,SAAS,CAAiC;IAAG,CAAC;IAE3E,KAAK,CAAC,KAAK,CAAC,QAAwB;QAClC,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,gBAAgB,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,EAAE,CAAC;IAClF,CAAC;IAED,KAAK,CAAC,OAAO,KAAI,CAAC;CACnB"}
1
+ {"version":3,"file":"temporary-file-noop.adapter.js","sourceRoot":"","sources":["../src/temporary-file-noop.adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAGtC,MAAM,OAAO,wBAAwB;IACN;IAA7B,YAA6B,SAA0C;QAA1C,cAAS,GAAT,SAAS,CAAiC;IAAG,CAAC;IAE3E,KAAK,CAAC,KAAK,CAAC,QAAwB;QAClC,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,gBAAgB,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,EAAE,CAAC;IAClF,CAAC;IAED,KAAK,CAAC,OAAO,KAAI,CAAC;IAElB,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;CACF"}
@@ -4,5 +4,6 @@ export interface TemporaryFilePort {
4
4
  path: tools.FilePathAbsolute;
5
5
  }>;
6
6
  cleanup(filename: tools.Filename): Promise<void>;
7
+ get root(): tools.DirectoryPathAbsoluteType;
7
8
  }
8
9
  //# sourceMappingURL=temporary-file.port.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"temporary-file.port.d.ts","sourceRoot":"","sources":["../src/temporary-file.port.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAC;AAE3C,MAAM,WAAW,iBAAiB;IAChC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,KAAK,CAAC,gBAAgB,CAAA;KAAE,CAAC,CAAC;IAE1F,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAClD"}
1
+ {"version":3,"file":"temporary-file.port.d.ts","sourceRoot":"","sources":["../src/temporary-file.port.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAC;AAE3C,MAAM,WAAW,iBAAiB;IAChC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,KAAK,CAAC,gBAAgB,CAAA;KAAE,CAAC,CAAC;IAE1F,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjD,IAAI,IAAI,IAAI,KAAK,CAAC,yBAAyB,CAAC;CAC7C"}