Mechanic
This library help to format the "mechanic text".
Mechanics text Supported
- 1: Ex.
20% Descuento
- 4: Ex.
$10 Antes: $100
- 13: Ex.
Por una compra sobre $100
- 11: Ex.
$10 Por una compra sobre $100
- 2: Ex.
2x3
- 7: Ex.
4 x $890
API Mechanics
The Mechanic object format the "mechanical text".
Example:
let mechanics = new Mechanics();
expect(mechanics.format("1", "40")).toBe("40% Descuento");
let mechanics = new Mechanics();
expect(mechanics.format("4", "10*100")).toBe("$10 Antes: $100");
Constructor
Mechanics(locales, options)
Create a new Mechanics object.
Syntax
new Mechanics(undefined, { currencyFormat: { currency: "CLP" } })
Parameters
locales: A string with a BCP 47 language tag, or an array of such strings.
options: An object with some or all the following properties:
Mechanics.prototype.format(mechanicsId, mechanicsText)
The Mechanics.prototype.format() method format the mechanic text.
Parameters
mechanicsId: Type of mechanic to format. Posible values "1", "4", "13", "11", "2", "7".
mechanicsText: Mechanic text to decompose. The format depends on the mechanic id. Ex. with the mechanic id 4 the mechanic text is 10*100.
Syntax
format("4", "10*100")
Return value
A string of the mechanic formatted.
Example
const mechanicValue = new Mechanics().format("4", "10*100")
expect(mechanicValue).toBe("$10 Antes: $100")
Mechanics.prototype.formatToParts(mechanicsId, mechanicsText)
The Mechanics.prototype.formatToParts() method format the mechanic text and return it in parts.
Parameters
mechanicsId: Type of mechanic to format. Posible values "1", "4", "13", "11", "2", "7".
mechanicsText: Mechanic text to decompose. The format depends on the mechanic id. Ex. with the mechanic id 4 the mechanic text is 10*100.
Syntax
formatToParts("4", "10*100")
Return value
An Array of objects containing the formatted in parts.
Example
[
{ "type": "offer", "value": "$10" },
{ "type": "literal", "value": " Antes: " },
{ "type": "ref", "value": "$100" },
]
Possible types are the following:
literal: The string used for separating the values.
discount:
discountAmount:
m:
minimumAmount:
nProducts:
offer:
ref: