[英]How can I store line numbers for a parsed YAML file in JavaScript?
我正在編寫一個解析YAML文件的Node.js應用程序。 在某些情況下,我需要能夠檢索與值對應的行號。 例如,如果YAML是person: username: jsmith password: hunter2
我可能想顯示消息“第3行錯誤:密碼錯誤”。
顯然,這是一個微不足道的例子,但重點是YAML本身沒有任何問題。
我一直在使用yamljs,並且能夠通過Object.defineProperty
方法將行號直接添加到對象,但是這對字符串不起作用,所以如果我們有以下YAML passwords: - aG00dP@ssw0Rd - hunter2
我不會不能為“hunter2”提供一個行號。
我的一些想法:
{ lineNumber, value }
對象中輸入所有值。 這對我來說似乎很笨拙,因為我必須在所有事情上調用.value
。 我真的不希望行號影響任何作用於該對象的下游代碼。 還有另一種我沒想過的方法嗎? 我提到的任何方法是否真的可行,而我一直做錯了?
對於任何感興趣的人,我最終將行號存儲在數組/對象上並在字符串上進行了描述。 這並不理想,但試圖以其他方式解決它的成本超過了收益。 另外,我的用例可能會看到更多的數組/對象。
我在這里分叉了yamljs存儲庫: https : //github.com/pumlhorse/yaml.js
編輯 :我遇到了另一個問題,提到向String
添加屬性,並意識到這是我的問題的解決方案。 我修改了上面的存儲庫以返回String對象,而不是原語,並提供了我需要的功能。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.