@proteinjs/db-file 1.9.0 → 1.10.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.
package/CHANGELOG.md CHANGED
@@ -3,6 +3,28 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # [1.10.0](https://github.com/proteinjs/db/compare/@proteinjs/db-file@1.9.1...@proteinjs/db-file@1.10.0) (2026-09-27)
7
+
8
+
9
+ ### Features
10
+
11
+ * **db-file:** a picture's File row says whether it has see-through pixels (transparent) — a media fact read off the bytes at ingest, beside width and height; absent where nothing read it ([2ac30e9](https://github.com/proteinjs/db/commit/2ac30e96f5470a0283f72746febb9c0cbc5f08aa))
12
+
13
+
14
+
15
+
16
+
17
+ ## [1.9.1](https://github.com/proteinjs/db/compare/@proteinjs/db-file@1.9.0...@proteinjs/db-file@1.9.1) (2026-09-25)
18
+
19
+
20
+ ### Bug Fixes
21
+
22
+ * **db-file:** a derived File carries its original's provenance — every variant the seam makes (at ingest and on the read path) and the copy for others take the columns the table names as provenance from the row they were made from; a row with none derives rows with none ([f3b2dd4](https://github.com/proteinjs/db/commit/f3b2dd4b491191972757a003f625d36462cf72df))
23
+
24
+
25
+
26
+
27
+
6
28
  # [1.9.0](https://github.com/proteinjs/db/compare/@proteinjs/db-file@1.8.4...@proteinjs/db-file@1.9.0) (2026-09-25)
7
29
 
8
30
 
@@ -21,7 +21,7 @@ require("@proteinjs/server-api");
21
21
  require("@proteinjs/service");
22
22
  require("@proteinjs/user");
23
23
  /** Generate Source Graph */
