@typespec/compiler 1.9.0-dev.4 → 1.9.0-dev.5

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.
package/dist/manifest.js CHANGED
@@ -1,4 +1,4 @@
1
1
  export default {
2
- "version": "1.9.0-dev.4",
3
- "commit": "81f28da0c17eeb87e830f504eb2e2b3bedd644c3"
2
+ "version": "1.9.0-dev.5",
3
+ "commit": "a25593170bbaa2c6a3b5c0c99efa9ebcd064d5f9"
4
4
  };
@@ -1,9 +1,28 @@
1
1
  import type { Program } from "../core/program.js";
2
- import { type Type, type Value } from "../core/types.js";
2
+ import { type ScalarValue, type Type, type Value } from "../core/types.js";
3
3
  import { type EncodeData } from "./decorators.js";
4
+ /**
5
+ * Error thrown when a scalar value cannot be serialized because it uses an unsupported constructor.
6
+ */
7
+ export declare class UnsupportedScalarConstructorError extends Error {
8
+ readonly scalarName: string;
9
+ readonly constructorName: string;
10
+ readonly supportedConstructors: readonly string[];
11
+ constructor(scalarName: string, constructorName: string, supportedConstructors: readonly string[]);
12
+ }
13
+ export interface ValueJsonSerializers {
14
+ /** Custom handler to serialize a scalar value
15
+ * @param value The scalar value to serialize
16
+ * @param type The type of the scalar value in the current context
17
+ * @param encodeAs The encoding information for the scalar value, if any
18
+ * @param originalFn The original serialization function to fall back to. Throws `UnsupportedScalarConstructorError` if the scalar constructor is not supported.
19
+ * @returns The serialized value
20
+ */
21
+ serializeScalarValue?: (value: ScalarValue, type: Type, encodeAs: EncodeData | undefined, originalFn: (value: ScalarValue, type: Type, encodeAs: EncodeData | undefined) => unknown) => unknown;
22
+ }
4
23
  /**
5
24
  * Serialize the given TypeSpec value as a JSON object using the given type and its encoding annotations.
6
25
  * The Value MUST be assignable to the given type.
7
26
  */
8
- export declare function serializeValueAsJson(program: Program, value: Value, type: Type, encodeAs?: EncodeData): unknown;
27
+ export declare function serializeValueAsJson(program: Program, value: Value, type: Type, encodeAs?: EncodeData, handlers?: ValueJsonSerializers): unknown;
9
28
  //# sourceMappingURL=examples.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"examples.d.ts","sourceRoot":"","sources":["../../../src/lib/examples.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAGlD,OAAO,EAIL,KAAK,IAAI,EACT,KAAK,KAAK,EACX,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAiC,KAAK,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAEjF;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,IAAI,EACV,QAAQ,CAAC,EAAE,UAAU,GACpB,OAAO,CA6BT"}
