@typespec/emitter-framework 0.3.0-dev.0 → 0.3.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.
Files changed (52) hide show
  1. package/dist/src/testing/scenario-test/harness.js +26 -28
  2. package/dist/src/testing/scenario-test/harness.js.map +1 -1
  3. package/dist/src/testing/scenario-test/snippet-extractor.js.map +1 -1
  4. package/dist/src/typescript/components/array-expression.d.ts +1 -1
  5. package/dist/src/typescript/components/array-expression.d.ts.map +1 -1
  6. package/dist/src/typescript/components/class-method.d.ts +1 -1
  7. package/dist/src/typescript/components/class-method.d.ts.map +1 -1
  8. package/dist/src/typescript/components/enum-declaration.d.ts +2 -2
  9. package/dist/src/typescript/components/enum-declaration.d.ts.map +1 -1
  10. package/dist/src/typescript/components/function-declaration.d.ts +2 -2
  11. package/dist/src/typescript/components/function-declaration.d.ts.map +1 -1
  12. package/dist/src/typescript/components/interface-declaration.d.ts +3 -2
  13. package/dist/src/typescript/components/interface-declaration.d.ts.map +1 -1
  14. package/dist/src/typescript/components/interface-declaration.js +7 -7
  15. package/dist/src/typescript/components/interface-declaration.js.map +1 -1
  16. package/dist/src/typescript/components/interface-member.d.ts +1 -1
  17. package/dist/src/typescript/components/interface-member.d.ts.map +1 -1
  18. package/dist/src/typescript/components/interface-member.js +1 -1
  19. package/dist/src/typescript/components/interface-member.js.map +1 -1
  20. package/dist/src/typescript/components/static-serializers.d.ts +8 -8
  21. package/dist/src/typescript/components/static-serializers.d.ts.map +1 -1
  22. package/dist/src/typescript/components/static-serializers.js +22 -22
  23. package/dist/src/typescript/components/static-serializers.js.map +1 -1
  24. package/dist/src/typescript/components/type-alias-declaration.d.ts +1 -1
  25. package/dist/src/typescript/components/type-alias-declaration.d.ts.map +1 -1
  26. package/dist/src/typescript/components/type-declaration.d.ts +1 -1
  27. package/dist/src/typescript/components/type-declaration.d.ts.map +1 -1
  28. package/dist/src/typescript/components/type-expression.d.ts +1 -1
  29. package/dist/src/typescript/components/type-expression.d.ts.map +1 -1
  30. package/dist/src/typescript/components/type-transform.d.ts +4 -4
  31. package/dist/src/typescript/components/type-transform.d.ts.map +1 -1
  32. package/dist/src/typescript/components/type-transform.js +1 -1
  33. package/dist/src/typescript/components/type-transform.js.map +1 -1
  34. package/dist/src/typescript/components/union-declaration.d.ts +1 -1
  35. package/dist/src/typescript/components/union-declaration.d.ts.map +1 -1
  36. package/dist/src/typescript/components/union-declaration.js.map +1 -1
  37. package/dist/src/typescript/components/union-expression.d.ts +1 -1
  38. package/dist/src/typescript/components/union-expression.d.ts.map +1 -1
  39. package/dist/src/typescript/utils/operation.d.ts.map +1 -1
  40. package/dist/src/typescript/utils/operation.js +2 -1
  41. package/dist/src/typescript/utils/operation.js.map +1 -1
  42. package/package.json +14 -12
  43. package/src/testing/scenario-test/harness.ts +25 -27
  44. package/src/testing/scenario-test/snippet-extractor.ts +1 -1
  45. package/src/typescript/components/interface-declaration.tsx +11 -8
  46. package/src/typescript/components/interface-member.tsx +1 -1
  47. package/src/typescript/components/static-serializers.tsx +22 -22
  48. package/src/typescript/components/type-transform.tsx +1 -1
  49. package/src/typescript/components/union-declaration.tsx +1 -1
  50. package/src/typescript/utils/operation.ts +2 -1
  51. package/test/typescript/components/interface-declaration.test.tsx +3 -1
  52. package/tsconfig.json +1 -1
@@ -1,4 +1,4 @@
1
- import { Refkey } from "@alloy-js/core";
1
+ import { Children, Refkey } from "@alloy-js/core";
2
2
  import { Model, Type, Union } from "@typespec/compiler";