24
- var sourceGraph = "{\"options\":{\"directed\":true,\"multigraph\":false,\"compound\":false},\"nodes\":[{\"v\":\"@proteinjs/db-file/FileCopyForOthers\",\"value\":{\"packageName\":\"@proteinjs/db-file\",\"name\":\"FileCopyForOthers\",\"filePath\":\"src/FileCopyForOthers.ts\",\"qualifiedName\":\"@proteinjs/db-file/FileCopyForOthers\",\"properties\":[],\"methods\":[{\"name\":\"appliesTo\",\"returnType\":{\"packageName\":\"\",\"name\":\"boolean\",\"filePath\":null,\"qualifiedName\":\"/boolean\",\"typeParameters\":null,\"directParents\":null},\"isAsync\":false,\"isOptional\":false,\"isAbstract\":true,\"isStatic\":false,\"visibility\":\"public\",\"parameters\":[{\"name\":\"file\",\"type\":{\"packageName\":\"@proteinjs/db-file\",\"name\":\"File\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/db-file/File\",\"typeParameters\":null,\"directParents\":null}}]},{\"name\":\"make\",\"returnType\":{\"packageName\":\"\",\"name\":\"Promise<Buffer>\",\"filePath\":null,\"qualifiedName\":\"/Promise<Buffer>\",\"typeParameters\":null,\"directParents\":null},\"isAsync\":false,\"isOptional\":false,\"isAbstract\":true,\"isStatic\":false,\"visibility\":\"public\",\"parameters\":[{\"name\":\"file\",\"type\":{\"packageName\":\"@proteinjs/db-file\",\"name\":\"File\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/db-file/File\",\"typeParameters\":null,\"directParents\":null}},{\"name\":\"bytes\",\"type\":{\"packageName\":\"\",\"name\":\"Buffer\",\"filePath\":null,\"qualifiedName\":\"/Buffer\",\"typeParameters\":null,\"directParents\":null}}]}],\"typeParameters\":[],\"directParents\":[{\"packageName\":\"@proteinjs/reflection\",\"name\":\"Loadable\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/reflection/Loadable\",\"properties\":[],\"methods\":[],\"typeParameters\":[],\"directParents\":[]}],\"sourceType\":3}},{\"v\":\"@proteinjs/reflection/Loadable\"},{\"v\":\"/Error\"},{\"v\":\"@proteinjs/db-file/FileReachabilityResolver\",\"value\":{\"packageName\":\"@proteinjs/db-file\",\"name\":\"FileReachabilityResolver\",\"filePath\":\"src/FileReachabilityResolver.ts\",\"qualifiedName\":\"@proteinjs/db-file/FileReachabilityResolver\",\"properties\":[],\"methods\":[{\"name\":\"canReadViaReference\",\"returnType\":{\"packageName\":\"\",\"name\":\"Promise<boolean>\",\"filePath\":null,\"qualifiedName\":\"/Promise<boolean>\",\"typeParameters\":null,\"directParents\":null},\"isAsync\":false,\"isOptional\":false,\"isAbstract\":true,\"isStatic\":false,\"visibility\":\"public\",\"parameters\":[{\"name\":\"fileId\",\"type\":{\"packageName\":\"\",\"name\":\"string\",\"filePath\":null,\"qualifiedName\":\"/string\",\"typeParameters\":null,\"directParents\":null}}]}],\"typeParameters\":[],\"directParents\":[{\"packageName\":\"@proteinjs/reflection\",\"name\":\"Loadable\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/reflection/Loadable\",\"properties\":[],\"methods\":[],\"typeParameters\":[],\"directParents\":[]}],\"sourceType\":3}},{\"v\":\"@proteinjs/db-file/DefaultFileStorageDriverFactory\",\"value\":{\"packageName\":\"@proteinjs/db-file\",\"name\":\"DefaultFileStorageDriverFactory\",\"filePath\":\"src/FileStorage.ts\",\"qualifiedName\":\"@proteinjs/db-file/DefaultFileStorageDriverFactory\",\"properties\":[],\"methods\":[{\"name\":\"getDriver\",\"returnType\":{\"packageName\":\"@proteinjs/db-file\",\"name\":\"FileStorageDriver\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/db-file/FileStorageDriver\",\"typeParameters\":null,\"directParents\":null},\"isAsync\":false,\"isOptional\":false,\"isAbstract\":true,\"isStatic\":false,\"visibility\":\"public\",\"parameters\":[]}],\"typeParameters\":[],\"directParents\":[{\"packageName\":\"@proteinjs/reflection\",\"name\":\"Loadable\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/reflection/Loadable\",\"properties\":[],\"methods\":[],\"typeParameters\":[],\"directParents\":[]}],\"sourceType\":3}},{\"v\":\"@proteinjs/db-file/FileStorage\",\"value\":{\"packageName\":\"@proteinjs/db-file\",\"name\":\"FileStorage\",\"filePath\":\"src/FileStorage.ts\",\"qualifiedName\":\"@proteinjs/db-file/FileStorage\",\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"properties\":[{\"name\":\"driver\",\"type\":{\"packageName\":\"@proteinjs/db-file\",\"name\":\"FileStorageDriver\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/db-file/FileStorageDriver\",\"typeParameters\":null,\"directParents\":null},\"isOptional\":false,\"isAbstract\":false,\"isStatic\":true,\"visibility\":\"private\"},{\"name\":\"derivations\",\"type\":null,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":true,\"visibility\":\"private\"},{\"name\":\"serviceMetadata\",\"type\":null,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\"},{\"name\":\"logger\",\"type\":null,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"private\"}],\"methods\":[{\"name\":\"getDriver\",\"returnType\":{\"packageName\":\"@proteinjs/db-file\",\"name\":\"FileStorageDriver\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/db-file/FileStorageDriver\",\"typeParameters\":null,\"directParents\":null},\"isAsync\":false,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":true,\"visibility\":\"public\",\"parameters\":[]},{\"name\":\"createFile\",\"returnType\":{\"packageName\":\"\",\"name\":\"Promise<File>\",\"filePath\":null,\"qualifiedName\":\"/Promise<File>\",\"typeParameters\":null,\"directParents\":null},\"isAsync\":true,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"parameters\":[{\"name\":\"fileMetaData\",\"type\":{\"packageName\":\"\",\"name\":\"Omit<File, keyof ScopedRecord>\",\"filePath\":null,\"qualifiedName\":\"/Omit<File, keyof ScopedRecord>\",\"typeParameters\":null,\"directParents\":null}},{\"name\":\"fileData\",\"type\":{\"packageName\":\"\",\"name\":\"string\",\"filePath\":null,\"qualifiedName\":\"/string\",\"typeParameters\":null,\"directParents\":null}}]},{\"name\":\"getFile\",\"returnType\":{\"packageName\":\"\",\"name\":\"Promise<File>\",\"filePath\":null,\"qualifiedName\":\"/Promise<File>\",\"typeParameters\":null,\"directParents\":null},\"isAsync\":true,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"parameters\":[{\"name\":\"fileId\",\"type\":{\"packageName\":\"\",\"name\":\"string\",\"filePath\":null,\"qualifiedName\":\"/string\",\"typeParameters\":null,\"directParents\":null}}]},{\"name\":\"getVariant\",\"returnType\":{\"packageName\":\"\",\"name\":\"Promise<File | undefined>\",\"filePath\":null,\"qualifiedName\":\"/Promise<File | undefined>\",\"typeParameters\":null,\"directParents\":null},\"isAsync\":true,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"parameters\":[{\"name\":\"fileId\",\"type\":{\"packageName\":\"\",\"name\":\"string\",\"filePath\":null,\"qualifiedName\":\"/string\",\"typeParameters\":null,\"directParents\":null}},{\"name\":\"kind\",\"type\":{\"packageName\":\"@proteinjs/db-file\",\"name\":\"FileVariantKind\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/db-file/FileVariantKind\",\"typeParameters\":null,\"directParents\":null}}]},{\"name\":\"deriveVariants\",\"returnType\":{\"packageName\":\"\",\"name\":\"Promise<{ file: File; variants: Partial<Record<FileVariantKind, File>> }>\",\"filePath\":null,\"qualifiedName\":\"/Promise<{ file: File; variants: Partial<Record<FileVariantKind, File>> }>\",\"typeParameters\":null,\"directParents\":null},\"isAsync\":true,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"parameters\":[{\"name\":\"file\",\"type\":{\"packageName\":\"@proteinjs/db-file\",\"name\":\"File\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/db-file/File\",\"typeParameters\":null,\"directParents\":null}},{\"name\":\"bytes\",\"type\":{\"packageName\":\"\",\"name\":\"Buffer\",\"filePath\":null,\"qualifiedName\":\"/Buffer\",\"typeParameters\":null,\"directParents\":null}}]},{\"name\":\"getFileData\",\"returnType\":{\"packageName\":\"\",\"name\":\"Promise<string>\",\"filePath\":null,\"qualifiedName\":\"/Promise<string>\",\"typeParameters\":null,\"directParents\":null},\"isAsync\":true,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"parameters\":[{\"name\":\"fileId\",\"type\":{\"packageName\":\"\",\"name\":\"string\",\"filePath\":null,\"qualifiedName\":\"/string\",\"typeParameters\":null,\"directParents\":null}}]},{\"name\":\"getAuthorizedFileData\",\"returnType\":{\"packageName\":\"\",\"name\":\"Promise<string>\",\"filePath\":null,\"qualifiedName\":\"/Promise<string>\",\"typeParameters\":null,\"directParents\":null},\"isAsync\":true,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"parameters\":[{\"name\":\"file\",\"type\":{\"packageName\":\"@proteinjs/db-file\",\"name\":\"File\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/db-file/File\",\"typeParameters\":null,\"directParents\":null}}]},{\"name\":\"getSignedUrl\",\"returnType\":{\"packageName\":\"\",\"name\":\"Promise<string | undefined>\",\"filePath\":null,\"qualifiedName\":\"/Promise<string | undefined>\",\"typeParameters\":null,\"directParents\":null},\"isAsync\":true,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"parameters\":[{\"name\":\"fileId\",\"type\":{\"packageName\":\"\",\"name\":\"string\",\"filePath\":null,\"qualifiedName\":\"/string\",\"typeParameters\":null,\"directParents\":null}},{\"name\":\"options\",\"type\":{\"packageName\":\"@proteinjs/db-file\",\"name\":\"{ ttlMs?: number }\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/db-file/{ ttlMs?: number }\",\"typeParameters\":null,\"directParents\":null}}]},{\"name\":\"updateFileData\",\"returnType\":{\"packageName\":\"\",\"name\":\"Promise<void>\",\"filePath\":null,\"qualifiedName\":\"/Promise<void>\",\"typeParameters\":null,\"directParents\":null},\"isAsync\":true,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"parameters\":[{\"name\":\"fileId\",\"type\":{\"packageName\":\"\",\"name\":\"string\",\"filePath\":null,\"qualifiedName\":\"/string\",\"typeParameters\":null,\"directParents\":null}},{\"name\":\"data\",\"type\":{\"packageName\":\"\",\"name\":\"string\",\"filePath\":null,\"qualifiedName\":\"/string\",\"typeParameters\":null,\"directParents\":null}}]},{\"name\":\"updateFile\",\"returnType\":{\"packageName\":\"\",\"name\":\"Promise<void>\",\"filePath\":null,\"qualifiedName\":\"/Promise<void>\",\"typeParameters\":null,\"directParents\":null},\"isAsync\":true,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"parameters\":[{\"name\":\"file\",\"type\":{\"packageName\":\"\",\"name\":\"Omit<File, keyof ScopedRecord>\",\"filePath\":null,\"qualifiedName\":\"/Omit<File, keyof ScopedRecord>\",\"typeParameters\":null,\"directParents\":null}}]},{\"name\":\"deleteFile\",\"returnType\":{\"packageName\":\"\",\"name\":\"Promise<void>\",\"filePath\":null,\"qualifiedName\":\"/Promise<void>\",\"typeParameters\":null,\"directParents\":null},\"isAsync\":true,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"parameters\":[{\"name\":\"fileId\",\"type\":{\"packageName\":\"\",\"name\":\"string\",\"filePath\":null,\"qualifiedName\":\"/string\",\"typeParameters\":null,\"directParents\":null}}]},{\"name\":\"servedFileId\",\"returnType\":{\"packageName\":\"\",\"name\":\"Promise<string>\",\"filePath\":null,\"qualifiedName\":\"/Promise<string>\",\"typeParameters\":null,\"directParents\":null},\"isAsync\":true,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"private\",\"parameters\":[{\"name\":\"file\",\"type\":{\"packageName\":\"@proteinjs/db-file\",\"name\":\"File\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/db-file/File\",\"typeParameters\":null,\"directParents\":null}}]},{\"name\":\"ownedByCaller\",\"returnType\":{\"packageName\":\"\",\"name\":\"boolean\",\"filePath\":null,\"qualifiedName\":\"/boolean\",\"typeParameters\":null,\"directParents\":null},\"isAsync\":false,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"private\",\"parameters\":[{\"name\":\"file\",\"type\":{\"packageName\":\"@proteinjs/db-file\",\"name\":\"File\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/db-file/File\",\"typeParameters\":null,\"directParents\":null}}]},{\"name\":\"makeCopyForOthers\",\"returnType\":{\"packageName\":\"\",\"name\":\"Promise<string>\",\"filePath\":null,\"qualifiedName\":\"/Promise<string>\",\"typeParameters\":null,\"directParents\":null},\"isAsync\":true,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"private\",\"parameters\":[{\"name\":\"file\",\"type\":{\"packageName\":\"@proteinjs/db-file\",\"name\":\"File\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/db-file/File\",\"typeParameters\":null,\"directParents\":null}}]},{\"name\":\"deriveOnce\",\"returnType\":{\"packageName\":\"\",\"name\":\"Promise<string | undefined>\",\"filePath\":null,\"qualifiedName\":\"/Promise<string | undefined>\",\"typeParameters\":null,\"directParents\":null},\"isAsync\":false,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"private\",\"parameters\":[{\"name\":\"file\",\"type\":{\"packageName\":\"@proteinjs/db-file\",\"name\":\"File\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/db-file/File\",\"typeParameters\":null,\"directParents\":null}},{\"name\":\"kind\",\"type\":{\"packageName\":\"@proteinjs/db-file\",\"name\":\"FileVariantKind\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/db-file/FileVariantKind\",\"typeParameters\":null,\"directParents\":null}}]},{\"name\":\"makeVariant\",\"returnType\":{\"packageName\":\"\",\"name\":\"Promise<string>\",\"filePath\":null,\"qualifiedName\":\"/Promise<string>\",\"typeParameters\":null,\"directParents\":null},\"isAsync\":true,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"private\",\"parameters\":[{\"name\":\"file\",\"type\":{\"packageName\":\"@proteinjs/db-file\",\"name\":\"File\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/db-file/File\",\"typeParameters\":null,\"directParents\":null}},{\"name\":\"kind\",\"type\":{\"packageName\":\"@proteinjs/db-file\",\"name\":\"FileVariantKind\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/db-file/FileVariantKind\",\"typeParameters\":null,\"directParents\":null}},{\"name\":\"bytes\",\"type\":{\"packageName\":\"\",\"name\":\"Buffer\",\"filePath\":null,\"qualifiedName\":\"/Buffer\",\"typeParameters\":null,\"directParents\":null}}]},{\"name\":\"dropDerivedFiles\",\"returnType\":{\"packageName\":\"\",\"name\":\"Promise<void>\",\"filePath\":null,\"qualifiedName\":\"/Promise<void>\",\"typeParameters\":null,\"directParents\":null},\"isAsync\":true,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"private\",\"parameters\":[{\"name\":\"file\",\"type\":{\"packageName\":\"@proteinjs/db-file\",\"name\":\"File\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/db-file/File\",\"typeParameters\":null,\"directParents\":null}}]},{\"name\":\"notFound\",\"returnType\":{\"packageName\":\"@proteinjs/service\",\"name\":\"ServiceRefusal\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/service/ServiceRefusal\",\"typeParameters\":null,\"directParents\":null},\"isAsync\":false,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":true,\"visibility\":\"private\",\"parameters\":[]}],\"typeParameters\":[],\"directParentInterfaces\":[{\"packageName\":\"@proteinjs/db-file\",\"name\":\"FileStorageService\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/db-file/FileStorageService\",\"properties\":[],\"methods\":[],\"typeParameters\":[],\"directParents\":[]}],\"directParentClasses\":[],\"sourceType\":2}},{\"v\":\"@proteinjs/db-file/FileStorageService\",\"value\":{\"packageName\":\"@proteinjs/db-file\",\"name\":\"FileStorageService\",\"filePath\":\"src/services/FileStorageService.ts\",\"qualifiedName\":\"@proteinjs/db-file/FileStorageService\",\"properties\":[],\"methods\":[{\"name\":\"createFile\",\"returnType\":{\"packageName\":\"\",\"name\":\"Promise<File>\",\"filePath\":null,\"qualifiedName\":\"/Promise<File>\",\"typeParameters\":null,\"directParents\":null},\"isAsync\":false,\"isOptional\":false,\"isAbstract\":true,\"isStatic\":false,\"visibility\":\"public\",\"parameters\":[{\"name\":\"fileMetaData\",\"type\":{\"packageName\":\"\",\"name\":\"Omit<File, keyof ScopedRecord>\",\"filePath\":null,\"qualifiedName\":\"/Omit<File, keyof ScopedRecord>\",\"typeParameters\":null,\"directParents\":null}},{\"name\":\"fileData\",\"type\":{\"packageName\":\"\",\"name\":\"string\",\"filePath\":null,\"qualifiedName\":\"/string\",\"typeParameters\":null,\"directParents\":null}}]},{\"name\":\"getFile\",\"returnType\":{\"packageName\":\"\",\"name\":\"Promise<File>\",\"filePath\":null,\"qualifiedName\":\"/Promise<File>\",\"typeParameters\":null,\"directParents\":null},\"isAsync\":false,\"isOptional\":false,\"isAbstract\":true,\"isStatic\":false,\"visibility\":\"public\",\"parameters\":[{\"name\":\"fileId\",\"type\":{\"packageName\":\"\",\"name\":\"string\",\"filePath\":null,\"qualifiedName\":\"/string\",\"typeParameters\":null,\"directParents\":null}}]},{\"name\":\"getFileData\",\"returnType\":{\"packageName\":\"\",\"name\":\"Promise<string>\",\"filePath\":null,\"qualifiedName\":\"/Promise<string>\",\"typeParameters\":null,\"directParents\":null},\"isAsync\":false,\"isOptional\":false,\"isAbstract\":true,\"isStatic\":false,\"visibility\":\"public\",\"parameters\":[{\"name\":\"fileId\",\"type\":{\"packageName\":\"\",\"name\":\"string\",\"filePath\":null,\"qualifiedName\":\"/string\",\"typeParameters\":null,\"directParents\":null}}]},{\"name\":\"updateFileData\",\"returnType\":{\"packageName\":\"\",\"name\":\"Promise<void>\",\"filePath\":null,\"qualifiedName\":\"/Promise<void>\",\"typeParameters\":null,\"directParents\":null},\"isAsync\":false,\"isOptional\":false,\"isAbstract\":true,\"isStatic\":false,\"visibility\":\"public\",\"parameters\":[{\"name\":\"fileId\",\"type\":{\"packageName\":\"\",\"name\":\"string\",\"filePath\":null,\"qualifiedName\":\"/string\",\"typeParameters\":null,\"directParents\":null}},{\"name\":\"data\",\"type\":{\"packageName\":\"\",\"name\":\"string\",\"filePath\":null,\"qualifiedName\":\"/string\",\"typeParameters\":null,\"directParents\":null}}]},{\"name\":\"updateFile\",\"returnType\":{\"packageName\":\"\",\"name\":\"Promise<void>\",\"filePath\":null,\"qualifiedName\":\"/Promise<void>\",\"typeParameters\":null,\"directParents\":null},\"isAsync\":false,\"isOptional\":false,\"isAbstract\":true,\"isStatic\":false,\"visibility\":\"public\",\"parameters\":[{\"name\":\"file\",\"type\":{\"packageName\":\"\",\"name\":\"Omit<File, keyof ScopedRecord>\",\"filePath\":null,\"qualifiedName\":\"/Omit<File, keyof ScopedRecord>\",\"typeParameters\":null,\"directParents\":null}}]},{\"name\":\"deleteFile\",\"returnType\":{\"packageName\":\"\",\"name\":\"Promise<void>\",\"filePath\":null,\"qualifiedName\":\"/Promise<void>\",\"typeParameters\":null,\"directParents\":null},\"isAsync\":false,\"isOptional\":false,\"isAbstract\":true,\"isStatic\":false,\"visibility\":\"public\",\"parameters\":[{\"name\":\"fileId\",\"type\":{\"packageName\":\"\",\"name\":\"string\",\"filePath\":null,\"qualifiedName\":\"/string\",\"typeParameters\":null,\"directParents\":null}}]}],\"typeParameters\":[],\"directParents\":[{\"packageName\":\"@proteinjs/service\",\"name\":\"Service\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/service/Service\",\"properties\":[],\"methods\":[],\"typeParameters\":[],\"directParents\":[]}],\"sourceType\":3}},{\"v\":\"/'not-found' | 'precondition-failed' | 'forbidden' | 'unavailable' | 'unknown'\"},{\"v\":\"@proteinjs/db-file/FileStorageTableWatcher\",\"value\":{\"packageName\":\"@proteinjs/db-file\",\"name\":\"FileStorageTableWatcher\",\"filePath\":\"src/FileStorageTableWatcher.ts\",\"qualifiedName\":\"@proteinjs/db-file/FileStorageTableWatcher\",\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"properties\":[{\"name\":\"logger\",\"type\":null,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"private\"}],\"methods\":[{\"name\":\"name\",\"returnType\":{\"packageName\":\"\",\"name\":\"string\",\"filePath\":null,\"qualifiedName\":\"/string\",\"typeParameters\":null,\"directParents\":null},\"isAsync\":false,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"parameters\":[]},{\"name\":\"table\",\"returnType\":{\"packageName\":\"\",\"name\":\"Table<File>\",\"filePath\":null,\"qualifiedName\":\"/Table<File>\",\"typeParameters\":null,\"directParents\":null},\"isAsync\":false,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"parameters\":[]},{\"name\":\"beforeDelete\",\"returnType\":{\"packageName\":\"\",\"name\":\"Promise<void>\",\"filePath\":null,\"qualifiedName\":\"/Promise<void>\",\"typeParameters\":null,\"directParents\":null},\"isAsync\":true,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"parameters\":[{\"name\":\"recordsToDelete\",\"type\":{\"packageName\":\"\",\"name\":\"T[]\",\"filePath\":null,\"qualifiedName\":\"/T[]\",\"typeParameters\":null,\"directParents\":null}},{\"name\":\"initialQb\",\"type\":{\"packageName\":\"\",\"name\":\"QueryBuilder<T>\",\"filePath\":null,\"qualifiedName\":\"/QueryBuilder<T>\",\"typeParameters\":null,\"directParents\":null}},{\"name\":\"deleteQb\",\"type\":{\"packageName\":\"\",\"name\":\"QueryBuilder<T>\",\"filePath\":null,\"qualifiedName\":\"/QueryBuilder<T>\",\"typeParameters\":null,\"directParents\":null}}]}],\"typeParameters\":[],\"directParentInterfaces\":[{\"packageName\":\"@proteinjs/db\",\"name\":\"TableWatcher\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/db/TableWatcher\",\"properties\":[],\"methods\":[],\"typeParameters\":[\"@proteinjs/db-file/File\"],\"directParents\":[]}],\"directParentClasses\":[],\"sourceType\":2}},{\"v\":\"@proteinjs/db/TableWatcher\"},{\"v\":\"/'preview' | 'stage'\"},{\"v\":\"/readonly FileVariantKind[]\"},{\"v\":\"@proteinjs/db-file/FileVariantMaker\",\"value\":{\"packageName\":\"@proteinjs/db-file\",\"name\":\"FileVariantMaker\",\"filePath\":\"src/FileVariantMaker.ts\",\"qualifiedName\":\"@proteinjs/db-file/FileVariantMaker\",\"properties\":[],\"methods\":[{\"name\":\"appliesTo\",\"returnType\":{\"packageName\":\"\",\"name\":\"boolean\",\"filePath\":null,\"qualifiedName\":\"/boolean\",\"typeParameters\":null,\"directParents\":null},\"isAsync\":false,\"isOptional\":false,\"isAbstract\":true,\"isStatic\":false,\"visibility\":\"public\",\"parameters\":[{\"name\":\"file\",\"type\":{\"packageName\":\"@proteinjs/db-file\",\"name\":\"File\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/db-file/File\",\"typeParameters\":null,\"directParents\":null}},{\"name\":\"kind\",\"type\":{\"packageName\":\"@proteinjs/db-file\",\"name\":\"FileVariantKind\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/db-file/FileVariantKind\",\"typeParameters\":null,\"directParents\":null}}]},{\"name\":\"make\",\"returnType\":{\"packageName\":\"\",\"name\":\"Promise<FileVariant>\",\"filePath\":null,\"qualifiedName\":\"/Promise<FileVariant>\",\"typeParameters\":null,\"directParents\":null},\"isAsync\":false,\"isOptional\":false,\"isAbstract\":true,\"isStatic\":false,\"visibility\":\"public\",\"parameters\":[{\"name\":\"file\",\"type\":{\"packageName\":\"@proteinjs/db-file\",\"name\":\"File\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/db-file/File\",\"typeParameters\":null,\"directParents\":null}},{\"name\":\"bytes\",\"type\":{\"packageName\":\"\",\"name\":\"Buffer\",\"filePath\":null,\"qualifiedName\":\"/Buffer\",\"typeParameters\":null,\"directParents\":null}},{\"name\":\"kind\",\"type\":{\"packageName\":\"@proteinjs/db-file\",\"name\":\"FileVariantKind\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/db-file/FileVariantKind\",\"typeParameters\":null,\"directParents\":null}}]}],\"typeParameters\":[],\"directParents\":[{\"packageName\":\"@proteinjs/reflection\",\"name\":\"Loadable\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/reflection/Loadable\",\"properties\":[],\"methods\":[],\"typeParameters\":[],\"directParents\":[]}],\"sourceType\":3}},{\"v\":\"@proteinjs/db-file/getFile\",\"value\":{\"packageName\":\"@proteinjs/db-file\",\"name\":\"getFile\",\"filePath\":\"src/routes/getFile.ts\",\"qualifiedName\":\"@proteinjs/db-file/getFile\",\"type\":{\"packageName\":\"@proteinjs/server-api\",\"name\":\"Route\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/server-api/Route\",\"typeParameters\":[],\"directParents\":[{\"packageName\":\"@proteinjs/server-api\",\"name\":\"Route\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/server-api/Route\",\"typeParameters\":[],\"directParents\":null}]},\"isExported\":true,\"isConst\":true,\"sourceType\":0}},{\"v\":\"@proteinjs/server-api/Route\"},{\"v\":\"@proteinjs/db-file/getFileVariant\",\"value\":{\"packageName\":\"@proteinjs/db-file\",\"name\":\"getFileVariant\",\"filePath\":\"src/routes/getFileVariant.ts\",\"qualifiedName\":\"@proteinjs/db-file/getFileVariant\",\"type\":{\"packageName\":\"@proteinjs/server-api\",\"name\":\"Route\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/server-api/Route\",\"typeParameters\":[],\"directParents\":[{\"packageName\":\"@proteinjs/server-api\",\"name\":\"Route\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/server-api/Route\",\"typeParameters\":[],\"directParents\":null}]},\"isExported\":true,\"isConst\":true,\"sourceType\":0}},{\"v\":\"@proteinjs/db-file/FileData\",\"value\":{\"packageName\":\"@proteinjs/db-file\",\"name\":\"FileData\",\"filePath\":\"src/tables/FileDataTable.ts\",\"qualifiedName\":\"@proteinjs/db-file/FileData\",\"properties\":[{\"name\":\"file\",\"type\":{\"packageName\":\"\",\"name\":\"Reference<File>\",\"filePath\":null,\"qualifiedName\":\"/Reference<File>\",\"typeParameters\":null,\"directParents\":null},\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\"},{\"name\":\"order\",\"type\":{\"packageName\":\"\",\"name\":\"number\",\"filePath\":null,\"qualifiedName\":\"/number\",\"typeParameters\":null,\"directParents\":null},\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\"},{\"name\":\"data\",\"type\":{\"packageName\":\"\",\"name\":\"string\",\"filePath\":null,\"qualifiedName\":\"/string\",\"typeParameters\":null,\"directParents\":null},\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\"}],\"methods\":[],\"typeParameters\":[],\"directParents\":[{\"packageName\":\"@proteinjs/user\",\"name\":\"ScopedRecord\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/user/ScopedRecord\",\"properties\":[],\"methods\":[],\"typeParameters\":[],\"directParents\":[]}],\"sourceType\":3}},{\"v\":\"@proteinjs/user/ScopedRecord\"},{\"v\":\"@proteinjs/db-file/FileDataTable\",\"value\":{\"packageName\":\"@proteinjs/db-file\",\"name\":\"FileDataTable\",\"filePath\":\"src/tables/FileDataTable.ts\",\"qualifiedName\":\"@proteinjs/db-file/FileDataTable\",\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"properties\":[{\"name\":\"name\",\"type\":null,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\"},{\"name\":\"auth\",\"type\":{\"packageName\":\"\",\"name\":\"Table<FileData>['auth']\",\"filePath\":null,\"qualifiedName\":\"/Table<FileData>['auth']\",\"typeParameters\":null,\"directParents\":null},\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\"},{\"name\":\"columns\",\"type\":null,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\"}],\"methods\":[],\"typeParameters\":[],\"directParentInterfaces\":[],\"directParentClasses\":[{\"packageName\":\"@proteinjs/db\",\"name\":\"Table\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/db/Table\",\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"properties\":[],\"methods\":[],\"typeParameters\":[\"@proteinjs/db-file/FileData\"],\"directParentInterfaces\":[],\"directParentClasses\":[]}],\"sourceType\":2}},{\"v\":\"@proteinjs/db/Table\"},{\"v\":\"@proteinjs/db-file/File\",\"value\":{\"packageName\":\"@proteinjs/db-file\",\"name\":\"File\",\"filePath\":\"src/tables/FileTable.ts\",\"qualifiedName\":\"@proteinjs/db-file/File\",\"properties\":[{\"name\":\"name\",\"type\":{\"packageName\":\"\",\"name\":\"string\",\"filePath\":null,\"qualifiedName\":\"/string\",\"typeParameters\":null,\"directParents\":null},\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\"},{\"name\":\"type\",\"type\":{\"packageName\":\"\",\"name\":\"string\",\"filePath\":null,\"qualifiedName\":\"/string\",\"typeParameters\":null,\"directParents\":null},\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\"},{\"name\":\"size\",\"type\":{\"packageName\":\"\",\"name\":\"number\",\"filePath\":null,\"qualifiedName\":\"/number\",\"typeParameters\":null,\"directParents\":null},\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\"},{\"name\":\"preview\",\"type\":{\"packageName\":\"\",\"name\":\"Reference<File> | null\",\"filePath\":null,\"qualifiedName\":\"/Reference<File> | null\",\"typeParameters\":null,\"directParents\":null},\"isOptional\":true,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\"},{\"name\":\"stage\",\"type\":{\"packageName\":\"\",\"name\":\"Reference<File> | null\",\"filePath\":null,\"qualifiedName\":\"/Reference<File> | null\",\"typeParameters\":null,\"directParents\":null},\"isOptional\":true,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\"},{\"name\":\"variantOf\",\"type\":{\"packageName\":\"\",\"name\":\"Reference<File> | null\",\"filePath\":null,\"qualifiedName\":\"/Reference<File> | null\",\"typeParameters\":null,\"directParents\":null},\"isOptional\":true,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\"},{\"name\":\"copyForOthers\",\"type\":{\"packageName\":\"\",\"name\":\"Reference<File> | null\",\"filePath\":null,\"qualifiedName\":\"/Reference<File> | null\",\"typeParameters\":null,\"directParents\":null},\"isOptional\":true,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\"},{\"name\":\"width\",\"type\":{\"packageName\":\"\",\"name\":\"number\",\"filePath\":null,\"qualifiedName\":\"/number\",\"typeParameters\":null,\"directParents\":null},\"isOptional\":true,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\"},{\"name\":\"height\",\"type\":{\"packageName\":\"\",\"name\":\"number\",\"filePath\":null,\"qualifiedName\":\"/number\",\"typeParameters\":null,\"directParents\":null},\"isOptional\":true,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\"},{\"name\":\"durationMs\",\"type\":{\"packageName\":\"\",\"name\":\"number\",\"filePath\":null,\"qualifiedName\":\"/number\",\"typeParameters\":null,\"directParents\":null},\"isOptional\":true,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\"},{\"name\":\"sourceUrl\",\"type\":{\"packageName\":\"\",\"name\":\"string\",\"filePath\":null,\"qualifiedName\":\"/string\",\"typeParameters\":null,\"directParents\":null},\"isOptional\":true,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\"},{\"name\":\"sourcePageUrl\",\"type\":{\"packageName\":\"\",\"name\":\"string\",\"filePath\":null,\"qualifiedName\":\"/string\",\"typeParameters\":null,\"directParents\":null},\"isOptional\":true,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\"},{\"name\":\"retrievedAt\",\"type\":{\"packageName\":\"\",\"name\":\"Date\",\"filePath\":null,\"qualifiedName\":\"/Date\",\"typeParameters\":null,\"directParents\":null},\"isOptional\":true,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\"},{\"name\":\"license\",\"type\":{\"packageName\":\"\",\"name\":\"string\",\"filePath\":null,\"qualifiedName\":\"/string\",\"typeParameters\":null,\"directParents\":null},\"isOptional\":true,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\"},{\"name\":\"licenseUrl\",\"type\":{\"packageName\":\"\",\"name\":\"string\",\"filePath\":null,\"qualifiedName\":\"/string\",\"typeParameters\":null,\"directParents\":null},\"isOptional\":true,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\"},{\"name\":\"attribution\",\"type\":{\"packageName\":\"\",\"name\":\"string\",\"filePath\":null,\"qualifiedName\":\"/string\",\"typeParameters\":null,\"directParents\":null},\"isOptional\":true,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\"},{\"name\":\"contentHash\",\"type\":{\"packageName\":\"\",\"name\":\"string\",\"filePath\":null,\"qualifiedName\":\"/string\",\"typeParameters\":null,\"directParents\":null},\"isOptional\":true,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\"},{\"name\":\"origin\",\"type\":{\"packageName\":\"\",\"name\":\"string\",\"filePath\":null,\"qualifiedName\":\"/string\",\"typeParameters\":null,\"directParents\":null},\"isOptional\":true,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\"},{\"name\":\"originModel\",\"type\":{\"packageName\":\"\",\"name\":\"string\",\"filePath\":null,\"qualifiedName\":\"/string\",\"typeParameters\":null,\"directParents\":null},\"isOptional\":true,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\"}],\"methods\":[],\"typeParameters\":[],\"directParents\":[{\"packageName\":\"@proteinjs/user\",\"name\":\"ScopedRecord\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/user/ScopedRecord\",\"properties\":[],\"methods\":[],\"typeParameters\":[],\"directParents\":[]}],\"sourceType\":3}},{\"v\":\"@proteinjs/db-file/FileTable\",\"value\":{\"packageName\":\"@proteinjs/db-file\",\"name\":\"FileTable\",\"filePath\":\"src/tables/FileTable.ts\",\"qualifiedName\":\"@proteinjs/db-file/FileTable\",\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"properties\":[{\"name\":\"name\",\"type\":null,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\"},{\"name\":\"auth\",\"type\":{\"packageName\":\"\",\"name\":\"Table<File>['auth']\",\"filePath\":null,\"qualifiedName\":\"/Table<File>['auth']\",\"typeParameters\":null,\"directParents\":null},\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\"},{\"name\":\"columns\",\"type\":null,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\"},{\"name\":\"indexes\",\"type\":null,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\"}],\"methods\":[],\"typeParameters\":[],\"directParentInterfaces\":[],\"directParentClasses\":[{\"packageName\":\"@proteinjs/db\",\"name\":\"Table\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/db/Table\",\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"properties\":[],\"methods\":[],\"typeParameters\":[\"@proteinjs/db-file/File\"],\"directParentInterfaces\":[],\"directParentClasses\":[]}],\"sourceType\":2}},{\"v\":\"@proteinjs/service/Service\"}],\"edges\":[{\"v\":\"@proteinjs/db-file/FileCopyForOthers\",\"w\":\"@proteinjs/reflection/Loadable\",\"value\":\"extends interface\"},{\"v\":\"@proteinjs/db-file/FileReachabilityResolver\",\"w\":\"@proteinjs/reflection/Loadable\",\"value\":\"extends interface\"},{\"v\":\"@proteinjs/db-file/DefaultFileStorageDriverFactory\",\"w\":\"@proteinjs/reflection/Loadable\",\"value\":\"extends interface\"},{\"v\":\"@proteinjs/db-file/FileStorage\",\"w\":\"@proteinjs/db-file/FileStorageService\",\"value\":\"implements interface\"},{\"v\":\"@proteinjs/db-file/FileStorageTableWatcher\",\"w\":\"@proteinjs/db/TableWatcher\",\"value\":\"implements interface\"},{\"v\":\"@proteinjs/db-file/FileVariantMaker\",\"w\":\"@proteinjs/reflection/Loadable\",\"value\":\"extends interface\"},{\"v\":\"@proteinjs/db-file/getFile\",\"w\":\"@proteinjs/server-api/Route\",\"value\":\"has type\"},{\"v\":\"@proteinjs/db-file/getFileVariant\",\"w\":\"@proteinjs/server-api/Route\",\"value\":\"has type\"},{\"v\":\"@proteinjs/db-file/FileData\",\"w\":\"@proteinjs/user/ScopedRecord\",\"value\":\"extends interface\"},{\"v\":\"@proteinjs/db-file/FileDataTable\",\"w\":\"@proteinjs/db/Table\",\"value\":\"extends class\"},{\"v\":\"@proteinjs/db-file/File\",\"w\":\"@proteinjs/user/ScopedRecord\",\"value\":\"extends interface\"},{\"v\":\"@proteinjs/db-file/FileTable\",\"w\":\"@proteinjs/db/Table\",\"value\":\"extends class\"},{\"v\":\"@proteinjs/db-file/FileStorageService\",\"w\":\"@proteinjs/service/Service\",\"value\":\"extends interface\"}]}";
24
+ var sourceGraph = "{\"options\":{\"directed\":true,\"multigraph\":false,\"compound\":false},\"nodes\":[{\"v\":\"@proteinjs/db-file/FileCopyForOthers\",\"value\":{\"packageName\":\"@proteinjs/db-file\",\"name\":\"FileCopyForOthers\",\"filePath\":\"src/FileCopyForOthers.ts\",\"qualifiedName\":\"@proteinjs/db-file/FileCopyForOthers\",\"properties\":[],\"methods\":[{\"name\":\"appliesTo\",\"returnType\":{\"packageName\":\"\",\"name\":\"boolean\",\"filePath\":null,\"qualifiedName\":\"/boolean\",\"typeParameters\":null,\"directParents\":null},\"isAsync\":false,\"isOptional\":false,\"isAbstract\":true,\"isStatic\":false,\"visibility\":\"public\",\"parameters\":[{\"name\":\"file\",\"type\":{\"packageName\":\"@proteinjs/db-file\",\"name\":\"File\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/db-file/File\",\"typeParameters\":null,\"directParents\":null}}]},{\"name\":\"make\",\"returnType\":{\"packageName\":\"\",\"name\":\"Promise<Buffer>\",\"filePath\":null,\"qualifiedName\":\"/Promise<Buffer>\",\"typeParameters\":null,\"directParents\":null},\"isAsync\":false,\"isOptional\":false,\"isAbstract\":true,\"isStatic\":false,\"visibility\":\"public\",\"parameters\":[{\"name\":\"file\",\"type\":{\"packageName\":\"@proteinjs/db-file\",\"name\":\"File\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/db-file/File\",\"typeParameters\":null,\"directParents\":null}},{\"name\":\"bytes\",\"type\":{\"packageName\":\"\",\"name\":\"Buffer\",\"filePath\":null,\"qualifiedName\":\"/Buffer\",\"typeParameters\":null,\"directParents\":null}}]}],\"typeParameters\":[],\"directParents\":[{\"packageName\":\"@proteinjs/reflection\",\"name\":\"Loadable\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/reflection/Loadable\",\"properties\":[],\"methods\":[],\"typeParameters\":[],\"directParents\":[]}],\"sourceType\":3}},{\"v\":\"@proteinjs/reflection/Loadable\"},{\"v\":\"/Error\"},{\"v\":\"@proteinjs/db-file/FileReachabilityResolver\",\"value\":{\"packageName\":\"@proteinjs/db-file\",\"name\":\"FileReachabilityResolver\",\"filePath\":\"src/FileReachabilityResolver.ts\",\"qualifiedName\":\"@proteinjs/db-file/FileReachabilityResolver\",\"properties\":[],\"methods\":[{\"name\":\"canReadViaReference\",\"returnType\":{\"packageName\":\"\",\"name\":\"Promise<boolean>\",\"filePath\":null,\"qualifiedName\":\"/Promise<boolean>\",\"typeParameters\":null,\"directParents\":null},\"isAsync\":false,\"isOptional\":false,\"isAbstract\":true,\"isStatic\":false,\"visibility\":\"public\",\"parameters\":[{\"name\":\"fileId\",\"type\":{\"packageName\":\"\",\"name\":\"string\",\"filePath\":null,\"qualifiedName\":\"/string\",\"typeParameters\":null,\"directParents\":null}}]}],\"typeParameters\":[],\"directParents\":[{\"packageName\":\"@proteinjs/reflection\",\"name\":\"Loadable\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/reflection/Loadable\",\"properties\":[],\"methods\":[],\"typeParameters\":[],\"directParents\":[]}],\"sourceType\":3}},{\"v\":\"@proteinjs/db-file/DefaultFileStorageDriverFactory\",\"value\":{\"packageName\":\"@proteinjs/db-file\",\"name\":\"DefaultFileStorageDriverFactory\",\"filePath\":\"src/FileStorage.ts\",\"qualifiedName\":\"@proteinjs/db-file/DefaultFileStorageDriverFactory\",\"properties\":[],\"methods\":[{\"name\":\"getDriver\",\"returnType\":{\"packageName\":\"@proteinjs/db-file\",\"name\":\"FileStorageDriver\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/db-file/FileStorageDriver\",\"typeParameters\":null,\"directParents\":null},\"isAsync\":false,\"isOptional\":false,\"isAbstract\":true,\"isStatic\":false,\"visibility\":\"public\",\"parameters\":[]}],\"typeParameters\":[],\"directParents\":[{\"packageName\":\"@proteinjs/reflection\",\"name\":\"Loadable\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/reflection/Loadable\",\"properties\":[],\"methods\":[],\"typeParameters\":[],\"directParents\":[]}],\"sourceType\":3}},{\"v\":\"@proteinjs/db-file/FileStorage\",\"value\":{\"packageName\":\"@proteinjs/db-file\",\"name\":\"FileStorage\",\"filePath\":\"src/FileStorage.ts\",\"qualifiedName\":\"@proteinjs/db-file/FileStorage\",\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"properties\":[{\"name\":\"driver\",\"type\":{\"packageName\":\"@proteinjs/db-file\",\"name\":\"FileStorageDriver\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/db-file/FileStorageDriver\",\"typeParameters\":null,\"directParents\":null},\"isOptional\":false,\"isAbstract\":false,\"isStatic\":true,\"visibility\":\"private\"},{\"name\":\"derivations\",\"type\":null,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":true,\"visibility\":\"private\"},{\"name\":\"serviceMetadata\",\"type\":null,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\"},{\"name\":\"logger\",\"type\":null,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"private\"}],\"methods\":[{\"name\":\"getDriver\",\"returnType\":{\"packageName\":\"@proteinjs/db-file\",\"name\":\"FileStorageDriver\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/db-file/FileStorageDriver\",\"typeParameters\":null,\"directParents\":null},\"isAsync\":false,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":true,\"visibility\":\"public\",\"parameters\":[]},{\"name\":\"createFile\",\"returnType\":{\"packageName\":\"\",\"name\":\"Promise<File>\",\"filePath\":null,\"qualifiedName\":\"/Promise<File>\",\"typeParameters\":null,\"directParents\":null},\"isAsync\":true,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"parameters\":[{\"name\":\"fileMetaData\",\"type\":{\"packageName\":\"\",\"name\":\"Omit<File, keyof ScopedRecord>\",\"filePath\":null,\"qualifiedName\":\"/Omit<File, keyof ScopedRecord>\",\"typeParameters\":null,\"directParents\":null}},{\"name\":\"fileData\",\"type\":{\"packageName\":\"\",\"name\":\"string\",\"filePath\":null,\"qualifiedName\":\"/string\",\"typeParameters\":null,\"directParents\":null}}]},{\"name\":\"getFile\",\"returnType\":{\"packageName\":\"\",\"name\":\"Promise<File>\",\"filePath\":null,\"qualifiedName\":\"/Promise<File>\",\"typeParameters\":null,\"directParents\":null},\"isAsync\":true,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"parameters\":[{\"name\":\"fileId\",\"type\":{\"packageName\":\"\",\"name\":\"string\",\"filePath\":null,\"qualifiedName\":\"/string\",\"typeParameters\":null,\"directParents\":null}}]},{\"name\":\"getVariant\",\"returnType\":{\"packageName\":\"\",\"name\":\"Promise<File | undefined>\",\"filePath\":null,\"qualifiedName\":\"/Promise<File | undefined>\",\"typeParameters\":null,\"directParents\":null},\"isAsync\":true,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"parameters\":[{\"name\":\"fileId\",\"type\":{\"packageName\":\"\",\"name\":\"string\",\"filePath\":null,\"qualifiedName\":\"/string\",\"typeParameters\":null,\"directParents\":null}},{\"name\":\"kind\",\"type\":{\"packageName\":\"@proteinjs/db-file\",\"name\":\"FileVariantKind\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/db-file/FileVariantKind\",\"typeParameters\":null,\"directParents\":null}}]},{\"name\":\"deriveVariants\",\"returnType\":{\"packageName\":\"\",\"name\":\"Promise<{ file: File; variants: Partial<Record<FileVariantKind, File>> }>\",\"filePath\":null,\"qualifiedName\":\"/Promise<{ file: File; variants: Partial<Record<FileVariantKind, File>> }>\",\"typeParameters\":null,\"directParents\":null},\"isAsync\":true,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"parameters\":[{\"name\":\"file\",\"type\":{\"packageName\":\"@proteinjs/db-file\",\"name\":\"File\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/db-file/File\",\"typeParameters\":null,\"directParents\":null}},{\"name\":\"bytes\",\"type\":{\"packageName\":\"\",\"name\":\"Buffer\",\"filePath\":null,\"qualifiedName\":\"/Buffer\",\"typeParameters\":null,\"directParents\":null}}]},{\"name\":\"getFileData\",\"returnType\":{\"packageName\":\"\",\"name\":\"Promise<string>\",\"filePath\":null,\"qualifiedName\":\"/Promise<string>\",\"typeParameters\":null,\"directParents\":null},\"isAsync\":true,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"parameters\":[{\"name\":\"fileId\",\"type\":{\"packageName\":\"\",\"name\":\"string\",\"filePath\":null,\"qualifiedName\":\"/string\",\"typeParameters\":null,\"directParents\":null}}]},{\"name\":\"getAuthorizedFileData\",\"returnType\":{\"packageName\":\"\",\"name\":\"Promise<string>\",\"filePath\":null,\"qualifiedName\":\"/Promise<string>\",\"typeParameters\":null,\"directParents\":null},\"isAsync\":true,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"parameters\":[{\"name\":\"file\",\"type\":{\"packageName\":\"@proteinjs/db-file\",\"name\":\"File\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/db-file/File\",\"typeParameters\":null,\"directParents\":null}}]},{\"name\":\"getSignedUrl\",\"returnType\":{\"packageName\":\"\",\"name\":\"Promise<string | undefined>\",\"filePath\":null,\"qualifiedName\":\"/Promise<string | undefined>\",\"typeParameters\":null,\"directParents\":null},\"isAsync\":true,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"parameters\":[{\"name\":\"fileId\",\"type\":{\"packageName\":\"\",\"name\":\"string\",\"filePath\":null,\"qualifiedName\":\"/string\",\"typeParameters\":null,\"directParents\":null}},{\"name\":\"options\",\"type\":{\"packageName\":\"@proteinjs/db-file\",\"name\":\"{ ttlMs?: number }\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/db-file/{ ttlMs?: number }\",\"typeParameters\":null,\"directParents\":null}}]},{\"name\":\"updateFileData\",\"returnType\":{\"packageName\":\"\",\"name\":\"Promise<void>\",\"filePath\":null,\"qualifiedName\":\"/Promise<void>\",\"typeParameters\":null,\"directParents\":null},\"isAsync\":true,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"parameters\":[{\"name\":\"fileId\",\"type\":{\"packageName\":\"\",\"name\":\"string\",\"filePath\":null,\"qualifiedName\":\"/string\",\"typeParameters\":null,\"directParents\":null}},{\"name\":\"data\",\"type\":{\"packageName\":\"\",\"name\":\"string\",\"filePath\":null,\"qualifiedName\":\"/string\",\"typeParameters\":null,\"directParents\":null}}]},{\"name\":\"updateFile\",\"returnType\":{\"packageName\":\"\",\"name\":\"Promise<void>\",\"filePath\":null,\"qualifiedName\":\"/Promise<void>\",\"typeParameters\":null,\"directParents\":null},\"isAsync\":true,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"parameters\":[{\"name\":\"file\",\"type\":{\"packageName\":\"\",\"name\":\"Omit<File, keyof ScopedRecord>\",\"filePath\":null,\"qualifiedName\":\"/Omit<File, keyof ScopedRecord>\",\"typeParameters\":null,\"directParents\":null}}]},{\"name\":\"deleteFile\",\"returnType\":{\"packageName\":\"\",\"name\":\"Promise<void>\",\"filePath\":null,\"qualifiedName\":\"/Promise<void>\",\"typeParameters\":null,\"directParents\":null},\"isAsync\":true,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"parameters\":[{\"name\":\"fileId\",\"type\":{\"packageName\":\"\",\"name\":\"string\",\"filePath\":null,\"qualifiedName\":\"/string\",\"typeParameters\":null,\"directParents\":null}}]},{\"name\":\"servedFileId\",\"returnType\":{\"packageName\":\"\",\"name\":\"Promise<string>\",\"filePath\":null,\"qualifiedName\":\"/Promise<string>\",\"typeParameters\":null,\"directParents\":null},\"isAsync\":true,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"private\",\"parameters\":[{\"name\":\"file\",\"type\":{\"packageName\":\"@proteinjs/db-file\",\"name\":\"File\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/db-file/File\",\"typeParameters\":null,\"directParents\":null}}]},{\"name\":\"ownedByCaller\",\"returnType\":{\"packageName\":\"\",\"name\":\"boolean\",\"filePath\":null,\"qualifiedName\":\"/boolean\",\"typeParameters\":null,\"directParents\":null},\"isAsync\":false,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"private\",\"parameters\":[{\"name\":\"file\",\"type\":{\"packageName\":\"@proteinjs/db-file\",\"name\":\"File\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/db-file/File\",\"typeParameters\":null,\"directParents\":null}}]},{\"name\":\"makeCopyForOthers\",\"returnType\":{\"packageName\":\"\",\"name\":\"Promise<string>\",\"filePath\":null,\"qualifiedName\":\"/Promise<string>\",\"typeParameters\":null,\"directParents\":null},\"isAsync\":true,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"private\",\"parameters\":[{\"name\":\"file\",\"type\":{\"packageName\":\"@proteinjs/db-file\",\"name\":\"File\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/db-file/File\",\"typeParameters\":null,\"directParents\":null}}]},{\"name\":\"deriveOnce\",\"returnType\":{\"packageName\":\"\",\"name\":\"Promise<string | undefined>\",\"filePath\":null,\"qualifiedName\":\"/Promise<string | undefined>\",\"typeParameters\":null,\"directParents\":null},\"isAsync\":false,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"private\",\"parameters\":[{\"name\":\"file\",\"type\":{\"packageName\":\"@proteinjs/db-file\",\"name\":\"File\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/db-file/File\",\"typeParameters\":null,\"directParents\":null}},{\"name\":\"kind\",\"type\":{\"packageName\":\"@proteinjs/db-file\",\"name\":\"FileVariantKind\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/db-file/FileVariantKind\",\"typeParameters\":null,\"directParents\":null}}]},{\"name\":\"makeVariant\",\"returnType\":{\"packageName\":\"\",\"name\":\"Promise<string>\",\"filePath\":null,\"qualifiedName\":\"/Promise<string>\",\"typeParameters\":null,\"directParents\":null},\"isAsync\":true,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"private\",\"parameters\":[{\"name\":\"file\",\"type\":{\"packageName\":\"@proteinjs/db-file\",\"name\":\"File\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/db-file/File\",\"typeParameters\":null,\"directParents\":null}},{\"name\":\"kind\",\"type\":{\"packageName\":\"@proteinjs/db-file\",\"name\":\"FileVariantKind\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/db-file/FileVariantKind\",\"typeParameters\":null,\"directParents\":null}},{\"name\":\"bytes\",\"type\":{\"packageName\":\"\",\"name\":\"Buffer\",\"filePath\":null,\"qualifiedName\":\"/Buffer\",\"typeParameters\":null,\"directParents\":null}}]},{\"name\":\"dropDerivedFiles\",\"returnType\":{\"packageName\":\"\",\"name\":\"Promise<void>\",\"filePath\":null,\"qualifiedName\":\"/Promise<void>\",\"typeParameters\":null,\"directParents\":null},\"isAsync\":true,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"private\",\"parameters\":[{\"name\":\"file\",\"type\":{\"packageName\":\"@proteinjs/db-file\",\"name\":\"File\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/db-file/File\",\"typeParameters\":null,\"directParents\":null}}]},{\"name\":\"provenanceOf\",\"returnType\":{\"packageName\":\"\",\"name\":\"Partial<File>\",\"filePath\":null,\"qualifiedName\":\"/Partial<File>\",\"typeParameters\":null,\"directParents\":null},\"isAsync\":false,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"private\",\"parameters\":[{\"name\":\"file\",\"type\":{\"packageName\":\"@proteinjs/db-file\",\"name\":\"File\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/db-file/File\",\"typeParameters\":null,\"directParents\":null}}]},{\"name\":\"notFound\",\"returnType\":{\"packageName\":\"@proteinjs/service\",\"name\":\"ServiceRefusal\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/service/ServiceRefusal\",\"typeParameters\":null,\"directParents\":null},\"isAsync\":false,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":true,\"visibility\":\"private\",\"parameters\":[]}],\"typeParameters\":[],\"directParentInterfaces\":[{\"packageName\":\"@proteinjs/db-file\",\"name\":\"FileStorageService\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/db-file/FileStorageService\",\"properties\":[],\"methods\":[],\"typeParameters\":[],\"directParents\":[]}],\"directParentClasses\":[],\"sourceType\":2}},{\"v\":\"@proteinjs/db-file/FileStorageService\",\"value\":{\"packageName\":\"@proteinjs/db-file\",\"name\":\"FileStorageService\",\"filePath\":\"src/services/FileStorageService.ts\",\"qualifiedName\":\"@proteinjs/db-file/FileStorageService\",\"properties\":[],\"methods\":[{\"name\":\"createFile\",\"returnType\":{\"packageName\":\"\",\"name\":\"Promise<File>\",\"filePath\":null,\"qualifiedName\":\"/Promise<File>\",\"typeParameters\":null,\"directParents\":null},\"isAsync\":false,\"isOptional\":false,\"isAbstract\":true,\"isStatic\":false,\"visibility\":\"public\",\"parameters\":[{\"name\":\"fileMetaData\",\"type\":{\"packageName\":\"\",\"name\":\"Omit<File, keyof ScopedRecord>\",\"filePath\":null,\"qualifiedName\":\"/Omit<File, keyof ScopedRecord>\",\"typeParameters\":null,\"directParents\":null}},{\"name\":\"fileData\",\"type\":{\"packageName\":\"\",\"name\":\"string\",\"filePath\":null,\"qualifiedName\":\"/string\",\"typeParameters\":null,\"directParents\":null}}]},{\"name\":\"getFile\",\"returnType\":{\"packageName\":\"\",\"name\":\"Promise<File>\",\"filePath\":null,\"qualifiedName\":\"/Promise<File>\",\"typeParameters\":null,\"directParents\":null},\"isAsync\":false,\"isOptional\":false,\"isAbstract\":true,\"isStatic\":false,\"visibility\":\"public\",\"parameters\":[{\"name\":\"fileId\",\"type\":{\"packageName\":\"\",\"name\":\"string\",\"filePath\":null,\"qualifiedName\":\"/string\",\"typeParameters\":null,\"directParents\":null}}]},{\"name\":\"getFileData\",\"returnType\":{\"packageName\":\"\",\"name\":\"Promise<string>\",\"filePath\":null,\"qualifiedName\":\"/Promise<string>\",\"typeParameters\":null,\"directParents\":null},\"isAsync\":false,\"isOptional\":false,\"isAbstract\":true,\"isStatic\":false,\"visibility\":\"public\",\"parameters\":[{\"name\":\"fileId\",\"type\":{\"packageName\":\"\",\"name\":\"string\",\"filePath\":null,\"qualifiedName\":\"/string\",\"typeParameters\":null,\"directParents\":null}}]},{\"name\":\"updateFileData\",\"returnType\":{\"packageName\":\"\",\"name\":\"Promise<void>\",\"filePath\":null,\"qualifiedName\":\"/Promise<void>\",\"typeParameters\":null,\"directParents\":null},\"isAsync\":false,\"isOptional\":false,\"isAbstract\":true,\"isStatic\":false,\"visibility\":\"public\",\"parameters\":[{\"name\":\"fileId\",\"type\":{\"packageName\":\"\",\"name\":\"string\",\"filePath\":null,\"qualifiedName\":\"/string\",\"typeParameters\":null,\"directParents\":null}},{\"name\":\"data\",\"type\":{\"packageName\":\"\",\"name\":\"string\",\"filePath\":null,\"qualifiedName\":\"/string\",\"typeParameters\":null,\"directParents\":null}}]},{\"name\":\"updateFile\",\"returnType\":{\"packageName\":\"\",\"name\":\"Promise<void>\",\"filePath\":null,\"qualifiedName\":\"/Promise<void>\",\"typeParameters\":null,\"directParents\":null},\"isAsync\":false,\"isOptional\":false,\"isAbstract\":true,\"isStatic\":false,\"visibility\":\"public\",\"parameters\":[{\"name\":\"file\",\"type\":{\"packageName\":\"\",\"name\":\"Omit<File, keyof ScopedRecord>\",\"filePath\":null,\"qualifiedName\":\"/Omit<File, keyof ScopedRecord>\",\"typeParameters\":null,\"directParents\":null}}]},{\"name\":\"deleteFile\",\"returnType\":{\"packageName\":\"\",\"name\":\"Promise<void>\",\"filePath\":null,\"qualifiedName\":\"/Promise<void>\",\"typeParameters\":null,\"directParents\":null},\"isAsync\":false,\"isOptional\":false,\"isAbstract\":true,\"isStatic\":false,\"visibility\":\"public\",\"parameters\":[{\"name\":\"fileId\",\"type\":{\"packageName\":\"\",\"name\":\"string\",\"filePath\":null,\"qualifiedName\":\"/string\",\"typeParameters\":null,\"directParents\":null}}]}],\"typeParameters\":[],\"directParents\":[{\"packageName\":\"@proteinjs/service\",\"name\":\"Service\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/service/Service\",\"properties\":[],\"methods\":[],\"typeParameters\":[],\"directParents\":[]}],\"sourceType\":3}},{\"v\":\"/'not-found' | 'precondition-failed' | 'forbidden' | 'unavailable' | 'unknown'\"},{\"v\":\"@proteinjs/db-file/FileStorageTableWatcher\",\"value\":{\"packageName\":\"@proteinjs/db-file\",\"name\":\"FileStorageTableWatcher\",\"filePath\":\"src/FileStorageTableWatcher.ts\",\"qualifiedName\":\"@proteinjs/db-file/FileStorageTableWatcher\",\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"properties\":[{\"name\":\"logger\",\"type\":null,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"private\"}],\"methods\":[{\"name\":\"name\",\"returnType\":{\"packageName\":\"\",\"name\":\"string\",\"filePath\":null,\"qualifiedName\":\"/string\",\"typeParameters\":null,\"directParents\":null},\"isAsync\":false,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"parameters\":[]},{\"name\":\"table\",\"returnType\":{\"packageName\":\"\",\"name\":\"Table<File>\",\"filePath\":null,\"qualifiedName\":\"/Table<File>\",\"typeParameters\":null,\"directParents\":null},\"isAsync\":false,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"parameters\":[]},{\"name\":\"beforeDelete\",\"returnType\":{\"packageName\":\"\",\"name\":\"Promise<void>\",\"filePath\":null,\"qualifiedName\":\"/Promise<void>\",\"typeParameters\":null,\"directParents\":null},\"isAsync\":true,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"parameters\":[{\"name\":\"recordsToDelete\",\"type\":{\"packageName\":\"\",\"name\":\"T[]\",\"filePath\":null,\"qualifiedName\":\"/T[]\",\"typeParameters\":null,\"directParents\":null}},{\"name\":\"initialQb\",\"type\":{\"packageName\":\"\",\"name\":\"QueryBuilder<T>\",\"filePath\":null,\"qualifiedName\":\"/QueryBuilder<T>\",\"typeParameters\":null,\"directParents\":null}},{\"name\":\"deleteQb\",\"type\":{\"packageName\":\"\",\"name\":\"QueryBuilder<T>\",\"filePath\":null,\"qualifiedName\":\"/QueryBuilder<T>\",\"typeParameters\":null,\"directParents\":null}}]}],\"typeParameters\":[],\"directParentInterfaces\":[{\"packageName\":\"@proteinjs/db\",\"name\":\"TableWatcher\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/db/TableWatcher\",\"properties\":[],\"methods\":[],\"typeParameters\":[\"@proteinjs/db-file/File\"],\"directParents\":[]}],\"directParentClasses\":[],\"sourceType\":2}},{\"v\":\"@proteinjs/db/TableWatcher\"},{\"v\":\"/'preview' | 'stage'\"},{\"v\":\"/readonly FileVariantKind[]\"},{\"v\":\"@proteinjs/db-file/FileVariantMaker\",\"value\":{\"packageName\":\"@proteinjs/db-file\",\"name\":\"FileVariantMaker\",\"filePath\":\"src/FileVariantMaker.ts\",\"qualifiedName\":\"@proteinjs/db-file/FileVariantMaker\",\"properties\":[],\"methods\":[{\"name\":\"appliesTo\",\"returnType\":{\"packageName\":\"\",\"name\":\"boolean\",\"filePath\":null,\"qualifiedName\":\"/boolean\",\"typeParameters\":null,\"directParents\":null},\"isAsync\":false,\"isOptional\":false,\"isAbstract\":true,\"isStatic\":false,\"visibility\":\"public\",\"parameters\":[{\"name\":\"file\",\"type\":{\"packageName\":\"@proteinjs/db-file\",\"name\":\"File\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/db-file/File\",\"typeParameters\":null,\"directParents\":null}},{\"name\":\"kind\",\"type\":{\"packageName\":\"@proteinjs/db-file\",\"name\":\"FileVariantKind\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/db-file/FileVariantKind\",\"typeParameters\":null,\"directParents\":null}}]},{\"name\":\"make\",\"returnType\":{\"packageName\":\"\",\"name\":\"Promise<FileVariant>\",\"filePath\":null,\"qualifiedName\":\"/Promise<FileVariant>\",\"typeParameters\":null,\"directParents\":null},\"isAsync\":false,\"isOptional\":false,\"isAbstract\":true,\"isStatic\":false,\"visibility\":\"public\",\"parameters\":[{\"name\":\"file\",\"type\":{\"packageName\":\"@proteinjs/db-file\",\"name\":\"File\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/db-file/File\",\"typeParameters\":null,\"directParents\":null}},{\"name\":\"bytes\",\"type\":{\"packageName\":\"\",\"name\":\"Buffer\",\"filePath\":null,\"qualifiedName\":\"/Buffer\",\"typeParameters\":null,\"directParents\":null}},{\"name\":\"kind\",\"type\":{\"packageName\":\"@proteinjs/db-file\",\"name\":\"FileVariantKind\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/db-file/FileVariantKind\",\"typeParameters\":null,\"directParents\":null}}]}],\"typeParameters\":[],\"directParents\":[{\"packageName\":\"@proteinjs/reflection\",\"name\":\"Loadable\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/reflection/Loadable\",\"properties\":[],\"methods\":[],\"typeParameters\":[],\"directParents\":[]}],\"sourceType\":3}},{\"v\":\"@proteinjs/db-file/getFile\",\"value\":{\"packageName\":\"@proteinjs/db-file\",\"name\":\"getFile\",\"filePath\":\"src/routes/getFile.ts\",\"qualifiedName\":\"@proteinjs/db-file/getFile\",\"type\":{\"packageName\":\"@proteinjs/server-api\",\"name\":\"Route\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/server-api/Route\",\"typeParameters\":[],\"directParents\":[{\"packageName\":\"@proteinjs/server-api\",\"name\":\"Route\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/server-api/Route\",\"typeParameters\":[],\"directParents\":null}]},\"isExported\":true,\"isConst\":true,\"sourceType\":0}},{\"v\":\"@proteinjs/server-api/Route\"},{\"v\":\"@proteinjs/db-file/getFileVariant\",\"value\":{\"packageName\":\"@proteinjs/db-file\",\"name\":\"getFileVariant\",\"filePath\":\"src/routes/getFileVariant.ts\",\"qualifiedName\":\"@proteinjs/db-file/getFileVariant\",\"type\":{\"packageName\":\"@proteinjs/server-api\",\"name\":\"Route\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/server-api/Route\",\"typeParameters\":[],\"directParents\":[{\"packageName\":\"@proteinjs/server-api\",\"name\":\"Route\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/server-api/Route\",\"typeParameters\":[],\"directParents\":null}]},\"isExported\":true,\"isConst\":true,\"sourceType\":0}},{\"v\":\"@proteinjs/service/Service\"},{\"v\":\"@proteinjs/db-file/FileData\",\"value\":{\"packageName\":\"@proteinjs/db-file\",\"name\":\"FileData\",\"filePath\":\"src/tables/FileDataTable.ts\",\"qualifiedName\":\"@proteinjs/db-file/FileData\",\"properties\":[{\"name\":\"file\",\"type\":{\"packageName\":\"\",\"name\":\"Reference<File>\",\"filePath\":null,\"qualifiedName\":\"/Reference<File>\",\"typeParameters\":null,\"directParents\":null},\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\"},{\"name\":\"order\",\"type\":{\"packageName\":\"\",\"name\":\"number\",\"filePath\":null,\"qualifiedName\":\"/number\",\"typeParameters\":null,\"directParents\":null},\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\"},{\"name\":\"data\",\"type\":{\"packageName\":\"\",\"name\":\"string\",\"filePath\":null,\"qualifiedName\":\"/string\",\"typeParameters\":null,\"directParents\":null},\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\"}],\"methods\":[],\"typeParameters\":[],\"directParents\":[{\"packageName\":\"@proteinjs/user\",\"name\":\"ScopedRecord\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/user/ScopedRecord\",\"properties\":[],\"methods\":[],\"typeParameters\":[],\"directParents\":[]}],\"sourceType\":3}},{\"v\":\"@proteinjs/user/ScopedRecord\"},{\"v\":\"@proteinjs/db-file/FileDataTable\",\"value\":{\"packageName\":\"@proteinjs/db-file\",\"name\":\"FileDataTable\",\"filePath\":\"src/tables/FileDataTable.ts\",\"qualifiedName\":\"@proteinjs/db-file/FileDataTable\",\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"properties\":[{\"name\":\"name\",\"type\":null,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\"},{\"name\":\"auth\",\"type\":{\"packageName\":\"\",\"name\":\"Table<FileData>['auth']\",\"filePath\":null,\"qualifiedName\":\"/Table<FileData>['auth']\",\"typeParameters\":null,\"directParents\":null},\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\"},{\"name\":\"columns\",\"type\":null,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\"}],\"methods\":[],\"typeParameters\":[],\"directParentInterfaces\":[],\"directParentClasses\":[{\"packageName\":\"@proteinjs/db\",\"name\":\"Table\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/db/Table\",\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"properties\":[],\"methods\":[],\"typeParameters\":[\"@proteinjs/db-file/FileData\"],\"directParentInterfaces\":[],\"directParentClasses\":[]}],\"sourceType\":2}},{\"v\":\"@proteinjs/db/Table\"},{\"v\":\"@proteinjs/db-file/File\",\"value\":{\"packageName\":\"@proteinjs/db-file\",\"name\":\"File\",\"filePath\":\"src/tables/FileTable.ts\",\"qualifiedName\":\"@proteinjs/db-file/File\",\"properties\":[{\"name\":\"name\",\"type\":{\"packageName\":\"\",\"name\":\"string\",\"filePath\":null,\"qualifiedName\":\"/string\",\"typeParameters\":null,\"directParents\":null},\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\"},{\"name\":\"type\",\"type\":{\"packageName\":\"\",\"name\":\"string\",\"filePath\":null,\"qualifiedName\":\"/string\",\"typeParameters\":null,\"directParents\":null},\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\"},{\"name\":\"size\",\"type\":{\"packageName\":\"\",\"name\":\"number\",\"filePath\":null,\"qualifiedName\":\"/number\",\"typeParameters\":null,\"directParents\":null},\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\"},{\"name\":\"preview\",\"type\":{\"packageName\":\"\",\"name\":\"Reference<File> | null\",\"filePath\":null,\"qualifiedName\":\"/Reference<File> | null\",\"typeParameters\":null,\"directParents\":null},\"isOptional\":true,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\"},{\"name\":\"stage\",\"type\":{\"packageName\":\"\",\"name\":\"Reference<File> | null\",\"filePath\":null,\"qualifiedName\":\"/Reference<File> | null\",\"typeParameters\":null,\"directParents\":null},\"isOptional\":true,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\"},{\"name\":\"variantOf\",\"type\":{\"packageName\":\"\",\"name\":\"Reference<File> | null\",\"filePath\":null,\"qualifiedName\":\"/Reference<File> | null\",\"typeParameters\":null,\"directParents\":null},\"isOptional\":true,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\"},{\"name\":\"copyForOthers\",\"type\":{\"packageName\":\"\",\"name\":\"Reference<File> | null\",\"filePath\":null,\"qualifiedName\":\"/Reference<File> | null\",\"typeParameters\":null,\"directParents\":null},\"isOptional\":true,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\"},{\"name\":\"width\",\"type\":{\"packageName\":\"\",\"name\":\"number\",\"filePath\":null,\"qualifiedName\":\"/number\",\"typeParameters\":null,\"directParents\":null},\"isOptional\":true,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\"},{\"name\":\"height\",\"type\":{\"packageName\":\"\",\"name\":\"number\",\"filePath\":null,\"qualifiedName\":\"/number\",\"typeParameters\":null,\"directParents\":null},\"isOptional\":true,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\"},{\"name\":\"durationMs\",\"type\":{\"packageName\":\"\",\"name\":\"number\",\"filePath\":null,\"qualifiedName\":\"/number\",\"typeParameters\":null,\"directParents\":null},\"isOptional\":true,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\"},{\"name\":\"transparent\",\"type\":{\"packageName\":\"\",\"name\":\"boolean\",\"filePath\":null,\"qualifiedName\":\"/boolean\",\"typeParameters\":null,\"directParents\":null},\"isOptional\":true,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\"},{\"name\":\"sourceUrl\",\"type\":{\"packageName\":\"\",\"name\":\"string\",\"filePath\":null,\"qualifiedName\":\"/string\",\"typeParameters\":null,\"directParents\":null},\"isOptional\":true,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\"},{\"name\":\"sourcePageUrl\",\"type\":{\"packageName\":\"\",\"name\":\"string\",\"filePath\":null,\"qualifiedName\":\"/string\",\"typeParameters\":null,\"directParents\":null},\"isOptional\":true,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\"},{\"name\":\"retrievedAt\",\"type\":{\"packageName\":\"\",\"name\":\"Date\",\"filePath\":null,\"qualifiedName\":\"/Date\",\"typeParameters\":null,\"directParents\":null},\"isOptional\":true,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\"},{\"name\":\"license\",\"type\":{\"packageName\":\"\",\"name\":\"string\",\"filePath\":null,\"qualifiedName\":\"/string\",\"typeParameters\":null,\"directParents\":null},\"isOptional\":true,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\"},{\"name\":\"licenseUrl\",\"type\":{\"packageName\":\"\",\"name\":\"string\",\"filePath\":null,\"qualifiedName\":\"/string\",\"typeParameters\":null,\"directParents\":null},\"isOptional\":true,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\"},{\"name\":\"attribution\",\"type\":{\"packageName\":\"\",\"name\":\"string\",\"filePath\":null,\"qualifiedName\":\"/string\",\"typeParameters\":null,\"directParents\":null},\"isOptional\":true,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\"},{\"name\":\"contentHash\",\"type\":{\"packageName\":\"\",\"name\":\"string\",\"filePath\":null,\"qualifiedName\":\"/string\",\"typeParameters\":null,\"directParents\":null},\"isOptional\":true,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\"},{\"name\":\"origin\",\"type\":{\"packageName\":\"\",\"name\":\"string\",\"filePath\":null,\"qualifiedName\":\"/string\",\"typeParameters\":null,\"directParents\":null},\"isOptional\":true,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\"},{\"name\":\"originModel\",\"type\":{\"packageName\":\"\",\"name\":\"string\",\"filePath\":null,\"qualifiedName\":\"/string\",\"typeParameters\":null,\"directParents\":null},\"isOptional\":true,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\"}],\"methods\":[],\"typeParameters\":[],\"directParents\":[{\"packageName\":\"@proteinjs/user\",\"name\":\"ScopedRecord\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/user/ScopedRecord\",\"properties\":[],\"methods\":[],\"typeParameters\":[],\"directParents\":[]}],\"sourceType\":3}},{\"v\":\"@proteinjs/db-file/FileTable\",\"value\":{\"packageName\":\"@proteinjs/db-file\",\"name\":\"FileTable\",\"filePath\":\"src/tables/FileTable.ts\",\"qualifiedName\":\"@proteinjs/db-file/FileTable\",\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"properties\":[{\"name\":\"provenanceColumns\",\"type\":{\"packageName\":\"\",\"name\":\"ReadonlyArray<keyof File>\",\"filePath\":null,\"qualifiedName\":\"/ReadonlyArray<keyof File>\",\"typeParameters\":null,\"directParents\":null},\"isOptional\":false,\"isAbstract\":false,\"isStatic\":true,\"visibility\":\"public\"},{\"name\":\"name\",\"type\":null,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\"},{\"name\":\"auth\",\"type\":{\"packageName\":\"\",\"name\":\"Table<File>['auth']\",\"filePath\":null,\"qualifiedName\":\"/Table<File>['auth']\",\"typeParameters\":null,\"directParents\":null},\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\"},{\"name\":\"columns\",\"type\":null,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\"},{\"name\":\"indexes\",\"type\":null,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\"}],\"methods\":[],\"typeParameters\":[],\"directParentInterfaces\":[],\"directParentClasses\":[{\"packageName\":\"@proteinjs/db\",\"name\":\"Table\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/db/Table\",\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"properties\":[],\"methods\":[],\"typeParameters\":[\"@proteinjs/db-file/File\"],\"directParentInterfaces\":[],\"directParentClasses\":[]}],\"sourceType\":2}}],\"edges\":[{\"v\":\"@proteinjs/db-file/FileCopyForOthers\",\"w\":\"@proteinjs/reflection/Loadable\",\"value\":\"extends interface\"},{\"v\":\"@proteinjs/db-file/FileReachabilityResolver\",\"w\":\"@proteinjs/reflection/Loadable\",\"value\":\"extends interface\"},{\"v\":\"@proteinjs/db-file/DefaultFileStorageDriverFactory\",\"w\":\"@proteinjs/reflection/Loadable\",\"value\":\"extends interface\"},{\"v\":\"@proteinjs/db-file/FileStorage\",\"w\":\"@proteinjs/db-file/FileStorageService\",\"value\":\"implements interface\"},{\"v\":\"@proteinjs/db-file/FileStorageTableWatcher\",\"w\":\"@proteinjs/db/TableWatcher\",\"value\":\"implements interface\"},{\"v\":\"@proteinjs/db-file/FileVariantMaker\",\"w\":\"@proteinjs/reflection/Loadable\",\"value\":\"extends interface\"},{\"v\":\"@proteinjs/db-file/getFile\",\"w\":\"@proteinjs/server-api/Route\",\"value\":\"has type\"},{\"v\":\"@proteinjs/db-file/getFileVariant\",\"w\":\"@proteinjs/server-api/Route\",\"value\":\"has type\"},{\"v\":\"@proteinjs/db-file/FileStorageService\",\"w\":\"@proteinjs/service/Service\",\"value\":\"extends interface\"},{\"v\":\"@proteinjs/db-file/FileData\",\"w\":\"@proteinjs/user/ScopedRecord\",\"value\":\"extends interface\"},{\"v\":\"@proteinjs/db-file/FileDataTable\",\"w\":\"@proteinjs/db/Table\",\"value\":\"extends class\"},{\"v\":\"@proteinjs/db-file/File\",\"w\":\"@proteinjs/user/ScopedRecord\",\"value\":\"extends interface\"},{\"v\":\"@proteinjs/db-file/FileTable\",\"w\":\"@proteinjs/db/Table\",\"value\":\"extends class\"}]}";
25
25
  /** Generate Source Links */
