-
-
Notifications
You must be signed in to change notification settings - Fork 78
Expand file tree
/
Copy pathgetParameters.ts
More file actions
25 lines (21 loc) · 823 Bytes
/
getParameters.ts
File metadata and controls
25 lines (21 loc) · 823 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
import { Parameter } from "../Parameter.js";
import fetchResource from "./fetchResource.js";
import type { Resource } from "../Resource.js";
import type { RequestInitExtended } from "../types.js";
export default async function getParameters(
resource: Resource,
options: RequestInitExtended = {},
): Promise<Parameter[]> {
const { parameters = [] } = await fetchResource(resource.url, options);
const resourceParameters: Parameter[] = [];
for (const { property = null, required, variable } of parameters) {
if (property === null) {
continue;
}
const { range = null } =
resource.fields?.find(({ name }) => property === name) || {};
resourceParameters.push(new Parameter(variable, range, required, ""));
}
resource.parameters = resourceParameters;
return resourceParameters;
}