hyperformula
Version:
HyperFormula is a JavaScript engine for efficient processing of spreadsheet-like data and formulas
38 lines (36 loc) • 1.24 kB
JavaScript
;
exports.__esModule = true;
exports.VersionPlugin = void 0;
var _HyperFormula = require("../../HyperFormula");
var _FunctionPlugin = require("./FunctionPlugin");
/**
* @license
* Copyright (c) 2025 Handsoncode. All rights reserved.
*/
const LICENSE_STATUS_MAP = new Map([['gpl-v3', 1], ["missing" /* MISSING */, 2], ["invalid" /* INVALID */, 3], ["expired" /* EXPIRED */, 4]]);
class VersionPlugin extends _FunctionPlugin.FunctionPlugin {
version(ast, state) {
return this.runFunction(ast.args, state, this.metadata('VERSION'), () => {
const {
licenseKeyValidityState: validityState,
licenseKey
} = this.config;
let status;
if (LICENSE_STATUS_MAP.has(licenseKey)) {
status = LICENSE_STATUS_MAP.get(licenseKey);
} else if (LICENSE_STATUS_MAP.has(validityState)) {
status = LICENSE_STATUS_MAP.get(validityState);
} else if (validityState === "valid" /* VALID */) {
status = licenseKey.slice(-5);
}
return `HyperFormula v${_HyperFormula.HyperFormula.version}, ${status}`;
});
}
}
exports.VersionPlugin = VersionPlugin;
VersionPlugin.implementedFunctions = {
'VERSION': {
method: 'version',
parameters: []
}
};