26
26
  var FileStorage_1 = require("../src/FileStorage");
27
27
  var FileStorageTableWatcher_1 = require("../src/FileStorageTableWatcher");
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../generated/index.ts"],"names":[],"mappings":";AAAA,oCAAoC;;;;;;;;;;;;;;;;AAEpC,yBAAuB;AACvB,6BAA2B;AAC3B,iCAA+B;AAC/B,8BAA4B;AAC5B,2BAAyB;AAGzB,4BAA4B;AAE5B,IAAM,WAAW,GAAG,qznCAAqznC,CAAC;AAG10nC,4BAA4B;AAE5B,kDAAiD;AACjD,0EAAyE;AACzE,iDAAgD;AAChD,+DAA8D;AAC9D,6DAA4D;AAC5D,qDAAoD;AAEpD,IAAM,WAAW,GAAG;IACnB,gCAAgC,EAAE,yBAAW;IAC7C,4CAA4C,EAAE,iDAAuB;IACrE,4BAA4B,EAAE,iBAAO;IACrC,mCAAmC,EAAE,+BAAc;IACnD,kCAAkC,EAAE,6BAAa;IACjD,8BAA8B,EAAE,qBAAS;CACzC,CAAC;AAGF,kCAAkC;AAElC,oDAAyD;AACzD,6BAAgB,CAAC,KAAK,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;AAGjD,2CAAyB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../generated/index.ts"],"names":[],"mappings":";AAAA,oCAAoC;;;;;;;;;;;;;;;;AAEpC,yBAAuB;AACvB,6BAA2B;AAC3B,iCAA+B;AAC/B,8BAA4B;AAC5B,2BAAyB;AAGzB,4BAA4B;AAE5B,IAAM,WAAW,GAAG,g3pCAAg3pC,CAAC;AAGr4pC,4BAA4B;AAE5B,kDAAiD;AACjD,0EAAyE;AACzE,iDAAgD;AAChD,+DAA8D;AAC9D,6DAA4D;AAC5D,qDAAoD;AAEpD,IAAM,WAAW,GAAG;IACnB,gCAAgC,EAAE,yBAAW;IAC7C,4CAA4C,EAAE,iDAAuB;IACrE,4BAA4B,EAAE,iBAAO;IACrC,mCAAmC,EAAE,+BAAc;IACnD,kCAAkC,EAAE,6BAAa;IACjD,8BAA8B,EAAE,qBAAS;CACzC,CAAC;AAGF,kCAAkC;AAElC,oDAAyD;AACzD,6BAAgB,CAAC,KAAK,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;AAGjD,2CAAyB"}
@@ -71,8 +71,9 @@ export declare class FileStorage implements FileStorageService {
71
71
  * not derive it, gets its variant on the first request from a surface that draws it; every
72
72
  * later request is served the same row without the maker). Server-only, like `getSignedUrl` —
