INNER CODE UNIT · TypeScript
toVolume
rodyherrera/Quantum · packages/api/scripts/seed-templates.ts:290
const toVolume = (volume: LegacyVolume) => ({ path: volume.containerPath, mode: volume.mode });
const resolvePlaceholders = (value: string, dependencies: Record<string, LegacyDependency>): string =>
value
.replace(/\{server_ip:(\w+)\}/g, (_, key: string) => key)
.replace(/\$\{(\w+)\.port\}/g, (_, key: string) => {
const port = dependencies[key]?.ports?.[0]?.internalPort;
return port !== undefined ? String(port) : '';
});
const resolveEnvironment = (
environment: Record<string, string> | undefined,
dependencies: Record<string, LegacyDependency>
): Record<string, string> | undefined => {
if(!environment) return undefined;
const resolved: Record<string, string> = {};
for(const [key, value] of Object.entries(environment)) resolved[key] = resolvePlaceholders(value, dependencies);
return resolved;