@skmtc/core 0.0.446 → 0.0.447

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.
@@ -4,7 +4,8 @@ import { OasObject } from './Object.js';
4
4
  type ToObjectArgs = {
5
5
  value: OpenAPIV3.NonArraySchemaObject;
6
6
  context: ParseContext;
7
+ childOfComponents?: boolean;
7
8
  };
8
- export declare const toObject: ({ value, context }: ToObjectArgs) => OasObject;
9
+ export declare const toObject: ({ value, context, childOfComponents }: ToObjectArgs) => OasObject;
9
10
  export {};
10
11
  //# sourceMappingURL=toObject.d.ts.map
@@ -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,YAAY,EAAE,MAAM,+BAA+B,CAAA;AACjE,OAAO,EAAE,SAAS,EAAwB,MAAM,aAAa,CAAA;AAK7D,KAAK,YAAY,GAAG;IAClB,KAAK,EAAE,SAAS,CAAC,oBAAoB,CAAA;IACrC,OAAO,EAAE,YAAY,CAAA;CACtB,CAAA;AAED,eAAO,MAAM,QAAQ,uBAAwB,YAAY,KAAG,SAsC3D,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,YAAY,EAAE,MAAM,+BAA+B,CAAA;AACjE,OAAO,EAAE,SAAS,EAAwB,MAAM,aAAa,CAAA;AAK7D,KAAK,YAAY,GAAG;IAClB,KAAK,EAAE,SAAS,CAAC,oBAAoB,CAAA;IACrC,OAAO,EAAE,YAAY,CAAA;IACrB,iBAAiB,CAAC,EAAE,OAAO,CAAA;CAC5B,CAAA;AAED,eAAO,MAAM,QAAQ,0CAA2C,YAAY,KAAG,SAsC9E,CAAA"}
@@ -2,7 +2,7 @@ import { OasObject } from './Object.js';
2
2
  import { toOptionalSchemasV3 } from '../schema/toSchemasV3.js';
3
3
  import { toAdditionalPropertiesV3 } from './toAdditionalPropertiesV3.js';
4
4
  import { toSpecificationExtensionsV3 } from '../specificationExtensions/toSpecificationExtensionsV3.js';
