@skmtc/core 0.0.237 → 0.0.239

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.
@@ -20,6 +20,7 @@ export declare class Trail {
20
20
  addMethod(method: string): Trail;
21
21
  addSchemaRef(schemaRef: string): Trail;
22
22
  toSubMethodTrail(): Trail;
23
+ clone(): Trail;
23
24
  toString(): string;
24
25
  }
25
26
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"Trail.d.ts","sourceRoot":"","sources":["../../src/context/Trail.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAE9C,KAAK,eAAe,GAAG;IACrB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;IACf,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,SAAS,CAAC,QAAQ,CAAA;IAC7B,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB,CAAA;AAED,qBAAa,KAAK;IAChB,IAAI,EAAE,MAAM,EAAE,CAAA;IACd,OAAO,EAAE,MAAM,GAAG,SAAS,CAAA;IAC3B,MAAM,EAAE,MAAM,GAAG,SAAS,CAAA;IAC1B,SAAS,EAAE,MAAM,GAAG,SAAS,CAAA;IAC7B,QAAQ,EAAE,SAAS,CAAC,QAAQ,GAAG,SAAS,CAAA;IACxC,cAAc,CAAC,EAAE,MAAM,CAAA;gBAEX,EACV,IAAS,EACT,OAAO,EACP,MAAM,EACN,SAAS,EACT,QAAQ,EACR,cAAc,EACf,GAAE,eAAoB;IASvB,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK;IAWxB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK;IAWlC,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK;IAWhC,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,KAAK;IAWtC,gBAAgB,IAAI,KAAK;IAWzB,QAAQ,IAAI,MAAM;CASnB"}
1
+ {"version":3,"file":"Trail.d.ts","sourceRoot":"","sources":["../../src/context/Trail.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAE9C,KAAK,eAAe,GAAG;IACrB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;IACf,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,SAAS,CAAC,QAAQ,CAAA;IAC7B,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB,CAAA;AAED,qBAAa,KAAK;IAChB,IAAI,EAAE,MAAM,EAAE,CAAA;IACd,OAAO,EAAE,MAAM,GAAG,SAAS,CAAA;IAC3B,MAAM,EAAE,MAAM,GAAG,SAAS,CAAA;IAC1B,SAAS,EAAE,MAAM,GAAG,SAAS,CAAA;IAC7B,QAAQ,EAAE,SAAS,CAAC,QAAQ,GAAG,SAAS,CAAA;IACxC,cAAc,CAAC,EAAE,MAAM,CAAA;gBAEX,EACV,IAAS,EACT,OAAO,EACP,MAAM,EACN,SAAS,EACT,QAAQ,EACR,cAAc,EACf,GAAE,eAAoB;IASvB,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK;IAWxB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK;IAWlC,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK;IAWhC,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,KAAK;IAWtC,gBAAgB,IAAI,KAAK;IAWzB,KAAK,IAAI,KAAK;IAWd,QAAQ,IAAI,MAAM;CASnB"}
@@ -93,6 +93,16 @@ export class Trail {
93
93
  subMethodIndex: 0
94
94
  });
95
95
  }
