aboutsummaryrefslogtreecommitdiff
path: root/scripts/apidoc/parameterDefaults.ts
diff options
context:
space:
mode:
authorrenovate[bot] <29139614+renovate[bot]@users.noreply.github.com>2022-06-29 09:11:42 +0200
committerGitHub <[email protected]>2022-06-29 09:11:42 +0200
commit4aa4960832aefaa0358c238229af16232a03e431 (patch)
tree1a073de3adef83705b59bbab5bbf50807b63ef69 /scripts/apidoc/parameterDefaults.ts
parentf35636001eb67df120f4c3c7746a015f1150c0d8 (diff)
downloadfaker-4aa4960832aefaa0358c238229af16232a03e431.tar.xz
faker-4aa4960832aefaa0358c238229af16232a03e431.zip
chore(deps): update doc-dependencies (#1110)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: ST-DDT <[email protected]>
Diffstat (limited to 'scripts/apidoc/parameterDefaults.ts')
-rw-r--r--scripts/apidoc/parameterDefaults.ts45
1 files changed, 23 insertions, 22 deletions
diff --git a/scripts/apidoc/parameterDefaults.ts b/scripts/apidoc/parameterDefaults.ts
index 5e10202c..243d7e45 100644
--- a/scripts/apidoc/parameterDefaults.ts
+++ b/scripts/apidoc/parameterDefaults.ts
@@ -4,20 +4,16 @@ import type {
EventCallback,
JSONOutput,
ProjectReflection,
- SignatureReflection,
-} from 'typedoc';
-import {
- Reflection,
- ReflectionKind,
SerializerComponent,
- TypeScript,
+ SignatureReflection,
} from 'typedoc';
+import { Reflection, ReflectionKind, TypeScript } from 'typedoc';
const reflectionKindFunctionOrMethod =
ReflectionKind.Function | ReflectionKind.Method;
interface ParameterDefaultsAware extends Reflection {
- implementationDefaultParameters: string[];
+ implementationDefaultParameters: Array<string | undefined>;
}
/**
@@ -50,7 +46,9 @@ export const parameterDefaultReader: EventCallback = (
* @param value The default value to clean.
* @returns The cleaned default value.
*/
-function cleanParameterDefault(value?: string): string {
+function cleanParameterDefault(value: string): string;
+function cleanParameterDefault(value?: string): string | undefined;
+function cleanParameterDefault(value?: string): string | undefined {
if (value == null) {
return undefined;
}
@@ -61,19 +59,21 @@ function cleanParameterDefault(value?: string): string {
/**
* Serializer that adds the `implementationDefaultParameters` to the JSON output.
*/
-export class DefaultParameterAwareSerializer extends SerializerComponent<Reflection> {
- serializeGroup(instance: unknown): boolean {
- return instance instanceof Reflection;
- }
+export class DefaultParameterAwareSerializer
+ implements SerializerComponent<Reflection>
+{
+ readonly priority = 0;
- supports(): boolean {
- return true;
+ supports(item: unknown): item is Reflection {
+ return item instanceof Reflection;
}
- toObject(item: Reflection, obj?: object): Partial<JSONOutput.Reflection> {
- (obj as ParameterDefaultsAware).implementationDefaultParameters = (
- item as ParameterDefaultsAware
- ).implementationDefaultParameters;
+ toObject(
+ item: Reflection,
+ obj: Partial<JSONOutput.Reflection>
+ ): Partial<JSONOutput.Reflection> {
+ (obj as unknown as ParameterDefaultsAware).implementationDefaultParameters =
+ (item as ParameterDefaultsAware).implementationDefaultParameters;
return obj;
}
}
@@ -101,10 +101,10 @@ export function patchProjectParameterDefaults(
*/
function patchMethodParameterDefaults(method: DeclarationReflection): void {
const signatures = method.signatures;
- const signature = signatures[signatures.length - 1];
+ const signature = signatures?.[signatures.length - 1];
const parameterDefaults = (method as unknown as ParameterDefaultsAware)
.implementationDefaultParameters;
- if (parameterDefaults) {
+ if (signature && parameterDefaults) {
patchSignatureParameterDefaults(signature, parameterDefaults);
}
}
@@ -117,9 +117,10 @@ function patchMethodParameterDefaults(method: DeclarationReflection): void {
*/
function patchSignatureParameterDefaults(
signature: SignatureReflection,
- parameterDefaults: string[]
+ parameterDefaults: Array<string | undefined>
): void {
- const signatureParameters = signature.parameters;
+ const signatureParameters =
+ signature.parameters ?? Array.from({ length: parameterDefaults.length });
if (signatureParameters.length !== parameterDefaults.length) {
throw new Error('Unexpected parameter length mismatch');
}