_chkFsPath.mjs

/**
 * fs系函數之路徑參數檢查,內部共用不對外(R-FS-INVALID-PATH-01)
 *
 * 路徑須為非空字串且不含NUL字元;不符者為「無效」,與「存在與否」分開判定,故不得走到fs.statSync等再被當成「不存在」而回成功
 * 回傳之說明字串不帶輸入值(Node之錯誤訊息會回顯輸入值,且含NUL之字串會原樣帶入),格式依輸入規格V19: `invalid <名稱>: must be <種類描述>`
 *
 * @param {*} v 輸入路徑值
 * @param {String} name 輸入參數名稱,如'pah'、'fp'、'fd'、'fpSrc'
 * @returns {String|null} 有效回傳null,無效回傳說明字串
 */
function chkFsPath(v, name) {
    if (typeof v !== 'string' || v === '') {
        return `invalid ${name}: must be a non-empty string`
    }
    if (v.includes('\0')) {
        return `invalid ${name}: must not contain a NUL character`
    }
    return null
}


export default chkFsPath