@tussle/core
Advanced tools
Comparing version 0.2.13 to 0.3.0
@@ -6,7 +6,7 @@ import type { TussleIncomingRequest } from '@tussle/spec/interface/request'; | ||
export interface TussleConfig { | ||
storage: TussleStorageService | (<Req>(ctx: TussleIncomingRequest<Req>) => Promise<TussleStorageService | undefined>); | ||
storage: TussleStorageService | (<Req, P>(ctx: TussleIncomingRequest<Req, P>) => Promise<TussleStorageService | undefined>); | ||
handlers?: Partial<RequestHandler>; | ||
} | ||
declare type IncomingRequestMethod = TussleIncomingRequest<unknown>['request']['method']; | ||
declare type IncomingRequestHandler = <T>(core: Tussle, ctx: TussleIncomingRequest<T>) => Observable<TussleIncomingRequest<T>>; | ||
declare type IncomingRequestMethod = TussleIncomingRequest<unknown, unknown>['request']['method']; | ||
declare type IncomingRequestHandler = <T, P>(core: Tussle, ctx: TussleIncomingRequest<T, P>) => Observable<TussleIncomingRequest<T, P>>; | ||
declare type RequestHandler = Record<IncomingRequestMethod, IncomingRequestHandler>; | ||
@@ -23,5 +23,5 @@ export declare class Tussle { | ||
private readonly postProcessRequest; | ||
readonly handle: <T>(source: Observable<TussleIncomingRequest<T>>) => Observable<TussleIncomingRequest<T>>; | ||
getStorage<R>(ctx: TussleIncomingRequest<R>): Promise<TussleStorageService | undefined>; | ||
readonly handle: <T, P>(source: Observable<TussleIncomingRequest<T, P>>) => Observable<TussleIncomingRequest<T, P>>; | ||
getStorage<R, P>(ctx: TussleIncomingRequest<R, P>): Promise<TussleStorageService | undefined>; | ||
} | ||
export {}; |
import type { TussleIncomingRequest } from '@tussle/spec/interface/request'; | ||
import type { Tussle } from '../core'; | ||
import { Observable } from 'rxjs'; | ||
export default function handleCreate<R>(_core: Tussle, ctx: Readonly<TussleIncomingRequest<R>>): Observable<TussleIncomingRequest<R>>; | ||
export default function handleCreate<T, P>(_core: Tussle, ctx: Readonly<TussleIncomingRequest<T, P>>): Observable<TussleIncomingRequest<T, P>>; | ||
export interface TussleCreationParams { | ||
@@ -13,4 +13,4 @@ id: string; | ||
} | ||
declare const extractCreationHeaders: <T>(ctx: TussleIncomingRequest<T>) => TussleCreationParams; | ||
declare const extractCreationHeaders: <T, P>(ctx: TussleIncomingRequest<T, P>) => TussleCreationParams; | ||
export declare type ExtractedCreateHeaders = ReturnType<typeof extractCreationHeaders>; | ||
export {}; |
import { Observable } from "rxjs"; | ||
import type { TussleIncomingRequest } from '@tussle/spec/interface/request'; | ||
import type { Tussle } from '../core'; | ||
export default function handleHead<Req>(_core: Tussle, ctx: TussleIncomingRequest<Req>): Observable<TussleIncomingRequest<Req>>; | ||
declare const extractParamsFromHeaders: <T>(ctx: TussleIncomingRequest<T>) => { | ||
export default function handleHead<Req, P>(_core: Tussle, ctx: TussleIncomingRequest<Req, P>): Observable<TussleIncomingRequest<Req, P>>; | ||
declare const extractParamsFromHeaders: <T, P>(ctx: TussleIncomingRequest<T, P>) => { | ||
location: string; | ||
@@ -7,0 +7,0 @@ }; |
@@ -11,4 +11,4 @@ import type { TussleIncomingRequest } from '@tussle/spec/interface/request'; | ||
}; | ||
export default function handleOptions<Req>(_core: Tussle, ctx: TussleIncomingRequest<Req>): Observable<TussleIncomingRequest<Req>>; | ||
export default function handleOptions<Req, P>(_core: Tussle, ctx: TussleIncomingRequest<Req, P>): Observable<TussleIncomingRequest<Req, P>>; | ||
export declare type OptionsDefaultResponse = typeof defaultResponse; | ||
export {}; |
@@ -5,4 +5,4 @@ /// <reference types="node" /> | ||
import type { TussleIncomingRequest } from '@tussle/spec/interface/request'; | ||
export default function handlePatch<T>(_core: Tussle, ctx: TussleIncomingRequest<T>): Observable<TussleIncomingRequest<T>>; | ||
declare const extractPatchHeaders: <Req>(ctx: TussleIncomingRequest<Req>) => { | ||
export default function handlePatch<T, P>(_core: Tussle, ctx: TussleIncomingRequest<T, P>): Observable<TussleIncomingRequest<T, P>>; | ||
declare const extractPatchHeaders: <Req, P>(ctx: TussleIncomingRequest<Req, P>) => { | ||
contentType: string; | ||
@@ -13,5 +13,5 @@ getReadable: () => import("stream").Readable | ReadableStream<Uint8Array>; | ||
offset: number; | ||
request: TussleIncomingRequest<Req>; | ||
request: TussleIncomingRequest<Req, P>; | ||
}; | ||
export declare type ExtractedPatchHeaders = ReturnType<typeof extractPatchHeaders>; | ||
export {}; |
import { Observable } from "rxjs"; | ||
import type { TussleHooks } from "@tussle/spec/interface/middleware"; | ||
import type { TussleIncomingRequest } from "@tussle/spec/interface/request"; | ||
export declare class TussleBaseMiddleware<Req> { | ||
readonly hooks: Partial<TussleHooks<Req>>; | ||
constructor(hooks?: Partial<TussleHooks<Req>>); | ||
hook<V extends keyof TussleHooks<Req>>(which: V, ctx: TussleIncomingRequest<Req>, params: Parameters<TussleHooks<Req>[V]>[1]): ReturnType<TussleHooks<Req>[V]> | Observable<typeof params>; | ||
export declare class TussleBaseMiddleware<Req, U> { | ||
readonly hooks: Partial<TussleHooks<Req, U>>; | ||
constructor(hooks?: Partial<TussleHooks<Req, U>>); | ||
hook<V extends keyof TussleHooks<Req, U>>(which: V, ctx: TussleIncomingRequest<Req, U>, params: Parameters<TussleHooks<Req, U>[V]>[1]): ReturnType<TussleHooks<Req, U>[V]> | Observable<typeof params>; | ||
} |
{ | ||
"name": "@tussle/core", | ||
"version": "0.2.13", | ||
"version": "0.3.0", | ||
"description": "Tussle tus daemon core module", | ||
@@ -23,6 +23,7 @@ "main": "lib/index.js", | ||
"devDependencies": { | ||
"@tussle/spec": "^0.2.13", | ||
"@tussle/spec": "^0.3.0", | ||
"jest": "^27.5.1", | ||
"npm-run-all": "^4.1.5", | ||
"rimraf": "^3.0.2" | ||
"rimraf": "^3.0.2", | ||
"typescript": "^4.8.2" | ||
}, | ||
@@ -36,3 +37,3 @@ "publishConfig": { | ||
}, | ||
"gitHead": "3b6f2505cf4483bacd4a8ae3196a15e9f272b7c3" | ||
"gitHead": "3000c20b40108bfc559c722910b2a576ecda1103" | ||
} |
27411
5