local p = {}

-- Extrait un identifiant de la forme : dd-500xxxx ou sinon dd-ddddddd
function p.extraireNoDeDecision(frame)
    local texte = frame.args[1] or ""

    -- 1. Match un identifiant de type 40-500xxxx
    local identifiant = string.match(texte, "(%d%d%-500%d%d%d%d)")
    if identifiant then
        return identifiant
    end

    -- 2. Sinon, match un identifiant générique de type dd-ddddddd (ex: 40-0009775)
    identifiant = string.match(texte, "(%d%d%-%d%d%d%d%d%d%d)")
    return identifiant or ""
end

-- Extrait un identifiant de la forme : dd-ddddddd-ddd (ex: 40-0733535-004)
function p.extraireNoDeDossier(frame)
    local texte = frame.args[1] or ""
    local identifiant = string.match(texte, "(%d%d%-%d%d%d%d%d%d%d%-%d%d%d)")
    return identifiant or ""
end

return p