geotiff 3.0.2 → 3.0.4-beta.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 (279) hide show
  1. package/dist-browser/geotiff.js +3 -3
  2. package/dist-browser/geotiff.js.map +1 -1
  3. package/dist-module/compression/basedecoder.d.ts +30 -4
  4. package/dist-module/compression/basedecoder.d.ts.map +1 -1
  5. package/dist-module/compression/basedecoder.js +22 -1
  6. package/dist-module/compression/basedecoder.js.map +1 -0
  7. package/dist-module/compression/deflate.d.ts +2 -1
  8. package/dist-module/compression/deflate.d.ts.map +1 -1
  9. package/dist-module/compression/deflate.js +2 -0
  10. package/dist-module/compression/deflate.js.map +1 -0
  11. package/dist-module/compression/index.d.ts +14 -22
  12. package/dist-module/compression/index.d.ts.map +1 -1
  13. package/dist-module/compression/index.js +36 -25
  14. package/dist-module/compression/index.js.map +1 -0
  15. package/dist-module/compression/jpeg.d.ts +55 -15
  16. package/dist-module/compression/jpeg.d.ts.map +1 -1
  17. package/dist-module/compression/jpeg.js +187 -16
  18. package/dist-module/compression/jpeg.js.map +1 -0
  19. package/dist-module/compression/lerc.d.ts +11 -1
  20. package/dist-module/compression/lerc.d.ts.map +1 -1
  21. package/dist-module/compression/lerc.js +16 -4
  22. package/dist-module/compression/lerc.js.map +1 -0
  23. package/dist-module/compression/lzw.d.ts +2 -1
  24. package/dist-module/compression/lzw.d.ts.map +1 -1
  25. package/dist-module/compression/lzw.js +29 -1
  26. package/dist-module/compression/lzw.js.map +1 -0
  27. package/dist-module/compression/packbits.d.ts +2 -1
  28. package/dist-module/compression/packbits.d.ts.map +1 -1
  29. package/dist-module/compression/packbits.js +2 -0
  30. package/dist-module/compression/packbits.js.map +1 -0
  31. package/dist-module/compression/raw.d.ts +2 -1
  32. package/dist-module/compression/raw.d.ts.map +1 -1
  33. package/dist-module/compression/raw.js +2 -0
  34. package/dist-module/compression/raw.js.map +1 -0
  35. package/dist-module/compression/webimage.d.ts +2 -1
  36. package/dist-module/compression/webimage.d.ts.map +1 -1
  37. package/dist-module/compression/webimage.js +5 -0
  38. package/dist-module/compression/webimage.js.map +1 -0
  39. package/dist-module/compression/zstd.d.ts +4 -2
  40. package/dist-module/compression/zstd.d.ts.map +1 -1
  41. package/dist-module/compression/zstd.js +3 -1
  42. package/dist-module/compression/zstd.js.map +1 -0
  43. package/dist-module/dataslice.d.ts +78 -22
  44. package/dist-module/dataslice.d.ts.map +1 -1
  45. package/dist-module/dataslice.js +57 -1
  46. package/dist-module/dataslice.js.map +1 -0
  47. package/dist-module/dataview64.d.ts +71 -14
  48. package/dist-module/dataview64.d.ts.map +1 -1
  49. package/dist-module/dataview64.js +58 -1
  50. package/dist-module/dataview64.js.map +1 -0
  51. package/dist-module/geotiff.d.ts +61 -12
  52. package/dist-module/geotiff.d.ts.map +1 -1
  53. package/dist-module/geotiff.js +73 -14
  54. package/dist-module/geotiff.js.map +1 -0
  55. package/dist-module/geotiffimage.d.ts +41 -15
  56. package/dist-module/geotiffimage.d.ts.map +1 -1
  57. package/dist-module/geotiffimage.js +132 -52
  58. package/dist-module/geotiffimage.js.map +1 -0
  59. package/dist-module/geotiffwriter.d.ts +28 -1
  60. package/dist-module/geotiffwriter.d.ts.map +1 -1
  61. package/dist-module/geotiffwriter.js +206 -84
  62. package/dist-module/geotiffwriter.js.map +1 -0
  63. package/dist-module/globals.d.ts +912 -92
  64. package/dist-module/globals.d.ts.map +1 -1
  65. package/dist-module/globals.js +201 -227
  66. package/dist-module/globals.js.map +1 -0
  67. package/dist-module/imagefiledirectory.d.ts +72 -19
  68. package/dist-module/imagefiledirectory.d.ts.map +1 -1
  69. package/dist-module/imagefiledirectory.js +51 -26
  70. package/dist-module/imagefiledirectory.js.map +1 -0
  71. package/dist-module/logging.d.ts +36 -10
  72. package/dist-module/logging.d.ts.map +1 -1
  73. package/dist-module/logging.js +16 -2
  74. package/dist-module/logging.js.map +1 -0
  75. package/dist-module/pool.d.ts +15 -8
  76. package/dist-module/pool.d.ts.map +1 -1
  77. package/dist-module/pool.js +11 -3
  78. package/dist-module/pool.js.map +1 -0
  79. package/dist-module/predictor.d.ts +10 -1
  80. package/dist-module/predictor.d.ts.map +1 -1
  81. package/dist-module/predictor.js +19 -0
  82. package/dist-module/predictor.js.map +1 -0
  83. package/dist-module/resample.d.ts.map +1 -1
  84. package/dist-module/resample.js +12 -0
  85. package/dist-module/resample.js.map +1 -0
  86. package/dist-module/rgb.js +1 -0
  87. package/dist-module/rgb.js.map +1 -0
  88. package/dist-module/source/arraybuffer.d.ts +7 -4
  89. package/dist-module/source/arraybuffer.d.ts.map +1 -1
  90. package/dist-module/source/arraybuffer.js +15 -1
  91. package/dist-module/source/arraybuffer.js.map +1 -0
  92. package/dist-module/source/basesource.d.ts +11 -6
  93. package/dist-module/source/basesource.d.ts.map +1 -1
  94. package/dist-module/source/basesource.js +7 -4
  95. package/dist-module/source/basesource.js.map +1 -0
  96. package/dist-module/source/blockedsource.d.ts +2 -2
  97. package/dist-module/source/blockedsource.d.ts.map +1 -1
  98. package/dist-module/source/blockedsource.js +8 -5
  99. package/dist-module/source/blockedsource.js.map +1 -0
  100. package/dist-module/source/client/base.d.ts +8 -7
  101. package/dist-module/source/client/base.d.ts.map +1 -1
  102. package/dist-module/source/client/base.js +7 -5
  103. package/dist-module/source/client/base.js.map +1 -0
  104. package/dist-module/source/client/fetch.d.ts +6 -2
  105. package/dist-module/source/client/fetch.d.ts.map +1 -1
  106. package/dist-module/source/client/fetch.js +7 -2
  107. package/dist-module/source/client/fetch.js.map +1 -0
  108. package/dist-module/source/client/http.d.ts +27 -5
  109. package/dist-module/source/client/http.d.ts.map +1 -1
  110. package/dist-module/source/client/http.js +16 -2
  111. package/dist-module/source/client/http.js.map +1 -0
  112. package/dist-module/source/client/xhr.d.ts +22 -3
  113. package/dist-module/source/client/xhr.d.ts.map +1 -1
  114. package/dist-module/source/client/xhr.js +12 -2
  115. package/dist-module/source/client/xhr.js.map +1 -0
  116. package/dist-module/source/file.d.ts +8 -5
  117. package/dist-module/source/file.d.ts.map +1 -1
  118. package/dist-module/source/file.js +40 -8
  119. package/dist-module/source/file.js.map +1 -0
  120. package/dist-module/source/filereader.d.ts +12 -4
  121. package/dist-module/source/filereader.d.ts.map +1 -1
  122. package/dist-module/source/filereader.js +15 -2
  123. package/dist-module/source/filereader.js.map +1 -0
  124. package/dist-module/source/httputils.d.ts +16 -9
  125. package/dist-module/source/httputils.d.ts.map +1 -1
  126. package/dist-module/source/httputils.js +19 -12
  127. package/dist-module/source/httputils.js.map +1 -0
  128. package/dist-module/source/remote.d.ts.map +1 -1
  129. package/dist-module/source/remote.js +19 -7
  130. package/dist-module/source/remote.js.map +1 -0
  131. package/dist-module/utils.d.ts +36 -41
  132. package/dist-module/utils.d.ts.map +1 -1
  133. package/dist-module/utils.js +17 -12
  134. package/dist-module/utils.js.map +1 -0
  135. package/dist-module/worker/create.js +1 -1
  136. package/dist-module/worker/create.js.map +1 -0
  137. package/dist-module/worker/decoder.d.ts +2 -0
  138. package/dist-module/worker/decoder.d.ts.map +1 -0
  139. package/dist-module/worker/decoder.js +21 -0
  140. package/dist-module/worker/decoder.js.map +1 -0
  141. package/dist-node/compression/basedecoder.d.ts +30 -4
  142. package/dist-node/compression/basedecoder.d.ts.map +1 -1
  143. package/dist-node/compression/basedecoder.js +22 -1
  144. package/dist-node/compression/basedecoder.js.map +1 -1
  145. package/dist-node/compression/deflate.d.ts +2 -1
  146. package/dist-node/compression/deflate.d.ts.map +1 -1
  147. package/dist-node/compression/deflate.js +2 -0
  148. package/dist-node/compression/deflate.js.map +1 -1
  149. package/dist-node/compression/index.d.ts +14 -22
  150. package/dist-node/compression/index.d.ts.map +1 -1
  151. package/dist-node/compression/index.js +36 -25
  152. package/dist-node/compression/index.js.map +1 -1
  153. package/dist-node/compression/jpeg.d.ts +55 -16
  154. package/dist-node/compression/jpeg.d.ts.map +1 -1
  155. package/dist-node/compression/jpeg.js +187 -16
  156. package/dist-node/compression/jpeg.js.map +1 -1
  157. package/dist-node/compression/lerc.d.ts +11 -1
  158. package/dist-node/compression/lerc.d.ts.map +1 -1
  159. package/dist-node/compression/lerc.js +16 -4
  160. package/dist-node/compression/lerc.js.map +1 -1
  161. package/dist-node/compression/lzw.d.ts +2 -1
  162. package/dist-node/compression/lzw.d.ts.map +1 -1
  163. package/dist-node/compression/lzw.js +29 -1
  164. package/dist-node/compression/lzw.js.map +1 -1
  165. package/dist-node/compression/packbits.d.ts +2 -1
  166. package/dist-node/compression/packbits.d.ts.map +1 -1
  167. package/dist-node/compression/packbits.js +2 -0
  168. package/dist-node/compression/packbits.js.map +1 -1
  169. package/dist-node/compression/raw.d.ts +2 -1
  170. package/dist-node/compression/raw.d.ts.map +1 -1
  171. package/dist-node/compression/raw.js +2 -0
  172. package/dist-node/compression/raw.js.map +1 -1
  173. package/dist-node/compression/webimage.d.ts +2 -2
  174. package/dist-node/compression/webimage.d.ts.map +1 -1
  175. package/dist-node/compression/webimage.js +5 -0
  176. package/dist-node/compression/webimage.js.map +1 -1
  177. package/dist-node/compression/zstd.d.ts +2 -1
  178. package/dist-node/compression/zstd.d.ts.map +1 -1
  179. package/dist-node/compression/zstd.js +3 -1
  180. package/dist-node/compression/zstd.js.map +1 -1
  181. package/dist-node/dataslice.d.ts +78 -22
  182. package/dist-node/dataslice.d.ts.map +1 -1
  183. package/dist-node/dataslice.js +57 -1
  184. package/dist-node/dataslice.js.map +1 -1
  185. package/dist-node/dataview64.d.ts +71 -14
  186. package/dist-node/dataview64.d.ts.map +1 -1
  187. package/dist-node/dataview64.js +58 -1
  188. package/dist-node/dataview64.js.map +1 -1
  189. package/dist-node/geotiff.d.ts +61 -12
  190. package/dist-node/geotiff.d.ts.map +1 -1
  191. package/dist-node/geotiff.js +75 -15
  192. package/dist-node/geotiff.js.map +1 -1
  193. package/dist-node/geotiffimage.d.ts +41 -15
  194. package/dist-node/geotiffimage.d.ts.map +1 -1
  195. package/dist-node/geotiffimage.js +132 -52
  196. package/dist-node/geotiffimage.js.map +1 -1
  197. package/dist-node/geotiffwriter.d.ts +28 -1
  198. package/dist-node/geotiffwriter.d.ts.map +1 -1
  199. package/dist-node/geotiffwriter.js +206 -84
  200. package/dist-node/geotiffwriter.js.map +1 -1
  201. package/dist-node/globals.d.ts +910 -90
  202. package/dist-node/globals.d.ts.map +1 -1
  203. package/dist-node/globals.js +202 -228
  204. package/dist-node/globals.js.map +1 -1
  205. package/dist-node/imagefiledirectory.d.ts +72 -19
  206. package/dist-node/imagefiledirectory.d.ts.map +1 -1
  207. package/dist-node/imagefiledirectory.js +51 -26
  208. package/dist-node/imagefiledirectory.js.map +1 -1
  209. package/dist-node/logging.d.ts +36 -10
  210. package/dist-node/logging.d.ts.map +1 -1
  211. package/dist-node/logging.js +16 -2
  212. package/dist-node/logging.js.map +1 -1
  213. package/dist-node/pool.d.ts +15 -8
  214. package/dist-node/pool.d.ts.map +1 -1
  215. package/dist-node/pool.js +11 -3
  216. package/dist-node/pool.js.map +1 -1
  217. package/dist-node/predictor.d.ts +10 -1
  218. package/dist-node/predictor.d.ts.map +1 -1
  219. package/dist-node/predictor.js +19 -0
  220. package/dist-node/predictor.js.map +1 -1
  221. package/dist-node/resample.d.ts.map +1 -1
  222. package/dist-node/resample.js +12 -0
  223. package/dist-node/resample.js.map +1 -1
  224. package/dist-node/rgb.js +1 -0
  225. package/dist-node/rgb.js.map +1 -1
  226. package/dist-node/source/arraybuffer.d.ts +7 -4
  227. package/dist-node/source/arraybuffer.d.ts.map +1 -1
  228. package/dist-node/source/arraybuffer.js +15 -1
  229. package/dist-node/source/arraybuffer.js.map +1 -1
  230. package/dist-node/source/basesource.d.ts +11 -6
  231. package/dist-node/source/basesource.d.ts.map +1 -1
  232. package/dist-node/source/basesource.js +7 -4
  233. package/dist-node/source/basesource.js.map +1 -1
  234. package/dist-node/source/blockedsource.d.ts +2 -2
  235. package/dist-node/source/blockedsource.d.ts.map +1 -1
  236. package/dist-node/source/blockedsource.js +8 -5
  237. package/dist-node/source/blockedsource.js.map +1 -1
  238. package/dist-node/source/client/base.d.ts +8 -7
  239. package/dist-node/source/client/base.d.ts.map +1 -1
  240. package/dist-node/source/client/base.js +7 -5
  241. package/dist-node/source/client/base.js.map +1 -1
  242. package/dist-node/source/client/fetch.d.ts +5 -2
  243. package/dist-node/source/client/fetch.d.ts.map +1 -1
  244. package/dist-node/source/client/fetch.js +7 -2
  245. package/dist-node/source/client/fetch.js.map +1 -1
  246. package/dist-node/source/client/http.d.ts +22 -4
  247. package/dist-node/source/client/http.d.ts.map +1 -1
  248. package/dist-node/source/client/http.js +16 -2
  249. package/dist-node/source/client/http.js.map +1 -1
  250. package/dist-node/source/client/xhr.d.ts +23 -3
  251. package/dist-node/source/client/xhr.d.ts.map +1 -1
  252. package/dist-node/source/client/xhr.js +12 -2
  253. package/dist-node/source/client/xhr.js.map +1 -1
  254. package/dist-node/source/file.d.ts +8 -5
  255. package/dist-node/source/file.d.ts.map +1 -1
  256. package/dist-node/source/file.js +40 -8
  257. package/dist-node/source/file.js.map +1 -1
  258. package/dist-node/source/filereader.d.ts +12 -4
  259. package/dist-node/source/filereader.d.ts.map +1 -1
  260. package/dist-node/source/filereader.js +15 -2
  261. package/dist-node/source/filereader.js.map +1 -1
  262. package/dist-node/source/httputils.d.ts +16 -9
  263. package/dist-node/source/httputils.d.ts.map +1 -1
  264. package/dist-node/source/httputils.js +19 -12
  265. package/dist-node/source/httputils.js.map +1 -1
  266. package/dist-node/source/remote.d.ts.map +1 -1
  267. package/dist-node/source/remote.js +19 -7
  268. package/dist-node/source/remote.js.map +1 -1
  269. package/dist-node/utils.d.ts +9 -8
  270. package/dist-node/utils.d.ts.map +1 -1
  271. package/dist-node/utils.js +17 -12
  272. package/dist-node/utils.js.map +1 -1
  273. package/dist-node/worker/create.js +1 -1
  274. package/dist-node/worker/create.js.map +1 -1
  275. package/dist-node/worker/decoder.d.ts +2 -0
  276. package/dist-node/worker/decoder.d.ts.map +1 -0
  277. package/dist-node/worker/decoder.js +24 -0
  278. package/dist-node/worker/decoder.js.map +1 -0
  279. package/package.json +5 -3
