UNPKG

@alauda-fe/common

Version:

Alauda frontend team common codes.

59 lines 9.57 kB
import { ActivatedRoute, } from '@angular/router'; export function parseWorkspace(workspace) { if (!workspace) { return null; } const [project, cluster, namespace] = workspace.split('~'); const workspaceObj = { project, cluster, namespace }; return isValidWorkspace(workspaceObj) ? workspaceObj : null; } export function stringifyWorkspace(workspace, strict = true) { if (!strict && !workspace.project) { Object.assign(workspace, { project: 'default' }); } return isValidWorkspace(workspace) ? `${workspace.project}~${workspace.cluster}~${workspace.namespace}` : ''; } export function isValidWorkspace(obj) { return !!(obj?.project && obj?.cluster && obj?.namespace); } export function parseRID(rid) { if (!rid) { return null; } const [project, cluster, namespace, name] = rid.split('~'); const ridObj = { project, cluster, namespace, name }; return isValidRID(ridObj) ? ridObj : null; } export function stringifyRID(p1, p2) { return isValidWorkspace(p1) && p2 ? `${p1.project}~${p1.cluster}~${p1.namespace}~${p2}` : isValidRID(p1) ? `${p1.project}~${p1.cluster}~${p1.namespace}~${p1.name}` : ''; } export function isValidRID(obj) { return !!(obj?.project && obj?.cluster && obj?.namespace && obj?.name); } export function extractWorkspace(params) { return params.get && params.get instanceof Function ? parseWorkspace(params.get('workspace')) : parseWorkspace(params.workspace); } export function extractWorkspaceFromRoute(route) { const snapshot = route instanceof ActivatedRoute ? route.snapshot : route; return parseWorkspace(snapshot.paramMap.get('workspace')); } // owner: ait export const workspaceToPath = (workspace) => { if (!workspace) { return ''; } const { project, namespace, cluster } = workspace; const p = project ? `/projects/${project}` : ''; const c = cluster ? `/clusters/${cluster}` : ''; const n = namespace ? `/namespaces/${namespace}` : ''; return `${p}${c}${n}`; }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya3NwYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL2NvcmUvdXRpbHMvd29ya3NwYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxjQUFjLEdBSWYsTUFBTSxpQkFBaUIsQ0FBQztBQWN6QixNQUFNLFVBQVUsY0FBYyxDQUFDLFNBQWlCO0lBQzlDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUNmLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUNELE1BQU0sQ0FBQyxPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDM0QsTUFBTSxZQUFZLEdBQUcsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxDQUFDO0lBQ3JELE9BQU8sZ0JBQWdCLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0FBQzlELENBQUM7QUFFRCxNQUFNLFVBQVUsa0JBQWtCLENBQ2hDLFNBQTBCLEVBQzFCLE1BQU0sR0FBRyxJQUFJO0lBRWIsSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNsQyxNQUFNLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFDRCxPQUFPLGdCQUFnQixDQUFDLFNBQVMsQ0FBQztRQUNoQyxDQUFDLENBQUMsR0FBRyxTQUFTLENBQUMsT0FBTyxJQUFJLFNBQVMsQ0FBQyxPQUFPLElBQUksU0FBUyxDQUFDLFNBQVMsRUFBRTtRQUNwRSxDQUFDLENBQUMsRUFBRSxDQUFDO0FBQ1QsQ0FBQztBQUVELE1BQU0sVUFBVSxnQkFBZ0IsQ0FBQyxHQUFRO0lBQ3ZDLE9BQU8sQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLE9BQU8sSUFBSSxHQUFHLEVBQUUsT0FBTyxJQUFJLEdBQUcsRUFBRSxTQUFTLENBQUMsQ0FBQztBQUM1RCxDQUFDO0FBQ0QsTUFBTSxVQUFVLFFBQVEsQ0FBQyxHQUFXO0lBQ2xDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUNULE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUNELE1BQU0sQ0FBQyxPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxJQUFJLENBQUMsR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzNELE1BQU0sTUFBTSxHQUFHLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLENBQUM7SUFDckQsT0FBTyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0FBQzVDLENBQUM7QUFJRCxNQUFNLFVBQVUsWUFBWSxDQUFDLEVBQWtDLEVBQUUsRUFBVztJQUMxRSxPQUFPLGdCQUFnQixDQUFDLEVBQUUsQ0FBQyxJQUFJLEVBQUU7UUFDL0IsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBQyxTQUFTLElBQUksRUFBRSxFQUFFO1FBQ3JELENBQUMsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDO1lBQ2QsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBQyxTQUFTLElBQUksRUFBRSxDQUFDLElBQUksRUFBRTtZQUMxRCxDQUFDLENBQUMsRUFBRSxDQUFDO0FBQ1gsQ0FBQztBQUVELE1BQU0sVUFBVSxVQUFVLENBQUMsR0FBUTtJQUNqQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxPQUFPLElBQUksR0FBRyxFQUFFLE9BQU8sSUFBSSxHQUFHLEVBQUUsU0FBUyxJQUFJLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQztBQUN6RSxDQUFDO0FBRUQsTUFBTSxVQUFVLGdCQUFnQixDQUFDLE1BQXlCO0lBQ3hELE9BQU8sTUFBTSxDQUFDLEdBQUcsSUFBSSxNQUFNLENBQUMsR0FBRyxZQUFZLFFBQVE7UUFDakQsQ0FBQyxDQUFDLGNBQWMsQ0FBRSxNQUFtQixDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUN2RCxDQUFDLENBQUMsY0FBYyxDQUFFLE1BQWlCLENBQUMsU0FBUyxDQUFDLENBQUM7QUFDbkQsQ0FBQztBQUVELE1BQU0sVUFBVSx5QkFBeUIsQ0FDdkMsS0FBOEM7SUFFOUMsTUFBTSxRQUFRLEdBQUcsS0FBSyxZQUFZLGNBQWMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQzFFLE9BQU8sY0FBYyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7QUFDNUQsQ0FBQztBQUVELGFBQWE7QUFDYixNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsQ0FBQyxTQUE2QixFQUFFLEVBQUU7SUFDL0QsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ2YsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0lBQ0QsTUFBTSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLEdBQUcsU0FBUyxDQUFDO0lBQ2xELE1BQU0sQ0FBQyxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsYUFBYSxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQ2hELE1BQU0sQ0FBQyxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsYUFBYSxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQ2hELE1BQU0sQ0FBQyxHQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUMsZUFBZSxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQ3RELE9BQU8sR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO0FBQ3hCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFjdGl2YXRlZFJvdXRlLFxuICBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LFxuICBQYXJhbU1hcCxcbiAgUGFyYW1zLFxufSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5pbXBvcnQgeyBXb3Jrc3BhY2VQYXJhbXMgfSBmcm9tICcuLi90eXBlcy9wdWJsaWMtYXBpJztcblxuZXhwb3J0IHR5cGUgV29ya3NwYWNlID0gUmVhZG9ubHk8e1xuICBwcm9qZWN0OiBzdHJpbmc7XG4gIGNsdXN0ZXI6IHN0cmluZztcbiAgbmFtZXNwYWNlOiBzdHJpbmc7XG59PjtcblxuZXhwb3J0IGludGVyZmFjZSBSZXNvdXJjZUlkZW50aWZpZXIgZXh0ZW5kcyBXb3Jrc3BhY2Uge1xuICBuYW1lOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZVdvcmtzcGFjZSh3b3Jrc3BhY2U6IHN0cmluZyk6IFdvcmtzcGFjZSB7XG4gIGlmICghd29ya3NwYWNlKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbiAgY29uc3QgW3Byb2plY3QsIGNsdXN0ZXIsIG5hbWVzcGFjZV0gPSB3b3Jrc3BhY2Uuc3BsaXQoJ34nKTtcbiAgY29uc3Qgd29ya3NwYWNlT2JqID0geyBwcm9qZWN0LCBjbHVzdGVyLCBuYW1lc3BhY2UgfTtcbiAgcmV0dXJuIGlzVmFsaWRXb3Jrc3BhY2Uod29ya3NwYWNlT2JqKSA/IHdvcmtzcGFjZU9iaiA6IG51bGw7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzdHJpbmdpZnlXb3Jrc3BhY2UoXG4gIHdvcmtzcGFjZTogV29ya3NwYWNlUGFyYW1zLFxuICBzdHJpY3QgPSB0cnVlLFxuKTogc3RyaW5nIHtcbiAgaWYgKCFzdHJpY3QgJiYgIXdvcmtzcGFjZS5wcm9qZWN0KSB7XG4gICAgT2JqZWN0LmFzc2lnbih3b3Jrc3BhY2UsIHsgcHJvamVjdDogJ2RlZmF1bHQnIH0pO1xuICB9XG4gIHJldHVybiBpc1ZhbGlkV29ya3NwYWNlKHdvcmtzcGFjZSlcbiAgICA/IGAke3dvcmtzcGFjZS5wcm9qZWN0fX4ke3dvcmtzcGFjZS5jbHVzdGVyfX4ke3dvcmtzcGFjZS5uYW1lc3BhY2V9YFxuICAgIDogJyc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1ZhbGlkV29ya3NwYWNlKG9iajogYW55KTogb2JqIGlzIFdvcmtzcGFjZSB7XG4gIHJldHVybiAhIShvYmo/LnByb2plY3QgJiYgb2JqPy5jbHVzdGVyICYmIG9iaj8ubmFtZXNwYWNlKTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZVJJRChyaWQ6IHN0cmluZyk6IFJlc291cmNlSWRlbnRpZmllciB7XG4gIGlmICghcmlkKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbiAgY29uc3QgW3Byb2plY3QsIGNsdXN0ZXIsIG5hbWVzcGFjZSwgbmFtZV0gPSByaWQuc3BsaXQoJ34nKTtcbiAgY29uc3QgcmlkT2JqID0geyBwcm9qZWN0LCBjbHVzdGVyLCBuYW1lc3BhY2UsIG5hbWUgfTtcbiAgcmV0dXJuIGlzVmFsaWRSSUQocmlkT2JqKSA/IHJpZE9iaiA6IG51bGw7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzdHJpbmdpZnlSSUQocmlkOiBSZXNvdXJjZUlkZW50aWZpZXIpOiBzdHJpbmc7XG5leHBvcnQgZnVuY3Rpb24gc3RyaW5naWZ5UklEKHdvcmtzcGFjZTogV29ya3NwYWNlLCBuYW1lOiBzdHJpbmcpOiBzdHJpbmc7XG5leHBvcnQgZnVuY3Rpb24gc3RyaW5naWZ5UklEKHAxOiBSZXNvdXJjZUlkZW50aWZpZXIgfCBXb3Jrc3BhY2UsIHAyPzogc3RyaW5nKSB7XG4gIHJldHVybiBpc1ZhbGlkV29ya3NwYWNlKHAxKSAmJiBwMlxuICAgID8gYCR7cDEucHJvamVjdH1+JHtwMS5jbHVzdGVyfX4ke3AxLm5hbWVzcGFjZX1+JHtwMn1gXG4gICAgOiBpc1ZhbGlkUklEKHAxKVxuICAgICAgPyBgJHtwMS5wcm9qZWN0fX4ke3AxLmNsdXN0ZXJ9fiR7cDEubmFtZXNwYWNlfX4ke3AxLm5hbWV9YFxuICAgICAgOiAnJztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzVmFsaWRSSUQob2JqOiBhbnkpOiBvYmogaXMgUmVzb3VyY2VJZGVudGlmaWVyIHtcbiAgcmV0dXJuICEhKG9iaj8ucHJvamVjdCAmJiBvYmo/LmNsdXN0ZXIgJiYgb2JqPy5uYW1lc3BhY2UgJiYgb2JqPy5uYW1lKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGV4dHJhY3RXb3Jrc3BhY2UocGFyYW1zOiBQYXJhbXMgfCBQYXJhbU1hcCkge1xuICByZXR1cm4gcGFyYW1zLmdldCAmJiBwYXJhbXMuZ2V0IGluc3RhbmNlb2YgRnVuY3Rpb25cbiAgICA/IHBhcnNlV29ya3NwYWNlKChwYXJhbXMgYXMgUGFyYW1NYXApLmdldCgnd29ya3NwYWNlJykpXG4gICAgOiBwYXJzZVdvcmtzcGFjZSgocGFyYW1zIGFzIFBhcmFtcykud29ya3NwYWNlKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGV4dHJhY3RXb3Jrc3BhY2VGcm9tUm91dGUoXG4gIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSB8IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsXG4pIHtcbiAgY29uc3Qgc25hcHNob3QgPSByb3V0ZSBpbnN0YW5jZW9mIEFjdGl2YXRlZFJvdXRlID8gcm91dGUuc25hcHNob3QgOiByb3V0ZTtcbiAgcmV0dXJuIHBhcnNlV29ya3NwYWNlKHNuYXBzaG90LnBhcmFtTWFwLmdldCgnd29ya3NwYWNlJykpO1xufVxuXG4vLyBvd25lcjogYWl0XG5leHBvcnQgY29uc3Qgd29ya3NwYWNlVG9QYXRoID0gKHdvcmtzcGFjZTogUGFydGlhbDxXb3Jrc3BhY2U+KSA9PiB7XG4gIGlmICghd29ya3NwYWNlKSB7XG4gICAgcmV0dXJuICcnO1xuICB9XG4gIGNvbnN0IHsgcHJvamVjdCwgbmFtZXNwYWNlLCBjbHVzdGVyIH0gPSB3b3Jrc3BhY2U7XG4gIGNvbnN0IHAgPSBwcm9qZWN0ID8gYC9wcm9qZWN0cy8ke3Byb2plY3R9YCA6ICcnO1xuICBjb25zdCBjID0gY2x1c3RlciA/IGAvY2x1c3RlcnMvJHtjbHVzdGVyfWAgOiAnJztcbiAgY29uc3QgbiA9IG5hbWVzcGFjZSA/IGAvbmFtZXNwYWNlcy8ke25hbWVzcGFjZX1gIDogJyc7XG4gIHJldHVybiBgJHtwfSR7Y30ke259YDtcbn07XG4iXX0=