@skmtc/core 0.0.368 → 0.0.369

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 (65) hide show
  1. package/esm/context/GenerateContext.d.ts +79 -4
  2. package/esm/context/GenerateContext.d.ts.map +1 -1
  3. package/esm/context/GenerateContext.js +113 -33
  4. package/esm/oas/array/Array.d.ts +32 -8
  5. package/esm/oas/array/Array.d.ts.map +1 -1
  6. package/esm/oas/array/Array.js +60 -30
  7. package/esm/oas/boolean/Boolean.d.ts +24 -6
  8. package/esm/oas/boolean/Boolean.d.ts.map +1 -1
  9. package/esm/oas/boolean/Boolean.js +40 -24
  10. package/esm/oas/integer/Integer.d.ts +29 -8
  11. package/esm/oas/integer/Integer.d.ts.map +1 -1
  12. package/esm/oas/integer/Integer.js +57 -30
  13. package/esm/oas/number/Number.d.ts +24 -6
  14. package/esm/oas/number/Number.d.ts.map +1 -1
  15. package/esm/oas/number/Number.js +40 -24
  16. package/esm/oas/object/Object.d.ts +56 -12
  17. package/esm/oas/object/Object.d.ts.map +1 -1
  18. package/esm/oas/object/Object.js +52 -5
  19. package/esm/oas/string/String.d.ts +32 -8
  20. package/esm/oas/string/String.d.ts.map +1 -1
  21. package/esm/oas/string/String.js +63 -33
  22. package/esm/oas/union/Union.d.ts +38 -8
  23. package/esm/oas/union/Union.d.ts.map +1 -1
  24. package/esm/oas/union/Union.js +66 -30
  25. package/esm/oas/unknown/Unknown.d.ts +24 -5
  26. package/esm/oas/unknown/Unknown.d.ts.map +1 -1
  27. package/esm/oas/unknown/Unknown.js +34 -21
  28. package/esm/oas/void/Void.d.ts +22 -5
  29. package/esm/oas/void/Void.d.ts.map +1 -1
  30. package/esm/oas/void/Void.js +32 -21
  31. package/esm/server/createServer.d.ts.map +1 -1
  32. package/esm/server/createServer.js +2 -1
  33. package/package.json +1 -1
  34. package/script/context/GenerateContext.d.ts +79 -4
  35. package/script/context/GenerateContext.d.ts.map +1 -1
  36. package/script/context/GenerateContext.js +113 -33
  37. package/script/oas/array/Array.d.ts +32 -8
  38. package/script/oas/array/Array.d.ts.map +1 -1
  39. package/script/oas/array/Array.js +60 -30
  40. package/script/oas/boolean/Boolean.d.ts +24 -6
  41. package/script/oas/boolean/Boolean.d.ts.map +1 -1
  42. package/script/oas/boolean/Boolean.js +40 -24
  43. package/script/oas/integer/Integer.d.ts +29 -8
  44. package/script/oas/integer/Integer.d.ts.map +1 -1
  45. package/script/oas/integer/Integer.js +57 -30
  46. package/script/oas/number/Number.d.ts +24 -6
  47. package/script/oas/number/Number.d.ts.map +1 -1
  48. package/script/oas/number/Number.js +40 -24
  49. package/script/oas/object/Object.d.ts +56 -12
  50. package/script/oas/object/Object.d.ts.map +1 -1
  51. package/script/oas/object/Object.js +52 -5
  52. package/script/oas/string/String.d.ts +32 -8
  53. package/script/oas/string/String.d.ts.map +1 -1
  54. package/script/oas/string/String.js +63 -33
  55. package/script/oas/union/Union.d.ts +38 -8
  56. package/script/oas/union/Union.d.ts.map +1 -1
  57. package/script/oas/union/Union.js +66 -30
  58. package/script/oas/unknown/Unknown.d.ts +24 -5
  59. package/script/oas/unknown/Unknown.d.ts.map +1 -1
  60. package/script/oas/unknown/Unknown.js +34 -21
  61. package/script/oas/void/Void.d.ts +22 -5
  62. package/script/oas/void/Void.d.ts.map +1 -1
  63. package/script/oas/void/Void.js +32 -21
  64. package/script/server/createServer.d.ts.map +1 -1
  65. package/script/server/createServer.js +2 -1
