Files
languageservices/languageservice/src/context-providers/secrets.ts
T
2023-03-14 11:14:36 -04:00

27 lines
973 B
TypeScript

import {data, DescriptionDictionary} from "@github/actions-expressions";
import {StringData} from "@github/actions-expressions/data/string";
import {WorkflowContext} from "../context/workflow-context";
import {Mode} from "./default";
import {getDescription} from "./descriptions";
export function getSecretsContext(workflowContext: WorkflowContext, mode: Mode): DescriptionDictionary {
const d = new DescriptionDictionary({
key: "GITHUB_TOKEN",
value: new data.StringData("***"),
description: getDescription("secrets", "GITHUB_TOKEN")
});
const eventsConfig = workflowContext?.template?.events;
if (eventsConfig?.workflow_call) {
// Unpredictable secrets may be passed in via a workflow_call trigger
d.complete = false;
if (mode === Mode.Completion) {
for (const [name, value] of Object.entries(eventsConfig.workflow_call.secrets || {})) {
d.add(name, new StringData(""), value.description);
}
}
}
return d;
}