yom-format 0.1.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 (199) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +86 -0
  3. package/dist/cli.d.ts +30 -0
  4. package/dist/cli.d.ts.map +1 -0
  5. package/dist/cli.js +344 -0
  6. package/dist/cli.js.map +1 -0
  7. package/dist/index.d.ts +36 -0
  8. package/dist/index.d.ts.map +1 -0
  9. package/dist/index.js +25 -0
  10. package/dist/index.js.map +1 -0
  11. package/dist/pipeline/avif.d.ts +3 -0
  12. package/dist/pipeline/avif.d.ts.map +1 -0
  13. package/dist/pipeline/avif.js +30 -0
  14. package/dist/pipeline/avif.js.map +1 -0
  15. package/dist/pipeline/convert.d.ts +28 -0
  16. package/dist/pipeline/convert.d.ts.map +1 -0
  17. package/dist/pipeline/convert.js +111 -0
  18. package/dist/pipeline/convert.js.map +1 -0
  19. package/dist/pipeline/index.d.ts +17 -0
  20. package/dist/pipeline/index.d.ts.map +1 -0
  21. package/dist/pipeline/index.js +17 -0
  22. package/dist/pipeline/index.js.map +1 -0
  23. package/dist/pipeline/ocrLayoutBuilder.d.ts +10 -0
  24. package/dist/pipeline/ocrLayoutBuilder.d.ts.map +1 -0
  25. package/dist/pipeline/ocrLayoutBuilder.js +62 -0
  26. package/dist/pipeline/ocrLayoutBuilder.js.map +1 -0
  27. package/dist/pipeline/pdfDocument.d.ts +12 -0
  28. package/dist/pipeline/pdfDocument.d.ts.map +1 -0
  29. package/dist/pipeline/pdfDocument.js +76 -0
  30. package/dist/pipeline/pdfDocument.js.map +1 -0
  31. package/dist/pipeline/renderPage.d.ts +10 -0
  32. package/dist/pipeline/renderPage.d.ts.map +1 -0
  33. package/dist/pipeline/renderPage.js +36 -0
  34. package/dist/pipeline/renderPage.js.map +1 -0
  35. package/dist/pipeline/textExtract.d.ts +29 -0
  36. package/dist/pipeline/textExtract.d.ts.map +1 -0
  37. package/dist/pipeline/textExtract.js +48 -0
  38. package/dist/pipeline/textExtract.js.map +1 -0
  39. package/dist/yom/blobLimits.d.ts +15 -0
  40. package/dist/yom/blobLimits.d.ts.map +1 -0
  41. package/dist/yom/blobLimits.js +25 -0
  42. package/dist/yom/blobLimits.js.map +1 -0
  43. package/dist/yom/byteSource.d.ts +56 -0
  44. package/dist/yom/byteSource.d.ts.map +1 -0
  45. package/dist/yom/byteSource.js +111 -0
  46. package/dist/yom/byteSource.js.map +1 -0
  47. package/dist/yom/bytes.d.ts +2 -0
  48. package/dist/yom/bytes.d.ts.map +1 -0
  49. package/dist/yom/bytes.js +13 -0
  50. package/dist/yom/bytes.js.map +1 -0
  51. package/dist/yom/constants.d.ts +34 -0
  52. package/dist/yom/constants.d.ts.map +1 -0
  53. package/dist/yom/constants.js +82 -0
  54. package/dist/yom/constants.js.map +1 -0
  55. package/dist/yom/errors.d.ts +44 -0
  56. package/dist/yom/errors.d.ts.map +1 -0
  57. package/dist/yom/errors.js +44 -0
  58. package/dist/yom/errors.js.map +1 -0
  59. package/dist/yom/flatbufferVerify.d.ts +21 -0
  60. package/dist/yom/flatbufferVerify.d.ts.map +1 -0
  61. package/dist/yom/flatbufferVerify.js +255 -0
  62. package/dist/yom/flatbufferVerify.js.map +1 -0
  63. package/dist/yom/generated/yomu/yom/blob-kind.d.ts +9 -0
  64. package/dist/yom/generated/yomu/yom/blob-kind.d.ts.map +1 -0
  65. package/dist/yom/generated/yomu/yom/blob-kind.js +12 -0
  66. package/dist/yom/generated/yomu/yom/blob-kind.js.map +1 -0
  67. package/dist/yom/generated/yomu/yom/blob-ref.d.ts +45 -0
  68. package/dist/yom/generated/yomu/yom/blob-ref.d.ts.map +1 -0
  69. package/dist/yom/generated/yomu/yom/blob-ref.js +141 -0
  70. package/dist/yom/generated/yomu/yom/blob-ref.js.map +1 -0
  71. package/dist/yom/generated/yomu/yom/book-metadata.d.ts +32 -0
  72. package/dist/yom/generated/yomu/yom/book-metadata.d.ts.map +1 -0
  73. package/dist/yom/generated/yomu/yom/book-metadata.js +89 -0
  74. package/dist/yom/generated/yomu/yom/book-metadata.js.map +1 -0
  75. package/dist/yom/generated/yomu/yom/compression.d.ts +5 -0
  76. package/dist/yom/generated/yomu/yom/compression.d.ts.map +1 -0
  77. package/dist/yom/generated/yomu/yom/compression.js +8 -0
  78. package/dist/yom/generated/yomu/yom/compression.js.map +1 -0
  79. package/dist/yom/generated/yomu/yom/main-index.d.ts +63 -0
  80. package/dist/yom/generated/yomu/yom/main-index.d.ts.map +1 -0
  81. package/dist/yom/generated/yomu/yom/main-index.js +208 -0
  82. package/dist/yom/generated/yomu/yom/main-index.js.map +1 -0
  83. package/dist/yom/generated/yomu/yom/ocrblock.d.ts +32 -0
  84. package/dist/yom/generated/yomu/yom/ocrblock.d.ts.map +1 -0
  85. package/dist/yom/generated/yomu/yom/ocrblock.js +84 -0
  86. package/dist/yom/generated/yomu/yom/ocrblock.js.map +1 -0
  87. package/dist/yom/generated/yomu/yom/ocrlayout.d.ts +27 -0
  88. package/dist/yom/generated/yomu/yom/ocrlayout.d.ts.map +1 -0
  89. package/dist/yom/generated/yomu/yom/ocrlayout.js +76 -0
  90. package/dist/yom/generated/yomu/yom/ocrlayout.js.map +1 -0
  91. package/dist/yom/generated/yomu/yom/ocrline.d.ts +35 -0
  92. package/dist/yom/generated/yomu/yom/ocrline.d.ts.map +1 -0
  93. package/dist/yom/generated/yomu/yom/ocrline.js +95 -0
  94. package/dist/yom/generated/yomu/yom/ocrline.js.map +1 -0
  95. package/dist/yom/generated/yomu/yom/ocrpage.d.ts +46 -0
  96. package/dist/yom/generated/yomu/yom/ocrpage.d.ts.map +1 -0
  97. package/dist/yom/generated/yomu/yom/ocrpage.js +147 -0
  98. package/dist/yom/generated/yomu/yom/ocrpage.js.map +1 -0
  99. package/dist/yom/generated/yomu/yom/ocrtoken.d.ts +44 -0
  100. package/dist/yom/generated/yomu/yom/ocrtoken.d.ts.map +1 -0
  101. package/dist/yom/generated/yomu/yom/ocrtoken.js +128 -0
  102. package/dist/yom/generated/yomu/yom/ocrtoken.js.map +1 -0
  103. package/dist/yom/generated/yomu/yom/outline-entry.d.ts +31 -0
  104. package/dist/yom/generated/yomu/yom/outline-entry.d.ts.map +1 -0
  105. package/dist/yom/generated/yomu/yom/outline-entry.js +92 -0
  106. package/dist/yom/generated/yomu/yom/outline-entry.js.map +1 -0
  107. package/dist/yom/generated/yomu/yom/page-entry.d.ts +95 -0
  108. package/dist/yom/generated/yomu/yom/page-entry.d.ts.map +1 -0
  109. package/dist/yom/generated/yomu/yom/page-entry.js +288 -0
  110. package/dist/yom/generated/yomu/yom/page-entry.js.map +1 -0
  111. package/dist/yom/generated/yomu/yom/pdfexport-metadata.d.ts +32 -0
  112. package/dist/yom/generated/yomu/yom/pdfexport-metadata.d.ts.map +1 -0
  113. package/dist/yom/generated/yomu/yom/pdfexport-metadata.js +96 -0
  114. package/dist/yom/generated/yomu/yom/pdfexport-metadata.js.map +1 -0
  115. package/dist/yom/generated/yomu/yom/reading-direction.d.ts +5 -0
  116. package/dist/yom/generated/yomu/yom/reading-direction.d.ts.map +1 -0
  117. package/dist/yom/generated/yomu/yom/reading-direction.js +8 -0
  118. package/dist/yom/generated/yomu/yom/reading-direction.js.map +1 -0
  119. package/dist/yom/generated/yomu/yom/search-term-ref.d.ts +34 -0
  120. package/dist/yom/generated/yomu/yom/search-term-ref.d.ts.map +1 -0
  121. package/dist/yom/generated/yomu/yom/search-term-ref.js +99 -0
  122. package/dist/yom/generated/yomu/yom/search-term-ref.js.map +1 -0
  123. package/dist/yom/generated/yomu/yom.d.ts +6 -0
  124. package/dist/yom/generated/yomu/yom.d.ts.map +1 -0
  125. package/dist/yom/generated/yomu/yom.js +8 -0
  126. package/dist/yom/generated/yomu/yom.js.map +1 -0
  127. package/dist/yom/hash.d.ts +4 -0
  128. package/dist/yom/hash.d.ts.map +1 -0
  129. package/dist/yom/hash.js +21 -0
  130. package/dist/yom/hash.js.map +1 -0
  131. package/dist/yom/header.d.ts +44 -0
  132. package/dist/yom/header.d.ts.map +1 -0
  133. package/dist/yom/header.js +115 -0
  134. package/dist/yom/header.js.map +1 -0
  135. package/dist/yom/reader.d.ts +57 -0
  136. package/dist/yom/reader.d.ts.map +1 -0
  137. package/dist/yom/reader.js +141 -0
  138. package/dist/yom/reader.js.map +1 -0
  139. package/dist/yom/searchIndex.d.ts +41 -0
  140. package/dist/yom/searchIndex.d.ts.map +1 -0
  141. package/dist/yom/searchIndex.js +133 -0
  142. package/dist/yom/searchIndex.js.map +1 -0
  143. package/dist/yom/textNormalizer.d.ts +19 -0
  144. package/dist/yom/textNormalizer.d.ts.map +1 -0
  145. package/dist/yom/textNormalizer.js +77 -0
  146. package/dist/yom/textNormalizer.js.map +1 -0
  147. package/dist/yom/validator.d.ts +14 -0
  148. package/dist/yom/validator.d.ts.map +1 -0
  149. package/dist/yom/validator.js +197 -0
  150. package/dist/yom/validator.js.map +1 -0
  151. package/dist/yom/writer.d.ts +76 -0
  152. package/dist/yom/writer.d.ts.map +1 -0
  153. package/dist/yom/writer.js +154 -0
  154. package/dist/yom/writer.js.map +1 -0
  155. package/dist/yom/zstd.d.ts +14 -0
  156. package/dist/yom/zstd.d.ts.map +1 -0
  157. package/dist/yom/zstd.js +43 -0
  158. package/dist/yom/zstd.js.map +1 -0
  159. package/package.json +65 -0
  160. package/src/cli.ts +372 -0
  161. package/src/index.ts +109 -0
  162. package/src/pipeline/avif.ts +33 -0
  163. package/src/pipeline/convert.ts +148 -0
  164. package/src/pipeline/index.ts +28 -0
  165. package/src/pipeline/ocrLayoutBuilder.ts +73 -0
  166. package/src/pipeline/pdfDocument.ts +86 -0
  167. package/src/pipeline/renderPage.ts +48 -0
  168. package/src/pipeline/textExtract.ts +64 -0
  169. package/src/worker/convert.worker.ts +54 -0
  170. package/src/yom/blobLimits.ts +30 -0
  171. package/src/yom/byteSource.ts +144 -0
  172. package/src/yom/bytes.ts +11 -0
  173. package/src/yom/constants.ts +89 -0
  174. package/src/yom/errors.ts +43 -0
  175. package/src/yom/flatbufferVerify.ts +298 -0
  176. package/src/yom/generated/yomu/yom/blob-kind.ts +12 -0
  177. package/src/yom/generated/yomu/yom/blob-ref.ts +184 -0
  178. package/src/yom/generated/yomu/yom/book-metadata.ts +121 -0
  179. package/src/yom/generated/yomu/yom/compression.ts +8 -0
  180. package/src/yom/generated/yomu/yom/main-index.ts +257 -0
  181. package/src/yom/generated/yomu/yom/ocrblock.ts +117 -0
  182. package/src/yom/generated/yomu/yom/ocrlayout.ts +102 -0
  183. package/src/yom/generated/yomu/yom/ocrline.ts +131 -0
  184. package/src/yom/generated/yomu/yom/ocrpage.ts +191 -0
  185. package/src/yom/generated/yomu/yom/ocrtoken.ts +173 -0
  186. package/src/yom/generated/yomu/yom/outline-entry.ts +124 -0
  187. package/src/yom/generated/yomu/yom/page-entry.ts +388 -0
  188. package/src/yom/generated/yomu/yom/pdfexport-metadata.ts +128 -0
  189. package/src/yom/generated/yomu/yom/reading-direction.ts +8 -0
  190. package/src/yom/generated/yomu/yom/search-term-ref.ts +134 -0
  191. package/src/yom/generated/yomu/yom.ts +9 -0
  192. package/src/yom/hash.ts +20 -0
  193. package/src/yom/header.ts +132 -0
  194. package/src/yom/reader.ts +163 -0
  195. package/src/yom/searchIndex.ts +178 -0
  196. package/src/yom/textNormalizer.ts +92 -0
  197. package/src/yom/validator.ts +245 -0
  198. package/src/yom/writer.ts +337 -0
  199. package/src/yom/zstd.ts +47 -0
