@asyncapi/react-component 2.5.0 → 2.6.0

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.
Files changed (52) hide show
  1. package/browser/index.js +1 -1
  2. package/browser/standalone/index.js +1 -1
  3. package/browser/standalone/without-parser.js +1 -1
  4. package/browser/without-parser.js +1 -1
  5. package/lib/cjs/components/Extensions.js +55 -6
  6. package/lib/cjs/components/Extensions.js.map +1 -1
  7. package/lib/cjs/components/supportedExtensions/XExtension.js +14 -0
  8. package/lib/cjs/components/supportedExtensions/XExtension.js.map +1 -0
  9. package/lib/cjs/config/config.js.map +1 -1
  10. package/lib/cjs/config/default.js +7 -0
  11. package/lib/cjs/config/default.js.map +1 -1
  12. package/lib/cjs/containers/AsyncApi/Standalone.js +1 -1
  13. package/lib/cjs/containers/AsyncApi/Standalone.js.map +1 -1
  14. package/lib/cjs/containers/Info/Info.js +4 -1
  15. package/lib/cjs/containers/Info/Info.js.map +1 -1
  16. package/lib/cjs/containers/Sidebar/Sidebar.js +2 -2
  17. package/lib/cjs/containers/Sidebar/Sidebar.js.map +1 -1
  18. package/lib/cjs/helpers/schema.js +8 -3
  19. package/lib/cjs/helpers/schema.js.map +1 -1
  20. package/lib/cjs/index.js.map +1 -1
  21. package/lib/cjs/types.js.map +1 -1
  22. package/lib/esm/components/Extensions.js +33 -4
  23. package/lib/esm/components/Extensions.js.map +1 -1
  24. package/lib/esm/components/supportedExtensions/XExtension.js +8 -0
  25. package/lib/esm/components/supportedExtensions/XExtension.js.map +1 -0
  26. package/lib/esm/config/config.js.map +1 -1
  27. package/lib/esm/config/default.js +4 -0
  28. package/lib/esm/config/default.js.map +1 -1
  29. package/lib/esm/containers/AsyncApi/Standalone.js +1 -1
  30. package/lib/esm/containers/AsyncApi/Standalone.js.map +1 -1
  31. package/lib/esm/containers/Info/Info.js +5 -2
  32. package/lib/esm/containers/Info/Info.js.map +1 -1
  33. package/lib/esm/containers/Sidebar/Sidebar.js +2 -2
  34. package/lib/esm/containers/Sidebar/Sidebar.js.map +1 -1
  35. package/lib/esm/helpers/schema.js +8 -3
  36. package/lib/esm/helpers/schema.js.map +1 -1
  37. package/lib/esm/index.js.map +1 -1
  38. package/lib/esm/types.js.map +1 -1
  39. package/lib/types/components/Extensions.d.ts.map +1 -1
  40. package/lib/types/components/supportedExtensions/XExtension.d.ts +4 -0
  41. package/lib/types/components/supportedExtensions/XExtension.d.ts.map +1 -0
  42. package/lib/types/config/config.d.ts +3 -0
  43. package/lib/types/config/config.d.ts.map +1 -1
  44. package/lib/types/config/default.d.ts.map +1 -1
  45. package/lib/types/containers/AsyncApi/Standalone.d.ts.map +1 -1
  46. package/lib/types/containers/Info/Info.d.ts.map +1 -1
  47. package/lib/types/helpers/schema.d.ts.map +1 -1
  48. package/lib/types/index.d.ts +1 -1
  49. package/lib/types/index.d.ts.map +1 -1
  50. package/lib/types/types.d.ts +7 -1
  51. package/lib/types/types.d.ts.map +1 -1
  52. package/package.json +2 -2
@@ -392,9 +392,10 @@ var SchemaHelpers = (function () {
392
392
  }
393
393
  return stringRange;
394
394
  };
