Skip to content

Commit bbe18e9

Browse files
committed
Release 0.8.0-beta0
1 parent 6a10971 commit bbe18e9

14 files changed

Lines changed: 68 additions & 49 deletions

File tree

src/api/resources/datasets/client/Client.ts

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -150,17 +150,14 @@ export class Datasets {
150150
});
151151
}
152152
};
153-
let _offset = request.page != null ? request.page : 1;
153+
let _offset = request?.page != null ? request?.page : 1;
154154
return new core.Pageable<Humanloop.PaginatedDatasetResponse, Humanloop.DatasetResponse>({
155155
response: await list(request),
156156
hasNextPage: (response) => (response?.records ?? []).length > 0,
157157
getItems: (response) => response?.records ?? [],
158158
loadPage: (_response) => {
159159
_offset += 1;
160-
return list({
161-
...request,
162-
page: _offset,
163-
});
160+
return list(core.setObjectProperty(request, "page", _offset));
164161
},
165162
});
166163
}
@@ -626,17 +623,14 @@ export class Datasets {
626623
});
627624
}
628625
};
629-
let _offset = request.page != null ? request.page : 1;
626+
let _offset = request?.page != null ? request?.page : 1;
630627
return new core.Pageable<Humanloop.PaginatedDatapointResponse, Humanloop.DatapointResponse>({
631628
response: await list(request),
632629
hasNextPage: (response) => (response?.records ?? []).length > 0,
633630
getItems: (response) => response?.records ?? [],
634631
loadPage: (_response) => {
635632
_offset += 1;
636-
return list({
637-
...request,
638-
page: _offset,
639-
});
633+
return list(core.setObjectProperty(request, "page", _offset));
640634
},
641635
});
642636
}

src/api/resources/evaluations/client/Client.ts

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -136,17 +136,14 @@ export class Evaluations {
136136
});
137137
}
138138
};
139-
let _offset = request.page != null ? request.page : 1;
139+
let _offset = request?.page != null ? request?.page : 1;
140140
return new core.Pageable<Humanloop.PaginatedEvaluationResponse, Humanloop.EvaluationResponse>({
141141
response: await list(request),
142142
hasNextPage: (response) => (response?.records ?? []).length > 0,
143143
getItems: (response) => response?.records ?? [],
144144
loadPage: (_response) => {
145145
_offset += 1;
146-
return list({
147-
...request,
148-
page: _offset,
149-
});
146+
return list(core.setObjectProperty(request, "page", _offset));
150147
},
151148
});
152149
}

src/api/resources/evaluators/client/Client.ts

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -288,17 +288,14 @@ export class Evaluators {
288288
});
289289
}
290290
};
291-
let _offset = request.page != null ? request.page : 1;
291+
let _offset = request?.page != null ? request?.page : 1;
292292
return new core.Pageable<Humanloop.ListEvaluators, Humanloop.EvaluatorResponse>({
293293
response: await list(request),
294294
hasNextPage: (response) => (response?.records ?? []).length > 0,
295295
getItems: (response) => response?.records ?? [],
296296
loadPage: (_response) => {
297297
_offset += 1;
298-
return list({
299-
...request,
300-
page: _offset,
301-
});
298+
return list(core.setObjectProperty(request, "page", _offset));
302299
},
303300
});
304301
}

src/api/resources/logs/client/Client.ts

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -150,17 +150,14 @@ export class Logs {
150150
});
151151
}
152152
};
153-
let _offset = request.page != null ? request.page : 1;
153+
let _offset = request?.page != null ? request?.page : 1;
154154
return new core.Pageable<Humanloop.PaginatedPromptLogResponse, Humanloop.PromptLogResponse>({
155155
response: await list(request),
156156
hasNextPage: (response) => (response?.records ?? []).length > 0,
157157
getItems: (response) => response?.records ?? [],
158158
loadPage: (_response) => {
159159
_offset += 1;
160-
return list({
161-
...request,
162-
page: _offset,
163-
});
160+
return list(core.setObjectProperty(request, "page", _offset));
164161
},
165162
});
166163
}