1
+ {"version":3,"file":"examples.d.ts","sourceRoot":"","sources":["../../../src/lib/examples.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAGlD,OAAO,EAGL,KAAK,WAAW,EAChB,KAAK,IAAI,EACT,KAAK,KAAK,EACX,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAiC,KAAK,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAEjF;;GAEG;AACH,qBAAa,iCAAkC,SAAQ,KAAK;aAExC,UAAU,EAAE,MAAM;aAClB,eAAe,EAAE,MAAM;aACvB,qBAAqB,EAAE,SAAS,MAAM,EAAE;gBAFxC,UAAU,EAAE,MAAM,EAClB,eAAe,EAAE,MAAM,EACvB,qBAAqB,EAAE,SAAS,MAAM,EAAE;CAO3D;AAED,MAAM,WAAW,oBAAoB;IACnC;;;;;;OAMG;IACH,oBAAoB,CAAC,EAAE,CACrB,KAAK,EAAE,WAAW,EAClB,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,UAAU,GAAG,SAAS,EAChC,UAAU,EAAE,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,GAAG,SAAS,KAAK,OAAO,KACtF,OAAO,CAAC;CACd;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,IAAI,EACV,QAAQ,CAAC,EAAE,UAAU,EACrB,QAAQ,CAAC,EAAE,oBAAoB,GAC9B,OAAO,CAmCT"}
@@ -3,13 +3,28 @@ import { ignoreDiagnostics } from "../core/diagnostics.js";
3
3
  import { getProperty } from "../core/semantic-walker.js";
4
4
  import { isArrayModelType, isUnknownType } from "../core/type-utils.js";
5
5
  import { getEncode, resolveEncodedName } from "./decorators.js";
6
+ /**
7
+ * Error thrown when a scalar value cannot be serialized because it uses an unsupported constructor.
8
+ */
9
+ export class UnsupportedScalarConstructorError extends Error {
10
+ scalarName;
11
+ constructorName;
12
+ supportedConstructors;
13
+ constructor(scalarName, constructorName, supportedConstructors) {
14
+ super(`Cannot serialize scalar '${scalarName}' with constructor '${constructorName}'. Supported constructors: ${supportedConstructors.join(", ")}`);
15
+ this.scalarName = scalarName;
16
+ this.constructorName = constructorName;
17
+ this.supportedConstructors = supportedConstructors;
18
+ this.name = "UnsupportedScalarConstructorError";
19
+ }
20
+ }
6
21
  /**
7
22
  * Serialize the given TypeSpec value as a JSON object using the given type and its encoding annotations.
8
23
  * The Value MUST be assignable to the given type.
9
24
  */
10
- export function serializeValueAsJson(program, value, type, encodeAs) {
25
+ export function serializeValueAsJson(program, value, type, encodeAs, handlers) {
11
26
  if (type.kind === "ModelProperty") {
12
- return serializeValueAsJson(program, value, type.type, encodeAs ?? getEncode(program, type));
27
+ return serializeValueAsJson(program, value, type.type, encodeAs ?? getEncode(program, type), handlers);
13
28
  }
14
29
  switch (value.valueKind) {
15
30
  case "NullValue":
@@ -28,7 +43,7 @@ export function serializeValueAsJson(program, value, type, encodeAs) {
28
43
  case "ObjectValue":
29
44
  return serializeObjectValueAsJson(program, value, type);
30
45
  case "ScalarValue":
31
- return serializeScalarValueAsJson(program, value, type, encodeAs);
46
+ return serializeScalarValueAsJson(program, value, type, encodeAs, handlers);
32
47
  }
33
48
  }
34
49
  /** Try to get the property of the type */
@@ -102,7 +117,10 @@ function resolveKnownScalar(program, scalar) {
102
117
  }
103
118
  return undefined;
104
119
  }
105
- function serializeScalarValueAsJson(program, value, type, encodeAs) {
120
+ function serializeScalarValueAsJson(program, value, type, encodeAs, handlers) {
121
+ if (handlers?.serializeScalarValue) {
122
+ return handlers.serializeScalarValue(value, type, encodeAs, serializeScalarValueAsJson.bind(null, program, value, type, encodeAs, undefined));
123
+ }
106
124
  const result = resolveKnownScalar(program, value.scalar);
107
125
  if (result === undefined) {
108
126
  return serializeValueAsJson(program, value.value.args[0], value.value.args[0].type);
@@ -110,15 +128,30 @@ function serializeScalarValueAsJson(program, value, type, encodeAs) {
110
128
  encodeAs = encodeAs ?? result.encodeAs;
111
129
  switch (result.scalar.name) {
112
130
  case "utcDateTime":
113
- return ScalarSerializers.utcDateTime(value.value.args[0].value, encodeAs);
131
+ if (value.value.name === "fromISO") {
132
+ return ScalarSerializers.utcDateTime(value.value.args[0].value, encodeAs);
133
+ }
134
+ throw new UnsupportedScalarConstructorError("utcDateTime", value.value.name, ["fromISO"]);
114
135
  case "offsetDateTime":
115
- return ScalarSerializers.offsetDateTime(value.value.args[0].value, encodeAs);
136
+ if (value.value.name === "fromISO") {
137
+ return ScalarSerializers.offsetDateTime(value.value.args[0].value, encodeAs);
138
+ }
139
+ throw new UnsupportedScalarConstructorError("offsetDateTime", value.value.name, ["fromISO"]);
116
140
  case "plainDate":
117
- return ScalarSerializers.plainDate(value.value.args[0].value);
141
+ if (value.value.name === "fromISO") {
142
+ return ScalarSerializers.plainDate(value.value.args[0].value);
143
+ }
144
+ throw new UnsupportedScalarConstructorError("plainDate", value.value.name, ["fromISO"]);
118
145
  case "plainTime":
119
- return ScalarSerializers.plainTime(value.value.args[0].value);
146
+ if (value.value.name === "fromISO") {
147
+ return ScalarSerializers.plainTime(value.value.args[0].value);
148
+ }
149
+ throw new UnsupportedScalarConstructorError("plainTime", value.value.name, ["fromISO"]);
120
150
  case "duration":
121
- return ScalarSerializers.duration(value.value.args[0].value, encodeAs);
151
+ if (value.value.name === "fromISO") {
152
+ return ScalarSerializers.duration(value.value.args[0].value, encodeAs);
153
+ }
154
+ throw new UnsupportedScalarConstructorError("duration", value.value.name, ["fromISO"]);
122
155
  }
123
156
  }
124
157
  const ScalarSerializers = {
@@ -1 +1 @@
1
- {"version":3,"file":"examples.js","sourceRoot":"","sources":["../../../src/lib/examples.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"examples.js","sourceRoot":"","sources":["../../../src/lib/examples.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE3D,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAQxE,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAmB,MAAM,iBAAiB,CAAC;AAEjF;;GAEG;AACH,MAAM,OAAO,iCAAkC,SAAQ,KAAK;IAExC;IACA;IACA;IAHlB,YACkB,UAAkB,EAClB,eAAuB,EACvB,qBAAwC;QAExD,KAAK,CACH,4BAA4B,UAAU,uBAAuB,eAAe,8BAA8B,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC7I,CAAC;QANc,eAAU,GAAV,UAAU,CAAQ;QAClB,oBAAe,GAAf,eAAe,CAAQ;QACvB,0BAAqB,GAArB,qBAAqB,CAAmB;QAKxD,IAAI,CAAC,IAAI,GAAG,mCAAmC,CAAC;IAClD,CAAC;CACF;AAkBD;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAClC,OAAgB,EAChB,KAAY,EACZ,IAAU,EACV,QAAqB,EACrB,QAA+B;IAE/B,IAAI,IAAI,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;QAClC,OAAO,oBAAoB,CACzB,OAAO,EACP,KAAK,EACL,IAAI,CAAC,IAAI,EACT,QAAQ,IAAI,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,EACpC,QAAQ,CACT,CAAC;IACJ,CAAC;IACD,QAAQ,KAAK,CAAC,SAAS,EAAE,CAAC;QACxB,KAAK,WAAW;YACd,OAAO,IAAI,CAAC;QACd,KAAK,cAAc,CAAC;QACpB,KAAK,aAAa;YAChB,OAAO,KAAK,CAAC,KAAK,CAAC;QACrB,KAAK,cAAc;YACjB,OAAO,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;QAChC,KAAK,WAAW;YACd,OAAO,KAAK,CAAC,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC;QAC/C,KAAK,YAAY;YACf,OAAO,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAC5B,oBAAoB,CAClB,OAAO,EACP,CAAC,EACD,IAAI,CAAC,IAAI,KAAK,OAAO,IAAI,gBAAgB,CAAC,IAAI,CAAC;gBAC7C,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK;gBACpB,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAC5B,CACF,CAAC;QACJ,KAAK,aAAa;YAChB,OAAO,0BAA0B,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;QAC1D,KAAK,aAAa;YAChB,OAAO,0BAA0B,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAChF,CAAC;AACH,CAAC;AAED,0CAA0C;AAC1C,SAAS,iBAAiB,CAAC,IAAU,EAAE,IAAY;IACjD,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,KAAK,OAAO;YACV,OAAO,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC;QACxD,KAAK,WAAW;YACd,IAAI,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;gBACxB,OAAO,IAAI,CAAC;YACd,CAAC;iBAAM,CAAC;gBACN,OAAO;YACT,CAAC;QACH;YACE,OAAO,SAAS,CAAC;IACrB,CAAC;AACH,CAAC;AAED,SAAS,aAAa,CAAC,OAAgB,EAAE,KAAkB,EAAE,IAAU;IACrE,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC1B,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;IAChE,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;QAC7C,IACE,iBAAiB,CACf,OAAO,CAAC,OAAO,CAAC,kBAAkB,CAAC,cAAc,IAAI,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CACtF,EACD,CAAC;YACD,2DAA2D;YAC3D,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBAClC,MAAM,cAAc,GAAG,aAAa,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;gBACnE,IAAI,cAAc,IAAI,cAAc,KAAK,OAAO,CAAC,IAAI,EAAE,CAAC;oBACtD,OAAO,cAAc,CAAC;gBACxB,CAAC;YACH,CAAC;YACD,OAAO,OAAO,CAAC,IAAI,CAAC;QACtB,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,0BAA0B,CACjC,OAAgB,EAChB,KAAkB,EAClB,IAAU;IAEV,IAAI,GAAG,aAAa,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC;IACnD,MAAM,GAAG,GAA4B,EAAE,CAAC;IACxC,KAAK,MAAM,SAAS,IAAI,KAAK,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC;QAClD,MAAM,UAAU,GAAG,iBAAiB,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;QAC3D,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,IAAI,GACR,UAAU,CAAC,IAAI,KAAK,eAAe;gBACjC,CAAC,CAAC,kBAAkB,CAAC,OAAO,EAAE,UAAU,EAAE,kBAAkB,CAAC;gBAC7D,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC;YACrB,GAAG,CAAC,IAAI,CAAC,GAAG,oBAAoB,CAAC,OAAO,EAAE,SAAS,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;QACzE,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,kBAAkB,CACzB,OAAgB,EAChB,MAAc;IASd,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC1C,IAAI,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;QACtC,QAAQ,MAAM,CAAC,IAAW,EAAE,CAAC;YAC3B,KAAK,aAAa,CAAC;YACnB,KAAK,gBAAgB,CAAC;YACtB,KAAK,WAAW,CAAC;YACjB,KAAK,WAAW,CAAC;YACjB,KAAK,UAAU;gBACb,OAAO,EAAE,MAAM,EAAE,MAAa,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;YACrD,KAAK,iBAAiB;gBACpB,MAAM;YACR;gBACE,OAAO,SAAS,CAAC;QACrB,CAAC;IACH,CAAC;IACD,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;QACtB,MAAM,MAAM,GAAG,kBAAkB,CAAC,OAAO,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;QAC9D,OAAO,MAAM,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;IAC/D,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AACD,SAAS,0BAA0B,CACjC,OAAgB,EAChB,KAAkB,EAClB,IAAU,EACV,QAAgC,EAChC,QAA+B;IAE/B,IAAI,QAAQ,EAAE,oBAAoB,EAAE,CAAC;QACnC,OAAO,QAAQ,CAAC,oBAAoB,CAClC,KAAK,EACL,IAAI,EACJ,QAAQ,EACR,0BAA0B,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,CAAC,CACjF,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAG,kBAAkB,CAAC,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACzD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,OAAO,oBAAoB,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACtF,CAAC;IAED,QAAQ,GAAG,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC;IAEvC,QAAQ,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QAC3B,KAAK,aAAa;YAChB,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBACnC,OAAO,iBAAiB,CAAC,WAAW,CAAE,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAS,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;YACrF,CAAC;YACD,MAAM,IAAI,iCAAiC,CAAC,aAAa,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;QAC5F,KAAK,gBAAgB;YACnB,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBACnC,OAAO,iBAAiB,CAAC,cAAc,CAAE,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAS,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;YACxF,CAAC;YACD,MAAM,IAAI,iCAAiC,CAAC,gBAAgB,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;QAC/F,KAAK,WAAW;YACd,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBACnC,OAAO,iBAAiB,CAAC,SAAS,CAAE,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAS,CAAC,KAAK,CAAC,CAAC;YACzE,CAAC;YACD,MAAM,IAAI,iCAAiC,CAAC,WAAW,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;QAC1F,KAAK,WAAW;YACd,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBACnC,OAAO,iBAAiB,CAAC,SAAS,CAAE,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAS,CAAC,KAAK,CAAC,CAAC;YACzE,CAAC;YACD,MAAM,IAAI,iCAAiC,CAAC,WAAW,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;QAC1F,KAAK,UAAU;YACb,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBACnC,OAAO,iBAAiB,CAAC,QAAQ,CAAE,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAS,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;YAClF,CAAC;YACD,MAAM,IAAI,iCAAiC,CAAC,UAAU,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;IAC3F,CAAC;AACH,CAAC;AAED,MAAM,iBAAiB,GAAG;IACxB,WAAW,EAAE,CAAC,KAAa,EAAE,QAAgC,EAAW,EAAE;QACxE,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC9D,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;QAE7B,QAAQ,QAAQ,CAAC,QAAQ,EAAE,CAAC;YAC1B,KAAK,eAAe;gBAClB,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;YAC3C,KAAK,SAAS;gBACZ,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC;YAC5B;gBACE,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC;QAC9B,CAAC;IACH,CAAC;IACD,cAAc,EAAE,CAAC,KAAa,EAAE,QAAgC,EAAW,EAAE;QAC3E,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC9D,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;QAE7B,QAAQ,QAAQ,CAAC,QAAQ,EAAE,CAAC;YAC1B,KAAK,SAAS;gBACZ,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC;YAC5B;gBACE,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC;QAC9B,CAAC;IACH,CAAC;IACD,SAAS,EAAE,CAAC,KAAa,EAAW,EAAE;QACpC,OAAO,KAAK,CAAC;IACf,CAAC;IACD,SAAS,EAAE,CAAC,KAAa,EAAW,EAAE;QACpC,OAAO,KAAK,CAAC;IACf,CAAC;IACD,QAAQ,EAAE,CAAC,KAAa,EAAE,QAAgC,EAAW,EAAE;QACrE,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAE/C,QAAQ,QAAQ,EAAE,QAAQ,EAAE,CAAC;YAC3B,KAAK,SAAS;gBACZ,IAAI,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC7B,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;gBACzD,CAAC;qBAAM,CAAC;oBACN,OAAO,QAAQ,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;gBAC7C,CAAC;YACH;gBACE,OAAO,QAAQ,CAAC,QAAQ,EAAE,CAAC;QAC/B,CAAC;IACH,CAAC;CACF,CAAC;AAEF,SAAS,SAAS,CAAC,MAAc;IAC/B,OAAO,MAAM,CAAC,UAAU,EAAE,CAAC;QACzB,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC;QAC3B,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC9B,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@typespec/compiler",
3
- "version": "1.9.0-dev.4",
3
+ "version": "1.9.0-dev.5",
4
4
  "description": "TypeSpec Compiler Preview",
5
5
  "author": "Microsoft Corporation",
6
6
  "license": "MIT",