All files / src/app/core/models/shipping-method shipping-method.mapper.ts

100% Statements 4/4
100% Branches 5/5
100% Functions 1/1
100% Lines 4/4

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 2436x         36x   12x 12x                              
import { PriceItemMapper } from 'ish-core/models/price-item/price-item.mapper';
 
import { ShippingMethodData } from './shipping-method.interface';
import { ShippingMethod } from './shipping-method.model';
 
export class ShippingMethodMapper {
  static fromData(data: ShippingMethodData): ShippingMethod {
    if (data) {
      return {
        name: data.name,
        id: data.id,
        description: data.description,
        shippingCosts: PriceItemMapper.fromPriceItem(data.shippingCosts),
        shippingTimeMin: data.deliveryTimeMin?.match(/^P\d+D$/gi)
          ? +data.deliveryTimeMin.replace(/[PD]/gi, '')
          : undefined,
        shippingTimeMax: data.deliveryTimeMax?.match(/^P\d+D$/gi)
          ? +data.deliveryTimeMax.replace(/[PD]/gi, '')
          : undefined,
      };
    }
  }
}