# bambooasia-validation

> Validation Library for BambooAsia

Latest version **1.1.6** (published 2019-08-07) · ISC license · 0 weekly downloads

## Install

```sh
npm install bambooasia-validation
pnpm add bambooasia-validation
yarn add bambooasia-validation
bun add bambooasia-validation
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.1.6 |
| Published | 2019-08-07 |
| First published | 2019-07-11 |
| Weekly downloads | 0 |
| License | ISC |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 2 |
| Unpacked size | 234.3 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Author | Scott Selke |
| Maintainers | lofi-development |

## Links

- npm: https://www.npmjs.com/package/bambooasia-validation
- Repository: https://s-2@bitbucket.org/hiredevs/bambooasia-validation
- Homepage: https://bitbucket.org/hiredevs/bambooasia-validation#readme
- npm.io page: https://npm.io/package/bambooasia-validation

## Dependencies (2)

- [date-fns](https://npm.io/package/date-fns.md) ^1.30.1
- [validatorjs](https://npm.io/package/validatorjs.md) ^3.15.1

## Recent versions

- 1.1.6 (latest) — 2019-08-07
- 1.1.5 — 2019-08-06
- 1.1.4 — 2019-08-06
- 1.1.3 — 2019-08-05
- 1.1.2 — 2019-07-17
- 1.1.0 — 2019-07-15
- 1.0.9 — 2019-07-15
- 1.0.8 — 2019-07-12
- 1.0.7 — 2019-07-12
- 1.0.6 — 2019-07-12
- 1.0.5 — 2019-07-12
- 1.0.3 — 2019-07-11
- 1.0.2 — 2019-07-11
- 1.0.1 — 2019-07-11
- 1.0.0 — 2019-07-11

## README

# BambooAsia Validation Library

BambooAsia Validation is a library used to validate data from the BambooAsia.com website.

## Installation

```bash
git clone https://s-2@bitbucket.org/hiredevs/bambooasia-validation.git
cd ./bambooasia-validation
```

In the bambooasia-validation directory run:

```bash
npm install
npm link
```

In the bambooasia main directory (website) run:

```bash
npm link bambooasia-validation
```

## Usage

```javascript
import { ProfileValidator } from 'bambooasia-validation'

<Formik
    ...
    validate={ values => {
        let validation = ProductValidator.doValidation(values)
        if( validation.fails() ) {
           ...
```

## Functions

| ProfileValidator  | Required Fields: (password|passwordCheck|number|name)                                  |
| PickupValidator   | Required Fields: (date)                                                                |
| DeliveryValidator | Required Fields: (date)                                                                |
| OrderValidator    | Required Fields: (total|subTotal|tip|taxPercentage|bagCharge|surcharge|deliveryCharge) |

## Contributing
Pull requests are welcome. For major changes, please message me on Slack or bitbucket.

Please make sure to update tests as appropriate.

## License
[MIT](https://choosealicense.com/licenses/mit/)

Bamboo Asia order validation and cart/order total calculation library

Input
Product inventory with pricing and custom config options (TBD pulled from brain) Fullfillment options (delivery address or pickup locations) Product ( w/custom config options chosen and catering flag if catering) Cart (list of items - used to determine if allowed to go checkout and build an order) Order (contains items, order totals, taxes+fees, credit card nonce)

Output
Fullfillment Validations

Delivery - valid delivery date/time (within opening hours including holiday closures) and enough lead time for delivery - delivery zone valid (not outside available zones and minimum order amount depending on delivery zone)

Pickup - valid store location - valid date/time (within opening hours including holiday closures) and enough lead time for delivery

Add to cart validations: - catering item needs hedcount and protein/veggie count to be >= than headcount

Cart Validations to proceed to checkout - minimum total for delivery zone - at least one item - fullfillment chosen and valid

Order Validations - items pricing adds up to rules in product inventory and custom configs - total matches up including taxes has delivery fee if delivery - credit card nonce exists before processing cc payment w square

Calculations
Product rules - Product base price includes default config. Any additional custom options more than the original base price are added to the total. - Catering product needs headcount and headcount should be at least the minimum that comes in the config. The headcount shoiuld also be >= the amount of protein and veggies combined.

Order rules - total equals price of all products plus taxes and fees if applicable - minus any pretax discount coupon code.

---
_Source: https://npm.io/package/bambooasia-validation · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
