new2-vesting

1.0.3 • Public • Published

One-Year Cliff

var vested = require('vesting')(
  48, // Denominator of fraction of total earned monthly
  4   // Denominator of fraction of total earned at cliff
      // Cliff at 1-year anniversary by default
)
var assert = require('assert')

// Before 1 year
assert.equal(
  vested(
    1000000,              // Total shares
    new Date(2015, 0, 1), // Start date
    new Date(2015, 0, 2)  // Last work day
  ),
  0
)

// At 1 year
assert.equal(
  vested(
    1000000,
    new Date(2015, 0, 1),
    new Date(2016, 0, 1)
  ),
  250000
)

// Monthly after the cliff
assert.equal(
  vested(
    1000000,
    new Date(2015, 0, 1),
    new Date(2016, 1, 1)
  ),
  250000 + 15625
)

// Fully vested
assert.equal(
  vested(
    1000000,
    new Date(2015, 0, 1),
    new Date(2020, 0, 1)
  ),
  1000000
)

n-Year Cliff

// 7-year cliff
var vested = require('vesting')(48, 4, 7)

assert.equal(
  vested(
    1000000,
    new Date(2015, 0, 1),
    new Date(2015, 0, 2)
  ),
  0
)

// After 1 year
assert.equal(
  vested(
    1000000,
    new Date(2015, 0, 1),
    new Date(2016, 0, 1)
  ),
  0
)

// After 7 years
assert.equal(
  vested(
    1000000,
    new Date(2015, 0, 1),
    new Date((2015 + 7), 0, 1)
  ),
  250000
)

Straight (No Cliff)

var vested = require('vesting')(48)

assert.equal(
  vested(
    4800000,
    new Date(2015, 0, 1),
    new Date(2015, 1, 1)
  ),
  100000
)

Package Sidebar

Install

npm i new2-vesting

Weekly Downloads

2

Version

1.0.3

License

MIT

Unpacked Size

3.6 kB

Total Files

3

Last publish

Collaborators

  • parzivalishan