@reignmodule/mechanic-text
v1.2.1
Published
This library help to format the "mechanic text".
Readme
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:
// Format mechanics 1
let mechanics = new Mechanics();
expect(mechanics.format("1", "40")).toBe("40% Descuento");
// Format mechanics 4
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:style: The formatting style to use. the default isdefault."default": Generic formatting."mobile-alvi": for the app mobile formatting.
currencyFormat: An object with the NumberFormat options. See more https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat/NumberFormat.
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 id4the mechanic text is10*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 id4the mechanic text is10*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:
