32 lines
1.3 KiB
TypeScript
32 lines
1.3 KiB
TypeScript
import {
|
|
resolveDeploymentMethod,
|
|
resolveDeploymentTrigger,
|
|
type DeploymentMetadata,
|
|
} from "@edgeever/shared/deployment-metadata";
|
|
import type { Bindings } from "./api-context";
|
|
|
|
declare const __EDGEEVER_INSTANCE_DEPLOYMENT_TRIGGER__: string;
|
|
declare const __EDGEEVER_INSTANCE_DEPLOYMENT_METHOD__: string;
|
|
|
|
const bundledTrigger = typeof __EDGEEVER_INSTANCE_DEPLOYMENT_TRIGGER__ !== "undefined"
|
|
? __EDGEEVER_INSTANCE_DEPLOYMENT_TRIGGER__
|
|
: "";
|
|
const bundledMethod = typeof __EDGEEVER_INSTANCE_DEPLOYMENT_METHOD__ !== "undefined"
|
|
? __EDGEEVER_INSTANCE_DEPLOYMENT_METHOD__
|
|
: "";
|
|
|
|
export const resolveInstanceDeploymentMetadata = (
|
|
environment: Pick<Bindings, "EDGE_EVER_DEPLOYMENT_TRIGGER" | "EDGE_EVER_DEPLOYMENT_METHOD">,
|
|
): DeploymentMetadata => ({
|
|
trigger: resolveDeploymentTrigger(environment.EDGE_EVER_DEPLOYMENT_TRIGGER?.trim() || bundledTrigger),
|
|
method: resolveDeploymentMethod(environment.EDGE_EVER_DEPLOYMENT_METHOD?.trim() || bundledMethod),
|
|
});
|
|
|
|
export const resolveDeploymentVersionCreatedAt = (
|
|
environment: Pick<Bindings, "deploymentVersionCreatedAt">,
|
|
): string | null => {
|
|
const timestamp = environment.deploymentVersionCreatedAt;
|
|
if (!timestamp || !Number.isFinite(Date.parse(timestamp))) return null;
|
|
return new Date(timestamp).toISOString();
|
|
};
|