src/api/resources/prompts/client/Client.ts

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -151,17 +151,14 @@ export class Prompts {
151151
});
152152
}
153153
};
154-
let _offset = request.page != null ? request.page : 1;
154+
let _offset = request?.page != null ? request?.page : 1;
155155
return new core.Pageable<Humanloop.ListPrompts, Humanloop.PromptResponse>({
156156
response: await list(request),
157157
hasNextPage: (response) => (response?.records ?? []).length > 0,
158158
getItems: (response) => response?.records ?? [],
159159
loadPage: (_response) => {
160160
_offset += 1;
161-
return list({
162-
...request,
163-
page: _offset,
164-
});
161+
return list(core.setObjectProperty(request, "page", _offset));
165162
},
166163
});
167164
}

src/api/resources/sessions/client/Client.ts

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -281,17 +281,14 @@ export class Sessions {
281281
});
282282
}
283283
};
284-
let _offset = request.page != null ? request.page : 1;
284+
let _offset = request?.page != null ? request?.page : 1;
285285
return new core.Pageable<Humanloop.PaginatedSessionResponse, Humanloop.SessionResponse>({
286286
response: await list(request),
287287
hasNextPage: (response) => (response?.records ?? []).length > 0,
288288
getItems: (response) => response?.records ?? [],
289289
loadPage: (_response) => {
290290
_offset += 1;
291-
return list({
292-
...request,
293-
page: _offset,
294-
});
291+
return list(core.setObjectProperty(request, "page", _offset));
295292
},
296293
});
297294
}

src/api/resources/tools/client/Client.ts

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -127,17 +127,14 @@ export class Tools {
127127
});
128128
}
129129
};
130-
let _offset = request.page != null ? request.page : 1;
130+
let _offset = request?.page != null ? request?.page : 1;
131131
return new core.Pageable<Humanloop.ListTools, Humanloop.ToolResponse>({
132132
response: await list(request),
133133
hasNextPage: (response) => (response?.records ?? []).length > 0,
134134
getItems: (response) => response?.records ?? [],
135135
loadPage: (_response) => {
136136
_offset += 1;
137-
return list({
138-
...request,
139-
page: _offset,
140-
});
137+
return list(core.setObjectProperty(request, "page", _offset));
141138
},
142139
});
143140
}

src/core/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
export * from "./fetcher";
2+
export * from "./utils";
23
export * from "./pagination";
34
export * from "./runtime";
45
export * from "./form-data-utils";

src/core/utils/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
export { setObjectProperty } from "./setObjectProperty";
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
/**
2+
* Sets the value at path of object. If a portion of path doesn’t exist it’s created. This is
3+
* inspired by Lodash's set function, but is simplified to accommodate our use case.
4+
* For more details, see https://lodash.com/docs/4.17.15#set.
5+
*
6+
* @param object The object to modify.
7+
* @param path The path of the property to set.
8+
* @param value The value to set.
9+
* @return Returns object.
10+
*/
11+
export function setObjectProperty<T extends object>(object: T, path: string, value: any): T {
12+
if (object == null) {
13+
return object;
14+
}
15+
16+
const keys: string[] = path.split(".");
17+
if (keys.length === 0) {
18+
// Invalid path; do nothing.
19+
return object;
20+
}
21+
22+
let current: Record<string, any> = object;
23+
for (let i = 0; i < keys.length - 1; i++) {
24+
const key = keys[i];
25+
if (key == null) {
26+
// Unreachable.
27+
continue;
28+
}
29+
if (!current[key] || typeof current[key] !== "object") {
30+
current[key] = {};
31+
}
32+
current = current[key] as Record<string, any>;
33+
}
34+
35+
const lastKey = keys[keys.length - 1];
36+
if (lastKey == null) {
37+
// Unreachable.
38+
return object;
39+
}
40+
41+
current[lastKey] = value;
42+
return object;
43+
}

0 commit comments

Comments
 (0)