diff --git a/types/rdfjs__express-handler/index.d.ts b/types/rdfjs__express-handler/index.d.ts index c48823caa7..38038ad6e6 100644 --- a/types/rdfjs__express-handler/index.d.ts +++ b/types/rdfjs__express-handler/index.d.ts @@ -1,4 +1,4 @@ -// Type definitions for @rdfjs/express-handler 1.0 +// Type definitions for @rdfjs/express-handler 1.1 // Project: https://github.com/rdfjs-base/express-handler // Definitions by: tpluscode // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped @@ -19,10 +19,15 @@ declare module 'express' { } } +interface BaseIriFromRequest { + (req: Request): Promise | string; +} + interface RdfHandlerOptions { factory?: DatasetCoreFactory; formats?: typeof formats; defaultMediaType?: string; + baseIriFromRequest?: boolean | BaseIriFromRequest; } interface RdfHandler { diff --git a/types/rdfjs__express-handler/rdfjs__express-handler-tests.ts b/types/rdfjs__express-handler/rdfjs__express-handler-tests.ts index 75ca2ace4b..ffab130a03 100644 --- a/types/rdfjs__express-handler/rdfjs__express-handler-tests.ts +++ b/types/rdfjs__express-handler/rdfjs__express-handler-tests.ts @@ -16,7 +16,19 @@ app.use(rdfHandler()); app.use(rdfHandler({ factory, formats, - defaultMediaType: 'text/turtle' + defaultMediaType: 'text/turtle', +})); + +app.use(rdfHandler({ + baseIriFromRequest: true, +})); + +app.use(rdfHandler({ + baseIriFromRequest: (req: express.Request) => req.path, +})); + +app.use(rdfHandler({ + baseIriFromRequest: (req: express.Request) => Promise.resolve(req.path), })); async function streams(req: express.Request, res: express.Response) {