5
- export const toObject = ({ value, context }) => {
5
+ export const toObject = ({ value, context, childOfComponents }) => {
6
6
  const { type: _type, title, description, properties, required, additionalProperties, nullable, example, ...skipped } = value;
7
7
  const extensionFields = toSpecificationExtensionsV3({
8
8
  skipped,
@@ -16,7 +16,7 @@ export const toObject = ({ value, context }) => {
16
16
  properties: context.trace('properties', () => toOptionalSchemasV3({
17
17
  schemas: properties,
18
18
  context,
19
- childOfComponents: false
19
+ childOfObject: childOfComponents
20
20
  })),
21
21
  required: required,
22
22
  additionalProperties: context.trace('additionalProperties', () => toAdditionalPropertiesV3({ additionalProperties, context })),
@@ -5,20 +5,23 @@ import type { OasRef } from '../ref/Ref.js';
5
5
  type ToSchemasV3Args = {
6
6
  schemas: Record<string, OpenAPIV3.ReferenceObject | OpenAPIV3.SchemaObject>;
7
7
  context: ParseContext;
8
- childOfComponents: boolean;
8
+ childOfComponents?: boolean;
9
+ childOfObject?: boolean;
9
10
  };
10
- export declare const toSchemasV3: ({ schemas, context, childOfComponents }: ToSchemasV3Args) => Record<string, OasSchema | OasRef<"schema">>;
11
+ export declare const toSchemasV3: ({ schemas, context, childOfComponents, childOfObject }: ToSchemasV3Args) => Record<string, OasSchema | OasRef<"schema">>;
11
12
  type ToOptionalSchemasV3Args = {
12
13
  schemas: Record<string, OpenAPIV3.ReferenceObject | OpenAPIV3.SchemaObject> | undefined;
13
14
  context: ParseContext;
14
- childOfComponents: boolean;
15
+ childOfComponents?: boolean;
16
+ childOfObject?: boolean;
15
17
  };
16
- export declare const toOptionalSchemasV3: ({ schemas, context, childOfComponents }: ToOptionalSchemasV3Args) => Record<string, OasSchema | OasRef<"schema">> | undefined;
18
+ export declare const toOptionalSchemasV3: ({ schemas, context, childOfComponents, childOfObject }: ToOptionalSchemasV3Args) => Record<string, OasSchema | OasRef<"schema">> | undefined;
17
19
  type ToSchemaV3Args = {
18
20
  schema: OpenAPIV3.ReferenceObject | OpenAPIV3.SchemaObject;
19
21
  context: ParseContext;
22
+ childOfComponents?: boolean;
20
23
  };
21
- export declare const toSchemaV3: ({ schema, context }: ToSchemaV3Args) => OasSchema | OasRef<"schema">;
24
+ export declare const toSchemaV3: ({ schema, context, childOfComponents }: ToSchemaV3Args) => OasSchema | OasRef<"schema">;
22
25
  type ToOptionalSchemaV3Args = {
23
26
  schema: OpenAPIV3.ReferenceObject | OpenAPIV3.SchemaObject | undefined;
24
27
  context: ParseContext;
@@ -1 +1 @@
1
- {"version":3,"file":"toSchemasV3.d.ts","sourceRoot":"","sources":["../../../src/oas/schema/toSchemasV3.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAA;AAEjE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAE9C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAY3C,KAAK,eAAe,GAAG;IACrB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,eAAe,GAAG,SAAS,CAAC,YAAY,CAAC,CAAA;IAC3E,OAAO,EAAE,YAAY,CAAA;IACrB,iBAAiB,EAAE,OAAO,CAAA;CAC3B,CAAA;AAED,eAAO,MAAM,WAAW,4CAIrB,eAAe,KAAG,MAAM,CAAC,MAAM,EAAE,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,CAqB/D,CAAA;AAED,KAAK,uBAAuB,GAAG;IAC7B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,eAAe,GAAG,SAAS,CAAC,YAAY,CAAC,GAAG,SAAS,CAAA;IACvF,OAAO,EAAE,YAAY,CAAA;IACrB,iBAAiB,EAAE,OAAO,CAAA;CAC3B,CAAA;AAED,eAAO,MAAM,mBAAmB,4CAI7B,uBAAuB,KAAG,MAAM,CAAC,MAAM,EAAE,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,SAM3E,CAAA;AAED,KAAK,cAAc,GAAG;IACpB,MAAM,EAAE,SAAS,CAAC,eAAe,GAAG,SAAS,CAAC,YAAY,CAAA;IAC1D,OAAO,EAAE,YAAY,CAAA;CACtB,CAAA;AAED,eAAO,MAAM,UAAU,wBAAyB,cAAc,KAAG,SAAS,GAAG,MAAM,CAAC,QAAQ,CAuC3F,CAAA;AAED,KAAK,sBAAsB,GAAG;IAC5B,MAAM,EAAE,SAAS,CAAC,eAAe,GAAG,SAAS,CAAC,YAAY,GAAG,SAAS,CAAA;IACtE,OAAO,EAAE,YAAY,CAAA;CACtB,CAAA;AAED,eAAO,MAAM,kBAAkB,wBAG5B,sBAAsB,KAAG,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,SAM1D,CAAA"}
1
+ {"version":3,"file":"toSchemasV3.d.ts","sourceRoot":"","sources":["../../../src/oas/schema/toSchemasV3.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAA;AAEjE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAE9C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAY3C,KAAK,eAAe,GAAG;IACrB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,eAAe,GAAG,SAAS,CAAC,YAAY,CAAC,CAAA;IAC3E,OAAO,EAAE,YAAY,CAAA;IACrB,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,aAAa,CAAC,EAAE,OAAO,CAAA;CACxB,CAAA;AAED,eAAO,MAAM,WAAW,2DAKrB,eAAe,KAAG,MAAM,CAAC,MAAM,EAAE,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,CAyB/D,CAAA;AAED,KAAK,uBAAuB,GAAG;IAC7B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,eAAe,GAAG,SAAS,CAAC,YAAY,CAAC,GAAG,SAAS,CAAA;IACvF,OAAO,EAAE,YAAY,CAAA;IACrB,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,aAAa,CAAC,EAAE,OAAO,CAAA;CACxB,CAAA;AAED,eAAO,MAAM,mBAAmB,2DAK7B,uBAAuB,KAAG,MAAM,CAAC,MAAM,EAAE,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,SAM3E,CAAA;AAED,KAAK,cAAc,GAAG;IACpB,MAAM,EAAE,SAAS,CAAC,eAAe,GAAG,SAAS,CAAC,YAAY,CAAA;IAC1D,OAAO,EAAE,YAAY,CAAA;IACrB,iBAAiB,CAAC,EAAE,OAAO,CAAA;CAC5B,CAAA;AAED,eAAO,MAAM,UAAU,2CAIpB,cAAc,KAAG,SAAS,GAAG,MAAM,CAAC,QAAQ,CAuC9C,CAAA;AAED,KAAK,sBAAsB,GAAG;IAC5B,MAAM,EAAE,SAAS,CAAC,eAAe,GAAG,SAAS,CAAC,YAAY,GAAG,SAAS,CAAA;IACtE,OAAO,EAAE,YAAY,CAAA;CACtB,CAAA;AAED,eAAO,MAAM,kBAAkB,wBAG5B,sBAAsB,KAAG,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,SAM1D,CAAA"}
@@ -11,16 +11,18 @@ import { toUnknown } from '../unknown/toUnknown.js';
11
11
  import { toUnion } from '../union/toUnion.js';
12
12
  import { toIntersection } from '../intersection/toIntersection.js';
13
13
  import { extractExtensions } from '../specificationExtensions/toSpecificationExtensionsV3.js';
14
- export const toSchemasV3 = ({ schemas, context, childOfComponents }) => {
14
+ export const toSchemasV3 = ({ schemas, context, childOfComponents, childOfObject }) => {
15
15
  return Object.fromEntries(Object.entries(schemas).map(([key, schema]) => {
16
16
  return [
17
17
  key,
18
18
  context.trace(key, () => {
19
- if (childOfComponents && !isRef(schema)) {
19
+ if ((childOfComponents || childOfObject) && !isRef(schema)) {
20
20
  const { extensionFields } = extractExtensions(schema);
21
+ const parent = context.stackTrail.stackTrail.slice(-2, -1).at(0);
22
+ const stackTrail = childOfComponents ? ['models', key] : ['models', String(parent), key];
21
23
  context.registerExtension({
22
24
  extensionFields: extensionFields ?? {},
23
- stackTrail: ['models', key],
25
+ stackTrail,
24
26
  type: 'schema'
25
27
  });
26
28
  }
@@ -29,13 +31,13 @@ export const toSchemasV3 = ({ schemas, context, childOfComponents }) => {
29
31
  ];
30
32
  }));
31
33
  };
32
- export const toOptionalSchemasV3 = ({ schemas, context, childOfComponents }) => {
34
+ export const toOptionalSchemasV3 = ({ schemas, context, childOfComponents, childOfObject }) => {
33
35
  if (!schemas) {
34
36
  return undefined;
35
37
  }
36
- return toSchemasV3({ schemas, context, childOfComponents });
38
+ return toSchemasV3({ schemas, context, childOfComponents, childOfObject });
37
39
  };
38
- export const toSchemaV3 = ({ schema, context }) => {
40
+ export const toSchemaV3 = ({ schema, context, childOfComponents }) => {
39
41
  if (isRef(schema)) {
40
42
  return toRefV31({ ref: schema, refType: 'schema', context });
41
43
  }
@@ -62,7 +64,7 @@ export const toSchemaV3 = ({ schema, context }) => {
62
64
  // }
63
65
  return context.trace('allOf', () => toIntersection({ value, members, context }));
64
66
  })
65
- .with({ type: 'object' }, value => toObject({ value, context }))
67
+ .with({ type: 'object' }, value => toObject({ value, context, childOfComponents }))
66
68
  .with({ type: 'array' }, value => toArray({ value, context }))
67
69
  .with({ type: 'integer' }, value => toInteger({ value, context }))
68
70
  .with({ type: 'number' }, value => toNumber({ value, context }))
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@skmtc/core",
3
- "version": "0.0.446",
3
+ "version": "0.0.447",
4
4
  "main": "./script/mod.js",
5
5
  "module": "./esm/mod.js",
6
6
  "exports": {
@@ -4,7 +4,8 @@ import { OasObject } from './Object.js';
4
4
  type ToObjectArgs = {
5
5
  value: OpenAPIV3.NonArraySchemaObject;
6
6
  context: ParseContext;
7
+ childOfComponents?: boolean;
7
8
  };
8
- export declare const toObject: ({ value, context }: ToObjectArgs) => OasObject;
9
+ export declare const toObject: ({ value, context, childOfComponents }: ToObjectArgs) => OasObject;
9
10
  export {};
10
11
  //# sourceMappingURL=toObject.d.ts.map
@@ -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,YAAY,EAAE,MAAM,+BAA+B,CAAA;AACjE,OAAO,EAAE,SAAS,EAAwB,MAAM,aAAa,CAAA;AAK7D,KAAK,YAAY,GAAG;IAClB,KAAK,EAAE,SAAS,CAAC,oBAAoB,CAAA;IACrC,OAAO,EAAE,YAAY,CAAA;CACtB,CAAA;AAED,eAAO,MAAM,QAAQ,uBAAwB,YAAY,KAAG,SAsC3D,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,YAAY,EAAE,MAAM,+BAA+B,CAAA;AACjE,OAAO,EAAE,SAAS,EAAwB,MAAM,aAAa,CAAA;AAK7D,KAAK,YAAY,GAAG;IAClB,KAAK,EAAE,SAAS,CAAC,oBAAoB,CAAA;IACrC,OAAO,EAAE,YAAY,CAAA;IACrB,iBAAiB,CAAC,EAAE,OAAO,CAAA;CAC5B,CAAA;AAED,eAAO,MAAM,QAAQ,0CAA2C,YAAY,KAAG,SAsC9E,CAAA"}
@@ -5,7 +5,7 @@ const Object_js_1 = require("./Object.js");
5
5
  const toSchemasV3_js_1 = require("../schema/toSchemasV3.js");
6
6
  const toAdditionalPropertiesV3_js_1 = require("./toAdditionalPropertiesV3.js");
7
7
  const toSpecificationExtensionsV3_js_1 = require("../specificationExtensions/toSpecificationExtensionsV3.js");
8
- const toObject = ({ value, context }) => {
8
+ const toObject = ({ value, context, childOfComponents }) => {
9
9
  const { type: _type, title, description, properties, required, additionalProperties, nullable, example, ...skipped } = value;
10
10
  const extensionFields = (0, toSpecificationExtensionsV3_js_1.toSpecificationExtensionsV3)({
11
11
  skipped,
@@ -19,7 +19,7 @@ const toObject = ({ value, context }) => {
19
19
  properties: context.trace('properties', () => (0, toSchemasV3_js_1.toOptionalSchemasV3)({
20
20
  schemas: properties,
21
21
  context,
22
- childOfComponents: false
22
+ childOfObject: childOfComponents
23
23
  })),
24
24
  required: required,
25
25
  additionalProperties: context.trace('additionalProperties', () => (0, toAdditionalPropertiesV3_js_1.toAdditionalPropertiesV3)({ additionalProperties, context })),
@@ -5,20 +5,23 @@ import type { OasRef } from '../ref/Ref.js';
5
5
  type ToSchemasV3Args = {
6
6
  schemas: Record<string, OpenAPIV3.ReferenceObject | OpenAPIV3.SchemaObject>;
7
7
  context: ParseContext;
8
- childOfComponents: boolean;
8
+ childOfComponents?: boolean;
9
+ childOfObject?: boolean;
9
10
  };
10
- export declare const toSchemasV3: ({ schemas, context, childOfComponents }: ToSchemasV3Args) => Record<string, OasSchema | OasRef<"schema">>;
11
+ export declare const toSchemasV3: ({ schemas, context, childOfComponents, childOfObject }: ToSchemasV3Args) => Record<string, OasSchema | OasRef<"schema">>;
11
12
  type ToOptionalSchemasV3Args = {
12
13
  schemas: Record<string, OpenAPIV3.ReferenceObject | OpenAPIV3.SchemaObject> | undefined;
13
14
  context: ParseContext;
14
- childOfComponents: boolean;
15
+ childOfComponents?: boolean;
16
+ childOfObject?: boolean;
15
17
  };
16
- export declare const toOptionalSchemasV3: ({ schemas, context, childOfComponents }: ToOptionalSchemasV3Args) => Record<string, OasSchema | OasRef<"schema">> | undefined;
18
+ export declare const toOptionalSchemasV3: ({ schemas, context, childOfComponents, childOfObject }: ToOptionalSchemasV3Args) => Record<string, OasSchema | OasRef<"schema">> | undefined;
17
19
  type ToSchemaV3Args = {
18
20
  schema: OpenAPIV3.ReferenceObject | OpenAPIV3.SchemaObject;
19
21
  context: ParseContext;
22
+ childOfComponents?: boolean;
20
23
  };
21
- export declare const toSchemaV3: ({ schema, context }: ToSchemaV3Args) => OasSchema | OasRef<"schema">;
24
+ export declare const toSchemaV3: ({ schema, context, childOfComponents }: ToSchemaV3Args) => OasSchema | OasRef<"schema">;
22
25
  type ToOptionalSchemaV3Args = {
23
26
  schema: OpenAPIV3.ReferenceObject | OpenAPIV3.SchemaObject | undefined;
24
27
  context: ParseContext;
@@ -1 +1 @@
1
- {"version":3,"file":"toSchemasV3.d.ts","sourceRoot":"","sources":["../../../src/oas/schema/toSchemasV3.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAA;AAEjE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAE9C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAY3C,KAAK,eAAe,GAAG;IACrB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,eAAe,GAAG,SAAS,CAAC,YAAY,CAAC,CAAA;IAC3E,OAAO,EAAE,YAAY,CAAA;IACrB,iBAAiB,EAAE,OAAO,CAAA;CAC3B,CAAA;AAED,eAAO,MAAM,WAAW,4CAIrB,eAAe,KAAG,MAAM,CAAC,MAAM,EAAE,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,CAqB/D,CAAA;AAED,KAAK,uBAAuB,GAAG;IAC7B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,eAAe,GAAG,SAAS,CAAC,YAAY,CAAC,GAAG,SAAS,CAAA;IACvF,OAAO,EAAE,YAAY,CAAA;IACrB,iBAAiB,EAAE,OAAO,CAAA;CAC3B,CAAA;AAED,eAAO,MAAM,mBAAmB,4CAI7B,uBAAuB,KAAG,MAAM,CAAC,MAAM,EAAE,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,SAM3E,CAAA;AAED,KAAK,cAAc,GAAG;IACpB,MAAM,EAAE,SAAS,CAAC,eAAe,GAAG,SAAS,CAAC,YAAY,CAAA;IAC1D,OAAO,EAAE,YAAY,CAAA;CACtB,CAAA;AAED,eAAO,MAAM,UAAU,wBAAyB,cAAc,KAAG,SAAS,GAAG,MAAM,CAAC,QAAQ,CAuC3F,CAAA;AAED,KAAK,sBAAsB,GAAG;IAC5B,MAAM,EAAE,SAAS,CAAC,eAAe,GAAG,SAAS,CAAC,YAAY,GAAG,SAAS,CAAA;IACtE,OAAO,EAAE,YAAY,CAAA;CACtB,CAAA;AAED,eAAO,MAAM,kBAAkB,wBAG5B,sBAAsB,KAAG,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,SAM1D,CAAA"}
1
+ {"version":3,"file":"toSchemasV3.d.ts","sourceRoot":"","sources":["../../../src/oas/schema/toSchemasV3.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAA;AAEjE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAE9C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAY3C,KAAK,eAAe,GAAG;IACrB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,eAAe,GAAG,SAAS,CAAC,YAAY,CAAC,CAAA;IAC3E,OAAO,EAAE,YAAY,CAAA;IACrB,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,aAAa,CAAC,EAAE,OAAO,CAAA;CACxB,CAAA;AAED,eAAO,MAAM,WAAW,2DAKrB,eAAe,KAAG,MAAM,CAAC,MAAM,EAAE,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,CAyB/D,CAAA;AAED,KAAK,uBAAuB,GAAG;IAC7B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,eAAe,GAAG,SAAS,CAAC,YAAY,CAAC,GAAG,SAAS,CAAA;IACvF,OAAO,EAAE,YAAY,CAAA;IACrB,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,aAAa,CAAC,EAAE,OAAO,CAAA;CACxB,CAAA;AAED,eAAO,MAAM,mBAAmB,2DAK7B,uBAAuB,KAAG,MAAM,CAAC,MAAM,EAAE,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,SAM3E,CAAA;AAED,KAAK,cAAc,GAAG;IACpB,MAAM,EAAE,SAAS,CAAC,eAAe,GAAG,SAAS,CAAC,YAAY,CAAA;IAC1D,OAAO,EAAE,YAAY,CAAA;IACrB,iBAAiB,CAAC,EAAE,OAAO,CAAA;CAC5B,CAAA;AAED,eAAO,MAAM,UAAU,2CAIpB,cAAc,KAAG,SAAS,GAAG,MAAM,CAAC,QAAQ,CAuC9C,CAAA;AAED,KAAK,sBAAsB,GAAG;IAC5B,MAAM,EAAE,SAAS,CAAC,eAAe,GAAG,SAAS,CAAC,YAAY,GAAG,SAAS,CAAA;IACtE,OAAO,EAAE,YAAY,CAAA;CACtB,CAAA;AAED,eAAO,MAAM,kBAAkB,wBAG5B,sBAAsB,KAAG,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,SAM1D,CAAA"}
@@ -14,16 +14,18 @@ const toUnknown_js_1 = require("../unknown/toUnknown.js");
14
14
  const toUnion_js_1 = require("../union/toUnion.js");
15
15
  const toIntersection_js_1 = require("../intersection/toIntersection.js");
16
16
  const toSpecificationExtensionsV3_js_1 = require("../specificationExtensions/toSpecificationExtensionsV3.js");
17
- const toSchemasV3 = ({ schemas, context, childOfComponents }) => {
17
+ const toSchemasV3 = ({ schemas, context, childOfComponents, childOfObject }) => {
18
18
  return Object.fromEntries(Object.entries(schemas).map(([key, schema]) => {
19
19
  return [
20
20
  key,
21
21
  context.trace(key, () => {
22
- if (childOfComponents && !(0, refFns_js_1.isRef)(schema)) {
22
+ if ((childOfComponents || childOfObject) && !(0, refFns_js_1.isRef)(schema)) {
23
23
  const { extensionFields } = (0, toSpecificationExtensionsV3_js_1.extractExtensions)(schema);
24
+ const parent = context.stackTrail.stackTrail.slice(-2, -1).at(0);
25
+ const stackTrail = childOfComponents ? ['models', key] : ['models', String(parent), key];
24
26
  context.registerExtension({
25
27
  extensionFields: extensionFields ?? {},
26
- stackTrail: ['models', key],
28
+ stackTrail,
27
29
  type: 'schema'
28
30
  });
29
31
  }
@@ -33,14 +35,14 @@ const toSchemasV3 = ({ schemas, context, childOfComponents }) => {
33
35
  }));
34
36
  };
35
37
  exports.toSchemasV3 = toSchemasV3;
36
- const toOptionalSchemasV3 = ({ schemas, context, childOfComponents }) => {
38
+ const toOptionalSchemasV3 = ({ schemas, context, childOfComponents, childOfObject }) => {
37
39
  if (!schemas) {
38
40
  return undefined;
39
41
  }
40
- return (0, exports.toSchemasV3)({ schemas, context, childOfComponents });
42
+ return (0, exports.toSchemasV3)({ schemas, context, childOfComponents, childOfObject });
41
43
  };
42
44
  exports.toOptionalSchemasV3 = toOptionalSchemasV3;
43
- const toSchemaV3 = ({ schema, context }) => {
45
+ const toSchemaV3 = ({ schema, context, childOfComponents }) => {
44
46
  if ((0, refFns_js_1.isRef)(schema)) {
45
47
  return (0, toRefV31_js_1.toRefV31)({ ref: schema, refType: 'schema', context });
46
48
  }
@@ -67,7 +69,7 @@ const toSchemaV3 = ({ schema, context }) => {
67
69
  // }
68
70
  return context.trace('allOf', () => (0, toIntersection_js_1.toIntersection)({ value, members, context }));
69
71
  })
70
- .with({ type: 'object' }, value => (0, toObject_js_1.toObject)({ value, context }))
72
+ .with({ type: 'object' }, value => (0, toObject_js_1.toObject)({ value, context, childOfComponents }))
71
73
  .with({ type: 'array' }, value => (0, toArray_js_1.toArray)({ value, context }))
72
74
  .with({ type: 'integer' }, value => (0, toInteger_js_1.toInteger)({ value, context }))
73
75
  .with({ type: 'number' }, value => (0, toNumber_js_1.toNumber)({ value, context }))