Skip to content

Commit a40c224

Browse files
Copilothotlong
andcommitted
Address code review feedback - improve type safety and documentation
Co-authored-by: hotlong <50353452+hotlong@users.noreply.github.com>
1 parent ec05449 commit a40c224

File tree

3 files changed

+10
-7
lines changed

3 files changed

+10
-7
lines changed

packages/runtime/src/interfaces/data-engine.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,11 +26,11 @@ export interface QueryOptions {
2626
select?: string[];
2727
/** Sort order */
2828
sort?: Record<string, 1 | -1 | 'asc' | 'desc'>;
29-
/** Limit number of results */
29+
/** Limit number of results (alternative name for top, used by some drivers) */
3030
limit?: number;
3131
/** Skip number of results (for pagination) */
3232
skip?: number;
33-
/** Maximum number of results (alternative to limit) */
33+
/** Maximum number of results (OData-style, takes precedence over limit if both specified) */
3434
top?: number;
3535
}
3636

packages/runtime/src/interfaces/http-server.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -54,9 +54,9 @@ export interface IHttpResponse {
5454
/**
5555
* Set response header
5656
* @param name - Header name
57-
* @param value - Header value
57+
* @param value - Header value (string or array of strings for multi-value headers)
5858
*/
59-
header(name: string, value: string): IHttpResponse;
59+
header(name: string, value: string | string[]): IHttpResponse;
6060
}
6161

6262
/**

packages/runtime/src/test-interfaces.ts

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
* and IDataEngine interfaces without depending on concrete implementations.
66
*/
77

8-
import { IHttpServer, IDataEngine, RouteHandler, IHttpRequest, IHttpResponse } from './index.js';
8+
import { IHttpServer, IDataEngine, RouteHandler, IHttpRequest, IHttpResponse, Middleware, QueryOptions } from './index.js';
99

1010
/**
1111
* Example: Mock HTTP Server Plugin
@@ -41,7 +41,7 @@ class MockHttpServer implements IHttpServer {
4141
console.log(`✅ Registered PATCH ${path}`);
4242
}
4343

44-
use(path: any, handler?: any): void {
44+
use(path: string | Middleware, handler?: Middleware): void {
4545
console.log(`✅ Registered middleware`);
4646
}
4747

@@ -77,7 +77,7 @@ class MockDataEngine implements IDataEngine {
7777
return record;
7878
}
7979

80-
async find(objectName: string, query?: any): Promise<any[]> {
80+
async find(objectName: string, query?: QueryOptions): Promise<any[]> {
8181
const objectStore = this.store.get(objectName);
8282
if (!objectStore) {
8383
return [];
@@ -149,12 +149,15 @@ async function testInterfaces() {
149149
});
150150

151151
const users = await dataEngine.find('user');
152+
console.log(`Found ${users.length} users after inserts`);
152153

153154
const updatedUser = await dataEngine.update('user', user1.id, {
154155
name: 'John Updated'
155156
});
157+
console.log(`Updated user:`, updatedUser);
156158

157159
const deleted = await dataEngine.delete('user', user2.id);
160+
console.log(`Delete result: ${deleted}`);
158161

159162
console.log('\n✅ All interface tests passed!\n');
160163

0 commit comments

Comments
 (0)