diff --git a/src/components/Fields/FieldDetails.tsx b/src/components/Fields/FieldDetails.tsx index 839595a3..980eff4f 100644 --- a/src/components/Fields/FieldDetails.tsx +++ b/src/components/Fields/FieldDetails.tsx @@ -46,7 +46,7 @@ export class FieldDetails extends React.PureComponent ({schema.title}) } {schema.nullable && {l('nullable')} } - {schema.pattern && ( + {schema.pattern && !hideSchemaPattern && ( <> {patternShown || schema.pattern.length < MAX_PATTERN_LENGTH diff --git a/src/services/RedocNormalizedOptions.ts b/src/services/RedocNormalizedOptions.ts index 126e313a..58d4b8b0 100644 --- a/src/services/RedocNormalizedOptions.ts +++ b/src/services/RedocNormalizedOptions.ts @@ -41,6 +41,7 @@ export interface RedocRawOptions { expandDefaultServerVariables?: boolean; maxDisplayedEnumValues?: number; ignoreNamedSchemas?: string[] | string; + hideSchemaPattern?: boolean; } function argValueToBoolean(val?: string | boolean, defaultValue?: boolean): boolean { @@ -194,6 +195,7 @@ export class RedocNormalizedOptions { maxDisplayedEnumValues?: number; ignoreNamedSchemas: Set; + hideSchemaPattern: boolean; constructor(raw: RedocRawOptions, defaults: RedocRawOptions = {}) { raw = { ...defaults, ...raw }; @@ -250,7 +252,10 @@ export class RedocNormalizedOptions { this.expandDefaultServerVariables = argValueToBoolean(raw.expandDefaultServerVariables); this.maxDisplayedEnumValues = argValueToNumber(raw.maxDisplayedEnumValues); - const ignoreNamedSchemas = Array.isArray(raw.ignoreNamedSchemas) ? raw.ignoreNamedSchemas : raw.ignoreNamedSchemas?.split(',').map(s => s.trim()); + const ignoreNamedSchemas = Array.isArray(raw.ignoreNamedSchemas) + ? raw.ignoreNamedSchemas + : raw.ignoreNamedSchemas?.split(',').map((s) => s.trim()); this.ignoreNamedSchemas = new Set(ignoreNamedSchemas); + this.hideSchemaPattern = argValueToBoolean(raw.hideSchemaPattern); } }