@@ -10,66 +10,843 @@ export function getFieldTypeSize(fieldType: FieldType): number;
10
10
  * Registers a new field tag
11
11
  * @param {number} tag the numeric tiff tag
12
12
  * @param {string} name the name of the tag that will be reported in the IFD
13
- * @param {string|number|undefined} type the tags data type
13
+ * @param {keyof fieldTypes|number|undefined} type the tags data type
14
14
  * @param {Boolean} isArray whether the tag is an array
15
15
  * @param {boolean} [eager=false] whether to eagerly fetch deferred fields.
16
16
  * When false (default), tags are loaded lazily on-demand.
17
17
  * When true, all tags are loaded immediately during parsing.
18
18
  */
19
- export function registerTag(tag: number, name: string, type: string | number | undefined, isArray?: boolean, eager?: boolean): void;
19
+ export function registerTag(tag: number, name: string, type: ("BYTE" | "ASCII" | "SHORT" | "LONG" | "RATIONAL" | "SBYTE" | "UNDEFINED" | "SSHORT" | "SLONG" | "SRATIONAL" | "FLOAT" | "DOUBLE" | "IFD" | "LONG8" | "SLONG8" | "IFD8") | number | undefined, isArray?: boolean, eager?: boolean): void;
20
20
  /**
21
21
  * @param {number|string} tagIdentifier The field tag ID or name
22
22
  * @returns {number} the resolved tag ID
23
23
  */
