@alauda-fe/common
Version:
Alauda frontend team common codes.
59 lines • 9.57 kB
JavaScript
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=