@typespec/json-schema 0.62.0-dev.1 → 0.62.0-dev.3

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.
@@ -1,47 +1,122 @@
1
- import { Enum, Model, Namespace, Numeric, Program, Scalar, Tuple, Type, Union } from "@typespec/compiler";
2
- import { ValidatesRawJsonDecorator } from "../generated-defs/TypeSpec.JsonSchema.Private.js";
3
- import { BaseUriDecorator, ContainsDecorator, ContentEncodingDecorator, ContentMediaTypeDecorator, ContentSchemaDecorator, ExtensionDecorator, IdDecorator, JsonSchemaDecorator, MaxContainsDecorator, MaxPropertiesDecorator, MinContainsDecorator, MinPropertiesDecorator, MultipleOfDecorator, OneOfDecorator, PrefixItemsDecorator, UniqueItemsDecorator } from "../generated-defs/TypeSpec.JsonSchema.js";
1
+ import { type Enum, type Model, type Namespace, type Program, type Scalar, type Tuple, type Type, type Union } from "@typespec/compiler";
2
+ import type { ContainsDecorator, ContentEncodingDecorator, ContentMediaTypeDecorator, ContentSchemaDecorator, ExtensionDecorator, IdDecorator, JsonSchemaDecorator, MaxContainsDecorator, MaxPropertiesDecorator, MinContainsDecorator, MinPropertiesDecorator, MultipleOfDecorator, OneOfDecorator, PrefixItemsDecorator, UniqueItemsDecorator } from "../generated-defs/TypeSpec.JsonSchema.js";
3
+ /**
4
+ * TypeSpec Types that can create a json schmea declaration
5
+ */
4
6
  export type JsonSchemaDeclaration = Model | Union | Enum | Scalar;
7
+ export declare const
8
+ /** Check if the given type is annotated with `@jsonSchema` */
9
+ getJsonSchema: (program: Program, type: Type) => boolean, markJsonSchema: (program: Program, type: Type) => void;
10
+ /** {@inheritdoc JsonSchemaDecorator} */
5
11
  export declare const $jsonSchema: JsonSchemaDecorator;
6
- export declare const $baseUri: BaseUriDecorator;
7
- export declare function getBaseUri(program: Program, target: Type): any;
12
+ export declare const
13
+ /** Get base uri set via `@baseUri` decorator */
14
+ getBaseUri: (program: Program, type: any) => any, setBaseUri: (program: Program, type: any, value: any) => void,
15
+ /** {@inheritdoc BaseUriDecorator} */
16
+ $baseUri: import("@typespec/compiler").DecoratorFunction;
17
+ /** Find base uri for the given type. */
8
18
  export declare function findBaseUri(program: Program, target: JsonSchemaDeclaration | Namespace): string | undefined;
19
+ /**
20
+ * Check if the given type is annoted with `@jsonSchema` or within a container annoted with `@jsonSchema`.
21
+ * @param program TypeSpec program
22
+ * @param target Type
23
+ */
9
24
  export declare function isJsonSchemaDeclaration(program: Program, target: JsonSchemaDeclaration): boolean;
25
+ /**
26
+ * Returns types that are annotated with `@jsonSchema` or contained within a namespace that is annoted with `@jsonSchema`.
27
+ * @param program TypeSpec program
28
+ */
10
29
  export declare function getJsonSchemaTypes(program: Program): (Namespace | Model)[];
11
- export declare function getJsonSchema(program: Program, target: Type): boolean;
12
- export declare const $multipleOf: MultipleOfDecorator;
13
- export declare function getMultipleOfAsNumeric(program: Program, target: Type): Numeric | undefined;
30
+ export declare const
31
+ /** Get value set by `@multipleOf` decorator as a `Numeric` type. */
32
+ getMultipleOfAsNumeric: (program: Program, type: Type) => import("@typespec/compiler").Numeric | undefined, setMultipleOf: (program: Program, type: Type, value: import("@typespec/compiler").Numeric) => void,
33
+ /** {@inheritdoc MultipleOfDecorator} */
34
+ $multipleOf: MultipleOfDecorator;
35
+ /** Get value set by `@multipleOf` decorator as a `number` type. If the value is not representable as a number or not set, returns undefined. */
14
36
  export declare function getMultipleOf(program: Program, target: Type): number | undefined;
15
- export declare const $id: IdDecorator;
16
- export declare function getId(program: Program, target: Type): any;
37
+ export declare const
38
+ /** Get id as set with `@id` decorator. */
39
+ getId: (program: Program, type: Type) => string | undefined, setId: (program: Program, type: Type, value: string) => void,
40
+ /** {@inheritdoc IdDecorator} */
41
+ $id: IdDecorator;
42
+ export declare const
43
+ /** Check if given type is annotated with `@oneOf` decorator */
44
+ isOneOf: (program: Program, type: Type) => boolean, markOneOf: (program: Program, type: Type) => void;
45
+ /** {@inheritdoc OneOfDecorator} */
17
46
  export declare const $oneOf: OneOfDecorator;
18
- export declare function isOneOf(program: Program, target: Type): boolean;
19
- export declare const $contains: ContainsDecorator;
20
- export declare function getContains(program: Program, target: Type): any;
21
- export declare const $minContains: MinContainsDecorator;
22
- export declare function getMinContains(program: Program, target: Type): any;
23
- export declare const $maxContains: MaxContainsDecorator;
24
- export declare function getMaxContains(program: Program, target: Type): any;
47
+ export declare const
48
+ /** Get contains value set by `@contains` decorator */
49
+ getContains: (program: Program, type: Type) => Type | undefined, setContains: (program: Program, type: Type, value: Type) => void,
50
+ /** {@inheritdoc ContainsDecorator} */
51
+ $contains: ContainsDecorator;
52
+ export declare const
53
+ /** Get value set by `@minContains` decorator */
54
+ getMinContains: (program: Program, type: Type) => number | undefined, setMinContains: (program: Program, type: Type, value: number) => void,
55
+ /** {@inheritdoc MinContainsDecorator} */
56
+ $minContains: MinContainsDecorator;
57
+ export declare const
58
+ /** Get value set by `@maxContains` decorator */
59
+ getMaxContains: (program: Program, type: Type) => number | undefined, setMaxContains: (program: Program, type: Type, value: number) => void,
60
+ /** {@inheritdoc MaxContainsDecorator} */
61
+ $maxContains: MaxContainsDecorator;
62
+ export declare const
63
+ /** Check if the given array is annotated with `@uniqueItems` decorator */
64
+ getUniqueItems: (program: Program, type: Type) => unknown, setUniqueItems: (program: Program, type: Type, value: unknown) => void;
65
+ /** {@inheritdoc UniqueItemsDecorator} */
25
66
  export declare const $uniqueItems: UniqueItemsDecorator;
26
- export declare function getUniqueItems(program: Program, target: Type): any;
27
- export declare const $minProperties: MinPropertiesDecorator;
28
- export declare function getMinProperties(program: Program, target: Type): any;
29
- export declare const $maxProperties: MaxPropertiesDecorator;
30
- export declare function getMaxProperties(program: Program, target: Type): any;
31
- export declare const $contentEncoding: ContentEncodingDecorator;
32
- export declare function getContentEncoding(program: Program, target: Type): string;
33
- export declare const $contentMediaType: ContentMediaTypeDecorator;
34
- export declare function getContentMediaType(program: Program, target: Type): string;
35
- export declare const $contentSchema: ContentSchemaDecorator;
36
- export declare function getContentSchema(program: Program, target: Type): any;
67
+ export declare const
68
+ /** Get minimum number of properties set by `@minProperties` decorator */
69
+ getMinProperties: (program: Program, type: Type) => number | undefined, setMinProperties: (program: Program, type: Type, value: number) => void,
70
+ /** {@inheritdoc MinPropertiesDecorator} */
71
+ $minProperties: MinPropertiesDecorator;
72
+ export declare const
73
+ /** Get maximum number of properties set by `@maxProperties` decorator */
74
+ getMaxProperties: (program: Program, type: Type) => number | undefined, setMaxProperties: (program: Program, type: Type, value: number) => void,
75
+ /** {@inheritdoc MaxPropertiesDecorator} */
76
+ $maxProperties: MaxPropertiesDecorator;
77
+ export declare const
78
+ /** Get content encoding as configured by `@contentEncoding` decorator. */
79
+ getContentEncoding: (program: Program, type: Type) => string | undefined, setContentEncoding: (program: Program, type: Type, value: string) => void,
80
+ /** {@inheritdoc ContentEncodingDecorator} */
81
+ $contentEncoding: ContentEncodingDecorator;
82
+ export declare const
83
+ /** Get content media type as configured by `@contentMediaType` decorator. */
84
+ getContentMediaType: (program: Program, type: Type) => string | undefined, setContentMediaType: (program: Program, type: Type, value: string) => void,
85
+ /** {@inheritdoc ContentMediaTypeDecorator} */
86
+ $contentMediaType: ContentMediaTypeDecorator;
87
+ export declare const
88
+ /** Get content schema set with `@contentSchema` decorator */
89
+ getContentSchema: (program: Program, type: Type) => Type | undefined, setContentSchema: (program: Program, type: Type, value: Type) => void,
90
+ /** {@inheritdoc ContentSchemaDecorator} */
91
+ $contentSchema: ContentSchemaDecorator;
92
+ export declare const
93
+ /** Get prefix items set with `@prefixItems` decorator */
94
+ getPrefixItems: (program: Program, type: Type) => Tuple | undefined, setPrefixItems: (program: Program, type: Type, value: Tuple) => void;
95
+ /** {@inheritdoc PrefixItemsDecorator} */
37
96
  export declare const $prefixItems: PrefixItemsDecorator;
