Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
import { DiagnosticSeverity } from 'vscode-languageserver-types';

import ApilintCodes from '../../../../../../codes.ts';
import { LinterMeta } from '../../../../../../../apidom-language-types.ts';

const allowedFieldsLint: LinterMeta = {
code: ApilintCodes.NOT_ALLOWED_FIELDS,
source: 'apilint',
message: 'This object MUST NOT contain any properties. Its name is reserved for future use.',
severity: DiagnosticSeverity.Error,
linterFunction: 'allowedFields',
linterParams: [[]],
marker: 'key',
conditions: [
{
targets: [{ path: 'bindingVersion' }],
function: 'apilintValueOrArray',
params: [['0.3.0']],
},
],
};

export default allowedFieldsLint;
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
import allowedFieldsLint from './allowed-fields.ts';

const lints = [allowedFieldsLint];

export default lints;
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
import { DiagnosticSeverity } from 'vscode-languageserver-types';

import ApilintCodes from '../../../../../../codes.ts';
import { LinterMeta } from '../../../../../../../apidom-language-types.ts';

const allowedFieldsLint: LinterMeta = {
code: ApilintCodes.NOT_ALLOWED_FIELDS,
source: 'apilint',
message: 'This object MUST NOT contain any properties. Its name is reserved for future use.',
severity: DiagnosticSeverity.Error,
linterFunction: 'allowedFields',
linterParams: [[]],
marker: 'key',
conditions: [
{
targets: [{ path: 'bindingVersion' }],
function: 'apilintValueOrArray',
params: [['0.4.0']],
},
],
};

export default allowedFieldsLint;
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
import allowedFieldsLint from './allowed-fields.ts';

const lints = [allowedFieldsLint];

export default lints;
Original file line number Diff line number Diff line change
@@ -1,10 +1,14 @@
import channelBinding0_1_0Lints from './0-1-0/index.ts';
import channelBinding0_2_0Lints from './0-2-0/index.ts';
import channelBinding0_3_0Lints from './0-3-0/index.ts';
import channelBinding0_4_0Lints from './0-4-0/index.ts';
import channelBindingLatestLints from './latest/index.ts';

const lints = [
...channelBinding0_1_0Lints,
...channelBinding0_2_0Lints,
...channelBinding0_3_0Lints,
...channelBinding0_4_0Lints,
...channelBindingLatestLints,
];

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
import { DiagnosticSeverity } from 'vscode-languageserver-types';

import ApilintCodes from '../../../../../../codes.ts';
import { LinterMeta } from '../../../../../../../apidom-language-types.ts';

const allowedFieldsLint: LinterMeta = {
code: ApilintCodes.NOT_ALLOWED_FIELDS,
source: 'apilint',
message: 'This object MUST NOT contain any properties. Its name is reserved for future use.',
severity: DiagnosticSeverity.Error,
linterFunction: 'allowedFields',
linterParams: [[]],
marker: 'key',
conditions: [
{
targets: [{ path: 'bindingVersion' }],
function: 'apilintValueOrArray',
params: [['0.3.0']],
},
],
};

export default allowedFieldsLint;
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
import allowedFieldsLint from './allowed-fields.ts';

const lints = [allowedFieldsLint];

export default lints;
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
import { DiagnosticSeverity } from 'vscode-languageserver-types';

import ApilintCodes from '../../../../../../codes.ts';
import { LinterMeta } from '../../../../../../../apidom-language-types.ts';

const allowedFieldsLint: LinterMeta = {
code: ApilintCodes.NOT_ALLOWED_FIELDS,
source: 'apilint',
message: 'This object MUST NOT contain any properties. Its name is reserved for future use.',
severity: DiagnosticSeverity.Error,
linterFunction: 'allowedFields',
linterParams: [[]],
marker: 'key',
conditions: [
{
targets: [{ path: 'bindingVersion' }],
function: 'apilintValueOrArray',
params: [['0.4.0']],
},
],
};

export default allowedFieldsLint;
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
import allowedFieldsLint from './allowed-fields.ts';

const lints = [allowedFieldsLint];

export default lints;
Original file line number Diff line number Diff line change
@@ -1,10 +1,14 @@
import messageBinding0_1_0Lints from './0-1-0/index.ts';
import messageBinding0_2_0Lints from './0-2-0/index.ts';
import messageBinding0_3_0Lints from './0-3-0/index.ts';
import messageBinding0_4_0Lints from './0-4-0/index.ts';
import messageBindingLatestLints from './latest/index.ts';