24
24
  export function resolveTag(tagIdentifier: number | string): number;
25
- export function getTag(tagIdentifier: any): any;
26
- export const fieldTypes: Readonly<{
27
- BYTE: 1;
28
- ASCII: 2;
29
- SHORT: 3;
30
- LONG: 4;
31
- RATIONAL: 5;
32
- SBYTE: 6;
33
- UNDEFINED: 7;
34
- SSHORT: 8;
35
- SLONG: 9;
36
- SRATIONAL: 10;
37
- FLOAT: 11;
38
- DOUBLE: 12;
39
- IFD: 13;
40
- LONG8: 16;
41
- SLONG8: 17;
42
- IFD8: 18;
43
- }>;
25
+ /**
26
+ * @param {number|string} tagIdentifier The field tag ID or name
27
+ * @returns {{ tag: number, name: string, type: string|number|undefined, isArray: boolean, eager: boolean }} the tag definition
28
+ */
29
+ export function getTag(tagIdentifier: number | string): {
30
+ tag: number;
31
+ name: string;
32
+ type: string | number | undefined;
33
+ isArray: boolean;
34
+ eager: boolean;
35
+ };
36
+ export namespace fieldTypes {
37
+ let BYTE: 1;
38
+ let ASCII: 2;
39
+ let SHORT: 3;
40
+ let LONG: 4;
41
+ let RATIONAL: 5;
42
+ let SBYTE: 6;
43
+ let UNDEFINED: 7;
44
+ let SSHORT: 8;
45
+ let SLONG: 9;
46
+ let SRATIONAL: 10;
47
+ let FLOAT: 11;
48
+ let DOUBLE: 12;
49
+ let IFD: 13;
50
+ let LONG8: 16;
51
+ let SLONG8: 17;
52
+ let IFD8: 18;
53
+ }
44
54
  /** @typedef {keyof fieldTypes} FieldTypeName */
45
55
  /** @typedef {fieldTypes[keyof typeof fieldTypes]} FieldType */
46
56
  /** @typedef {Record<FieldTypeName, number>} FieldTypeSizes */
