Hatalar
Önemli: hata desteği, 4.5 sürümü ile birlikte yakında eklendi. Kapsam henüz kapsamlı değil. Aşağıda belgelenen kod, mesaj ve özellikler yakın gelecekte değişebilir.
Tüm hatalar, JavaScript Error
sınıfını genişleten CsvError
sınıfını örnekler. Hatanın 2 ana özelliği:
code
Hata türünü tanımlar, ayrıştırıcı tarafından atılan her hata için benzersizdir, hata kodlarının listesi için aşağıya bakınız.message
Kodun okunabilir bir versiyonu ile tanıtılan açıklayıcı ve bazen ayrıntılı hata mesajı.
Hata ayrıca birden fazla bağlamsal özellik ile zenginleştirilmiştir:
column
(number|string)columns
seçeneği tanımlıysa sütun adı ya da alan pozisyonu.empty_lines
(number)
Bu alana kadar karşılaşılan boş satırların içsel sayacı.header
(boolean)
Sağlanan değerin başlığın bir parçası olup olmadığını belirten bir boolean.index
(number)
0'dan başlayarak alan pozisyonu.invalid_field_length
(number)relax_column_count
true olduğunda standart dışı uzunlukta kayıt sayısı. Sürüm 3'ten önceskipped_lines
olarak adlandırılıyordu.lines
(number)
Mevcut satır dahil olmak üzere işlenen satır sayısı.quoting
(boolean)
Alanın tırnak işareti ile çevrili olup olmadığını belirten bir boolean.records
(number)
Tam olarak ayrıştırılan kayıt sayısı. Sürüm 3'ten öncecount
olarak adlandırılıyordu.
Son olarak, kod özelliği ile tanımlanan her hata türü ilave özellikler içerebilir.
Çalışma zamanı hataları
code:
CSV_INVALID_CLOSING_QUOTE
Beklenmedik bir konumda bir tırnak işareti bulunduğunda atılır.relax_quotes
seçeneğini etkinleştirerek bu hataya tolerans sağlanabilir.code:
CSV_RECORD_INCONSISTENT_FIELDS_LENGTH
Bir kaydın önceki kayıtlarla aynı sayıda alanla eşleşmediği durumlarda atılır. Alan miktarına tolerans sağlamak içinrelax_column_count
seçeneği kullanılabilir. Ek özellikler arasında:record
Karşılaşılan geçersiz kayıt.
code:
CSV_RECORD_DONT_MATCH_COLUMNS_LENGTH
Bir kaydın aynı sayıda sütunla eşleşmediği durumlarda atılır. Bu hata yalnızcacolumns
seçeneği aktif olduğunda görülür. Ek özellikler arasında:record
Karşılaşılan geçersiz kayıt.
code:
CSV_INVALID_COLUMN_MAPPING
columns
seçeneği bir işlev olduğunda ve beklenildiği gibi bir başlık alanları dizisi döndürmediğinde atılır.headers
İşlev tarafından döndürülen geçersiz başlık değerleri.
code:
CSV_MAX_RECORD_SIZE
Bir alanınmax_record_size
seçeneği tarafından tanımlanan değerden daha uzun olduğu durumlarda atılır.code:
CSV_NON_TRIMABLE_CHAR_AFTER_CLOSING_QUOTE
Bir alan artık tırnak içinde değilken kapanış tırnağından sonra yeni tırnak içinde alınamayacak karakterler bulunduğunda atılır. Sadecetrim
veyartrim
seçenekleri etkinleştirildiğinde geçerli olur.code:
CSV_QUOTE_NOT_CLOSED
Bir açılış tırnağının kapatılmadığı durumda veri ayrıştırma işlemi sona erdiğinde atılır.
API Hataları
code:
CSV_INVALID_ARGUMENT
message:Geçersiz argüman: {index} indeksinde {value} alındı
parse
dışa aktarılan işlev çağrıldığında yanlış argümanlar ile atılır.code:
CSV_INVALID_OPTION_BOM
message:Geçersiz seçenek bom: bom true olmalı, {value} alındı
Cast seçeneği yanlış olduğunda atılır.code:
CSV_INVALID_OPTION_CAST
message:Geçersiz seçenek cast: cast true veya bir işlev olmalı, {value} alındı
Cast seçeneği yanlış olduğunda atılır.code:
CSV_INVALID_OPTION_CAST_DATE
message:Geçersiz seçenek cast_date: cast_date true veya bir işlev olmalı, {value} alındı
Bir sütun tanımıname
özelliğini içermediğinde atılır.code:
CSV_INVALID_COLUMN_DEFINITION
message:Geçersiz sütun tanımı: bir dize veya literal nesne bekleniyor, {position} konumunda true alındı
Bir sütun tanımı yanlış olduğunda atılır.code:
CSV_OPTION_COLUMNS_MISSING_NAME
message:Seçenek sütunları eksik adı: nesne literal olduğunda "name" özelliği gereklidir, {position} konumunda
Bir sütun tanımı bir isim özelliği olmadan bir nesne olduğunda atılır.code:
CSV_INVALID_OPTION_COLUMNS
message:Geçersiz seçenek sütunlar: bir nesne, işlev veya true bekleniyor, {value} alındı
Sütun seçeneği yanlış olduğunda atılır.code:
CSV_INVALID_OPTION_COMMENT
message:Geçersiz seçenek yorum: yorum bir buffer veya dize olmalı, {value
alındı`
Yorum seçeneği yanlış olduğunda atılır.code:
CSV_INVALID_OPTION_DELIMITER
message:Geçersiz seçenek ayırıcı: ayırıcı boş bir dize veya buffer olmalı, {value} alındı
Ayırıcı seçeneği yanlış olduğunda atılır.code:
CSV_INVALID_OPTION_RECORD_DELIMITER
message:Geçersiz seçenek `record_delimiter`: değer boş bir dize veya buffer veya dize|buffer dizisi olmalı, {value} alındı
since: 5.0.0
Record_delimiter seçeneği yanlış olduğunda atılır.
Yaygın sorunlar
Bitiriş bildirimi
Durum:
"finish" olayını kullanıyorsunuz ve tüm kayıtlarınız yok. "readable" olayı hala birkaç kayıt ile çağrılıyor.
Çözüm:
Ayrıştırıcı hem yazılabilir hem de okunabilir bir akımdır. Veri yazarsınız ve kayıtları okursunuz. Node.js. akım belgelerine göre, "finish" olayı yazma API'sinden gelir ve giriş kaynağının verilerini boşaltması durumunda yayımlanır. "end" olayı okuma API'sinden gelir ve akımdan daha fazla veri tüketilecek olmadığında yayımlanır.