73
73
  * the browser asks by URL, never by service call. Access is the original's ({@link getFile});
74
- * the variant is stored as the owner's own File whoever's read made it, and is served like any
75
- * File afterwards — with the same non-owner copy rule.
74
+ * the variant is stored as the owner's own File whoever's read made it, carrying the original's
75
+ * provenance ({@link FileTable.provenanceColumns}), and is served like any File afterwards —
76
+ * with the same non-owner copy rule.
76
77
  * @returns The variant's File row, or `undefined` when the caller cannot read the original, no
77
78
  * maker is registered, the maker does not apply to this file for this kind, or the
78
79
  * maker could not make it of these bytes (the consumer then draws the original).
@@ -81,8 +82,9 @@ export declare class FileStorage implements FileStorageService {
81
82
  /**
82
83
  * Make and store every variant the registered maker applies to, with the original's bytes in
83
84
  * hand (the ingest's door — one decode of bytes just stored, never a re-read). Each is named on
84
- * the row; a kind the maker does not apply to is left unset (the read path may derive it later
85
- * if the maker's rule changes). With no maker registered nothing is made.
85
+ * the row and carries the original's provenance ({@link FileTable.provenanceColumns}); a kind
86
+ * the maker does not apply to is left unset (the read path may derive it later if the maker's
87
+ * rule changes). With no maker registered nothing is made.
86
88
  * @returns The caller's file row with each variant made here named on it (the row as the caller
87
89
  * holds it, not a re-read — an unset column stays unset), and the variant Files made.
88
90
  */
@@ -200,7 +202,8 @@ export declare class FileStorage implements FileStorageService {
200
202
  private ownedByCaller;
201
203
  /**
202
204
  * Makes the copy (the maker's bytes, from the original's), stores it as a File in the owner's
203
- * scope and names it on the original's row. Two non-owners reading at once may both get here:
205
+ * scope — the original's name, type, dimensions and provenance ({@link provenanceOf}) on it —
206
+ * and names it on the original's row. Two non-owners reading at once may both get here:
204
207
  * the row's word wins — decided in ONE transaction (the read of the row and the write of its
205
208
  * word together, so racing writers are serialized and the loser's transaction, retried, finds
206
209
  * the winner named) — and a copy that lost is deleted after the commit, the first is served.
@@ -220,7 +223,9 @@ export declare class FileStorage implements FileStorageService {
220
223
  private deriveOnce;
221
224
  /**
222
225
  * Makes the variant (the maker's answer from the original's bytes), stores it as a File in the
223
- * OWNER's scope naming its original, and names it on the original's row. Two readers may derive
226
+ * OWNER's scope naming its original and carrying the original's provenance ({@link provenanceOf}
227
+ * — the maker answers the bytes, their type and their dimensions, never where they came from),
228
+ * and names it on the original's row. Two readers may derive
224
229
  * the same kind at once: the row's word wins — decided in ONE transaction, exactly as the copy
225
230
  * for others is named — and the variant that lost is deleted after the commit. The maker's own
226
231
  * failure (it could not make the variant of these bytes) is thrown as {@link FileVariantNotMade}
@@ -235,6 +240,14 @@ export declare class FileStorage implements FileStorageService {
235
240
  * others and every variant kind, one rule.
236
241
  */
237
242
  private dropDerivedFiles;
243
+ /**
244
+ * The provenance a derived File carries — its original's, column for column, as the table names
245
+ * them ({@link FileTable.provenanceColumns}): a rendition of the bytes came to exist the way the
246
+ * bytes did, from where they did, under the rights they carry. Only what the row holds is
247
+ * copied, so a row with no provenance derives rows with none — nothing is invented. A row that
248
+ * is itself derived already carries its original's, so a derivation of it carries the same.
249
+ */
250
+ private provenanceOf;
238
251
  /**
239
252
  * THE answer a byte door gives a caller who does not get the file's bytes — a row that is not
240
253
  * there, one this caller cannot read, or a copy that cannot be made for them: a 404 refusal in
@@ -1 +1 @@
1
- {"version":3,"file":"FileStorage.d.ts","sourceRoot":"","sources":["../../src/FileStorage.ts"],"names":[],"mappings":";;AACA,OAAO,EAAE,YAAY,EAA8C,MAAM,iBAAiB,CAAC;AAC3F,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAE1C,OAAO,EAAE,kBAAkB,EAAyB,MAAM,+BAA+B,CAAC;AAC1F,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAGxD,OAAO,EAGL,eAAe,EAGhB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,QAAQ,EAAoB,MAAM,uBAAuB,CAAC;AAKnE;;;KAGK;AACL,eAAO,MAAM,cAAc,mBACiE,CAAC;AAE7F;;GAEG;AACH,MAAM,WAAW,+BAAgC,SAAQ,QAAQ;IAC/D,SAAS,IAAI,iBAAiB,CAAC;CAChC;AAED;;;;GAIG;AACH,qBAAa,WAAY,YAAW,kBAAkB;IACpD,OAAO,CAAC,MAAM,CAAC,MAAM,CAAoB;IACzC,sGAAsG;IACtG,OAAO,CAAC,MAAM,CAAC,WAAW,CAAkD;IAErE,eAAe;;;;MAIpB;IACF,OAAO,CAAC,MAAM,CAA+C;IAE7D;;;;;OAKG;IACH,MAAM,CAAC,SAAS,IAAI,iBAAiB;IAkBrC;;;;;OAKG;IACG,UAAU,CAAC,YAAY,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,YAAY,CAAC,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAO/F;;;;;;;;;;;;;;;;OAgBG;IACG,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA4B5C;;;;;;;;;;;;OAYG;IACG,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,GAAG,SAAS,CAAC;IAiBlF;;;;;;;OAOG;IACG,cAAc,CAClB,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC;QAAE,IAAI,EAAE,IAAI,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC,CAAA;KAAE,CAAC;IAgB5E;;;;;;;;;;;;;;;;;;;;;OAqBG;IACG,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IASlD;;;;;;;;;;;;;OAaG;IACG,qBAAqB,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC;IAIxD;;;;;;;;;;;;;OAaG;IACG,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAc7F;;;;;;;;;;;;;;;OAeG;IACG,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAWjE;;;OAGG;IACG,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,YAAY,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAUrE;;;;;;OAMG;IACG,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAK/C;;;;;;;;;;;;;;OAcG;YACW,YAAY;IAyB1B;;;;;OAKG;IACH,OAAO,CAAC,aAAa;IAIrB;;;;;;OAMG;YACW,iBAAiB;IAwC/B;;;;;;;;;;OAUG;IACH,OAAO,CAAC,UAAU;IAyBlB;;;;;;;;;OASG;YACW,WAAW;IAuCzB;;;;OAIG;YACW,gBAAgB;IAiB9B;;;;;;OAMG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ;CAGxB"}
1
+ {"version":3,"file":"FileStorage.d.ts","sourceRoot":"","sources":["../../src/FileStorage.ts"],"names":[],"mappings":";;AACA,OAAO,EAAE,YAAY,EAA8C,MAAM,iBAAiB,CAAC;AAC3F,OAAO,EAAE,IAAI,EAAa,MAAM,oBAAoB,CAAC;AAErD,OAAO,EAAE,kBAAkB,EAAyB,MAAM,+BAA+B,CAAC;AAC1F,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAGxD,OAAO,EAGL,eAAe,EAGhB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,QAAQ,EAAoB,MAAM,uBAAuB,CAAC;AAKnE;;;KAGK;AACL,eAAO,MAAM,cAAc,mBACiE,CAAC;AAE7F;;GAEG;AACH,MAAM,WAAW,+BAAgC,SAAQ,QAAQ;IAC/D,SAAS,IAAI,iBAAiB,CAAC;CAChC;AAED;;;;GAIG;AACH,qBAAa,WAAY,YAAW,kBAAkB;IACpD,OAAO,CAAC,MAAM,CAAC,MAAM,CAAoB;IACzC,sGAAsG;IACtG,OAAO,CAAC,MAAM,CAAC,WAAW,CAAkD;IAErE,eAAe;;;;MAIpB;IACF,OAAO,CAAC,MAAM,CAA+C;IAE7D;;;;;OAKG;IACH,MAAM,CAAC,SAAS,IAAI,iBAAiB;IAkBrC;;;;;OAKG;IACG,UAAU,CAAC,YAAY,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,YAAY,CAAC,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAO/F;;;;;;;;;;;;;;;;OAgBG;IACG,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA4B5C;;;;;;;;;;;;;OAaG;IACG,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,GAAG,SAAS,CAAC;IAiBlF;;;;;;;;OAQG;IACG,cAAc,CAClB,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC;QAAE,IAAI,EAAE,IAAI,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC,CAAA;KAAE,CAAC;IAgB5E;;;;;;;;;;;;;;;;;;;;;OAqBG;IACG,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IASlD;;;;;;;;;;;;;OAaG;IACG,qBAAqB,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC;IAIxD;;;;;;;;;;;;;OAaG;IACG,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAc7F;;;;;;;;;;;;;;;OAeG;IACG,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAWjE;;;OAGG;IACG,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,YAAY,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAUrE;;;;;;OAMG;IACG,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAK/C;;;;;;;;;;;;;;OAcG;YACW,YAAY;IAyB1B;;;;;OAKG;IACH,OAAO,CAAC,aAAa;IAIrB;;;;;;;OAOG;YACW,iBAAiB;IAyC/B;;;;;;;;;;OAUG;IACH,OAAO,CAAC,UAAU;IAyBlB;;;;;;;;;;;OAWG;YACW,WAAW;IAwCzB;;;;OAIG;YACW,gBAAgB;IAiB9B;;;;;;OAMG;IACH,OAAO,CAAC,YAAY;IAWpB;;;;;;OAMG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ;CAGxB"}
@@ -59,6 +59,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
59
59
  exports.FileStorage = exports.getFileStorage = void 0;
60
60
  var db_1 = require("@proteinjs/db");
61
61
  var user_1 = require("@proteinjs/user");
62
+ var FileTable_1 = require("./tables/FileTable");
62
63
  var tables_1 = require("./tables/tables");
63
64
  var FileStorageService_1 = require("./services/FileStorageService");
64
65
  var FileReachabilityResolver_1 = require("./FileReachabilityResolver");
@@ -207,8 +208,9 @@ var FileStorage = /** @class */ (function () {
207
208
  * not derive it, gets its variant on the first request from a surface that draws it; every
208
209
  * later request is served the same row without the maker). Server-only, like `getSignedUrl` —
209
210
  * the browser asks by URL, never by service call. Access is the original's ({@link getFile});
210
- * the variant is stored as the owner's own File whoever's read made it, and is served like any
211
- * File afterwards — with the same non-owner copy rule.
211
+ * the variant is stored as the owner's own File whoever's read made it, carrying the original's
212
+ * provenance ({@link FileTable.provenanceColumns}), and is served like any File afterwards —
213
+ * with the same non-owner copy rule.
212
214
  * @returns The variant's File row, or `undefined` when the caller cannot read the original, no
213
215
  * maker is registered, the maker does not apply to this file for this kind, or the
214
216
  * maker could not make it of these bytes (the consumer then draws the original).
@@ -253,8 +255,9 @@ var FileStorage = /** @class */ (function () {
253
255
  /**
254
256
  * Make and store every variant the registered maker applies to, with the original's bytes in
255
257
  * hand (the ingest's door — one decode of bytes just stored, never a re-read). Each is named on
256
- * the row; a kind the maker does not apply to is left unset (the read path may derive it later
257
- * if the maker's rule changes). With no maker registered nothing is made.
258
+ * the row and carries the original's provenance ({@link FileTable.provenanceColumns}); a kind
259
+ * the maker does not apply to is left unset (the read path may derive it later if the maker's
260
+ * rule changes). With no maker registered nothing is made.
258
261
  * @returns The caller's file row with each variant made here named on it (the row as the caller
259
262
  * holds it, not a re-read — an unset column stays unset), and the variant Files made.
260
263
  */
@@ -549,7 +552,8 @@ var FileStorage = /** @class */ (function () {
549
552
  };
550
553
  /**
551
554
  * Makes the copy (the maker's bytes, from the original's), stores it as a File in the owner's
552
- * scope and names it on the original's row. Two non-owners reading at once may both get here:
555
+ * scope — the original's name, type, dimensions and provenance ({@link provenanceOf}) on it —
556
+ * and names it on the original's row. Two non-owners reading at once may both get here:
553
557
  * the row's word wins — decided in ONE transaction (the read of the row and the write of its
554
558
  * word together, so racing writers are serialized and the loser's transaction, retried, finds
555
559
  * the winner named) — and a copy that lost is deleted after the commit, the first is served.
@@ -580,7 +584,7 @@ var FileStorage = /** @class */ (function () {
580
584
  throw new FileCopyForOthers_1.FileCopyRefused(file.id, cause_1);
581
585
  case 5:
582
586
  system = (0, db_1.getDbAsSystem)();
583
- return [4 /*yield*/, system.insert(tables_1.tables.File, __assign(__assign(__assign(__assign({ name: file.name, type: file.type, size: copyBytes.length }, (file.width !== undefined && file.width !== null ? { width: file.width } : {})), (file.height !== undefined && file.height !== null ? { height: file.height } : {})), (file.durationMs !== undefined && file.durationMs !== null ? { durationMs: file.durationMs } : {})), { scope: file.scope }))];
587
+ return [4 /*yield*/, system.insert(tables_1.tables.File, __assign(__assign(__assign(__assign(__assign({ name: file.name, type: file.type, size: copyBytes.length }, (file.width !== undefined && file.width !== null ? { width: file.width } : {})), (file.height !== undefined && file.height !== null ? { height: file.height } : {})), (file.durationMs !== undefined && file.durationMs !== null ? { durationMs: file.durationMs } : {})), this.provenanceOf(file)), { scope: file.scope }))];
584
588
  case 6:
585
589
  copy = _c.sent();
586
590
  return [4 /*yield*/, driver.createFile(copy, copyBytes.toString('base64'))];
@@ -671,7 +675,9 @@ var FileStorage = /** @class */ (function () {
671
675
  };
672
676
  /**
673
677
  * Makes the variant (the maker's answer from the original's bytes), stores it as a File in the
674
- * OWNER's scope naming its original, and names it on the original's row. Two readers may derive
678
+ * OWNER's scope naming its original and carrying the original's provenance ({@link provenanceOf}
679
+ * — the maker answers the bytes, their type and their dimensions, never where they came from),
680
+ * and names it on the original's row. Two readers may derive
675
681
  * the same kind at once: the row's word wins — decided in ONE transaction, exactly as the copy
676
682
  * for others is named — and the variant that lost is deleted after the commit. The maker's own
677
683
  * failure (it could not make the variant of these bytes) is thrown as {@link FileVariantNotMade}
@@ -701,7 +707,7 @@ var FileStorage = /** @class */ (function () {
701
707
  throw new FileVariantMaker_1.FileVariantNotMade(file.id, kind, cause_2);
702
708
  case 4:
703
709
  system = (0, db_1.getDbAsSystem)();
704
- return [4 /*yield*/, system.insert(tables_1.tables.File, __assign(__assign(__assign({ name: "(".concat(kind, ") ").concat(file.name), type: made.type, size: made.bytes.length }, (made.width !== undefined ? { width: made.width } : {})), (made.height !== undefined ? { height: made.height } : {})), { variantOf: new db_1.Reference(tables_1.tables.File.name, file.id), scope: file.scope }))];
710
+ return [4 /*yield*/, system.insert(tables_1.tables.File, __assign(__assign(__assign(__assign({ name: "(".concat(kind, ") ").concat(file.name), type: made.type, size: made.bytes.length }, (made.width !== undefined ? { width: made.width } : {})), (made.height !== undefined ? { height: made.height } : {})), this.provenanceOf(file)), { variantOf: new db_1.Reference(tables_1.tables.File.name, file.id), scope: file.scope }))];
705
711
  case 5:
706
712
  variant = _a.sent();
707
713
  return [4 /*yield*/, driver.createFile(variant, made.bytes.toString('base64'))];
@@ -784,6 +790,25 @@ var FileStorage = /** @class */ (function () {
784
790
  });
785
791
  });
786
792
  };
793
+ /**
794
+ * The provenance a derived File carries — its original's, column for column, as the table names
795
+ * them ({@link FileTable.provenanceColumns}): a rendition of the bytes came to exist the way the
796
+ * bytes did, from where they did, under the rights they carry. Only what the row holds is
797
+ * copied, so a row with no provenance derives rows with none — nothing is invented. A row that
798
+ * is itself derived already carries its original's, so a derivation of it carries the same.
799
+ */
800
+ FileStorage.prototype.provenanceOf = function (file) {
801
+ var _a;
802
+ var provenance = {};
803
+ for (var _i = 0, _b = FileTable_1.FileTable.provenanceColumns; _i < _b.length; _i++) {
804
+ var column = _b[_i];
805
+ var value = file[column];
806
+ if (value !== undefined && value !== null) {
807
+ Object.assign(provenance, (_a = {}, _a[column] = value, _a));
808
+ }
809
+ }
810
+ return provenance;
811
+ };
787
812
  /**
788
813
  * THE answer a byte door gives a caller who does not get the file's bytes — a row that is not
789
814
  * there, one this caller cannot read, or a copy that cannot be made for them: a 404 refusal in
@@ -1 +1 @@
1
- {"version":3,"file":"FileStorage.js","sourceRoot":"","sources":["../../src/FileStorage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FileStorage.js","sourceRoot":"","sources":["../../src/FileStorage.ts"],"names":[],"mappings":"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"}
@@ -9,7 +9,11 @@ import { File } from './tables/FileTable';
9
9
  */
10
10
  export type FileVariantKind = 'preview' | 'stage';
11
11
  export declare const FILE_VARIANT_KINDS: readonly FileVariantKind[];
12
- /** What the maker hands back for a variant: the bytes, their type, and the facts a consumer renders from without loading them. */
12
+ /**
13
+ * What the maker hands back for a variant: the bytes, their type, and the facts a consumer renders
14
+ * from without loading them. Where the bytes came from is not the maker's to answer: the library
15
+ * writes the original's provenance on the variant's row (`FileTable.provenanceColumns`).
16
+ */
13
17
  export interface FileVariant {
14
18
  bytes: Buffer;
15
19
  type: string;
@@ -19,8 +23,9 @@ export interface FileVariant {
19
23
  /**
20
24
  * How a derived File of a File is made — ONE owner for "a variant of this file's bytes".
21
25
  *
22
- * The library owns the seat on the row, the lifecycle and the access rule for every variant
23
- * (`FileStorage.deriveVariants` at ingest, `FileStorage.getVariant` on the read path); the one
26
+ * The library owns the seat on the row, the lifecycle, the access rule and the provenance (the
27
+ * original's) for every variant (`FileStorage.deriveVariants` at ingest, `FileStorage.getVariant`
28
+ * on the read path); the one
24
29
  * package that knows the file's format registers how the variant's bytes are made — a picture's
25
30
  * 512 px thumbnail (`preview`) and its 1600 px rendition for the stage (`stage`) are two answers
26
31
  * of the same maker, never two mechanisms. Dependency direction is the
@@ -1 +1 @@
1
- {"version":3,"file":"FileVariantMaker.d.ts","sourceRoot":"","sources":["../../src/FileVariantMaker.ts"],"names":[],"mappings":";;AAAA,OAAO,EAAE,QAAQ,EAAoB,MAAM,uBAAuB,CAAC;AACnE,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAE1C;;;;GAIG;AACH,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,OAAO,CAAC;AAElD,eAAO,MAAM,kBAAkB,EAAE,SAAS,eAAe,EAAyB,CAAC;AAEnF,kIAAkI;AAClI,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,gBAAiB,SAAQ,QAAQ;IAChD;;;;OAIG;IACH,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC;IACtD,uIAAuI;IACvI,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;CAC9E;AAED,eAAO,MAAM,mBAAmB,QAAO,gBAAgB,GAAG,SAC8B,CAAC;AAEzF;;;;;;;GAOG;AACH,qBAAa,kBAAmB,SAAQ,KAAK;IAC3C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAwB;IACpD,gEAAgE;IAChE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAO;IAC/C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC;IAC/B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;gBAEZ,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,OAAO;IAUjE,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,kBAAkB;IAItD,OAAO,CAAC,MAAM,CAAC,KAAK;CAOrB"}
1
+ {"version":3,"file":"FileVariantMaker.d.ts","sourceRoot":"","sources":["../../src/FileVariantMaker.ts"],"names":[],"mappings":";;AAAA,OAAO,EAAE,QAAQ,EAAoB,MAAM,uBAAuB,CAAC;AACnE,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAE1C;;;;GAIG;AACH,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,OAAO,CAAC;AAElD,eAAO,MAAM,kBAAkB,EAAE,SAAS,eAAe,EAAyB,CAAC;AAEnF;;;;GAIG;AACH,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,gBAAiB,SAAQ,QAAQ;IAChD;;;;OAIG;IACH,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC;IACtD,uIAAuI;IACvI,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;CAC9E;AAED,eAAO,MAAM,mBAAmB,QAAO,gBAAgB,GAAG,SAC8B,CAAC;AAEzF;;;;;;;GAOG;AACH,qBAAa,kBAAmB,SAAQ,KAAK;IAC3C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAwB;IACpD,gEAAgE;IAChE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAO;IAC/C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC;IAC/B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;gBAEZ,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,OAAO;IAUjE,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,kBAAkB;IAItD,OAAO,CAAC,MAAM,CAAC,KAAK;CAOrB"}