يرجى شرح الكود التالي:

استيراد { الفئات\_EN\_US، المنتجات\_EN\_US } من "التطبيق/الثوابت/المجموعات"
استيراد { getCollection } من "App/utils/firestore"
استيراد {محلل } من 'json2csv'؛

(غير متزامن () => {
 منتجات ثابتة = انتظار getCollection({
 المجموعة: المنتجات\_EN\_US
 })

 فئات const = انتظار getCollection({
 المجموعة: CATEGORIES\_EN\_US
 })

 ثابت vtexCategoriesMap = {
 "الأمصال والعلاجات": 1200،
 "الأقنعة": 1300،
 'المنظفات': 1400,
 "الجوهر والتونر": 1500،
 "العناية بالعيون": 1600،
 'زيوت الوجه': 1700،
 "الوجه": 2100،
 "العيون": 2200،
 "الشفاه": 2300،
 'مزيلات المكياج': 2400،
 'المرطبات': 3100،
 'غسول ومقشرات الجسم': 3200،
 'العناية بالشعر': 3300،
 "الحماية من الشمس": 3400،
 "العناية باليدين": 3500
 }

 دع خريطة الفئة = {}

 const MapChildCategoryIdsToNames = الفئات => {
 الفئات.خريطة (الفئة => {
 إذا (الفئة؟.الأطفال؟.الطول) {
 لـ (const ChildCategory ofcategory.children) {
 إذا (childCategory.categoryId) {
 classMap[childCategory.categoryId] = ChildCategory.name
 }
 }
 }
 })

 خريطة فئة الإرجاع
 }

 const MappedCategories = MapChildCategoryIdsToNames(الفئات)

 const signVtexCategoryId = المنتج => المنتج?.الفئات?.map(productCategoryId => {
 إذا (معرف_تصنيف_المنتج في الفئات المعينة) {
 إذا (mappedCategories[productCategoryId] في vtexCategoriesMap) {
 Product.vtexCategoryId = vtexCategoriesMap[mappedCategories[productCategoryId]]
 }
 }
 })

 الحقول الثابتة = [
 'بطاقة تعريف'،
 "سكو"،
 "الوالدSku"،
 'معرف المنتج'،
 "معرف النوع"،
 'مسودة'،
 "معرف فتيكسكاتيجوري"،
 'عنوان'،
 'وصف'،
 "وصف بسيط"،
 'ميتا الوصف'،
 'عنوان الفوقية'،
 'وصف قصير'،
 'كيف تستعمل'،
 "المكونات.fullIngredients"،
 "المكونات.المكونات النشطة"،
 "المكونات. بعد المكونات"،
 "المكونات.keyIngredients"،
 "صورة. نص بديل"،
 "صورة.imageUrl"،
 "image.bundledSkuInterruptImageUrl"،
 "image.bundledSkuInterruptImageAltText"،
 "الرسالة الأولى للسلامة"،
 'الباركود'،
 'في الأوراق المالية'،
 "الشهادات"،
 "قابل للشحن"،
 'سعر'،
 'سعر خاص'،
 "سعر خاص من"،
 "سعر خاص إلى"،
 'السيرة الذاتية'،
 "الكهروضوئية"،
 "كيو في"،
 "إس في"،
 "قيمة المضيف"،
 "أعلام" ،
 'الحاجيات'،
 "إخفاء من EnrollingConsultant"،
 "الرؤية"،
 'أفضل ل'،
 'الأكثر مبيعًا'،
 'الباركود'،
 'فئات'،
 "معرفات الفئة الأصل"،
 "المناصب"،
 "لا تقم بالشحن بمفردك"،
 "فئة منتجات جوجل"،
 'مقبض'،
 "إخفاء من EnrollingConsultant"،
 "تضمين المنتج فيد"،
 "isGWP"،
 "الكمية القصوى"،
 'ميتا الوصف'،
 "معلومات إعادة التدوير"،
 'جديد من'،
 "جديد إلى"،
 "غير قابل للزحف"،
 "تعطيل صفحة تفاصيل المنتج"،
 'النظام السابق'،
 "استشاري الطلب المسبق"،
 "إخطار المخزون"،
 "فئة الضرائب"،
 "upSellIds"،
 "swatches.colorHexCode"،
 "الحوامل. الموضع"،
 "swatches.swatchlabel"،
 "حجم المنتج"،
 'مقاس'،
 'وزن'،
 "معرض الصور"،
 'isFinalSaleConfig'،
 "افتراضي"،
 "autoshipElegible"،
 "التردد التلقائي"،
 "فترة الشحن التلقائي" ،
 "الترويج البديل"،
 'تنوع في المنتجات'،
 "معلومات. معلومات"،
 "information.infoList"،
 "علامة التسجيل" ،
 "قيمة التسجيل" ،
 "فيديو.فيديو لينك"،
 "فيديو بديل"
 ];

 خيارات ثابتة = {الحقول }؛

 const parser = new Parser(options);

 منتجات constForExport = [];

 خريطة المنتجات(المنتج => {
 const allVariantsDisabled = (product.variants && Product.variants.every(variant =>variant.draft === true))

 إذا (product.draft === false || (product.draft === false && !allVariantsDisabled)) {
 const {المتغيرات والرؤية والأعلام } = المنتج؛

 إذا (product.image && Product.image.gallery && Product.image.gallery.length) {
 Product.galleryImages = Product.image.gallery.map(galleryImage => `sortOrder: ${galleryImage.sortOrder}، عنوان url: ${galleryImage.url}`)
 }

 إذا (product.information && Product.information.infoList && Product.information.infoList.length) {
 Product.information.infoList = Product.information.infoList.map(infoListEntry => `ordinal: ${infoListEntry.ordinal}, lineInfo: ${infoListEntry.lineInfo}`)
 }

 Product.enrollmentLabel = Product.label
 قيمة المنتج enrollment = قيمة المنتج

 تعيينVtexCategoryId(المنتج)

 ProductsForExport.push(product);

 إذا (المتغيرات && المتغيرات. الطول) {
 المتغيرات.خريطة (البديل => {
 إذا (variant.draft === false) {
 المنتجاتForExport.push({
 ... البديل،
 أعلام,
 الرؤية,
 ParentSku: Product.sku
 })
 }
 });
 }
 }
 });

 const csv = parser.parse(productsForExport);

 console.info(csv)
})()
{"source": "ewof/sharegpt-instruct-unfiltered-deduped", "kind": "human", "evolved_from": null}