47
- export const fieldTypeSizes: Readonly<{
48
- 1: 1;
49
- 2: 1;
50
- 6: 1;
51
- 7: 1;
52
- 3: 2;
53
- 8: 2;
54
- 4: 4;
55
- 9: 4;
56
- 11: 4;
57
- 13: 4;
58
- 5: 8;
59
- 10: 8;
60
- 12: 8;
61
- 16: 8;
62
- 17: 8;
63
- 18: 8;
64
- }>;
57
+ export const fieldTypeSizes: {
58
+ readonly 1: 1;
59
+ readonly 2: 1;
60
+ readonly 6: 1;
61
+ readonly 7: 1;
62
+ readonly 3: 2;
63
+ readonly 8: 2;
64
+ readonly 4: 4;
65
+ readonly 9: 4;
66
+ readonly 11: 4;
67
+ readonly 13: 4;
68
+ readonly 5: 8;
69
+ readonly 10: 8;
70
+ readonly 12: 8;
71
+ readonly 16: 8;
72
+ readonly 17: 8;
73
+ readonly 18: 8;
74
+ };
75
+ export namespace tagDictionary {
76
+ namespace NewSubfileType {
77
+ export let tag: 254;
78
+ import type = fieldTypes.LONG;
79
+ export { type };
80
+ }
81
+ namespace SubfileType {
82
+ let tag_1: 255;
83
+ export { tag_1 as tag };
84
+ import type_1 = fieldTypes.SHORT;
85
+ export { type_1 as type };
86
+ }
87
+ namespace ImageWidth {
88
+ let tag_2: 256;
89
+ export { tag_2 as tag };
90
+ import type_2 = fieldTypes.SHORT;
91
+ export { type_2 as type };
92
+ }
93
+ namespace ImageLength {
94
+ let tag_3: 257;
95
+ export { tag_3 as tag };
96
+ import type_3 = fieldTypes.SHORT;
97
+ export { type_3 as type };
98
+ }
99
+ namespace BitsPerSample {
100
+ let tag_4: 258;
101
+ export { tag_4 as tag };
102
+ import type_4 = fieldTypes.SHORT;
103
+ export { type_4 as type };
104
+ export let isArray: true;
105
+ export let eager: true;
106
+ }
107
+ namespace Compression {
108
+ let tag_5: 259;
109
+ export { tag_5 as tag };
110
+ import type_5 = fieldTypes.SHORT;
111
+ export { type_5 as type };
112
+ }
113
+ namespace PhotometricInterpretation {
114
+ let tag_6: 262;
115
+ export { tag_6 as tag };
116
+ import type_6 = fieldTypes.SHORT;
117
+ export { type_6 as type };
118
+ }
119
+ namespace Threshholding {
120
+ let tag_7: 263;
121
+ export { tag_7 as tag };
122
+ import type_7 = fieldTypes.SHORT;
123
+ export { type_7 as type };
124
+ }
125
+ namespace CellWidth {
126
+ let tag_8: 264;
127
+ export { tag_8 as tag };
128
+ import type_8 = fieldTypes.SHORT;
129
+ export { type_8 as type };
130
+ }
131
+ namespace CellLength {
132
+ let tag_9: 265;
133
+ export { tag_9 as tag };
134
+ import type_9 = fieldTypes.SHORT;
135
+ export { type_9 as type };
136
+ }
137
+ namespace FillOrder {
138
+ let tag_10: 266;
139
+ export { tag_10 as tag };
140
+ import type_10 = fieldTypes.SHORT;
141
+ export { type_10 as type };
142
+ }
143
+ namespace DocumentName {
144
+ let tag_11: 269;
145
+ export { tag_11 as tag };
146
+ import type_11 = fieldTypes.ASCII;
147
+ export { type_11 as type };
148
+ }
149
+ namespace ImageDescription {
150
+ let tag_12: 270;
151
+ export { tag_12 as tag };
152
+ import type_12 = fieldTypes.ASCII;
153
+ export { type_12 as type };
154
+ }
155
+ namespace Make {
156
+ let tag_13: 271;
157
+ export { tag_13 as tag };
158
+ import type_13 = fieldTypes.ASCII;
159
+ export { type_13 as type };
160
+ }
161
+ namespace Model {
162
+ let tag_14: 272;
163
+ export { tag_14 as tag };
164
+ import type_14 = fieldTypes.ASCII;
165
+ export { type_14 as type };
166
+ }
167
+ namespace StripOffsets {
168
+ let tag_15: 273;
169
+ export { tag_15 as tag };
170
+ import type_15 = fieldTypes.SHORT;
171
+ export { type_15 as type };
172
+ let isArray_1: true;
173
+ export { isArray_1 as isArray };
174
+ }
175
+ namespace Orientation {
176
+ let tag_16: 274;
177
+ export { tag_16 as tag };
178
+ import type_16 = fieldTypes.SHORT;
179
+ export { type_16 as type };
180
+ }
181
+ namespace SamplesPerPixel {
182
+ let tag_17: 277;
183
+ export { tag_17 as tag };
184
+ import type_17 = fieldTypes.SHORT;
185
+ export { type_17 as type };
186
+ }
187
+ namespace RowsPerStrip {
188
+ let tag_18: 278;
189
+ export { tag_18 as tag };
190
+ import type_18 = fieldTypes.SHORT;
191
+ export { type_18 as type };
192
+ }
193
+ namespace StripByteCounts {
194
+ let tag_19: 279;
195
+ export { tag_19 as tag };
196
+ import type_19 = fieldTypes.LONG;
197
+ export { type_19 as type };
198
+ let isArray_2: true;
199
+ export { isArray_2 as isArray };
200
+ }
201
+ namespace MinSampleValue {
202
+ let tag_20: 280;
203
+ export { tag_20 as tag };
204
+ import type_20 = fieldTypes.SHORT;
205
+ export { type_20 as type };
206
+ let isArray_3: true;
207
+ export { isArray_3 as isArray };
208
+ }
209
+ namespace MaxSampleValue {
210
+ let tag_21: 281;
211
+ export { tag_21 as tag };
212
+ import type_21 = fieldTypes.SHORT;
213
+ export { type_21 as type };
214
+ let isArray_4: true;
215
+ export { isArray_4 as isArray };
216
+ }
217
+ namespace XResolution {
218
+ let tag_22: 282;
219
+ export { tag_22 as tag };
220
+ import type_22 = fieldTypes.RATIONAL;
221
+ export { type_22 as type };
222
+ }
223
+ namespace YResolution {
224
+ let tag_23: 283;
225
+ export { tag_23 as tag };
226
+ import type_23 = fieldTypes.RATIONAL;
227
+ export { type_23 as type };
228
+ }
229
+ namespace PlanarConfiguration {
230
+ let tag_24: 284;
231
+ export { tag_24 as tag };
232
+ import type_24 = fieldTypes.SHORT;
233
+ export { type_24 as type };
234
+ }
235
+ namespace PageName {
236
+ let tag_25: 285;
237
+ export { tag_25 as tag };
238
+ import type_25 = fieldTypes.ASCII;
239
+ export { type_25 as type };
240
+ }
241
+ namespace XPosition {
242
+ let tag_26: 286;
243
+ export { tag_26 as tag };
244
+ import type_26 = fieldTypes.RATIONAL;
245
+ export { type_26 as type };
246
+ }
247
+ namespace YPosition {
248
+ let tag_27: 287;
249
+ export { tag_27 as tag };
250
+ import type_27 = fieldTypes.RATIONAL;
251
+ export { type_27 as type };
252
+ }
253
+ namespace FreeOffsets {
254
+ let tag_28: 288;
255
+ export { tag_28 as tag };
256
+ import type_28 = fieldTypes.LONG;
257
+ export { type_28 as type };
258
+ }
259
+ namespace FreeByteCounts {
260
+ let tag_29: 289;
261
+ export { tag_29 as tag };
262
+ import type_29 = fieldTypes.LONG;
263
+ export { type_29 as type };
264
+ }
265
+ namespace GrayResponseUnit {
266
+ let tag_30: 290;
267
+ export { tag_30 as tag };
268
+ import type_30 = fieldTypes.SHORT;
269
+ export { type_30 as type };
270
+ }
271
+ namespace GrayResponseCurve {
272
+ let tag_31: 291;
273
+ export { tag_31 as tag };
274
+ import type_31 = fieldTypes.SHORT;
275
+ export { type_31 as type };
276
+ let isArray_5: true;
277
+ export { isArray_5 as isArray };
278
+ }
279
+ namespace T4Options {
280
+ let tag_32: 292;
281
+ export { tag_32 as tag };
282
+ import type_32 = fieldTypes.LONG;
283
+ export { type_32 as type };
284
+ }
285
+ namespace T6Options {
286
+ let tag_33: 293;
287
+ export { tag_33 as tag };
288
+ import type_33 = fieldTypes.LONG;
289
+ export { type_33 as type };
290
+ }
291
+ namespace ResolutionUnit {
292
+ let tag_34: 296;
293
+ export { tag_34 as tag };
294
+ import type_34 = fieldTypes.SHORT;
295
+ export { type_34 as type };
296
+ }
297
+ namespace PageNumber {
298
+ let tag_35: 297;
299
+ export { tag_35 as tag };
300
+ import type_35 = fieldTypes.SHORT;
301
+ export { type_35 as type };
302
+ let isArray_6: true;
303
+ export { isArray_6 as isArray };
304
+ }
305
+ namespace TransferFunction {
306
+ let tag_36: 301;
307
+ export { tag_36 as tag };
308
+ import type_36 = fieldTypes.SHORT;
309
+ export { type_36 as type };
310
+ let isArray_7: true;
311
+ export { isArray_7 as isArray };
312
+ }
313
+ namespace Software {
314
+ let tag_37: 305;
315
+ export { tag_37 as tag };
316
+ import type_37 = fieldTypes.ASCII;
317
+ export { type_37 as type };
318
+ }
319
+ namespace DateTime {
320
+ let tag_38: 306;
321
+ export { tag_38 as tag };
322
+ import type_38 = fieldTypes.ASCII;
323
+ export { type_38 as type };
324
+ }
325
+ namespace Artist {
326
+ let tag_39: 315;
327
+ export { tag_39 as tag };
328
+ import type_39 = fieldTypes.ASCII;
329
+ export { type_39 as type };
330
+ }
331
+ namespace HostComputer {
332
+ let tag_40: 316;
333
+ export { tag_40 as tag };
334
+ import type_40 = fieldTypes.ASCII;
335
+ export { type_40 as type };
336
+ }
337
+ namespace Predictor {
338
+ let tag_41: 317;
339
+ export { tag_41 as tag };
340
+ import type_41 = fieldTypes.SHORT;
341
+ export { type_41 as type };
342
+ }
343
+ namespace WhitePoint {
344
+ let tag_42: 318;
345
+ export { tag_42 as tag };
346
+ import type_42 = fieldTypes.RATIONAL;
347
+ export { type_42 as type };
348
+ let isArray_8: true;
349
+ export { isArray_8 as isArray };
350
+ }
351
+ namespace PrimaryChromaticities {
352
+ let tag_43: 319;
353
+ export { tag_43 as tag };
354
+ import type_43 = fieldTypes.RATIONAL;
355
+ export { type_43 as type };
356
+ let isArray_9: true;
357
+ export { isArray_9 as isArray };
358
+ }
359
+ namespace ColorMap {
360
+ let tag_44: 320;
361
+ export { tag_44 as tag };
362
+ import type_44 = fieldTypes.SHORT;
363
+ export { type_44 as type };
364
+ let isArray_10: true;
365
+ export { isArray_10 as isArray };
366
+ }
367
+ namespace HalftoneHints {
368
+ let tag_45: 321;
369
+ export { tag_45 as tag };
370
+ import type_45 = fieldTypes.SHORT;
371
+ export { type_45 as type };
372
+ let isArray_11: true;
373
+ export { isArray_11 as isArray };
374
+ }
375
+ namespace TileWidth {
376
+ let tag_46: 322;
377
+ export { tag_46 as tag };
378
+ import type_46 = fieldTypes.SHORT;
379
+ export { type_46 as type };
380
+ }
381
+ namespace TileLength {
382
+ let tag_47: 323;
383
+ export { tag_47 as tag };
384
+ import type_47 = fieldTypes.SHORT;
385
+ export { type_47 as type };
386
+ }
387
+ namespace TileOffsets {
388
+ let tag_48: 324;
389
+ export { tag_48 as tag };
390
+ import type_48 = fieldTypes.LONG;
391
+ export { type_48 as type };
392
+ let isArray_12: true;
393
+ export { isArray_12 as isArray };
394
+ }
395
+ namespace TileByteCounts {
396
+ let tag_49: 325;
397
+ export { tag_49 as tag };
398
+ import type_49 = fieldTypes.SHORT;
399
+ export { type_49 as type };
400
+ let isArray_13: true;
401
+ export { isArray_13 as isArray };
402
+ }
403
+ namespace InkSet {
404
+ let tag_50: 332;
405
+ export { tag_50 as tag };
406
+ import type_50 = fieldTypes.SHORT;
407
+ export { type_50 as type };
408
+ }
409
+ namespace InkNames {
410
+ let tag_51: 333;
411
+ export { tag_51 as tag };
412
+ import type_51 = fieldTypes.ASCII;
413
+ export { type_51 as type };
414
+ }
415
+ namespace NumberOfInks {
416
+ let tag_52: 334;
417
+ export { tag_52 as tag };
418
+ import type_52 = fieldTypes.SHORT;
419
+ export { type_52 as type };
420
+ }
421
+ namespace DotRange {
422
+ let tag_53: 336;
423
+ export { tag_53 as tag };
424
+ import type_53 = fieldTypes.BYTE;
425
+ export { type_53 as type };
426
+ let isArray_14: true;
427
+ export { isArray_14 as isArray };
428
+ }
429
+ namespace TargetPrinter {
430
+ let tag_54: 337;
431
+ export { tag_54 as tag };
432
+ import type_54 = fieldTypes.ASCII;
433
+ export { type_54 as type };
434
+ }
435
+ namespace ExtraSamples {
436
+ let tag_55: 338;
437
+ export { tag_55 as tag };
438
+ import type_55 = fieldTypes.BYTE;
439
+ export { type_55 as type };
440
+ let isArray_15: true;
441
+ export { isArray_15 as isArray };
442
+ }
443
+ namespace SampleFormat {
444
+ let tag_56: 339;
445
+ export { tag_56 as tag };
446
+ import type_56 = fieldTypes.SHORT;
447
+ export { type_56 as type };
448
+ let isArray_16: true;
449
+ export { isArray_16 as isArray };
450
+ let eager_1: true;
451
+ export { eager_1 as eager };
452
+ }
453
+ namespace SMinSampleValue {
454
+ let tag_57: 340;
455
+ export { tag_57 as tag };
456
+ let isArray_17: true;
457
+ export { isArray_17 as isArray };
458
+ }
459
+ namespace SMaxSampleValue {
460
+ let tag_58: 341;
461
+ export { tag_58 as tag };
462
+ let isArray_18: true;
463
+ export { isArray_18 as isArray };
464
+ }
465
+ namespace TransferRange {
466
+ let tag_59: 342;
467
+ export { tag_59 as tag };
468
+ import type_57 = fieldTypes.SHORT;
469
+ export { type_57 as type };
470
+ let isArray_19: true;
471
+ export { isArray_19 as isArray };
472
+ }
473
+ namespace JPEGProc {
474
+ let tag_60: 512;
475
+ export { tag_60 as tag };
476
+ import type_58 = fieldTypes.SHORT;
477
+ export { type_58 as type };
478
+ }
479
+ namespace JPEGInterchangeFormat {
480
+ let tag_61: 513;
481
+ export { tag_61 as tag };
482
+ import type_59 = fieldTypes.LONG;
483
+ export { type_59 as type };
484
+ }
485
+ namespace JPEGInterchangeFormatLngth {
486
+ let tag_62: 514;
487
+ export { tag_62 as tag };
488
+ import type_60 = fieldTypes.LONG;
489
+ export { type_60 as type };
490
+ }
491
+ namespace JPEGRestartInterval {
492
+ let tag_63: 515;
493
+ export { tag_63 as tag };
494
+ import type_61 = fieldTypes.SHORT;
495
+ export { type_61 as type };
496
+ }
497
+ namespace JPEGLosslessPredictors {
498
+ let tag_64: 517;
499
+ export { tag_64 as tag };
500
+ import type_62 = fieldTypes.SHORT;
501
+ export { type_62 as type };
502
+ let isArray_20: true;
503
+ export { isArray_20 as isArray };
504
+ }
505
+ namespace JPEGPointTransforms {
506
+ let tag_65: 518;
507
+ export { tag_65 as tag };
508
+ import type_63 = fieldTypes.SHORT;
509
+ export { type_63 as type };
510
+ let isArray_21: true;
511
+ export { isArray_21 as isArray };
512
+ }
513
+ namespace JPEGQTables {
514
+ let tag_66: 519;
515
+ export { tag_66 as tag };
516
+ import type_64 = fieldTypes.LONG;
517
+ export { type_64 as type };
518
+ let isArray_22: true;
519
+ export { isArray_22 as isArray };
520
+ }
521
+ namespace JPEGDCTables {
522
+ let tag_67: 520;
523
+ export { tag_67 as tag };
524
+ import type_65 = fieldTypes.LONG;
525
+ export { type_65 as type };
526
+ let isArray_23: true;
527
+ export { isArray_23 as isArray };
528
+ }
529
+ namespace JPEGACTables {
530
+ let tag_68: 521;
531
+ export { tag_68 as tag };
532
+ import type_66 = fieldTypes.LONG;
533
+ export { type_66 as type };
534
+ let isArray_24: true;
535
+ export { isArray_24 as isArray };
536
+ }
537
+ namespace YCbCrCoefficients {
538
+ let tag_69: 529;
539
+ export { tag_69 as tag };
540
+ import type_67 = fieldTypes.RATIONAL;
541
+ export { type_67 as type };
542
+ let isArray_25: true;
543
+ export { isArray_25 as isArray };
544
+ }
545
+ namespace YCbCrSubSampling {
546
+ let tag_70: 530;
547
+ export { tag_70 as tag };
548
+ import type_68 = fieldTypes.SHORT;
549
+ export { type_68 as type };
550
+ let isArray_26: true;
551
+ export { isArray_26 as isArray };
552
+ }
553
+ namespace YCbCrPositioning {
554
+ let tag_71: 531;
555
+ export { tag_71 as tag };
556
+ import type_69 = fieldTypes.SHORT;
557
+ export { type_69 as type };
558
+ }
559
+ namespace ReferenceBlackWhite {
560
+ let tag_72: 532;
561
+ export { tag_72 as tag };
562
+ import type_70 = fieldTypes.LONG;
563
+ export { type_70 as type };
564
+ let isArray_27: true;
565
+ export { isArray_27 as isArray };
566
+ }
567
+ namespace Copyright {
568
+ let tag_73: 33432;
569
+ export { tag_73 as tag };
570
+ import type_71 = fieldTypes.ASCII;
571
+ export { type_71 as type };
572
+ }
573
+ namespace BadFaxLines {
574
+ let tag_74: 326;
575
+ export { tag_74 as tag };
576
+ }
577
+ namespace CleanFaxData {
578
+ let tag_75: 327;
579
+ export { tag_75 as tag };
580
+ }
581
+ namespace ClipPath {
582
+ let tag_76: 343;
583
+ export { tag_76 as tag };
584
+ }
585
+ namespace ConsecutiveBadFaxLines {
586
+ let tag_77: 328;
587
+ export { tag_77 as tag };
588
+ }
589
+ namespace Decode {
590
+ let tag_78: 433;
591
+ export { tag_78 as tag };
592
+ }
593
+ namespace DefaultImageColor {
594
+ let tag_79: 434;
595
+ export { tag_79 as tag };
596
+ }
597
+ namespace Indexed {
598
+ let tag_80: 346;
599
+ export { tag_80 as tag };
600
+ }
601
+ namespace JPEGTables {
602
+ let tag_81: 347;
603
+ export { tag_81 as tag };
604
+ let isArray_28: true;
605
+ export { isArray_28 as isArray };
606
+ let eager_2: true;
607
+ export { eager_2 as eager };
608
+ }
609
+ namespace StripRowCounts {
610
+ let tag_82: 559;
611
+ export { tag_82 as tag };
612
+ let isArray_29: true;
613
+ export { isArray_29 as isArray };
614
+ }
615
+ namespace SubIFDs {
616
+ let tag_83: 330;
617
+ export { tag_83 as tag };
618
+ let isArray_30: true;
619
+ export { isArray_30 as isArray };
620
+ }
621
+ namespace XClipPathUnits {
622
+ let tag_84: 344;
623
+ export { tag_84 as tag };
624
+ }
625
+ namespace YClipPathUnits {
626
+ let tag_85: 345;
627
+ export { tag_85 as tag };
628
+ }
629
+ namespace ApertureValue {
630
+ let tag_86: 37378;
631
+ export { tag_86 as tag };
632
+ }
633
+ namespace ColorSpace {
634
+ let tag_87: 40961;
635
+ export { tag_87 as tag };
636
+ }
637
+ namespace DateTimeDigitized {
638
+ let tag_88: 36868;
639
+ export { tag_88 as tag };
640
+ }
641
+ namespace DateTimeOriginal {
642
+ let tag_89: 36867;
643
+ export { tag_89 as tag };
644
+ }
645
+ namespace ExifIFD {
646
+ let tag_90: 34665;
647
+ export { tag_90 as tag };
648
+ export let name: "Exif IFD";
649
+ import type_72 = fieldTypes.LONG;
650
+ export { type_72 as type };
651
+ }
652
+ namespace ExifVersion {
653
+ let tag_91: 36864;
654
+ export { tag_91 as tag };
655
+ }
656
+ namespace ExposureTime {
657
+ let tag_92: 33434;
658
+ export { tag_92 as tag };
659
+ }
660
+ namespace FileSource {
661
+ let tag_93: 41728;
662
+ export { tag_93 as tag };
663
+ }
664
+ namespace Flash {
665
+ let tag_94: 37385;
666
+ export { tag_94 as tag };
667
+ }
668
+ namespace FlashpixVersion {
669
+ let tag_95: 40960;
670
+ export { tag_95 as tag };
671
+ }
672
+ namespace FNumber {
673
+ let tag_96: 33437;
674
+ export { tag_96 as tag };
675
+ }
676
+ namespace ImageUniqueID {
677
+ let tag_97: 42016;
678
+ export { tag_97 as tag };
679
+ }
680
+ namespace LightSource {
681
+ let tag_98: 37384;
682
+ export { tag_98 as tag };
683
+ }
684
+ namespace MakerNote {
685
+ let tag_99: 37500;
686
+ export { tag_99 as tag };
687
+ }
688
+ namespace ShutterSpeedValue {
689
+ let tag_100: 37377;
690
+ export { tag_100 as tag };
691
+ }
692
+ namespace UserComment {
693
+ let tag_101: 37510;
694
+ export { tag_101 as tag };
695
+ }
696
+ namespace IPTC {
697
+ let tag_102: 33723;
698
+ export { tag_102 as tag };
699
+ }
700
+ namespace CZ_LSMINFO {
701
+ let tag_103: 34412;
702
+ export { tag_103 as tag };
703
+ }
704
+ namespace ICCProfile {
705
+ let tag_104: 34675;
706
+ export { tag_104 as tag };
707
+ let name_1: "ICC Profile";
708
+ export { name_1 as name };
709
+ }
710
+ namespace XMP {
711
+ let tag_105: 700;
712
+ export { tag_105 as tag };
713
+ }
714
+ namespace GDAL_METADATA {
715
+ let tag_106: 42112;
716
+ export { tag_106 as tag };
717
+ }
718
+ namespace GDAL_NODATA {
719
+ let tag_107: 42113;
720
+ export { tag_107 as tag };
721
+ import type_73 = fieldTypes.ASCII;
722
+ export { type_73 as type };
723
+ }
724
+ namespace Photoshop {
725
+ let tag_108: 34377;
726
+ export { tag_108 as tag };
727
+ }
728
+ namespace ModelPixelScale {
729
+ let tag_109: 33550;
730
+ export { tag_109 as tag };
731
+ import type_74 = fieldTypes.DOUBLE;
732
+ export { type_74 as type };
733
+ let isArray_31: true;
734
+ export { isArray_31 as isArray };
735
+ let eager_3: true;
736
+ export { eager_3 as eager };
737
+ }
738
+ namespace ModelTiepoint {
739
+ let tag_110: 33922;
740
+ export { tag_110 as tag };
741
+ import type_75 = fieldTypes.DOUBLE;
742
+ export { type_75 as type };
743
+ let isArray_32: true;
744
+ export { isArray_32 as isArray };
745
+ let eager_4: true;
746
+ export { eager_4 as eager };
747
+ }
748
+ namespace ModelTransformation {
749
+ let tag_111: 34264;
750
+ export { tag_111 as tag };
751
+ import type_76 = fieldTypes.DOUBLE;
752
+ export { type_76 as type };
753
+ let isArray_33: true;
754
+ export { isArray_33 as isArray };
755
+ let eager_5: true;
756
+ export { eager_5 as eager };
757
+ }
758
+ namespace GeoKeyDirectory {
759
+ let tag_112: 34735;
760
+ export { tag_112 as tag };
761
+ import type_77 = fieldTypes.SHORT;
762
+ export { type_77 as type };
763
+ let isArray_34: true;
764
+ export { isArray_34 as isArray };
765
+ let eager_6: true;
766
+ export { eager_6 as eager };
767
+ }
768
+ namespace GeoDoubleParams {
769
+ let tag_113: 34736;
770
+ export { tag_113 as tag };
771
+ import type_78 = fieldTypes.DOUBLE;
772
+ export { type_78 as type };
773
+ let isArray_35: true;
774
+ export { isArray_35 as isArray };
775
+ let eager_7: true;
776
+ export { eager_7 as eager };
777
+ }
778
+ namespace GeoAsciiParams {
779
+ let tag_114: 34737;
780
+ export { tag_114 as tag };
781
+ import type_79 = fieldTypes.ASCII;
782
+ export { type_79 as type };
783
+ let eager_8: true;
784
+ export { eager_8 as eager };
785
+ }
786
+ namespace LercParameters {
787
+ let tag_115: 50674;
788
+ export { tag_115 as tag };
789
+ let eager_9: true;
790
+ export { eager_9 as eager };
791
+ }
792
+ }
793
+ /** @typedef {keyof typeof tagDictionary} TagName */
794
+ /** @typedef {typeof tagDictionary[keyof typeof tagDictionary]['tag']} Tag */
795
+ /** @typedef {Extract<typeof tagDictionary[keyof typeof tagDictionary], {type: any}>['type']} TagType */
796
+ /**
797
+ * @template {number} T
798
+ * @typedef {T extends 2 ? string : number} GeoTiffPrimitive
799
+ */
800
+ /**
801
+ * @template {TagName} T
802
+ * @typedef {typeof tagDictionary[T]} TagDef
803
+ */
804
+ /**
805
+ * @typedef {{
806
+ * 1: number;
807
+ * 2: string;
808
+ * 3: number;
809
+ * 4: number;
810
+ * 5: number;
811
+ * 6: number;
812
+ * 7: ArrayBuffer;
813
+ * 8: number;
814
+ * 9: number;
815
+ * 10: number;
816
+ * 11: number;
817
+ * 12: number;
818
+ * 16: number;
819
+ * 17: number;
820
+ * 18: number;
821
+ * }} FieldTypeMap
822
+ */
823
+ /**
824
+ * @template {TagName} T
825
+ * @typedef {TagDef<T> extends { isArray: true }
826
+ * ? (TagDef<T> extends { type: typeof fieldTypes.DOUBLE } ? number[] :
827
+ * TagDef<T> extends { type: typeof fieldTypes.ASCII } ? string[] :
828
+ * TagDef<T> extends { type: typeof fieldTypes.BYTE | typeof fieldTypes.SBYTE | typeof fieldTypes.UNDEFINED }
829
+ * ? Uint8Array | Int8Array :
830
+ * (number[] | TypedArray))
831
+ * : (TagDef<T> extends { type: keyof FieldTypeMap } ? FieldTypeMap[TagDef<T>['type']] : any)} TagValue
832
+ */
65
833
  /**
66
834
  * Maps tag names to their numeric values
835
+ * @type {Record<string, number>}
67
836
  */
