UNPKG

synergy-serial

Version:
32 lines (24 loc) 1.07 kB
"use strict" const { default: ow } = require("ow") const bufferFrom = require("buffer-from") const Chance = require("chance") const chance = new Chance() const toHex = (key) => bufferFrom(key).toString("hex").toUpperCase() module.exports = ({ name = chance.name(), userLimit = 99, email = chance.email(), business = name, edition = "pro", version = 1, warningTime = 3705750621, expirationTime = 4705750621 } = {}) => { ow(name, ow.string) ow(userLimit, ow.number) ow(email, ow.string) ow(business, ow.string) ow(version, ow.number) ow(edition, ow.string) if (version === 1) { return toHex(`{v1;${edition};${name};${userLimit};${email};${business};0;0}`) } if (version === 2) { return toHex(`{v2;maintenance;${edition};${name};${userLimit};${email};${business};0;0}`) } if (version === 3) { return toHex(`{v2;maintenance;${edition};${name};${userLimit};${email};${business};${warningTime};${expirationTime}}`) } throw new Error(`Expected version to be \`1\` or \`2\`, got ${version}`) }