HEX
Server: Apache/2.4.58 (Ubuntu)
System: Linux ip-172-26-0-120 6.17.0-1009-aws #9~24.04.2-Ubuntu SMP Fri Mar 6 23:50:29 UTC 2026 x86_64
User: ubuntu (1000)
PHP: 8.3.6
Disabled: NONE
Upload Files
File: /var/www/html/owlcrm/node_modules/alpinejs/src/ids.js
import { findClosest } from './lifecycle'

let globalIdMemo = {}

export function findAndIncrementId(name) {
    if (! globalIdMemo[name]) globalIdMemo[name] = 0

    return ++globalIdMemo[name]
}

export function closestIdRoot(el, name) {
    return findClosest(el, element => {
        if (element._x_ids && element._x_ids[name]) return true
    })
}

export function setIdRoot(el, name) {
    if (! el._x_ids) el._x_ids = {}
    if (! el._x_ids[name]) el._x_ids[name] = findAndIncrementId(name) 
}