function getTryItModel()

in tools/awps-tunnel/client/src/components/api/Parameters.tsx [298:332]


function getTryItModel(parameter: Parameter[], example: Example): TryItModel {
    let m: TryItModel = { hasParameter: false };
    parameter.forEach(element => {
        const i = { value: element.default ?? "", type: element.type ?? "object", required: element.required ?? false, name: element.name, description: element.description, parameterDefinition: element };
        if (element.in === "body" || element.in === "formData") {
            m.body = i;
            if (!i.value && example) {
                // find the example data
                const exampleData = example.parameters[i.name];
                if (exampleData) {
                    i.value = JSON.stringify(exampleData, null, 2);
                }
            }
        } else if (element.in === "path") {
            if (!isKnownParameter(element)) {
                // these 2 are known parameters
                m.path ??= {};
                m.path[element.name] = i;
                m.hasParameter = true;
                // do not load example data for path
            }
        } else if (element.in === "query") {
            if (!isKnownParameter(element)) {
                m.query ??= {};
                m.query[element.name] = i;
                m.hasParameter = true;
                // do not load example data for query
            }
        } else if (element.in === "header") {
            throw new Error("Header parameters are not yet supported");
        }
    });
    console.log(m);
    return m;
}