395
- SchemaHelpers.jsonFieldToSchema = function (value) {
395
+ SchemaHelpers.jsonFieldToSchema = function (value, visited) {
396
396
  var _a, _b, _c, _d;
397
397
  var _this = this;
398
+ if (visited === void 0) { visited = new WeakSet(); }
398
399
  if (value === undefined || value === null) {
399
400
  return _a = {
400
401
  type: 'string',
@@ -412,13 +413,17 @@ var SchemaHelpers = (function () {
412
413
  _b[this.extRawValue] = true,
413
414
  _b;
414
415
  }
416
+ if (visited.has(value)) {
417
+ throw new Error('too much recursion. Please check document for recursion.');
418
+ }
419
+ visited.add(value);
415
420
  if (this.isJSONSchema(value)) {
416
421
  return value;
417
422
  }
418
423
  if (Array.isArray(value)) {
419
424
  return _c = {
420
425
  type: 'array',
421
- items: value.map(function (v) { return _this.jsonFieldToSchema(v); })
426
+ items: value.map(function (v) { return _this.jsonFieldToSchema(v, visited); })
422
427
  },
423
428
  _c[this.extRenderAdditionalInfo] = false,
424
429
  _c;
@@ -427,7 +432,7 @@ var SchemaHelpers = (function () {
427
432
  type: 'object',
428
433
  properties: Object.entries(value).reduce(function (obj, _a) {
429
434
  var k = _a[0], v = _a[1];
430
- obj[k] = _this.jsonFieldToSchema(v);
435
+ obj[k] = _this.jsonFieldToSchema(v, visited);
431
436
  return obj;
432
437
  }, {})
433
438
  },
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/helpers/schema.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n SchemaInterface,\n ChannelParametersInterface,\n ServerVariablesInterface,\n SchemaV2 as SchemaClass,\n ExtensionInterface,\n ExtensionsInterface,\n} from '@asyncapi/parser';\n\nexport enum SchemaCustomTypes {\n // for `true` and `{}` schemas\n ANY = 'any',\n // for schemas without `type` keyword\n RESTRICTED_ANY = 'restricted any',\n // for `false` and `{ not: {}, ... }` schemas\n NEVER = 'never',\n // for types that we cannot infer\n UNKNOWN = 'unknown',\n}\n\nconst jsonSchemaTypes = [\n 'string',\n 'number',\n 'integer',\n 'boolean',\n 'array',\n 'object',\n 'null',\n];\nconst jsonSchemaKeywordTypes: Record<string, string> = {\n // string\n maxLength: 'string',\n minLength: 'string',\n pattern: 'string',\n contentMediaType: 'string',\n contentEncoding: 'string',\n // number\n multipleOf: 'number',\n maximum: 'number',\n exclusiveMaximum: 'number',\n minimum: 'number',\n exclusiveMinimum: 'number',\n // array\n items: 'array',\n maxItems: 'array',\n minItems: 'array',\n uniqueItems: 'array',\n contains: 'array',\n additionalItems: 'array',\n // object\n maxProperties: 'object',\n minProperties: 'object',\n required: 'object',\n properties: 'object',\n patternProperties: 'object',\n propertyNames: 'object',\n dependencies: 'object',\n additionalProperties: 'object',\n};\nconst jsonSchemaKeywords = Object.keys(jsonSchemaKeywordTypes);\n\n// eslint-disable-next-line @typescript-eslint/no-extraneous-class\nexport class SchemaHelpers {\n static extRenderAdditionalInfo = 'x-schema-private-render-additional-info';\n static extRawValue = 'x-schema-private-raw-value';\n static extParameterLocation = 'x-schema-private-parameter-location';\n\n static toSchemaType(schema: SchemaInterface): string {\n if (!schema || typeof schema.json !== 'function') {\n return SchemaCustomTypes.UNKNOWN;\n }\n if (schema.isBooleanSchema()) {\n if (schema.json() === true) {\n return SchemaCustomTypes.ANY;\n } else {\n return SchemaCustomTypes.NEVER;\n }\n }\n // handle case with `{}` schemas\n if (Object.keys(schema.json()).length === 0) {\n return SchemaCustomTypes.ANY;\n }\n // handle case with `{ not: {}, ... }` schemas\n const not = schema.not();\n if (not && this.inferType(not) === SchemaCustomTypes.ANY) {\n return SchemaCustomTypes.NEVER;\n }\n\n let type = this.inferType(schema);\n if (Array.isArray(type)) {\n return type.map((t) => this.toType(t, schema)).join(' | ');\n }\n type = this.toType(type, schema);\n const combinedType = this.toCombinedType(schema);\n\n if (type && combinedType) {\n return `${type} ${combinedType}`;\n }\n if (combinedType) {\n return combinedType;\n }\n\n if (type === 'object' && schema.title()) {\n type += ' [' + schema.title() + ']';\n }\n return type;\n }\n\n static applicatorSchemaName(\n idx: number,\n firstCase: string,\n otherCases: string,\n title?: string,\n ) {\n const suffix = title ? ` ${title}:` : ':';\n if (idx === 0) {\n return `${firstCase}${suffix}`;\n } else {\n return `${otherCases}${suffix}`;\n }\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n static prettifyValue(value: any, strict = true): string {\n const typeOf = typeof value;\n if (typeOf === 'string') {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return strict ? `\"${value}\"` : value;\n }\n if (typeOf === 'number' || typeOf === 'bigint' || typeOf === 'boolean') {\n return `${value}`;\n }\n if (Array.isArray(value)) {\n return `[${value.toString()}]`;\n }\n return JSON.stringify(value);\n }\n\n static humanizeConstraints(schema: SchemaInterface): string[] {\n const constraints: string[] = [];\n\n // related to number/integer\n const numberRange = this.humanizeNumberRangeConstraint(\n schema.minimum(),\n schema.exclusiveMinimum(),\n schema.maximum(),\n schema.exclusiveMaximum(),\n );\n if (numberRange !== undefined) {\n constraints.push(numberRange);\n }\n const multipleOfConstraint = this.humanizeMultipleOfConstraint(\n schema.multipleOf(),\n );\n if (multipleOfConstraint !== undefined) {\n constraints.push(multipleOfConstraint);\n }\n\n // related to string\n const stringRange = this.humanizeRangeConstraint(\n 'characters',\n schema.minLength(),\n schema.maxLength(),\n );\n if (stringRange !== undefined) {\n constraints.push(stringRange);\n }\n\n // related to array\n const hasUniqueItems = schema.uniqueItems();\n const arrayRange = this.humanizeRangeConstraint(\n hasUniqueItems ? 'unique items' : 'items',\n schema.minItems(),\n schema.maxItems(),\n );\n if (arrayRange !== undefined) {\n constraints.push(arrayRange);\n }\n\n // related to object\n const objectRange = this.humanizeRangeConstraint(\n 'properties',\n schema.minProperties(),\n schema.maxProperties(),\n );\n if (objectRange !== undefined) {\n constraints.push(objectRange);\n }\n\n return constraints;\n }\n\n static isExpandable(schema: SchemaInterface): boolean {\n let type = this.inferType(schema);\n type = Array.isArray(type) ? type : [type];\n if (type.includes('object') || type.includes('array')) {\n return true;\n }\n\n if (\n ((schema.oneOf() ??\n schema.anyOf() ??\n schema.allOf() ??\n Object.keys(schema.properties() ?? {}).length > 0) ||\n (schema.items() ?? schema.not() ?? schema.if() ?? schema.then())) ??\n schema.else()\n ) {\n return true;\n }\n\n const customExtensions = this.getCustomExtensions(schema);\n\n return !!(customExtensions && Object.keys(customExtensions).length);\n }\n\n static serverVariablesToSchema(\n urlVariables?: ServerVariablesInterface,\n ): SchemaInterface | undefined {\n if (!urlVariables || urlVariables.length === 0) {\n return undefined;\n }\n const obj: Record<string, Record<string, unknown>> = {};\n urlVariables.all().forEach((variable) => {\n obj[variable.id()] = { ...(variable.json() || {}) };\n obj[variable.id()].type = 'string';\n });\n\n const json = {\n type: 'object',\n properties: obj,\n required: Object.keys(obj),\n [this.extRenderAdditionalInfo]: false,\n };\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument, @typescript-eslint/no-explicit-any\n return new SchemaClass(json as any);\n }\n\n static parametersToSchema(\n parameters?: ChannelParametersInterface,\n ): SchemaInterface | undefined {\n if (!parameters || parameters.isEmpty()) {\n return undefined;\n }\n const obj: Record<string, Record<string, unknown>> = {};\n parameters.all().forEach((parameter) => {\n const parameterSchema = parameter.schema();\n obj[parameter.id()] = { ...(parameterSchema?.json() ?? {}) };\n obj[parameter.id()].description = parameter.hasDescription()\n ? parameter.description()\n : undefined;\n obj[parameter.id()][this.extParameterLocation] = parameter.hasLocation()\n ? parameter.location()\n : undefined;\n });\n\n const json = {\n type: 'object',\n properties: obj,\n required: Object.keys(obj),\n [this.extRenderAdditionalInfo]: false,\n };\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument, @typescript-eslint/no-explicit-any\n return new SchemaClass(json as any);\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n static jsonToSchema(value: any): any {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n const json = this.jsonFieldToSchema(value);\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument\n return new SchemaClass(json);\n }\n\n /**\n * Retrieves from given value all custom extensions (value with key started by `x-`).\n * However, it skips those private extensions that begin with `x-parser-` and `x-schema-private-`.\n *\n * @param value\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n static getCustomExtensions(value: any) {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n if (!value || typeof value.extensions !== 'function') {\n return;\n }\n // eslint-disable-next-line @typescript-eslint/no-unsafe-call, @typescript-eslint/no-unsafe-member-access\n const extensions = value.extensions() as ExtensionsInterface;\n const filteredExtensions: Record<string, unknown> = {};\n for (const ext of extensions.all()) {\n const extType = ext as ExtensionInterface;\n if (\n !extType.id().startsWith('x-parser-') &&\n !extType.id().startsWith('x-schema-private-')\n ) {\n filteredExtensions[extType.id()] = extType.value();\n }\n }\n return filteredExtensions;\n }\n\n /**\n * Retrieves from given schema all dependent required requires by given propertyName from `dependencies` object.\n *\n * @param propertyName\n * @param schema\n */\n static getDependentRequired(\n propertyName: string,\n schema: SchemaInterface,\n ): string[] | undefined {\n const dependentRequired: string[] = [];\n const dependencies = schema.dependencies();\n if (!dependencies) {\n return;\n }\n\n for (const [prop, array] of Object.entries(dependencies)) {\n if (Array.isArray(array) && array.includes(propertyName)) {\n dependentRequired.push(prop);\n }\n }\n return dependentRequired.length ? dependentRequired : undefined;\n }\n\n /**\n * Retrieves from given schema all dependent schemas from `dependencies` object.\n *\n * @param schema\n */\n static getDependentSchemas(\n schema: SchemaInterface,\n ): SchemaInterface | undefined {\n const dependencies = schema.dependencies();\n if (!dependencies) {\n return;\n }\n\n const records: Record<string, SchemaInterface> = {};\n for (const [prop, propSchema] of Object.entries(dependencies)) {\n if (typeof propSchema === 'object' && !Array.isArray(propSchema)) {\n records[prop] = propSchema;\n }\n }\n if (!Object.keys(records).length) {\n return undefined;\n }\n\n const json = {\n type: 'object',\n properties: Object.entries(records).reduce(\n (obj, [propertyName, propertySchema]) => {\n obj[propertyName] = {\n // @ts-expect-error add proper check\n ...propertySchema.json(),\n };\n return obj;\n },\n {} as Record<string, unknown>,\n ),\n [this.extRenderAdditionalInfo]: false,\n };\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument, @typescript-eslint/no-explicit-any\n return new SchemaClass(json as any);\n }\n\n private static toType(type: string, schema: SchemaInterface): string {\n if (schema.isCircular()) {\n return type;\n }\n if (type === 'array') {\n const items = schema.items();\n if (Array.isArray(items)) {\n return this.toItemsType(items, schema);\n }\n if (!items) {\n return `array<${SchemaCustomTypes.ANY}>`;\n }\n return `array<${this.toSchemaType(items) || SchemaCustomTypes.UNKNOWN}>`;\n }\n return type;\n }\n\n private static toItemsType(\n items: SchemaInterface[],\n schema: SchemaInterface,\n ): string {\n const types = items.map((item) => this.toSchemaType(item)).join(', ');\n const additionalItems = schema.additionalItems();\n if (additionalItems !== undefined && additionalItems !== false) {\n const additionalType =\n additionalItems === true\n ? SchemaCustomTypes.ANY\n : this.toSchemaType(additionalItems);\n return `tuple<${\n types || SchemaCustomTypes.UNKNOWN\n }, ...optional<${additionalType}>>`;\n }\n return `tuple<${types || SchemaCustomTypes.UNKNOWN}>`;\n }\n\n private static toCombinedType(schema: SchemaInterface): string | undefined {\n const oneOf = schema.oneOf();\n if (oneOf) {\n return 'oneOf';\n }\n if (schema.anyOf()) {\n return 'anyOf';\n }\n if (schema.allOf()) {\n return 'allOf';\n }\n return undefined;\n }\n\n // eslint-disable-next-line sonarjs/cognitive-complexity\n private static inferType(schema: SchemaInterface): string[] | string {\n let types = schema.type();\n\n if (types !== undefined) {\n if (Array.isArray(types)) {\n // if types have `integer` and `number` types, `integer` is unnecessary\n if (types.includes('integer') && types.includes('number')) {\n types = types.filter((t) => t !== 'integer');\n }\n return types.length === 1 ? types[0] : types;\n }\n return types;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n const constValue = schema.const();\n if (constValue !== undefined) {\n return typeof constValue;\n }\n const enumValue = schema.enum();\n if (Array.isArray(enumValue) && enumValue.length) {\n const inferredType = Array.from(new Set(enumValue.map((e) => typeof e)));\n return inferredType.length === 1 ? inferredType[0] : inferredType;\n }\n\n const schemaKeys = Object.keys(schema.json() || {}) || [];\n const hasInferredTypes = jsonSchemaKeywords.some((key) =>\n schemaKeys.includes(key),\n );\n if (hasInferredTypes === true) {\n return SchemaCustomTypes.RESTRICTED_ANY;\n }\n if (this.toCombinedType(schema)) {\n return '';\n }\n return SchemaCustomTypes.ANY;\n }\n\n // eslint-disable-next-line sonarjs/cognitive-complexity\n private static humanizeNumberRangeConstraint(\n min: number | undefined,\n exclusiveMin: number | undefined,\n max: number | undefined,\n exclusiveMax: number | undefined,\n ): string | undefined {\n const hasExclusiveMin = exclusiveMin !== undefined;\n const hasMin = min !== undefined || hasExclusiveMin;\n const hasExclusiveMax = exclusiveMax !== undefined;\n const hasMax = max !== undefined || hasExclusiveMax;\n\n let numberRange;\n if (hasMin && hasMax) {\n numberRange = hasExclusiveMin ? '( ' : '[ ';\n numberRange += hasExclusiveMin ? exclusiveMin : min;\n numberRange += ' .. ';\n numberRange += hasExclusiveMax ? exclusiveMax : max;\n numberRange += hasExclusiveMax ? ' )' : ' ]';\n } else if (hasMin) {\n numberRange = hasExclusiveMin ? '> ' : '>= ';\n numberRange += hasExclusiveMin ? exclusiveMin : min;\n } else if (hasMax) {\n numberRange = hasExclusiveMax ? '< ' : '<= ';\n numberRange += hasExclusiveMax ? exclusiveMax : max;\n }\n return numberRange;\n }\n\n private static humanizeMultipleOfConstraint(\n multipleOf: number | undefined,\n ): string | undefined {\n if (multipleOf === undefined) {\n return;\n }\n const strigifiedMultipleOf = multipleOf.toString(10);\n if (!/^0\\.0*1$/.test(strigifiedMultipleOf)) {\n return `multiple of ${strigifiedMultipleOf}`;\n }\n return `decimal places <= ${strigifiedMultipleOf.split('.')[1].length}`;\n }\n\n private static humanizeRangeConstraint(\n description: string,\n min: number | undefined,\n max: number | undefined,\n ): string | undefined {\n let stringRange;\n if (min !== undefined && max !== undefined) {\n if (min === max) {\n stringRange = `${min} ${description}`;\n } else {\n stringRange = `[ ${min} .. ${max} ] ${description}`;\n }\n } else if (max !== undefined) {\n stringRange = `<= ${max} ${description}`;\n } else if (min !== undefined) {\n if (min === 1) {\n stringRange = 'non-empty';\n } else {\n stringRange = `>= ${min} ${description}`;\n }\n }\n return stringRange;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private static jsonFieldToSchema(value: any): any {\n if (value === undefined || value === null) {\n return {\n type: 'string',\n const: '',\n [this.extRawValue]: true,\n };\n }\n if (typeof value !== 'object') {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n const str =\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-call\n typeof value.toString === 'function' ? value.toString() : value;\n return {\n type: 'string',\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n const: str,\n [this.extRawValue]: true,\n };\n }\n if (this.isJSONSchema(value)) {\n return value;\n }\n if (Array.isArray(value)) {\n return {\n type: 'array',\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n items: value.map((v) => this.jsonFieldToSchema(v)),\n [this.extRenderAdditionalInfo]: false,\n };\n }\n return {\n type: 'object',\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument\n properties: Object.entries(value).reduce(\n (obj, [k, v]) => {\n obj[k] = this.jsonFieldToSchema(v);\n return obj;\n },\n {} as Record<string, unknown>,\n ),\n [this.extRenderAdditionalInfo]: false,\n };\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private static isJSONSchema(value: any): boolean {\n // eslint-disable-next-line sonarjs/prefer-single-boolean-return\n if (\n value &&\n typeof value === 'object' &&\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument, @typescript-eslint/no-unsafe-member-access\n (jsonSchemaTypes.includes(value.type) ||\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n (Array.isArray(value.type) &&\n // eslint-disable-next-line @typescript-eslint/no-unsafe-call, @typescript-eslint/no-unsafe-member-access\n value.type.some((t: string) => !jsonSchemaTypes.includes(t))))\n ) {\n return true;\n }\n return false;\n }\n}\n"]}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/helpers/schema.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n SchemaInterface,\n ChannelParametersInterface,\n ServerVariablesInterface,\n SchemaV2 as SchemaClass,\n ExtensionInterface,\n ExtensionsInterface,\n} from '@asyncapi/parser';\n\nexport enum SchemaCustomTypes {\n // for `true` and `{}` schemas\n ANY = 'any',\n // for schemas without `type` keyword\n RESTRICTED_ANY = 'restricted any',\n // for `false` and `{ not: {}, ... }` schemas\n NEVER = 'never',\n // for types that we cannot infer\n UNKNOWN = 'unknown',\n}\n\nconst jsonSchemaTypes = [\n 'string',\n 'number',\n 'integer',\n 'boolean',\n 'array',\n 'object',\n 'null',\n];\nconst jsonSchemaKeywordTypes: Record<string, string> = {\n // string\n maxLength: 'string',\n minLength: 'string',\n pattern: 'string',\n contentMediaType: 'string',\n contentEncoding: 'string',\n // number\n multipleOf: 'number',\n maximum: 'number',\n exclusiveMaximum: 'number',\n minimum: 'number',\n exclusiveMinimum: 'number',\n // array\n items: 'array',\n maxItems: 'array',\n minItems: 'array',\n uniqueItems: 'array',\n contains: 'array',\n additionalItems: 'array',\n // object\n maxProperties: 'object',\n minProperties: 'object',\n required: 'object',\n properties: 'object',\n patternProperties: 'object',\n propertyNames: 'object',\n dependencies: 'object',\n additionalProperties: 'object',\n};\nconst jsonSchemaKeywords = Object.keys(jsonSchemaKeywordTypes);\n\n// eslint-disable-next-line @typescript-eslint/no-extraneous-class\nexport class SchemaHelpers {\n static extRenderAdditionalInfo = 'x-schema-private-render-additional-info';\n static extRawValue = 'x-schema-private-raw-value';\n static extParameterLocation = 'x-schema-private-parameter-location';\n\n static toSchemaType(schema: SchemaInterface): string {\n if (!schema || typeof schema.json !== 'function') {\n return SchemaCustomTypes.UNKNOWN;\n }\n if (schema.isBooleanSchema()) {\n if (schema.json() === true) {\n return SchemaCustomTypes.ANY;\n } else {\n return SchemaCustomTypes.NEVER;\n }\n }\n // handle case with `{}` schemas\n if (Object.keys(schema.json()).length === 0) {\n return SchemaCustomTypes.ANY;\n }\n // handle case with `{ not: {}, ... }` schemas\n const not = schema.not();\n if (not && this.inferType(not) === SchemaCustomTypes.ANY) {\n return SchemaCustomTypes.NEVER;\n }\n\n let type = this.inferType(schema);\n if (Array.isArray(type)) {\n return type.map((t) => this.toType(t, schema)).join(' | ');\n }\n type = this.toType(type, schema);\n const combinedType = this.toCombinedType(schema);\n\n if (type && combinedType) {\n return `${type} ${combinedType}`;\n }\n if (combinedType) {\n return combinedType;\n }\n\n if (type === 'object' && schema.title()) {\n type += ' [' + schema.title() + ']';\n }\n return type;\n }\n\n static applicatorSchemaName(\n idx: number,\n firstCase: string,\n otherCases: string,\n title?: string,\n ) {\n const suffix = title ? ` ${title}:` : ':';\n if (idx === 0) {\n return `${firstCase}${suffix}`;\n } else {\n return `${otherCases}${suffix}`;\n }\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n static prettifyValue(value: any, strict = true): string {\n const typeOf = typeof value;\n if (typeOf === 'string') {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return strict ? `\"${value}\"` : value;\n }\n if (typeOf === 'number' || typeOf === 'bigint' || typeOf === 'boolean') {\n return `${value}`;\n }\n if (Array.isArray(value)) {\n return `[${value.toString()}]`;\n }\n return JSON.stringify(value);\n }\n\n static humanizeConstraints(schema: SchemaInterface): string[] {\n const constraints: string[] = [];\n\n // related to number/integer\n const numberRange = this.humanizeNumberRangeConstraint(\n schema.minimum(),\n schema.exclusiveMinimum(),\n schema.maximum(),\n schema.exclusiveMaximum(),\n );\n if (numberRange !== undefined) {\n constraints.push(numberRange);\n }\n const multipleOfConstraint = this.humanizeMultipleOfConstraint(\n schema.multipleOf(),\n );\n if (multipleOfConstraint !== undefined) {\n constraints.push(multipleOfConstraint);\n }\n\n // related to string\n const stringRange = this.humanizeRangeConstraint(\n 'characters',\n schema.minLength(),\n schema.maxLength(),\n );\n if (stringRange !== undefined) {\n constraints.push(stringRange);\n }\n\n // related to array\n const hasUniqueItems = schema.uniqueItems();\n const arrayRange = this.humanizeRangeConstraint(\n hasUniqueItems ? 'unique items' : 'items',\n schema.minItems(),\n schema.maxItems(),\n );\n if (arrayRange !== undefined) {\n constraints.push(arrayRange);\n }\n\n // related to object\n const objectRange = this.humanizeRangeConstraint(\n 'properties',\n schema.minProperties(),\n schema.maxProperties(),\n );\n if (objectRange !== undefined) {\n constraints.push(objectRange);\n }\n\n return constraints;\n }\n\n static isExpandable(schema: SchemaInterface): boolean {\n let type = this.inferType(schema);\n type = Array.isArray(type) ? type : [type];\n if (type.includes('object') || type.includes('array')) {\n return true;\n }\n\n if (\n ((schema.oneOf() ??\n schema.anyOf() ??\n schema.allOf() ??\n Object.keys(schema.properties() ?? {}).length > 0) ||\n (schema.items() ?? schema.not() ?? schema.if() ?? schema.then())) ??\n schema.else()\n ) {\n return true;\n }\n\n const customExtensions = this.getCustomExtensions(schema);\n\n return !!(customExtensions && Object.keys(customExtensions).length);\n }\n\n static serverVariablesToSchema(\n urlVariables?: ServerVariablesInterface,\n ): SchemaInterface | undefined {\n if (!urlVariables || urlVariables.length === 0) {\n return undefined;\n }\n const obj: Record<string, Record<string, unknown>> = {};\n urlVariables.all().forEach((variable) => {\n obj[variable.id()] = { ...(variable.json() || {}) };\n obj[variable.id()].type = 'string';\n });\n\n const json = {\n type: 'object',\n properties: obj,\n required: Object.keys(obj),\n [this.extRenderAdditionalInfo]: false,\n };\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument, @typescript-eslint/no-explicit-any\n return new SchemaClass(json as any);\n }\n\n static parametersToSchema(\n parameters?: ChannelParametersInterface,\n ): SchemaInterface | undefined {\n if (!parameters || parameters.isEmpty()) {\n return undefined;\n }\n const obj: Record<string, Record<string, unknown>> = {};\n parameters.all().forEach((parameter) => {\n const parameterSchema = parameter.schema();\n obj[parameter.id()] = { ...(parameterSchema?.json() ?? {}) };\n obj[parameter.id()].description = parameter.hasDescription()\n ? parameter.description()\n : undefined;\n obj[parameter.id()][this.extParameterLocation] = parameter.hasLocation()\n ? parameter.location()\n : undefined;\n });\n\n const json = {\n type: 'object',\n properties: obj,\n required: Object.keys(obj),\n [this.extRenderAdditionalInfo]: false,\n };\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument, @typescript-eslint/no-explicit-any\n return new SchemaClass(json as any);\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n static jsonToSchema(value: any): any {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n const json = this.jsonFieldToSchema(value);\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument\n return new SchemaClass(json);\n }\n\n /**\n * Retrieves from given value all custom extensions (value with key started by `x-`).\n * However, it skips those private extensions that begin with `x-parser-` and `x-schema-private-`.\n *\n * @param value\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n static getCustomExtensions(value: any) {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n if (!value || typeof value.extensions !== 'function') {\n return;\n }\n // eslint-disable-next-line @typescript-eslint/no-unsafe-call, @typescript-eslint/no-unsafe-member-access\n const extensions = value.extensions() as ExtensionsInterface;\n const filteredExtensions: Record<string, unknown> = {};\n for (const ext of extensions.all()) {\n const extType = ext as ExtensionInterface;\n if (\n !extType.id().startsWith('x-parser-') &&\n !extType.id().startsWith('x-schema-private-')\n ) {\n filteredExtensions[extType.id()] = extType.value();\n }\n }\n return filteredExtensions;\n }\n\n /**\n * Retrieves from given schema all dependent required requires by given propertyName from `dependencies` object.\n *\n * @param propertyName\n * @param schema\n */\n static getDependentRequired(\n propertyName: string,\n schema: SchemaInterface,\n ): string[] | undefined {\n const dependentRequired: string[] = [];\n const dependencies = schema.dependencies();\n if (!dependencies) {\n return;\n }\n\n for (const [prop, array] of Object.entries(dependencies)) {\n if (Array.isArray(array) && array.includes(propertyName)) {\n dependentRequired.push(prop);\n }\n }\n return dependentRequired.length ? dependentRequired : undefined;\n }\n\n /**\n * Retrieves from given schema all dependent schemas from `dependencies` object.\n *\n * @param schema\n */\n static getDependentSchemas(\n schema: SchemaInterface,\n ): SchemaInterface | undefined {\n const dependencies = schema.dependencies();\n if (!dependencies) {\n return;\n }\n\n const records: Record<string, SchemaInterface> = {};\n for (const [prop, propSchema] of Object.entries(dependencies)) {\n if (typeof propSchema === 'object' && !Array.isArray(propSchema)) {\n records[prop] = propSchema;\n }\n }\n if (!Object.keys(records).length) {\n return undefined;\n }\n\n const json = {\n type: 'object',\n properties: Object.entries(records).reduce(\n (obj, [propertyName, propertySchema]) => {\n obj[propertyName] = {\n // @ts-expect-error add proper check\n ...propertySchema.json(),\n };\n return obj;\n },\n {} as Record<string, unknown>,\n ),\n [this.extRenderAdditionalInfo]: false,\n };\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument, @typescript-eslint/no-explicit-any\n return new SchemaClass(json as any);\n }\n\n private static toType(type: string, schema: SchemaInterface): string {\n if (schema.isCircular()) {\n return type;\n }\n if (type === 'array') {\n const items = schema.items();\n if (Array.isArray(items)) {\n return this.toItemsType(items, schema);\n }\n if (!items) {\n return `array<${SchemaCustomTypes.ANY}>`;\n }\n return `array<${this.toSchemaType(items) || SchemaCustomTypes.UNKNOWN}>`;\n }\n return type;\n }\n\n private static toItemsType(\n items: SchemaInterface[],\n schema: SchemaInterface,\n ): string {\n const types = items.map((item) => this.toSchemaType(item)).join(', ');\n const additionalItems = schema.additionalItems();\n if (additionalItems !== undefined && additionalItems !== false) {\n const additionalType =\n additionalItems === true\n ? SchemaCustomTypes.ANY\n : this.toSchemaType(additionalItems);\n return `tuple<${\n types || SchemaCustomTypes.UNKNOWN\n }, ...optional<${additionalType}>>`;\n }\n return `tuple<${types || SchemaCustomTypes.UNKNOWN}>`;\n }\n\n private static toCombinedType(schema: SchemaInterface): string | undefined {\n const oneOf = schema.oneOf();\n if (oneOf) {\n return 'oneOf';\n }\n if (schema.anyOf()) {\n return 'anyOf';\n }\n if (schema.allOf()) {\n return 'allOf';\n }\n return undefined;\n }\n\n // eslint-disable-next-line sonarjs/cognitive-complexity\n private static inferType(schema: SchemaInterface): string[] | string {\n let types = schema.type();\n\n if (types !== undefined) {\n if (Array.isArray(types)) {\n // if types have `integer` and `number` types, `integer` is unnecessary\n if (types.includes('integer') && types.includes('number')) {\n types = types.filter((t) => t !== 'integer');\n }\n return types.length === 1 ? types[0] : types;\n }\n return types;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n const constValue = schema.const();\n if (constValue !== undefined) {\n return typeof constValue;\n }\n const enumValue = schema.enum();\n if (Array.isArray(enumValue) && enumValue.length) {\n const inferredType = Array.from(new Set(enumValue.map((e) => typeof e)));\n return inferredType.length === 1 ? inferredType[0] : inferredType;\n }\n\n const schemaKeys = Object.keys(schema.json() || {}) || [];\n const hasInferredTypes = jsonSchemaKeywords.some((key) =>\n schemaKeys.includes(key),\n );\n if (hasInferredTypes === true) {\n return SchemaCustomTypes.RESTRICTED_ANY;\n }\n if (this.toCombinedType(schema)) {\n return '';\n }\n return SchemaCustomTypes.ANY;\n }\n\n // eslint-disable-next-line sonarjs/cognitive-complexity\n private static humanizeNumberRangeConstraint(\n min: number | undefined,\n exclusiveMin: number | undefined,\n max: number | undefined,\n exclusiveMax: number | undefined,\n ): string | undefined {\n const hasExclusiveMin = exclusiveMin !== undefined;\n const hasMin = min !== undefined || hasExclusiveMin;\n const hasExclusiveMax = exclusiveMax !== undefined;\n const hasMax = max !== undefined || hasExclusiveMax;\n\n let numberRange;\n if (hasMin && hasMax) {\n numberRange = hasExclusiveMin ? '( ' : '[ ';\n numberRange += hasExclusiveMin ? exclusiveMin : min;\n numberRange += ' .. ';\n numberRange += hasExclusiveMax ? exclusiveMax : max;\n numberRange += hasExclusiveMax ? ' )' : ' ]';\n } else if (hasMin) {\n numberRange = hasExclusiveMin ? '> ' : '>= ';\n numberRange += hasExclusiveMin ? exclusiveMin : min;\n } else if (hasMax) {\n numberRange = hasExclusiveMax ? '< ' : '<= ';\n numberRange += hasExclusiveMax ? exclusiveMax : max;\n }\n return numberRange;\n }\n\n private static humanizeMultipleOfConstraint(\n multipleOf: number | undefined,\n ): string | undefined {\n if (multipleOf === undefined) {\n return;\n }\n const strigifiedMultipleOf = multipleOf.toString(10);\n if (!/^0\\.0*1$/.test(strigifiedMultipleOf)) {\n return `multiple of ${strigifiedMultipleOf}`;\n }\n return `decimal places <= ${strigifiedMultipleOf.split('.')[1].length}`;\n }\n\n private static humanizeRangeConstraint(\n description: string,\n min: number | undefined,\n max: number | undefined,\n ): string | undefined {\n let stringRange;\n if (min !== undefined && max !== undefined) {\n if (min === max) {\n stringRange = `${min} ${description}`;\n } else {\n stringRange = `[ ${min} .. ${max} ] ${description}`;\n }\n } else if (max !== undefined) {\n stringRange = `<= ${max} ${description}`;\n } else if (min !== undefined) {\n if (min === 1) {\n stringRange = 'non-empty';\n } else {\n stringRange = `>= ${min} ${description}`;\n }\n }\n return stringRange;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private static jsonFieldToSchema(value: any, visited = new WeakSet()): any {\n // visited should never be passed as parameter.\n // it is meant for internal recursion limit tracking\n if (value === undefined || value === null) {\n return {\n type: 'string',\n const: '',\n [this.extRawValue]: true,\n };\n }\n if (typeof value !== 'object') {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n const str =\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-call\n typeof value.toString === 'function' ? value.toString() : value;\n return {\n type: 'string',\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n const: str,\n [this.extRawValue]: true,\n };\n }\n\n if (visited.has(value as object)) {\n throw new Error(\n 'too much recursion. Please check document for recursion.',\n );\n }\n visited.add(value as object);\n\n if (this.isJSONSchema(value)) {\n return value;\n }\n if (Array.isArray(value)) {\n return {\n type: 'array',\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n items: value.map((v) => this.jsonFieldToSchema(v, visited)),\n [this.extRenderAdditionalInfo]: false,\n };\n }\n return {\n type: 'object',\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument\n properties: Object.entries(value).reduce(\n (obj, [k, v]) => {\n obj[k] = this.jsonFieldToSchema(v, visited);\n return obj;\n },\n {} as Record<string, unknown>,\n ),\n [this.extRenderAdditionalInfo]: false,\n };\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private static isJSONSchema(value: any): boolean {\n // eslint-disable-next-line sonarjs/prefer-single-boolean-return\n if (\n value &&\n typeof value === 'object' &&\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument, @typescript-eslint/no-unsafe-member-access\n (jsonSchemaTypes.includes(value.type) ||\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n (Array.isArray(value.type) &&\n // eslint-disable-next-line @typescript-eslint/no-unsafe-call, @typescript-eslint/no-unsafe-member-access\n value.type.some((t: string) => !jsonSchemaTypes.includes(t))))\n ) {\n return true;\n }\n return false;\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,iBAAiB,MAAM,gCAAgC,CAAC;AAC/D,OAAO,mBAAmB,MAAM,kCAAkC,CAAC;AAMnE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,mBAAmB,EAAE,IAAI,EAAE,CAAC;AACrC,eAAe,iBAAiB,CAAC","sourcesContent":["import AsyncApiComponent from './containers/AsyncApi/AsyncApi';\nimport AsyncApiComponentWP from './containers/AsyncApi/Standalone';\n\nexport { AsyncApiProps } from './containers/AsyncApi/AsyncApi';\nexport { ConfigInterface } from './config/config';\nexport { FetchingSchemaInterface } from './types';\n\nimport { hljs } from './helpers';\n\nexport { AsyncApiComponentWP, hljs };\nexport default AsyncApiComponent;\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,iBAAiB,MAAM,gCAAgC,CAAC;AAC/D,OAAO,mBAAmB,MAAM,kCAAkC,CAAC;AAMnE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,mBAAmB,EAAE,IAAI,EAAE,CAAC;AACrC,eAAe,iBAAiB,CAAC","sourcesContent":["import AsyncApiComponent from './containers/AsyncApi/AsyncApi';\nimport AsyncApiComponentWP from './containers/AsyncApi/Standalone';\n\nexport { AsyncApiProps } from './containers/AsyncApi/AsyncApi';\nexport { ConfigInterface } from './config/config';\nexport { FetchingSchemaInterface, ExtensionComponentProps } from './types';\n\nimport { hljs } from './helpers';\n\nexport { AsyncApiComponentWP, hljs };\nexport default AsyncApiComponent;\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAeA,MAAM,UAAU,yBAAyB,CACvC,MAAmB;IAEnB,OAAQ,MAAkC,CAAC,GAAG,KAAK,SAAS,CAAC;AAC/D,CAAC;AAYD,MAAM,CAAN,IAAY,WAKX;AALD,WAAY,WAAW;IACrB,4BAAa,CAAA;IACb,kCAAmB,CAAA;IACnB,kCAAmB,CAAA;IACnB,8BAAe,CAAA;AACjB,CAAC,EALW,WAAW,KAAX,WAAW,QAKtB","sourcesContent":["import { AsyncAPIDocumentInterface } from '@asyncapi/parser';\n\nexport type PropsSchema =\n | string\n | FetchingSchemaInterface\n | AsyncAPIDocumentInterface\n | object;\n\nexport type NullableAsyncApi = AsyncAPIDocumentInterface | null;\n\nexport interface AsyncApiState {\n validatedSchema: NullableAsyncApi;\n error?: ErrorObject;\n}\n\nexport function isFetchingSchemaInterface(\n schema: PropsSchema,\n): schema is FetchingSchemaInterface {\n return (schema as FetchingSchemaInterface).url !== undefined;\n}\n\nexport interface FetchingSchemaInterface {\n url: string;\n requestOptions?: RequestInit;\n}\n\nexport interface ParserReturn {\n asyncapi?: AsyncAPIDocumentInterface;\n error?: ErrorObject;\n}\n\nexport enum PayloadType {\n SEND = 'send',\n RECEIVE = 'receive',\n REQUEST = 'request',\n REPLY = 'reply',\n}\n\nexport interface MessageExample {\n name?: string;\n summary?: string;\n example: unknown;\n}\n\nexport interface ValidationError {\n title: string;\n location?: {\n jsonPointer: string;\n startLine: number;\n startColumn: number;\n startOffset: number;\n endLine: number;\n endColumn: number;\n endOffset: number;\n };\n}\n\nexport interface ErrorObject {\n type: string;\n title: string;\n detail?: string;\n parsedJSON?: unknown;\n validationErrors?: ValidationError[];\n location?: {\n startLine: number;\n startColumn: number;\n startOffset: number;\n };\n refs?: {\n title: string;\n jsonPointer: string;\n startLine: number;\n startColumn: number;\n startOffset: number;\n endLine: number;\n endColumn: number;\n endOffset: number;\n }[];\n}\n"]}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAeA,MAAM,UAAU,yBAAyB,CACvC,MAAmB;IAEnB,OAAQ,MAAkC,CAAC,GAAG,KAAK,SAAS,CAAC;AAC/D,CAAC;AAYD,MAAM,CAAN,IAAY,WAKX;AALD,WAAY,WAAW;IACrB,4BAAa,CAAA;IACb,kCAAmB,CAAA;IACnB,kCAAmB,CAAA;IACnB,8BAAe,CAAA;AACjB,CAAC,EALW,WAAW,KAAX,WAAW,QAKtB","sourcesContent":["import { AsyncAPIDocumentInterface, BaseModel } from '@asyncapi/parser';\n\nexport type PropsSchema =\n | string\n | FetchingSchemaInterface\n | AsyncAPIDocumentInterface\n | object;\n\nexport type NullableAsyncApi = AsyncAPIDocumentInterface | null;\n\nexport interface AsyncApiState {\n validatedSchema: NullableAsyncApi;\n error?: ErrorObject;\n}\n\nexport function isFetchingSchemaInterface(\n schema: PropsSchema,\n): schema is FetchingSchemaInterface {\n return (schema as FetchingSchemaInterface).url !== undefined;\n}\n\nexport interface FetchingSchemaInterface {\n url: string;\n requestOptions?: RequestInit;\n}\n\nexport interface ParserReturn {\n asyncapi?: AsyncAPIDocumentInterface;\n error?: ErrorObject;\n}\n\nexport enum PayloadType {\n SEND = 'send',\n RECEIVE = 'receive',\n REQUEST = 'request',\n REPLY = 'reply',\n}\n\nexport interface MessageExample {\n name?: string;\n summary?: string;\n example: unknown;\n}\n\nexport interface ValidationError {\n title: string;\n location?: {\n jsonPointer: string;\n startLine: number;\n startColumn: number;\n startOffset: number;\n endLine: number;\n endColumn: number;\n endOffset: number;\n };\n}\n\nexport interface ErrorObject {\n type: string;\n title: string;\n detail?: string;\n parsedJSON?: unknown;\n validationErrors?: ValidationError[];\n location?: {\n startLine: number;\n startColumn: number;\n startOffset: number;\n };\n refs?: {\n title: string;\n jsonPointer: string;\n startLine: number;\n startColumn: number;\n startOffset: number;\n endLine: number;\n endColumn: number;\n endOffset: number;\n }[];\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport interface ExtensionComponentProps<V = any> {\n propertyName: string;\n propertyValue: V;\n document: AsyncAPIDocumentInterface;\n parent: BaseModel;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"Extensions.d.ts","sourceRoot":"","sources":["../../../src/components/Extensions.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,OAAO,CAAC;AAM1B,UAAU,KAAK;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,IAAI,EAAE,GAAG,CAAC;CACX;AAED,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,iBAAiB,CAAC,KAAK,CAkBrD,CAAC"}
1
+ {"version":3,"file":"Extensions.d.ts","sourceRoot":"","sources":["../../../src/components/Extensions.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAmB,MAAM,OAAO,CAAC;AAQxC,UAAU,KAAK;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,IAAI,EAAE,GAAG,CAAC;CACX;AAED,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,iBAAiB,CAAC,KAAK,CAwErD,CAAC"}
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import { ExtensionComponentProps } from '../../types';
3
+ export default function XExtension({ propertyValue, }: ExtensionComponentProps<string>): React.JSX.Element;
4
+ //# sourceMappingURL=XExtension.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"XExtension.d.ts","sourceRoot":"","sources":["../../../../src/components/supportedExtensions/XExtension.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAKtD,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,EACjC,aAAa,GACd,EAAE,uBAAuB,CAAC,MAAM,CAAC,qBAyBjC"}
@@ -1,3 +1,5 @@
1
+ /// <reference types="react" />
2
+ import { ExtensionComponentProps } from '../types';
1
3
  export interface ConfigInterface {
2
4
  schemaID?: string;
3
5
  show?: ShowConfig;
@@ -10,6 +12,7 @@ export interface ConfigInterface {
10
12
  receiveLabel?: string;
11
13
  requestLabel?: string;
12
14
  replyLabel?: string;
15
+ extensions?: Record<string, React.ComponentType<ExtensionComponentProps>>;
13
16
  }
14
17
  export interface ShowConfig {
15
18
  sidebar?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/config/config.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,OAAO,CAAC,EAAE,aAAa,CAAC;IAExB,aAAa,CAAC,EAAE,GAAG,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,YAAY;IAC3B,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,MAAM,WAAW,aAAa;IAC5B,WAAW,CAAC,EAAE,WAAW,GAAG,YAAY,GAAG,eAAe,CAAC;IAC3D,cAAc,CAAC,EAAE,WAAW,GAAG,YAAY,GAAG,kBAAkB,CAAC;IACjE,6BAA6B,CAAC,EAAE,OAAO,CAAC;CACzC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/config/config.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAC;AAEnD,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,OAAO,CAAC,EAAE,aAAa,CAAC;IAExB,aAAa,CAAC,EAAE,GAAG,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,aAAa,CAAC,uBAAuB,CAAC,CAAC,CAAC;CAC3E;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,YAAY;IAC3B,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,MAAM,WAAW,aAAa;IAC5B,WAAW,CAAC,EAAE,WAAW,GAAG,YAAY,GAAG,eAAe,CAAC;IAC3D,cAAc,CAAC,EAAE,WAAW,GAAG,YAAY,GAAG,kBAAkB,CAAC;IACjE,6BAA6B,CAAC,EAAE,OAAO,CAAC;CACzC"}
@@ -1 +1 @@
1
- {"version":3,"file":"default.d.ts","sourceRoot":"","sources":["../../../src/config/default.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAU3C,eAAO,MAAM,aAAa,EAAE,eAyB3B,CAAC"}
1
+ {"version":3,"file":"default.d.ts","sourceRoot":"","sources":["../../../src/config/default.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAW3C,eAAO,MAAM,aAAa,EAAE,eA4B3B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"Standalone.d.ts","sourceRoot":"","sources":["../../../../src/containers/AsyncApi/Standalone.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACzC,OAAO,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAG7D,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EAAE,eAAe,EAAiB,MAAM,cAAc,CAAC;AAK9D,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,WAAW,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;IAClC,KAAK,CAAC,EAAE,WAAW,CAAC;CACrB;AAED,UAAU,aAAa;IACrB,QAAQ,CAAC,EAAE,yBAAyB,CAAC;IACrC,KAAK,CAAC,EAAE,WAAW,CAAC;CACrB;AAED,cAAM,iBAAkB,SAAQ,SAAS,CAAC,aAAa,EAAE,aAAa,CAAC;IACrE,KAAK,EAAE,aAAa,CAGlB;gBAEU,KAAK,EAAE,aAAa;IAShC,iBAAiB;IAMjB,kBAAkB,CAAC,SAAS,EAAE,aAAa;IAS3C,MAAM;IAsCN,OAAO,CAAC,WAAW;CAQpB;AAED,eAAe,iBAAiB,CAAC"}
1
+ {"version":3,"file":"Standalone.d.ts","sourceRoot":"","sources":["../../../../src/containers/AsyncApi/Standalone.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACzC,OAAO,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAG7D,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EAAE,eAAe,EAAiB,MAAM,cAAc,CAAC;AAK9D,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,WAAW,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;IAClC,KAAK,CAAC,EAAE,WAAW,CAAC;CACrB;AAED,UAAU,aAAa;IACrB,QAAQ,CAAC,EAAE,yBAAyB,CAAC;IACrC,KAAK,CAAC,EAAE,WAAW,CAAC;CACrB;AAED,cAAM,iBAAkB,SAAQ,SAAS,CAAC,aAAa,EAAE,aAAa,CAAC;IACrE,KAAK,EAAE,aAAa,CAGlB;gBAEU,KAAK,EAAE,aAAa;IAShC,iBAAiB;IAMjB,kBAAkB,CAAC,SAAS,EAAE,aAAa;IAS3C,MAAM;IA0CN,OAAO,CAAC,WAAW;CAQpB;AAED,eAAe,iBAAiB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"Info.d.ts","sourceRoot":"","sources":["../../../../src/containers/Info/Info.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAW1B,eAAO,MAAM,IAAI,EAAE,KAAK,CAAC,iBA4HxB,CAAC"}
1
+ {"version":3,"file":"Info.d.ts","sourceRoot":"","sources":["../../../../src/containers/Info/Info.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAW1B,eAAO,MAAM,IAAI,EAAE,KAAK,CAAC,iBAmIxB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/helpers/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,0BAA0B,EAC1B,wBAAwB,EAIzB,MAAM,kBAAkB,CAAC;AAE1B,oBAAY,iBAAiB;IAE3B,GAAG,QAAQ;IAEX,cAAc,mBAAmB;IAEjC,KAAK,UAAU;IAEf,OAAO,YAAY;CACpB;AA4CD,qBAAa,aAAa;IACxB,MAAM,CAAC,uBAAuB,SAA6C;IAC3E,MAAM,CAAC,WAAW,SAAgC;IAClD,MAAM,CAAC,oBAAoB,SAAyC;IAEpE,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,eAAe,GAAG,MAAM;IAyCpD,MAAM,CAAC,oBAAoB,CACzB,GAAG,EAAE,MAAM,EACX,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,KAAK,CAAC,EAAE,MAAM;IAWhB,MAAM,CAAC,aAAa,CAAC,KAAK,EAAE,GAAG,EAAE,MAAM,UAAO,GAAG,MAAM;IAevD,MAAM,CAAC,mBAAmB,CAAC,MAAM,EAAE,eAAe,GAAG,MAAM,EAAE;IAsD7D,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO;IAuBrD,MAAM,CAAC,uBAAuB,CAC5B,YAAY,CAAC,EAAE,wBAAwB,GACtC,eAAe,GAAG,SAAS;IAoB9B,MAAM,CAAC,kBAAkB,CACvB,UAAU,CAAC,EAAE,0BAA0B,GACtC,eAAe,GAAG,SAAS;IA2B9B,MAAM,CAAC,YAAY,CAAC,KAAK,EAAE,GAAG,GAAG,GAAG;IAcpC,MAAM,CAAC,mBAAmB,CAAC,KAAK,EAAE,GAAG;IA0BrC,MAAM,CAAC,oBAAoB,CACzB,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,eAAe,GACtB,MAAM,EAAE,GAAG,SAAS;IAoBvB,MAAM,CAAC,mBAAmB,CACxB,MAAM,EAAE,eAAe,GACtB,eAAe,GAAG,SAAS;IAkC9B,OAAO,CAAC,MAAM,CAAC,MAAM;IAiBrB,OAAO,CAAC,MAAM,CAAC,WAAW;IAkB1B,OAAO,CAAC,MAAM,CAAC,cAAc;IAe7B,OAAO,CAAC,MAAM,CAAC,SAAS;IAuCxB,OAAO,CAAC,MAAM,CAAC,6BAA6B;IA4B5C,OAAO,CAAC,MAAM,CAAC,4BAA4B;IAa3C,OAAO,CAAC,MAAM,CAAC,uBAAuB;IAyBtC,OAAO,CAAC,MAAM,CAAC,iBAAiB;IA8ChC,OAAO,CAAC,MAAM,CAAC,YAAY;CAgB5B"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/helpers/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,0BAA0B,EAC1B,wBAAwB,EAIzB,MAAM,kBAAkB,CAAC;AAE1B,oBAAY,iBAAiB;IAE3B,GAAG,QAAQ;IAEX,cAAc,mBAAmB;IAEjC,KAAK,UAAU;IAEf,OAAO,YAAY;CACpB;AA4CD,qBAAa,aAAa;IACxB,MAAM,CAAC,uBAAuB,SAA6C;IAC3E,MAAM,CAAC,WAAW,SAAgC;IAClD,MAAM,CAAC,oBAAoB,SAAyC;IAEpE,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,eAAe,GAAG,MAAM;IAyCpD,MAAM,CAAC,oBAAoB,CACzB,GAAG,EAAE,MAAM,EACX,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,KAAK,CAAC,EAAE,MAAM;IAWhB,MAAM,CAAC,aAAa,CAAC,KAAK,EAAE,GAAG,EAAE,MAAM,UAAO,GAAG,MAAM;IAevD,MAAM,CAAC,mBAAmB,CAAC,MAAM,EAAE,eAAe,GAAG,MAAM,EAAE;IAsD7D,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO;IAuBrD,MAAM,CAAC,uBAAuB,CAC5B,YAAY,CAAC,EAAE,wBAAwB,GACtC,eAAe,GAAG,SAAS;IAoB9B,MAAM,CAAC,kBAAkB,CACvB,UAAU,CAAC,EAAE,0BAA0B,GACtC,eAAe,GAAG,SAAS;IA2B9B,MAAM,CAAC,YAAY,CAAC,KAAK,EAAE,GAAG,GAAG,GAAG;IAcpC,MAAM,CAAC,mBAAmB,CAAC,KAAK,EAAE,GAAG;IA0BrC,MAAM,CAAC,oBAAoB,CACzB,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,eAAe,GACtB,MAAM,EAAE,GAAG,SAAS;IAoBvB,MAAM,CAAC,mBAAmB,CACxB,MAAM,EAAE,eAAe,GACtB,eAAe,GAAG,SAAS;IAkC9B,OAAO,CAAC,MAAM,CAAC,MAAM;IAiBrB,OAAO,CAAC,MAAM,CAAC,WAAW;IAkB1B,OAAO,CAAC,MAAM,CAAC,cAAc;IAe7B,OAAO,CAAC,MAAM,CAAC,SAAS;IAuCxB,OAAO,CAAC,MAAM,CAAC,6BAA6B;IA4B5C,OAAO,CAAC,MAAM,CAAC,4BAA4B;IAa3C,OAAO,CAAC,MAAM,CAAC,uBAAuB;IAyBtC,OAAO,CAAC,MAAM,CAAC,iBAAiB;IAwDhC,OAAO,CAAC,MAAM,CAAC,YAAY;CAgB5B"}
@@ -2,7 +2,7 @@ import AsyncApiComponent from './containers/AsyncApi/AsyncApi';
2
2
  import AsyncApiComponentWP from './containers/AsyncApi/Standalone';
3
3
  export { AsyncApiProps } from './containers/AsyncApi/AsyncApi';
4
4
  export { ConfigInterface } from './config/config';
5
- export { FetchingSchemaInterface } from './types';
5
+ export { FetchingSchemaInterface, ExtensionComponentProps } from './types';
6
6
  import { hljs } from './helpers';
7
7
  export { AsyncApiComponentWP, hljs };
8
8
  export default AsyncApiComponent;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,iBAAiB,MAAM,gCAAgC,CAAC;AAC/D,OAAO,mBAAmB,MAAM,kCAAkC,CAAC;AAEnE,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;AAElD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,mBAAmB,EAAE,IAAI,EAAE,CAAC;AACrC,eAAe,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,iBAAiB,MAAM,gCAAgC,CAAC;AAC/D,OAAO,mBAAmB,MAAM,kCAAkC,CAAC;AAEnE,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;AAE3E,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,mBAAmB,EAAE,IAAI,EAAE,CAAC;AACrC,eAAe,iBAAiB,CAAC"}
@@ -1,4 +1,4 @@
1
- import { AsyncAPIDocumentInterface } from '@asyncapi/parser';
1
+ import { AsyncAPIDocumentInterface, BaseModel } from '@asyncapi/parser';
2
2
  export type PropsSchema = string | FetchingSchemaInterface | AsyncAPIDocumentInterface | object;
3
3
  export type NullableAsyncApi = AsyncAPIDocumentInterface | null;
4
4
  export interface AsyncApiState {
@@ -59,4 +59,10 @@ export interface ErrorObject {
59
59
  endOffset: number;
60
60
  }[];
61
61
  }
62
+ export interface ExtensionComponentProps<V = any> {
63
+ propertyName: string;
64
+ propertyValue: V;
65
+ document: AsyncAPIDocumentInterface;
66
+ parent: BaseModel;
67
+ }
62
68
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAE7D,MAAM,MAAM,WAAW,GACnB,MAAM,GACN,uBAAuB,GACvB,yBAAyB,GACzB,MAAM,CAAC;AAEX,MAAM,MAAM,gBAAgB,GAAG,yBAAyB,GAAG,IAAI,CAAC;AAEhE,MAAM,WAAW,aAAa;IAC5B,eAAe,EAAE,gBAAgB,CAAC;IAClC,KAAK,CAAC,EAAE,WAAW,CAAC;CACrB;AAED,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,WAAW,GAClB,MAAM,IAAI,uBAAuB,CAEnC;AAED,MAAM,WAAW,uBAAuB;IACtC,GAAG,EAAE,MAAM,CAAC;IACZ,cAAc,CAAC,EAAE,WAAW,CAAC;CAC9B;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,EAAE,yBAAyB,CAAC;IACrC,KAAK,CAAC,EAAE,WAAW,CAAC;CACrB;AAED,oBAAY,WAAW;IACrB,IAAI,SAAS;IACb,OAAO,YAAY;IACnB,OAAO,YAAY;IACnB,KAAK,UAAU;CAChB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE;QACT,WAAW,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;QAClB,WAAW,EAAE,MAAM,CAAC;QACpB,WAAW,EAAE,MAAM,CAAC;QACpB,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;CACH;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,gBAAgB,CAAC,EAAE,eAAe,EAAE,CAAC;IACrC,QAAQ,CAAC,EAAE;QACT,SAAS,EAAE,MAAM,CAAC;QAClB,WAAW,EAAE,MAAM,CAAC;QACpB,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;IACF,IAAI,CAAC,EAAE;QACL,KAAK,EAAE,MAAM,CAAC;QACd,WAAW,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;QAClB,WAAW,EAAE,MAAM,CAAC;QACpB,WAAW,EAAE,MAAM,CAAC;QACpB,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;KACnB,EAAE,CAAC;CACL"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAExE,MAAM,MAAM,WAAW,GACnB,MAAM,GACN,uBAAuB,GACvB,yBAAyB,GACzB,MAAM,CAAC;AAEX,MAAM,MAAM,gBAAgB,GAAG,yBAAyB,GAAG,IAAI,CAAC;AAEhE,MAAM,WAAW,aAAa;IAC5B,eAAe,EAAE,gBAAgB,CAAC;IAClC,KAAK,CAAC,EAAE,WAAW,CAAC;CACrB;AAED,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,WAAW,GAClB,MAAM,IAAI,uBAAuB,CAEnC;AAED,MAAM,WAAW,uBAAuB;IACtC,GAAG,EAAE,MAAM,CAAC;IACZ,cAAc,CAAC,EAAE,WAAW,CAAC;CAC9B;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,EAAE,yBAAyB,CAAC;IACrC,KAAK,CAAC,EAAE,WAAW,CAAC;CACrB;AAED,oBAAY,WAAW;IACrB,IAAI,SAAS;IACb,OAAO,YAAY;IACnB,OAAO,YAAY;IACnB,KAAK,UAAU;CAChB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE;QACT,WAAW,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;QAClB,WAAW,EAAE,MAAM,CAAC;QACpB,WAAW,EAAE,MAAM,CAAC;QACpB,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;CACH;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,gBAAgB,CAAC,EAAE,eAAe,EAAE,CAAC;IACrC,QAAQ,CAAC,EAAE;QACT,SAAS,EAAE,MAAM,CAAC;QAClB,WAAW,EAAE,MAAM,CAAC;QACpB,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;IACF,IAAI,CAAC,EAAE;QACL,KAAK,EAAE,MAAM,CAAC;QACd,WAAW,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;QAClB,WAAW,EAAE,MAAM,CAAC;QACpB,WAAW,EAAE,MAAM,CAAC;QACpB,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;KACnB,EAAE,CAAC;CACL;AAGD,MAAM,WAAW,uBAAuB,CAAC,CAAC,GAAG,GAAG;IAC9C,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,CAAC,CAAC;IACjB,QAAQ,EAAE,yBAAyB,CAAC;IACpC,MAAM,EAAE,SAAS,CAAC;CACnB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@asyncapi/react-component",
3
- "version": "2.5.0",
3
+ "version": "2.6.0",
4
4
  "private": false,
5
5
  "description": "A React component for AsyncAPI specification.",
6
6
  "repository": {
@@ -71,7 +71,7 @@
71
71
  "@asyncapi/avro-schema-parser": "^3.0.24",
72
72
  "@asyncapi/openapi-schema-parser": "^3.0.24",
73
73
  "@asyncapi/parser": "^3.3.0",
74
- "@asyncapi/protobuf-schema-parser": "^3.3.0",
74
+ "@asyncapi/protobuf-schema-parser": "^3.4.0",
75
75
  "highlight.js": "^10.7.2",
76
76
  "isomorphic-dompurify": "^2.14.0",
77
77
  "marked": "^4.0.14",