1.2.1 • Published 2 years ago

@reignmodule/mechanic-text v1.2.1

Weekly downloads
-
License
ISC
Repository
-
Last release
2 years ago

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:
1.2.1

2 years ago

1.2.0

2 years ago

1.1.1

2 years ago

1.1.0

2 years ago