38
- export declare function getPrefixItems(program: Program, target: Type): Tuple | undefined;
97
+ /**
98
+ * Data type containing information about an extension.
99
+ */
39
100
  export interface ExtensionRecord {
101
+ /** Extension key */
40
102
  key: string;
103
+ /** Extension value */
41
104
  value: Type | unknown;
42
105
  }
106
+ /** {@inheritdoc ExtensionDecorator} */
43
107
  export declare const $extension: ExtensionDecorator;
108
+ /**
109
+ * Get extensions set via the `@extension` decorator on the given type
110
+ * @param program TypeSpec program
111
+ * @param target Type
112
+ */
44
113
  export declare function getExtensions(program: Program, target: Type): ExtensionRecord[];
114
+ /**
115
+ * Set extension on the given type(Same as calling `@extension` decorator)
116
+ * @param program TypeSpec program
117
+ * @param target Type
118
+ * @param key Extension key
119
+ * @param value Extension value
120
+ */
45
121
  export declare function setExtension(program: Program, target: Type, key: string, value: unknown): void;
46
- export declare const $validatesRawJson: ValidatesRawJsonDecorator;
47
122
  //# sourceMappingURL=decorators.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"decorators.d.ts","sourceRoot":"","sources":["../../src/decorators.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"decorators.d.ts","sourceRoot":"","sources":["../../src/decorators.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,13 @@
1
1
  import { isType, setTypeSpecNamespace, typespecTypeToJson, } from "@typespec/compiler";
2
- import { createStateSymbol } from "./lib.js";
3
- const jsonSchemaKey = createStateSymbol("JsonSchema");
2
+ import { unsafe_useStateMap, unsafe_useStateSet } from "@typespec/compiler/experimental";
3
+ import { JsonSchemaStateKeys } from "./lib.js";
4
+ import { createDataDecorator } from "./utils.js";
5
+ export const [
6
+ /** Check if the given type is annotated with `@jsonSchema` */
7
+ getJsonSchema, markJsonSchema,] = unsafe_useStateSet(JsonSchemaStateKeys.JsonSchema);
8
+ /** {@inheritdoc JsonSchemaDecorator} */
4
9
  export const $jsonSchema = (context, target, baseUriOrId) => {
5
- context.program.stateSet(jsonSchemaKey).add(target);
10
+ markJsonSchema(context.program, target);
6
11
  if (baseUriOrId) {
7
12
  if (target.kind === "Namespace") {
8
13
  context.call($baseUri, target, baseUriOrId);
@@ -12,13 +17,12 @@ export const $jsonSchema = (context, target, baseUriOrId) => {
12
17
  }
13
18
  }
14
19
  };
15
- const baseUriKey = createStateSymbol("JsonSchema.baseURI");
16
- export const $baseUri = (context, target, baseUri) => {
17
- context.program.stateMap(baseUriKey).set(target, baseUri);
18
- };
19
- export function getBaseUri(program, target) {
20
- return program.stateMap(baseUriKey).get(target);
21
- }
20
+ export const [
21
+ /** Get base uri set via `@baseUri` decorator */
22
+ getBaseUri, setBaseUri,
23
+ /** {@inheritdoc BaseUriDecorator} */
24
+ $baseUri,] = createDataDecorator(JsonSchemaStateKeys["JsonSchema.baseURI"]);
25
+ /** Find base uri for the given type. */
22
26
  export function findBaseUri(program, target) {
23
27
  let baseUrl;
24
28
  let current = target;
@@ -28,6 +32,11 @@ export function findBaseUri(program, target) {
28
32
  } while (!baseUrl && current);
29
33
  return baseUrl;
30
34
  }
35
+ /**
36
+ * Check if the given type is annoted with `@jsonSchema` or within a container annoted with `@jsonSchema`.
37
+ * @param program TypeSpec program
38
+ * @param target Type
39
+ */
31
40
  export function isJsonSchemaDeclaration(program, target) {
32
41
  let current = target;
33
42
  do {
@@ -38,115 +47,108 @@ export function isJsonSchemaDeclaration(program, target) {
38
47
  } while (current);
39
48
  return false;
40
49
  }
50
+ /**
51
+ * Returns types that are annotated with `@jsonSchema` or contained within a namespace that is annoted with `@jsonSchema`.
52
+ * @param program TypeSpec program
53
+ */
41
54
  export function getJsonSchemaTypes(program) {
42
- return [...(program.stateSet(jsonSchemaKey) || [])];
43
- }
44
- export function getJsonSchema(program, target) {
45
- return program.stateSet(jsonSchemaKey).has(target);
46
- }
47
- const multipleOfKey = createStateSymbol("JsonSchema.multipleOf");
48
- export const $multipleOf = (context, target, value) => {
49
- context.program.stateMap(multipleOfKey).set(target, value);
50
- };
51
- export function getMultipleOfAsNumeric(program, target) {
52
- return program.stateMap(multipleOfKey).get(target);
53
- }
55
+ return [...(program.stateSet(JsonSchemaStateKeys.JsonSchema) || [])];
56
+ }
57
+ export const [
58
+ /** Get value set by `@multipleOf` decorator as a `Numeric` type. */
59
+ getMultipleOfAsNumeric, setMultipleOf,
60
+ /** {@inheritdoc MultipleOfDecorator} */
61
+ $multipleOf,] = createDataDecorator(JsonSchemaStateKeys["JsonSchema.multipleOf"]);
62
+ /** Get value set by `@multipleOf` decorator as a `number` type. If the value is not representable as a number or not set, returns undefined. */
54
63
  export function getMultipleOf(program, target) {
55
64
  return getMultipleOfAsNumeric(program, target)?.asNumber() ?? undefined;
56
65
  }
57
- const idKey = createStateSymbol("JsonSchema.id");
58
- export const $id = (context, target, value) => {
59
- context.program.stateMap(idKey).set(target, value);
60
- };
61
- export function getId(program, target) {
62
- return program.stateMap(idKey).get(target);
63
- }
64
- const oneOfKey = createStateSymbol("JsonSchema.oneOf");
66
+ export const [
67
+ /** Get id as set with `@id` decorator. */
68
+ getId, setId,
69
+ /** {@inheritdoc IdDecorator} */
70
+ $id,] = createDataDecorator(JsonSchemaStateKeys["JsonSchema.id"]);
71
+ export const [
72
+ /** Check if given type is annotated with `@oneOf` decorator */
73
+ isOneOf, markOneOf,] = unsafe_useStateSet(JsonSchemaStateKeys["JsonSchema.oneOf"]);
74
+ /** {@inheritdoc OneOfDecorator} */
65
75
  export const $oneOf = (context, target) => {
66
- context.program.stateMap(oneOfKey).set(target, true);
67
- };
68
- export function isOneOf(program, target) {
69
- return program.stateMap(oneOfKey).has(target);
70
- }
71
- const containsKey = createStateSymbol("JsonSchema.contains");
72
- export const $contains = (context, target, value) => {
73
- context.program.stateMap(containsKey).set(target, value);
74
- };
75
- export function getContains(program, target) {
76
- return program.stateMap(containsKey).get(target);
77
- }
78
- const minContainsKey = createStateSymbol("JsonSchema.minContains");
79
- export const $minContains = (context, target, value) => {
80
- context.program.stateMap(minContainsKey).set(target, value);
81
- };
82
- export function getMinContains(program, target) {
83
- return program.stateMap(minContainsKey).get(target);
84
- }
85
- const maxContainsKey = createStateSymbol("JsonSchema.maxContains");
86
- export const $maxContains = (context, target, value) => {
87
- context.program.stateMap(maxContainsKey).set(target, value);
88
- };
89
- export function getMaxContains(program, target) {
90
- return program.stateMap(maxContainsKey).get(target);
91
- }
92
- const uniqueItemsKey = createStateSymbol("JsonSchema.uniqueItems");
93
- export const $uniqueItems = (context, target) => {
94
- context.program.stateMap(uniqueItemsKey).set(target, true);
95
- };
96
- export function getUniqueItems(program, target) {
97
- return program.stateMap(uniqueItemsKey).get(target);
98
- }
99
- const minPropertiesKey = createStateSymbol("JsonSchema.minProperties");
100
- export const $minProperties = (context, target, value) => {
101
- context.program.stateMap(minPropertiesKey).set(target, value);
102
- };
103
- export function getMinProperties(program, target) {
104
- return program.stateMap(minPropertiesKey).get(target);
105
- }
106
- const maxPropertiesKey = createStateSymbol("JsonSchema.maxProperties");
107
- export const $maxProperties = (context, target, value) => {
108
- context.program.stateMap(maxPropertiesKey).set(target, value);
109
- };
110
- export function getMaxProperties(program, target) {
111
- return program.stateMap(maxPropertiesKey).get(target);
112
- }
113
- const contentEncodingKey = createStateSymbol("JsonSchema.contentEncoding");
114
- export const $contentEncoding = (context, target, value) => {
115
- context.program.stateMap(contentEncodingKey).set(target, value);
116
- };
117
- export function getContentEncoding(program, target) {
118
- return program.stateMap(contentEncodingKey).get(target);
119
- }
120
- const contentMediaType = createStateSymbol("JsonSchema.contentMediaType");
121
- export const $contentMediaType = (context, target, value) => {
122
- context.program.stateMap(contentMediaType).set(target, value);
123
- };
124
- export function getContentMediaType(program, target) {
125
- return program.stateMap(contentMediaType).get(target);
126
- }
127
- const contentSchemaKey = createStateSymbol("JsonSchema.contentSchema");
128
- export const $contentSchema = (context, target, value) => {
129
- context.program.stateMap(contentSchemaKey).set(target, value);
130
- };
131
- export function getContentSchema(program, target) {
132
- return program.stateMap(contentSchemaKey).get(target);
133
- }
134
- const prefixItemsKey = createStateSymbol("JsonSchema.prefixItems");
76
+ markOneOf(context.program, target);
77
+ };
78
+ export const [
79
+ /** Get contains value set by `@contains` decorator */
80
+ getContains, setContains,
81
+ /** {@inheritdoc ContainsDecorator} */
82
+ $contains,] = createDataDecorator(JsonSchemaStateKeys["JsonSchema.contains"]);
83
+ export const [
84
+ /** Get value set by `@minContains` decorator */
85
+ getMinContains, setMinContains,
86
+ /** {@inheritdoc MinContainsDecorator} */
87
+ $minContains,] = createDataDecorator(JsonSchemaStateKeys["JsonSchema.minContains"]);
88
+ export const [
89
+ /** Get value set by `@maxContains` decorator */
90
+ getMaxContains, setMaxContains,
91
+ /** {@inheritdoc MaxContainsDecorator} */
92
+ $maxContains,] = createDataDecorator(JsonSchemaStateKeys["JsonSchema.maxContains"]);
93
+ export const [
94
+ /** Check if the given array is annotated with `@uniqueItems` decorator */
95
+ getUniqueItems, setUniqueItems,] = unsafe_useStateMap(JsonSchemaStateKeys["JsonSchema.uniqueItems"]);
96
+ /** {@inheritdoc UniqueItemsDecorator} */
97
+ export const $uniqueItems = (context, target) => setUniqueItems(context.program, target, true);
98
+ export const [
99
+ /** Get minimum number of properties set by `@minProperties` decorator */
100
+ getMinProperties, setMinProperties,
101
+ /** {@inheritdoc MinPropertiesDecorator} */
102
+ $minProperties,] = createDataDecorator(JsonSchemaStateKeys["JsonSchema.minProperties"]);
103
+ export const [
104
+ /** Get maximum number of properties set by `@maxProperties` decorator */
105
+ getMaxProperties, setMaxProperties,
106
+ /** {@inheritdoc MaxPropertiesDecorator} */
107
+ $maxProperties,] = createDataDecorator(JsonSchemaStateKeys["JsonSchema.maxProperties"]);
108
+ export const [
109
+ /** Get content encoding as configured by `@contentEncoding` decorator. */
110
+ getContentEncoding, setContentEncoding,
111
+ /** {@inheritdoc ContentEncodingDecorator} */
112
+ $contentEncoding,] = createDataDecorator(JsonSchemaStateKeys["JsonSchema.contentEncoding"]);
113
+ export const [
114
+ /** Get content media type as configured by `@contentMediaType` decorator. */
115
+ getContentMediaType, setContentMediaType,
116
+ /** {@inheritdoc ContentMediaTypeDecorator} */
117
+ $contentMediaType,] = createDataDecorator(JsonSchemaStateKeys["JsonSchema.contentMediaType"]);
118
+ export const [
119
+ /** Get content schema set with `@contentSchema` decorator */
120
+ getContentSchema, setContentSchema,
121
+ /** {@inheritdoc ContentSchemaDecorator} */
122
+ $contentSchema,] = createDataDecorator(JsonSchemaStateKeys["JsonSchema.contentSchema"]);
123
+ export const [
124
+ /** Get prefix items set with `@prefixItems` decorator */
125
+ getPrefixItems, setPrefixItems,] = unsafe_useStateMap(JsonSchemaStateKeys["JsonSchema.prefixItems"]);
126
+ /** {@inheritdoc PrefixItemsDecorator} */
135
127
  export const $prefixItems = (context, target, value) => {
136
- context.program.stateMap(prefixItemsKey).set(target, value);
128
+ setPrefixItems(context.program, target, value); // This cast is incorrect and would cause a crash https://github.com/microsoft/typespec/issues/4742
137
129
  };
