rerobe-js-orm 3.3.6 → 3.3.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -18,7 +18,7 @@ export default class Product extends Base {
18
18
  autoCreateDescriptionHTML(t?: (text: string) => string, additionalSections?: {
19
19
  title: string;
20
20
  attributes: string[];
21
- }[]): string;
21
+ }[], currency?: string, locale?: string): string;
22
22
  autoCreateMetaDescription(): string;
23
23
  generateSchemaForTypesense(name?: string): {
24
24
  default_sorting_field: string;
@@ -454,10 +454,10 @@ class Product extends Base_1.default {
454
454
  }
455
455
  return this.utilities.capitalizeString(result).trim();
456
456
  }
457
- autoCreateDescriptionHTML(t = (str) => str, additionalSections = []) {
457
+ autoCreateDescriptionHTML(t = (str) => str, additionalSections = [], currency = 'SEK', locale = 'sv-SE') {
458
458
  var _a;
459
459
  const { compareAtPrice } = this.attributes;
460
- const { color, productCategory, productType, productStyle, condition, size, gender } = this.filterAttributes;
460
+ const { color, productCategory, productType, productStyle, condition, gender, size } = this.filterAttributes;
461
461
  const { productRemarks, conditionRemarks, purchasePrice, yearPurchased, sizeComment, majorDefects, minorDefects } = this.consignmentAttributes;
462
462
  const measurements = this.measurementsJoinedString(this.filterAttributes.measurements);
463
463
  const materials = this.materialCompJoinedString();
@@ -465,15 +465,26 @@ class Product extends Base_1.default {
465
465
  const joinedProductStyle = productStyle.join(', ');
466
466
  const joinedMajorDefects = majorDefects.join(', ');
467
467
  const joinedMinorDefects = minorDefects.join(', ');
468
+ const numberFormatter = new Intl.NumberFormat(locale, {
469
+ style: 'currency',
470
+ currency,
471
+ });
472
+ const formatCurrency = (value) => {
473
+ if (value === undefined)
474
+ return '';
475
+ // Parse the string as a float and format it as currency
476
+ const num = parseFloat(value);
477
+ return isNaN(num) ? value : numberFormatter.format(num);
478
+ };
468
479
  // Group the base attributes
469
480
  const baseAttributeSections = [
470
481
  {
471
482
  title: 'Product Details',
472
483
  attributes: [
484
+ size && `${t('Size')}: ${t(size)}`,
485
+ gender && `${t('Primary segment')}: ${t(gender)}`,
473
486
  productCategory && `${t('Category')}: ${t(productCategory)}`,
474
487
  productType && `${t('Type')}: ${t(productType)}`,
475
- size && `${t('Size')}: ${t(size)}`,
476
- gender && `${t('Gender')}: ${t(gender)}`,
477
488
  ].filter(Boolean),
478
489
  },
479
490
  {
@@ -494,10 +505,10 @@ class Product extends Base_1.default {
494
505
  ].filter(Boolean),
495
506
  },
496
507
  {
497
- title: 'Purchase Details',
508
+ title: 'Extra Details',
498
509
  attributes: [
499
- compareAtPrice && `${t('Original price')}: ${t(compareAtPrice)}`,
500
- purchasePrice && `${t('Purchase price')}: ${t(purchasePrice)}`,
510
+ compareAtPrice && `${t('Price new')}: ${t(formatCurrency(compareAtPrice))}`,
511
+ purchasePrice && `${t('Purchase price')}: ${t(formatCurrency(purchasePrice))}`,
501
512
  yearPurchased && `${t('Year purchased')}: ${t(yearPurchased)}`,
502
513
  ].filter(Boolean),
503
514
  },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "rerobe-js-orm",
3
- "version": "3.3.6",
3
+ "version": "3.3.8",
4
4
  "description": "ReRobe's Javascript ORM Framework",
5
5
  "main": "lib/index.js",
6
6
  "types": "lib/index.d.ts",