68
- export const tags: {};
837
+ /** @type {Record<string, number>} */
838
+ export const tags: Record<string, number>;
69
839
  /**
70
840
  * Maps tag numbers to their definitions
841
+ * @type {Record<number, { tag: number, name: string, type: string|number|undefined, isArray: boolean, eager: boolean }>}
71
842
  */
72
- export const tagDefinitions: {};
843
+ export const tagDefinitions: Record<number, {
844
+ tag: number;
845
+ name: string;
846
+ type: string | number | undefined;
847
+ isArray: boolean;
848
+ eager: boolean;
849
+ }>;
73
850
  export const fieldTagTypes: {
74
851
  256: string;
75
852
  257: string;
@@ -149,63 +926,106 @@ export namespace LercAddCompression {
149
926
  let Deflate: number;
150
927
  let Zstandard: number;
151
928
  }
152
- export const geoKeyNames: Readonly<{
153
- 1024: "GTModelTypeGeoKey";
154
- 1025: "GTRasterTypeGeoKey";
155
- 1026: "GTCitationGeoKey";
156
- 2048: "GeographicTypeGeoKey";
157
- 2049: "GeogCitationGeoKey";
158
- 2050: "GeogGeodeticDatumGeoKey";
159
- 2051: "GeogPrimeMeridianGeoKey";
160
- 2052: "GeogLinearUnitsGeoKey";
161
- 2053: "GeogLinearUnitSizeGeoKey";
162
- 2054: "GeogAngularUnitsGeoKey";
163
- 2055: "GeogAngularUnitSizeGeoKey";
164
- 2056: "GeogEllipsoidGeoKey";
165
- 2057: "GeogSemiMajorAxisGeoKey";
166
- 2058: "GeogSemiMinorAxisGeoKey";
167
- 2059: "GeogInvFlatteningGeoKey";
168
- 2060: "GeogAzimuthUnitsGeoKey";
169
- 2061: "GeogPrimeMeridianLongGeoKey";
170
- 2062: "GeogTOWGS84GeoKey";
171
- 3072: "ProjectedCSTypeGeoKey";
172
- 3073: "PCSCitationGeoKey";
173
- 3074: "ProjectionGeoKey";
174
- 3075: "ProjCoordTransGeoKey";
175
- 3076: "ProjLinearUnitsGeoKey";
176
- 3077: "ProjLinearUnitSizeGeoKey";
177
- 3078: "ProjStdParallel1GeoKey";
178
- 3079: "ProjStdParallel2GeoKey";
179
- 3080: "ProjNatOriginLongGeoKey";
180
- 3081: "ProjNatOriginLatGeoKey";
181
- 3082: "ProjFalseEastingGeoKey";
182
- 3083: "ProjFalseNorthingGeoKey";
183
- 3084: "ProjFalseOriginLongGeoKey";
184
- 3085: "ProjFalseOriginLatGeoKey";
185
- 3086: "ProjFalseOriginEastingGeoKey";
186
- 3087: "ProjFalseOriginNorthingGeoKey";
187
- 3088: "ProjCenterLongGeoKey";
188
- 3089: "ProjCenterLatGeoKey";
189
- 3090: "ProjCenterEastingGeoKey";
190
- 3091: "ProjCenterNorthingGeoKey";
191
- 3092: "ProjScaleAtNatOriginGeoKey";
192
- 3093: "ProjScaleAtCenterGeoKey";
193
- 3094: "ProjAzimuthAngleGeoKey";
194
- 3095: "ProjStraightVertPoleLongGeoKey";
195
- 3096: "ProjRectifiedGridAngleGeoKey";
196
- 4096: "VerticalCSTypeGeoKey";
197
- 4097: "VerticalCitationGeoKey";
198
- 4098: "VerticalDatumGeoKey";
199
- 4099: "VerticalUnitsGeoKey";
200
- }>;
929
+ export const geoKeyNames: {
930
+ readonly 1024: "GTModelTypeGeoKey";
931
+ readonly 1025: "GTRasterTypeGeoKey";
932
+ readonly 1026: "GTCitationGeoKey";
933
+ readonly 2048: "GeographicTypeGeoKey";
934
+ readonly 2049: "GeogCitationGeoKey";
935
+ readonly 2050: "GeogGeodeticDatumGeoKey";
936
+ readonly 2051: "GeogPrimeMeridianGeoKey";
937
+ readonly 2052: "GeogLinearUnitsGeoKey";
938
+ readonly 2053: "GeogLinearUnitSizeGeoKey";
939
+ readonly 2054: "GeogAngularUnitsGeoKey";
940
+ readonly 2055: "GeogAngularUnitSizeGeoKey";
941
+ readonly 2056: "GeogEllipsoidGeoKey";
942
+ readonly 2057: "GeogSemiMajorAxisGeoKey";
943
+ readonly 2058: "GeogSemiMinorAxisGeoKey";
944
+ readonly 2059: "GeogInvFlatteningGeoKey";
945
+ readonly 2060: "GeogAzimuthUnitsGeoKey";
946
+ readonly 2061: "GeogPrimeMeridianLongGeoKey";
947
+ readonly 2062: "GeogTOWGS84GeoKey";
948
+ readonly 3072: "ProjectedCSTypeGeoKey";
949
+ readonly 3073: "PCSCitationGeoKey";
950
+ readonly 3074: "ProjectionGeoKey";
951
+ readonly 3075: "ProjCoordTransGeoKey";
952
+ readonly 3076: "ProjLinearUnitsGeoKey";
953
+ readonly 3077: "ProjLinearUnitSizeGeoKey";
954
+ readonly 3078: "ProjStdParallel1GeoKey";
955
+ readonly 3079: "ProjStdParallel2GeoKey";
956
+ readonly 3080: "ProjNatOriginLongGeoKey";
957
+ readonly 3081: "ProjNatOriginLatGeoKey";
958
+ readonly 3082: "ProjFalseEastingGeoKey";
959
+ readonly 3083: "ProjFalseNorthingGeoKey";
960
+ readonly 3084: "ProjFalseOriginLongGeoKey";
961
+ readonly 3085: "ProjFalseOriginLatGeoKey";
962
+ readonly 3086: "ProjFalseOriginEastingGeoKey";
963
+ readonly 3087: "ProjFalseOriginNorthingGeoKey";
964
+ readonly 3088: "ProjCenterLongGeoKey";
965
+ readonly 3089: "ProjCenterLatGeoKey";
966
+ readonly 3090: "ProjCenterEastingGeoKey";
967
+ readonly 3091: "ProjCenterNorthingGeoKey";
968
+ readonly 3092: "ProjScaleAtNatOriginGeoKey";
969
+ readonly 3093: "ProjScaleAtCenterGeoKey";
970
+ readonly 3094: "ProjAzimuthAngleGeoKey";
971
+ readonly 3095: "ProjStraightVertPoleLongGeoKey";
972
+ readonly 3096: "ProjRectifiedGridAngleGeoKey";
973
+ readonly 4096: "VerticalCSTypeGeoKey";
974
+ readonly 4097: "VerticalCitationGeoKey";
975
+ readonly 4098: "VerticalDatumGeoKey";
976
+ readonly 4099: "VerticalUnitsGeoKey";
977
+ };
201
978
  /** @typedef {geoKeyNames[keyof typeof geoKeyNames]} GeoKeyName */
202
979
  /**
203
980
  * @type {Record<GeoKeyName, number>}
204
981
  */
205
982
  export const geoKeys: Record<GeoKeyName, number>;
206
- export type FieldTypeSize = 1 | 2 | 4 | 8;
983
+ export type FieldTypeSize = 4 | 2 | 8 | 1;
207
984
  export type FieldTypeName = "BYTE" | "ASCII" | "SHORT" | "LONG" | "RATIONAL" | "SBYTE" | "UNDEFINED" | "SSHORT" | "SLONG" | "SRATIONAL" | "FLOAT" | "DOUBLE" | "IFD" | "LONG8" | "SLONG8" | "IFD8";
208
- export type FieldType = 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 16 | 17 | 18;
985
+ export type FieldType = 4 | 2 | 7 | 8 | 1 | 3 | 5 | 6 | 9 | 10 | 11 | 12 | 13 | 16 | 17 | 18;
209
986
  export type FieldTypeSizes = Record<FieldTypeName, number>;
987
+ export type TagDictionaryEntry = {
988
+ tag: number;
989
+ name?: string | undefined;
990
+ type?: number | undefined;
991
+ isArray?: boolean | undefined;
992
+ eager?: boolean | undefined;
993
+ };
994
+ export type TagName = keyof typeof tagDictionary;
995
+ export type Tag = (typeof tagDictionary)[keyof typeof tagDictionary]["tag"];
996
+ export type TagType = Extract<(typeof tagDictionary)[keyof typeof tagDictionary], {
997
+ type: any;
998
+ }>["type"];
999
+ export type GeoTiffPrimitive<T extends number> = T extends 2 ? string : number;
1000
+ export type TagDef<T extends TagName> = (typeof tagDictionary)[T];
1001
+ export type FieldTypeMap = {
1002
+ 1: number;
1003
+ 2: string;
1004
+ 3: number;
1005
+ 4: number;
1006
+ 5: number;
1007
+ 6: number;
1008
+ 7: ArrayBuffer;
1009
+ 8: number;
1010
+ 9: number;
1011
+ 10: number;
1012
+ 11: number;
1013
+ 12: number;
1014
+ 16: number;
1015
+ 17: number;
1016
+ 18: number;
1017
+ };
1018
+ export type TagValue<T extends TagName> = TagDef<T> extends {
1019
+ isArray: true;
1020
+ } ? (TagDef<T> extends {
1021
+ type: typeof fieldTypes.DOUBLE;
1022
+ } ? number[] : TagDef<T> extends {
1023
+ type: typeof fieldTypes.ASCII;
1024
+ } ? string[] : TagDef<T> extends {
1025
+ type: typeof fieldTypes.BYTE | typeof fieldTypes.SBYTE | typeof fieldTypes.UNDEFINED;
1026
+ } ? Uint8Array | Int8Array : (number[] | TypedArray)) : (TagDef<T> extends {
1027
+ type: keyof FieldTypeMap;
1028
+ } ? FieldTypeMap[TagDef<T>["type"]] : any);
210
1029
  export type GeoKeyName = "GTModelTypeGeoKey" | "GTRasterTypeGeoKey" | "GTCitationGeoKey" | "GeographicTypeGeoKey" | "GeogCitationGeoKey" | "GeogGeodeticDatumGeoKey" | "GeogPrimeMeridianGeoKey" | "GeogLinearUnitsGeoKey" | "GeogLinearUnitSizeGeoKey" | "GeogAngularUnitsGeoKey" | "GeogAngularUnitSizeGeoKey" | "GeogEllipsoidGeoKey" | "GeogSemiMajorAxisGeoKey" | "GeogSemiMinorAxisGeoKey" | "GeogInvFlatteningGeoKey" | "GeogAzimuthUnitsGeoKey" | "GeogPrimeMeridianLongGeoKey" | "GeogTOWGS84GeoKey" | "ProjectedCSTypeGeoKey" | "PCSCitationGeoKey" | "ProjectionGeoKey" | "ProjCoordTransGeoKey" | "ProjLinearUnitsGeoKey" | "ProjLinearUnitSizeGeoKey" | "ProjStdParallel1GeoKey" | "ProjStdParallel2GeoKey" | "ProjNatOriginLongGeoKey" | "ProjNatOriginLatGeoKey" | "ProjFalseEastingGeoKey" | "ProjFalseNorthingGeoKey" | "ProjFalseOriginLongGeoKey" | "ProjFalseOriginLatGeoKey" | "ProjFalseOriginEastingGeoKey" | "ProjFalseOriginNorthingGeoKey" | "ProjCenterLongGeoKey" | "ProjCenterLatGeoKey" | "ProjCenterEastingGeoKey" | "ProjCenterNorthingGeoKey" | "ProjScaleAtNatOriginGeoKey" | "ProjScaleAtCenterGeoKey" | "ProjAzimuthAngleGeoKey" | "ProjStraightVertPoleLongGeoKey" | "ProjRectifiedGridAngleGeoKey" | "VerticalCSTypeGeoKey" | "VerticalCitationGeoKey" | "VerticalDatumGeoKey" | "VerticalUnitsGeoKey";
1030
+ import type { TypedArray } from './geotiff.js';
211
1031
  //# sourceMappingURL=globals.d.ts.map