diff options
| author | renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> | 2022-06-29 09:11:42 +0200 |
|---|---|---|
| committer | GitHub <[email protected]> | 2022-06-29 09:11:42 +0200 |
| commit | 4aa4960832aefaa0358c238229af16232a03e431 (patch) | |
| tree | 1a073de3adef83705b59bbab5bbf50807b63ef69 /scripts/apidoc/parameterDefaults.ts | |
| parent | f35636001eb67df120f4c3c7746a015f1150c0d8 (diff) | |
| download | faker-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.ts | 45 |
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'); } |
