aboutsummaryrefslogtreecommitdiff
path: root/test/scripts
diff options
context:
space:
mode:
authorST-DDT <[email protected]>2023-01-26 17:40:25 +0100
committerGitHub <[email protected]>2023-01-26 16:40:25 +0000
commitdcb318f4008e4600c98a794062e0d0bb061f88a9 (patch)
tree472e224dbeab957988c61cd97dd83ef10a977dd8 /test/scripts
parentb86638d478fa21fafa9aaa3e247a08b479bf5a9d (diff)
downloadfaker-dcb318f4008e4600c98a794062e0d0bb061f88a9.tar.xz
faker-dcb318f4008e4600c98a794062e0d0bb061f88a9.zip
docs: fix unwrap literal union (#1752)
Diffstat (limited to 'test/scripts')
-rw-r--r--test/scripts/apidoc/__snapshots__/signature.spec.ts.snap44
-rw-r--r--test/scripts/apidoc/signature.example.ts28
2 files changed, 67 insertions, 5 deletions
diff --git a/test/scripts/apidoc/__snapshots__/signature.spec.ts.snap b/test/scripts/apidoc/__snapshots__/signature.spec.ts.snap
index 0d34cb7a..b030225a 100644
--- a/test/scripts/apidoc/__snapshots__/signature.spec.ts.snap
+++ b/test/scripts/apidoc/__snapshots__/signature.spec.ts.snap
@@ -5,7 +5,10 @@ exports[`signature > analyzeSignature() > complexArrayParameter 1`] = `
"deprecated": false,
"description": "<p>Complex array parameter.</p>
",
- "examples": "<div class=\\"language-ts\\"><button title=\\"Copy Code\\" class=\\"copy\\"></button><span class=\\"lang\\">ts</span><pre v-pre class=\\"shiki material-palenight\\"><code><span class=\\"line\\"><span style=\\"color:#A6ACCD\\">faker</span><span style=\\"color:#89DDFF\\">.</span><span style=\\"color:#82AAFF\\">complexArrayParameter</span><span style=\\"color:#89DDFF\\">&lt;</span><span style=\\"color:#FFCB6B\\">T</span><span style=\\"color:#89DDFF\\">&gt;</span><span style=\\"color:#A6ACCD\\">(array: readonly Object[]): T</span></span>
+ "examples": "<div class=\\"language-ts\\"><button title=\\"Copy Code\\" class=\\"copy\\"></button><span class=\\"lang\\">ts</span><pre v-pre class=\\"shiki material-palenight\\"><code><span class=\\"line\\"><span style=\\"color:#A6ACCD\\">faker</span><span style=\\"color:#89DDFF\\">.</span><span style=\\"color:#82AAFF\\">complexArrayParameter</span><span style=\\"color:#89DDFF\\">&lt;</span><span style=\\"color:#FFCB6B\\">T</span><span style=\\"color:#89DDFF\\">&gt;</span><span style=\\"color:#A6ACCD\\">(array: readonly </span><span style=\\"color:#82AAFF\\">Array</span><span style=\\"color:#89DDFF\\">&lt;{</span></span>
+<span class=\\"line\\"><span style=\\"color:#A6ACCD\\"> </span><span style=\\"color:#F07178\\">value</span><span style=\\"color:#89DDFF\\">:</span><span style=\\"color:#A6ACCD\\"> </span><span style=\\"color:#FFCB6B\\">T</span><span style=\\"color:#89DDFF\\">,</span></span>
+<span class=\\"line\\"><span style=\\"color:#A6ACCD\\"> </span><span style=\\"color:#F07178\\">weight</span><span style=\\"color:#89DDFF\\">:</span><span style=\\"color:#A6ACCD\\"> </span><span style=\\"color:#FFCB6B\\">number</span></span>
+<span class=\\"line\\"><span style=\\"color:#89DDFF\\">}&gt;</span><span style=\\"color:#A6ACCD\\">): T</span></span>
<span class=\\"line\\"></span></code></pre>
</div>",
"name": "complexArrayParameter",
@@ -21,7 +24,7 @@ exports[`signature > analyzeSignature() > complexArrayParameter 1`] = `
"description": "<p>Array to pick the value from.</p>
",
"name": "array",
- "type": "readonly Object[]",
+ "type": "Array<{ ... }>",
},
{
"default": undefined,
@@ -123,7 +126,7 @@ exports[`signature > analyzeSignature() > literalUnionParamMethod 1`] = `
"deprecated": false,
"description": "<p>Test with LiteralUnion.</p>
",
- "examples": "<div class=\\"language-ts\\"><button title=\\"Copy Code\\" class=\\"copy\\"></button><span class=\\"lang\\">ts</span><pre v-pre class=\\"shiki material-palenight\\"><code><span class=\\"line\\"><span style=\\"color:#A6ACCD\\">faker</span><span style=\\"color:#89DDFF\\">.</span><span style=\\"color:#82AAFF\\">literalUnionParamMethod</span><span style=\\"color:#A6ACCD\\">(value: </span><span style=\\"color:#89DDFF\\">'</span><span style=\\"color:#C3E88D\\">a</span><span style=\\"color:#89DDFF\\">'</span><span style=\\"color:#A6ACCD\\"> </span><span style=\\"color:#89DDFF\\">|</span><span style=\\"color:#A6ACCD\\"> </span><span style=\\"color:#89DDFF\\">'</span><span style=\\"color:#C3E88D\\">b</span><span style=\\"color:#89DDFF\\">'</span><span style=\\"color:#A6ACCD\\"> </span><span style=\\"color:#89DDFF\\">|</span><span style=\\"color:#A6ACCD\\"> string): string</span></span>
+ "examples": "<div class=\\"language-ts\\"><button title=\\"Copy Code\\" class=\\"copy\\"></button><span class=\\"lang\\">ts</span><pre v-pre class=\\"shiki material-palenight\\"><code><span class=\\"line\\"><span style=\\"color:#A6ACCD\\">faker</span><span style=\\"color:#89DDFF\\">.</span><span style=\\"color:#82AAFF\\">literalUnionParamMethod</span><span style=\\"color:#A6ACCD\\">(value: </span><span style=\\"color:#89DDFF\\">'</span><span style=\\"color:#C3E88D\\">a</span><span style=\\"color:#89DDFF\\">'</span><span style=\\"color:#A6ACCD\\"> </span><span style=\\"color:#89DDFF\\">|</span><span style=\\"color:#A6ACCD\\"> </span><span style=\\"color:#89DDFF\\">'</span><span style=\\"color:#C3E88D\\">b</span><span style=\\"color:#89DDFF\\">'</span><span style=\\"color:#A6ACCD\\"> </span><span style=\\"color:#89DDFF\\">|</span><span style=\\"color:#A6ACCD\\"> string</span><span style=\\"color:#89DDFF\\">,</span><span style=\\"color:#A6ACCD\\"> namedValue: AB </span><span style=\\"color:#89DDFF\\">|</span><span style=\\"color:#A6ACCD\\"> string</span><span style=\\"color:#89DDFF\\">,</span><span style=\\"color:#A6ACCD\\"> array: readonly Array</span><span style=\\"color:#89DDFF\\">&lt;</span><span style=\\"color:#89DDFF\\">'</span><span style=\\"color:#C3E88D\\">a</span><span style=\\"color:#89DDFF\\">'</span><span style=\\"color:#A6ACCD\\"> </span><span style=\\"color:#89DDFF\\">|</span><span style=\\"color:#A6ACCD\\"> </span><span style=\\"color:#89DDFF\\">'</span><span style=\\"color:#C3E88D\\">b</span><span style=\\"color:#89DDFF\\">'</span><span style=\\"color:#A6ACCD\\"> </span><span style=\\"color:#89DDFF\\">|</span><span style=\\"color:#A6ACCD\\"> string</span><span style=\\"color:#89DDFF\\">&gt;,</span><span style=\\"color:#A6ACCD\\"> namedArray: readonly Array</span><span style=\\"color:#89DDFF\\">&lt;</span><span style=\\"color:#A6ACCD\\">AB </span><span style=\\"color:#89DDFF\\">|</span><span style=\\"color:#A6ACCD\\"> string</span><span style=\\"color:#89DDFF\\">&gt;,</span><span style=\\"color:#A6ACCD\\"> mixed: </span><span style=\\"color:#89DDFF\\">'</span><span style=\\"color:#C3E88D\\">a</span><span style=\\"color:#89DDFF\\">'</span><span style=\\"color:#A6ACCD\\"> </span><span style=\\"color:#89DDFF\\">|</span><span style=\\"color:#A6ACCD\\"> </span><span style=\\"color:#89DDFF\\">'</span><span style=\\"color:#C3E88D\\">b</span><span style=\\"color:#89DDFF\\">'</span><span style=\\"color:#A6ACCD\\"> </span><span style=\\"color:#89DDFF\\">|</span><span style=\\"color:#A6ACCD\\"> string </span><span style=\\"color:#89DDFF\\">|</span><span style=\\"color:#A6ACCD\\"> readonly Array</span><span style=\\"color:#89DDFF\\">&lt;</span><span style=\\"color:#89DDFF\\">'</span><span style=\\"color:#C3E88D\\">a</span><span style=\\"color:#89DDFF\\">'</span><span style=\\"color:#A6ACCD\\"> </span><span style=\\"color:#89DDFF\\">|</span><span style=\\"color:#A6ACCD\\"> </span><span style=\\"color:#89DDFF\\">'</span><span style=\\"color:#C3E88D\\">b</span><span style=\\"color:#89DDFF\\">'</span><span style=\\"color:#A6ACCD\\"> </span><span style=\\"color:#89DDFF\\">|</span><span style=\\"color:#A6ACCD\\"> string</span><span style=\\"color:#89DDFF\\">&gt;,</span><span style=\\"color:#A6ACCD\\"> namedMixed: AB </span><span style=\\"color:#89DDFF\\">|</span><span style=\\"color:#A6ACCD\\"> string </span><span style=\\"color:#89DDFF\\">|</span><span style=\\"color:#A6ACCD\\"> readonly Array</span><span style=\\"color:#89DDFF\\">&lt;</span><span style=\\"color:#A6ACCD\\">AB </span><span style=\\"color:#89DDFF\\">|</span><span style=\\"color:#A6ACCD\\"> string</span><span style=\\"color:#89DDFF\\">&gt;</span><span style=\\"color:#A6ACCD\\">): string</span></span>
<span class=\\"line\\"></span></code></pre>
</div>",
"name": "literalUnionParamMethod",
@@ -135,6 +138,41 @@ exports[`signature > analyzeSignature() > literalUnionParamMethod 1`] = `
"name": "value",
"type": "'a' | 'b' | string",
},
+ {
+ "default": undefined,
+ "description": "<p><code>'a'</code> or <code>'b'</code>.</p>
+",
+ "name": "namedValue",
+ "type": "AB | string",
+ },
+ {
+ "default": undefined,
+ "description": "<p>Array of <code>'a'</code> or <code>'b'</code>.</p>
+",
+ "name": "array",
+ "type": "Array<'a' | 'b' | string>",
+ },
+ {
+ "default": undefined,
+ "description": "<p>Array of <code>'a'</code> or <code>'b'</code>.</p>
+",
+ "name": "namedArray",
+ "type": "Array<AB | string>",
+ },
+ {
+ "default": undefined,
+ "description": "<p>Value <code>'a'</code> or <code>'b'</code> or an array thereof.</p>
+",
+ "name": "mixed",
+ "type": "'a' | 'b' | string | Array<'a' | 'b' | string>",
+ },
+ {
+ "default": undefined,
+ "description": "<p>Value <code>'a'</code> or <code>'b'</code> or an array thereof.</p>
+",
+ "name": "namedMixed",
+ "type": "AB | string | Array<AB | string>",
+ },
],
"returns": "string",
"seeAlsos": [],
diff --git a/test/scripts/apidoc/signature.example.ts b/test/scripts/apidoc/signature.example.ts
index 2c93b1af..e9925626 100644
--- a/test/scripts/apidoc/signature.example.ts
+++ b/test/scripts/apidoc/signature.example.ts
@@ -60,6 +60,11 @@ export interface ParameterOptionsInterfaceC {
value?: number;
}
+/**
+ * A or B.
+ */
+export type AB = 'a' | 'b';
+
export class SignatureTest {
/**
* Test with no parameters.
@@ -128,9 +133,28 @@ export class SignatureTest {
* Test with LiteralUnion.
*
* @param value `'a'` or `'b'`.
+ * @param namedValue `'a'` or `'b'`.
+ * @param array Array of `'a'` or `'b'`.
+ * @param namedArray Array of `'a'` or `'b'`.
+ * @param mixed Value `'a'` or `'b'` or an array thereof.
+ * @param namedMixed Value `'a'` or `'b'` or an array thereof.
*/
- literalUnionParamMethod(value: LiteralUnion<'a' | 'b'>): string {
- return value;
+ literalUnionParamMethod(
+ value: LiteralUnion<'a' | 'b'>,
+ namedValue: LiteralUnion<AB>,
+ array: readonly LiteralUnion<'a' | 'b'>[],
+ namedArray: readonly LiteralUnion<AB>[],
+ mixed: LiteralUnion<'a' | 'b'> | readonly LiteralUnion<'a' | 'b'>[],
+ namedMixed: readonly LiteralUnion<AB>[] | LiteralUnion<AB>
+ ): string {
+ return (
+ value +
+ namedValue +
+ array.join('') +
+ namedArray.join('') +
+ String(mixed) +
+ String(namedMixed)
+ );
}
/**