@juzi/file-box 1.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (210) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +613 -0
  3. package/dist/cjs/package.json +3 -0
  4. package/dist/cjs/src/config.d.ts +4 -0
  5. package/dist/cjs/src/config.d.ts.map +1 -0
  6. package/dist/cjs/src/config.js +9 -0
  7. package/dist/cjs/src/config.js.map +1 -0
  8. package/dist/cjs/src/file-box.d.ts +209 -0
  9. package/dist/cjs/src/file-box.d.ts.map +1 -0
  10. package/dist/cjs/src/file-box.js +804 -0
  11. package/dist/cjs/src/file-box.js.map +1 -0
  12. package/dist/cjs/src/file-box.spec.d.ts +14 -0
  13. package/dist/cjs/src/file-box.spec.d.ts.map +1 -0
  14. package/dist/cjs/src/file-box.spec.js +393 -0
  15. package/dist/cjs/src/file-box.spec.js.map +1 -0
  16. package/dist/cjs/src/file-box.type.d.ts +103 -0
  17. package/dist/cjs/src/file-box.type.d.ts.map +1 -0
  18. package/dist/cjs/src/file-box.type.js +34 -0
  19. package/dist/cjs/src/file-box.type.js.map +1 -0
  20. package/dist/cjs/src/interface.d.ts +25 -0
  21. package/dist/cjs/src/interface.d.ts.map +1 -0
  22. package/dist/cjs/src/interface.js +3 -0
  23. package/dist/cjs/src/interface.js.map +1 -0
  24. package/dist/cjs/src/interface.spec.d.ts +3 -0
  25. package/dist/cjs/src/interface.spec.d.ts.map +1 -0
  26. package/dist/cjs/src/interface.spec.js +11 -0
  27. package/dist/cjs/src/interface.spec.js.map +1 -0
  28. package/dist/cjs/src/misc.d.ts +17 -0
  29. package/dist/cjs/src/misc.d.ts.map +1 -0
  30. package/dist/cjs/src/misc.js +137 -0
  31. package/dist/cjs/src/misc.js.map +1 -0
  32. package/dist/cjs/src/misc.spec.d.ts +3 -0
  33. package/dist/cjs/src/misc.spec.d.ts.map +1 -0
  34. package/dist/cjs/src/misc.spec.js +51 -0
  35. package/dist/cjs/src/misc.spec.js.map +1 -0
  36. package/dist/cjs/src/mod.d.ts +9 -0
  37. package/dist/cjs/src/mod.d.ts.map +1 -0
  38. package/dist/cjs/src/mod.js +12 -0
  39. package/dist/cjs/src/mod.js.map +1 -0
  40. package/dist/cjs/src/pure-functions/sized-chunk-transformer.d.ts +13 -0
  41. package/dist/cjs/src/pure-functions/sized-chunk-transformer.d.ts.map +1 -0
  42. package/dist/cjs/src/pure-functions/sized-chunk-transformer.js +45 -0
  43. package/dist/cjs/src/pure-functions/sized-chunk-transformer.js.map +1 -0
  44. package/dist/cjs/src/pure-functions/sized-chunk-transformer.spec.d.ts +3 -0
  45. package/dist/cjs/src/pure-functions/sized-chunk-transformer.spec.d.ts.map +1 -0
  46. package/dist/cjs/src/pure-functions/sized-chunk-transformer.spec.js +39 -0
  47. package/dist/cjs/src/pure-functions/sized-chunk-transformer.spec.js.map +1 -0
  48. package/dist/cjs/src/qrcode.d.ts +6 -0
  49. package/dist/cjs/src/qrcode.d.ts.map +1 -0
  50. package/dist/cjs/src/qrcode.js +35 -0
  51. package/dist/cjs/src/qrcode.js.map +1 -0
  52. package/dist/cjs/src/qrcode.spec.d.ts +3 -0
  53. package/dist/cjs/src/qrcode.spec.d.ts.map +1 -0
  54. package/dist/cjs/src/qrcode.spec.js +47 -0
  55. package/dist/cjs/src/qrcode.spec.js.map +1 -0
  56. package/dist/cjs/src/urn-registry/mod.d.ts +3 -0
  57. package/dist/cjs/src/urn-registry/mod.d.ts.map +1 -0
  58. package/dist/cjs/src/urn-registry/mod.js +6 -0
  59. package/dist/cjs/src/urn-registry/mod.js.map +1 -0
  60. package/dist/cjs/src/urn-registry/random-uuid.d.ts +4 -0
  61. package/dist/cjs/src/urn-registry/random-uuid.d.ts.map +1 -0
  62. package/dist/cjs/src/urn-registry/random-uuid.js +30 -0
  63. package/dist/cjs/src/urn-registry/random-uuid.js.map +1 -0
  64. package/dist/cjs/src/urn-registry/uniform-resource-name-registry.d.ts +76 -0
  65. package/dist/cjs/src/urn-registry/uniform-resource-name-registry.d.ts.map +1 -0
  66. package/dist/cjs/src/urn-registry/uniform-resource-name-registry.js +259 -0
  67. package/dist/cjs/src/urn-registry/uniform-resource-name-registry.js.map +1 -0
  68. package/dist/cjs/src/urn-registry/uniform-resource-name-registry.spec.d.ts +3 -0
  69. package/dist/cjs/src/urn-registry/uniform-resource-name-registry.spec.d.ts.map +1 -0
  70. package/dist/cjs/src/urn-registry/uniform-resource-name-registry.spec.js +81 -0
  71. package/dist/cjs/src/urn-registry/uniform-resource-name-registry.spec.js.map +1 -0
  72. package/dist/cjs/src/urn-registry/uuid-to-big-int.d.ts +8 -0
  73. package/dist/cjs/src/urn-registry/uuid-to-big-int.d.ts.map +1 -0
  74. package/dist/cjs/src/urn-registry/uuid-to-big-int.js +16 -0
  75. package/dist/cjs/src/urn-registry/uuid-to-big-int.js.map +1 -0
  76. package/dist/cjs/src/urn-registry/uuid-to-big-int.spec.d.ts +3 -0
  77. package/dist/cjs/src/urn-registry/uuid-to-big-int.spec.d.ts.map +1 -0
  78. package/dist/cjs/src/urn-registry/uuid-to-big-int.spec.js +17 -0
  79. package/dist/cjs/src/urn-registry/uuid-to-big-int.spec.js.map +1 -0
  80. package/dist/cjs/src/version.d.ts +5 -0
  81. package/dist/cjs/src/version.d.ts.map +1 -0
  82. package/dist/cjs/src/version.js +8 -0
  83. package/dist/cjs/src/version.js.map +1 -0
  84. package/dist/cjs/src/version.spec.d.ts +3 -0
  85. package/dist/cjs/src/version.spec.d.ts.map +1 -0
  86. package/dist/cjs/src/version.spec.js +9 -0
  87. package/dist/cjs/src/version.spec.js.map +1 -0
  88. package/dist/cjs/tests/integration.spec.d.ts +3 -0
  89. package/dist/cjs/tests/integration.spec.d.ts.map +1 -0
  90. package/dist/cjs/tests/integration.spec.js +8 -0
  91. package/dist/cjs/tests/integration.spec.js.map +1 -0
  92. package/dist/cjs/tests/network-timeout.spec.d.ts +3 -0
  93. package/dist/cjs/tests/network-timeout.spec.d.ts.map +1 -0
  94. package/dist/cjs/tests/network-timeout.spec.js +121 -0
  95. package/dist/cjs/tests/network-timeout.spec.js.map +1 -0
  96. package/dist/esm/src/config.d.ts +4 -0
  97. package/dist/esm/src/config.d.ts.map +1 -0
  98. package/dist/esm/src/config.js +5 -0
  99. package/dist/esm/src/config.js.map +1 -0
  100. package/dist/esm/src/file-box.d.ts +209 -0
  101. package/dist/esm/src/file-box.d.ts.map +1 -0
  102. package/dist/esm/src/file-box.js +775 -0
  103. package/dist/esm/src/file-box.js.map +1 -0
  104. package/dist/esm/src/file-box.spec.d.ts +14 -0
  105. package/dist/esm/src/file-box.spec.d.ts.map +1 -0
  106. package/dist/esm/src/file-box.spec.js +386 -0
  107. package/dist/esm/src/file-box.spec.js.map +1 -0
  108. package/dist/esm/src/file-box.type.d.ts +103 -0
  109. package/dist/esm/src/file-box.type.d.ts.map +1 -0
  110. package/dist/esm/src/file-box.type.js +31 -0
  111. package/dist/esm/src/file-box.type.js.map +1 -0
  112. package/dist/esm/src/interface.d.ts +25 -0
  113. package/dist/esm/src/interface.d.ts.map +1 -0
  114. package/dist/esm/src/interface.js +2 -0
  115. package/dist/esm/src/interface.js.map +1 -0
  116. package/dist/esm/src/interface.spec.d.ts +3 -0
  117. package/dist/esm/src/interface.spec.d.ts.map +1 -0
  118. package/dist/esm/src/interface.spec.js +9 -0
  119. package/dist/esm/src/interface.spec.js.map +1 -0
  120. package/dist/esm/src/misc.d.ts +17 -0
  121. package/dist/esm/src/misc.d.ts.map +1 -0
  122. package/dist/esm/src/misc.js +126 -0
  123. package/dist/esm/src/misc.js.map +1 -0
  124. package/dist/esm/src/misc.spec.d.ts +3 -0
  125. package/dist/esm/src/misc.spec.d.ts.map +1 -0
  126. package/dist/esm/src/misc.spec.js +49 -0
  127. package/dist/esm/src/misc.spec.js.map +1 -0
  128. package/dist/esm/src/mod.d.ts +9 -0
  129. package/dist/esm/src/mod.d.ts.map +1 -0
  130. package/dist/esm/src/mod.js +6 -0
  131. package/dist/esm/src/mod.js.map +1 -0
  132. package/dist/esm/src/pure-functions/sized-chunk-transformer.d.ts +13 -0
  133. package/dist/esm/src/pure-functions/sized-chunk-transformer.d.ts.map +1 -0
  134. package/dist/esm/src/pure-functions/sized-chunk-transformer.js +39 -0
  135. package/dist/esm/src/pure-functions/sized-chunk-transformer.js.map +1 -0
  136. package/dist/esm/src/pure-functions/sized-chunk-transformer.spec.d.ts +3 -0
  137. package/dist/esm/src/pure-functions/sized-chunk-transformer.spec.d.ts.map +1 -0
  138. package/dist/esm/src/pure-functions/sized-chunk-transformer.spec.js +37 -0
  139. package/dist/esm/src/pure-functions/sized-chunk-transformer.spec.js.map +1 -0
  140. package/dist/esm/src/qrcode.d.ts +6 -0
  141. package/dist/esm/src/qrcode.d.ts.map +1 -0
  142. package/dist/esm/src/qrcode.js +27 -0
  143. package/dist/esm/src/qrcode.js.map +1 -0
  144. package/dist/esm/src/qrcode.spec.d.ts +3 -0
  145. package/dist/esm/src/qrcode.spec.d.ts.map +1 -0
  146. package/dist/esm/src/qrcode.spec.js +45 -0
  147. package/dist/esm/src/qrcode.spec.js.map +1 -0
  148. package/dist/esm/src/urn-registry/mod.d.ts +3 -0
  149. package/dist/esm/src/urn-registry/mod.d.ts.map +1 -0
  150. package/dist/esm/src/urn-registry/mod.js +3 -0
  151. package/dist/esm/src/urn-registry/mod.js.map +1 -0
  152. package/dist/esm/src/urn-registry/random-uuid.d.ts +4 -0
  153. package/dist/esm/src/urn-registry/random-uuid.d.ts.map +1 -0
  154. package/dist/esm/src/urn-registry/random-uuid.js +4 -0
  155. package/dist/esm/src/urn-registry/random-uuid.js.map +1 -0
  156. package/dist/esm/src/urn-registry/uniform-resource-name-registry.d.ts +76 -0
  157. package/dist/esm/src/urn-registry/uniform-resource-name-registry.d.ts.map +1 -0
  158. package/dist/esm/src/urn-registry/uniform-resource-name-registry.js +253 -0
  159. package/dist/esm/src/urn-registry/uniform-resource-name-registry.js.map +1 -0
  160. package/dist/esm/src/urn-registry/uniform-resource-name-registry.spec.d.ts +3 -0
  161. package/dist/esm/src/urn-registry/uniform-resource-name-registry.spec.d.ts.map +1 -0
  162. package/dist/esm/src/urn-registry/uniform-resource-name-registry.spec.js +79 -0
  163. package/dist/esm/src/urn-registry/uniform-resource-name-registry.spec.js.map +1 -0
  164. package/dist/esm/src/urn-registry/uuid-to-big-int.d.ts +8 -0
  165. package/dist/esm/src/urn-registry/uuid-to-big-int.d.ts.map +1 -0
  166. package/dist/esm/src/urn-registry/uuid-to-big-int.js +13 -0
  167. package/dist/esm/src/urn-registry/uuid-to-big-int.js.map +1 -0
  168. package/dist/esm/src/urn-registry/uuid-to-big-int.spec.d.ts +3 -0
  169. package/dist/esm/src/urn-registry/uuid-to-big-int.spec.d.ts.map +1 -0
  170. package/dist/esm/src/urn-registry/uuid-to-big-int.spec.js +15 -0
  171. package/dist/esm/src/urn-registry/uuid-to-big-int.spec.js.map +1 -0
  172. package/dist/esm/src/version.d.ts +5 -0
  173. package/dist/esm/src/version.d.ts.map +1 -0
  174. package/dist/esm/src/version.js +5 -0
  175. package/dist/esm/src/version.js.map +1 -0
  176. package/dist/esm/src/version.spec.d.ts +3 -0
  177. package/dist/esm/src/version.spec.d.ts.map +1 -0
  178. package/dist/esm/src/version.spec.js +7 -0
  179. package/dist/esm/src/version.spec.js.map +1 -0
  180. package/dist/esm/tests/integration.spec.d.ts +3 -0
  181. package/dist/esm/tests/integration.spec.d.ts.map +1 -0
  182. package/dist/esm/tests/integration.spec.js +6 -0
  183. package/dist/esm/tests/integration.spec.js.map +1 -0
  184. package/dist/esm/tests/network-timeout.spec.d.ts +3 -0
  185. package/dist/esm/tests/network-timeout.spec.d.ts.map +1 -0
  186. package/dist/esm/tests/network-timeout.spec.js +119 -0
  187. package/dist/esm/tests/network-timeout.spec.js.map +1 -0
  188. package/package.json +85 -0
  189. package/src/config.ts +5 -0
  190. package/src/file-box.spec.ts +480 -0
  191. package/src/file-box.ts +1042 -0
  192. package/src/file-box.type.ts +145 -0
  193. package/src/interface.spec.ts +17 -0
  194. package/src/interface.ts +47 -0
  195. package/src/misc.spec.ts +70 -0
  196. package/src/misc.ts +157 -0
  197. package/src/mod.ts +33 -0
  198. package/src/pure-functions/sized-chunk-transformer.spec.ts +52 -0
  199. package/src/pure-functions/sized-chunk-transformer.ts +49 -0
  200. package/src/qrcode.spec.ts +55 -0
  201. package/src/qrcode.ts +38 -0
  202. package/src/typings.d.ts +1 -0
  203. package/src/urn-registry/mod.ts +7 -0
  204. package/src/urn-registry/random-uuid.ts +7 -0
  205. package/src/urn-registry/uniform-resource-name-registry.spec.ts +109 -0
  206. package/src/urn-registry/uniform-resource-name-registry.ts +342 -0
  207. package/src/urn-registry/uuid-to-big-int.spec.ts +19 -0
  208. package/src/urn-registry/uuid-to-big-int.ts +16 -0
  209. package/src/version.spec.ts +9 -0
  210. package/src/version.ts +4 -0
