Format Object
Format Object, karmaşık ve iç içe geçmiş nesneleri belirtilen bir format kullanarak dinamik olarak dizgeye dönüştüren bir yardımcı fonksiyondur. Bu fonksiyon, Ops Table ekosisteminde hücre içeriklerini veya dışa aktarma verilerini kullanıcı dostu formatlarda göstermek için kullanılır.
Ne İşe Yarar?
Format Object:
- Karmaşık, iç içe geçmiş nesne yapılarından anlamlı dizgeler oluşturur.
- Kullanıcı tarafından belirtilen formatları destekler.
- Eksik veriler için esnek bir yaklaşım sunar.
İş Mantığı
- Format Dizgesini İşleme:
- Format dizgesi içinde yer alan
.{}
ile belirtilen anahtarlar tespit edilir. - Anahtarlar, nesnenin ilgili iç içe geçmiş değerleriyle değiştirilir.
- Format dizgesi içinde yer alan
- Nesne Anahtarlarına Erişim:
- Anahtarlar, nokta (
.
) ile ayrılmış yol olarak işlenir. - Anahtarların her biri sırasıyla nesne üzerinde gezilir ve değer bulunur.
- Anahtarlar, nokta (
- Eksik Değerler:
- Eğer bir anahtarın karşılığı nesnede bulunamazsa, varsayılan olarak boş bir dizge (
""
) ile değiştirilir.
- Eğer bir anahtarın karşılığı nesnede bulunamazsa, varsayılan olarak boş bir dizge (
Fonksiyon Tanımı
export function formatObject(obj: any, format: string) {
return format.replace(/\{(\w+(\.\w+)*)\}/g, (match, path) => {
let keys = path.split(".");
let value = obj;
for (let key of keys) {
value = value?.[key];
if (value === undefined) {
return "";
}
}
return value;
});
}
Parametreler
Parametre | Tipi | Açıklama |
---|---|---|
obj | any | Formatlanacak nesne. |
format | string | Formatlanmış dizgenin nasıl görüneceğini belirler. |
Dönüş Değeri
- Formatlanmış dizge. Eğer anahtarlar eksikse, eksik değerler boş dizgeyle değiştirilir.
Kullanım Örneği
Girdi Verisi
const data = {
user: {
name: "John",
details: {
age: 30,
city: "New York",
},
},
};
const format =
"{user.name} is {user.details.age} years old and lives in {user.details.city}.";
Çağrı
const result = formatObject(data, format);
console.log(result);
Çıktı
"John is 30 years old and lives in New York."
Kullanım Alanları (Format Object)
Format Object, Ops Table ekosisteminde aşağıdaki yerlerde kullanılır:
-
Custom Table Cells (
CustomTableCells.tsx
):- Hücre içindeki karmaşık veri yapılarını anlamlı bir şekilde göstermek için kullanılır.
- Örnek Kullanım:
cell.row.original
içindeki nested veriler için format uygulanır.
-
Export Popover (
ExportPopover.tsx
):- Dışa aktarım işlemleri sırasında, özellikle nested veri yapılarının kullanıcı tarafından tanımlanan formatlarla işlenmesi için kullanılır.
Burada Yapılan Ana İşlemler
Format Object fonksiyonu, aşağıdaki işlemleri gerçekleştirir ve bu noktalarda özelleştirilebilir:
- Dinamik Veri Eşleme: Karmaşık nesnelerdeki iç içe geçmiş anahtarların format dizgesiyle eşleştirilmesi.
- Hata Toleransı: Eksik veya yanlış anahtarlar için boş dizge döner.
- Yol Temelli Erişim: Nokta notasyonu kullanarak nesne içindeki verilere erişim sağlar.