0.1.6•Updated a month ago
declare namespace Ledger {
namespace Expiration {
interface Options {
/**
* Whether entries expire.
*
* Default: `false`
*/
entries_expire?: boolean
/**
* How long entries have before they expire.
*
* Only used if **entries_expire** is `true`.
*
* Default: `[1, 'week']`
*/
period?: [number, TimeMeasurement]
/**
* After calculating an expiration timestamp, it will be rounded up to the end of this period.
*
* Only used if **entries_expire** is `true`.
*
* Default: `none`
*/
round_up_to?: 'none' | TimeMeasurementSingular
/**
* Instead of using **period** and **round_up_to**, pass a function
*
* @param entry The ledger entry being added. [Immutable]
* @returns Date
*/
custom_calculator?: () => Date
}
interface Override_False {
override_expiration_date?: false
}
interface Override_True {
override_expiration_date: true
expiration_date: Date
}
type Override = Override_False | Override_True
interface Response {
entries_expired: number
total_expirations: number
}
}
}