Skip to content

Commit

Permalink
feat(ns-openapi-2): export new symbols and types (#3800)
Browse files Browse the repository at this point in the history
Refs #3776
  • Loading branch information
glowcloud committed Feb 6, 2024
1 parent 5f2f434 commit 41bf5c3
Show file tree
Hide file tree
Showing 47 changed files with 377 additions and 72 deletions.
181 changes: 181 additions & 0 deletions packages/apidom-ns-openapi-2/src/index.ts
Expand Up @@ -59,13 +59,194 @@ export {
export { isReferenceLikeElement, isSwaggerExtension } from './refractor/predicates';

export { default as AlternatingVisitor } from './refractor/visitors/generics/AlternatingVisitor';
export type { AlternatingVisitorOptions } from './refractor/visitors/generics/AlternatingVisitor';
export { default as FixedFieldsVisitor } from './refractor/visitors/generics/FixedFieldsVisitor';
export type { FixedFieldsVisitorOptions } from './refractor/visitors/generics/FixedFieldsVisitor';
export { default as MapVisitor } from './refractor/visitors/generics/MapVisitor';
export type { MapVisitorOptions } from './refractor/visitors/generics/MapVisitor';
export { default as MixedFieldsVisitor } from './refractor/visitors/generics/MixedFieldsVisitor';
export type { MixedFieldsVisitorOptions } from './refractor/visitors/generics/MixedFieldsVisitor';
export { default as PatternedFieldsVisitor } from './refractor/visitors/generics/PatternedFieldsVisitor';
export type { PatternedFieldsVisitorOptions } from './refractor/visitors/generics/PatternedFieldsVisitor';
export { default as FallbackVisitor } from './refractor/visitors/FallbackVisitor';
export type { FallbackVisitorOptions } from './refractor/visitors/FallbackVisitor';
export { default as SpecificationVisitor } from './refractor/visitors/SpecificationVisitor';
export type { SpecificationVisitorOptions } from './refractor/visitors/SpecificationVisitor';
export { default as Visitor } from './refractor/visitors/Visitor';
export type { VisitorOptions } from './refractor/visitors/Visitor';

export type {
default as ContactVisitor,
ContactVisitorOptions,
} from './refractor/visitors/open-api-2/contact';
export type {
default as DefinitionsVisitor,
DefinitionsVisitorOptions,
} from './refractor/visitors/open-api-2/definitions';
export type {
default as ExampleVisitor,
ExampleVisitorOptions,
} from './refractor/visitors/open-api-2/example';
export type {
default as ExternalDocumentationVisitor,
ExternalDocumentationVisitorOptions,
} from './refractor/visitors/open-api-2/external-documentation';
export type {
default as HeaderVisitor,
HeaderVisitorOptions,
} from './refractor/visitors/open-api-2/header';
export type {
default as HeadersVisitor,
HeadersVisitorOptions,
} from './refractor/visitors/open-api-2/headers';
export type {
default as InfoVisitor,
InfoVisitorOptions,
} from './refractor/visitors/open-api-2/info';
export type {
default as InfoVersionVisitor,
VersionVisitorOptions as InfoVersionVisitorOptions,
} from './refractor/visitors/open-api-2/info/VersionVisitor';
export type {
default as ItemsVisitor,
ItemsVisitorOptions,
} from './refractor/visitors/open-api-2/items';
export type {
default as LicenseVisitor,
LicenseVisitorOptions,
} from './refractor/visitors/open-api-2/license';
export type {
default as OperationVisitor,
OperationVisitorOptions,
} from './refractor/visitors/open-api-2/operation';
export type {
default as OperationConsumesVisitor,
ConsumesVisitorOptions as OperationConsumesVisitorOptions,
} from './refractor/visitors/open-api-2/operation/ConsumesVisitor';
export type {
default as OperationParametersVisitor,
ParametersVisitorOptions as OperationParametersVisitorOptions,
} from './refractor/visitors/open-api-2/operation/ParametersVisitor';
export type {
default as OperationProducesVisitor,
ProducesVisitorOptions as OperationProducesVisitorOptions,
} from './refractor/visitors/open-api-2/operation/ProducesVisitor';
export type {
default as OperationSchemesVisitor,
SchemesVisitorOptions as OperationSchemesVisitorOptions,
} from './refractor/visitors/open-api-2/operation/SchemesVisitor';
export type {
default as OperationSecurityVisitor,
SecurityVisitorOptions as OperationSecurityVisitorOptions,
} from './refractor/visitors/open-api-2/operation/SecurityVisitor';
export type {
default as OperationTagsVisitor,
TagsVisitorOptions as OperationTagsVisitorOptions,
} from './refractor/visitors/open-api-2/operation/TagsVisitor';
export type {
default as ParameterVisitor,
ParameterVisitorOptions,
} from './refractor/visitors/open-api-2/parameter';
export type {
default as ParametersDefinitionsVisitor,
ParametersDefinitionsVisitorOptions,
} from './refractor/visitors/open-api-2/parameters-definitions';
export type {
default as PathItemVisitor,
PathItemVisitorOptions,
} from './refractor/visitors/open-api-2/path-item';
export type {
default as PathItem$RefVisitor,
$RefVisitorOptions as PathItem$RefVisitorOptions,
} from './refractor/visitors/open-api-2/path-item/$RefVisitor';
export type {
default as PathItemParametersVisitor,
ParametersVisitorOptions as PathItemParametersVisitorOptions,
} from './refractor/visitors/open-api-2/path-item/ParametersVisitor';
export type {
default as PathsVisitor,
PathsVisitorOptions,
} from './refractor/visitors/open-api-2/paths';
export type {
default as ReferenceVisitor,
ReferenceVisitorOptions,
} from './refractor/visitors/open-api-2/reference';
export type {
default as Reference$RefVisitor,
$RefVisitorOptions as Reference$RefVisitorOptions,
} from './refractor/visitors/open-api-2/reference/$RefVisitor';
export type {
default as ResponseVisitor,
ResponseVisitorOptions,
} from './refractor/visitors/open-api-2/response';
export type {
default as ResponsesVisitor,
ResponsesVisitorOptions,
} from './refractor/visitors/open-api-2/responses';
export type {
default as ResponsesDefaultVisitor,
DefaultVisitorOptions as ResponsesDefaultVisitorOptions,
} from './refractor/visitors/open-api-2/responses/DefaultVisitor';
export type {
default as ResponsesDefinitionsVisitor,
ResponsesDefinitionsVisitorOptions,
} from './refractor/visitors/open-api-2/responses-definitions';
export type {
default as SchemaVisitor,
SchemaVisitorOptions,
} from './refractor/visitors/open-api-2/schema';
export type {
default as ScopesVisitor,
ScopesVisitorOptions,
} from './refractor/visitors/open-api-2/scopes';
export type {
default as SecurityDefinitionsVisitor,
SecurityDefinitionsVisitorOptions,
} from './refractor/visitors/open-api-2/security-definitions';
export type {
default as SecurityRequirementVisitor,
SecurityRequirementVisitorOptions,
} from './refractor/visitors/open-api-2/security-requirement';
export type {
default as SecuritySchemeVisitor,
SecuritySchemeVisitorOptions,
} from './refractor/visitors/open-api-2/security-scheme';
export type { default as TagVisitor, TagVisitorOptions } from './refractor/visitors/open-api-2/tag';
export type { default as XmlVisitor, XmlVisitorOptions } from './refractor/visitors/open-api-2/xml';
export type {
default as SwaggerVisitor,
SwaggerVisitorOptions,
} from './refractor/visitors/open-api-2';
export type {
default as BasePathVisitor,
BasePathVisitorOptions,
} from './refractor/visitors/open-api-2/BasePathVisitor';
export type {
default as ConsumesVisitor,
ConsumesVisitorOptions,
} from './refractor/visitors/open-api-2/ConsumesVisitor';
export type {
default as HostVisitor,
HostVisitorOptions,
} from './refractor/visitors/open-api-2/HostVisitor';
export type {
default as ProducesVisitor,
ProducesVisitorOptions,
} from './refractor/visitors/open-api-2/ProducesVisitor';
export type {
default as SchemesVisitor,
SchemesVisitorOptions,
} from './refractor/visitors/open-api-2/SchemesVisitor';
export type {
default as SecurityVisitor,
SecurityVisitorOptions,
} from './refractor/visitors/open-api-2/SecurityVisitor';
export type {
default as SwaggerVersionVisitor,
SwaggerVisitorOptions as SwaggerVersionVisitorOptions,
} from './refractor/visitors/open-api-2/SwaggerVisitor';

export type { SpecPath } from './refractor/visitors/generics/FixedFieldsVisitor';

export { keyMap, getNodeType } from './traversal/visitor';

Expand Down
@@ -1,6 +1,8 @@
import { MemberElement, BREAK, cloneDeep } from '@swagger-api/apidom-core';

import SpecificationVisitor from './SpecificationVisitor';
import SpecificationVisitor, { SpecificationVisitorOptions } from './SpecificationVisitor';

export type { SpecificationVisitorOptions as SpecificationExtensionVisitorOptions };

class SpecificationExtensionVisitor extends SpecificationVisitor {
public declare element: MemberElement;
Expand Down
@@ -1,6 +1,8 @@
import { StringElement } from '@swagger-api/apidom-core';

import FallbackVisitor from '../FallbackVisitor';
import FallbackVisitor, { FallbackVisitorOptions } from '../FallbackVisitor';

export type { FallbackVisitorOptions as BasePathVisitorOptions };

class BasePathVisitor extends FallbackVisitor {
public declare readonly element: StringElement;
Expand Down
Expand Up @@ -3,6 +3,8 @@ import { ArrayElement, BREAK, cloneDeep } from '@swagger-api/apidom-core';
import SwaggerConsumesElement from '../../../elements/nces/SwaggerConsumes';
import FallbackVisitor, { FallbackVisitorOptions } from '../FallbackVisitor';

export type { FallbackVisitorOptions as ConsumesVisitorOptions };

class ConsumesVisitor extends FallbackVisitor {
public declare element: SwaggerConsumesElement;

Expand Down
@@ -1,6 +1,8 @@
import { StringElement } from '@swagger-api/apidom-core';

import FallbackVisitor from '../FallbackVisitor';
import FallbackVisitor, { FallbackVisitorOptions } from '../FallbackVisitor';

export type { FallbackVisitorOptions as HostVisitorOptions };

class HostVisitor extends FallbackVisitor {
public declare readonly element: StringElement;
Expand Down
Expand Up @@ -3,6 +3,8 @@ import { ArrayElement, BREAK, cloneDeep } from '@swagger-api/apidom-core';
import SwaggerProducesElement from '../../../elements/nces/SwaggerProduces';
import FallbackVisitor, { FallbackVisitorOptions } from '../FallbackVisitor';

export type { FallbackVisitorOptions as ProducesVisitorOptions };

class ProducesVisitor extends FallbackVisitor {
public declare element: SwaggerProducesElement;

Expand Down
Expand Up @@ -3,6 +3,8 @@ import { ArrayElement, BREAK, cloneDeep } from '@swagger-api/apidom-core';
import SwaggerSchemesElement from '../../../elements/nces/SwaggerSchemes';
import FallbackVisitor, { FallbackVisitorOptions } from '../FallbackVisitor';

export type { FallbackVisitorOptions as SchemesVisitorOptions };

class SchemesVisitor extends FallbackVisitor {
public declare element: SwaggerSchemesElement;

Expand Down
Expand Up @@ -3,12 +3,16 @@ import { ArrayElement, Element, BREAK } from '@swagger-api/apidom-core';

import SwaggerSecurityElement from '../../../elements/nces/SwaggerSecurity';
import SpecificationVisitor, { SpecificationVisitorOptions } from '../SpecificationVisitor';
import FallbackVisitor from '../FallbackVisitor';
import FallbackVisitor, { FallbackVisitorOptions } from '../FallbackVisitor';

export interface SecurityVisitorOptions
extends SpecificationVisitorOptions,
FallbackVisitorOptions {}

class SecurityVisitor extends Mixin(SpecificationVisitor, FallbackVisitor) {
public declare readonly element: SwaggerSecurityElement;

constructor(options: SpecificationVisitorOptions) {
constructor(options: SecurityVisitorOptions) {
super(options);
this.element = new SwaggerSecurityElement();
}
Expand Down
Expand Up @@ -2,8 +2,12 @@ import { Mixin } from 'ts-mixer';
import { StringElement, BREAK, toValue } from '@swagger-api/apidom-core';

import SwaggerVersionElement from '../../../elements/SwaggerVersion';
import SpecificationVisitor from '../SpecificationVisitor';
import FallbackVisitor from '../FallbackVisitor';
import SpecificationVisitor, { SpecificationVisitorOptions } from '../SpecificationVisitor';
import FallbackVisitor, { FallbackVisitorOptions } from '../FallbackVisitor';

export interface SwaggerVisitorOptions
extends SpecificationVisitorOptions,
FallbackVisitorOptions {}

class SwaggerVisitor extends Mixin(SpecificationVisitor, FallbackVisitor) {
public declare element: SwaggerVersionElement;
Expand Down
Expand Up @@ -2,13 +2,15 @@ import { Mixin } from 'ts-mixer';
import { ArrayElement, Element, BREAK } from '@swagger-api/apidom-core';

import SpecificationVisitor, { SpecificationVisitorOptions } from '../SpecificationVisitor';
import FallbackVisitor from '../FallbackVisitor';
import FallbackVisitor, { FallbackVisitorOptions } from '../FallbackVisitor';
import SwaggerTagsElement from '../../../elements/nces/SwaggerTags';

export interface TagsVisitorOptions extends SpecificationVisitorOptions, FallbackVisitorOptions {}

class TagsVisitor extends Mixin(SpecificationVisitor, FallbackVisitor) {
public declare readonly element: SwaggerTagsElement;

constructor(options: SpecificationVisitorOptions) {
constructor(options: TagsVisitorOptions) {
super(options);
this.element = new SwaggerTagsElement();
}
Expand Down
Expand Up @@ -6,7 +6,9 @@ import FixedFieldsVisitor, {
FixedFieldsVisitorOptions,
SpecPath,
} from '../../generics/FixedFieldsVisitor';
import FallbackVisitor from '../../FallbackVisitor';
import FallbackVisitor, { FallbackVisitorOptions } from '../../FallbackVisitor';

export interface ContactVisitorOptions extends FixedFieldsVisitorOptions, FallbackVisitorOptions {}

class ContactVisitor extends Mixin(FixedFieldsVisitor, FallbackVisitor) {
public declare readonly element: ContactElement;
Expand All @@ -15,7 +17,7 @@ class ContactVisitor extends Mixin(FixedFieldsVisitor, FallbackVisitor) {

protected declare readonly canSupportSpecificationExtensions: true;

constructor(options: FixedFieldsVisitorOptions) {
constructor(options: ContactVisitorOptions) {
super(options);
this.element = new ContactElement();
this.specPath = always(['document', 'objects', 'Contact']);
Expand Down
Expand Up @@ -8,7 +8,9 @@ import {

import DefinitionsElement from '../../../../elements/Definitions';
import MapVisitor, { MapVisitorOptions, SpecPath } from '../../generics/MapVisitor';
import FallbackVisitor from '../../FallbackVisitor';
import FallbackVisitor, { FallbackVisitorOptions } from '../../FallbackVisitor';

export interface DefinitionsVisitorOptions extends MapVisitorOptions, FallbackVisitorOptions {}

class DefinitionsVisitor extends Mixin(MapVisitor, FallbackVisitor) {
public declare readonly element: DefinitionsElement;
Expand All @@ -17,7 +19,7 @@ class DefinitionsVisitor extends Mixin(MapVisitor, FallbackVisitor) {
['document', 'objects', 'JSONReference'] | ['document', 'objects', 'Schema']
>;

constructor(options: MapVisitorOptions) {
constructor(options: DefinitionsVisitorOptions) {
super(options);
this.element = new DefinitionsElement();
this.specPath = (element: unknown) => {
Expand Down
Expand Up @@ -2,17 +2,19 @@ import { Mixin } from 'ts-mixer';
import { always } from 'ramda';

import ExampleElement from '../../../../elements/Example';
import FallbackVisitor from '../../FallbackVisitor';
import FallbackVisitor, { FallbackVisitorOptions } from '../../FallbackVisitor';
import MapVisitor, { MapVisitorOptions, SpecPath } from '../../generics/MapVisitor';

export interface ExampleVisitorOptions extends MapVisitorOptions, FallbackVisitorOptions {}

class ExampleVisitor extends Mixin(MapVisitor, FallbackVisitor) {
public declare readonly element: ExampleElement;

protected declare readonly specPath: SpecPath<['value']>;

protected declare readonly canSupportSpecificationExtensions: false;

constructor(options: MapVisitorOptions) {
constructor(options: ExampleVisitorOptions) {
super(options);
this.element = new ExampleElement();
this.specPath = always(['value']);
Expand Down
Expand Up @@ -6,7 +6,11 @@ import FixedFieldsVisitor, {
FixedFieldsVisitorOptions,
SpecPath,
} from '../../generics/FixedFieldsVisitor';
import FallbackVisitor from '../../FallbackVisitor';
import FallbackVisitor, { FallbackVisitorOptions } from '../../FallbackVisitor';

export interface ExternalDocumentationVisitorOptions
extends FixedFieldsVisitorOptions,
FallbackVisitorOptions {}

class ExternalDocumentationVisitor extends Mixin(FixedFieldsVisitor, FallbackVisitor) {
public declare readonly element: ExternalDocumentationElement;
Expand All @@ -15,7 +19,7 @@ class ExternalDocumentationVisitor extends Mixin(FixedFieldsVisitor, FallbackVis

protected declare readonly canSupportSpecificationExtensions: true;

constructor(options: FixedFieldsVisitorOptions) {
constructor(options: ExternalDocumentationVisitorOptions) {
super(options);
this.element = new ExternalDocumentationElement();
this.specPath = always(['document', 'objects', 'ExternalDocumentation']);
Expand Down

0 comments on commit 41bf5c3

Please sign in to comment.