# LicenseTerms Interface

What HyperFormula needs from a typed key, after the two payload shapes have been reconciled.

The engine reads TWO payload shapes on purpose:

  • the shipped shape of handsontable/license-keytier, addons, exp, grace, with the contract type carried by the key's [TRIAL]/[FREE]/[SUB]/[PERP] tag, and with the expiry living on the LICENSED product entry (the first schema product present);
  • the shape of key spec rev 5capabilities, usage_until / release_until, notice, grace, flags, where every product entry carries its own terms.

The two disagree about nearly every field, rev 5 is still for review, and only the first can be minted today. Reading both means an already-issued key keeps working whichever way that disagreement is settled. Shape is detected per product entry, by the presence of capabilities, not guessed from the key type.

# Properties

# capabilityTokens

capabilityTokens: string[]

Defined in src/license/licenseResolution.ts:89 (opens new window)


# comparedAgainstReleaseDate

comparedAgainstReleaseDate: boolean

Defined in src/license/licenseResolution.ts:94 (opens new window)

true compares against the build release date, false against the clock.


# expiry

expiry: LicenseExpiry

Defined in src/license/licenseResolution.ts:90 (opens new window)


# expiryTimestamp

expiryTimestamp: number | null

Defined in src/license/licenseResolution.ts:92 (opens new window)

Epoch milliseconds of the last licensed day, or null when the key never expires.


# graceDays

graceDays: number

Defined in src/license/licenseResolution.ts:95 (opens new window)


# isTrial

isTrial: boolean

Defined in src/license/licenseResolution.ts:96 (opens new window)


# silent

silent: boolean

Defined in src/license/licenseResolution.ts:97 (opens new window)