Ana içeriğe geç
Version: 1.0.1

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ığı

  1. 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.
  2. 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.
  3. Eksik Değerler:
    • Eğer bir anahtarın karşılığı nesnede bulunamazsa, varsayılan olarak boş bir dizge ("") ile değiştirilir.

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

ParametreTipiAçıklama
objanyFormatlanacak nesne.
formatstringFormatlanmış 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.