{"name":"uuidgen.nu","source":"$ `stdlib/ext/uuid.nu`\n$ `stdlib/core/string.nu`\n\n@ main → v {\n    // 1. Test generation\n    : String v4 ( uuid_v4 )\n    ( nurl_print `v4: ` )\n    ( nurl_print ( string_data v4 ) )\n    ( nurl_print `\\n` )\n\n    : String v7 ( uuid_v7 )\n    ( nurl_print `v7: ` )\n    ( nurl_print ( string_data v7 ) )\n    ( nurl_print `\\n` )\n\n    // 2. Test round-trip\n    : ?( Vec u ) p4 ( uuid_parse ( string_data v4 ) )\n    ?? p4 {\n        T b4 → {\n            : String f4 ( uuid_format b4 )\n            ( nurl_print `v4 formatted: ` )\n            ( nurl_print ( string_data f4 ) )\n            ( nurl_print `\\n` )\n            ? ( string_eq v4 f4 ) {\n                ( nurl_print `v4 round-trip: OK\\n` )\n            } {\n                ( nurl_print `v4 round-trip: FAIL\\n` )\n            }\n            ( string_free f4 )\n            ( vec_free [u] b4 )\n        }\n        F → { ( nurl_print `v4 parse: FAIL\\n` ) }\n    }\n\n    // 3. Test invalid parse\n    : ?( Vec u ) pinv ( uuid_parse `invalid-uuid-string` )\n    ?? pinv {\n        T b → {\n            ( nurl_print `invalid parse: FAIL (should have failed)\\n` )\n            ( vec_free [u] b )\n        }\n        F → { ( nurl_print `invalid parse: OK\\n` ) }\n    }\n\n    ( string_free v4 )\n    ( string_free v7 )\n}\n","bytes":1250}