@e22m4u/js-openapi 0.0.8 → 0.1.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.
@@ -257,7 +257,6 @@ var import_js_format7 = require("@e22m4u/js-format");
257
257
 
258
258
  // src/oa-document-builder.js
259
259
  var import_js_format6 = require("@e22m4u/js-format");
260
- var import_js_service = require("@e22m4u/js-service");
261
260
 
262
261
  // src/oa-document-object/validate-oa-document-object.js
263
262
  var import_js_format5 = require("@e22m4u/js-format");
@@ -1906,7 +1905,7 @@ var OA_COMPONENT_TYPE_TO_DEFINITION_NAME_MAP = {
1906
1905
  [OAComponentType.CALLBACK]: "callbacks-or-reference",
1907
1906
  [OAComponentType.PATH_ITEM]: "path-item"
1908
1907
  };
1909
- var OADocumentBuilder = class extends import_js_service.Service {
1908
+ var OADocumentBuilder = class {
1910
1909
  static {
1911
1910
  __name(this, "OADocumentBuilder");
1912
1911
  }
@@ -1927,24 +1926,9 @@ var OADocumentBuilder = class extends import_js_service.Service {
1927
1926
  /**
1928
1927
  * Constructor.
1929
1928
  *
1930
- * @param {import('@e22m4u/js-service').ServiceContainer|import('./oa-document-builder.js').OADocumentInput} containerOrDocument
1931
- * @param {import('./oa-document-builder.js').OADocumentInput} document
1929
+ * @param {import('./oa-document-builder.js').OADocumentInput} [document]
1932
1930
  */
1933
- constructor(containerOrDocument, document) {
1934
- if ((0, import_js_service.isServiceContainer)(containerOrDocument)) {
1935
- super(containerOrDocument);
1936
- } else {
1937
- super();
1938
- if (containerOrDocument !== void 0) {
1939
- if (!containerOrDocument || typeof containerOrDocument !== "object" || Array.isArray(containerOrDocument)) {
1940
- throw new import_js_format6.InvalidArgumentError(
1941
- 'Parameter "containerOrDocument" must be an Object, but %v was given.',
1942
- containerOrDocument
1943
- );
1944
- }
1945
- }
1946
- document = document === void 0 ? containerOrDocument : document;
1947
- }
1931
+ constructor(document) {
1948
1932
  if (document !== void 0) {
1949
1933
  if (!document || typeof document !== "object" || Array.isArray(document)) {
1950
1934
  throw new import_js_format6.InvalidArgumentError(
@@ -2003,14 +1987,14 @@ var OADocumentBuilder = class extends import_js_service.Service {
2003
1987
  if (!componentsKey) {
2004
1988
  throw new import_js_format6.InvalidArgumentError(
2005
1989
  "Component type %v does not have a reference to the components key.",
2006
- componentsKey
1990
+ type
2007
1991
  );
2008
1992
  }
2009
1993
  const definitionName = OA_COMPONENT_TYPE_TO_DEFINITION_NAME_MAP[type];
2010
1994
  if (!definitionName) {
2011
1995
  throw new import_js_format6.InvalidArgumentError(
2012
1996
  "Component type %v does not have a reference to the definition name.",
2013
- definitionName
1997
+ type
2014
1998
  );
2015
1999
  }
2016
2000
  validateOADocumentObject(component, {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@e22m4u/js-openapi",
3
- "version": "0.0.8",
3
+ "version": "0.1.0",
4
4
  "description": "JavaScript модуль для создания OpenAPI Документа",
5
5
  "author": "Mikhail Evstropov <e22m4u@yandex.ru>",
6
6
  "license": "MIT",
@@ -9,10 +9,10 @@
9
9
  "openapi",
10
10
  "generator"
11
11
  ],
12
- "homepage": "https://gitrepos.ru/e22m4u/js-openapi",
12
+ "homepage": "https://gitverse.ru/e22m4u/js-openapi",
13
13
  "repository": {
14
14
  "type": "git",
15
- "url": "git+https://gitrepos.ru/e22m4u/js-openapi.git"
15
+ "url": "git+https://gitverse.ru/e22m4u/js-openapi.git"
16
16
  },
17
17
  "type": "module",
18
18
  "types": "./src/index.d.ts",
@@ -37,26 +37,25 @@
37
37
  },
38
38
  "dependencies": {
39
39
  "@e22m4u/js-format": "~0.4.0",
40
- "@e22m4u/js-service": "~0.5.1",
41
40
  "ajv": "~8.18.0",
42
41
  "ajv-formats": "~3.0.1"
43
42
  },
44
43
  "devDependencies": {
45
- "@commitlint/cli": "~20.4.2",
46
- "@commitlint/config-conventional": "~20.4.2",
44
+ "@commitlint/cli": "~20.4.4",
45
+ "@commitlint/config-conventional": "~20.4.4",
47
46
  "@eslint/js": "~9.39.2",
48
47
  "@types/chai": "~5.2.3",
49
48
  "@types/mocha": "~10.0.10",
50
- "c8": "~10.1.3",
49
+ "c8": "~11.0.0",
51
50
  "chai": "~6.2.2",
52
- "esbuild": "~0.27.3",
51
+ "esbuild": "~0.27.4",
53
52
  "eslint": "~9.39.2",
54
53
  "eslint-config-prettier": "~10.1.8",
55
- "eslint-plugin-chai-expect": "~3.1.0",
54
+ "eslint-plugin-chai-expect": "~4.0.0",
56
55
  "eslint-plugin-import": "~2.32.0",
57
- "eslint-plugin-jsdoc": "~62.7.1",
56
+ "eslint-plugin-jsdoc": "~62.8.0",
58
57
  "eslint-plugin-mocha": "~11.2.0",
59
- "globals": "~17.3.0",
58
+ "globals": "~17.4.0",
60
59
  "husky": "~9.1.7",
61
60
  "mocha": "~11.7.5",
62
61
  "prettier": "~3.8.1",
@@ -7,10 +7,10 @@ export declare class OADocumentObjectValidationError extends Errorf {
7
7
  /**
8
8
  * Instance path.
9
9
  */
10
- readonly instancePath?: string;
10
+ instancePath?: string;
11
11
 
12
12
  /**
13
13
  * Reason.
14
14
  */
15
- readonly reason?: string;
15
+ reason?: string;
16
16
  }
@@ -1,5 +1,4 @@
1
1
  import {Optional} from './types.js';
2
- import {Service, ServiceContainer} from '@e22m4u/js-service';
3
2
 
4
3
  import {
5
4
  OAOperationGroup,
@@ -82,15 +81,7 @@ export type OADocumentInput = Optional<OADocumentObject, 'openapi' | 'info'>;
82
81
  /**
83
82
  * Document builder.
84
83
  */
85
- export declare class OADocumentBuilder extends Service {
86
- /**
87
- * Constructor.
88
- *
89
- * @param container
90
- * @param document
91
- */
92
- constructor(container: ServiceContainer, document?: OADocumentInput);
93
-
84
+ export declare class OADocumentBuilder {
94
85
  /**
95
86
  * Constructor.
96
87
  *
@@ -98,17 +89,6 @@ export declare class OADocumentBuilder extends Service {
98
89
  */
99
90
  constructor(document?: OADocumentInput);
100
91
 
101
- /**
102
- * Constructor.
103
- *
104
- * @param containerOrDocument
105
- * @param document
106
- */
107
- constructor(
108
- containerOrDocument?: ServiceContainer | OADocumentInput,
109
- document?: OADocumentInput,
110
- );
111
-
112
92
  /**
113
93
  * Get document object reference.
114
94
  */
@@ -1,6 +1,5 @@
1
1
  import {InvalidArgumentError} from '@e22m4u/js-format';
2
2
  import {OAOperationGroup} from './oa-operation-group.js';
3
- import {isServiceContainer, Service} from '@e22m4u/js-service';
4
3
  import {validateOADocumentObject} from './oa-document-object/index.js';
5
4
  import {escapeJsonPointer} from './json-pointer/escape-json-pointer.js';
6
5
  import {OPENAPI_VERSION, OAOperationMethod} from './oa-specification.js';
@@ -67,7 +66,7 @@ export const OA_COMPONENT_TYPE_TO_DEFINITION_NAME_MAP = {
67
66
  /**
68
67
  * OpenAPI Document builder.
69
68
  */
70
- export class OADocumentBuilder extends Service {
69
+ export class OADocumentBuilder {
71
70
  /**
72
71
  * Document.
73
72
  *
@@ -86,30 +85,9 @@ export class OADocumentBuilder extends Service {
86
85
  /**
87
86
  * Constructor.
88
87
  *
89
- * @param {import('@e22m4u/js-service').ServiceContainer|import('./oa-document-builder.js').OADocumentInput} containerOrDocument
90
- * @param {import('./oa-document-builder.js').OADocumentInput} document
88
+ * @param {import('./oa-document-builder.js').OADocumentInput} [document]
91
89
  */
92
- constructor(containerOrDocument, document) {
93
- if (isServiceContainer(containerOrDocument)) {
94
- super(containerOrDocument);
95
- } else {
96
- super();
97
- // containerOrDocument
98
- if (containerOrDocument !== undefined) {
99
- if (
100
- !containerOrDocument ||
101
- typeof containerOrDocument !== 'object' ||
102
- Array.isArray(containerOrDocument)
103
- ) {
104
- throw new InvalidArgumentError(
105
- 'Parameter "containerOrDocument" must be an Object, ' +
106
- 'but %v was given.',
107
- containerOrDocument,
108
- );
109
- }
110
- }
111
- document = document === undefined ? containerOrDocument : document;
112
- }
90
+ constructor(document) {
113
91
  // document
114
92
  if (document !== undefined) {
115
93
  if (
@@ -184,7 +162,7 @@ export class OADocumentBuilder extends Service {
184
162
  if (!componentsKey) {
185
163
  throw new InvalidArgumentError(
186
164
  'Component type %v does not have a reference to the components key.',
187
- componentsKey,
165
+ type,
188
166
  );
189
167
  }
190
168
  // definition name
@@ -192,7 +170,7 @@ export class OADocumentBuilder extends Service {
192
170
  if (!definitionName) {
193
171
  throw new InvalidArgumentError(
194
172
  'Component type %v does not have a reference to the definition name.',
195
- definitionName,
173
+ type,
196
174
  );
197
175
  }
198
176
  // validation
@@ -1,6 +1,6 @@
1
1
  import {expect} from 'chai';
2
2
  import {format} from '@e22m4u/js-format';
3
- import {ServiceContainer} from '@e22m4u/js-service';
3
+ import {OAOperationGroup} from './oa-operation-group.js';
4
4
  import {OADocumentObjectValidationError} from './errors/index.js';
5
5
  import {OAComponentType, OADocumentBuilder} from './oa-document-builder.js';
6
6
 
@@ -12,7 +12,6 @@ import {
12
12
  OASecuritySchemeType,
13
13
  OAOperationMethod,
14
14
  } from './oa-specification.js';
15
- import {OAOperationGroup} from './oa-operation-group.js';
16
15
 
17
16
  describe('OADocumentBuilder', function () {
18
17
  describe('constructor', function () {
@@ -20,34 +19,8 @@ describe('OADocumentBuilder', function () {
20
19
  new OADocumentBuilder();
21
20
  });
22
21
 
23
- it('should pass the ServiceContainer to the super class', function () {
24
- const cont = new ServiceContainer();
25
- const S = new OADocumentBuilder(cont);
26
- expect(S.container).to.be.eq(cont);
27
- });
28
-
29
- it('should require the parameter "containerOrDocument" to be an Object', function () {
30
- const throwable = v => () => new OADocumentBuilder(v);
31
- const error = s =>
32
- format(
33
- 'Parameter "containerOrDocument" must be an Object, ' +
34
- 'but %s was given.',
35
- s,
36
- );
37
- expect(throwable('str')).to.throw(error('"str"'));
38
- expect(throwable('')).to.throw(error('""'));
39
- expect(throwable(10)).to.throw(error('10'));
40
- expect(throwable(0)).to.throw(error('0'));
41
- expect(throwable(true)).to.throw(error('true'));
42
- expect(throwable(false)).to.throw(error('false'));
43
- expect(throwable([])).to.throw(error('Array'));
44
- expect(throwable(null)).to.throw(error('null'));
45
- throwable({})();
46
- throwable(undefined)();
47
- });
48
-
49
22
  it('should require the parameter "document" to be an Object', function () {
50
- const throwable = v => () => new OADocumentBuilder(undefined, v);
23
+ const throwable = v => () => new OADocumentBuilder(v);
51
24
  const error = s =>
52
25
  format('Parameter "document" must be an Object, but %s was given.', s);
53
26
  expect(throwable('str')).to.throw(error('"str"'));
@@ -62,7 +35,7 @@ describe('OADocumentBuilder', function () {
62
35
  throwable(undefined)();
63
36
  });
64
37
 
65
- it('should merge the document from the first parameter with the default document', function () {
38
+ it('should merge the parameter "document" with the default document', function () {
66
39
  const doc = {
67
40
  openapi: '3.1.2',
68
41
  info: {
@@ -75,19 +48,6 @@ describe('OADocumentBuilder', function () {
75
48
  expect(res).to.be.eql({...doc, paths: {}});
76
49
  });
77
50
 
78
- it('should merge the document from the second parameter with the default document', function () {
79
- const doc = {
80
- openapi: '3.1.2',
81
- info: {
82
- title: 'My OpenAPI Doc',
83
- version: '1.0.0',
84
- },
85
- };
86
- const S = new OADocumentBuilder(undefined, doc);
87
- const res = S.getDocumentObjectRef();
88
- expect(res).to.be.eql({...doc, paths: {}});
89
- });
90
-
91
51
  it('should validate the given document object', function () {
92
52
  const doc = {openapi: 'abc'};
93
53
  const throwable = () => new OADocumentBuilder(doc);