@reignmodule/mechanic-text
TypeScript icon, indicating that this package has built-in type declarations

1.2.1 • Public • Published

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

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:

Readme

Keywords

none

Package Sidebar

Install

npm i @reignmodule/mechanic-text

Weekly Downloads

0

Version

1.2.1

License

ISC

Unpacked Size

46.6 kB

Total Files

25

Last publish

Collaborators

  • reigncl
  • jondotsoy