@@ -0,0 +1,209 @@
1
+ /**
2
+ * File Box
3
+ * https://github.com/huan/file-box
4
+ *
5
+ * 2018 Huan LI <zixia@zixia.net>
6
+ */
7
+ /// <reference types="node" />
8
+ /// <reference types="node" />
9
+ /// <reference types="node" />
10
+ import type * as HTTP from 'http';
11
+ import { Readable, Writable } from 'stream';
12
+ import { FileBoxJsonObject, FileBoxOptions, FileBoxType, Metadata, Pipeable, UuidLoader, UuidSaver } from './file-box.type.js';
13
+ import type { FileBoxInterface } from './interface.js';
14
+ declare class FileBox implements Pipeable, FileBoxInterface {
15
+ /**
16
+ *
17
+ * Static Properties
18
+ *
19
+ */
20
+ static readonly version: string;
21
+ /**
22
+ * Symbol.hasInstance: instanceof
23
+ *
24
+ * @link https://www.keithcirkel.co.uk/metaprogramming-in-es6-symbols/
25
+ */
26
+ static [Symbol.hasInstance](lho: any): lho is FileBoxInterface;
27
+ /**
28
+ * Check if obj satisfy FileBox interface
29
+ */
30
+ static valid(target: any): target is FileBoxInterface;
31
+ /**
32
+ * Check if obj satisfy FileBox interface
33
+ */
34
+ static validInterface(target: any): target is FileBoxInterface;
35
+ /**
36
+ * loose check instance of FileBox
37
+ */
38
+ static validInstance(target: any): target is FileBox;
39
+ static fromUrl(url: string, options?: {
40
+ headers?: HTTP.OutgoingHttpHeaders;
41
+ name?: string;
42
+ size?: number;
43
+ md5?: string;
44
+ }): FileBox;
45
+ /**
46
+ * @deprecated use `fromUrl(url, options)` instead
47
+ */
48
+ static fromUrl(url: string, name?: string, headers?: HTTP.OutgoingHttpHeaders): FileBox;
49
+ /**
50
+ * Alias for `FileBox.fromFile()`
51
+ *
52
+ * @alias fromFile
53
+ */
54
+ static fromFile(path: string, name?: string, md5?: string): FileBox;
55
+ /**
56
+ * TODO: add `FileBoxStreamOptions` with `size` support (@huan, 202111)
57
+ */
58
+ static fromStream(stream: Readable, name?: string, md5?: string): FileBox;
59
+ static fromBuffer(buffer: Buffer, name?: string, md5?: string): FileBox;
60
+ /**
61
+ * @param base64
62
+ * @param name the file name of the base64 data
63
+ */
64
+ static fromBase64(base64: string, name?: string, md5?: string): FileBox;
65
+ /**
66
+ * dataURL: `data:image/png;base64,${base64Text}`,
67
+ */
68
+ static fromDataURL(dataUrl: string, name?: string, md5?: string): FileBox;
69
+ /**
70
+ *
71
+ * @param qrCode the value of the QR Code. For example: `https://github.com`
72
+ */
73
+ static fromQRCode(qrCode: string, md5?: string): FileBox;
74
+ protected static uuidToStream?: UuidLoader;
75
+ protected static uuidFromStream?: UuidSaver;
76
+ static fromUuid(uuid: string, options?: {
77
+ name?: string;
78
+ size?: number;
79
+ md5?: string;
80
+ }): FileBox;
81
+ /**
82
+ * @deprecated use `fromUuid(name, options)` instead
83
+ */
84
+ static fromUuid(uuid: string, name?: string, md5?: string): FileBox;
85
+ /**
86
+ * UUID Type FielBox Loader
87
+ */
88
+ static setUuidLoader(loader: UuidLoader): void;
89
+ /**
90
+ * UUID Type FielBox Saver
91
+ */
92
+ static setUuidSaver(saver: UuidSaver): void;
93
+ /**
94
+ *
95
+ * @static
96
+ * @param {(FileBoxJsonObject | string)} obj
97
+ * @returns {FileBox}
98
+ */
99
+ static fromJSON(obj: FileBoxJsonObject | string): FileBox;
100
+ /**
101
+ *
102
+ * Instance Properties
103
+ *
104
+ */
105
+ readonly version: string;
106
+ /**
107
+ * We are using a getter for `type` is because
108
+ * getter name can be enumurated by the `Object.hasOwnProperties()`*
109
+ * but property name can not.
110
+ *
111
+ * * required by `validInterface()`
112
+ */
113
+ readonly _type: FileBoxType;
114
+ get type(): FileBoxType;
115
+ /**
116
+ * the Content-Length of the file
117
+ * `SIZE_UNKNOWN(-1)` means unknown
118
+ *
119
+ * @example
120
+ * ```ts
121
+ * const fileBox = FileBox.fromUrl('http://example.com/image.png')
122
+ * await fileBox.ready()
123
+ * console.log(fileBox.size)
124
+ * // > 102400 <- this is the size of the remote image.png
125
+ * ```
126
+ */
127
+ _size?: number;
128
+ get size(): number;
129
+ /**
130
+ * File MD5 Sum
131
+ */
132
+ readonly md5: undefined | string;
133
+ /**
134
+ * @deprecated: use `mediaType` instead. will be removed after Dec 31, 2022
135
+ */
136
+ mimeType: string;
137
+ /**
138
+ * (Internet) Media Type is the proper technical term of `MIME Type`
139
+ * @see https://stackoverflow.com/a/9277778/1123955
140
+ *
141
+ * @example 'text/plain'
142
+ */
143
+ protected _mediaType?: string;
144
+ get mediaType(): string;
145
+ protected _name: string;
146
+ get name(): string;
147
+ protected _metadata?: Metadata;
148
+ get metadata(): Metadata;
149
+ set metadata(data: Metadata);
150
+ /**
151
+ * Lazy load data: (can be serialized to JSON)
152
+ * Do not read file to Buffer until there's a consumer.
153
+ */
154
+ private readonly base64?;
155
+ private readonly remoteUrl?;
156
+ private readonly qrCode?;
157
+ private readonly uuid?;
158
+ /**
159
+ * Can not be serialized to JSON
160
+ */
161
+ private readonly buffer?;
162
+ private readonly localPath?;
163
+ private readonly stream?;
164
+ private readonly headers?;
165
+ constructor(options: FileBoxOptions);
166
+ ready(): Promise<void>;
167
+ /**
168
+ * @todo use http.get/gets instead of Request
169
+ */
170
+ protected _syncUrlMetadata(): Promise<void>;
171
+ /**
172
+ *
173
+ * toXXX methods
174
+ *
175
+ */
176
+ toString(): string;
177
+ toJSON(): FileBoxJsonObject;
178
+ toStream(): Promise<Readable>;
179
+ /**
180
+ * https://stackoverflow.com/a/16044400/1123955
181
+ */
182
+ private _transformBufferToStream;
183
+ private _transformBase64ToStream;
184
+ private _transformFileToStream;
185
+ private _transformUrlToStream;
186
+ private _transformQRCodeToStream;
187
+ /**
188
+ * save file
189
+ *
190
+ * @param filePath save file
191
+ */
192
+ toFile(filePath?: string, overwrite?: boolean): Promise<void>;
193
+ toBase64(): Promise<string>;
194
+ /**
195
+ * dataUrl: `data:image/png;base64,${base64Text}',
196
+ */
197
+ toDataURL(): Promise<string>;
198
+ toBuffer(): Promise<Buffer>;
199
+ toQRCode(): Promise<string>;
200
+ toUuid(): Promise<string>;
201
+ /**
202
+ *
203
+ * toXXX methods END
204
+ *
205
+ */
206
+ pipe<T extends Writable>(destination: T): T;
207
+ }
208
+ export { FileBox, };
209
+ //# sourceMappingURL=file-box.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-box.d.ts","sourceRoot":"","sources":["../../../src/file-box.ts"],"names":[],"mappings":"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"}