@@ -7,15 +7,36 @@ export type IntegerFields = {
7
7
  enums?: number[];
8
8
  };
9
9
  export declare class OasInteger {
10
- #private;
11
- oasType: 'schema';
12
- type: 'integer';
10
+ /**
11
+ * Object is part the 'schema' set which is used
12
+ * to define data types in an OpenAPI document.
13
+ */
14
+ oasType: "schema";
15
+ /**
16
+ * Constant value 'integer' useful for type narrowing and tagged unions.
17
+ */
18
+ type: "integer";
19
+ /**
20
+ * A short summary of the integer.
21
+ */
22
+ title: string | undefined;
23
+ /**
24
+ * A description of the integer.
25
+ */
26
+ description: string | undefined;
27
+ /**
28
+ * Indicates whether value can be null.
29
+ */
30
+ nullable: boolean | undefined;
31
+ /**
32
+ * The format of the integer.
33
+ */
34
+ format: 'int32' | 'int64' | undefined;
35
+ /**
36
+ * An array of allowed values for the integer.
37
+ */
38
+ enums: number[] | undefined;
13
39
  constructor(fields: IntegerFields);
14
- get title(): string | undefined;
15
- get description(): string | undefined;
16
- get nullable(): boolean | undefined;
17
- get format(): 'int32' | 'int64' | undefined;
18
- get enums(): number[] | undefined;
19
40
  isRef(): this is OasRef<'schema'>;
20
41
  resolve(): OasInteger;
21
42
  resolveOnce(): OasInteger;
@@ -1 +1 @@
1
- {"version":3,"file":"Integer.d.ts","sourceRoot":"","sources":["../../../src/oas/integer/Integer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAE3C,MAAM,MAAM,aAAa,GAAG;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO,CAAA;IAC1B,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;CACjB,CAAA;AAED,qBAAa,UAAU;;IACrB,OAAO,EAAE,QAAQ,CAAW;IAC5B,IAAI,EAAE,SAAS,CAAY;gBAGf,MAAM,EAAE,aAAa;IAIjC,IAAI,KAAK,IAAI,MAAM,GAAG,SAAS,CAE9B;IAED,IAAI,WAAW,IAAI,MAAM,GAAG,SAAS,CAEpC;IAED,IAAI,QAAQ,IAAI,OAAO,GAAG,SAAS,CAElC;IAED,IAAI,MAAM,IAAI,OAAO,GAAG,OAAO,GAAG,SAAS,CAE1C;IAED,IAAI,KAAK,IAAI,MAAM,EAAE,GAAG,SAAS,CAEhC;IAED,KAAK,IAAI,IAAI,IAAI,MAAM,CAAC,QAAQ,CAAC;IAIjC,OAAO,IAAI,UAAU;IAIrB,WAAW,IAAI,UAAU;CAG1B"}
1
+ {"version":3,"file":"Integer.d.ts","sourceRoot":"","sources":["../../../src/oas/integer/Integer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAE3C,MAAM,MAAM,aAAa,GAAG;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO,CAAA;IAC1B,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;CACjB,CAAA;AAED,qBAAa,UAAU;IACrB;;;OAGG;IACH,OAAO,WAAoB;IAC3B;;OAEG;IACH,IAAI,YAAqB;IACzB;;OAEG;IACH,KAAK,EAAE,MAAM,GAAG,SAAS,CAAA;IACzB;;OAEG;IACH,WAAW,EAAE,MAAM,GAAG,SAAS,CAAA;IAC/B;;OAEG;IACH,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAA;IAC7B;;OAEG;IACH,MAAM,EAAE,OAAO,GAAG,OAAO,GAAG,SAAS,CAAA;IACrC;;OAEG;IACH,KAAK,EAAE,MAAM,EAAE,GAAG,SAAS,CAAA;gBAEf,MAAM,EAAE,aAAa;IAQjC,KAAK,IAAI,IAAI,IAAI,MAAM,CAAC,QAAQ,CAAC;IAIjC,OAAO,IAAI,UAAU;IAIrB,WAAW,IAAI,UAAU;CAG1B"}
@@ -1,46 +1,74 @@
1
- var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
2
- if (kind === "m") throw new TypeError("Private method is not writable");
3
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
4
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
5
- return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
6
- };
7
- var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
8
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
9
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
10
- return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
11
- };
12
- var _OasInteger_fields;
13
1
  export class OasInteger {
14
2
  constructor(fields) {
3
+ /**
4
+ * Object is part the 'schema' set which is used
5
+ * to define data types in an OpenAPI document.
6
+ */
15
7
  Object.defineProperty(this, "oasType", {
16
8
  enumerable: true,
17
9
  configurable: true,
18
10
  writable: true,
19
11
  value: 'schema'
20
12
  });
13
+ /**
14
+ * Constant value 'integer' useful for type narrowing and tagged unions.
15
+ */
21
16
  Object.defineProperty(this, "type", {
22
17
  enumerable: true,
23
18
  configurable: true,
24
19
  writable: true,
25
20
  value: 'integer'
26
21
  });
27
- _OasInteger_fields.set(this, void 0);
28
- __classPrivateFieldSet(this, _OasInteger_fields, fields, "f");
29
- }
30
- get title() {
31
- return __classPrivateFieldGet(this, _OasInteger_fields, "f").title;
32
- }
33
- get description() {
34
- return __classPrivateFieldGet(this, _OasInteger_fields, "f").description;
35
- }
36
- get nullable() {
37
- return __classPrivateFieldGet(this, _OasInteger_fields, "f").nullable;
38
- }
39
- get format() {
40
- return __classPrivateFieldGet(this, _OasInteger_fields, "f").format;
41
- }
42
- get enums() {
43
- return __classPrivateFieldGet(this, _OasInteger_fields, "f").enums;
22
+ /**
23
+ * A short summary of the integer.
24
+ */
25
+ Object.defineProperty(this, "title", {
26
+ enumerable: true,
27
+ configurable: true,
28
+ writable: true,
29
+ value: void 0
30
+ });
31
+ /**
32
+ * A description of the integer.
33
+ */
34
+ Object.defineProperty(this, "description", {
35
+ enumerable: true,
36
+ configurable: true,
37
+ writable: true,
38
+ value: void 0
39
+ });
40
+ /**
41
+ * Indicates whether value can be null.
42
+ */
43
+ Object.defineProperty(this, "nullable", {
44
+ enumerable: true,
45
+ configurable: true,
46
+ writable: true,
47
+ value: void 0
48
+ });
49
+ /**
50
+ * The format of the integer.
51
+ */
52
+ Object.defineProperty(this, "format", {
53
+ enumerable: true,
54
+ configurable: true,
55
+ writable: true,
56
+ value: void 0
57
+ });
58
+ /**
59
+ * An array of allowed values for the integer.
60
+ */
61
+ Object.defineProperty(this, "enums", {
62
+ enumerable: true,
63
+ configurable: true,
64
+ writable: true,
65
+ value: void 0
66
+ });
67
+ this.title = fields.title;
68
+ this.description = fields.description;
69
+ this.nullable = fields.nullable;
70
+ this.format = fields.format;
71
+ this.enums = fields.enums;
44
72
  }
45
73
  isRef() {
46
74
  return false;
@@ -52,4 +80,3 @@ export class OasInteger {
52
80
  return this;
53
81
  }
54
82
  }
55
- _OasInteger_fields = new WeakMap();
@@ -4,14 +4,32 @@ export type NumberFields = {
4
4
  description?: string;
5
5
  nullable?: boolean;
6
6
  };
7
+ /**
8
+ * Object representing a number in the OpenAPI Specification.
9
+ */
7
10
  export declare class OasNumber {
8
- #private;
9
- oasType: 'schema';
10
- type: 'number';
11
+ /**
12
+ * Object is part the 'schema' set which is used
13
+ * to define data types in an OpenAPI document.
14
+ */
15
+ oasType: "schema";
16
+ /**
17
+ * Constant value 'number' useful for type narrowing and tagged unions.
18
+ */
19
+ type: "number";
20
+ /**
21
+ * A short summary of the number.
22
+ */
23
+ title: string | undefined;
24
+ /**
25
+ * A description of the number.
26
+ */
27
+ description: string | undefined;
28
+ /**
29
+ * Indicates whether value can be null.
30
+ */
31
+ nullable: boolean | undefined;
11
32
  constructor(fields: NumberFields);
12
- get title(): string | undefined;
13
- get description(): string | undefined;
14
- get nullable(): boolean | undefined;
15
33
  isRef(): this is OasRef<'schema'>;
16
34
  resolve(): OasNumber;
17
35
  resolveOnce(): OasNumber;
@@ -1 +1 @@
1
- {"version":3,"file":"Number.d.ts","sourceRoot":"","sources":["../../../src/oas/number/Number.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAE3C,MAAM,MAAM,YAAY,GAAG;IACzB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,CAAA;AAED,qBAAa,SAAS;;IACpB,OAAO,EAAE,QAAQ,CAAW;IAC5B,IAAI,EAAE,QAAQ,CAAW;gBAGb,MAAM,EAAE,YAAY;IAIhC,IAAI,KAAK,IAAI,MAAM,GAAG,SAAS,CAE9B;IAED,IAAI,WAAW,IAAI,MAAM,GAAG,SAAS,CAEpC;IAED,IAAI,QAAQ,IAAI,OAAO,GAAG,SAAS,CAElC;IAED,KAAK,IAAI,IAAI,IAAI,MAAM,CAAC,QAAQ,CAAC;IAIjC,OAAO,IAAI,SAAS;IAIpB,WAAW,IAAI,SAAS;CAGzB"}
1
+ {"version":3,"file":"Number.d.ts","sourceRoot":"","sources":["../../../src/oas/number/Number.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAE3C,MAAM,MAAM,YAAY,GAAG;IACzB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,CAAA;AAED;;GAEG;AACH,qBAAa,SAAS;IACpB;;;OAGG;IACH,OAAO,WAAoB;IAC3B;;OAEG;IACH,IAAI,WAAoB;IACxB;;OAEG;IACH,KAAK,EAAE,MAAM,GAAG,SAAS,CAAA;IACzB;;OAEG;IACH,WAAW,EAAE,MAAM,GAAG,SAAS,CAAA;IAC/B;;OAEG;IACH,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAA;gBAEjB,MAAM,EAAE,YAAY;IAMhC,KAAK,IAAI,IAAI,IAAI,MAAM,CAAC,QAAQ,CAAC;IAIjC,OAAO,IAAI,SAAS;IAIpB,WAAW,IAAI,SAAS;CAGzB"}
@@ -1,40 +1,57 @@
1
- var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
2
- if (kind === "m") throw new TypeError("Private method is not writable");
3
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
4
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
5
- return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
6
- };
7
- var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
8
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
9
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
10
- return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
11
- };
12
- var _OasNumber_fields;
1
+ /**
2
+ * Object representing a number in the OpenAPI Specification.
3
+ */
13
4
  export class OasNumber {
14
5
  constructor(fields) {
6
+ /**
7
+ * Object is part the 'schema' set which is used
8
+ * to define data types in an OpenAPI document.
9
+ */
15
10
  Object.defineProperty(this, "oasType", {
16
11
  enumerable: true,
17
12
  configurable: true,
18
13
  writable: true,
19
14
  value: 'schema'
20
15
  });
16
+ /**
17
+ * Constant value 'number' useful for type narrowing and tagged unions.
18
+ */
21
19
  Object.defineProperty(this, "type", {
22
20
  enumerable: true,
23
21
  configurable: true,
24
22
  writable: true,
25
23
  value: 'number'
26
24
  });
27
- _OasNumber_fields.set(this, void 0);
28
- __classPrivateFieldSet(this, _OasNumber_fields, fields, "f");
29
- }
30
- get title() {
31
- return __classPrivateFieldGet(this, _OasNumber_fields, "f").title;
32
- }
33
- get description() {
34
- return __classPrivateFieldGet(this, _OasNumber_fields, "f").description;
35
- }
36
- get nullable() {
37
- return __classPrivateFieldGet(this, _OasNumber_fields, "f").nullable;
25
+ /**
26
+ * A short summary of the number.
27
+ */
28
+ Object.defineProperty(this, "title", {
29
+ enumerable: true,
30
+ configurable: true,
31
+ writable: true,
32
+ value: void 0
33
+ });
34
+ /**
35
+ * A description of the number.
36
+ */
37
+ Object.defineProperty(this, "description", {
38
+ enumerable: true,
39
+ configurable: true,
40
+ writable: true,
41
+ value: void 0
42
+ });
43
+ /**
44
+ * Indicates whether value can be null.
45
+ */
46
+ Object.defineProperty(this, "nullable", {
47
+ enumerable: true,
48
+ configurable: true,
49
+ writable: true,
50
+ value: void 0
51
+ });
52
+ this.title = fields.title;
53
+ this.description = fields.description;
54
+ this.nullable = fields.nullable;
38
55
  }
39
56
  isRef() {
40
57
  return false;
@@ -46,4 +63,3 @@ export class OasNumber {
46
63
  return this;
47
64
  }
48
65
  }
49
- _OasNumber_fields = new WeakMap();
@@ -9,28 +9,72 @@ export type OasObjectFields = {
9
9
  additionalProperties?: boolean | OasSchema | OasRef<'schema'> | undefined;
10
10
  nullable?: boolean | undefined;
11
11
  };
12
- export type RemovePropertyArgs = {
13
- name: string;
14
- };
15
12
  export type AddPropertyArgs = {
16
13
  name: string;
17
14
  schema: OasSchema | OasRef<'schema'> | CustomValue | undefined;
18
15
  required?: boolean;
19
16
  };
17
+ /**
18
+ * Object representing an object and/or a record in the OpenAPI Specification.
19
+ *
20
+ * Objects have fixed, named fields. Records have any number of fields that do not have predefined names.
21
+ */
20
22
  export declare class OasObject {
21
- oasType: 'schema';
22
- type: 'object';
23
- title?: string;
24
- description?: string;
25
- properties?: Record<string, OasSchema | OasRef<'schema'> | CustomValue> | undefined;
26
- required?: string[] | undefined;
27
- additionalProperties?: boolean | OasSchema | OasRef<'schema'> | undefined;
28
- nullable?: boolean | undefined;
23
+ /**
24
+ * Object is part the 'schema' set which is used
25
+ * to define data types in an OpenAPI document.
26
+ */
27
+ oasType: "schema";
28
+ /**
29
+ * Constant value 'object' useful for type narrowing and tagged unions.
30
+ */
31
+ type: "object";
32
+ /**
33
+ * A short summary of the object.
34
+ */
35
+ title: string | undefined;
36
+ /**
37
+ * A description of the object.
38
+ */
39
+ description: string | undefined;
40
+ /**
41
+ * Indicates whether value can be null.
42
+ */
43
+ nullable: boolean | undefined;
44
+ /**
45
+ * A record which maps property names of the object to their schemas.
46
+ */
47
+ properties: Record<string, OasSchema | OasRef<'schema'> | CustomValue> | undefined;
48
+ /**
49
+ * An array of required property names.
50
+ */
51
+ required: string[] | undefined;
52
+ /**
53
+ * Indicates whether additional properties are allowed.
54
+ *
55
+ * This is equivalent to a Record type in TypeScript.
56
+ */
57
+ additionalProperties: boolean | OasSchema | OasRef<'schema'> | undefined;
29
58
  constructor(fields: OasObjectFields);
30
59
  /** Creates new empty OasObject */
31
60
  static empty(): OasObject;
61
+ /**
62
+ * Adds a new property to the object.
63
+ *
64
+ * @param {AddPropertyArgs} args - The arguments for adding a property.
65
+ * @param {string} args.name - The name of the property to add.
66
+ * @param {OasSchema | OasRef<'schema'> | CustomValue | undefined} args.schema - The schema of the property to add.
67
+ * @param {boolean} args.required - Whether the property is required.
68
+ * @returns {OasObject} A new OasObject with the added property.
69
+ */
32
70
  addProperty({ name, schema, required }: AddPropertyArgs): OasObject;
33
- removeProperty({ name }: RemovePropertyArgs): OasObject;
71
+ /**
72
+ * Removes a property from the object.
73
+ *
74
+ * @param {string} name - The name of the property to remove.
75
+ * @returns {OasObject} A new OasObject with the removed property.
76
+ */
77
+ removeProperty(name: string): OasObject;
34
78
  isRef(): this is OasRef<'schema'>;
35
79
  resolve(): OasObject;
36
80
  resolveOnce(): OasObject;
@@ -1 +1 @@
1
- {"version":3,"file":"Object.d.ts","sourceRoot":"","sources":["../../../src/oas/object/Object.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AAE7D,MAAM,MAAM,eAAe,GAAG;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,UAAU,CAAC,EACP,MAAM,CAAC,MAAM,EAAE,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,WAAW,CAAC,GAC1D,SAAS,CAAA;IACb,QAAQ,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAA;IAC/B,oBAAoB,CAAC,EAAE,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,SAAS,CAAA;IACzE,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;CAC/B,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC/B,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;AAED,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,WAAW,GAAG,SAAS,CAAA;IAC9D,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,CAAA;AAED,qBAAa,SAAS;IACpB,OAAO,EAAE,QAAQ,CAAW;IAC5B,IAAI,EAAE,QAAQ,CAAW;IACzB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,UAAU,CAAC,EACP,MAAM,CAAC,MAAM,EAAE,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,WAAW,CAAC,GAC1D,SAAS,CAAA;IACb,QAAQ,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAA;IAC/B,oBAAoB,CAAC,EAAE,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,SAAS,CAAA;IACzE,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;gBAElB,MAAM,EAAE,eAAe;IASnC,kCAAkC;IAClC,MAAM,CAAC,KAAK,IAAI,SAAS;IAOzB,WAAW,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,eAAe,GAAG,SAAS;IAkBnE,cAAc,CAAC,EAAE,IAAI,EAAE,EAAE,kBAAkB,GAAG,SAAS;IAiBvD,KAAK,IAAI,IAAI,IAAI,MAAM,CAAC,QAAQ,CAAC;IAIjC,OAAO,IAAI,SAAS;IAIpB,WAAW,IAAI,SAAS;CAGzB"}
1
+ {"version":3,"file":"Object.d.ts","sourceRoot":"","sources":["../../../src/oas/object/Object.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AAE7D,MAAM,MAAM,eAAe,GAAG;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,UAAU,CAAC,EACP,MAAM,CAAC,MAAM,EAAE,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,WAAW,CAAC,GAC1D,SAAS,CAAA;IACb,QAAQ,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAA;IAC/B,oBAAoB,CAAC,EAAE,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,SAAS,CAAA;IACzE,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;CAC/B,CAAA;AAED,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,WAAW,GAAG,SAAS,CAAA;IAC9D,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,CAAA;AAED;;;;GAIG;AACH,qBAAa,SAAS;IACpB;;;OAGG;IACH,OAAO,WAAoB;IAC3B;;OAEG;IACH,IAAI,WAAoB;IACxB;;OAEG;IACH,KAAK,EAAE,MAAM,GAAG,SAAS,CAAA;IACzB;;OAEG;IACH,WAAW,EAAE,MAAM,GAAG,SAAS,CAAA;IAC/B;;OAEG;IACH,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAA;IAC7B;;OAEG;IACH,UAAU,EACN,MAAM,CAAC,MAAM,EAAE,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,WAAW,CAAC,GAC1D,SAAS,CAAA;IACb;;OAEG;IACH,QAAQ,EAAE,MAAM,EAAE,GAAG,SAAS,CAAA;IAC9B;;;;OAIG;IACH,oBAAoB,EAAE,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,SAAS,CAAA;gBAE5D,MAAM,EAAE,eAAe;IASnC,kCAAkC;IAClC,MAAM,CAAC,KAAK,IAAI,SAAS;IAOzB;;;;;;;;OAQG;IACH,WAAW,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,eAAe,GAAG,SAAS;IAkBnE;;;;;OAKG;IACH,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS;IAiBvC,KAAK,IAAI,IAAI,IAAI,MAAM,CAAC,QAAQ,CAAC;IAIjC,OAAO,IAAI,SAAS;IAIpB,WAAW,IAAI,SAAS;CAGzB"}
@@ -1,48 +1,80 @@
1
+ /**
2
+ * Object representing an object and/or a record in the OpenAPI Specification.
3
+ *
4
+ * Objects have fixed, named fields. Records have any number of fields that do not have predefined names.
5
+ */
1
6
  export class OasObject {
2
7
  constructor(fields) {
8
+ /**
9
+ * Object is part the 'schema' set which is used
10
+ * to define data types in an OpenAPI document.
11
+ */
3
12
  Object.defineProperty(this, "oasType", {
4
13
  enumerable: true,
5
14
  configurable: true,
6
15
  writable: true,
7
16
  value: 'schema'
8
17
  });
18
+ /**
19
+ * Constant value 'object' useful for type narrowing and tagged unions.
20
+ */
9
21
  Object.defineProperty(this, "type", {
10
22
  enumerable: true,
11
23
  configurable: true,
12
24
  writable: true,
13
25
  value: 'object'
14
26
  });
27
+ /**
28
+ * A short summary of the object.
29
+ */
15
30
  Object.defineProperty(this, "title", {
16
31
  enumerable: true,
17
32
  configurable: true,
18
33
  writable: true,
19
34
  value: void 0
20
35
  });
36
+ /**
37
+ * A description of the object.
38
+ */
21
39
  Object.defineProperty(this, "description", {
22
40
  enumerable: true,
23
41
  configurable: true,
24
42
  writable: true,
25
43
  value: void 0
26
44
  });
27
- Object.defineProperty(this, "properties", {
45
+ /**
46
+ * Indicates whether value can be null.
47
+ */
48
+ Object.defineProperty(this, "nullable", {
28
49
  enumerable: true,
29
50
  configurable: true,
30
51
  writable: true,
31
52
  value: void 0
32
53
  });
33
- Object.defineProperty(this, "required", {
54
+ /**
55
+ * A record which maps property names of the object to their schemas.
56
+ */
57
+ Object.defineProperty(this, "properties", {
34
58
  enumerable: true,
35
59
  configurable: true,
36
60
  writable: true,
37
61
  value: void 0
38
62
  });
39
- Object.defineProperty(this, "additionalProperties", {
63
+ /**
64
+ * An array of required property names.
65
+ */
66
+ Object.defineProperty(this, "required", {
40
67
  enumerable: true,
41
68
  configurable: true,
42
69
  writable: true,
43
70
  value: void 0
44
71
  });
45
- Object.defineProperty(this, "nullable", {
72
+ /**
73
+ * Indicates whether additional properties are allowed.
74
+ *
75
+ * This is equivalent to a Record type in TypeScript.
76
+ */
77
+ Object.defineProperty(this, "additionalProperties", {
46
78
  enumerable: true,
47
79
  configurable: true,
48
80
  writable: true,
@@ -62,6 +94,15 @@ export class OasObject {
62
94
  required: []
63
95
  });
64
96
  }
97
+ /**
98
+ * Adds a new property to the object.
99
+ *
100
+ * @param {AddPropertyArgs} args - The arguments for adding a property.
101
+ * @param {string} args.name - The name of the property to add.
102
+ * @param {OasSchema | OasRef<'schema'> | CustomValue | undefined} args.schema - The schema of the property to add.
103
+ * @param {boolean} args.required - Whether the property is required.
104
+ * @returns {OasObject} A new OasObject with the added property.
105
+ */
65
106
  addProperty({ name, schema, required }) {
66
107
  if (!schema) {
67
108
  return this;
@@ -78,7 +119,13 @@ export class OasObject {
78
119
  nullable: this.nullable
79
120
  });
80
121
  }
81
- removeProperty({ name }) {
122
+ /**
123
+ * Removes a property from the object.
124
+ *
125
+ * @param {string} name - The name of the property to remove.
126
+ * @returns {OasObject} A new OasObject with the removed property.
127
+ */
128
+ removeProperty(name) {
82
129
  if (!this.properties?.[name]) {
83
130
  return this;
84
131
  }
@@ -6,18 +6,42 @@ export type StringFields = {
6
6
  enums?: string[];
7
7
  nullable?: boolean;
8
8
  };
9
+ /**
10
+ * Object representing a string in the OpenAPI Specification.
11
+ */
9
12
  export declare class OasString {
10
- #private;
11
- oasType: 'schema';
12
- type: 'string';
13
+ /**
14
+ * Object is part the 'schema' set which is used
15
+ * to define data types in an OpenAPI document.
16
+ */
17
+ oasType: "schema";
18
+ /**
19
+ * Constant value 'string' useful for type narrowing and tagged unions.
20
+ */
21
+ type: "string";
22
+ /**
23
+ * A short summary of the string.
24
+ */
25
+ title: string | undefined;
26
+ /**
27
+ * A description of the string.
28
+ */
29
+ description: string | undefined;
30
+ /**
31
+ * The format of the string.
32
+ */
33
+ format: string | undefined;
34
+ /**
35
+ * An array of allowed values for the string.
36
+ */
37
+ enums: string[] | undefined;
38
+ /**
39
+ * Indicates whether value can be null.
40
+ */
41
+ nullable: boolean | undefined;
13
42
  constructor(fields: StringFields);
14
- get title(): string | undefined;
15
- get description(): string | undefined;
16
- get nullable(): boolean | undefined;
17
43
  isRef(): this is OasRef<'schema'>;
18
44
  resolve(): OasString;
19
45
  resolveOnce(): OasString;
20
- get format(): string | undefined;
21
- get enums(): string[] | undefined;
22
46
  }
23
47
  //# sourceMappingURL=String.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"String.d.ts","sourceRoot":"","sources":["../../../src/oas/string/String.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAE3C,MAAM,MAAM,YAAY,GAAG;IACzB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,MAAM,CAAC,EAAE,MAAM,CAAA;IAEf,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,CAAA;AAED,qBAAa,SAAS;;IACpB,OAAO,EAAE,QAAQ,CAAW;IAC5B,IAAI,EAAE,QAAQ,CAAW;gBAGb,MAAM,EAAE,YAAY;IAIhC,IAAI,KAAK,IAAI,MAAM,GAAG,SAAS,CAE9B;IAED,IAAI,WAAW,IAAI,MAAM,GAAG,SAAS,CAEpC;IAED,IAAI,QAAQ,IAAI,OAAO,GAAG,SAAS,CAElC;IAED,KAAK,IAAI,IAAI,IAAI,MAAM,CAAC,QAAQ,CAAC;IAIjC,OAAO,IAAI,SAAS;IAIpB,WAAW,IAAI,SAAS;IAIxB,IAAI,MAAM,IAAI,MAAM,GAAG,SAAS,CAE/B;IAMD,IAAI,KAAK,IAAI,MAAM,EAAE,GAAG,SAAS,CAEhC;CACF"}
1
+ {"version":3,"file":"String.d.ts","sourceRoot":"","sources":["../../../src/oas/string/String.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAE3C,MAAM,MAAM,YAAY,GAAG;IACzB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,MAAM,CAAC,EAAE,MAAM,CAAA;IAEf,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,CAAA;AAED;;GAEG;AACH,qBAAa,SAAS;IACpB;;;OAGG;IACH,OAAO,WAAoB;IAC3B;;OAEG;IACH,IAAI,WAAoB;IACxB;;OAEG;IACH,KAAK,EAAE,MAAM,GAAG,SAAS,CAAA;IACzB;;OAEG;IACH,WAAW,EAAE,MAAM,GAAG,SAAS,CAAA;IAC/B;;OAEG;IACH,MAAM,EAAE,MAAM,GAAG,SAAS,CAAA;IAC1B;;OAEG;IACH,KAAK,EAAE,MAAM,EAAE,GAAG,SAAS,CAAA;IAC3B;;OAEG;IACH,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAA;gBAEjB,MAAM,EAAE,YAAY;IAYhC,KAAK,IAAI,IAAI,IAAI,MAAM,CAAC,QAAQ,CAAC;IAIjC,OAAO,IAAI,SAAS;IAIpB,WAAW,IAAI,SAAS;CAGzB"}