fix: simplify UUID argument names, use hint for more info

This commit is contained in:
Bart van Andel 2025-04-05 22:51:59 +02:00
parent 2cf3642493
commit 575eade84d
2 changed files with 8 additions and 10 deletions

View file

@ -26,15 +26,15 @@ class GenerateUUID extends Operation {
this.outputType = "string"; this.outputType = "string";
this.args = [ this.args = [
{ {
name: "UUID Version", name: "Version",
hint: "UUID version",
type: "option", type: "option",
value: [ value: ["v1", "v3", "v4", "v5", "v6", "v7"],
"v1", "v3", "v4", "v5", "v6", "v7",
]
defaultIndex: 2, defaultIndex: 2,
}, },
{ {
name: "UUID namespace (valid for v3 and v5)", name: "Namespace",
hint: "UUID namespace (UUID; valid for v3 and v5)",
type: "string", type: "string",
value: "1b671a64-40d5-491e-99b0-da01ff1f3341" value: "1b671a64-40d5-491e-99b0-da01ff1f3341"
} }
@ -51,9 +51,7 @@ class GenerateUUID extends Operation {
const hasDesiredVersion = typeof uuid[version] === "function"; const hasDesiredVersion = typeof uuid[version] === "function";
if (!hasDesiredVersion) throw new OperationError("Invalid UUID version"); if (!hasDesiredVersion) throw new OperationError("Invalid UUID version");
const versionThatRequiresNamespace = ["v3", "v5"]; const requiresNamespace = ["v3", "v5"].includes(version);
const requiresNamespace = versionThatRequiresNamespace.includes(version);
if (!requiresNamespace) return uuid[version](); if (!requiresNamespace) return uuid[version]();
const hasValidNamespace = typeof namespace === "string" && uuid.validate(namespace); const hasValidNamespace = typeof namespace === "string" && uuid.validate(namespace);

View file

@ -581,13 +581,13 @@ Password: 282760`;
}), }),
...[1, 3, 4, 5, 6, 7].map(version => it(`Generate UUID v${version}`, () => { ...[1, 3, 4, 5, 6, 7].map(version => it(`Generate UUID v${version}`, () => {
const result = chef.generateUUID("", { "UUID version": `v${version}` }).toString(); const result = chef.generateUUID("", { "version": `v${version}` }).toString();
assert.ok(result); assert.ok(result);
assert.strictEqual(result.length, 36); assert.strictEqual(result.length, 36);
})), })),
...[1, 3, 4, 5, 6, 7].map(version => it(`Analyze UUID v${version}`, () => { ...[1, 3, 4, 5, 6, 7].map(version => it(`Analyze UUID v${version}`, () => {
const uuid = chef.generateUUID("", { "UUID version": `v${version}` }).toString(); const uuid = chef.generateUUID("", { "version": `v${version}` }).toString();
const result = chef.analyseUUID(uuid).toString(); const result = chef.analyseUUID(uuid).toString();
const expected = `UUID version: ${version}`; const expected = `UUID version: ${version}`;
assert.strictEqual(result, expected); assert.strictEqual(result, expected);