96
+ clone() {
97
+ return new Trail({
98
+ path: this.path,
99
+ apiPath: this.apiPath,
100
+ method: this.method,
101
+ schemaRef: this.schemaRef,
102
+ document: this.document,
103
+ subMethodIndex: this.subMethodIndex
104
+ });
105
+ }
96
106
  toString() {
97
107
  return this.path.reduce((acc, path) => {
98
108
  if (!acc) {
@@ -7,8 +7,8 @@ import type { CustomValue } from '../../types/CustomValue.js';
7
7
  export type OasObjectFields = {
8
8
  title?: string;
9
9
  description?: string;
10
- properties?: Record<string, OasSchema | OasRef<'schema'> | CustomValue>;
11
- required: string[] | undefined;
10
+ properties: Record<string, OasSchema | OasRef<'schema'> | CustomValue>;
11
+ required: string[];
12
12
  additionalProperties?: boolean | OasSchema | OasRef<'schema'>;
13
13
  nullable?: boolean;
14
14
  };
@@ -16,17 +16,20 @@ type FromFieldsArgs = {
16
16
  fields: OasObjectFields;
17
17
  context: CoreContext;
18
18
  };
19
+ export type RemovePropertyArgs = {
20
+ name: string;
21
+ };
22
+ export type AddPropertyArgs = {
23
+ name: string;
24
+ schema: OasSchema | OasRef<'schema'> | CustomValue | undefined;
25
+ required?: boolean;
26
+ };
19
27
  type ToObjectV3Args = {
20
28
  fields: OasObjectFields;
21
29
  trail: Trail;
22
30
  skipped: Record<string, unknown>;
23
31
  context: CoreContext;
24
32
  };
25
- type AddPropertyArgs = {
26
- name: string;
27
- schema: OasSchema | OasRef<'schema'> | CustomValue;
28
- required?: boolean;
29
- };
30
33
  export declare class OasObject extends OasBase {
31
34
  #private;
32
35
  oasType: 'schema';
@@ -39,8 +42,8 @@ export declare class OasObject extends OasBase {
39
42
  get required(): string[] | undefined;
40
43
  get additionalProperties(): boolean | OasSchema | OasRef<'schema'> | undefined;
41
44
  get nullable(): boolean | undefined;
42
- addProperty({ name, schema, required }: AddPropertyArgs): void;
43
- removeProperty(name: string): void;
45
+ addProperty({ name, schema, required }: AddPropertyArgs): OasObject;
46
+ removeProperty({ name }: RemovePropertyArgs): OasObject;
44
47
  isRef(): this is OasRef<'schema'>;
45
48
  resolve(): OasObject;
46
49
  resolveOnce(): OasObject;
@@ -1 +1 @@
1
- {"version":3,"file":"Object.d.ts","sourceRoot":"","sources":["../../../src/oas/object/Object.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAA;AACvD,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAA;AAC9C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAA;AAC/D,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,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,WAAW,CAAC,CAAA;IACvE,QAAQ,EAAE,MAAM,EAAE,GAAG,SAAS,CAAA;IAC9B,oBAAoB,CAAC,EAAE,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAA;IAC7D,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,CAAA;AAED,KAAK,cAAc,GAAG;IACpB,MAAM,EAAE,eAAe,CAAA;IACvB,OAAO,EAAE,WAAW,CAAA;CACrB,CAAA;AAED,KAAK,cAAc,GAAG;IACpB,MAAM,EAAE,eAAe,CAAA;IACvB,KAAK,EAAE,KAAK,CAAA;IACZ,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAChC,OAAO,EAAE,WAAW,CAAA;CACrB,CAAA;AAED,KAAK,eAAe,GAAG;IACrB,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,WAAW,CAAA;IAClD,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,CAAA;AAED,qBAAa,SAAU,SAAQ,OAAO;;IACpC,OAAO,EAAE,QAAQ,CAAW;IAC5B,IAAI,EAAE,QAAQ,CAAW;gBAGb,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,cAAc;IAM/D,MAAM,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,cAAc,GAAG,SAAS;IASjE,IAAI,KAAK,IAAI,MAAM,GAAG,SAAS,CAE9B;IAED,IAAI,WAAW,IAAI,MAAM,GAAG,SAAS,CAEpC;IAED,IAAI,UAAU,IACV,MAAM,CAAC,MAAM,EAAE,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,WAAW,CAAC,GAC1D,SAAS,CAEZ;IAED,IAAI,QAAQ,IAAI,MAAM,EAAE,GAAG,SAAS,CAEnC;IAED,IAAI,oBAAoB,IACpB,OAAO,GACP,SAAS,GACT,MAAM,CAAC,QAAQ,CAAC,GAChB,SAAS,CAEZ;IAED,IAAI,QAAQ,IAAI,OAAO,GAAG,SAAS,CAElC;IAED,WAAW,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,eAAe;IAevD,cAAc,CAAC,IAAI,EAAE,MAAM;IAQ3B,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,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAA;AACvD,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAA;AAC9C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAA;AAC/D,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,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,WAAW,CAAC,CAAA;IACtE,QAAQ,EAAE,MAAM,EAAE,CAAA;IAClB,oBAAoB,CAAC,EAAE,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAA;IAC7D,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,CAAA;AAED,KAAK,cAAc,GAAG;IACpB,MAAM,EAAE,eAAe,CAAA;IACvB,OAAO,EAAE,WAAW,CAAA;CACrB,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,KAAK,cAAc,GAAG;IACpB,MAAM,EAAE,eAAe,CAAA;IACvB,KAAK,EAAE,KAAK,CAAA;IACZ,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAChC,OAAO,EAAE,WAAW,CAAA;CACrB,CAAA;AAED,qBAAa,SAAU,SAAQ,OAAO;;IACpC,OAAO,EAAE,QAAQ,CAAW;IAC5B,IAAI,EAAE,QAAQ,CAAW;gBAGb,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,cAAc;IAM/D,MAAM,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,cAAc,GAAG,SAAS;IASjE,IAAI,KAAK,IAAI,MAAM,GAAG,SAAS,CAE9B;IAED,IAAI,WAAW,IAAI,MAAM,GAAG,SAAS,CAEpC;IAED,IAAI,UAAU,IACV,MAAM,CAAC,MAAM,EAAE,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,WAAW,CAAC,GAC1D,SAAS,CAEZ;IAED,IAAI,QAAQ,IAAI,MAAM,EAAE,GAAG,SAAS,CAEnC;IAED,IAAI,oBAAoB,IACpB,OAAO,GACP,SAAS,GACT,MAAM,CAAC,QAAQ,CAAC,GAChB,SAAS,CAEZ;IAED,IAAI,QAAQ,IAAI,OAAO,GAAG,SAAS,CAElC;IAED,WAAW,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,eAAe,GAAG,SAAS;IAsBnE,cAAc,CAAC,EAAE,IAAI,EAAE,EAAE,kBAAkB,GAAG,SAAS;IAqBvD,KAAK,IAAI,IAAI,IAAI,MAAM,CAAC,QAAQ,CAAC;IAIjC,OAAO,IAAI,SAAS;IAIpB,WAAW,IAAI,SAAS;CAGzB"}
@@ -57,22 +57,40 @@ export class OasObject extends OasBase {
57
57
  return __classPrivateFieldGet(this, _OasObject_fields, "f").nullable;
58
58
  }
59
59
  addProperty({ name, schema, required }) {
60
- if (__classPrivateFieldGet(this, _OasObject_fields, "f").properties === undefined) {
61
- __classPrivateFieldGet(this, _OasObject_fields, "f").properties = {};
62
- }
63
- __classPrivateFieldGet(this, _OasObject_fields, "f").properties[name] = schema;
64
- if (required) {
65
- if (__classPrivateFieldGet(this, _OasObject_fields, "f").required === undefined) {
66
- __classPrivateFieldGet(this, _OasObject_fields, "f").required = [];
67
- }
68
- __classPrivateFieldGet(this, _OasObject_fields, "f").required.push(name);
60
+ if (!schema) {
61
+ return this;
69
62
  }
63
+ const fields = structuredClone(__classPrivateFieldGet(this, _OasObject_fields, "f"));
64
+ return new OasObject({
65
+ fields: {
66
+ ...fields,
67
+ properties: {
68
+ ...fields.properties,
69
+ [name]: schema
70
+ },
71
+ required: required ? [...fields.required, name] : fields.required
72
+ },
73
+ trail: this.trail.clone(),
74
+ context: this.context,
75
+ skipped: {}
76
+ });
70
77
  }
71
- removeProperty(name) {
72
- __classPrivateFieldGet(this, _OasObject_fields, "f").required = __classPrivateFieldGet(this, _OasObject_fields, "f").required?.filter(n => n !== name);
73
- if (__classPrivateFieldGet(this, _OasObject_fields, "f").properties?.[name] !== undefined) {
74
- delete __classPrivateFieldGet(this, _OasObject_fields, "f").properties[name];
78
+ removeProperty({ name }) {
79
+ if (!__classPrivateFieldGet(this, _OasObject_fields, "f").properties[name]) {
80
+ return this;
75
81
  }
82
+ const fields = structuredClone(__classPrivateFieldGet(this, _OasObject_fields, "f"));
83
+ const { [name]: _removed, ...properties } = fields.properties;
84
+ return new OasObject({
85
+ fields: {
86
+ ...fields,
87
+ properties,
88
+ required: fields.required.filter(n => n !== name)
89
+ },
90
+ trail: this.trail.clone(),
91
+ context: this.context,
92
+ skipped: {}
93
+ });
76
94
  }
77
95
  isRef() {
78
96
  return false;
@@ -1 +1 @@
1
- {"version":3,"file":"toObject.d.ts","sourceRoot":"","sources":["../../../src/oas/object/toObject.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAA;AACnD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAA;AAC/D,OAAO,EAAE,SAAS,EAAwB,MAAM,aAAa,CAAA;AAI7D,KAAK,YAAY,GAAG;IAClB,KAAK,EAAE,SAAS,CAAC,oBAAoB,CAAA;IACrC,KAAK,EAAE,KAAK,CAAA;IACZ,OAAO,EAAE,WAAW,CAAA;CACrB,CAAA;AAED,eAAO,MAAM,QAAQ,8BAIlB,YAAY,KAAG,SA8BjB,CAAA"}
1
+ {"version":3,"file":"toObject.d.ts","sourceRoot":"","sources":["../../../src/oas/object/toObject.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAA;AACnD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAA;AAC/D,OAAO,EAAE,SAAS,EAAwB,MAAM,aAAa,CAAA;AAI7D,KAAK,YAAY,GAAG;IAClB,KAAK,EAAE,SAAS,CAAC,oBAAoB,CAAA;IACrC,KAAK,EAAE,KAAK,CAAA;IACZ,OAAO,EAAE,WAAW,CAAA;CACrB,CAAA;AAED,eAAO,MAAM,QAAQ,8BAIlB,YAAY,KAAG,SA+BjB,CAAA"}
@@ -11,8 +11,8 @@ export const toObject = ({ value, trail, context }) => {
11
11
  schemas: properties,
12
12
  trail: trail.add('properties'),
13
13
  context
14
- }),
15
- required,
14
+ }) ?? {},
15
+ required: required ?? [],
16
16
  additionalProperties: toAdditionalPropertiesV3({
17
17
  additionalProperties,
18
18
  trail: trail.add('additionalProperties'),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@skmtc/core",
3
- "version": "0.0.237",
3
+ "version": "0.0.239",
4
4
  "main": "./script/mod.js",
5
5
  "module": "./esm/mod.js",
6
6
  "exports": {
@@ -20,6 +20,7 @@ export declare class Trail {
20
20
  addMethod(method: string): Trail;
21
21
  addSchemaRef(schemaRef: string): Trail;
22
22
  toSubMethodTrail(): Trail;
23
+ clone(): Trail;
23
24
  toString(): string;
24
25
  }
25
26
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"Trail.d.ts","sourceRoot":"","sources":["../../src/context/Trail.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAE9C,KAAK,eAAe,GAAG;IACrB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;IACf,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,SAAS,CAAC,QAAQ,CAAA;IAC7B,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB,CAAA;AAED,qBAAa,KAAK;IAChB,IAAI,EAAE,MAAM,EAAE,CAAA;IACd,OAAO,EAAE,MAAM,GAAG,SAAS,CAAA;IAC3B,MAAM,EAAE,MAAM,GAAG,SAAS,CAAA;IAC1B,SAAS,EAAE,MAAM,GAAG,SAAS,CAAA;IAC7B,QAAQ,EAAE,SAAS,CAAC,QAAQ,GAAG,SAAS,CAAA;IACxC,cAAc,CAAC,EAAE,MAAM,CAAA;gBAEX,EACV,IAAS,EACT,OAAO,EACP,MAAM,EACN,SAAS,EACT,QAAQ,EACR,cAAc,EACf,GAAE,eAAoB;IASvB,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK;IAWxB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK;IAWlC,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK;IAWhC,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,KAAK;IAWtC,gBAAgB,IAAI,KAAK;IAWzB,QAAQ,IAAI,MAAM;CASnB"}
1
+ {"version":3,"file":"Trail.d.ts","sourceRoot":"","sources":["../../src/context/Trail.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAE9C,KAAK,eAAe,GAAG;IACrB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;IACf,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,SAAS,CAAC,QAAQ,CAAA;IAC7B,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB,CAAA;AAED,qBAAa,KAAK;IAChB,IAAI,EAAE,MAAM,EAAE,CAAA;IACd,OAAO,EAAE,MAAM,GAAG,SAAS,CAAA;IAC3B,MAAM,EAAE,MAAM,GAAG,SAAS,CAAA;IAC1B,SAAS,EAAE,MAAM,GAAG,SAAS,CAAA;IAC7B,QAAQ,EAAE,SAAS,CAAC,QAAQ,GAAG,SAAS,CAAA;IACxC,cAAc,CAAC,EAAE,MAAM,CAAA;gBAEX,EACV,IAAS,EACT,OAAO,EACP,MAAM,EACN,SAAS,EACT,QAAQ,EACR,cAAc,EACf,GAAE,eAAoB;IASvB,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK;IAWxB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK;IAWlC,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK;IAWhC,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,KAAK;IAWtC,gBAAgB,IAAI,KAAK;IAWzB,KAAK,IAAI,KAAK;IAWd,QAAQ,IAAI,MAAM;CASnB"}
@@ -96,6 +96,16 @@ class Trail {
96
96
  subMethodIndex: 0
97
97
  });
98
98
  }
99
+ clone() {
100
+ return new Trail({
101
+ path: this.path,
102
+ apiPath: this.apiPath,
103
+ method: this.method,
104
+ schemaRef: this.schemaRef,
105
+ document: this.document,
106
+ subMethodIndex: this.subMethodIndex
107
+ });
108
+ }
99
109
  toString() {
100
110
  return this.path.reduce((acc, path) => {
101
111
  if (!acc) {
@@ -7,8 +7,8 @@ import type { CustomValue } from '../../types/CustomValue.js';
7
7
  export type OasObjectFields = {
8
8
  title?: string;
9
9
  description?: string;
10
- properties?: Record<string, OasSchema | OasRef<'schema'> | CustomValue>;
11
- required: string[] | undefined;
10
+ properties: Record<string, OasSchema | OasRef<'schema'> | CustomValue>;
11
+ required: string[];
12
12
  additionalProperties?: boolean | OasSchema | OasRef<'schema'>;
13
13
  nullable?: boolean;
14
14
  };
@@ -16,17 +16,20 @@ type FromFieldsArgs = {
16
16
  fields: OasObjectFields;
17
17
  context: CoreContext;
18
18
  };
19
+ export type RemovePropertyArgs = {
20
+ name: string;
21
+ };
22
+ export type AddPropertyArgs = {
23
+ name: string;
24
+ schema: OasSchema | OasRef<'schema'> | CustomValue | undefined;
25
+ required?: boolean;
26
+ };
19
27
  type ToObjectV3Args = {
20
28
  fields: OasObjectFields;
21
29
  trail: Trail;
22
30
  skipped: Record<string, unknown>;
23
31
  context: CoreContext;
24
32
  };
25
- type AddPropertyArgs = {
26
- name: string;
27
- schema: OasSchema | OasRef<'schema'> | CustomValue;
28
- required?: boolean;
29
- };
30
33
  export declare class OasObject extends OasBase {
31
34
  #private;
32
35
  oasType: 'schema';
@@ -39,8 +42,8 @@ export declare class OasObject extends OasBase {
39
42
  get required(): string[] | undefined;
40
43
  get additionalProperties(): boolean | OasSchema | OasRef<'schema'> | undefined;
41
44
  get nullable(): boolean | undefined;
42
- addProperty({ name, schema, required }: AddPropertyArgs): void;
43
- removeProperty(name: string): void;
45
+ addProperty({ name, schema, required }: AddPropertyArgs): OasObject;
46
+ removeProperty({ name }: RemovePropertyArgs): OasObject;
44
47
  isRef(): this is OasRef<'schema'>;
45
48
  resolve(): OasObject;
46
49
  resolveOnce(): OasObject;
@@ -1 +1 @@
1
- {"version":3,"file":"Object.d.ts","sourceRoot":"","sources":["../../../src/oas/object/Object.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAA;AACvD,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAA;AAC9C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAA;AAC/D,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,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,WAAW,CAAC,CAAA;IACvE,QAAQ,EAAE,MAAM,EAAE,GAAG,SAAS,CAAA;IAC9B,oBAAoB,CAAC,EAAE,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAA;IAC7D,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,CAAA;AAED,KAAK,cAAc,GAAG;IACpB,MAAM,EAAE,eAAe,CAAA;IACvB,OAAO,EAAE,WAAW,CAAA;CACrB,CAAA;AAED,KAAK,cAAc,GAAG;IACpB,MAAM,EAAE,eAAe,CAAA;IACvB,KAAK,EAAE,KAAK,CAAA;IACZ,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAChC,OAAO,EAAE,WAAW,CAAA;CACrB,CAAA;AAED,KAAK,eAAe,GAAG;IACrB,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,WAAW,CAAA;IAClD,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,CAAA;AAED,qBAAa,SAAU,SAAQ,OAAO;;IACpC,OAAO,EAAE,QAAQ,CAAW;IAC5B,IAAI,EAAE,QAAQ,CAAW;gBAGb,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,cAAc;IAM/D,MAAM,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,cAAc,GAAG,SAAS;IASjE,IAAI,KAAK,IAAI,MAAM,GAAG,SAAS,CAE9B;IAED,IAAI,WAAW,IAAI,MAAM,GAAG,SAAS,CAEpC;IAED,IAAI,UAAU,IACV,MAAM,CAAC,MAAM,EAAE,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,WAAW,CAAC,GAC1D,SAAS,CAEZ;IAED,IAAI,QAAQ,IAAI,MAAM,EAAE,GAAG,SAAS,CAEnC;IAED,IAAI,oBAAoB,IACpB,OAAO,GACP,SAAS,GACT,MAAM,CAAC,QAAQ,CAAC,GAChB,SAAS,CAEZ;IAED,IAAI,QAAQ,IAAI,OAAO,GAAG,SAAS,CAElC;IAED,WAAW,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,eAAe;IAevD,cAAc,CAAC,IAAI,EAAE,MAAM;IAQ3B,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,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAA;AACvD,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAA;AAC9C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAA;AAC/D,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,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,WAAW,CAAC,CAAA;IACtE,QAAQ,EAAE,MAAM,EAAE,CAAA;IAClB,oBAAoB,CAAC,EAAE,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAA;IAC7D,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,CAAA;AAED,KAAK,cAAc,GAAG;IACpB,MAAM,EAAE,eAAe,CAAA;IACvB,OAAO,EAAE,WAAW,CAAA;CACrB,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,KAAK,cAAc,GAAG;IACpB,MAAM,EAAE,eAAe,CAAA;IACvB,KAAK,EAAE,KAAK,CAAA;IACZ,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAChC,OAAO,EAAE,WAAW,CAAA;CACrB,CAAA;AAED,qBAAa,SAAU,SAAQ,OAAO;;IACpC,OAAO,EAAE,QAAQ,CAAW;IAC5B,IAAI,EAAE,QAAQ,CAAW;gBAGb,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,cAAc;IAM/D,MAAM,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,cAAc,GAAG,SAAS;IASjE,IAAI,KAAK,IAAI,MAAM,GAAG,SAAS,CAE9B;IAED,IAAI,WAAW,IAAI,MAAM,GAAG,SAAS,CAEpC;IAED,IAAI,UAAU,IACV,MAAM,CAAC,MAAM,EAAE,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,WAAW,CAAC,GAC1D,SAAS,CAEZ;IAED,IAAI,QAAQ,IAAI,MAAM,EAAE,GAAG,SAAS,CAEnC;IAED,IAAI,oBAAoB,IACpB,OAAO,GACP,SAAS,GACT,MAAM,CAAC,QAAQ,CAAC,GAChB,SAAS,CAEZ;IAED,IAAI,QAAQ,IAAI,OAAO,GAAG,SAAS,CAElC;IAED,WAAW,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,eAAe,GAAG,SAAS;IAsBnE,cAAc,CAAC,EAAE,IAAI,EAAE,EAAE,kBAAkB,GAAG,SAAS;IAqBvD,KAAK,IAAI,IAAI,IAAI,MAAM,CAAC,QAAQ,CAAC;IAIjC,OAAO,IAAI,SAAS;IAIpB,WAAW,IAAI,SAAS;CAGzB"}
@@ -60,22 +60,40 @@ class OasObject extends OasBase_js_1.OasBase {
60
60
  return __classPrivateFieldGet(this, _OasObject_fields, "f").nullable;
61
61
  }
62
62
  addProperty({ name, schema, required }) {
63
- if (__classPrivateFieldGet(this, _OasObject_fields, "f").properties === undefined) {
64
- __classPrivateFieldGet(this, _OasObject_fields, "f").properties = {};
65
- }
66
- __classPrivateFieldGet(this, _OasObject_fields, "f").properties[name] = schema;
67
- if (required) {
68
- if (__classPrivateFieldGet(this, _OasObject_fields, "f").required === undefined) {
69
- __classPrivateFieldGet(this, _OasObject_fields, "f").required = [];
70
- }
71
- __classPrivateFieldGet(this, _OasObject_fields, "f").required.push(name);
63
+ if (!schema) {
64
+ return this;
72
65
  }
66
+ const fields = structuredClone(__classPrivateFieldGet(this, _OasObject_fields, "f"));
67
+ return new OasObject({
68
+ fields: {
69
+ ...fields,
70
+ properties: {
71
+ ...fields.properties,
72
+ [name]: schema
73
+ },
74
+ required: required ? [...fields.required, name] : fields.required
75
+ },
76
+ trail: this.trail.clone(),
77
+ context: this.context,
78
+ skipped: {}
79
+ });
73
80
  }
74
- removeProperty(name) {
75
- __classPrivateFieldGet(this, _OasObject_fields, "f").required = __classPrivateFieldGet(this, _OasObject_fields, "f").required?.filter(n => n !== name);
76
- if (__classPrivateFieldGet(this, _OasObject_fields, "f").properties?.[name] !== undefined) {
77
- delete __classPrivateFieldGet(this, _OasObject_fields, "f").properties[name];
81
+ removeProperty({ name }) {
82
+ if (!__classPrivateFieldGet(this, _OasObject_fields, "f").properties[name]) {
83
+ return this;
78
84
  }
85
+ const fields = structuredClone(__classPrivateFieldGet(this, _OasObject_fields, "f"));
86
+ const { [name]: _removed, ...properties } = fields.properties;
87
+ return new OasObject({
88
+ fields: {
89
+ ...fields,
90
+ properties,
91
+ required: fields.required.filter(n => n !== name)
92
+ },
93
+ trail: this.trail.clone(),
94
+ context: this.context,
95
+ skipped: {}
96
+ });
79
97
  }
80
98
  isRef() {
81
99
  return false;
@@ -1 +1 @@
1
- {"version":3,"file":"toObject.d.ts","sourceRoot":"","sources":["../../../src/oas/object/toObject.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAA;AACnD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAA;AAC/D,OAAO,EAAE,SAAS,EAAwB,MAAM,aAAa,CAAA;AAI7D,KAAK,YAAY,GAAG;IAClB,KAAK,EAAE,SAAS,CAAC,oBAAoB,CAAA;IACrC,KAAK,EAAE,KAAK,CAAA;IACZ,OAAO,EAAE,WAAW,CAAA;CACrB,CAAA;AAED,eAAO,MAAM,QAAQ,8BAIlB,YAAY,KAAG,SA8BjB,CAAA"}
1
+ {"version":3,"file":"toObject.d.ts","sourceRoot":"","sources":["../../../src/oas/object/toObject.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAA;AACnD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAA;AAC/D,OAAO,EAAE,SAAS,EAAwB,MAAM,aAAa,CAAA;AAI7D,KAAK,YAAY,GAAG;IAClB,KAAK,EAAE,SAAS,CAAC,oBAAoB,CAAA;IACrC,KAAK,EAAE,KAAK,CAAA;IACZ,OAAO,EAAE,WAAW,CAAA;CACrB,CAAA;AAED,eAAO,MAAM,QAAQ,8BAIlB,YAAY,KAAG,SA+BjB,CAAA"}
@@ -14,8 +14,8 @@ const toObject = ({ value, trail, context }) => {
14
14
  schemas: properties,
15
15
  trail: trail.add('properties'),
16
16
  context
17
- }),
18
- required,
17
+ }) ?? {},
18
+ required: required ?? [],
19
19
  additionalProperties: (0, toAdditionalPropertiesV3_js_1.toAdditionalPropertiesV3)({
20
20
  additionalProperties,
21
21
  trail: trail.add('additionalProperties'),