bare-media 1.7.0 → 2.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.
@@ -1,334 +0,0 @@
1
- // This file is autogenerated by the hyperschema compiler
2
- // Schema Version: 1
3
- /* eslint-disable camelcase */
4
- /* eslint-disable quotes */
5
-
6
- import { c } from 'hyperschema/runtime'
7
-
8
- const VERSION = 1
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) | (m.dimensions ? 2 : 0) | (m.duration ? 4 : 0)
49
-
50
- c.uint.encode(state, flags)
51
-
52
- if (m.mimetype) c.string.encode(state, m.mimetype)
53
- if (m.dimensions) encoding1_1.encode(state, m.dimensions)
54
- if (m.duration) c.uint.encode(state, m.duration)
55
- },
56
- decode(state) {
57
- const flags = c.uint.decode(state)
58
-
59
- return {
60
- mimetype: (flags & 1) !== 0 ? c.string.decode(state) : null,
61
- dimensions: (flags & 2) !== 0 ? encoding1_1.decode(state) : null,
62
- duration: (flags & 4) !== 0 ? c.uint.decode(state) : 0
63
- }
64
- }
65
- }
66
-
67
- // @media/file.metadata
68
- const encoding2_0 = c.frame(encoding1)
69
-
70
- // @media/file
71
- const encoding2 = {
72
- preencode(state, m) {
73
- state.end++ // max flag is 4 so always one byte
74
-
75
- if (m.metadata) encoding2_0.preencode(state, m.metadata)
76
- if (m.inlined) c.string.preencode(state, m.inlined)
77
- if (m.buffer) c.buffer.preencode(state, m.buffer)
78
- },
79
- encode(state, m) {
80
- const flags =
81
- (m.metadata ? 1 : 0) | (m.inlined ? 2 : 0) | (m.buffer ? 4 : 0)
82
-
83
- c.uint.encode(state, flags)
84
-
85
- if (m.metadata) encoding2_0.encode(state, m.metadata)
86
- if (m.inlined) c.string.encode(state, m.inlined)
87
- if (m.buffer) c.buffer.encode(state, m.buffer)
88
- },
89
- decode(state) {
90
- const flags = c.uint.decode(state)
91
-
92
- return {
93
- metadata: (flags & 1) !== 0 ? encoding2_0.decode(state) : null,
94
- inlined: (flags & 2) !== 0 ? c.string.decode(state) : null,
95
- buffer: (flags & 4) !== 0 ? c.buffer.decode(state) : null
96
- }
97
- }
98
- }
99
-
100
- // @media/create-preview-request
101
- const encoding3 = {
102
- preencode(state, m) {
103
- const flags =
104
- (m.path ? 1 : 0) |
105
- (m.httpLink ? 2 : 0) |
106
- (m.buffer ? 4 : 0) |
107
- (m.mimetype ? 8 : 0) |
108
- (m.maxWidth ? 16 : 0) |
109
- (m.maxHeight ? 32 : 0) |
110
- (m.maxFrames ? 64 : 0) |
111
- (m.maxBytes ? 128 : 0) |
112
- (m.format ? 256 : 0) |
113
- (m.encoding ? 512 : 0)
114
-
115
- c.uint.preencode(state, flags)
116
-
117
- if (m.path) c.string.preencode(state, m.path)
118
- if (m.httpLink) c.string.preencode(state, m.httpLink)
119
- if (m.buffer) c.buffer.preencode(state, m.buffer)
120
- if (m.mimetype) c.string.preencode(state, m.mimetype)
121
- if (m.maxWidth) c.uint.preencode(state, m.maxWidth)
122
- if (m.maxHeight) c.uint.preencode(state, m.maxHeight)
123
- if (m.maxFrames) c.uint.preencode(state, m.maxFrames)
124
- if (m.maxBytes) c.uint.preencode(state, m.maxBytes)
125
- if (m.format) c.string.preencode(state, m.format)
126
- if (m.encoding) c.string.preencode(state, m.encoding)
127
- },
128
- encode(state, m) {
129
- const flags =
130
- (m.path ? 1 : 0) |
131
- (m.httpLink ? 2 : 0) |
132
- (m.buffer ? 4 : 0) |
133
- (m.mimetype ? 8 : 0) |
134
- (m.maxWidth ? 16 : 0) |
135
- (m.maxHeight ? 32 : 0) |
136
- (m.maxFrames ? 64 : 0) |
137
- (m.maxBytes ? 128 : 0) |
138
- (m.format ? 256 : 0) |
139
- (m.encoding ? 512 : 0)
140
-
141
- c.uint.encode(state, flags)
142
-
143
- if (m.path) c.string.encode(state, m.path)
144
- if (m.httpLink) c.string.encode(state, m.httpLink)
145
- if (m.buffer) c.buffer.encode(state, m.buffer)
146
- if (m.mimetype) c.string.encode(state, m.mimetype)
147
- if (m.maxWidth) c.uint.encode(state, m.maxWidth)
148
- if (m.maxHeight) c.uint.encode(state, m.maxHeight)
149
- if (m.maxFrames) c.uint.encode(state, m.maxFrames)
150
- if (m.maxBytes) c.uint.encode(state, m.maxBytes)
151
- if (m.format) c.string.encode(state, m.format)
152
- if (m.encoding) c.string.encode(state, m.encoding)
153
- },
154
- decode(state) {
155
- const flags = c.uint.decode(state)
156
-
157
- return {
158
- path: (flags & 1) !== 0 ? c.string.decode(state) : null,
159
- httpLink: (flags & 2) !== 0 ? c.string.decode(state) : null,
160
- buffer: (flags & 4) !== 0 ? c.buffer.decode(state) : null,
161
- mimetype: (flags & 8) !== 0 ? c.string.decode(state) : null,
162
- maxWidth: (flags & 16) !== 0 ? c.uint.decode(state) : 0,
163
- maxHeight: (flags & 32) !== 0 ? c.uint.decode(state) : 0,
164
- maxFrames: (flags & 64) !== 0 ? c.uint.decode(state) : 0,
165
- maxBytes: (flags & 128) !== 0 ? c.uint.decode(state) : 0,
166
- format: (flags & 256) !== 0 ? c.string.decode(state) : null,
167
- encoding: (flags & 512) !== 0 ? c.string.decode(state) : null
168
- }
169
- }
170
- }
171
-
172
- // @media/create-preview-response.metadata
173
- const encoding4_0 = encoding2_0
174
- // @media/create-preview-response.preview
175
- const encoding4_1 = c.frame(encoding2)
176
-
177
- // @media/create-preview-response
178
- const encoding4 = {
179
- preencode(state, m) {
180
- encoding4_0.preencode(state, m.metadata)
181
- encoding4_1.preencode(state, m.preview)
182
- },
183
- encode(state, m) {
184
- encoding4_0.encode(state, m.metadata)
185
- encoding4_1.encode(state, m.preview)
186
- },
187
- decode(state) {
188
- const r0 = encoding4_0.decode(state)
189
- const r1 = encoding4_1.decode(state)
190
-
191
- return {
192
- metadata: r0,
193
- preview: r1
194
- }
195
- }
196
- }
197
-
198
- // @media/decode-image-request
199
- const encoding5 = {
200
- preencode(state, m) {
201
- state.end++ // max flag is 8 so always one byte
202
-
203
- if (m.path) c.string.preencode(state, m.path)
204
- if (m.httpLink) c.string.preencode(state, m.httpLink)
205
- if (m.buffer) c.buffer.preencode(state, m.buffer)
206
- if (m.mimetype) c.string.preencode(state, m.mimetype)
207
- },
208
- encode(state, m) {
209
- const flags =
210
- (m.path ? 1 : 0) |
211
- (m.httpLink ? 2 : 0) |
212
- (m.buffer ? 4 : 0) |
213
- (m.mimetype ? 8 : 0)
214
-
215
- c.uint.encode(state, flags)
216
-
217
- if (m.path) c.string.encode(state, m.path)
218
- if (m.httpLink) c.string.encode(state, m.httpLink)
219
- if (m.buffer) c.buffer.encode(state, m.buffer)
220
- if (m.mimetype) c.string.encode(state, m.mimetype)
221
- },
222
- decode(state) {
223
- const flags = c.uint.decode(state)
224
-
225
- return {
226
- path: (flags & 1) !== 0 ? c.string.decode(state) : null,
227
- httpLink: (flags & 2) !== 0 ? c.string.decode(state) : null,
228
- buffer: (flags & 4) !== 0 ? c.buffer.decode(state) : null,
229
- mimetype: (flags & 8) !== 0 ? c.string.decode(state) : null
230
- }
231
- }
232
- }
233
-
234
- // @media/decode-image-response.metadata
235
- const encoding6_0 = encoding2_0
236
-
237
- // @media/decode-image-response
238
- const encoding6 = {
239
- preencode(state, m) {
240
- state.end++ // max flag is 2 so always one byte
241
-
242
- if (m.metadata) encoding6_0.preencode(state, m.metadata)
243
- if (m.data) c.buffer.preencode(state, m.data)
244
- },
245
- encode(state, m) {
246
- const flags = (m.metadata ? 1 : 0) | (m.data ? 2 : 0)
247
-
248
- c.uint.encode(state, flags)
249
-
250
- if (m.metadata) encoding6_0.encode(state, m.metadata)
251
- if (m.data) c.buffer.encode(state, m.data)
252
- },
253
- decode(state) {
254
- const flags = c.uint.decode(state)
255
-
256
- return {
257
- metadata: (flags & 1) !== 0 ? encoding6_0.decode(state) : null,
258
- data: (flags & 2) !== 0 ? c.buffer.decode(state) : null
259
- }
260
- }
261
- }
262
-
263
- function setVersion(v) {
264
- version = v
265
- }
266
-
267
- function encode(name, value, v = VERSION) {
268
- version = v
269
- return c.encode(getEncoding(name), value)
270
- }
271
-
272
- function decode(name, buffer, v = VERSION) {
273
- version = v
274
- return c.decode(getEncoding(name), buffer)
275
- }
276
-
277
- function getEnum(name) {
278
- switch (name) {
279
- default:
280
- throw new Error('Enum not found ' + name)
281
- }
282
- }
283
-
284
- function getEncoding(name) {
285
- switch (name) {
286
- case '@media/dimensions':
287
- return encoding0
288
- case '@media/metadata':
289
- return encoding1
290
- case '@media/file':
291
- return encoding2
292
- case '@media/create-preview-request':
293
- return encoding3
294
- case '@media/create-preview-response':
295
- return encoding4
296
- case '@media/decode-image-request':
297
- return encoding5
298
- case '@media/decode-image-response':
299
- return encoding6
300
- default:
301
- throw new Error('Encoder not found ' + name)
302
- }
303
- }
304
-
305
- function getStruct(name, v = VERSION) {
306
- const enc = getEncoding(name)
307
- return {
308
- preencode(state, m) {
309
- version = v
310
- enc.preencode(state, m)
311
- },
312
- encode(state, m) {
313
- version = v
314
- enc.encode(state, m)
315
- },
316
- decode(state) {
317
- version = v
318
- return enc.decode(state)
319
- }
320
- }
321
- }
322
-
323
- const resolveStruct = getStruct // compat
324
-
325
- export {
326
- resolveStruct,
327
- getStruct,
328
- getEnum,
329
- getEncoding,
330
- encode,
331
- decode,
332
- setVersion,
333
- version
334
- }
@@ -1,195 +0,0 @@
1
- {
2
- "version": 1,
3
- "schema": [
4
- {
5
- "name": "dimensions",
6
- "namespace": "media",
7
- "compact": false,
8
- "flagsPosition": -1,
9
- "fields": [
10
- {
11
- "name": "width",
12
- "required": true,
13
- "type": "uint",
14
- "version": 1
15
- },
16
- {
17
- "name": "height",
18
- "required": true,
19
- "type": "uint",
20
- "version": 1
21
- }
22
- ]
23
- },
24
- {
25
- "name": "metadata",
26
- "namespace": "media",
27
- "compact": false,
28
- "flagsPosition": 0,
29
- "fields": [
30
- {
31
- "name": "mimetype",
32
- "type": "string",
33
- "version": 1
34
- },
35
- {
36
- "name": "dimensions",
37
- "type": "@media/dimensions",
38
- "version": 1
39
- },
40
- {
41
- "name": "duration",
42
- "type": "uint",
43
- "version": 1
44
- }
45
- ]
46
- },
47
- {
48
- "name": "file",
49
- "namespace": "media",
50
- "compact": false,
51
- "flagsPosition": 0,
52
- "fields": [
53
- {
54
- "name": "metadata",
55
- "type": "@media/metadata",
56
- "version": 1
57
- },
58
- {
59
- "name": "inlined",
60
- "type": "string",
61
- "version": 1
62
- },
63
- {
64
- "name": "buffer",
65
- "type": "buffer",
66
- "version": 1
67
- }
68
- ]
69
- },
70
- {
71
- "name": "create-preview-request",
72
- "namespace": "media",
73
- "compact": false,
74
- "flagsPosition": 0,
75
- "fields": [
76
- {
77
- "name": "path",
78
- "type": "string",
79
- "version": 1
80
- },
81
- {
82
- "name": "httpLink",
83
- "type": "string",
84
- "version": 1
85
- },
86
- {
87
- "name": "buffer",
88
- "type": "buffer",
89
- "version": 1
90
- },
91
- {
92
- "name": "mimetype",
93
- "type": "string",
94
- "version": 1
95
- },
96
- {
97
- "name": "maxWidth",
98
- "type": "uint",
99
- "version": 1
100
- },
101
- {
102
- "name": "maxHeight",
103
- "type": "uint",
104
- "version": 1
105
- },
106
- {
107
- "name": "maxFrames",
108
- "type": "uint",
109
- "version": 1
110
- },
111
- {
112
- "name": "maxBytes",
113
- "type": "uint",
114
- "version": 1
115
- },
116
- {
117
- "name": "format",
118
- "type": "string",
119
- "version": 1
120
- },
121
- {
122
- "name": "encoding",
123
- "type": "string",
124
- "version": 1
125
- }
126
- ]
127
- },
128
- {
129
- "name": "create-preview-response",
130
- "namespace": "media",
131
- "compact": false,
132
- "flagsPosition": -1,
133
- "fields": [
134
- {
135
- "name": "metadata",
136
- "required": true,
137
- "type": "@media/metadata",
138
- "version": 1
139
- },
140
- {
141
- "name": "preview",
142
- "required": true,
143
- "type": "@media/file",
144
- "version": 1
145
- }
146
- ]
147
- },
148
- {
149
- "name": "decode-image-request",
150
- "namespace": "media",
151
- "compact": false,
152
- "flagsPosition": 0,
153
- "fields": [
154
- {
155
- "name": "path",
156
- "type": "string",
157
- "version": 1
158
- },
159
- {
160
- "name": "httpLink",
161
- "type": "string",
162
- "version": 1
163
- },
164
- {
165
- "name": "buffer",
166
- "type": "buffer",
167
- "version": 1
168
- },
169
- {
170
- "name": "mimetype",
171
- "type": "string",
172
- "version": 1
173
- }
174
- ]
175
- },
176
- {
177
- "name": "decode-image-response",
178
- "namespace": "media",
179
- "compact": false,
180
- "flagsPosition": 0,
181
- "fields": [
182
- {
183
- "name": "metadata",
184
- "type": "@media/metadata",
185
- "version": 1
186
- },
187
- {
188
- "name": "data",
189
- "type": "buffer",
190
- "version": 1
191
- }
192
- ]
193
- }
194
- ]
195
- }
@@ -1,156 +0,0 @@
1
- import Hyperschema from 'hyperschema'
2
-
3
- import { SCHEMA_DIR } from './constants'
4
-
5
- export const schema = Hyperschema.from(SCHEMA_DIR)
6
- const media = schema.namespace('media')
7
-
8
- media.register({
9
- name: 'dimensions',
10
- fields: [
11
- {
12
- name: 'width',
13
- type: 'uint',
14
- required: true
15
- },
16
- {
17
- name: 'height',
18
- type: 'uint',
19
- required: true
20
- }
21
- ]
22
- })
23
-
24
- media.register({
25
- name: 'metadata',
26
- fields: [
27
- {
28
- name: 'mimetype',
29
- type: 'string'
30
- },
31
- {
32
- name: 'dimensions',
33
- type: '@media/dimensions'
34
- },
35
- {
36
- name: 'duration',
37
- type: 'uint'
38
- }
39
- ]
40
- })
41
-
42
- media.register({
43
- name: 'file',
44
- fields: [
45
- {
46
- name: 'metadata',
47
- type: '@media/metadata'
48
- },
49
- {
50
- name: 'inlined',
51
- type: 'string'
52
- },
53
- {
54
- name: 'buffer',
55
- type: 'buffer'
56
- }
57
- ]
58
- })
59
-
60
- media.register({
61
- name: 'create-preview-request',
62
- fields: [
63
- {
64
- name: 'path',
65
- type: 'string'
66
- },
67
- {
68
- name: 'httpLink',
69
- type: 'string'
70
- },
71
- {
72
- name: 'buffer',
73
- type: 'buffer'
74
- },
75
- {
76
- name: 'mimetype',
77
- type: 'string'
78
- },
79
- {
80
- name: 'maxWidth',
81
- type: 'uint'
82
- },
83
- {
84
- name: 'maxHeight',
85
- type: 'uint'
86
- },
87
- {
88
- name: 'maxFrames',
89
- type: 'uint'
90
- },
91
- {
92
- name: 'maxBytes',
93
- type: 'uint'
94
- },
95
- {
96
- name: 'format',
97
- type: 'string'
98
- },
99
- {
100
- name: 'encoding',
101
- type: 'string'
102
- }
103
- ]
104
- })
105
-
106
- media.register({
107
- name: 'create-preview-response',
108
- fields: [
109
- {
110
- name: 'metadata',
111
- type: '@media/metadata',
112
- required: true
113
- },
114
- {
115
- name: 'preview',
116
- type: '@media/file',
117
- required: true
118
- }
119
- ]
120
- })
121
-
122
- media.register({
123
- name: 'decode-image-request',
124
- fields: [
125
- {
126
- name: 'path',
127
- type: 'string'
128
- },
129
- {
130
- name: 'httpLink',
131
- type: 'string'
132
- },
133
- {
134
- name: 'buffer',
135
- type: 'buffer'
136
- },
137
- {
138
- name: 'mimetype',
139
- type: 'string'
140
- }
141
- ]
142
- })
143
-
144
- media.register({
145
- name: 'decode-image-response',
146
- fields: [
147
- {
148
- name: 'metadata',
149
- type: '@media/metadata'
150
- },
151
- {
152
- name: 'data',
153
- type: 'buffer'
154
- }
155
- ]
156
- })
package/worker/index.js DELETED
@@ -1,24 +0,0 @@
1
- import worker from 'cross-worker'
2
- import uncaughts from 'uncaughts'
3
-
4
- import HRPC from '../shared/spec/hrpc'
5
-
6
- import * as media from './media'
7
- import { log } from './util'
8
-
9
- log('Worker started 🚀')
10
-
11
- const stream = worker.stream()
12
-
13
- stream.on('end', () => stream.end())
14
- stream.on('error', (err) => console.error(err))
15
- stream.on('close', () => Bare.exit(0))
16
-
17
- const rpc = new HRPC(stream)
18
-
19
- rpc.onCreatePreview(media.createPreview)
20
- rpc.onDecodeImage(media.decodeImage)
21
-
22
- uncaughts.on((err) => {
23
- log('Uncaught error:', err)
24
- })