138
- export function getPrefixItems(program, target) {
139
- return program.stateMap(prefixItemsKey).get(target);
140
- }
141
- const extensionsKey = createStateSymbol("JsonSchema.extension");
130
+ const [getExtensionsInternal, _, getExtensionsStateMap] = unsafe_useStateMap(JsonSchemaStateKeys["JsonSchema.extension"]);
131
+ /** {@inheritdoc ExtensionDecorator} */
142
132
  export const $extension = (context, target, key, value) => {
143
133
  setExtension(context.program, target, key, value);
144
134
  };
135
+ /**
136
+ * Get extensions set via the `@extension` decorator on the given type
137
+ * @param program TypeSpec program
138
+ * @param target Type
139
+ */
145
140
  export function getExtensions(program, target) {
146
- return program.stateMap(extensionsKey).get(target) ?? [];
147
- }
141
+ return getExtensionsInternal(program, target) ?? [];
142
+ }
143
+ /**
144
+ * Set extension on the given type(Same as calling `@extension` decorator)
145
+ * @param program TypeSpec program
146
+ * @param target Type
147
+ * @param key Extension key
148
+ * @param value Extension value
149
+ */
148
150
  export function setExtension(program, target, key, value) {
149
- const stateMap = program.stateMap(extensionsKey);
151
+ const stateMap = getExtensionsStateMap(program);
150
152
  const extensions = stateMap.has(target)
151
153
  ? stateMap.get(target)
152
154
  : stateMap.set(target, []).get(target);
@@ -169,6 +171,7 @@ function isJsonTemplateType(value) {
169
171
  value.name === "Json" &&
170
172
  value.namespace?.name === "JsonSchema");
171
173
  }
