mirror of
https://github.com/langgenius/dify.git
synced 2026-02-13 07:01:23 -05:00
28 lines
757 B
TypeScript
28 lines
757 B
TypeScript
export const NESTED_NODE_SEPARATOR = '_ext_'
|
|
|
|
export type NestedNodeIdParts = {
|
|
parentId: string
|
|
paramKey: string
|
|
}
|
|
|
|
export const buildNestedNodeId = (parentId: string, paramKey: string) => {
|
|
if (!parentId || !paramKey)
|
|
return ''
|
|
return `${parentId}${NESTED_NODE_SEPARATOR}${paramKey}`
|
|
}
|
|
|
|
export const parseNestedNodeId = (id?: string): NestedNodeIdParts | null => {
|
|
if (!id)
|
|
return null
|
|
const index = id.lastIndexOf(NESTED_NODE_SEPARATOR)
|
|
if (index <= 0)
|
|
return null
|
|
const parentId = id.slice(0, index)
|
|
const paramKey = id.slice(index + NESTED_NODE_SEPARATOR.length)
|
|
if (!parentId || !paramKey)
|
|
return null
|
|
return { parentId, paramKey }
|
|
}
|
|
|
|
export const isNestedNodeId = (id?: string) => Boolean(parseNestedNodeId(id))
|