@optique/man 1.0.0-dev.896 → 1.0.0-dev.900
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli.cjs +2 -2
- package/dist/cli.js +2 -2
- package/dist/{generator-Bal_ioLr.cjs → generator-BkWfsb4u.cjs} +26 -1
- package/dist/{generator-CdDVvD4r.js → generator-DZnf5j1D.js} +26 -1
- package/dist/index.cjs +1 -1
- package/dist/index.d.cts +5 -2
- package/dist/index.d.ts +5 -2
- package/dist/index.js +1 -1
- package/package.json +3 -3
package/dist/cli.cjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
const require_man = require('./man-DFKETOWN.cjs');
|
|
3
3
|
require('./roff-Cl0vekdg.cjs');
|
|
4
|
-
const require_generator = require('./generator-
|
|
4
|
+
const require_generator = require('./generator-BkWfsb4u.cjs');
|
|
5
5
|
const __optique_core_constructs = require_man.__toESM(require("@optique/core/constructs"));
|
|
6
6
|
const __optique_core_primitives = require_man.__toESM(require("@optique/core/primitives"));
|
|
7
7
|
const __optique_core_valueparser = require_man.__toESM(require("@optique/core/valueparser"));
|
|
@@ -17,7 +17,7 @@ const node_url = require_man.__toESM(require("node:url"));
|
|
|
17
17
|
|
|
18
18
|
//#region deno.json
|
|
19
19
|
var name = "@optique/man";
|
|
20
|
-
var version = "1.0.0-dev.
|
|
20
|
+
var version = "1.0.0-dev.900+d7ebaa88";
|
|
21
21
|
var license = "MIT";
|
|
22
22
|
var exports$1 = {
|
|
23
23
|
".": "./src/index.ts",
|
package/dist/cli.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import "./roff-CwBRpWCo.js";
|
|
3
3
|
import "./man-BBDifH_Y.js";
|
|
4
|
-
import { generateManPageAsync } from "./generator-
|
|
4
|
+
import { generateManPageAsync } from "./generator-DZnf5j1D.js";
|
|
5
5
|
import { object } from "@optique/core/constructs";
|
|
6
6
|
import { argument, option } from "@optique/core/primitives";
|
|
7
7
|
import { choice, string } from "@optique/core/valueparser";
|
|
@@ -17,7 +17,7 @@ import { fileURLToPath, pathToFileURL } from "node:url";
|
|
|
17
17
|
|
|
18
18
|
//#region deno.json
|
|
19
19
|
var name = "@optique/man";
|
|
20
|
-
var version = "1.0.0-dev.
|
|
20
|
+
var version = "1.0.0-dev.900+d7ebaa88";
|
|
21
21
|
var license = "MIT";
|
|
22
22
|
var exports = {
|
|
23
23
|
".": "./src/index.ts",
|
|
@@ -3,16 +3,40 @@ const __optique_core_parser = require_man.__toESM(require("@optique/core/parser"
|
|
|
3
3
|
|
|
4
4
|
//#region src/generator.ts
|
|
5
5
|
/**
|
|
6
|
+
* Checks if the given value looks like a {@link Parser} at runtime.
|
|
7
|
+
*/
|
|
8
|
+
function isParser(value) {
|
|
9
|
+
try {
|
|
10
|
+
if (value == null || typeof value !== "object") return false;
|
|
11
|
+
const p = value;
|
|
12
|
+
return "parse" in p && typeof p.parse === "function" && "complete" in p && typeof p.complete === "function" && "$mode" in p && (p.$mode === "sync" || p.$mode === "async") && "usage" in p && Array.isArray(p.usage) && "initialState" in p && "suggest" in p && typeof p.suggest === "function" && "getDocFragments" in p && typeof p.getDocFragments === "function";
|
|
13
|
+
} catch {
|
|
14
|
+
return false;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
6
18
|
* Checks if the given value is a {@link Program} object.
|
|
7
19
|
*/
|
|
8
20
|
function isProgram(value) {
|
|
9
|
-
|
|
21
|
+
try {
|
|
22
|
+
return typeof value === "object" && value !== null && "parser" in value && "metadata" in value && typeof value.metadata === "object" && value.metadata !== null && "name" in value.metadata && typeof value.metadata.name === "string";
|
|
23
|
+
} catch {
|
|
24
|
+
return false;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Validates that the extracted parser is a genuine Optique parser.
|
|
29
|
+
* @throws {TypeError} If the value is not a valid Parser.
|
|
30
|
+
*/
|
|
31
|
+
function validateParser(value) {
|
|
32
|
+
if (!isParser(value)) throw new TypeError("The given value is not a valid Parser or Program.");
|
|
10
33
|
}
|
|
11
34
|
/**
|
|
12
35
|
* Extracts parser and merged options from a parser or program.
|
|
13
36
|
*/
|
|
14
37
|
function extractParserAndOptions(parserOrProgram, options) {
|
|
15
38
|
if (isProgram(parserOrProgram)) {
|
|
39
|
+
validateParser(parserOrProgram.parser);
|
|
16
40
|
const { metadata } = parserOrProgram;
|
|
17
41
|
const programOptions = options;
|
|
18
42
|
return {
|
|
@@ -33,6 +57,7 @@ function extractParserAndOptions(parserOrProgram, options) {
|
|
|
33
57
|
}
|
|
34
58
|
};
|
|
35
59
|
}
|
|
60
|
+
validateParser(parserOrProgram);
|
|
36
61
|
return {
|
|
37
62
|
parser: parserOrProgram,
|
|
38
63
|
mergedOptions: options
|
|
@@ -3,16 +3,40 @@ import { getDocPageAsync, getDocPageSync } from "@optique/core/parser";
|
|
|
3
3
|
|
|
4
4
|
//#region src/generator.ts
|
|
5
5
|
/**
|
|
6
|
+
* Checks if the given value looks like a {@link Parser} at runtime.
|
|
7
|
+
*/
|
|
8
|
+
function isParser(value) {
|
|
9
|
+
try {
|
|
10
|
+
if (value == null || typeof value !== "object") return false;
|
|
11
|
+
const p = value;
|
|
12
|
+
return "parse" in p && typeof p.parse === "function" && "complete" in p && typeof p.complete === "function" && "$mode" in p && (p.$mode === "sync" || p.$mode === "async") && "usage" in p && Array.isArray(p.usage) && "initialState" in p && "suggest" in p && typeof p.suggest === "function" && "getDocFragments" in p && typeof p.getDocFragments === "function";
|
|
13
|
+
} catch {
|
|
14
|
+
return false;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
6
18
|
* Checks if the given value is a {@link Program} object.
|
|
7
19
|
*/
|
|
8
20
|
function isProgram(value) {
|
|
9
|
-
|
|
21
|
+
try {
|
|
22
|
+
return typeof value === "object" && value !== null && "parser" in value && "metadata" in value && typeof value.metadata === "object" && value.metadata !== null && "name" in value.metadata && typeof value.metadata.name === "string";
|
|
23
|
+
} catch {
|
|
24
|
+
return false;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Validates that the extracted parser is a genuine Optique parser.
|
|
29
|
+
* @throws {TypeError} If the value is not a valid Parser.
|
|
30
|
+
*/
|
|
31
|
+
function validateParser(value) {
|
|
32
|
+
if (!isParser(value)) throw new TypeError("The given value is not a valid Parser or Program.");
|
|
10
33
|
}
|
|
11
34
|
/**
|
|
12
35
|
* Extracts parser and merged options from a parser or program.
|
|
13
36
|
*/
|
|
14
37
|
function extractParserAndOptions(parserOrProgram, options) {
|
|
15
38
|
if (isProgram(parserOrProgram)) {
|
|
39
|
+
validateParser(parserOrProgram.parser);
|
|
16
40
|
const { metadata } = parserOrProgram;
|
|
17
41
|
const programOptions = options;
|
|
18
42
|
return {
|
|
@@ -33,6 +57,7 @@ function extractParserAndOptions(parserOrProgram, options) {
|
|
|
33
57
|
}
|
|
34
58
|
};
|
|
35
59
|
}
|
|
60
|
+
validateParser(parserOrProgram);
|
|
36
61
|
return {
|
|
37
62
|
parser: parserOrProgram,
|
|
38
63
|
mergedOptions: options
|
package/dist/index.cjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
const require_man = require('./man-DFKETOWN.cjs');
|
|
2
2
|
const require_roff = require('./roff-Cl0vekdg.cjs');
|
|
3
|
-
const require_generator = require('./generator-
|
|
3
|
+
const require_generator = require('./generator-BkWfsb4u.cjs');
|
|
4
4
|
|
|
5
5
|
exports.escapeHyphens = require_roff.escapeHyphens;
|
|
6
6
|
exports.escapeQuotedValue = require_roff.escapeQuotedValue;
|
package/dist/index.d.cts
CHANGED
|
@@ -48,9 +48,10 @@ interface GenerateManPageProgramOptions extends Partial<Omit<ManPageOptions, "se
|
|
|
48
48
|
* console.log(manPage);
|
|
49
49
|
* ```
|
|
50
50
|
*
|
|
51
|
-
* @param
|
|
51
|
+
* @param parserOrProgram The parser or program to generate documentation from.
|
|
52
52
|
* @param options The man page generation options.
|
|
53
53
|
* @returns The complete man page in roff format.
|
|
54
|
+
* @throws {TypeError} If the input is not a valid Parser or Program.
|
|
54
55
|
* @since 0.10.0
|
|
55
56
|
*/
|
|
56
57
|
declare function generateManPageSync<T>(program: Program<"sync", T>, options: GenerateManPageProgramOptions): string;
|
|
@@ -78,9 +79,10 @@ declare function generateManPageSync(parser: Parser<"sync", unknown, unknown>, o
|
|
|
78
79
|
* });
|
|
79
80
|
* ```
|
|
80
81
|
*
|
|
81
|
-
* @param
|
|
82
|
+
* @param parserOrProgram The parser or program to generate documentation from.
|
|
82
83
|
* @param options The man page generation options.
|
|
83
84
|
* @returns A promise that resolves to the complete man page in roff format.
|
|
85
|
+
* @throws {TypeError} If the input is not a valid Parser or Program.
|
|
84
86
|
* @since 0.10.0
|
|
85
87
|
*/
|
|
86
88
|
declare function generateManPageAsync<M extends Mode, T>(program: Program<M, T>, options: GenerateManPageProgramOptions): Promise<string>;
|
|
@@ -148,6 +150,7 @@ declare function generateManPageAsync<M extends Mode>(parser: Parser<M, unknown,
|
|
|
148
150
|
* @param parserOrProgram The parser or program to generate documentation from.
|
|
149
151
|
* @param options The man page generation options.
|
|
150
152
|
* @returns The complete man page in roff format, or a Promise for async parsers.
|
|
153
|
+
* @throws {TypeError} If the input is not a valid Parser or Program.
|
|
151
154
|
* @since 0.10.0
|
|
152
155
|
*/
|
|
153
156
|
declare function generateManPage<T>(program: Program<"sync", T>, options: GenerateManPageProgramOptions): string;
|
package/dist/index.d.ts
CHANGED
|
@@ -48,9 +48,10 @@ interface GenerateManPageProgramOptions extends Partial<Omit<ManPageOptions, "se
|
|
|
48
48
|
* console.log(manPage);
|
|
49
49
|
* ```
|
|
50
50
|
*
|
|
51
|
-
* @param
|
|
51
|
+
* @param parserOrProgram The parser or program to generate documentation from.
|
|
52
52
|
* @param options The man page generation options.
|
|
53
53
|
* @returns The complete man page in roff format.
|
|
54
|
+
* @throws {TypeError} If the input is not a valid Parser or Program.
|
|
54
55
|
* @since 0.10.0
|
|
55
56
|
*/
|
|
56
57
|
declare function generateManPageSync<T>(program: Program<"sync", T>, options: GenerateManPageProgramOptions): string;
|
|
@@ -78,9 +79,10 @@ declare function generateManPageSync(parser: Parser<"sync", unknown, unknown>, o
|
|
|
78
79
|
* });
|
|
79
80
|
* ```
|
|
80
81
|
*
|
|
81
|
-
* @param
|
|
82
|
+
* @param parserOrProgram The parser or program to generate documentation from.
|
|
82
83
|
* @param options The man page generation options.
|
|
83
84
|
* @returns A promise that resolves to the complete man page in roff format.
|
|
85
|
+
* @throws {TypeError} If the input is not a valid Parser or Program.
|
|
84
86
|
* @since 0.10.0
|
|
85
87
|
*/
|
|
86
88
|
declare function generateManPageAsync<M extends Mode, T>(program: Program<M, T>, options: GenerateManPageProgramOptions): Promise<string>;
|
|
@@ -148,6 +150,7 @@ declare function generateManPageAsync<M extends Mode>(parser: Parser<M, unknown,
|
|
|
148
150
|
* @param parserOrProgram The parser or program to generate documentation from.
|
|
149
151
|
* @param options The man page generation options.
|
|
150
152
|
* @returns The complete man page in roff format, or a Promise for async parsers.
|
|
153
|
+
* @throws {TypeError} If the input is not a valid Parser or Program.
|
|
151
154
|
* @since 0.10.0
|
|
152
155
|
*/
|
|
153
156
|
declare function generateManPage<T>(program: Program<"sync", T>, options: GenerateManPageProgramOptions): string;
|
package/dist/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { escapeHyphens, escapeQuotedValue, escapeRequestArg, escapeRoff, formatMessageAsRoff } from "./roff-CwBRpWCo.js";
|
|
2
2
|
import { formatDateForMan, formatDocPageAsMan, formatUsageTermAsRoff } from "./man-BBDifH_Y.js";
|
|
3
|
-
import { generateManPage, generateManPageAsync, generateManPageSync } from "./generator-
|
|
3
|
+
import { generateManPage, generateManPageAsync, generateManPageSync } from "./generator-DZnf5j1D.js";
|
|
4
4
|
|
|
5
5
|
export { escapeHyphens, escapeQuotedValue, escapeRequestArg, escapeRoff, formatDateForMan, formatDocPageAsMan, formatMessageAsRoff, formatUsageTermAsRoff, generateManPage, generateManPageAsync, generateManPageSync };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@optique/man",
|
|
3
|
-
"version": "1.0.0-dev.
|
|
3
|
+
"version": "1.0.0-dev.900+d7ebaa88",
|
|
4
4
|
"description": "Man page generator for Optique CLI parsers",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"CLI",
|
|
@@ -84,8 +84,8 @@
|
|
|
84
84
|
"optique-man": "./dist/cli.js"
|
|
85
85
|
},
|
|
86
86
|
"dependencies": {
|
|
87
|
-
"@optique/
|
|
88
|
-
"@optique/
|
|
87
|
+
"@optique/core": "1.0.0-dev.900+d7ebaa88",
|
|
88
|
+
"@optique/run": "1.0.0-dev.900+d7ebaa88"
|
|
89
89
|
},
|
|
90
90
|
"devDependencies": {
|
|
91
91
|
"@types/node": "^20.19.9",
|