174
+ /** @internal */
172
175
  export const $validatesRawJson = (context, target, value) => {
173
176
  const [_, diagnostics] = typespecTypeToJson(value, target);
174
177
  if (diagnostics.length > 0) {
@@ -1 +1 @@
1
- {"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../src/decorators.ts"],"names":[],"mappings":"AAAA,OAAO,EAYL,MAAM,EACN,oBAAoB,EACpB,kBAAkB,GACnB,MAAM,oBAAoB,CAAC;AAoB5B,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAI7C,MAAM,aAAa,GAAG,iBAAiB,CAAC,YAAY,CAAC,CAAC;AAEtD,MAAM,CAAC,MAAM,WAAW,GAAwB,CAC9C,OAAyB,EACzB,MAAY,EACZ,WAAoB,EACpB,EAAE;IACF,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACpD,IAAI,WAAW,EAAE,CAAC;QAChB,IAAI,MAAM,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YAChC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;QAC9C,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;QACzC,CAAC;IACH,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,UAAU,GAAG,iBAAiB,CAAC,oBAAoB,CAAC,CAAC;AAC3D,MAAM,CAAC,MAAM,QAAQ,GAAqB,CACxC,OAAyB,EACzB,MAAiB,EACjB,OAAe,EACf,EAAE;IACF,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAC5D,CAAC,CAAC;AAEF,MAAM,UAAU,UAAU,CAAC,OAAgB,EAAE,MAAY;IACvD,OAAO,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AAClD,CAAC;AAED,MAAM,UAAU,WAAW,CACzB,OAAgB,EAChB,MAAyC;IAEzC,IAAI,OAA2B,CAAC;IAChC,IAAI,OAAO,GAAkD,MAAM,CAAC;IACpE,GAAG,CAAC;QACF,OAAO,GAAG,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACvC,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC;IAC9B,CAAC,QAAQ,CAAC,OAAO,IAAI,OAAO,EAAE;IAE9B,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,OAAgB,EAAE,MAA6B;IACrF,IAAI,OAAO,GAAkD,MAAM,CAAC;IACpE,GAAG,CAAC;QACF,IAAI,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC;YACpC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC;IAC9B,CAAC,QAAQ,OAAO,EAAE;IAElB,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,OAAgB;IACjD,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,CAA0B,CAAC;AAC/E,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,OAAgB,EAAE,MAAY;IAC1D,OAAO,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACrD,CAAC;AAED,MAAM,aAAa,GAAG,iBAAiB,CAAC,uBAAuB,CAAC,CAAC;AACjE,MAAM,CAAC,MAAM,WAAW,GAAwB,CAC9C,OAAyB,EACzB,MAA8B,EAC9B,KAAc,EACd,EAAE;IACF,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AAC7D,CAAC,CAAC;AAEF,MAAM,UAAU,sBAAsB,CAAC,OAAgB,EAAE,MAAY;IACnE,OAAO,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACrD,CAAC;AACD,MAAM,UAAU,aAAa,CAAC,OAAgB,EAAE,MAAY;IAC1D,OAAO,sBAAsB,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,QAAQ,EAAE,IAAI,SAAS,CAAC;AAC1E,CAAC;AAED,MAAM,KAAK,GAAG,iBAAiB,CAAC,eAAe,CAAC,CAAC;AACjD,MAAM,CAAC,MAAM,GAAG,GAAgB,CAAC,OAAyB,EAAE,MAAY,EAAE,KAAa,EAAE,EAAE;IACzF,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AACrD,CAAC,CAAC;AAEF,MAAM,UAAU,KAAK,CAAC,OAAgB,EAAE,MAAY;IAClD,OAAO,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AAC7C,CAAC;AAED,MAAM,QAAQ,GAAG,iBAAiB,CAAC,kBAAkB,CAAC,CAAC;AACvD,MAAM,CAAC,MAAM,MAAM,GAAmB,CAAC,OAAyB,EAAE,MAAY,EAAE,EAAE;IAChF,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AACvD,CAAC,CAAC;AAEF,MAAM,UAAU,OAAO,CAAC,OAAgB,EAAE,MAAY;IACpD,OAAO,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AAChD,CAAC;AAED,MAAM,WAAW,GAAG,iBAAiB,CAAC,qBAAqB,CAAC,CAAC;AAC7D,MAAM,CAAC,MAAM,SAAS,GAAsB,CAC1C,OAAyB,EACzB,MAAY,EACZ,KAAW,EACX,EAAE;IACF,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AAC3D,CAAC,CAAC;AAEF,MAAM,UAAU,WAAW,CAAC,OAAgB,EAAE,MAAY;IACxD,OAAO,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACnD,CAAC;AAED,MAAM,cAAc,GAAG,iBAAiB,CAAC,wBAAwB,CAAC,CAAC;AACnE,MAAM,CAAC,MAAM,YAAY,GAAyB,CAChD,OAAyB,EACzB,MAAY,EACZ,KAAa,EACb,EAAE;IACF,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AAC9D,CAAC,CAAC;AAEF,MAAM,UAAU,cAAc,CAAC,OAAgB,EAAE,MAAY;IAC3D,OAAO,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACtD,CAAC;AAED,MAAM,cAAc,GAAG,iBAAiB,CAAC,wBAAwB,CAAC,CAAC;AACnE,MAAM,CAAC,MAAM,YAAY,GAAyB,CAChD,OAAyB,EACzB,MAAY,EACZ,KAAa,EACb,EAAE;IACF,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AAC9D,CAAC,CAAC;AAEF,MAAM,UAAU,cAAc,CAAC,OAAgB,EAAE,MAAY;IAC3D,OAAO,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACtD,CAAC;AAED,MAAM,cAAc,GAAG,iBAAiB,CAAC,wBAAwB,CAAC,CAAC;AACnE,MAAM,CAAC,MAAM,YAAY,GAAyB,CAAC,OAAyB,EAAE,MAAY,EAAE,EAAE;IAC5F,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AAC7D,CAAC,CAAC;AAEF,MAAM,UAAU,cAAc,CAAC,OAAgB,EAAE,MAAY;IAC3D,OAAO,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACtD,CAAC;AAED,MAAM,gBAAgB,GAAG,iBAAiB,CAAC,0BAA0B,CAAC,CAAC;AACvE,MAAM,CAAC,MAAM,cAAc,GAA2B,CACpD,OAAyB,EACzB,MAAY,EACZ,KAAa,EACb,EAAE;IACF,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AAChE,CAAC,CAAC;AAEF,MAAM,UAAU,gBAAgB,CAAC,OAAgB,EAAE,MAAY;IAC7D,OAAO,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACxD,CAAC;AAED,MAAM,gBAAgB,GAAG,iBAAiB,CAAC,0BAA0B,CAAC,CAAC;AACvE,MAAM,CAAC,MAAM,cAAc,GAA2B,CACpD,OAAyB,EACzB,MAAY,EACZ,KAAa,EACb,EAAE;IACF,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AAChE,CAAC,CAAC;AAEF,MAAM,UAAU,gBAAgB,CAAC,OAAgB,EAAE,MAAY;IAC7D,OAAO,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACxD,CAAC;AAED,MAAM,kBAAkB,GAAG,iBAAiB,CAAC,4BAA4B,CAAC,CAAC;AAC3E,MAAM,CAAC,MAAM,gBAAgB,GAA6B,CACxD,OAAyB,EACzB,MAA8B,EAC9B,KAAa,EACb,EAAE;IACF,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AAClE,CAAC,CAAC;AAEF,MAAM,UAAU,kBAAkB,CAAC,OAAgB,EAAE,MAAY;IAC/D,OAAO,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AAC1D,CAAC;AAED,MAAM,gBAAgB,GAAG,iBAAiB,CAAC,6BAA6B,CAAC,CAAC;AAC1E,MAAM,CAAC,MAAM,iBAAiB,GAA8B,CAC1D,OAAyB,EACzB,MAA8B,EAC9B,KAAa,EACb,EAAE;IACF,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AAChE,CAAC,CAAC;AAEF,MAAM,UAAU,mBAAmB,CAAC,OAAgB,EAAE,MAAY;IAChE,OAAO,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACxD,CAAC;AAED,MAAM,gBAAgB,GAAG,iBAAiB,CAAC,0BAA0B,CAAC,CAAC;AACvE,MAAM,CAAC,MAAM,cAAc,GAA2B,CACpD,OAAyB,EACzB,MAA8B,EAC9B,KAAW,EACX,EAAE;IACF,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AAChE,CAAC,CAAC;AAEF,MAAM,UAAU,gBAAgB,CAAC,OAAgB,EAAE,MAAY;IAC7D,OAAO,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACxD,CAAC;AAED,MAAM,cAAc,GAAG,iBAAiB,CAAC,wBAAwB,CAAC,CAAC;AACnE,MAAM,CAAC,MAAM,YAAY,GAAyB,CAChD,OAAyB,EACzB,MAAY,EACZ,KAAW,EACX,EAAE;IACF,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AAC9D,CAAC,CAAC;AAEF,MAAM,UAAU,cAAc,CAAC,OAAgB,EAAE,MAAY;IAC3D,OAAO,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACtD,CAAC;AAOD,MAAM,aAAa,GAAG,iBAAiB,CAAC,sBAAsB,CAAC,CAAC;AAChE,MAAM,CAAC,MAAM,UAAU,GAAuB,CAC5C,OAAyB,EACzB,MAAY,EACZ,GAAW,EACX,KAAc,EACd,EAAE;IACF,YAAY,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;AACpD,CAAC,CAAC;AAEF,MAAM,UAAU,aAAa,CAAC,OAAgB,EAAE,MAAY;IAC1D,OAAO,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;AAC3D,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,OAAgB,EAAE,MAAY,EAAE,GAAW,EAAE,KAAc;IACtF,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAiC,CAAC;IACjF,MAAM,UAAU,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC;QACrC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAE;QACvB,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,CAAE,CAAC;IAE1C,oDAAoD;IACpD,IAAI,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC;QAC9B,UAAU,CAAC,IAAI,CAAC;YACd,GAAG;YACH,KAAK,EAAE,kBAAkB,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAE,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;SAC1E,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,UAAU,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC;IAClC,CAAC;AACH,CAAC;AAED,SAAS,kBAAkB,CACzB,KAAU;IAEV,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,MAAM,CAAC,KAAK,CAAC;QACb,KAAK,CAAC,IAAI,KAAK,OAAO;QACtB,KAAK,CAAC,IAAI,KAAK,MAAM;QACrB,KAAK,CAAC,SAAS,EAAE,IAAI,KAAK,YAAY,CACvC,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,iBAAiB,GAA8B,CAC1D,OAAyB,EACzB,MAAa,EACb,KAAW,EACX,EAAE;IACF,MAAM,CAAC,CAAC,EAAE,WAAW,CAAC,GAAG,kBAAkB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAC3D,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3B,OAAO,CAAC,OAAO,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;IACjD,CAAC;AACH,CAAC,CAAC;AACF,oBAAoB,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC"}
1
+ {"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../src/decorators.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,7 @@
1
- export { JsonSchemaEmitter } from "./json-schema-emitter.js";
2
- export { $flags, $lib, EmitterOptionsSchema, JSONSchemaEmitterOptions } from "./lib.js";
3
- export * from "./decorators.js";
1
+ export type { BaseUriDecorator, ContainsDecorator, ContentEncodingDecorator, ContentMediaTypeDecorator, ContentSchemaDecorator, ExtensionDecorator, IdDecorator, JsonSchemaDecorator, MaxContainsDecorator, MaxPropertiesDecorator, MinContainsDecorator, MinPropertiesDecorator, MultipleOfDecorator, OneOfDecorator, PrefixItemsDecorator, UniqueItemsDecorator, } from "../generated-defs/TypeSpec.JsonSchema.js";
2
+ export { $flags, $lib, EmitterOptionsSchema } from "./lib.js";
3
+ export type { JSONSchemaEmitterOptions } from "./lib.js";
4
+ export { $baseUri, $contains, $contentEncoding, $contentMediaType, $contentSchema, $extension, $id, $jsonSchema, $maxContains, $maxProperties, $minContains, $minProperties, $multipleOf, $oneOf, $prefixItems, $uniqueItems, findBaseUri, getBaseUri, getContains, getContentEncoding, getContentMediaType, getContentSchema, getExtensions, getId, getJsonSchema, getJsonSchemaTypes, getMaxContains, getMaxProperties, getMinContains, getMinProperties, getMultipleOf, getMultipleOfAsNumeric, getPrefixItems, getUniqueItems, isJsonSchemaDeclaration, isOneOf, setExtension, } from "./decorators.js";
5
+ export type { ExtensionRecord, JsonSchemaDeclaration } from "./decorators.js";
4
6
  export { $onEmit } from "./on-emit.js";
5
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,MAAM,UAAU,CAAC;AAKxF,cAAc,iBAAiB,CAAC;AAChC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,gBAAgB,EAChB,iBAAiB,EACjB,wBAAwB,EACxB,yBAAyB,EACzB,sBAAsB,EACtB,kBAAkB,EAClB,WAAW,EACX,mBAAmB,EACnB,oBAAoB,EACpB,sBAAsB,EACtB,oBAAoB,EACpB,sBAAsB,EACtB,mBAAmB,EACnB,cAAc,EACd,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,0CAA0C,CAAC;AAIlD,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAC9D,YAAY,EAAE,wBAAwB,EAAE,MAAM,UAAU,CAAC;AAKzD,OAAO,EACL,QAAQ,EACR,SAAS,EACT,gBAAgB,EAChB,iBAAiB,EACjB,cAAc,EACd,UAAU,EACV,GAAG,EACH,WAAW,EACX,YAAY,EACZ,cAAc,EACd,YAAY,EACZ,cAAc,EACd,WAAW,EACX,MAAM,EACN,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,UAAU,EACV,WAAW,EACX,kBAAkB,EAClB,mBAAmB,EACnB,gBAAgB,EAChB,aAAa,EACb,KAAK,EACL,aAAa,EACb,kBAAkB,EAClB,cAAc,EACd,gBAAgB,EAChB,cAAc,EACd,gBAAgB,EAChB,aAAa,EACb,sBAAsB,EACtB,cAAc,EACd,cAAc,EACd,uBAAuB,EACvB,OAAO,EACP,YAAY,GACb,MAAM,iBAAiB,CAAC;AACzB,YAAY,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAC9E,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC"}
package/dist/src/index.js CHANGED
@@ -1,8 +1,9 @@
1
+ /** @internal */
1
2
  export { JsonSchemaEmitter } from "./json-schema-emitter.js";
2
3
  export { $flags, $lib, EmitterOptionsSchema } from "./lib.js";
3
4
  /** @internal */
4
5
  export const namespace = "TypeSpec.JsonSchema";
5
- export * from "./decorators.js";
6
+ export { $baseUri, $contains, $contentEncoding, $contentMediaType, $contentSchema, $extension, $id, $jsonSchema, $maxContains, $maxProperties, $minContains, $minProperties, $multipleOf, $oneOf, $prefixItems, $uniqueItems, findBaseUri, getBaseUri, getContains, getContentEncoding, getContentMediaType, getContentSchema, getExtensions, getId, getJsonSchema, getJsonSchemaTypes, getMaxContains, getMaxProperties, getMinContains, getMinProperties, getMultipleOf, getMultipleOfAsNumeric, getPrefixItems, getUniqueItems, isJsonSchemaDeclaration, isOneOf, setExtension, } from "./decorators.js";
6
7
  export { $onEmit } from "./on-emit.js";
7
8
  /** @internal */
8
9
  export { $decorators } from "./tsp-index.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,oBAAoB,EAA4B,MAAM,UAAU,CAAC;AAExF,gBAAgB;AAChB,MAAM,CAAC,MAAM,SAAS,GAAG,qBAAqB,CAAC;AAE/C,cAAc,iBAAiB,CAAC;AAChC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,gBAAgB;AAChB,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAmBA,gBAAgB;AAChB,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAG9D,gBAAgB;AAChB,MAAM,CAAC,MAAM,SAAS,GAAG,qBAAqB,CAAC;AAE/C,OAAO,EACL,QAAQ,EACR,SAAS,EACT,gBAAgB,EAChB,iBAAiB,EACjB,cAAc,EACd,UAAU,EACV,GAAG,EACH,WAAW,EACX,YAAY,EACZ,cAAc,EACd,YAAY,EACZ,cAAc,EACd,WAAW,EACX,MAAM,EACN,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,UAAU,EACV,WAAW,EACX,kBAAkB,EAClB,mBAAmB,EACnB,gBAAgB,EAChB,aAAa,EACb,KAAK,EACL,aAAa,EACb,kBAAkB,EAClB,cAAc,EACd,gBAAgB,EAChB,cAAc,EACd,gBAAgB,EAChB,aAAa,EACb,sBAAsB,EACtB,cAAc,EACd,cAAc,EACd,uBAAuB,EACvB,OAAO,EACP,YAAY,GACb,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,gBAAgB;AAChB,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC"}
@@ -1,40 +1,2 @@
1
- import { BooleanLiteral, Enum, EnumMember, IntrinsicType, Model, ModelProperty, NumericLiteral, Scalar, StringLiteral, StringTemplate, Tuple, Type, Union, UnionVariant } from "@typespec/compiler";
2
- import { Context, Declaration, EmitEntity, EmittedSourceFile, EmitterOutput, Scope, SourceFile, TypeEmitter } from "@typespec/compiler/emitter-framework";
3
- import { JSONSchemaEmitterOptions } from "./lib.js";
4
- export declare class JsonSchemaEmitter extends TypeEmitter<Record<string, any>, JSONSchemaEmitterOptions> {
5
- #private;
6
- modelDeclaration(model: Model, name: string): EmitterOutput<object>;
7
- modelLiteral(model: Model): EmitterOutput<object>;
8
- modelInstantiation(model: Model, name: string | undefined): EmitterOutput<Record<string, any>>;
9
- arrayDeclaration(array: Model, name: string, elementType: Type): EmitterOutput<object>;
10
- arrayLiteral(array: Model, elementType: Type): EmitterOutput<object>;
11
- modelProperties(model: Model): EmitterOutput<object>;
12
- modelPropertyLiteral(property: ModelProperty): EmitterOutput<object>;
13
- booleanLiteral(boolean: BooleanLiteral): EmitterOutput<object>;
14
- stringLiteral(string: StringLiteral): EmitterOutput<object>;
15
- stringTemplate(string: StringTemplate): EmitterOutput<object>;
16
- numericLiteral(number: NumericLiteral): EmitterOutput<object>;
17
- enumDeclaration(en: Enum, name: string): EmitterOutput<object>;
18
- enumMemberReference(member: EnumMember): EmitterOutput<Record<string, any>>;
19
- tupleLiteral(tuple: Tuple): EmitterOutput<Record<string, any>>;
20
- tupleLiteralValues(tuple: Tuple): EmitterOutput<Record<string, any>>;
21
- unionDeclaration(union: Union, name: string): EmitterOutput<object>;
22
- unionLiteral(union: Union): EmitterOutput<object>;
23
- unionVariants(union: Union): EmitterOutput<object>;
24
- unionVariant(variant: UnionVariant): EmitterOutput<object>;
25
- modelPropertyReference(property: ModelProperty): EmitterOutput<object>;
26
- reference(targetDeclaration: Declaration<Record<string, unknown>>, pathUp: Scope<Record<string, unknown>>[], pathDown: Scope<Record<string, unknown>>[], commonScope: Scope<Record<string, unknown>> | null): object | EmitEntity<Record<string, unknown>>;
27
- scalarInstantiation(scalar: Scalar, name: string | undefined): EmitterOutput<Record<string, any>>;
28
- scalarInstantiationContext(scalar: Scalar, name: string | undefined): Context;
29
- scalarDeclaration(scalar: Scalar, name: string): EmitterOutput<object>;
30
- intrinsic(intrinsic: IntrinsicType, name: string): EmitterOutput<object>;
31
- writeOutput(sourceFiles: SourceFile<Record<string, any>>[]): Promise<void>;
32
- sourceFile(sourceFile: SourceFile<object>): EmittedSourceFile;
33
- modelDeclarationContext(model: Model, name: string): Context;
34
- modelInstantiationContext(model: Model, name: string | undefined): Context;
35
- arrayDeclarationContext(array: Model): Context;
36
- enumDeclarationContext(en: Enum): Context;
37
- unionDeclarationContext(union: Union): Context;
38
- scalarDeclarationContext(scalar: Scalar): Context;
39
- }
1
+ export {};
40
2
  //# sourceMappingURL=json-schema-emitter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"json-schema-emitter.d.ts","sourceRoot":"","sources":["../../src/json-schema-emitter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"json-schema-emitter.d.ts","sourceRoot":"","sources":["../../src/json-schema-emitter.ts"],"names":[],"mappings":""}
@@ -1,9 +1,10 @@
1
1
  import { compilerAssert, emitFile, explainStringTemplateNotSerializable, getDeprecated, getDirectoryPath, getDoc, getExamples, getFormat, getMaxItems, getMaxLength, getMaxValue, getMaxValueExclusive, getMinItems, getMinLength, getMinValue, getMinValueExclusive, getPattern, getRelativePathFromDirectory, getSummary, isArrayModelType, isNullType, isType, joinPaths, serializeValueAsJson, } from "@typespec/compiler";
2
- import { ArrayBuilder, ObjectBuilder, Placeholder, TypeEmitter, } from "@typespec/compiler/emitter-framework";
2
+ import { ArrayBuilder, Declaration, ObjectBuilder, Placeholder, TypeEmitter, } from "@typespec/compiler/emitter-framework";
3
3
  import { DuplicateTracker } from "@typespec/compiler/utils";
4
4
  import { stringify } from "yaml";
5
5
  import { findBaseUri, getContains, getContentEncoding, getContentMediaType, getContentSchema, getExtensions, getId, getMaxContains, getMaxProperties, getMinContains, getMinProperties, getMultipleOf, getPrefixItems, getUniqueItems, isJsonSchemaDeclaration, isOneOf, } from "./index.js";
6
6
  import { reportDiagnostic } from "./lib.js";
7
+ /** @internal */
7
8
  export class JsonSchemaEmitter extends TypeEmitter {
8
9
  #idDuplicateTracker = new DuplicateTracker();
9
10
  #typeForSourceFile = new Map();
@@ -1 +1 @@
1
- {"version":3,"file":"json-schema-emitter.js","sourceRoot":"","sources":["../../src/json-schema-emitter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"json-schema-emitter.js","sourceRoot":"","sources":["../../src/json-schema-emitter.ts"],"names":[],"mappings":"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"}
package/dist/src/lib.d.ts CHANGED
@@ -1,10 +1,22 @@
1
- import { JSONSchemaType } from "@typespec/compiler";
1
+ import { type JSONSchemaType } from "@typespec/compiler";
2
+ /**
3
+ * File type
4
+ */
2
5
  export type FileType = "yaml" | "json";
6
+ /**
7
+ * Strategy for handling the int64 type in the resulting json schema.
8
+ * - string: As a string
9
+ * - number: As a number (In JavaScript, int64 cannot be accurately represented as number)
10
+ *
11
+ */
3
12
  export type Int64Strategy = "string" | "number";
13
+ /**
14
+ * Json schema emitter options
15
+ */
4
16
  export interface JSONSchemaEmitterOptions {
5
17
  /**
6
18
  * Serialize the schema as either yaml or json.
7
- * @default yaml, it not specified infer from the `output-file` extension
19
+ * @defaultValue yaml it not specified infer from the `output-file` extension
8
20
  */
9
21
  "file-type"?: FileType;
10
22
  /**
@@ -22,7 +34,7 @@ export interface JSONSchemaEmitterOptions {
22
34
  bundleId?: string;
23
35
  /**
24
36
  * When true, emit all model declarations to JSON Schema without requiring
25
- * the @jsonSchema decorator.
37
+ * the `@jsonSchema` decorator.
26
38
  */
27
39
  emitAllModels?: boolean;
28
40
  /**
@@ -32,7 +44,11 @@ export interface JSONSchemaEmitterOptions {
32
44
  */
33
45
  emitAllRefs?: boolean;
34
46
  }
47
+ /**
48
+ * Internal: Json Schema emitter options schema
49
+ */
35
50
  export declare const EmitterOptionsSchema: JSONSchemaType<JSONSchemaEmitterOptions>;
51
+ /** Internal: TypeSpec library definition */
36
52
  export declare const $lib: import("@typespec/compiler").TypeSpecLibrary<{
37
53
  "invalid-default": {
38
54
  readonly default: import("@typespec/compiler").CallableMessage<["type"]>;
@@ -43,7 +59,8 @@ export declare const $lib: import("@typespec/compiler").TypeSpecLibrary<{
43
59
  "unknown-scalar": {
44
60
  readonly default: import("@typespec/compiler").CallableMessage<["name"]>;
45
61
  };
46
- }, JSONSchemaEmitterOptions, never>;
62
+ }, JSONSchemaEmitterOptions, "JsonSchema" | "JsonSchema.baseURI" | "JsonSchema.multipleOf" | "JsonSchema.id" | "JsonSchema.oneOf" | "JsonSchema.contains" | "JsonSchema.minContains" | "JsonSchema.maxContains" | "JsonSchema.uniqueItems" | "JsonSchema.minProperties" | "JsonSchema.maxProperties" | "JsonSchema.contentEncoding" | "JsonSchema.contentSchema" | "JsonSchema.contentMediaType" | "JsonSchema.prefixItems" | "JsonSchema.extension">;
63
+ /** Internal: TypeSpec flags */
47
64
  export declare const $flags: import("@typespec/compiler").PackageFlags;
48
65
  export declare const reportDiagnostic: <C extends "invalid-default" | "duplicate-id" | "unknown-scalar", M extends keyof {
49
66
  "invalid-default": {
@@ -65,6 +82,6 @@ export declare const reportDiagnostic: <C extends "invalid-default" | "duplicate
65
82
  "unknown-scalar": {
66
83
  readonly default: import("@typespec/compiler").CallableMessage<["name"]>;
67
84
  };
68
- }, C, M>) => void, createStateSymbol: (name: string) => symbol;
85
+ }, C, M>) => void, createStateSymbol: (name: string) => symbol, JsonSchemaStateKeys: Record<"JsonSchema" | "JsonSchema.baseURI" | "JsonSchema.multipleOf" | "JsonSchema.id" | "JsonSchema.oneOf" | "JsonSchema.contains" | "JsonSchema.minContains" | "JsonSchema.maxContains" | "JsonSchema.uniqueItems" | "JsonSchema.minProperties" | "JsonSchema.maxProperties" | "JsonSchema.contentEncoding" | "JsonSchema.contentSchema" | "JsonSchema.contentMediaType" | "JsonSchema.prefixItems" | "JsonSchema.extension", symbol>;
69
86
  export type JsonSchemaLibrary = typeof $lib;
70
87
  //# sourceMappingURL=lib.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"lib.d.ts","sourceRoot":"","sources":["../../src/lib.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,cAAc,EAEf,MAAM,oBAAoB,CAAC;AAE5B,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,MAAM,CAAC;AACvC,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAEhD,MAAM,WAAW,wBAAwB;IACvC;;;OAGG;IACH,WAAW,CAAC,EAAE,QAAQ,CAAC;IAEvB;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,aAAa,CAAC;IAEjC;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB;;;;OAIG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,eAAO,MAAM,oBAAoB,EAAE,cAAc,CAAC,wBAAwB,CAuCzE,CAAC;AAEF,eAAO,MAAM,IAAI;;;;;;;;;;mCAyBN,CAAC;AAEZ,eAAO,MAAM,MAAM,2CAAyB,CAAC;AAE7C,eAAO,MAAQ,gBAAgB;;;;;;;;;;;;;;;;;;;;mBAAE,iBAAiB,0BAAS,CAAC;AAE5D,MAAM,MAAM,iBAAiB,GAAG,OAAO,IAAI,CAAC"}
1
+ {"version":3,"file":"lib.d.ts","sourceRoot":"","sources":["../../src/lib.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,cAAc,EAEpB,MAAM,oBAAoB,CAAC;AAE5B;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,MAAM,CAAC;AAEvC;;;;;GAKG;AACH,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAEhD;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC;;;OAGG;IACH,WAAW,CAAC,EAAE,QAAQ,CAAC;IAEvB;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,aAAa,CAAC;IAEjC;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB;;;;OAIG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED;;GAEG;AACH,eAAO,MAAM,oBAAoB,EAAE,cAAc,CAAC,wBAAwB,CAuCzE,CAAC;AAEF,4CAA4C;AAC5C,eAAO,MAAM,IAAI;;;;;;;;;;qbA6DN,CAAC;AAEZ,+BAA+B;AAC/B,eAAO,MAAM,MAAM,2CAAyB,CAAC;AAE7C,eAAO,MAAQ,gBAAgB;;;;;;;;;;;;;;;;;;;;mBAAE,iBAAiB,4BAAa,mBAAmB,yaAAS,CAAC;AAE5F,MAAM,MAAM,iBAAiB,GAAG,OAAO,IAAI,CAAC"}
package/dist/src/lib.js CHANGED
@@ -1,4 +1,7 @@
1
1
  import { createTypeSpecLibrary, definePackageFlags, paramMessage, } from "@typespec/compiler";
2
+ /**
3
+ * Internal: Json Schema emitter options schema
4
+ */
2
5
  export const EmitterOptionsSchema = {
3
6
  type: "object",
4
7
  additionalProperties: false,
@@ -36,6 +39,7 @@ export const EmitterOptionsSchema = {
36
39
  },
37
40
  required: [],
38
41
  };
42
+ /** Internal: TypeSpec library definition */
39
43
  export const $lib = createTypeSpecLibrary({
40
44
  name: "@typespec/json-schema",
41
45
  diagnostics: {
@@ -61,7 +65,44 @@ export const $lib = createTypeSpecLibrary({
61
65
  emitter: {
62
66
  options: EmitterOptionsSchema,
63
67
  },
68
+ state: {
69
+ JsonSchema: { description: "State indexing types marked with @jsonSchema" },
70
+ "JsonSchema.baseURI": { description: "Contains data configured with @baseUri decorator" },
71
+ "JsonSchema.multipleOf": { description: "Contains data configured with @multipleOf decorator" },
72
+ "JsonSchema.id": { description: "Contains data configured with @id decorator" },
73
+ "JsonSchema.oneOf": { description: "Contains data configured with @oneOf decorator" },
74
+ "JsonSchema.contains": { description: "Contains data configured with @contains decorator" },
75
+ "JsonSchema.minContains": {
76
+ description: "Contains data configured with @minContains decorator",
77
+ },
78
+ "JsonSchema.maxContains": {
79
+ description: "Contains data configured with @maxContains decorator",
80
+ },
81
+ "JsonSchema.uniqueItems": {
82
+ description: "Contains data configured with @uniqueItems decorator",
83
+ },
84
+ "JsonSchema.minProperties": {
85
+ description: "Contains data configured with @minProperties decorator",
86
+ },
87
+ "JsonSchema.maxProperties": {
88
+ description: "Contains data configured with @maxProperties decorator",
89
+ },
90
+ "JsonSchema.contentEncoding": {
91
+ description: "Contains data configured with @contentEncoding decorator",
92
+ },
93
+ "JsonSchema.contentSchema": {
94
+ description: "Contains data configured with @contentSchema decorator",
95
+ },
96
+ "JsonSchema.contentMediaType": {
97
+ description: "Contains data configured with @contentMediaType decorator",
98
+ },
99
+ "JsonSchema.prefixItems": {
100
+ description: "Contains data configured with @prefixItems decorator",
101
+ },
102
+ "JsonSchema.extension": { description: "Contains data configured with @extension decorator" },
103
+ },
64
104
  });
105
+ /** Internal: TypeSpec flags */
65
106
  export const $flags = definePackageFlags({});
66
- export const { reportDiagnostic, createStateSymbol } = $lib;
107
+ export const { reportDiagnostic, createStateSymbol, stateKeys: JsonSchemaStateKeys } = $lib;
67
108
  //# sourceMappingURL=lib.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"lib.js","sourceRoot":"","sources":["../../src/lib.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EACrB,kBAAkB,EAElB,YAAY,GACb,MAAM,oBAAoB,CAAC;AAyC5B,MAAM,CAAC,MAAM,oBAAoB,GAA6C;IAC5E,IAAI,EAAE,QAAQ;IACd,oBAAoB,EAAE,KAAK;IAC3B,UAAU,EAAE;QACV,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;YACtB,QAAQ,EAAE,IAAI;YACd,WAAW,EAAE,8CAA8C;SAC5D;QACD,gBAAgB,EAAE;YAChB,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;YAC1B,QAAQ,EAAE,IAAI;YACd,WAAW,EAAE;;;2DAGwC;SACtD;QACD,QAAQ,EAAE;YACR,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,IAAI;YACd,WAAW,EACT,uLAAuL;SAC1L;QACD,aAAa,EAAE;YACb,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,IAAI;YACd,WAAW,EACT,oGAAoG;SACvG;QACD,WAAW,EAAE;YACX,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,IAAI;YACd,WAAW,EACT,2LAA2L;SAC9L;KACF;IACD,QAAQ,EAAE,EAAE;CACb,CAAC;AAEF,MAAM,CAAC,MAAM,IAAI,GAAG,qBAAqB,CAAC;IACxC,IAAI,EAAE,uBAAuB;IAC7B,WAAW,EAAE;QACX,iBAAiB,EAAE;YACjB,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EAAE,YAAY,CAAA,iBAAiB,MAAM,uBAAuB;aACpE;SACF;QACD,cAAc,EAAE;YACd,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EAAE,YAAY,CAAA,8CAA8C,IAAI,IAAI;aAC5E;SACF;QACD,gBAAgB,EAAE;YAChB,QAAQ,EAAE,SAAS;YACnB,QAAQ,EAAE;gBACR,OAAO,EAAE,YAAY,CAAA,WAAW,MAAM,sEAAsE;aAC7G;SACF;KACF;IACD,OAAO,EAAE;QACP,OAAO,EAAE,oBAAgE;KAC1E;CACO,CAAC,CAAC;AAEZ,MAAM,CAAC,MAAM,MAAM,GAAG,kBAAkB,CAAC,EAAE,CAAC,CAAC;AAE7C,MAAM,CAAC,MAAM,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,GAAG,IAAI,CAAC"}
1
+ {"version":3,"file":"lib.js","sourceRoot":"","sources":["../../src/lib.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EACrB,kBAAkB,EAElB,YAAY,GACb,MAAM,oBAAoB,CAAC;AAsD5B;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAA6C;IAC5E,IAAI,EAAE,QAAQ;IACd,oBAAoB,EAAE,KAAK;IAC3B,UAAU,EAAE;QACV,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;YACtB,QAAQ,EAAE,IAAI;YACd,WAAW,EAAE,8CAA8C;SAC5D;QACD,gBAAgB,EAAE;YAChB,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;YAC1B,QAAQ,EAAE,IAAI;YACd,WAAW,EAAE;;;2DAGwC;SACtD;QACD,QAAQ,EAAE;YACR,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,IAAI;YACd,WAAW,EACT,uLAAuL;SAC1L;QACD,aAAa,EAAE;YACb,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,IAAI;YACd,WAAW,EACT,oGAAoG;SACvG;QACD,WAAW,EAAE;YACX,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,IAAI;YACd,WAAW,EACT,2LAA2L;SAC9L;KACF;IACD,QAAQ,EAAE,EAAE;CACb,CAAC;AAEF,4CAA4C;AAC5C,MAAM,CAAC,MAAM,IAAI,GAAG,qBAAqB,CAAC;IACxC,IAAI,EAAE,uBAAuB;IAC7B,WAAW,EAAE;QACX,iBAAiB,EAAE;YACjB,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EAAE,YAAY,CAAA,iBAAiB,MAAM,uBAAuB;aACpE;SACF;QACD,cAAc,EAAE;YACd,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EAAE,YAAY,CAAA,8CAA8C,IAAI,IAAI;aAC5E;SACF;QACD,gBAAgB,EAAE;YAChB,QAAQ,EAAE,SAAS;YACnB,QAAQ,EAAE;gBACR,OAAO,EAAE,YAAY,CAAA,WAAW,MAAM,sEAAsE;aAC7G;SACF;KACF;IACD,OAAO,EAAE;QACP,OAAO,EAAE,oBAAgE;KAC1E;IACD,KAAK,EAAE;QACL,UAAU,EAAE,EAAE,WAAW,EAAE,8CAA8C,EAAE;QAC3E,oBAAoB,EAAE,EAAE,WAAW,EAAE,kDAAkD,EAAE;QACzF,uBAAuB,EAAE,EAAE,WAAW,EAAE,qDAAqD,EAAE;QAC/F,eAAe,EAAE,EAAE,WAAW,EAAE,6CAA6C,EAAE;QAC/E,kBAAkB,EAAE,EAAE,WAAW,EAAE,gDAAgD,EAAE;QACrF,qBAAqB,EAAE,EAAE,WAAW,EAAE,mDAAmD,EAAE;QAC3F,wBAAwB,EAAE;YACxB,WAAW,EAAE,sDAAsD;SACpE;QACD,wBAAwB,EAAE;YACxB,WAAW,EAAE,sDAAsD;SACpE;QACD,wBAAwB,EAAE;YACxB,WAAW,EAAE,sDAAsD;SACpE;QACD,0BAA0B,EAAE;YAC1B,WAAW,EAAE,wDAAwD;SACtE;QACD,0BAA0B,EAAE;YAC1B,WAAW,EAAE,wDAAwD;SACtE;QACD,4BAA4B,EAAE;YAC5B,WAAW,EAAE,0DAA0D;SACxE;QACD,0BAA0B,EAAE;YAC1B,WAAW,EAAE,wDAAwD;SACtE;QACD,6BAA6B,EAAE;YAC7B,WAAW,EAAE,2DAA2D;SACzE;QACD,wBAAwB,EAAE;YACxB,WAAW,EAAE,sDAAsD;SACpE;QACD,sBAAsB,EAAE,EAAE,WAAW,EAAE,oDAAoD,EAAE;KAC9F;CACO,CAAC,CAAC;AAEZ,+BAA+B;AAC/B,MAAM,CAAC,MAAM,MAAM,GAAG,kBAAkB,CAAC,EAAE,CAAC,CAAC;AAE7C,MAAM,CAAC,MAAM,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,SAAS,EAAE,mBAAmB,EAAE,GAAG,IAAI,CAAC"}
@@ -1,8 +1,10 @@
1
- import { EmitContext, Enum, Model, Scalar, Union } from "@typespec/compiler";
2
- import { JSONSchemaEmitterOptions } from "./lib.js";
3
- export { JsonSchemaEmitter } from "./json-schema-emitter.js";
4
- export { $flags, $lib, EmitterOptionsSchema, JSONSchemaEmitterOptions } from "./lib.js";
1
+ import type { EmitContext, Enum, Model, Scalar, Union } from "@typespec/compiler";
2
+ import type { JSONSchemaEmitterOptions } from "./lib.js";
3
+ export { $flags, $lib, EmitterOptionsSchema, type JSONSchemaEmitterOptions } from "./lib.js";
5
4
  export declare const namespace = "TypeSpec.JsonSchema";
6
5
  export type JsonSchemaDeclaration = Model | Union | Enum | Scalar;
6
+ /**
7
+ * Internal: TypeSpec emitter entry point
8
+ */
7
9
  export declare function $onEmit(context: EmitContext<JSONSchemaEmitterOptions>): Promise<void>;
8
10
  //# sourceMappingURL=on-emit.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"on-emit.d.ts","sourceRoot":"","sources":["../../src/on-emit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAI7E,OAAO,EAAE,wBAAwB,EAAE,MAAM,UAAU,CAAC;AAEpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,MAAM,UAAU,CAAC;AAExF,eAAO,MAAM,SAAS,wBAAwB,CAAC;AAC/C,MAAM,MAAM,qBAAqB,GAAG,KAAK,GAAG,KAAK,GAAG,IAAI,GAAG,MAAM,CAAC;AAElE,wBAAsB,OAAO,CAAC,OAAO,EAAE,WAAW,CAAC,wBAAwB,CAAC,iBAY3E"}
1
+ {"version":3,"file":"on-emit.d.ts","sourceRoot":"","sources":["../../src/on-emit.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAIlF,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,UAAU,CAAC;AACzD,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,oBAAoB,EAAE,KAAK,wBAAwB,EAAE,MAAM,UAAU,CAAC;AAE7F,eAAO,MAAM,SAAS,wBAAwB,CAAC;AAC/C,MAAM,MAAM,qBAAqB,GAAG,KAAK,GAAG,KAAK,GAAG,IAAI,GAAG,MAAM,CAAC;AAElE;;GAEG;AACH,wBAAsB,OAAO,CAAC,OAAO,EAAE,WAAW,CAAC,wBAAwB,CAAC,iBAY3E"}
@@ -1,9 +1,11 @@
1
1
  import { createAssetEmitter } from "@typespec/compiler/emitter-framework";
2
2
  import { getJsonSchemaTypes } from "./decorators.js";
3
3
  import { JsonSchemaEmitter } from "./json-schema-emitter.js";
4
- export { JsonSchemaEmitter } from "./json-schema-emitter.js";
5
4
  export { $flags, $lib, EmitterOptionsSchema } from "./lib.js";
6
5
  export const namespace = "TypeSpec.JsonSchema";
6
+ /**
7
+ * Internal: TypeSpec emitter entry point
8
+ */
7
9
  export async function $onEmit(context) {
8
10
  const emitter = createAssetEmitter(context.program, JsonSchemaEmitter, context);
9
11
  if (emitter.getOptions().emitAllModels) {
@@ -1 +1 @@
1
- {"version":3,"file":"on-emit.js","sourceRoot":"","sources":["../../src/on-emit.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAC1E,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAG7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,oBAAoB,EAA4B,MAAM,UAAU,CAAC;AAExF,MAAM,CAAC,MAAM,SAAS,GAAG,qBAAqB,CAAC;AAG/C,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,OAA8C;IAC1E,MAAM,OAAO,GAAG,kBAAkB,CAAC,OAAO,CAAC,OAAO,EAAE,iBAAwB,EAAE,OAAO,CAAC,CAAC;IAEvF,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC,aAAa,EAAE,CAAC;QACvC,OAAO,CAAC,WAAW,CAAC,EAAE,qBAAqB,EAAE,KAAK,EAAE,CAAC,CAAC;IACxD,CAAC;SAAM,CAAC;QACN,KAAK,MAAM,IAAI,IAAI,kBAAkB,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YACvD,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACzB,CAAC;IACH,CAAC;IAED,MAAM,OAAO,CAAC,WAAW,EAAE,CAAC;AAC9B,CAAC"}
1
+ {"version":3,"file":"on-emit.js","sourceRoot":"","sources":["../../src/on-emit.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAC1E,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAE7D,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,oBAAoB,EAAiC,MAAM,UAAU,CAAC;AAE7F,MAAM,CAAC,MAAM,SAAS,GAAG,qBAAqB,CAAC;AAG/C;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,OAA8C;IAC1E,MAAM,OAAO,GAAG,kBAAkB,CAAC,OAAO,CAAC,OAAO,EAAE,iBAAwB,EAAE,OAAO,CAAC,CAAC;IAEvF,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC,aAAa,EAAE,CAAC;QACvC,OAAO,CAAC,WAAW,CAAC,EAAE,qBAAqB,EAAE,KAAK,EAAE,CAAC,CAAC;IACxD,CAAC;SAAM,CAAC;QACN,KAAK,MAAM,IAAI,IAAI,kBAAkB,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YACvD,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACzB,CAAC;IACH,CAAC;IAED,MAAM,OAAO,CAAC,WAAW,EAAE,CAAC;AAC9B,CAAC"}
@@ -1,3 +1,3 @@
1
- import { TypeSpecTestLibrary } from "@typespec/compiler/testing";
1
+ import { type TypeSpecTestLibrary } from "@typespec/compiler/testing";
2
2
  export declare const JsonSchemaTestLibrary: TypeSpecTestLibrary;
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/testing/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,mBAAmB,EACpB,MAAM,4BAA4B,CAAC;AAEpC,eAAO,MAAM,qBAAqB,EAAE,mBAGlC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/testing/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,mBAAmB,EACzB,MAAM,4BAA4B,CAAC;AAEpC,eAAO,MAAM,qBAAqB,EAAE,mBAGlC,CAAC"}
@@ -0,0 +1,11 @@
1
+ // This file is read by tools that parse documentation comments conforming to the TSDoc standard.
2
+ // It should be published with your NPM package. It should not be tracked by Git.
3
+ {
4
+ "tsdocVersion": "0.12",
5
+ "toolPackages": [
6
+ {
7
+ "packageName": "@microsoft/api-extractor",
8
+ "packageVersion": "7.47.9"
9
+ }
10
+ ]
11
+ }
@@ -0,0 +1,3 @@
1
+ import type { DecoratorFunction, Type } from "@typespec/compiler";
2
+ export declare function createDataDecorator<T extends DecoratorFunction, Target extends Type = Parameters<T>[1]>(key: symbol, validate?: (...args: Parameters<T>) => boolean): readonly [(program: import("@typespec/compiler").Program, type: Target) => Parameters<T>[2] | undefined, (program: import("@typespec/compiler").Program, type: Target, value: Parameters<T>[2]) => void, T];
3
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAGlE,wBAAgB,mBAAmB,CACjC,CAAC,SAAS,iBAAiB,EAC3B,MAAM,SAAS,IAAI,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EACtC,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,KAAK,OAAO,+MAU5D"}
@@ -0,0 +1,13 @@
1
+ import { unsafe_useStateMap } from "@typespec/compiler/experimental";
2
+ export function createDataDecorator(key, validate) {
3
+ const [getData, setData] = unsafe_useStateMap(key);
4
+ const decorator = (...args) => {
5
+ if (validate && !validate(...args)) {
6
+ return;
7
+ }
8
+ const [context, target, value] = args;
9
+ setData(context.program, target, value);
10
+ };
11
+ return [getData, setData, decorator];
12
+ }
13
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAErE,MAAM,UAAU,mBAAmB,CAGjC,GAAW,EAAE,QAA8C;IAC3D,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,kBAAkB,CAA2B,GAAG,CAAC,CAAC;IAC7E,MAAM,SAAS,GAAG,CAAC,GAAG,IAAmB,EAAE,EAAE;QAC3C,IAAI,QAAQ,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;YACnC,OAAO;QACT,CAAC;QACD,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,GAAG,IAAI,CAAC;QACtC,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;IAC1C,CAAC,CAAC;IACF,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,SAAc,CAAU,CAAC;AACrD,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@typespec/json-schema",
3
- "version": "0.62.0-dev.1",
3
+ "version": "0.62.0-dev.3",
4
4
  "author": "Microsoft Corporation",
5
5
  "description": "TypeSpec library for emitting TypeSpec to JSON Schema and converting JSON Schema to TypeSpec",
6
6
  "homepage": "https://github.com/microsoft/typespec",
@@ -21,6 +21,7 @@
21
21
  "main": "dist/src/index.js",
22
22
  "exports": {
23
23
  ".": {
24
+ "typespec": "./lib/main.tsp",
24
25
  "types": "./dist/src/index.d.ts",
25
26
  "default": "./dist/src/index.js"
26
27
  },
@@ -39,11 +40,11 @@
39
40
  "!dist/test/**"
40
41
  ],
41
42
  "peerDependencies": {
42
- "@typespec/compiler": "~0.61.0 || >=0.62.0-dev <0.62.0"
43
+ "@typespec/compiler": "~0.61.2 || >=0.62.0-dev <0.62.0"
43
44
  },
44
45
  "devDependencies": {
45
46
  "@types/node": "~22.7.5",
46
- "@typespec/compiler": "~0.61.0 || >=0.62.0-dev <0.62.0",
47
+ "@typespec/compiler": "~0.61.2 || >=0.62.0-dev <0.62.0",
47
48
  "@typespec/internal-build-utils": "~0.61.0 || >=0.62.0-dev <0.62.0",
48
49
  "@typespec/library-linter": "~0.61.0 || >=0.62.0-dev <0.62.0",
49
50
  "@vitest/coverage-v8": "^2.1.2",
@@ -61,7 +62,7 @@
61
62
  },
62
63
  "scripts": {
63
64
  "clean": "rimraf ./dist ./temp",
64
- "build": "npm run gen-extern-signature && tsc -p . && npm run lint-typespec-library",
65
+ "build": "npm run gen-extern-signature && tsc -p . && npm run lint-typespec-library && pnpm api-extractor",
65
66
  "watch": "tsc -p . --watch",
66
67
  "gen-extern-signature": "tspd --enable-experimental gen-extern-signature .",
67
68
  "lint-typespec-library": "tsp compile . --warn-as-error --import @typespec/library-linter --no-emit",
@@ -70,6 +71,7 @@
70
71
  "test:ci": "vitest run --coverage --reporter=junit --reporter=default",
71
72
  "lint": "eslint . --max-warnings=0",
72
73
  "lint:fix": "eslint . --fix",
73
- "regen-docs": "tspd doc . --enable-experimental --output-dir ../../docs/emitters/json-schema/reference"
74
+ "regen-docs": "tspd doc . --enable-experimental --output-dir ../../docs/emitters/json-schema/reference",
75
+ "api-extractor": "api-extractor run --local --verbose"
74
76
  }
75
77
  }