diff --git a/packages/capabilities/src/types.ts b/packages/capabilities/src/types.ts index c3fad7d8f..746cf995f 100644 --- a/packages/capabilities/src/types.ts +++ b/packages/capabilities/src/types.ts @@ -99,7 +99,9 @@ export interface AggregateAddSuccess { piece?: PieceLink } -export type AggregateAddFailure = AggregateAddParseFailure | AggregateAddFailureWithBadPiece +export type AggregateAddFailure = + | AggregateAddParseFailure + | AggregateAddFailureWithBadPiece export interface AggregateAddParseFailure extends Ucanto.Failure { reason: string diff --git a/packages/filecoin-api/src/errors.js b/packages/filecoin-api/src/errors.js index bdcb7b656..a1f627ee9 100644 --- a/packages/filecoin-api/src/errors.js +++ b/packages/filecoin-api/src/errors.js @@ -36,9 +36,7 @@ export class StoreOperationFailed extends Server.Failure { } } -export const StoreNotFoundErrorName = /** @type {const} */ ( - 'StoreNotFound' -) +export const StoreNotFoundErrorName = /** @type {const} */ ('StoreNotFound') export class StoreNotFound extends Server.Failure { /** * @param {string} message @@ -54,6 +52,22 @@ export class StoreNotFound extends Server.Failure { } } +export const EncodeRecordErrorName = /** @type {const} */ ('EncodeRecordFailed') +export class EncodeRecordFailed extends Server.Failure { + /** + * @param {string} message + */ + constructor(message) { + super(message) + } + get reason() { + return this.message + } + get name() { + return EncodeRecordErrorName + } +} + export const DecodeBlockOperationErrorName = /** @type {const} */ ( 'DecodeBlockOperationFailed' ) diff --git a/packages/filecoin-api/src/types.ts b/packages/filecoin-api/src/types.ts index 46095efd8..ce4b5d4cd 100644 --- a/packages/filecoin-api/src/types.ts +++ b/packages/filecoin-api/src/types.ts @@ -69,9 +69,12 @@ export interface BrokerRecord { // Errors -export type QueueAddError = QueueOperationError -export type StorePutError = StoreOperationError -export type StoreGetError = StoreOperationError +export type QueueAddError = QueueOperationError | EncodeRecordFailed +export type StorePutError = StoreOperationError | EncodeRecordFailed +export type StoreGetError = + | StoreOperationError + | EncodeRecordFailed + | StoreNotFound export interface QueueOperationError extends Error { name: 'QueueOperationFailed' @@ -81,6 +84,14 @@ export interface StoreOperationError extends Error { name: 'StoreOperationFailed' } +export interface StoreNotFound extends Error { + name: 'StoreNotFound' +} + +export interface EncodeRecordFailed extends Error { + name: 'EncodeRecordFailed' +} + // Service utils export interface UcantoServerContext { diff --git a/packages/filecoin-api/test/aggregator.spec.js b/packages/filecoin-api/test/aggregator.spec.js index 935c0f1f6..25d692943 100644 --- a/packages/filecoin-api/test/aggregator.spec.js +++ b/packages/filecoin-api/test/aggregator.spec.js @@ -22,7 +22,7 @@ describe('piece/*', () => { /** @type {unknown[]} */ const queuedMessages = [] const addQueue = new Queue({ - onMessage: (message) => queuedMessages.push(message) + onMessage: (message) => queuedMessages.push(message), }) const pieceLookupFn = ( /** @type {Iterable | ArrayLike} */ items, @@ -47,7 +47,7 @@ describe('piece/*', () => { }, addQueue, pieceStore, - queuedMessages + queuedMessages, } ) }) diff --git a/packages/filecoin-api/test/broker.spec.js b/packages/filecoin-api/test/broker.spec.js index 0423b6269..df78068a2 100644 --- a/packages/filecoin-api/test/broker.spec.js +++ b/packages/filecoin-api/test/broker.spec.js @@ -22,7 +22,7 @@ describe('aggregate/*', () => { /** @type {unknown[]} */ const queuedMessages = [] const addQueue = new Queue({ - onMessage: (message) => queuedMessages.push(message) + onMessage: (message) => queuedMessages.push(message), }) const offerLookupFn = ( /** @type {Iterable | ArrayLike} */ items, @@ -47,7 +47,7 @@ describe('aggregate/*', () => { }, addQueue, offerStore, - queuedMessages + queuedMessages, } ) }) diff --git a/packages/filecoin-api/test/storefront.spec.js b/packages/filecoin-api/test/storefront.spec.js index e38914abd..9f563e0cf 100644 --- a/packages/filecoin-api/test/storefront.spec.js +++ b/packages/filecoin-api/test/storefront.spec.js @@ -23,7 +23,7 @@ describe('filecoin/*', () => { /** @type {unknown[]} */ const queuedMessages = [] const addQueue = new Queue({ - onMessage: (message) => queuedMessages.push(message) + onMessage: (message) => queuedMessages.push(message), }) const pieceLookupFn = ( /** @type {Iterable | ArrayLike} */ items, @@ -48,7 +48,7 @@ describe('filecoin/*', () => { }, addQueue, pieceStore, - queuedMessages + queuedMessages, } ) })