3
3
  export interface TypeTransformProps {
4
4
  name?: string;
@@ -14,7 +14,7 @@ export interface UnionTransformProps {
14
14
  /**
15
15
  * Component that represents a function declaration that transforms a model to a transport or application model.
16
16
  */
17
- export declare function TypeTransformDeclaration(props: TypeTransformProps): any;
17
+ export declare function TypeTransformDeclaration(props: TypeTransformProps): Children;
18
18
  /**
19
19
  * Gets a refkey for a TypeTransformer function
20
20
  * @param type type to be transformed
@@ -31,7 +31,7 @@ export interface ModelTransformExpressionProps {
31
31
  /**
32
32
  * Component that represents an object expression that transforms a model to a transport or application model.
33
33
  */
34
- export declare function ModelTransformExpression(props: ModelTransformExpressionProps): any;
34
+ export declare function ModelTransformExpression(props: ModelTransformExpressionProps): Children;
35
35
  export interface TypeTransformCallProps {
36
36
  /**
37
37
  * TypeSpec type to be transformed
@@ -61,5 +61,5 @@ export interface TypeTransformCallProps {
61
61
  /**
62
62
  * This component represents a function call to transform a type
63
63
  */
64
- export declare function TypeTransformCall(props: TypeTransformCallProps): any;
64
+ export declare function TypeTransformCall(props: TypeTransformCallProps): Children;
65
65
  //# sourceMappingURL=type-transform.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"type-transform.d.ts","sourceRoot":"","sources":["../../../../src/typescript/components/type-transform.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA2B,MAAM,EAAU,MAAM,gBAAgB,CAAC;AAEzE,OAAO,EAEL,KAAK,EAIL,IAAI,EACJ,KAAK,EACN,MAAM,oBAAoB,CAAC;AAa5B,MAAM,WAAW,kBAAkB;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,IAAI,CAAC;IACX,MAAM,EAAE,aAAa,GAAG,WAAW,CAAC;IACpC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,KAAK,CAAC;IACZ,MAAM,EAAE,aAAa,GAAG,WAAW,CAAC;CACrC;AA6CD;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,kBAAkB,OA2DjE;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,aAAa,GAAG,WAAW,UAEvF;AAED,MAAM,WAAW,6BAA6B;IAC5C,IAAI,EAAE,KAAK,CAAC;IACZ,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,MAAM,EAAE,aAAa,GAAG,WAAW,CAAC;IACpC,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,6BAA6B,OA6D5E;AAuDD,MAAM,WAAW,sBAAsB;IACrC;;OAEG;IACH,IAAI,EAAE,IAAI,CAAC;IACX;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;OAEG;IACH,MAAM,EAAE,aAAa,GAAG,WAAW,CAAC;IACpC;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAMD;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,sBAAsB,OAqD9D"}
1
+ {"version":3,"file":"type-transform.d.ts","sourceRoot":"","sources":["../../../../src/typescript/components/type-transform.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAiB,MAAM,EAAU,MAAM,gBAAgB,CAAC;AAEzE,OAAO,EAGL,KAAK,EAIL,IAAI,EACJ,KAAK,EACN,MAAM,oBAAoB,CAAC;AAY5B,MAAM,WAAW,kBAAkB;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,IAAI,CAAC;IACX,MAAM,EAAE,aAAa,GAAG,WAAW,CAAC;IACpC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,KAAK,CAAC;IACZ,MAAM,EAAE,aAAa,GAAG,WAAW,CAAC;CACrC;AA6CD;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,kBAAkB,YA2DjE;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,aAAa,GAAG,WAAW,UAEvF;AAED,MAAM,WAAW,6BAA6B;IAC5C,IAAI,EAAE,KAAK,CAAC;IACZ,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,MAAM,EAAE,aAAa,GAAG,WAAW,CAAC;IACpC,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,6BAA6B,YA6D5E;AAuDD,MAAM,WAAW,sBAAsB;IACrC;;OAEG;IACH,IAAI,EAAE,IAAI,CAAC;IACX;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;OAEG;IACH,MAAM,EAAE,aAAa,GAAG,WAAW,CAAC;IACpC;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAMD;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,sBAAsB,YAqD9D"}
@@ -2,9 +2,9 @@ import { memo as _$memo } from "@alloy-js/core/jsx-runtime";
2
2
  import { createComponent as _$createComponent } from "@alloy-js/core/jsx-runtime";
3
3
  import { code, mapJoin, refkey } from "@alloy-js/core";
4
4
  import * as ts from "@alloy-js/typescript";
5
+ import { getDiscriminatedUnion } from "@typespec/compiler";
5
6
  import { $ } from "@typespec/compiler/experimental/typekit";
6
7
  import { createRekeyableMap } from "@typespec/compiler/utils";
7
- import { getDiscriminatedUnion } from "../../../../compiler/dist/src/core/helpers/discriminator-utils.js";
8
8
  import { reportDiagnostic } from "../../lib.js";
9
9
  import { reportTypescriptDiagnostic } from "../../typescript/lib.js";
10
10
  import { ArraySerializerRefkey, DateDeserializerRefkey, DateRfc3339SerializerRefkey, RecordSerializerRefkey } from "./static-serializers.js";
@@ -1 +1 @@
1
- {"version":3,"file":"type-transform.js","names":["code","mapJoin","refkey","ts","$","createRekeyableMap","getDiscriminatedUnion","reportDiagnostic","reportTypescriptDiagnostic","ArraySerializerRefkey","DateDeserializerRefkey","DateRfc3339SerializerRefkey","RecordSerializerRefkey","UnionTransformExpression","props","discriminator","type","getDiscriminator","program","target","_$createComponent","DiscriminateExpression","discriminatedUnion","discriminatorRef","propertyName","unhandledVariant","variants","name","variant","JSON","stringify","TypeTransformCall","castInput","itemPath","joiner","ender","TypeTransformDeclaration","namePolicy","useTSNamePolicy","array","is","record","model","union","originalName","baseName","getName","functionSuffix","functionName","itemType","Reference","transformExpression","ModelTransformExpression","returnType","ref","getTypeTransformerRefkey","FunctionDeclaration","parameters","item","children","baseModel","getSpreadType","modelProperties","getProperties","forEach","property","isNever","set","baseModelTransform","optionsBagName","ObjectExpression","_$memo","_","unpackedType","httpPart","unpack","targetPropertyName","sourcePropertyName","temp","optional","unshift","value","needsTransform","join","ObjectProperty","TransformReference","scalar","TransformScalarReference","FunctionCallExpression","args","getElementType","reference","isUtcDateTime","collapsedProperty","getCollapsedProperty","collapse","itemName","transformType","unpackedElement","isExpresion","effectiveModel","getEffectiveModel","undefined","size","Array","from","values"],"sources":["../../../../src/typescript/components/type-transform.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"type-transform.js","names":["code","mapJoin","refkey","ts","getDiscriminatedUnion","$","createRekeyableMap","reportDiagnostic","reportTypescriptDiagnostic","ArraySerializerRefkey","DateDeserializerRefkey","DateRfc3339SerializerRefkey","RecordSerializerRefkey","UnionTransformExpression","props","discriminator","type","getDiscriminator","program","target","_$createComponent","DiscriminateExpression","discriminatedUnion","discriminatorRef","propertyName","unhandledVariant","variants","name","variant","JSON","stringify","TypeTransformCall","castInput","itemPath","joiner","ender","TypeTransformDeclaration","namePolicy","useTSNamePolicy","array","is","record","model","union","originalName","baseName","getName","functionSuffix","functionName","itemType","Reference","transformExpression","ModelTransformExpression","returnType","ref","getTypeTransformerRefkey","FunctionDeclaration","parameters","item","children","baseModel","getSpreadType","modelProperties","getProperties","forEach","property","isNever","set","baseModelTransform","optionsBagName","ObjectExpression","_$memo","_","unpackedType","httpPart","unpack","targetPropertyName","sourcePropertyName","temp","optional","unshift","value","needsTransform","join","ObjectProperty","TransformReference","scalar","TransformScalarReference","FunctionCallExpression","args","getElementType","reference","isUtcDateTime","collapsedProperty","getCollapsedProperty","collapse","itemName","transformType","unpackedElement","isExpresion","effectiveModel","getEffectiveModel","undefined","size","Array","from","values"],"sources":["../../../../src/typescript/components/type-transform.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -5,5 +5,5 @@ export interface TypedUnionDeclarationProps extends Omit<ts.TypeDeclarationProps
5
5
  name?: string;
6
6
  }
7
7
  export type UnionDeclarationProps = TypedUnionDeclarationProps | ts.TypeDeclarationProps;
8
- export declare function UnionDeclaration(props: UnionDeclarationProps): any;
8
+ export declare function UnionDeclaration(props: UnionDeclarationProps): import("@alloy-js/core").Children;
9
9
  //# sourceMappingURL=union-declaration.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"union-declaration.d.ts","sourceRoot":"","sources":["../../../../src/typescript/components/union-declaration.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAC3C,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAKjD,MAAM,WAAW,0BAA2B,SAAQ,IAAI,CAAC,EAAE,CAAC,oBAAoB,EAAE,MAAM,CAAC;IACvF,IAAI,EAAE,KAAK,GAAG,IAAI,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,MAAM,qBAAqB,GAAG,0BAA0B,GAAG,EAAE,CAAC,oBAAoB,CAAC;AAEzF,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,qBAAqB,OAmB5D"}
1
+ {"version":3,"file":"union-declaration.d.ts","sourceRoot":"","sources":["../../../../src/typescript/components/union-declaration.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAC3C,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAKjD,MAAM,WAAW,0BAA2B,SAAQ,IAAI,CAAC,EAAE,CAAC,oBAAoB,EAAE,MAAM,CAAC;IACvF,IAAI,EAAE,KAAK,GAAG,IAAI,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,MAAM,qBAAqB,GAAG,0BAA0B,GAAG,EAAE,CAAC,oBAAoB,CAAC;AAEzF,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,qBAAqB,qCAmB5D"}
@@ -1 +1 @@
1
- {"version":3,"file":"union-declaration.js","names":["refkey","getRefkey","ts","$","reportDiagnostic","UnionExpression","UnionDeclaration","props","isTypedUnionDeclarationProps","_$createComponent","TypeDeclaration","_$mergeProps","children","type","coreProps","originalName","name","program","code","target","useTSNamePolicy","getName"],"sources":["../../../../src/typescript/components/union-declaration.tsx"],"sourcesContent":[null],"mappings":";;AAAA,SAASA,MAAM,IAAIC,SAAS,QAAQ,gBAAgB;AACpD,OAAO,KAAKC,EAAE,MAAM,sBAAsB;AAE1C,SAASC,CAAC,QAAQ,yCAAyC;AAC3D,SAASC,gBAAgB,QAAQ,cAAc;AAC/C,SAASC,eAAe,QAAQ,uBAAuB;AASvD,OAAO,SAASC,gBAAgBA,CAACC,KAA4B,EAAE;EAC7D,IAAI,CAACC,4BAA4B,CAACD,KAAK,CAAC,EAAE;IACxC,OAAAE,iBAAA,CAAQP,EAAE,CAACQ,eAAe,EAAAC,YAAA,CAAKJ,KAAK;MAAA,IAAAK,SAAA;QAAA,OAAGL,KAAK,CAACK,QAAQ;MAAA;IAAA;EACvD;EAEA,MAAM;IAAEC,IAAI;IAAE,GAAGC;EAAU,CAAC,GAAGP,KAAK;EACpC,MAAMP,MAAM,GAAGc,SAAS,CAACd,MAAM,IAAIC,SAAS,CAACY,IAAI,CAAC;EAElD,MAAME,YAAY,GAAGD,SAAS,CAACE,IAAI,IAAIH,IAAI,CAACG,IAAI;EAEhD,IAAI,CAACD,YAAY,IAAIA,YAAY,KAAK,EAAE,EAAE;IACxCX,gBAAgB,CAACD,CAAC,CAACc,OAAO,EAAE;MAAEC,IAAI,EAAE,+BAA+B;MAAEC,MAAM,EAAEN;IAAK,CAAC,CAAC;EACtF;EAEA,MAAMG,IAAI,GAAGd,EAAE,CAACkB,eAAe,CAAC,CAAC,CAACC,OAAO,CAACN,YAAY,EAAG,MAAM,CAAC;EAEhE,OAAAN,iBAAA,CAAQP,EAAE,CAACQ,eAAe,EAAAC,YAAA,CAAKJ,KAAK;IAAES,IAAI,EAAEA,IAAI;IAAEhB,MAAM,EAAEA,MAAM;IAAA,IAAAY,SAAA;MAAA,OAAAH,iBAAA,CAC3DJ,eAAe;QAACQ,IAAI,EAAEA,IAAI;QAAA,IAAAD,SAAA;UAAA,OAAwBE,SAAS,CAACF,QAAQ;QAAA;MAAA;IAAA;EAAA;AAE3E;AAEA,SAASJ,4BAA4BA,CACnCD,KAA4B,EACS;EACrC,OAAO,MAAM,IAAIA,KAAK;AACxB","ignoreList":[]}
1
+ {"version":3,"file":"union-declaration.js","names":["refkey","getRefkey","ts","$","reportDiagnostic","UnionExpression","UnionDeclaration","props","isTypedUnionDeclarationProps","_$createComponent","TypeDeclaration","_$mergeProps","children","type","coreProps","originalName","name","program","code","target","useTSNamePolicy","getName"],"sources":["../../../../src/typescript/components/union-declaration.tsx"],"sourcesContent":[null],"mappings":";;AAAA,SAASA,MAAM,IAAIC,SAAS,QAAQ,gBAAgB;AACpD,OAAO,KAAKC,EAAE,MAAM,sBAAsB;AAE1C,SAASC,CAAC,QAAQ,yCAAyC;AAC3D,SAASC,gBAAgB,QAAQ,cAAc;AAC/C,SAASC,eAAe,QAAQ,uBAAuB;AASvD,OAAO,SAASC,gBAAgBA,CAACC,KAA4B,EAAE;EAC7D,IAAI,CAACC,4BAA4B,CAACD,KAAK,CAAC,EAAE;IACxC,OAAAE,iBAAA,CAAQP,EAAE,CAACQ,eAAe,EAAAC,YAAA,CAAKJ,KAAK;MAAA,IAAAK,SAAA;QAAA,OAAGL,KAAK,CAACK,QAAQ;MAAA;IAAA;EACvD;EAEA,MAAM;IAAEC,IAAI;IAAE,GAAGC;EAAU,CAAC,GAAGP,KAAK;EACpC,MAAMP,MAAM,GAAGc,SAAS,CAACd,MAAM,IAAIC,SAAS,CAACY,IAAI,CAAC;EAElD,MAAME,YAAY,GAAGD,SAAS,CAACE,IAAI,IAAIH,IAAI,CAACG,IAAI;EAEhD,IAAI,CAACD,YAAY,IAAIA,YAAY,KAAK,EAAE,EAAE;IACxCX,gBAAgB,CAACD,CAAC,CAACc,OAAO,EAAE;MAAEC,IAAI,EAAE,+BAA+B;MAAEC,MAAM,EAAEN;IAAK,CAAC,CAAC;EACtF;EAEA,MAAMG,IAAI,GAAGd,EAAE,CAACkB,eAAe,CAAC,CAAC,CAACC,OAAO,CAACN,YAAY,EAAG,MAAM,CAAC;EAEhE,OAAAN,iBAAA,CAAQP,EAAE,CAACQ,eAAe,EAAAC,YAAA,CAAKJ,KAAK;IAAES,IAAI,EAAEA,IAAI;IAAEhB,MAAM,EAAEA,MAAM;IAAA,IAAAY,SAAA;MAAA,OAAAH,iBAAA,CAC3DJ,eAAe;QAACQ,IAAI,EAAEA,IAAI;QAAA,IAAAD,SAAA;UAAA,OAAGE,SAAS,CAACF,QAAQ;QAAA;MAAA;IAAA;EAAA;AAEtD;AAEA,SAASJ,4BAA4BA,CACnCD,KAA4B,EACS;EACrC,OAAO,MAAM,IAAIA,KAAK;AACxB","ignoreList":[]}
@@ -4,5 +4,5 @@ export interface UnionExpressionProps {
4
4
  type: Union | Enum;
5
5
  children?: Children;
6
6
  }
7
- export declare function UnionExpression({ type, children }: UnionExpressionProps): any;
7
+ export declare function UnionExpression({ type, children }: UnionExpressionProps): string | number | boolean | void | any[] | (() => Children) | import("@alloy-js/core").Ref<any, any> | import("@alloy-js/core").Refkey | null;
8
8
  //# sourceMappingURL=union-expression.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"union-expression.d.ts","sourceRoot":"","sources":["../../../../src/typescript/components/union-expression.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAW,MAAM,gBAAgB,CAAC;AAEnD,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAGjD,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,KAAK,GAAG,IAAI,CAAC;IACnB,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB;AAED,wBAAgB,eAAe,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,oBAAoB,OA0BvE"}
1
+ {"version":3,"file":"union-expression.d.ts","sourceRoot":"","sources":["../../../../src/typescript/components/union-expression.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAW,MAAM,gBAAgB,CAAC;AAEnD,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAGjD,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,KAAK,GAAG,IAAI,CAAC;IACnB,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB;AAED,wBAAgB,eAAe,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,oBAAoB,iJA0BvE"}
@@ -1 +1 @@
1
- {"version":3,"file":"operation.d.ts","sourceRoot":"","sources":["../../../../src/typescript/utils/operation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAuB,MAAM,gBAAgB,CAAC;AAC/D,OAAO,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAC3C,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAI3E,wBAAgB,aAAa,CAC3B,IAAI,EAAE,SAAS,EACf,OAAO,GAAE;IAAE,kBAAkB,EAAE,OAAO,CAAA;CAAkC,GACvE,IAAI,CAQN;AAED,MAAM,WAAW,gCAAgC;IAC/C,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,GAAG,EAAE,CAAC,mBAAmB,CAAC,CAAC;IAC3D,IAAI,CAAC,EAAE,SAAS,GAAG,QAAQ,GAAG,SAAS,CAAC;CACzC;AAED,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,KAAK,EACX,OAAO,GAAE,gCAAqC,iEAoB/C;AAED,wBAAgB,wBAAwB,CACtC,aAAa,EAAE,aAAa,GAC3B,CAAC,MAAM,EAAE,EAAE,CAAC,mBAAmB,CAAC,CAUlC"}
1
+ {"version":3,"file":"operation.d.ts","sourceRoot":"","sources":["../../../../src/typescript/utils/operation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAuB,MAAM,gBAAgB,CAAC;AAC/D,OAAO,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAC3C,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAI3E,wBAAgB,aAAa,CAC3B,IAAI,EAAE,SAAS,EACf,OAAO,GAAE;IAAE,kBAAkB,EAAE,OAAO,CAAA;CAAkC,GACvE,IAAI,CAQN;AAED,MAAM,WAAW,gCAAgC;IAC/C,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,GAAG,EAAE,CAAC,mBAAmB,CAAC,CAAC;IAC3D,IAAI,CAAC,EAAE,SAAS,GAAG,QAAQ,GAAG,SAAS,CAAC;CACzC;AAED,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,KAAK,EACX,OAAO,GAAE,gCAAqC,iEAoB/C;AAED,wBAAgB,wBAAwB,CACtC,aAAa,EAAE,aAAa,GAC3B,CAAC,MAAM,EAAE,EAAE,CAAC,mBAAmB,CAAC,CAWlC"}
@@ -35,9 +35,10 @@ export function buildParameterDescriptors(type, options = {}) {
35
35
  export function buildParameterDescriptor(modelProperty) {
36
36
  const namePolicy = ts.useTSNamePolicy();
37
37
  const paramName = namePolicy.getName(modelProperty.name, "parameter");
38
+ const isOptional = modelProperty.optional || modelProperty.defaultValue !== undefined;
38
39
  const paramDescriptor = {
39
40
  refkey: getRefkey(modelProperty),
40
- optional: modelProperty.optional,
41
+ optional: isOptional,
41
42
  type: TypeExpression({
42
43
  type: modelProperty.type
43
44
  })
@@ -1 +1 @@
1
- {"version":3,"file":"operation.js","names":["refkey","getRefkey","ts","$","TypeExpression","getReturnType","type","options","skipErrorFiltering","returnType","kind","union","filter","variant","isError","buildParameterDescriptors","mode","params","operationParams","modelProperties","model","getProperties","prop","values","paramName","paramDescriptor","buildParameterDescriptor","allParams","modelProperty","namePolicy","useTSNamePolicy","getName","name","optional"],"sources":["../../../../src/typescript/utils/operation.ts"],"sourcesContent":[null],"mappings":"AAAA,SAAmBA,MAAM,IAAIC,SAAS,QAAQ,gBAAgB;AAC9D,OAAO,KAAKC,EAAE,MAAM,sBAAsB;AAE1C,SAASC,CAAC,QAAQ,yCAAyC;AAC3D,SAASC,cAAc;AAEvB,OAAO,SAASC,aAAaA,CAC3BC,IAAe,EACfC,OAAwC,GAAG;EAAEC,kBAAkB,EAAE;AAAM,CAAC,EAClE;EACN,IAAIC,UAAU,GAAGH,IAAI,CAACG,UAAU;EAEhC,IAAI,CAACF,OAAO,CAACC,kBAAkB,IAAIF,IAAI,CAACG,UAAU,CAACC,IAAI,KAAK,OAAO,EAAE;IACnED,UAAU,GAAGN,CAAC,CAACQ,KAAK,CAACC,MAAM,CAACN,IAAI,CAACG,UAAU,EAAGI,OAAO,IAAK,CAACV,CAAC,CAACG,IAAI,CAACQ,OAAO,CAACD,OAAO,CAACP,IAAI,CAAC,CAAC;EAC1F;EAEA,OAAOG,UAAU;AACnB;AAOA,OAAO,SAASM,yBAAyBA,CACvCT,IAAW,EACXC,OAAyC,GAAG,CAAC,CAAC,EAC9C;EACA,IAAIA,OAAO,CAACS,IAAI,KAAK,SAAS,EAAE;IAC9B,OAAOT,OAAO,CAACU,MAAM;EACvB;EACA,MAAMC,eAAkE,GAAG,CAAC,CAAC;EAE7E,MAAMC,eAAe,GAAGhB,CAAC,CAACiB,KAAK,CAACC,aAAa,CAACf,IAAI,CAAC;EACnD,KAAK,MAAMgB,IAAI,IAAIH,eAAe,CAACI,MAAM,CAAC,CAAC,EAAE;IAC3C,MAAM,CAACC,SAAS,EAAEC,eAAe,CAAC,GAAGC,wBAAwB,CAACJ,IAAI,CAAC;IACnEJ,eAAe,CAACM,SAAS,CAAC,GAAGC,eAAe;EAC9C;;EAEA;EACA,MAAME,SAAS,GACbpB,OAAO,CAACS,IAAI,KAAK,QAAQ,GACrB;IAAE,GAAGE,eAAe;IAAE,GAAGX,OAAO,CAACU;EAAO,CAAC,GACzC;IAAE,GAAGV,OAAO,CAACU,MAAM;IAAE,GAAGC;EAAgB,CAAC;EAE/C,OAAOS,SAAS;AAClB;AAEA,OAAO,SAASD,wBAAwBA,CACtCE,aAA4B,EACM;EAClC,MAAMC,UAAU,GAAG3B,EAAE,CAAC4B,eAAe,CAAC,CAAC;EACvC,MAAMN,SAAS,GAAGK,UAAU,CAACE,OAAO,CAACH,aAAa,CAACI,IAAI,EAAE,WAAW,CAAC;EACrE,MAAMP,eAAuC,GAAG;IAC9CzB,MAAM,EAAEC,SAAS,CAAC2B,aAAa,CAAC;IAChCK,QAAQ,EAAEL,aAAa,CAACK,QAAQ;IAChC3B,IAAI,EAAEF,cAAc,CAAC;MAAEE,IAAI,EAAEsB,aAAa,CAACtB;IAAK,CAAC;EACnD,CAAC;EAED,OAAO,CAACkB,SAAS,EAAEC,eAAe,CAAC;AACrC","ignoreList":[]}
1
+ {"version":3,"file":"operation.js","names":["refkey","getRefkey","ts","$","TypeExpression","getReturnType","type","options","skipErrorFiltering","returnType","kind","union","filter","variant","isError","buildParameterDescriptors","mode","params","operationParams","modelProperties","model","getProperties","prop","values","paramName","paramDescriptor","buildParameterDescriptor","allParams","modelProperty","namePolicy","useTSNamePolicy","getName","name","isOptional","optional","defaultValue","undefined"],"sources":["../../../../src/typescript/utils/operation.ts"],"sourcesContent":[null],"mappings":"AAAA,SAAmBA,MAAM,IAAIC,SAAS,QAAQ,gBAAgB;AAC9D,OAAO,KAAKC,EAAE,MAAM,sBAAsB;AAE1C,SAASC,CAAC,QAAQ,yCAAyC;AAC3D,SAASC,cAAc;AAEvB,OAAO,SAASC,aAAaA,CAC3BC,IAAe,EACfC,OAAwC,GAAG;EAAEC,kBAAkB,EAAE;AAAM,CAAC,EAClE;EACN,IAAIC,UAAU,GAAGH,IAAI,CAACG,UAAU;EAEhC,IAAI,CAACF,OAAO,CAACC,kBAAkB,IAAIF,IAAI,CAACG,UAAU,CAACC,IAAI,KAAK,OAAO,EAAE;IACnED,UAAU,GAAGN,CAAC,CAACQ,KAAK,CAACC,MAAM,CAACN,IAAI,CAACG,UAAU,EAAGI,OAAO,IAAK,CAACV,CAAC,CAACG,IAAI,CAACQ,OAAO,CAACD,OAAO,CAACP,IAAI,CAAC,CAAC;EAC1F;EAEA,OAAOG,UAAU;AACnB;AAOA,OAAO,SAASM,yBAAyBA,CACvCT,IAAW,EACXC,OAAyC,GAAG,CAAC,CAAC,EAC9C;EACA,IAAIA,OAAO,CAACS,IAAI,KAAK,SAAS,EAAE;IAC9B,OAAOT,OAAO,CAACU,MAAM;EACvB;EACA,MAAMC,eAAkE,GAAG,CAAC,CAAC;EAE7E,MAAMC,eAAe,GAAGhB,CAAC,CAACiB,KAAK,CAACC,aAAa,CAACf,IAAI,CAAC;EACnD,KAAK,MAAMgB,IAAI,IAAIH,eAAe,CAACI,MAAM,CAAC,CAAC,EAAE;IAC3C,MAAM,CAACC,SAAS,EAAEC,eAAe,CAAC,GAAGC,wBAAwB,CAACJ,IAAI,CAAC;IACnEJ,eAAe,CAACM,SAAS,CAAC,GAAGC,eAAe;EAC9C;;EAEA;EACA,MAAME,SAAS,GACbpB,OAAO,CAACS,IAAI,KAAK,QAAQ,GACrB;IAAE,GAAGE,eAAe;IAAE,GAAGX,OAAO,CAACU;EAAO,CAAC,GACzC;IAAE,GAAGV,OAAO,CAACU,MAAM;IAAE,GAAGC;EAAgB,CAAC;EAE/C,OAAOS,SAAS;AAClB;AAEA,OAAO,SAASD,wBAAwBA,CACtCE,aAA4B,EACM;EAClC,MAAMC,UAAU,GAAG3B,EAAE,CAAC4B,eAAe,CAAC,CAAC;EACvC,MAAMN,SAAS,GAAGK,UAAU,CAACE,OAAO,CAACH,aAAa,CAACI,IAAI,EAAE,WAAW,CAAC;EACrE,MAAMC,UAAU,GAAGL,aAAa,CAACM,QAAQ,IAAIN,aAAa,CAACO,YAAY,KAAKC,SAAS;EACrF,MAAMX,eAAuC,GAAG;IAC9CzB,MAAM,EAAEC,SAAS,CAAC2B,aAAa,CAAC;IAChCM,QAAQ,EAAED,UAAU;IACpB3B,IAAI,EAAEF,cAAc,CAAC;MAAEE,IAAI,EAAEsB,aAAa,CAACtB;IAAK,CAAC;EACnD,CAAC;EAED,OAAO,CAACkB,SAAS,EAAEC,eAAe,CAAC;AACrC","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@typespec/emitter-framework",
3
- "version": "0.3.0-dev.0",
3
+ "version": "0.3.0-dev.3",
4
4
  "type": "module",
5
5
  "main": "dist/index.js",
6
6
  "exports": {
@@ -19,35 +19,37 @@
19
19
  "license": "MIT",
20
20
  "description": "",
21
21
  "peerDependencies": {
22
- "@typespec/compiler": "~0.66.0 || >=0.67.0-dev <0.67.0",
23
- "@typespec/rest": "~0.66.0 || >=0.67.0-dev <0.67.0",
24
- "@typespec/http": "~0.66.0 || >=0.67.0-dev <0.67.0"
22
+ "@typespec/compiler": "^0.66.0 || >=0.67.0-dev <0.67.0",
23
+ "@typespec/http": "^0.66.0 || >=0.67.0-dev <0.67.0",
24
+ "@typespec/rest": "^0.66.0 || >=0.67.0-dev <0.67.0"
25
25
  },
26
26
  "dependencies": {
27
27
  "@alloy-js/core": "^0.5.0",
28
28
  "@alloy-js/typescript": "^0.5.0"
29
29
  },
30
30
  "devDependencies": {
31
+ "@alloy-js/babel-preset": "^0.1.1",
31
32
  "@babel/cli": "^7.24.8",
32
- "@babel/core": "^7.26.0",
33
+ "@babel/core": "^7.26.9",
33
34
  "@rollup/plugin-babel": "^6.0.4",
34
- "@alloy-js/babel-preset": "^0.1.1",
35
+ "@types/minimist": "^1.2.5",
35
36
  "concurrently": "^9.1.2",
36
- "typescript": "~5.7.3",
37
- "vitest": "^3.0.5",
38
- "tree-sitter": "^0.21.1",
37
+ "minimist": "^1.2.8",
38
+ "prettier": "~3.5.3",
39
+ "tree-sitter": "^0.22.4",
39
40
  "tree-sitter-c-sharp": "^0.23.0",
40
41
  "tree-sitter-java": "^0.23.2",
41
42
  "tree-sitter-javascript": "^0.23.0",
42
43
  "tree-sitter-python": "^0.23.2",
43
44
  "tree-sitter-typescript": "^0.23.0",
44
- "prettier": "~3.4.2",
45
- "minimist": "^1.2.8",
46
- "@types/minimist": "^1.2.5"
45
+ "typescript": "~5.8.2",
46
+ "vitest": "^3.0.7"
47
47
  },
48
48
  "scripts": {
49
49
  "build-src": "babel src -d dist/src --extensions .ts,.tsx",
50
50
  "build": "tsc -p . && npm run build-src",
51
+ "clean": "rimraf ./dist",
52
+ "format": "prettier . --write",
51
53
  "watch-src": "babel src -d dist/src --extensions .ts,.tsx --watch",
52
54
  "watch-tsc": "tsc -p . --watch",
53
55
  "watch": "concurrently --kill-others \"npm run watch-tsc\" \"npm run watch-src\"",
@@ -271,36 +271,34 @@ function parseScenario(
271
271
  );
272
272
 
273
273
  for (const line of rawLines) {
274
- if (line.startsWith("```")) {
275
- if (currentCodeBlock) {
276
- // Close the code block
277
- scenario.lines.push(currentCodeBlock);
278
- if (!isTestCodeBlock(currentCodeBlock)) {
279
- scenario.specBlock.content = currentCodeBlock.content;
280
- } else {
281
- for (const [template, fn] of Object.entries(outputCodeBlockTypes)) {
282
- const templateRegex = new RegExp(
283
- "^" + template.replace(/\{(\w+)\}/g, "(?<$1>[^\\s]+)") + "$",
284
- );
285
-
286
- const match = currentCodeBlock.heading.match(templateRegex);
287
- if (match) {
288
- currentCodeBlock.matchedTemplate = {
289
- template,
290
- fn,
291
- namedArgs: match.groups ?? null,
292
- };
293
- break;
294
- }
274
+ if (line.startsWith("```") && currentCodeBlock) {
275
+ // Close the code block
276
+ scenario.lines.push(currentCodeBlock);
277
+ if (!isTestCodeBlock(currentCodeBlock)) {
278
+ scenario.specBlock.content = currentCodeBlock.content;
279
+ } else {
280
+ for (const [template, fn] of Object.entries(outputCodeBlockTypes)) {
281
+ const templateRegex = new RegExp(
282
+ "^" + template.replace(/\{(\w+)\}/g, "(?<$1>[^\\s]+)") + "$",
283
+ );
284
+
285
+ const match = currentCodeBlock.heading.match(templateRegex);
286
+ if (match) {
287
+ currentCodeBlock.matchedTemplate = {
288
+ template,
289
+ fn,
290
+ namedArgs: match.groups ?? null,
291
+ };
292
+ break;
295
293
  }
296
- scenario.testBlocks.push(currentCodeBlock);
297
294
  }
298
- currentCodeBlock = null;
299
- } else {
300
- const codeBlockKind = line.includes("tsp") || line.includes("typespec") ? "spec" : "test";
301
- // Start a new code block
302
- currentCodeBlock = { kind: codeBlockKind, heading: line.substring(3), content: [] };
295
+ scenario.testBlocks.push(currentCodeBlock);
303
296
  }
297
+ currentCodeBlock = null;
298
+ } else if (line.startsWith("```")) {
299
+ const codeBlockKind = line.includes("tsp") || line.includes("typespec") ? "spec" : "test";
300
+ // Start a new code block
301
+ currentCodeBlock = { kind: codeBlockKind, heading: line.substring(3), content: [] };
304
302
  } else if (currentCodeBlock) {
305
303
  // Append to code block content
306
304
  currentCodeBlock.content.push(line);
@@ -100,7 +100,7 @@ class SnippetExtractorImpl implements SnippetExtractor {
100
100
 
101
101
  constructor(languageConfiguration: LanguageConfiguration) {
102
102
  this.parser = new Parser();
103
- this.parser.setLanguage(languageConfiguration.language);
103
+ this.parser.setLanguage(languageConfiguration.language as any);
104
104
  this.languageConfiguration = languageConfiguration;
105
105
  }
106
106
 
@@ -1,4 +1,4 @@
1
- import { Children, code, refkey as getRefkey, mapJoin } from "@alloy-js/core";
1
+ import { Children, refkey as getRefkey, mapJoin } from "@alloy-js/core";
2
2
  import * as ts from "@alloy-js/typescript";
3
3
  import { Interface, Model, ModelProperty, Operation, RekeyableMap } from "@typespec/compiler";
4
4
  import { $ } from "@typespec/compiler/experimental/typekit";
@@ -84,14 +84,13 @@ function getExtendsType(type: Model | Interface): Children | undefined {
84
84
 
85
85
  const extending: Children[] = [];
86
86
 
87
- const recordExtends = code`Record<string, unknown>`;
88
-
89
87
  if (type.baseModel) {
90
88
  if ($.array.is(type.baseModel)) {
91
89
  extending.push(<TypeExpression type={type.baseModel} />);
92
90
  } else if ($.record.is(type.baseModel)) {
93
- extending.push(recordExtends);
94
- // When extending a record we need to override the element type to be unknown to avoid type errors
91
+ // Here we are in the additional properties land.
92
+ // Instead of extending we need to create an envelope property
93
+ // do nothing here.
95
94
  } else {
96
95
  extending.push(getRefkey(type.baseModel));
97
96
  }
@@ -120,11 +119,15 @@ function membersFromType(type: Model | Interface) {
120
119
  let typeMembers: RekeyableMap<string, ModelProperty | Operation> | undefined;
121
120
  if ($.model.is(type)) {
122
121
  typeMembers = $.model.getProperties(type);
123
- const spread = $.model.getSpreadType(type);
124
- if (spread && $.model.is(spread) && $.record.is(spread)) {
122
+ const additionalProperties = $.model.getAdditionalPropertiesRecord(type);
123
+ if (additionalProperties) {
125
124
  typeMembers.set(
126
125
  "additionalProperties",
127
- $.modelProperty.create({ name: "additionalProperties", optional: true, type: spread }),
126
+ $.modelProperty.create({
127
+ name: "additionalProperties",
128
+ optional: true,
129
+ type: additionalProperties,
130
+ }),
128
131
  );
129
132
  }
130
133
  } else {
@@ -15,7 +15,7 @@ export function InterfaceMember({ type, optional }: InterfaceMemberProps) {
15
15
  const name = namer.getName(type.name, "object-member-getter");
16
16
 
17
17
  if ($.modelProperty.is(type)) {
18
- const optionality = (type.optional ?? optional) ? "?" : "";
18
+ const optionality = optional === true || type.optional === true ? "?" : "";
19
19
 
20
20
  if (isNeverType(type.type)) {
21
21
  return null;
@@ -3,11 +3,11 @@ import * as ts from "@alloy-js/typescript";
3
3
 
4
4
  export const DateRfc3339SerializerRefkey = refkey();
5
5
  export function DateRfc3339Serializer() {
6
- return <ts.FunctionDeclaration export name="DateRfc3339Serializer" returnType="string | undefined" refkey={DateRfc3339SerializerRefkey}>
7
- <ts.FunctionDeclaration.Parameters>date?: Date</ts.FunctionDeclaration.Parameters>
6
+ return <ts.FunctionDeclaration export name="DateRfc3339Serializer" returnType="string" refkey={DateRfc3339SerializerRefkey}>
7
+ <ts.FunctionDeclaration.Parameters>date?: Date | null</ts.FunctionDeclaration.Parameters>
8
8
  {code`
9
9
  if (!date) {
10
- return undefined;
10
+ return date as any
11
11
  }
12
12
 
13
13
  return date.toISOString();
@@ -17,11 +17,11 @@ export function DateRfc3339Serializer() {
17
17
 
18
18
  export const DateRfc7231SerializerRefkey = refkey();
19
19
  export function DateRfc7231Serializer() {
20
- return <ts.FunctionDeclaration export name="DateRfc7231Serializer" returnType="string | undefined" refkey={DateRfc7231SerializerRefkey}>
21
- <ts.FunctionDeclaration.Parameters>date?: Date</ts.FunctionDeclaration.Parameters>
20
+ return <ts.FunctionDeclaration export name="DateRfc7231Serializer" returnType="string" refkey={DateRfc7231SerializerRefkey}>
21
+ <ts.FunctionDeclaration.Parameters>date?: Date | null</ts.FunctionDeclaration.Parameters>
22
22
  {code`
23
23
  if (!date) {
24
- return undefined;
24
+ return date as any;
25
25
  }
26
26
 
27
27
  return date.toUTCString();
@@ -31,11 +31,11 @@ export function DateRfc7231Serializer() {
31
31
 
32
32
  export const DateDeserializerRefkey = refkey();
33
33
  export function DateDeserializer() {
34
- return <ts.FunctionDeclaration export name="DateDeserializer" returnType="Date | undefined" refkey={DateDeserializerRefkey}>
35
- <ts.FunctionDeclaration.Parameters>date?: string</ts.FunctionDeclaration.Parameters>
34
+ return <ts.FunctionDeclaration export name="DateDeserializer" returnType="Date" refkey={DateDeserializerRefkey}>
35
+ <ts.FunctionDeclaration.Parameters>date?: string | null</ts.FunctionDeclaration.Parameters>
36
36
  {code`
37
37
  if (!date) {
38
- return undefined;
38
+ return date as any;
39
39
  }
40
40
 
41
41
  return new Date(date);
@@ -45,11 +45,11 @@ export function DateDeserializer() {
45
45
 
46
46
  export const DateUnixTimestampDeserializerRefkey = refkey();
47
47
  export function DateUnixTimestampDeserializer() {
48
- return <ts.FunctionDeclaration export name="DateUnixTimestampDeserializer" returnType="Date | undefined" refkey={DateUnixTimestampDeserializerRefkey}>
49
- <ts.FunctionDeclaration.Parameters>date?: number</ts.FunctionDeclaration.Parameters>
48
+ return <ts.FunctionDeclaration export name="DateUnixTimestampDeserializer" returnType="Date" refkey={DateUnixTimestampDeserializerRefkey}>
49
+ <ts.FunctionDeclaration.Parameters>date?: number | null</ts.FunctionDeclaration.Parameters>
50
50
  {code`
51
51
  if (!date) {
52
- return undefined;
52
+ return date as any;
53
53
  }
54
54
 
55
55
  return new Date(date * 1000);
@@ -59,11 +59,11 @@ export function DateUnixTimestampDeserializer() {
59
59
 
60
60
  export const DateRfc7231DeserializerRefkey = refkey();
61
61
  export function DateRfc7231Deserializer() {
62
- return <ts.FunctionDeclaration export name="DateRfc7231Deserializer" returnType="Date | undefined" refkey={DateRfc7231DeserializerRefkey}>
63
- <ts.FunctionDeclaration.Parameters>date?: string</ts.FunctionDeclaration.Parameters>
62
+ return <ts.FunctionDeclaration export name="DateRfc7231Deserializer" returnType="Date" refkey={DateRfc7231DeserializerRefkey}>
63
+ <ts.FunctionDeclaration.Parameters>date?: string | null</ts.FunctionDeclaration.Parameters>
64
64
  {code`
65
65
  if (!date) {
66
- return undefined;
66
+ return date as any;
67
67
  }
68
68
 
69
69
  return new Date(date);
@@ -73,11 +73,11 @@ export function DateRfc7231Deserializer() {
73
73
 
74
74
  export const DateUnixTimestampSerializerRefkey = refkey();
75
75
  export function DateUnixTimestampSerializer() {
76
- return <ts.FunctionDeclaration export name="DateUnixTimestampSerializer" returnType="number | undefined" refkey={DateUnixTimestampSerializerRefkey}>
77
- <ts.FunctionDeclaration.Parameters>date?: Date</ts.FunctionDeclaration.Parameters>
76
+ return <ts.FunctionDeclaration export name="DateUnixTimestampSerializer" returnType="number" refkey={DateUnixTimestampSerializerRefkey}>
77
+ <ts.FunctionDeclaration.Parameters>date?: Date | null</ts.FunctionDeclaration.Parameters>
78
78
  {code`
79
79
  if (!date) {
80
- return undefined;
80
+ return date as any;
81
81
  }
82
82
 
83
83
  return Math.floor(date.getTime() / 1000);
@@ -87,13 +87,13 @@ export function DateUnixTimestampSerializer() {
87
87
 
88
88
  export const RecordSerializerRefkey = refkey();
89
89
  export function RecordSerializer() {
90
- const recordType = `Record<string, any> | undefined`;
90
+ const recordType = `Record<string, any>`;
91
91
  const convertFnType = `(item: any) => any`;
92
92
  return <ts.FunctionDeclaration export name="RecordSerializer" returnType={recordType} refkey={RecordSerializerRefkey}>
93
93
  <ts.FunctionDeclaration.Parameters>record?: {recordType}, convertFn?: {convertFnType}</ts.FunctionDeclaration.Parameters>
94
94
  {code`
95
95
  if (!record) {
96
- return undefined;
96
+ return record as any;
97
97
  }
98
98
  const output: Record<string, any> = {};
99
99
 
@@ -111,13 +111,13 @@ export function RecordSerializer() {
111
111
 
112
112
  export const ArraySerializerRefkey = refkey();
113
113
  export function ArraySerializer() {
114
- const arrayType = `any[] | undefined`;
114
+ const arrayType = `any[]`;
115
115
  const convertFnType = `(item: any) => any`;
116
116
  return <ts.FunctionDeclaration export name="ArraySerializer" returnType={arrayType} refkey={ArraySerializerRefkey}>
117
117
  <ts.FunctionDeclaration.Parameters>items?: {arrayType}, convertFn?: {convertFnType}</ts.FunctionDeclaration.Parameters>
118
118
  {code`
119
119
  if (!items) {
120
- return undefined;
120
+ return items as any;
121
121
  }
122
122
 
123
123
  const output: any[] = [];
@@ -2,6 +2,7 @@ import { Children, code, mapJoin, Refkey, refkey } from "@alloy-js/core";
2
2
  import * as ts from "@alloy-js/typescript";
3
3
  import {
4
4
  Discriminator,
5
+ getDiscriminatedUnion,
5
6
  Model,
6
7
  ModelProperty,
7
8
  RekeyableMap,
@@ -11,7 +12,6 @@ import {
11
12
  } from "@typespec/compiler";
12
13
  import { $ } from "@typespec/compiler/experimental/typekit";
13
14
  import { createRekeyableMap } from "@typespec/compiler/utils";
14
- import { getDiscriminatedUnion } from "../../../../compiler/dist/src/core/helpers/discriminator-utils.js";
15
15
  import { reportDiagnostic } from "../../lib.js";
16
16
  import { reportTypescriptDiagnostic } from "../../typescript/lib.js";
17
17
  import {
@@ -29,7 +29,7 @@ export function UnionDeclaration(props: UnionDeclarationProps) {
29
29
  const name = ts.useTSNamePolicy().getName(originalName!, "type");
30
30
 
31
31
  return <ts.TypeDeclaration {...props} name={name} refkey={refkey}>
32
- <UnionExpression type={type} children={undefined}>{coreProps.children}</UnionExpression>
32
+ <UnionExpression type={type}>{coreProps.children}</UnionExpression>
33
33
  </ts.TypeDeclaration>;
34
34
  }
35
35
 
@@ -51,9 +51,10 @@ export function buildParameterDescriptor(
51
51
  ): [string, ts.ParameterDescriptor] {
52
52
  const namePolicy = ts.useTSNamePolicy();
53
53
  const paramName = namePolicy.getName(modelProperty.name, "parameter");
54
+ const isOptional = modelProperty.optional || modelProperty.defaultValue !== undefined;
54
55
  const paramDescriptor: ts.ParameterDescriptor = {
55
56
  refkey: getRefkey(modelProperty),
56
- optional: modelProperty.optional,
57
+ optional: isOptional,
57
58
  type: TypeExpression({ type: modelProperty.type }),
58
59
  };
59
60
 
@@ -203,6 +203,7 @@ describe("Typescript Interface", () => {
203
203
  }
204
204
  export interface DifferentSpreadModelDerived extends DifferentSpreadModelRecord {
205
205
  derivedProp: ModelForRecord;
206
+ additionalProperties?: Record<string, ModelForRecord>;
206
207
  }
207
208
  `,
208
209
  {
@@ -240,10 +241,11 @@ describe("Typescript Interface", () => {
240
241
  assert(testFile, "test.ts file not rendered");
241
242
  const actualContent = await format(testFile.contents as string, { parser: "typescript" });
242
243
  const expectedContent = await format(
243
- `export interface Widget extends Record<string, unknown> {
244
+ `export interface Widget {
244
245
  id: string;
245
246
  weight: number;
246
247
  color: "blue" | "red";
248
+ additionalProperties?: Record<string, unknown>;
247
249
  }`,
248
250
  {
249
251
  parser: "typescript",
package/tsconfig.json CHANGED
@@ -11,7 +11,7 @@
11
11
  "sourceMap": true,
12
12
  "declarationMap": true,
13
13
  "jsx": "preserve",
14
-
14
+ "jsxImportSource": "@alloy-js/core",
15
15
  "emitDeclarationOnly": true,
16
16
  "outDir": "dist",
17
17
  "rootDir": "./"