Skip to content

Commit

Permalink
@uppy/transloadit: migrate to TS (#4987)
Browse files Browse the repository at this point in the history
Co-authored-by: Antoine du Hamel <antoine@transloadit.com>
  • Loading branch information
Murderlon and aduh95 committed Mar 18, 2024
1 parent 644fe50 commit 700944e
Show file tree
Hide file tree
Showing 15 changed files with 1,230 additions and 651 deletions.
5 changes: 3 additions & 2 deletions packages/@uppy/core/src/Uppy.ts
Original file line number Diff line number Diff line change
Expand Up @@ -269,13 +269,13 @@ type UploadCompleteCallback<M extends Meta, B extends Body> = (
result: UploadResult<M, B>,
) => void
type ErrorCallback<M extends Meta, B extends Body> = (
error: { message?: string; details?: string },
error: { name: string; message: string; details?: string },
file?: UppyFile<M, B>,
response?: UppyFile<M, B>['response'],
) => void
type UploadErrorCallback<M extends Meta, B extends Body> = (
file: UppyFile<M, B> | undefined,
error: { message: string; details?: string },
error: { name: string; message: string; details?: string },
response?:
| Omit<NonNullable<UppyFile<M, B>['response']>, 'uploadURL'>
| undefined,
Expand Down Expand Up @@ -789,6 +789,7 @@ export class Uppy<M extends Meta, B extends Body> {

#informAndEmit(
errors: {
name: string
message: string
isUserFacing?: boolean
details?: string
Expand Down
1 change: 1 addition & 0 deletions packages/@uppy/transloadit/.npmignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
tsconfig.*
127 changes: 67 additions & 60 deletions packages/@uppy/transloadit/src/Assembly.test.js
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
import { describe, expect, it, vi } from 'vitest'
import { RateLimitedQueue } from '@uppy/utils/lib/RateLimitedQueue'
import Assembly from './Assembly.js'
import Assembly from './Assembly.ts'

describe('Transloadit/Assembly', () => {
describe('status diffing', () => {
function attemptDiff (prev, next) {
function attemptDiff(prev, next) {
const assembly = new Assembly(prev, new RateLimitedQueue())
const events = []
assembly.emit = vi.fn((name, ...args) => {
Expand All @@ -17,77 +17,92 @@ describe('Transloadit/Assembly', () => {
}

it('ASSEMBLY_UPLOADING → ASSEMBLY_EXECUTING', () => {
const result = attemptDiff({
ok: 'ASSEMBLY_UPLOADING',
uploads: {},
results: {},
}, {
ok: 'ASSEMBLY_EXECUTING',
uploads: {},
results: {},
})
const result = attemptDiff(
{
ok: 'ASSEMBLY_UPLOADING',
uploads: {},
results: {},
},
{
ok: 'ASSEMBLY_EXECUTING',
uploads: {},
results: {},
},
)

expect(result[0]).toEqual(['executing'])
})

it('ASSEMBLY_EXECUTING → ASSEMBLY_COMPLETED', () => {
const result = attemptDiff({
ok: 'ASSEMBLY_EXECUTING',
uploads: {},
results: {},
}, {
ok: 'ASSEMBLY_COMPLETED',
uploads: {},
results: {},
})
const result = attemptDiff(
{
ok: 'ASSEMBLY_EXECUTING',
uploads: {},
results: {},
},
{
ok: 'ASSEMBLY_COMPLETED',
uploads: {},
results: {},
},
)

expect(result[0]).toEqual(['finished'])
})

it('ASSEMBLY_UPLOADING → ASSEMBLY_COMPLETED', () => {
const result = attemptDiff({
ok: 'ASSEMBLY_UPLOADING',
uploads: {},
results: {},
}, {
ok: 'ASSEMBLY_COMPLETED',
uploads: {},
results: {},
})
const result = attemptDiff(
{
ok: 'ASSEMBLY_UPLOADING',
uploads: {},
results: {},
},
{
ok: 'ASSEMBLY_COMPLETED',
uploads: {},
results: {},
},
)

expect(result[0]).toEqual(['executing'])
expect(result[1]).toEqual(['metadata'])
expect(result[2]).toEqual(['finished'])
})

it('emits events for new files', () => {
const result = attemptDiff({
ok: 'ASSEMBLY_UPLOADING',
uploads: {},
results: {},
}, {
ok: 'ASSEMBLY_UPLOADING',
uploads: {
some_id: { id: 'some_id' },
const result = attemptDiff(
{
ok: 'ASSEMBLY_UPLOADING',
uploads: {},
results: {},
},
results: {},
})
{
ok: 'ASSEMBLY_UPLOADING',
uploads: {
some_id: { id: 'some_id' },
},
results: {},
},
)

expect(result[0]).toEqual(['upload', { id: 'some_id' }])
})

it('emits executing, then upload, on new files + status change', () => {
const result = attemptDiff({
ok: 'ASSEMBLY_UPLOADING',
uploads: {},
results: {},
}, {
ok: 'ASSEMBLY_EXECUTING',
uploads: {
some_id: { id: 'some_id' },
const result = attemptDiff(
{
ok: 'ASSEMBLY_UPLOADING',
uploads: {},
results: {},
},
results: {},
})
{
ok: 'ASSEMBLY_EXECUTING',
uploads: {
some_id: { id: 'some_id' },
},
results: {},
},
)

expect(result[0]).toEqual(['executing'])
expect(result[1]).toEqual(['upload', { id: 'some_id' }])
Expand All @@ -108,11 +123,7 @@ describe('Transloadit/Assembly', () => {
cool_video: { id: 'cool_video' },
},
results: {
step_one: [
{ id: 'thumb1' },
{ id: 'thumb2' },
{ id: 'thumb3' },
],
step_one: [{ id: 'thumb1' }, { id: 'thumb2' }, { id: 'thumb3' }],
},
}
const three = {
Expand All @@ -127,9 +138,7 @@ describe('Transloadit/Assembly', () => {
{ id: 'thumb3' },
{ id: 'thumb4' },
],
step_two: [
{ id: 'transcript' },
],
step_two: [{ id: 'transcript' }],
},
}

Expand Down Expand Up @@ -162,9 +171,7 @@ describe('Transloadit/Assembly', () => {
{ id: 'thumb3' },
{ id: 'thumb4' },
],
step_two: [
{ id: 'transcript' },
],
step_two: [{ id: 'transcript' }],
},
}

Expand Down

0 comments on commit 700944e

Please sign in to comment.