@@ -0,0 +1,184 @@
1
+ // automatically generated by the FlatBuffers compiler, do not modify
2
+
3
+ /* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */
4
+
5
+ import * as flatbuffers from 'flatbuffers';
6
+
7
+ import { BlobKind } from '../../yomu/yom/blob-kind.js';
8
+ import { Compression } from '../../yomu/yom/compression.js';
9
+
10
+
11
+ export class BlobRef implements flatbuffers.IUnpackableObject<BlobRefT> {
12
+ bb: flatbuffers.ByteBuffer|null = null;
13
+ bb_pos = 0;
14
+ __init(i:number, bb:flatbuffers.ByteBuffer):BlobRef {
15
+ this.bb_pos = i;
16
+ this.bb = bb;
17
+ return this;
18
+ }
19
+
20
+ static getRootAsBlobRef(bb:flatbuffers.ByteBuffer, obj?:BlobRef):BlobRef {
21
+ return (obj || new BlobRef()).__init(bb.readInt32(bb.position()) + bb.position(), bb);
22
+ }
23
+
24
+ static getSizePrefixedRootAsBlobRef(bb:flatbuffers.ByteBuffer, obj?:BlobRef):BlobRef {
25
+ bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);
26
+ return (obj || new BlobRef()).__init(bb.readInt32(bb.position()) + bb.position(), bb);
27
+ }
28
+
29
+ kind():BlobKind {
30
+ const offset = this.bb!.__offset(this.bb_pos, 4);
31
+ return offset ? this.bb!.readUint8(this.bb_pos + offset) : BlobKind.PageImage;
32
+ }
33
+
34
+ offset():bigint {
35
+ const offset = this.bb!.__offset(this.bb_pos, 6);
36
+ return offset ? this.bb!.readUint64(this.bb_pos + offset) : BigInt('0');
37
+ }
38
+
39
+ compressedLength():bigint {
40
+ const offset = this.bb!.__offset(this.bb_pos, 8);
41
+ return offset ? this.bb!.readUint64(this.bb_pos + offset) : BigInt('0');
42
+ }
43
+
44
+ uncompressedLength():bigint {
45
+ const offset = this.bb!.__offset(this.bb_pos, 10);
46
+ return offset ? this.bb!.readUint64(this.bb_pos + offset) : BigInt('0');
47
+ }
48
+
49
+ compression():Compression {
50
+ const offset = this.bb!.__offset(this.bb_pos, 12);
51
+ return offset ? this.bb!.readUint8(this.bb_pos + offset) : Compression.None;
52
+ }
53
+
54
+ alignment():number {
55
+ const offset = this.bb!.__offset(this.bb_pos, 14);
56
+ return offset ? this.bb!.readUint32(this.bb_pos + offset) : 0;
57
+ }
58
+
59
+ hash(index: number):number|null {
60
+ const offset = this.bb!.__offset(this.bb_pos, 16);
61
+ return offset ? this.bb!.readUint8(this.bb!.__vector(this.bb_pos + offset) + index) : 0;
62
+ }
63
+
64
+ hashLength():number {
65
+ const offset = this.bb!.__offset(this.bb_pos, 16);
66
+ return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0;
67
+ }
68
+
69
+ hashArray():Uint8Array|null {
70
+ const offset = this.bb!.__offset(this.bb_pos, 16);
71
+ return offset ? new Uint8Array(this.bb!.bytes().buffer, this.bb!.bytes().byteOffset + this.bb!.__vector(this.bb_pos + offset), this.bb!.__vector_len(this.bb_pos + offset)) : null;
72
+ }
73
+
74
+ static startBlobRef(builder:flatbuffers.Builder) {
75
+ builder.startObject(7);
76
+ }
77
+
78
+ static addKind(builder:flatbuffers.Builder, kind:BlobKind) {
79
+ builder.addFieldInt8(0, kind, BlobKind.PageImage);
80
+ }
81
+
82
+ static addOffset(builder:flatbuffers.Builder, offset:bigint) {
83
+ builder.addFieldInt64(1, offset, BigInt('0'));
84
+ }
85
+
86
+ static addCompressedLength(builder:flatbuffers.Builder, compressedLength:bigint) {
87
+ builder.addFieldInt64(2, compressedLength, BigInt('0'));
88
+ }
89
+
90
+ static addUncompressedLength(builder:flatbuffers.Builder, uncompressedLength:bigint) {
91
+ builder.addFieldInt64(3, uncompressedLength, BigInt('0'));
92
+ }
93
+
94
+ static addCompression(builder:flatbuffers.Builder, compression:Compression) {
95
+ builder.addFieldInt8(4, compression, Compression.None);
96
+ }
97
+
98
+ static addAlignment(builder:flatbuffers.Builder, alignment:number) {
99
+ builder.addFieldInt32(5, alignment, 0);
100
+ }
101
+
102
+ static addHash(builder:flatbuffers.Builder, hashOffset:flatbuffers.Offset) {
103
+ builder.addFieldOffset(6, hashOffset, 0);
104
+ }
105
+
106
+ static createHashVector(builder:flatbuffers.Builder, data:number[]|Uint8Array):flatbuffers.Offset {
107
+ builder.startVector(1, data.length, 1);
108
+ for (let i = data.length - 1; i >= 0; i--) {
109
+ builder.addInt8(data[i]!);
110
+ }
111
+ return builder.endVector();
112
+ }
113
+
114
+ static startHashVector(builder:flatbuffers.Builder, numElems:number) {
115
+ builder.startVector(1, numElems, 1);
116
+ }
117
+
118
+ static endBlobRef(builder:flatbuffers.Builder):flatbuffers.Offset {
119
+ const offset = builder.endObject();
120
+ return offset;
121
+ }
122
+
123
+ static createBlobRef(builder:flatbuffers.Builder, kind:BlobKind, offset:bigint, compressedLength:bigint, uncompressedLength:bigint, compression:Compression, alignment:number, hashOffset:flatbuffers.Offset):flatbuffers.Offset {
124
+ BlobRef.startBlobRef(builder);
125
+ BlobRef.addKind(builder, kind);
126
+ BlobRef.addOffset(builder, offset);
127
+ BlobRef.addCompressedLength(builder, compressedLength);
128
+ BlobRef.addUncompressedLength(builder, uncompressedLength);
129
+ BlobRef.addCompression(builder, compression);
130
+ BlobRef.addAlignment(builder, alignment);
131
+ BlobRef.addHash(builder, hashOffset);
132
+ return BlobRef.endBlobRef(builder);
133
+ }
134
+
135
+ unpack(): BlobRefT {
136
+ return new BlobRefT(
137
+ this.kind(),
138
+ this.offset(),
139
+ this.compressedLength(),
140
+ this.uncompressedLength(),
141
+ this.compression(),
142
+ this.alignment(),
143
+ this.bb!.createScalarList<number>(this.hash.bind(this), this.hashLength())
144
+ );
145
+ }
146
+
147
+
148
+ unpackTo(_o: BlobRefT): void {
149
+ _o.kind = this.kind();
150
+ _o.offset = this.offset();
151
+ _o.compressedLength = this.compressedLength();
152
+ _o.uncompressedLength = this.uncompressedLength();
153
+ _o.compression = this.compression();
154
+ _o.alignment = this.alignment();
155
+ _o.hash = this.bb!.createScalarList<number>(this.hash.bind(this), this.hashLength());
156
+ }
157
+ }
158
+
159
+ export class BlobRefT implements flatbuffers.IGeneratedObject {
160
+ constructor(
161
+ public kind: BlobKind = BlobKind.PageImage,
162
+ public offset: bigint = BigInt('0'),
163
+ public compressedLength: bigint = BigInt('0'),
164
+ public uncompressedLength: bigint = BigInt('0'),
165
+ public compression: Compression = Compression.None,
166
+ public alignment: number = 0,
167
+ public hash: (number)[] = []
168
+ ){}
169
+
170
+
171
+ pack(builder:flatbuffers.Builder): flatbuffers.Offset {
172
+ const hash = BlobRef.createHashVector(builder, this.hash);
173
+
174
+ return BlobRef.createBlobRef(builder,
175
+ this.kind,
176
+ this.offset,
177
+ this.compressedLength,
178
+ this.uncompressedLength,
179
+ this.compression,
180
+ this.alignment,
181
+ hash
182
+ );
183
+ }
184
+ }
@@ -0,0 +1,121 @@
1
+ // automatically generated by the FlatBuffers compiler, do not modify
2
+
3
+ /* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */
4
+
5
+ import * as flatbuffers from 'flatbuffers';
6
+
7
+ import { ReadingDirection } from '../../yomu/yom/reading-direction.js';
8
+
9
+
10
+ export class BookMetadata implements flatbuffers.IUnpackableObject<BookMetadataT> {
11
+ bb: flatbuffers.ByteBuffer|null = null;
12
+ bb_pos = 0;
13
+ __init(i:number, bb:flatbuffers.ByteBuffer):BookMetadata {
14
+ this.bb_pos = i;
15
+ this.bb = bb;
16
+ return this;
17
+ }
18
+
19
+ static getRootAsBookMetadata(bb:flatbuffers.ByteBuffer, obj?:BookMetadata):BookMetadata {
20
+ return (obj || new BookMetadata()).__init(bb.readInt32(bb.position()) + bb.position(), bb);
21
+ }
22
+
23
+ static getSizePrefixedRootAsBookMetadata(bb:flatbuffers.ByteBuffer, obj?:BookMetadata):BookMetadata {
24
+ bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);
25
+ return (obj || new BookMetadata()).__init(bb.readInt32(bb.position()) + bb.position(), bb);
26
+ }
27
+
28
+ title():string|null
29
+ title(optionalEncoding:flatbuffers.Encoding):string|Uint8Array|null
30
+ title(optionalEncoding?:any):string|Uint8Array|null {
31
+ const offset = this.bb!.__offset(this.bb_pos, 4);
32
+ return offset ? this.bb!.__string(this.bb_pos + offset, optionalEncoding) : null;
33
+ }
34
+
35
+ pageCount():number {
36
+ const offset = this.bb!.__offset(this.bb_pos, 6);
37
+ return offset ? this.bb!.readUint32(this.bb_pos + offset) : 0;
38
+ }
39
+
40
+ readingDirection():ReadingDirection {
41
+ const offset = this.bb!.__offset(this.bb_pos, 8);
42
+ return offset ? this.bb!.readUint8(this.bb_pos + offset) : ReadingDirection.LeftToRight;
43
+ }
44
+
45
+ createdAtUnix():bigint {
46
+ const offset = this.bb!.__offset(this.bb_pos, 10);
47
+ return offset ? this.bb!.readInt64(this.bb_pos + offset) : BigInt('0');
48
+ }
49
+
50
+ static startBookMetadata(builder:flatbuffers.Builder) {
51
+ builder.startObject(4);
52
+ }
53
+
54
+ static addTitle(builder:flatbuffers.Builder, titleOffset:flatbuffers.Offset) {
55
+ builder.addFieldOffset(0, titleOffset, 0);
56
+ }
57
+
58
+ static addPageCount(builder:flatbuffers.Builder, pageCount:number) {
59
+ builder.addFieldInt32(1, pageCount, 0);
60
+ }
61
+
62
+ static addReadingDirection(builder:flatbuffers.Builder, readingDirection:ReadingDirection) {
63
+ builder.addFieldInt8(2, readingDirection, ReadingDirection.LeftToRight);
64
+ }
65
+
66
+ static addCreatedAtUnix(builder:flatbuffers.Builder, createdAtUnix:bigint) {
67
+ builder.addFieldInt64(3, createdAtUnix, BigInt('0'));
68
+ }
69
+
70
+ static endBookMetadata(builder:flatbuffers.Builder):flatbuffers.Offset {
71
+ const offset = builder.endObject();
72
+ return offset;
73
+ }
74
+
75
+ static createBookMetadata(builder:flatbuffers.Builder, titleOffset:flatbuffers.Offset, pageCount:number, readingDirection:ReadingDirection, createdAtUnix:bigint):flatbuffers.Offset {
76
+ BookMetadata.startBookMetadata(builder);
77
+ BookMetadata.addTitle(builder, titleOffset);
78
+ BookMetadata.addPageCount(builder, pageCount);
79
+ BookMetadata.addReadingDirection(builder, readingDirection);
80
+ BookMetadata.addCreatedAtUnix(builder, createdAtUnix);
81
+ return BookMetadata.endBookMetadata(builder);
82
+ }
83
+
84
+ unpack(): BookMetadataT {
85
+ return new BookMetadataT(
86
+ this.title(),
87
+ this.pageCount(),
88
+ this.readingDirection(),
89
+ this.createdAtUnix()
90
+ );
91
+ }
92
+
93
+
94
+ unpackTo(_o: BookMetadataT): void {
95
+ _o.title = this.title();
96
+ _o.pageCount = this.pageCount();
97
+ _o.readingDirection = this.readingDirection();
98
+ _o.createdAtUnix = this.createdAtUnix();
99
+ }
100
+ }
101
+
102
+ export class BookMetadataT implements flatbuffers.IGeneratedObject {
103
+ constructor(
104
+ public title: string|Uint8Array|null = null,
105
+ public pageCount: number = 0,
106
+ public readingDirection: ReadingDirection = ReadingDirection.LeftToRight,
107
+ public createdAtUnix: bigint = BigInt('0')
108
+ ){}
109
+
110
+
111
+ pack(builder:flatbuffers.Builder): flatbuffers.Offset {
112
+ const title = (this.title !== null ? builder.createString(this.title!) : 0);
113
+
114
+ return BookMetadata.createBookMetadata(builder,
115
+ title,
116
+ this.pageCount,
117
+ this.readingDirection,
118
+ this.createdAtUnix
119
+ );
120
+ }
121
+ }
@@ -0,0 +1,8 @@
1
+ // automatically generated by the FlatBuffers compiler, do not modify
2
+
3
+ /* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */
4
+
5
+ export enum Compression {
6
+ None = 0,
7
+ Zstd = 1
8
+ }
@@ -0,0 +1,257 @@
1
+ // automatically generated by the FlatBuffers compiler, do not modify
2
+
3
+ /* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */
4
+
5
+ import * as flatbuffers from 'flatbuffers';
6
+
7
+ import { BlobRef, BlobRefT } from '../../yomu/yom/blob-ref.js';
8
+ import { BookMetadata, BookMetadataT } from '../../yomu/yom/book-metadata.js';
9
+ import { PDFExportMetadata, PDFExportMetadataT } from '../../yomu/yom/pdfexport-metadata.js';
10
+ import { PageEntry, PageEntryT } from '../../yomu/yom/page-entry.js';
11
+ import { SearchTermRef, SearchTermRefT } from '../../yomu/yom/search-term-ref.js';
12
+
13
+
14
+ export class MainIndex implements flatbuffers.IUnpackableObject<MainIndexT> {
15
+ bb: flatbuffers.ByteBuffer|null = null;
16
+ bb_pos = 0;
17
+ __init(i:number, bb:flatbuffers.ByteBuffer):MainIndex {
18
+ this.bb_pos = i;
19
+ this.bb = bb;
20
+ return this;
21
+ }
22
+
23
+ static getRootAsMainIndex(bb:flatbuffers.ByteBuffer, obj?:MainIndex):MainIndex {
24
+ return (obj || new MainIndex()).__init(bb.readInt32(bb.position()) + bb.position(), bb);
25
+ }
26
+
27
+ static getSizePrefixedRootAsMainIndex(bb:flatbuffers.ByteBuffer, obj?:MainIndex):MainIndex {
28
+ bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);
29
+ return (obj || new MainIndex()).__init(bb.readInt32(bb.position()) + bb.position(), bb);
30
+ }
31
+
32
+ formatVersion():number {
33
+ const offset = this.bb!.__offset(this.bb_pos, 4);
34
+ return offset ? this.bb!.readUint32(this.bb_pos + offset) : 0;
35
+ }
36
+
37
+ book(obj?:BookMetadata):BookMetadata|null {
38
+ const offset = this.bb!.__offset(this.bb_pos, 6);
39
+ return offset ? (obj || new BookMetadata()).__init(this.bb!.__indirect(this.bb_pos + offset), this.bb!) : null;
40
+ }
41
+
42
+ pages(index: number, obj?:PageEntry):PageEntry|null {
43
+ const offset = this.bb!.__offset(this.bb_pos, 8);
44
+ return offset ? (obj || new PageEntry()).__init(this.bb!.__indirect(this.bb!.__vector(this.bb_pos + offset) + index * 4), this.bb!) : null;
45
+ }
46
+
47
+ pagesLength():number {
48
+ const offset = this.bb!.__offset(this.bb_pos, 8);
49
+ return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0;
50
+ }
51
+
52
+ blobs(index: number, obj?:BlobRef):BlobRef|null {
53
+ const offset = this.bb!.__offset(this.bb_pos, 10);
54
+ return offset ? (obj || new BlobRef()).__init(this.bb!.__indirect(this.bb!.__vector(this.bb_pos + offset) + index * 4), this.bb!) : null;
55
+ }
56
+
57
+ blobsLength():number {
58
+ const offset = this.bb!.__offset(this.bb_pos, 10);
59
+ return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0;
60
+ }
61
+
62
+ ocrLayoutBlobIndex():number {
63
+ const offset = this.bb!.__offset(this.bb_pos, 12);
64
+ return offset ? this.bb!.readInt32(this.bb_pos + offset) : 0;
65
+ }
66
+
67
+ normalizedTextBlobIndex():number {
68
+ const offset = this.bb!.__offset(this.bb_pos, 14);
69
+ return offset ? this.bb!.readInt32(this.bb_pos + offset) : 0;
70
+ }
71
+
72
+ searchDictionaryBlobIndex():number {
73
+ const offset = this.bb!.__offset(this.bb_pos, 16);
74
+ return offset ? this.bb!.readInt32(this.bb_pos + offset) : 0;
75
+ }
76
+
77
+ searchPostingsBlobIndex():number {
78
+ const offset = this.bb!.__offset(this.bb_pos, 18);
79
+ return offset ? this.bb!.readInt32(this.bb_pos + offset) : 0;
80
+ }
81
+
82
+ searchTerms(index: number, obj?:SearchTermRef):SearchTermRef|null {
83
+ const offset = this.bb!.__offset(this.bb_pos, 20);
84
+ return offset ? (obj || new SearchTermRef()).__init(this.bb!.__indirect(this.bb!.__vector(this.bb_pos + offset) + index * 4), this.bb!) : null;
85
+ }
86
+
87
+ searchTermsLength():number {
88
+ const offset = this.bb!.__offset(this.bb_pos, 20);
89
+ return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0;
90
+ }
91
+
92
+ pdfExport(obj?:PDFExportMetadata):PDFExportMetadata|null {
93
+ const offset = this.bb!.__offset(this.bb_pos, 22);
94
+ return offset ? (obj || new PDFExportMetadata()).__init(this.bb!.__indirect(this.bb_pos + offset), this.bb!) : null;
95
+ }
96
+
97
+ static startMainIndex(builder:flatbuffers.Builder) {
98
+ builder.startObject(10);
99
+ }
100
+
101
+ static addFormatVersion(builder:flatbuffers.Builder, formatVersion:number) {
102
+ builder.addFieldInt32(0, formatVersion, 0);
103
+ }
104
+
105
+ static addBook(builder:flatbuffers.Builder, bookOffset:flatbuffers.Offset) {
106
+ builder.addFieldOffset(1, bookOffset, 0);
107
+ }
108
+
109
+ static addPages(builder:flatbuffers.Builder, pagesOffset:flatbuffers.Offset) {
110
+ builder.addFieldOffset(2, pagesOffset, 0);
111
+ }
112
+
113
+ static createPagesVector(builder:flatbuffers.Builder, data:flatbuffers.Offset[]):flatbuffers.Offset {
114
+ builder.startVector(4, data.length, 4);
115
+ for (let i = data.length - 1; i >= 0; i--) {
116
+ builder.addOffset(data[i]!);
117
+ }
118
+ return builder.endVector();
119
+ }
120
+
121
+ static startPagesVector(builder:flatbuffers.Builder, numElems:number) {
122
+ builder.startVector(4, numElems, 4);
123
+ }
124
+
125
+ static addBlobs(builder:flatbuffers.Builder, blobsOffset:flatbuffers.Offset) {
126
+ builder.addFieldOffset(3, blobsOffset, 0);
127
+ }
128
+
129
+ static createBlobsVector(builder:flatbuffers.Builder, data:flatbuffers.Offset[]):flatbuffers.Offset {
130
+ builder.startVector(4, data.length, 4);
131
+ for (let i = data.length - 1; i >= 0; i--) {
132
+ builder.addOffset(data[i]!);
133
+ }
134
+ return builder.endVector();
135
+ }
136
+
137
+ static startBlobsVector(builder:flatbuffers.Builder, numElems:number) {
138
+ builder.startVector(4, numElems, 4);
139
+ }
140
+
141
+ static addOcrLayoutBlobIndex(builder:flatbuffers.Builder, ocrLayoutBlobIndex:number) {
142
+ builder.addFieldInt32(4, ocrLayoutBlobIndex, 0);
143
+ }
144
+
145
+ static addNormalizedTextBlobIndex(builder:flatbuffers.Builder, normalizedTextBlobIndex:number) {
146
+ builder.addFieldInt32(5, normalizedTextBlobIndex, 0);
147
+ }
148
+
149
+ static addSearchDictionaryBlobIndex(builder:flatbuffers.Builder, searchDictionaryBlobIndex:number) {
150
+ builder.addFieldInt32(6, searchDictionaryBlobIndex, 0);
151
+ }
152
+
153
+ static addSearchPostingsBlobIndex(builder:flatbuffers.Builder, searchPostingsBlobIndex:number) {
154
+ builder.addFieldInt32(7, searchPostingsBlobIndex, 0);
155
+ }
156
+
157
+ static addSearchTerms(builder:flatbuffers.Builder, searchTermsOffset:flatbuffers.Offset) {
158
+ builder.addFieldOffset(8, searchTermsOffset, 0);
159
+ }
160
+
161
+ static createSearchTermsVector(builder:flatbuffers.Builder, data:flatbuffers.Offset[]):flatbuffers.Offset {
162
+ builder.startVector(4, data.length, 4);
163
+ for (let i = data.length - 1; i >= 0; i--) {
164
+ builder.addOffset(data[i]!);
165
+ }
166
+ return builder.endVector();
167
+ }
168
+
169
+ static startSearchTermsVector(builder:flatbuffers.Builder, numElems:number) {
170
+ builder.startVector(4, numElems, 4);
171
+ }
172
+
173
+ static addPdfExport(builder:flatbuffers.Builder, pdfExportOffset:flatbuffers.Offset) {
174
+ builder.addFieldOffset(9, pdfExportOffset, 0);
175
+ }
176
+
177
+ static endMainIndex(builder:flatbuffers.Builder):flatbuffers.Offset {
178
+ const offset = builder.endObject();
179
+ return offset;
180
+ }
181
+
182
+ static finishMainIndexBuffer(builder:flatbuffers.Builder, offset:flatbuffers.Offset) {
183
+ builder.finish(offset);
184
+ }
185
+
186
+ static finishSizePrefixedMainIndexBuffer(builder:flatbuffers.Builder, offset:flatbuffers.Offset) {
187
+ builder.finish(offset, undefined, true);
188
+ }
189
+
190
+
191
+ unpack(): MainIndexT {
192
+ return new MainIndexT(
193
+ this.formatVersion(),
194
+ (this.book() !== null ? this.book()!.unpack() : null),
195
+ this.bb!.createObjList<PageEntry, PageEntryT>(this.pages.bind(this), this.pagesLength()),
196
+ this.bb!.createObjList<BlobRef, BlobRefT>(this.blobs.bind(this), this.blobsLength()),
197
+ this.ocrLayoutBlobIndex(),
198
+ this.normalizedTextBlobIndex(),
199
+ this.searchDictionaryBlobIndex(),
200
+ this.searchPostingsBlobIndex(),
201
+ this.bb!.createObjList<SearchTermRef, SearchTermRefT>(this.searchTerms.bind(this), this.searchTermsLength()),
202
+ (this.pdfExport() !== null ? this.pdfExport()!.unpack() : null)
203
+ );
204
+ }
205
+
206
+
207
+ unpackTo(_o: MainIndexT): void {
208
+ _o.formatVersion = this.formatVersion();
209
+ _o.book = (this.book() !== null ? this.book()!.unpack() : null);
210
+ _o.pages = this.bb!.createObjList<PageEntry, PageEntryT>(this.pages.bind(this), this.pagesLength());
211
+ _o.blobs = this.bb!.createObjList<BlobRef, BlobRefT>(this.blobs.bind(this), this.blobsLength());
212
+ _o.ocrLayoutBlobIndex = this.ocrLayoutBlobIndex();
213
+ _o.normalizedTextBlobIndex = this.normalizedTextBlobIndex();
214
+ _o.searchDictionaryBlobIndex = this.searchDictionaryBlobIndex();
215
+ _o.searchPostingsBlobIndex = this.searchPostingsBlobIndex();
216
+ _o.searchTerms = this.bb!.createObjList<SearchTermRef, SearchTermRefT>(this.searchTerms.bind(this), this.searchTermsLength());
217
+ _o.pdfExport = (this.pdfExport() !== null ? this.pdfExport()!.unpack() : null);
218
+ }
219
+ }
220
+
221
+ export class MainIndexT implements flatbuffers.IGeneratedObject {
222
+ constructor(
223
+ public formatVersion: number = 0,
224
+ public book: BookMetadataT|null = null,
225
+ public pages: (PageEntryT)[] = [],
226
+ public blobs: (BlobRefT)[] = [],
227
+ public ocrLayoutBlobIndex: number = 0,
228
+ public normalizedTextBlobIndex: number = 0,
229
+ public searchDictionaryBlobIndex: number = 0,
230
+ public searchPostingsBlobIndex: number = 0,
231
+ public searchTerms: (SearchTermRefT)[] = [],
232
+ public pdfExport: PDFExportMetadataT|null = null
233
+ ){}
234
+
235
+
236
+ pack(builder:flatbuffers.Builder): flatbuffers.Offset {
237
+ const book = (this.book !== null ? this.book!.pack(builder) : 0);
238
+ const pages = MainIndex.createPagesVector(builder, builder.createObjectOffsetList(this.pages));
239
+ const blobs = MainIndex.createBlobsVector(builder, builder.createObjectOffsetList(this.blobs));
240
+ const searchTerms = MainIndex.createSearchTermsVector(builder, builder.createObjectOffsetList(this.searchTerms));
241
+ const pdfExport = (this.pdfExport !== null ? this.pdfExport!.pack(builder) : 0);
242
+
243
+ MainIndex.startMainIndex(builder);
244
+ MainIndex.addFormatVersion(builder, this.formatVersion);
245
+ MainIndex.addBook(builder, book);
246
+ MainIndex.addPages(builder, pages);
247
+ MainIndex.addBlobs(builder, blobs);
248
+ MainIndex.addOcrLayoutBlobIndex(builder, this.ocrLayoutBlobIndex);
249
+ MainIndex.addNormalizedTextBlobIndex(builder, this.normalizedTextBlobIndex);
250
+ MainIndex.addSearchDictionaryBlobIndex(builder, this.searchDictionaryBlobIndex);
251
+ MainIndex.addSearchPostingsBlobIndex(builder, this.searchPostingsBlobIndex);
252
+ MainIndex.addSearchTerms(builder, searchTerms);
253
+ MainIndex.addPdfExport(builder, pdfExport);
254
+
255
+ return MainIndex.endMainIndex(builder);
256
+ }
257
+ }
@@ -0,0 +1,117 @@
1
+ // automatically generated by the FlatBuffers compiler, do not modify
2
+
3
+ /* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any, @typescript-eslint/no-non-null-assertion */
4
+
5
+ import * as flatbuffers from 'flatbuffers';
6
+
7
+
8
+
9
+ export class OCRBlock implements flatbuffers.IUnpackableObject<OCRBlockT> {
10
+ bb: flatbuffers.ByteBuffer|null = null;
11
+ bb_pos = 0;
12
+ __init(i:number, bb:flatbuffers.ByteBuffer):OCRBlock {
13
+ this.bb_pos = i;
14
+ this.bb = bb;
15
+ return this;
16
+ }
17
+
18
+ static getRootAsOCRBlock(bb:flatbuffers.ByteBuffer, obj?:OCRBlock):OCRBlock {
19
+ return (obj || new OCRBlock()).__init(bb.readInt32(bb.position()) + bb.position(), bb);
20
+ }
21
+
22
+ static getSizePrefixedRootAsOCRBlock(bb:flatbuffers.ByteBuffer, obj?:OCRBlock):OCRBlock {
23
+ bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);
24
+ return (obj || new OCRBlock()).__init(bb.readInt32(bb.position()) + bb.position(), bb);
25
+ }
26
+
27
+ blockId():number {
28
+ const offset = this.bb!.__offset(this.bb_pos, 4);
29
+ return offset ? this.bb!.readUint32(this.bb_pos + offset) : 0;
30
+ }
31
+
32
+ bbox(index: number):number|null {
33
+ const offset = this.bb!.__offset(this.bb_pos, 6);
34
+ return offset ? this.bb!.readFloat32(this.bb!.__vector(this.bb_pos + offset) + index * 4) : 0;
35
+ }
36
+
37
+ bboxLength():number {
38
+ const offset = this.bb!.__offset(this.bb_pos, 6);
39
+ return offset ? this.bb!.__vector_len(this.bb_pos + offset) : 0;
40
+ }
41
+
42
+ bboxArray():Float32Array|null {
43
+ const offset = this.bb!.__offset(this.bb_pos, 6);
44
+ return offset ? new Float32Array(this.bb!.bytes().buffer, this.bb!.bytes().byteOffset + this.bb!.__vector(this.bb_pos + offset), this.bb!.__vector_len(this.bb_pos + offset)) : null;
45
+ }
46
+
47
+ static startOCRBlock(builder:flatbuffers.Builder) {
48
+ builder.startObject(2);
49
+ }
50
+
51
+ static addBlockId(builder:flatbuffers.Builder, blockId:number) {
52
+ builder.addFieldInt32(0, blockId, 0);
53
+ }
54
+
55
+ static addBbox(builder:flatbuffers.Builder, bboxOffset:flatbuffers.Offset) {
56
+ builder.addFieldOffset(1, bboxOffset, 0);
57
+ }
58
+
59
+ static createBboxVector(builder:flatbuffers.Builder, data:number[]|Float32Array):flatbuffers.Offset;
60
+ /**
61
+ * @deprecated This Uint8Array overload will be removed in the future.
62
+ */
63
+ static createBboxVector(builder:flatbuffers.Builder, data:number[]|Uint8Array):flatbuffers.Offset;
64
+ static createBboxVector(builder:flatbuffers.Builder, data:number[]|Float32Array|Uint8Array):flatbuffers.Offset {
65
+ builder.startVector(4, data.length, 4);
66
+ for (let i = data.length - 1; i >= 0; i--) {
67
+ builder.addFloat32(data[i]!);
68
+ }
69
+ return builder.endVector();
70
+ }
71
+
72
+ static startBboxVector(builder:flatbuffers.Builder, numElems:number) {
73
+ builder.startVector(4, numElems, 4);
74
+ }
75
+
76
+ static endOCRBlock(builder:flatbuffers.Builder):flatbuffers.Offset {
77
+ const offset = builder.endObject();
78
+ return offset;
79
+ }
80
+
81
+ static createOCRBlock(builder:flatbuffers.Builder, blockId:number, bboxOffset:flatbuffers.Offset):flatbuffers.Offset {
82
+ OCRBlock.startOCRBlock(builder);
83
+ OCRBlock.addBlockId(builder, blockId);
84
+ OCRBlock.addBbox(builder, bboxOffset);
85
+ return OCRBlock.endOCRBlock(builder);
86
+ }
87
+
88
+ unpack(): OCRBlockT {
89
+ return new OCRBlockT(
90
+ this.blockId(),
91
+ this.bb!.createScalarList<number>(this.bbox.bind(this), this.bboxLength())
92
+ );
93
+ }
94
+
95
+
96
+ unpackTo(_o: OCRBlockT): void {
97
+ _o.blockId = this.blockId();
98
+ _o.bbox = this.bb!.createScalarList<number>(this.bbox.bind(this), this.bboxLength());
99
+ }
100
+ }
101
+
102
+ export class OCRBlockT implements flatbuffers.IGeneratedObject {
103
+ constructor(
104
+ public blockId: number = 0,
105
+ public bbox: (number)[] = []
106
+ ){}
107
+
108
+
109
+ pack(builder:flatbuffers.Builder): flatbuffers.Offset {
110
+ const bbox = OCRBlock.createBboxVector(builder, this.bbox);
111
+
112
+ return OCRBlock.createOCRBlock(builder,
113
+ this.blockId,
114
+ bbox
115
+ );
116
+ }
117
+ }