@adv-ui/nc-strings

Set of New Construction JS string utilities (text formatters).

Usage no npm install needed!

<script type="module">
  import advUiNcStrings from 'https://cdn.skypack.dev/@adv-ui/nc-strings';
</script>

README

nc-strings

Set of useful js utilities for NC components.

Installation

$ npm install @schibstedspain/nc-strings --save

Usage

string

A bunch of string utilities to format literals.

import { getMinPriceLiteral, getPriceRangeLiteral, getSizeRangeLiteral, getSurfaceRangeLiteral,
  getTotalUnitsLiteral, getNumberOfRoomsRangeLiteral, getNumberOfRoomsLiteral, getAdvertiserPhone,
  getProjectExtras, getDeliveryDateLiteral } from '@schibstedspain/nc-strings'

const { i18n } = this.context // Retrieve your i18n instance from component's context.

console.log(getMinPriceLiteral({ i18n, 5000 }))
// Desde 5.000 E

console.log(getSizeRangeLiteral({ i18n, minSize: 50, maxSize: 100 }))
// Desde 50 - 100 m2

console.log(getTotalUnitsLiteral({ i18n, totalUnits: 3 }))
// 3 habitaciones

console.log(getPriceRangeLiteral({ i18n, { minPrice: 100000, maxPrice: 360000 } }))
// 100.000 E a 360.000 E

console.log(getSurfaceRangeLiteral({ i18n, surfaceRange: { minSurface: 50, maxSurface: 100 } }))
// De 50 m2 a 100 m2

console.log(getNumberOfRoomsRangeLiteral({ i18n, numberOfRoomsRange: { minRooms: 1, maxRooms: 7 } }))
// De 1 - 7 habitaciones

console.log(getNumberOfRoomsLiteral({ i18n, bedrooms: 1 }))
// 1 habitacion

console.log(getAdvertiserPhone('999888777'))
// 999 888 777

console.log(getProjectExtras({ i18n, [{ id: 1}, { id: 3 }, { id: 26 }, { id: 84 }]}))
// [{ label: 'Aire acondicionado' }, { label: 'Calefaccion' }, { label: 'Parking comunitario' }, { label: 'Puerta blindada' }]

/* (assuming that now is "Jan 1st 2018") */
console.log(getDeliveryDateLiteral({ i18n, deliveryDate: '2018-09-01T00:00:00'}))
// Listo en 8 meses