bare-media 1.0.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.
@@ -0,0 +1,422 @@
1
+ // This file is autogenerated by the hyperschema compiler
2
+ // Schema Version: 2
3
+ /* eslint-disable camelcase */
4
+ /* eslint-disable quotes */
5
+
6
+ import { c } from 'hyperschema/runtime'
7
+
8
+ const VERSION = 2
9
+
10
+ // eslint-disable-next-line no-unused-vars
11
+ let version = VERSION
12
+
13
+ // @media/dimensions
14
+ const encoding0 = {
15
+ preencode (state, m) {
16
+ c.uint.preencode(state, m.width)
17
+ c.uint.preencode(state, m.height)
18
+ },
19
+ encode (state, m) {
20
+ c.uint.encode(state, m.width)
21
+ c.uint.encode(state, m.height)
22
+ },
23
+ decode (state) {
24
+ const r0 = c.uint.decode(state)
25
+ const r1 = c.uint.decode(state)
26
+
27
+ return {
28
+ width: r0,
29
+ height: r1
30
+ }
31
+ }
32
+ }
33
+
34
+ // @media/metadata.dimensions
35
+ const encoding1_1 = c.frame(encoding0)
36
+
37
+ // @media/metadata
38
+ const encoding1 = {
39
+ preencode (state, m) {
40
+ state.end++ // max flag is 4 so always one byte
41
+
42
+ if (m.mimetype) c.string.preencode(state, m.mimetype)
43
+ if (m.dimensions) encoding1_1.preencode(state, m.dimensions)
44
+ if (m.duration) c.uint.preencode(state, m.duration)
45
+ },
46
+ encode (state, m) {
47
+ const flags =
48
+ (m.mimetype ? 1 : 0) |
49
+ (m.dimensions ? 2 : 0) |
50
+ (m.duration ? 4 : 0)
51
+
52
+ c.uint.encode(state, flags)
53
+
54
+ if (m.mimetype) c.string.encode(state, m.mimetype)
55
+ if (m.dimensions) encoding1_1.encode(state, m.dimensions)
56
+ if (m.duration) c.uint.encode(state, m.duration)
57
+ },
58
+ decode (state) {
59
+ const flags = c.uint.decode(state)
60
+
61
+ return {
62
+ mimetype: (flags & 1) !== 0 ? c.string.decode(state) : null,
63
+ dimensions: (flags & 2) !== 0 ? encoding1_1.decode(state) : null,
64
+ duration: (flags & 4) !== 0 ? c.uint.decode(state) : 0
65
+ }
66
+ }
67
+ }
68
+
69
+ // @media/file.metadata
70
+ const encoding2_0 = c.frame(encoding1)
71
+
72
+ // @media/file
73
+ const encoding2 = {
74
+ preencode (state, m) {
75
+ state.end++ // max flag is 4 so always one byte
76
+
77
+ if (m.metadata) encoding2_0.preencode(state, m.metadata)
78
+ if (m.inlined) c.string.preencode(state, m.inlined)
79
+ if (m.buffer) c.buffer.preencode(state, m.buffer)
80
+ },
81
+ encode (state, m) {
82
+ const flags =
83
+ (m.metadata ? 1 : 0) |
84
+ (m.inlined ? 2 : 0) |
85
+ (m.buffer ? 4 : 0)
86
+
87
+ c.uint.encode(state, flags)
88
+
89
+ if (m.metadata) encoding2_0.encode(state, m.metadata)
90
+ if (m.inlined) c.string.encode(state, m.inlined)
91
+ if (m.buffer) c.buffer.encode(state, m.buffer)
92
+ },
93
+ decode (state) {
94
+ const flags = c.uint.decode(state)
95
+
96
+ return {
97
+ metadata: (flags & 1) !== 0 ? encoding2_0.decode(state) : null,
98
+ inlined: (flags & 2) !== 0 ? c.string.decode(state) : null,
99
+ buffer: (flags & 4) !== 0 ? c.buffer.decode(state) : null
100
+ }
101
+ }
102
+ }
103
+
104
+ // @media/preview-by-size.small
105
+ const encoding3_0 = c.frame(encoding2)
106
+ // @media/preview-by-size.medium
107
+ const encoding3_1 = encoding3_0
108
+ // @media/preview-by-size.large
109
+ const encoding3_2 = encoding3_0
110
+
111
+ // @media/preview-by-size
112
+ const encoding3 = {
113
+ preencode (state, m) {
114
+ state.end++ // max flag is 4 so always one byte
115
+
116
+ if (m.small) encoding3_0.preencode(state, m.small)
117
+ if (m.medium) encoding3_1.preencode(state, m.medium)
118
+ if (m.large) encoding3_2.preencode(state, m.large)
119
+ },
120
+ encode (state, m) {
121
+ const flags =
122
+ (m.small ? 1 : 0) |
123
+ (m.medium ? 2 : 0) |
124
+ (m.large ? 4 : 0)
125
+
126
+ c.uint.encode(state, flags)
127
+
128
+ if (m.small) encoding3_0.encode(state, m.small)
129
+ if (m.medium) encoding3_1.encode(state, m.medium)
130
+ if (m.large) encoding3_2.encode(state, m.large)
131
+ },
132
+ decode (state) {
133
+ const flags = c.uint.decode(state)
134
+
135
+ return {
136
+ small: (flags & 1) !== 0 ? encoding3_0.decode(state) : null,
137
+ medium: (flags & 2) !== 0 ? encoding3_1.decode(state) : null,
138
+ large: (flags & 4) !== 0 ? encoding3_2.decode(state) : null
139
+ }
140
+ }
141
+ }
142
+
143
+ // @media/sizePreview
144
+ const encoding4 = {
145
+ preencode (state, m) {
146
+ c.uint.preencode(state, m.small)
147
+ c.uint.preencode(state, m.medium)
148
+ c.uint.preencode(state, m.large)
149
+ },
150
+ encode (state, m) {
151
+ c.uint.encode(state, m.small)
152
+ c.uint.encode(state, m.medium)
153
+ c.uint.encode(state, m.large)
154
+ },
155
+ decode (state) {
156
+ const r0 = c.uint.decode(state)
157
+ const r1 = c.uint.decode(state)
158
+ const r2 = c.uint.decode(state)
159
+
160
+ return {
161
+ small: r0,
162
+ medium: r1,
163
+ large: r2
164
+ }
165
+ }
166
+ }
167
+
168
+ // @media/create-preview-request
169
+ const encoding5 = {
170
+ preencode (state, m) {
171
+ c.string.preencode(state, m.path)
172
+ state.end++ // max flag is 16 so always one byte
173
+
174
+ if (m.mimetype) c.string.preencode(state, m.mimetype)
175
+ if (m.maxWidth) c.uint.preencode(state, m.maxWidth)
176
+ if (m.maxHeight) c.uint.preencode(state, m.maxHeight)
177
+ if (m.format) c.string.preencode(state, m.format)
178
+ if (m.encoding) c.string.preencode(state, m.encoding)
179
+ },
180
+ encode (state, m) {
181
+ const flags =
182
+ (m.mimetype ? 1 : 0) |
183
+ (m.maxWidth ? 2 : 0) |
184
+ (m.maxHeight ? 4 : 0) |
185
+ (m.format ? 8 : 0) |
186
+ (m.encoding ? 16 : 0)
187
+
188
+ c.string.encode(state, m.path)
189
+ c.uint.encode(state, flags)
190
+
191
+ if (m.mimetype) c.string.encode(state, m.mimetype)
192
+ if (m.maxWidth) c.uint.encode(state, m.maxWidth)
193
+ if (m.maxHeight) c.uint.encode(state, m.maxHeight)
194
+ if (m.format) c.string.encode(state, m.format)
195
+ if (m.encoding) c.string.encode(state, m.encoding)
196
+ },
197
+ decode (state) {
198
+ const r0 = c.string.decode(state)
199
+ const flags = c.uint.decode(state)
200
+
201
+ return {
202
+ path: r0,
203
+ mimetype: (flags & 1) !== 0 ? c.string.decode(state) : null,
204
+ maxWidth: (flags & 2) !== 0 ? c.uint.decode(state) : 0,
205
+ maxHeight: (flags & 4) !== 0 ? c.uint.decode(state) : 0,
206
+ format: (flags & 8) !== 0 ? c.string.decode(state) : null,
207
+ encoding: (flags & 16) !== 0 ? c.string.decode(state) : null
208
+ }
209
+ }
210
+ }
211
+
212
+ // @media/create-preview-response.metadata
213
+ const encoding6_0 = encoding2_0
214
+ // @media/create-preview-response.preview
215
+ const encoding6_1 = encoding3_0
216
+
217
+ // @media/create-preview-response
218
+ const encoding6 = {
219
+ preencode (state, m) {
220
+ encoding6_0.preencode(state, m.metadata)
221
+ encoding6_1.preencode(state, m.preview)
222
+ },
223
+ encode (state, m) {
224
+ encoding6_0.encode(state, m.metadata)
225
+ encoding6_1.encode(state, m.preview)
226
+ },
227
+ decode (state) {
228
+ const r0 = encoding6_0.decode(state)
229
+ const r1 = encoding6_1.decode(state)
230
+
231
+ return {
232
+ metadata: r0,
233
+ preview: r1
234
+ }
235
+ }
236
+ }
237
+
238
+ // @media/create-preview-all-request.maxWidth
239
+ const encoding7_2 = c.frame(encoding4)
240
+ // @media/create-preview-all-request.maxHeight
241
+ const encoding7_3 = encoding7_2
242
+
243
+ // @media/create-preview-all-request
244
+ const encoding7 = {
245
+ preencode (state, m) {
246
+ c.string.preencode(state, m.path)
247
+ state.end++ // max flag is 2 so always one byte
248
+
249
+ if (m.mimetype) c.string.preencode(state, m.mimetype)
250
+ encoding7_2.preencode(state, m.maxWidth)
251
+ encoding7_3.preencode(state, m.maxHeight)
252
+ if (m.format) c.string.preencode(state, m.format)
253
+ },
254
+ encode (state, m) {
255
+ const flags =
256
+ (m.mimetype ? 1 : 0) |
257
+ (m.format ? 2 : 0)
258
+
259
+ c.string.encode(state, m.path)
260
+ c.uint.encode(state, flags)
261
+
262
+ if (m.mimetype) c.string.encode(state, m.mimetype)
263
+ encoding7_2.encode(state, m.maxWidth)
264
+ encoding7_3.encode(state, m.maxHeight)
265
+ if (m.format) c.string.encode(state, m.format)
266
+ },
267
+ decode (state) {
268
+ const r0 = c.string.decode(state)
269
+ const flags = c.uint.decode(state)
270
+
271
+ return {
272
+ path: r0,
273
+ mimetype: (flags & 1) !== 0 ? c.string.decode(state) : null,
274
+ maxWidth: encoding7_2.decode(state),
275
+ maxHeight: encoding7_3.decode(state),
276
+ format: (flags & 2) !== 0 ? c.string.decode(state) : null
277
+ }
278
+ }
279
+ }
280
+
281
+ // @media/create-preview-all-response.metadata
282
+ const encoding8_0 = encoding2_0
283
+ // @media/create-preview-all-response.preview
284
+ const encoding8_1 = c.frame(encoding3)
285
+
286
+ // @media/create-preview-all-response
287
+ const encoding8 = {
288
+ preencode (state, m) {
289
+ encoding8_0.preencode(state, m.metadata)
290
+ encoding8_1.preencode(state, m.preview)
291
+ },
292
+ encode (state, m) {
293
+ encoding8_0.encode(state, m.metadata)
294
+ encoding8_1.encode(state, m.preview)
295
+ },
296
+ decode (state) {
297
+ const r0 = encoding8_0.decode(state)
298
+ const r1 = encoding8_1.decode(state)
299
+
300
+ return {
301
+ metadata: r0,
302
+ preview: r1
303
+ }
304
+ }
305
+ }
306
+
307
+ // @media/decode-image-request
308
+ const encoding9 = {
309
+ preencode (state, m) {
310
+ c.string.preencode(state, m.httpLink)
311
+ state.end++ // max flag is 1 so always one byte
312
+
313
+ if (version >= 2 && m.mimetype) c.string.preencode(state, m.mimetype)
314
+ },
315
+ encode (state, m) {
316
+ const flags = (version >= 2 && m.mimetype) ? 1 : 0
317
+
318
+ c.string.encode(state, m.httpLink)
319
+ c.uint.encode(state, flags)
320
+
321
+ if (version >= 2 && m.mimetype) c.string.encode(state, m.mimetype)
322
+ },
323
+ decode (state) {
324
+ const r0 = c.string.decode(state)
325
+ const flags = c.uint.decode(state)
326
+
327
+ return {
328
+ httpLink: r0,
329
+ mimetype: (version >= 2 && (flags & 1) !== 0) ? c.string.decode(state) : null
330
+ }
331
+ }
332
+ }
333
+
334
+ // @media/decode-image-response.metadata
335
+ const encoding10_0 = encoding2_0
336
+
337
+ // @media/decode-image-response
338
+ const encoding10 = {
339
+ preencode (state, m) {
340
+ state.end++ // max flag is 2 so always one byte
341
+
342
+ if (version >= 2 && m.metadata) encoding10_0.preencode(state, m.metadata)
343
+ if (version >= 2 && m.data) c.buffer.preencode(state, m.data)
344
+ },
345
+ encode (state, m) {
346
+ const flags =
347
+ ((version >= 2 && m.metadata) ? 1 : 0) |
348
+ ((version >= 2 && m.data) ? 2 : 0)
349
+
350
+ c.uint.encode(state, flags)
351
+
352
+ if (version >= 2 && m.metadata) encoding10_0.encode(state, m.metadata)
353
+ if (version >= 2 && m.data) c.buffer.encode(state, m.data)
354
+ },
355
+ decode (state) {
356
+ const flags = c.uint.decode(state)
357
+
358
+ return {
359
+ metadata: (version >= 2 && (flags & 1) !== 0) ? encoding10_0.decode(state) : null,
360
+ data: (version >= 2 && (flags & 2) !== 0) ? c.buffer.decode(state) : null
361
+ }
362
+ }
363
+ }
364
+
365
+ function setVersion (v) {
366
+ version = v
367
+ }
368
+
369
+ function encode (name, value, v = VERSION) {
370
+ version = v
371
+ return c.encode(getEncoding(name), value)
372
+ }
373
+
374
+ function decode (name, buffer, v = VERSION) {
375
+ version = v
376
+ return c.decode(getEncoding(name), buffer)
377
+ }
378
+
379
+ function getEnum (name) {
380
+ switch (name) {
381
+ default: throw new Error('Enum not found ' + name)
382
+ }
383
+ }
384
+
385
+ function getEncoding (name) {
386
+ switch (name) {
387
+ case '@media/dimensions': return encoding0
388
+ case '@media/metadata': return encoding1
389
+ case '@media/file': return encoding2
390
+ case '@media/preview-by-size': return encoding3
391
+ case '@media/sizePreview': return encoding4
392
+ case '@media/create-preview-request': return encoding5
393
+ case '@media/create-preview-response': return encoding6
394
+ case '@media/create-preview-all-request': return encoding7
395
+ case '@media/create-preview-all-response': return encoding8
396
+ case '@media/decode-image-request': return encoding9
397
+ case '@media/decode-image-response': return encoding10
398
+ default: throw new Error('Encoder not found ' + name)
399
+ }
400
+ }
401
+
402
+ function getStruct (name, v = VERSION) {
403
+ const enc = getEncoding(name)
404
+ return {
405
+ preencode (state, m) {
406
+ version = v
407
+ enc.preencode(state, m)
408
+ },
409
+ encode (state, m) {
410
+ version = v
411
+ enc.encode(state, m)
412
+ },
413
+ decode (state) {
414
+ version = v
415
+ return enc.decode(state)
416
+ }
417
+ }
418
+ }
419
+
420
+ const resolveStruct = getStruct // compat
421
+
422
+ export { resolveStruct, getStruct, getEnum, getEncoding, encode, decode, setVersion, version }