const lints = [
...messageBinding0_1_0Lints,
...messageBinding0_2_0Lints,
...messageBinding0_3_0Lints,
...messageBinding0_4_0Lints,
...messageBindingLatestLints,
];

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ const completion: ApidomCompletionItem[] = [
documentation: {
kind: 'markdown',
value:
'List of [Destination Objects](https://github.com/asyncapi/bindings/tree/master/solace#example-with-two-destinations).',
'List of [Destination Objects](https://github.com/asyncapi/bindings/blob/7dcae3ac9938ada9f3ff431a3f66c3859b5775f9/solace/README.md#destination-object).',
},
conditions: [
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ const completion: ApidomCompletionItem[] = [
documentation: {
kind: 'markdown',
value:
'List of [Destination Objects](https://github.com/asyncapi/bindings/tree/master/solace#example-with-two-destinations).',
'List of [Destination Objects](https://github.com/asyncapi/bindings/blob/0dcef46499747b1b22170def503e0193b14eba10/solace/README.md#destination-object).',
},
conditions: [
{
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
import {
ApidomCompletionItem,
CompletionFormat,
CompletionType,
} from '../../../../../../apidom-language-types.ts';

const completion: ApidomCompletionItem[] = [
{
label: 'destinations',
insertText: 'destinations',
kind: 14,
format: CompletionFormat.ARRAY,
type: CompletionType.PROPERTY,
insertTextFormat: 2,
documentation: {
kind: 'markdown',
value:
'List of [Destination Objects](https://github.com/asyncapi/bindings/blob/37cdb1db7f1377d4b9f347dd68cf2fcb9b8b58cc/solace/README.md#destination-object).',
},
conditions: [
{
targets: [{ path: 'bindingVersion' }],
function: 'apilintValueOrArray',
params: [['0.3.0']],
},
],
},
];

export default completion;
Original file line number Diff line number Diff line change
@@ -0,0 +1,135 @@
import {
ApidomCompletionItem,
CompletionFormat,
CompletionType,
} from '../../../../../../apidom-language-types.ts';
import { AsyncAPI2, AsyncAPI3 } from '../../../../target-specs.ts';

const completion: ApidomCompletionItem[] = [
{
label: 'destinations',
insertText: 'destinations',
kind: 14,
format: CompletionFormat.ARRAY,
type: CompletionType.PROPERTY,
insertTextFormat: 2,
documentation: {
kind: 'markdown',
value:
'List of [Destination Objects](https://github.com/asyncapi/bindings/tree/master/solace#destination-object).',
},
conditions: [
{
targets: [{ path: 'bindingVersion' }],
function: 'apilintValueOrArray',
params: [['0.4.0']],
},
],
},
{
label: 'timeToLive',
insertText: 'timeToLive',
kind: 14,
format: CompletionFormat.QUOTED,
type: CompletionType.PROPERTY,
insertTextFormat: 2,
documentation: {
kind: 'markdown',
value:
'`integer` | [Schema Object](https://v2.asyncapi.com/docs/reference/specification/v2.6.0#schemaObject) | [Reference Object](https://v2.asyncapi.com/docs/reference/specification/v2.6.0#referenceObject)\n\\\n\\\nInterval in milliseconds or a [Schema Object](https://v2.asyncapi.com/docs/reference/specification/v2.6.0#schemaObject) containing the definition of the lifetime of the message.',
},
targetSpecs: AsyncAPI2,
conditions: [
{
targets: [{ path: 'bindingVersion' }],
function: 'apilintValueOrArray',
params: [['0.4.0']],
},
],
},
{
label: 'timeToLive',
insertText: 'timeToLive',
kind: 14,
format: CompletionFormat.QUOTED,
type: CompletionType.PROPERTY,
insertTextFormat: 2,
documentation: {
kind: 'markdown',
value:
'`integer` | [Schema Object](https://www.asyncapi.com/docs/reference/specification/v3.0.0#schemaObject) | [Reference Object](https://www.asyncapi.com/docs/reference/specification/v3.0.0#referenceObject)\n\\\n\\\nInterval in milliseconds or a [Schema Object](https://www.asyncapi.com/docs/reference/specification/v3.0.0#schemaObject) containing the definition of the lifetime of the message.',
},
targetSpecs: AsyncAPI3,
conditions: [
{
targets: [{ path: 'bindingVersion' }],
function: 'apilintValueOrArray',
params: [['0.4.0']],
},
],
},
{
label: 'priority',
insertText: 'priority',
kind: 14,
format: CompletionFormat.QUOTED,
type: CompletionType.PROPERTY,
insertTextFormat: 2,
documentation: {
kind: 'markdown',
value:
'`integer` | [Schema Object](https://v2.asyncapi.com/docs/reference/specification/v2.6.0#schemaObject) | [Reference Object](https://v2.asyncapi.com/docs/reference/specification/v2.6.0#referenceObject)\n\\\n\\\nThe valid priority value range is 0-255 with 0 as the lowest priority and 255 as the highest, or a [Schema Object](https://v2.asyncapi.com/docs/reference/specification/v2.6.0#schemaObject) containing the definition of the priority.',
},
targetSpecs: AsyncAPI2,
conditions: [
{
targets: [{ path: 'bindingVersion' }],
function: 'apilintValueOrArray',
params: [['0.4.0']],
},
],
},
{
label: 'priority',
insertText: 'priority',
kind: 14,
format: CompletionFormat.QUOTED,
type: CompletionType.PROPERTY,
insertTextFormat: 2,
documentation: {
kind: 'markdown',
value:
'`integer` | [Schema Object](https://www.asyncapi.com/docs/reference/specification/v3.0.0#schemaObject) | [Reference Object](https://www.asyncapi.com/docs/reference/specification/v3.0.0#referenceObject)\n\\\n\\\nThe valid priority value range is 0-255 with 0 as the lowest priority and 255 as the highest, or a [Schema Object](https://www.asyncapi.com/docs/reference/specification/v3.0.0#schemaObject) containing the definition of the priority.',
},
targetSpecs: AsyncAPI3,
conditions: [
{
targets: [{ path: 'bindingVersion' }],
function: 'apilintValueOrArray',
params: [['0.4.0']],
},
],
},
{
label: 'dmqEligible',
insertText: 'dmqEligible',
kind: 14,
format: CompletionFormat.QUOTED,
type: CompletionType.PROPERTY,
insertTextFormat: 2,
documentation: {
kind: 'markdown',
value:
'`boolean`\n\\\n\\\nSet the message to be eligible to be moved to a Dead Message Queue. The default value is false.',
},
conditions: [
{
targets: [{ path: 'bindingVersion' }],
function: 'apilintValueOrArray',
params: [['0.4.0']],
},
],
},
];

export default completion;
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
import completion0_1_0Items from './0-1-0.ts';
import completion0_2_0Items from './0-2-0.ts';
import completion0_3_0Items from './0-3-0.ts';
import completion0_4_0Items from './0-4-0.ts';
import completionLatestItems from './latest.ts';
import {
ApidomCompletionItem,
Expand All @@ -10,6 +12,8 @@ import {
const completion: ApidomCompletionItem[] = [
...completion0_1_0Items,
...completion0_2_0Items,
...completion0_3_0Items,
...completion0_4_0Items,
...completionLatestItems,
{
label: 'bindingVersion',
Expand All @@ -20,7 +24,7 @@ const completion: ApidomCompletionItem[] = [
insertTextFormat: 2,
documentation: {
kind: 'markdown',
value: 'The current version is `0.2.0`',
value: '`string`\n\\\n\\\nThe version of this binding. If omitted, "0.4.0" MUST be assumed.',
},
},
{
Expand All @@ -41,6 +45,24 @@ const completion: ApidomCompletionItem[] = [
type: CompletionType.VALUE,
insertTextFormat: 2,
},
{
target: 'bindingVersion',
label: '0.3.0',
insertText: '0.3.0',
kind: 12,
format: CompletionFormat.QUOTED_FORCED,
type: CompletionType.VALUE,
insertTextFormat: 2,
},
{
target: 'bindingVersion',
label: '0.4.0',
insertText: '0.4.0',
kind: 12,
format: CompletionFormat.QUOTED_FORCED,
type: CompletionType.VALUE,
insertTextFormat: 2,
},
];

export default completion;
Loading
Loading