@typespec/http-server-js 0.58.0-alpha.11-dev.4 → 0.58.0-alpha.11-dev.6

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/src/index.js CHANGED
@@ -22,7 +22,7 @@ export async function $onEmit(context) {
22
22
  // Emit serialization code for all required types.
23
23
  emitSerialization(jsCtx);
24
24
  const srcGeneratedPath = path.join(context.emitterOutputDir, "src", "generated");
25
- if (!context.program.compilerOptions.noEmit) {
25
+ if (!context.program.compilerOptions.dryRun) {
26
26
  try {
27
27
  const stat = await context.program.host.stat(srcGeneratedPath);
28
28
  if (stat.isDirectory()) {
@@ -1 +1 @@
1
- {"version":3,"file":"lib.d.ts","sourceRoot":"","sources":["../../src/lib.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,gBAAgB;IAC/B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,wBAAwB,EAAE,OAAO,CAAC;IAClC,WAAW,EAAE,OAAO,CAAC;CACtB;AAmBD,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2BAiGf,CAAC;AAEH,QAAA,MAAQ,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAAS,CAAC;AAElC,OAAO,EAAE,gBAAgB,EAAE,CAAC"}
1
+ {"version":3,"file":"lib.d.ts","sourceRoot":"","sources":["../../src/lib.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,gBAAgB;IAC/B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,wBAAwB,EAAE,OAAO,CAAC;IAClC,WAAW,EAAE,OAAO,CAAC;CACtB;AAmBD,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2BAoGf,CAAC;AAEH,QAAA,MAAQ,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAAS,CAAC;AAElC,OAAO,EAAE,gBAAgB,EAAE,CAAC"}
package/dist/src/lib.js CHANGED
@@ -19,6 +19,9 @@ const EmitterOptionsSchema = {
19
19
  };
20
20
  export const $lib = createTypeSpecLibrary({
21
21
  name: "@typespec/http-server-js",
22
+ capabilities: {
23
+ dryRun: true,
24
+ },
22
25
  requireImports: [],
23
26
  emitter: {
24
27
  options: EmitterOptionsSchema,
@@ -1 +1 @@
1
- {"version":3,"file":"lib.js","sourceRoot":"","sources":["../../src/lib.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lib.js","sourceRoot":"","sources":["../../src/lib.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,kCAAkC;AAElC,OAAO,EAAkB,qBAAqB,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAQzF,MAAM,oBAAoB,GAAqC;IAC7D,IAAI,EAAE,QAAQ;IACd,oBAAoB,EAAE,KAAK;IAC3B,UAAU,EAAE;QACV,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE;QAC5D,wBAAwB,EAAE;YACxB,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,KAAK;SACf;QACD,WAAW,EAAE;YACX,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,KAAK;SACf;KACF;IACD,QAAQ,EAAE,EAAE;CACb,CAAC;AAEF,MAAM,CAAC,MAAM,IAAI,GAAG,qBAAqB,CAAC;IACxC,IAAI,EAAE,0BAA0B;IAChC,YAAY,EAAE;QACZ,MAAM,EAAE,IAAI;KACb;IACD,cAAc,EAAE,EAAE;IAClB,OAAO,EAAE;QACP,OAAO,EAAE,oBAAoB;KAC9B;IACD,WAAW,EAAE;QACX,wBAAwB,EAAE;YACxB,QAAQ,EAAE,SAAS;YACnB,QAAQ,EAAE;gBACR,OAAO,EAAE,YAAY,CAAA,2BAA2B,WAAW,2BAA2B;aACvF;SACF;QACD,qBAAqB,EAAE;YACrB,QAAQ,EAAE,SAAS;YACnB,QAAQ,EAAE;gBACR,OAAO,EAAE,YAAY,CAAA,wBAAwB,QAAQ,2BAA2B;aACjF;SACF;QACD,uBAAuB,EAAE;YACvB,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EAAE,YAAY,CAAA,0BAA0B,UAAU,eAAe,MAAM,GAAG;aAClF;SACF;QACD,oBAAoB,EAAE;YACpB,QAAQ,EAAE,SAAS;YACnB,QAAQ,EAAE;gBACR,OAAO,EAAE,iEAAiE;aAC3E;SACF;QACD,wBAAwB,EAAE;YACxB,QAAQ,EAAE,SAAS;YACnB,QAAQ,EAAE;gBACR,OAAO,EAAE,+BAA+B;aACzC;SACF;QACD,wBAAwB,EAAE;YACxB,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EAAE,0DAA0D;aACpE;SACF;QACD,yBAAyB,EAAE;YACzB,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EAAE,YAAY,CAAA,gEAAgE,YAAY,IAAI;aACtG;SACF;QACD,wBAAwB,EAAE;YACxB,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EACL,4GAA4G;aAC/G;SACF;QACD,kCAAkC,EAAE;YAClC,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EAAE,+DAA+D;aACzE;SACF;QACD,gCAAgC,EAAE;YAChC,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EACL,kGAAkG;aACrG;SACF;QACD,yBAAyB,EAAE;YACzB,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EAAE,YAAY,CAAA,yBAAyB,MAAM,+GAA+G;aACpK;SACF;QACD,eAAe,EAAE;YACf,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EAAE,YAAY,CAAA,QAAQ,MAAM,yDAAyD;aAC7F;SACF;QACD,8BAA8B,EAAE;YAC9B,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EAAE,4EAA4E;aACtF;SACF;QACD,iCAAiC,EAAE;YACjC,QAAQ,EAAE,SAAS;YACnB,QAAQ,EAAE;gBACR,MAAM,EACJ,qFAAqF;gBACvF,SAAS,EACP,0JAA0J;aAC7J;SACF;KACF;CACF,CAAC,CAAC;AAEH,MAAM,EAAE,gBAAgB,EAAE,GAAG,IAAI,CAAC;AAElC,OAAO,EAAE,gBAAgB,EAAE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"bin.d.mts","sourceRoot":"","sources":["../../../../src/scripts/scaffold/bin.mts"],"names":[],"mappings":";AAmGA,UAAU,kBAAkB;IAC1B;;OAEG;IACH,eAAe,EAAE,OAAO,CAAC;IACzB;;OAEG;IACH,KAAK,EAAE,OAAO,CAAC;CAChB;AA+CD,wBAAsB,QAAQ,CAAC,OAAO,EAAE,kBAAkB,iBA2XzD"}
1
+ {"version":3,"file":"bin.d.mts","sourceRoot":"","sources":["../../../../src/scripts/scaffold/bin.mts"],"names":[],"mappings":";AAoGA,UAAU,kBAAkB;IAC1B;;OAEG;IACH,eAAe,EAAE,OAAO,CAAC;IACzB;;OAEG;IACH,KAAK,EAAE,OAAO,CAAC;CAChB;AA+CD,wBAAsB,QAAQ,CAAC,OAAO,EAAE,kBAAkB,iBA2XzD"}
@@ -20,6 +20,7 @@ import { bifilter, indent } from "../../util/iter.js";
20
20
  import { createOnceQueue } from "../../util/once-queue.js";
21
21
  import { tryGetOpenApi3 } from "../../util/openapi3.js";
22
22
  import { writeModuleFile } from "../../write.js";
23
+ import { mockType } from "./data-mocks.js";
23
24
  function spawn(command, args, options) {
24
25
  return new Promise((resolve, reject) => {
25
26
  const proc = _spawn(command, args, options);
@@ -439,10 +440,7 @@ async function createRouteController(ctx, container, operations, controllersModu
439
440
  return { name: controllerName, module };
440
441
  }
441
442
  function* emitControllerOperationHandlers(ctx, container, httpOperations, module) {
442
- module.imports.push({
443
- binder: ["NotImplementedError"],
444
- from: httpHelperModule,
445
- });
443
+ let importNotImplementedError = false;
446
444
  for (const httpOperation of httpOperations) {
447
445
  // TODO: unify construction of signature with emitOperation in common/interface.ts
448
446
  const op = httpOperation.operation;
@@ -479,10 +477,26 @@ function* emitControllerOperationHandlers(ctx, container, httpOperations, module
479
477
  // prettier-ignore
480
478
  yield `async ${opName}(ctx: HttpContext, ${paramsDeclarationLine}): ${returnType} {`;
481
479
  }
482
- yield " throw new NotImplementedError();";
480
+ const mockReturn = mockType(op.returnType);
481
+ if (mockReturn === undefined) {
482
+ importNotImplementedError = true;
483
+ yield " throw new NotImplementedError();";
484
+ }
485
+ else if (mockReturn === "void") {
486
+ yield " return;";
487
+ }
488
+ else {
489
+ yield ` return ${mockReturn};`;
490
+ }
483
491
  yield "}";
484
492
  yield "";
485
493
  }
494
+ if (importNotImplementedError) {
495
+ module.imports.push({
496
+ binder: ["NotImplementedError"],
497
+ from: httpHelperModule,
498
+ });
499
+ }
486
500
  }
487
501
  function getPackageJsonForStandaloneProject(ownPackageJson, express, relativePathToSpec) {
488
502
  const packageJson = {
@@ -1 +1 @@
1
- {"version":3,"file":"bin.mjs","sourceRoot":"","sources":["../../../../src/scripts/scaffold/bin.mts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bin.mjs","sourceRoot":"","sources":["../../../../src/scripts/scaffold/bin.mts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import { Type } from "@typespec/compiler";
2
+ /**
3
+ * Entry point for generating mock data for any TypeSpec type.
4
+ * Delegates to specific mock functions based on the type kind.
5
+ *
6
+ * @param type - The TypeSpec type to mock
7
+ * @returns A JavaScript string representation of the mock data, or undefined if the type cannot be mocked
8
+ */
9
+ export declare function mockType(type: Type): string | undefined;
10
+ //# sourceMappingURL=data-mocks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-mocks.d.ts","sourceRoot":"","sources":["../../../../src/scripts/scaffold/data-mocks.ts"],"names":[],"mappings":"AAAA,OAAO,EAOL,IAAI,EAEL,MAAM,oBAAoB,CAAC;AA+G5B;;;;;;GAMG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,GAAG,SAAS,CA0BvD"}
@@ -0,0 +1,176 @@
1
+ import { isErrorType, isVoidType, } from "@typespec/compiler";
2
+ import { $ } from "@typespec/compiler/experimental/typekit";
3
+ import { parseCase } from "../../util/case.js";
4
+ /**
5
+ * Generates a mock value for a TypeSpec Model.
6
+ * Handles arrays and records as special cases.
7
+ *
8
+ * @param type - The TypeSpec Model to mock
9
+ * @returns A JavaScript string representation of the mock data
10
+ * @throws Error if a property cannot be mocked
11
+ */
12
+ function mockModel(type) {
13
+ if ($.array.is(type)) {
14
+ return mockArray(type);
15
+ }
16
+ if ($.record.is(type)) {
17
+ return mockRecord(type);
18
+ }
19
+ const mock = [];
20
+ const properties = $.model.getProperties(type, { includeExtended: true });
21
+ // If no properties exist, return an empty object
22
+ if (properties.size === 0) {
23
+ return "{}";
24
+ }
25
+ for (const [name, prop] of properties) {
26
+ if (prop.optional) {
27
+ continue;
28
+ }
29
+ const propMock = mockType(prop.type);
30
+ if (!propMock) {
31
+ throw new Error(`Could not mock property ${name} of type ${prop.type.kind}`);
32
+ }
33
+ const propName = parseCase(name).camelCase;
34
+ mock.push([propName, propMock]);
35
+ }
36
+ // If all properties were optional, return an empty object
37
+ if (mock.length === 0) {
38
+ return "{}";
39
+ }
40
+ return `{
41
+ ${mock.map(([name, value]) => `${name}: ${value}`).join(",\n")}
42
+ }`;
43
+ }
44
+ /**
45
+ * Generates a mock array containing a single mocked element.
46
+ *
47
+ * @param type - The TypeSpec array Model to mock
48
+ * @returns A JavaScript string representation of the mock array
49
+ */
50
+ function mockArray(type) {
51
+ const elementType = $.array.getElementType(type);
52
+ const mockedType = mockType(elementType);
53
+ // If we can't mock the element type, return an empty array
54
+ if (mockedType === undefined) {
55
+ return "[]";
56
+ }
57
+ return `[${mockedType}]`;
58
+ }
59
+ /**
60
+ * Generates a mock for a TypeSpec record type with a sample key.
61
+ *
62
+ * @param type - The TypeSpec record Model to mock
63
+ * @returns A JavaScript string representation of the mock record
64
+ */
65
+ function mockRecord(type) {
66
+ const elementType = $.record.getElementType(type);
67
+ const mockedType = mockType(elementType);
68
+ if (mockedType === undefined) {
69
+ return "{}";
70
+ }
71
+ return `{
72
+ mockKey: ${mockedType},
73
+ }`;
74
+ }
75
+ /**
76
+ * Mocks a TypeSpec Model property by mocking its type.
77
+ *
78
+ * @param prop - The TypeSpec model property to mock
79
+ * @returns A JavaScript string representation of the mocked property or undefined if it cannot be mocked
80
+ */
81
+ function mockModelProperty(prop) {
82
+ return mockType(prop.type);
83
+ }
84
+ /**
85
+ * Generates a mock for a TypeSpec literal value.
86
+ *
87
+ * @param type - The TypeSpec literal type to mock
88
+ * @returns A JavaScript string representation of the literal value
89
+ */
90
+ function mockLiteral(type) {
91
+ return JSON.stringify(type.value);
92
+ }
93
+ /**
94
+ * Entry point for generating mock data for any TypeSpec type.
95
+ * Delegates to specific mock functions based on the type kind.
96
+ *
97
+ * @param type - The TypeSpec type to mock
98
+ * @returns A JavaScript string representation of the mock data, or undefined if the type cannot be mocked
99
+ */
100
+ export function mockType(type) {
101
+ if ($.model.is(type)) {
102
+ return mockModel(type);
103
+ }
104
+ if ($.literal.is(type)) {
105
+ return mockLiteral(type);
106
+ }
107
+ if ($.modelProperty.is(type)) {
108
+ return mockModelProperty(type);
109
+ }
110
+ if ($.scalar.is(type)) {
111
+ return mockScalar(type);
112
+ }
113
+ if ($.union.is(type)) {
114
+ return mockUnion(type);
115
+ }
116
+ if (isVoidType(type)) {
117
+ return "void";
118
+ }
119
+ return undefined;
120
+ }
121
+ /**
122
+ * Generates a mock for a TypeSpec union by mocking the first non-error variant.
123
+ *
124
+ * @param union - The TypeSpec union to mock
125
+ * @returns A JavaScript string representation of a mock for one variant, or undefined if no suitable variant is found
126
+ */
127
+ function mockUnion(union) {
128
+ for (const variant of union.variants.values()) {
129
+ if (isErrorType(variant.type)) {
130
+ continue;
131
+ }
132
+ return mockType(variant.type);
133
+ }
134
+ return undefined;
135
+ }
136
+ /**
137
+ * Generates appropriate mock values for TypeSpec scalar types.
138
+ * Handles various scalar types including primitives and specialized types like dates.
139
+ *
140
+ * @param scalar - The TypeSpec scalar to mock
141
+ * @returns A JavaScript string representation of a suitable mock value for the scalar type
142
+ */
143
+ function mockScalar(scalar) {
144
+ if ($.scalar.isBoolean(scalar) || $.scalar.extendsBoolean(scalar)) {
145
+ return JSON.stringify(true);
146
+ }
147
+ if ($.scalar.isNumeric(scalar) || $.scalar.extendsNumeric(scalar)) {
148
+ return JSON.stringify(42);
149
+ }
150
+ if ($.scalar.isUtcDateTime(scalar) || $.scalar.extendsUtcDateTime(scalar)) {
151
+ return "new Date()";
152
+ }
153
+ if ($.scalar.isBytes(scalar) || $.scalar.extendsBytes(scalar)) {
154
+ return "new Uint8Array()";
155
+ }
156
+ if ($.scalar.isDuration(scalar) || $.scalar.extendsDuration(scalar)) {
157
+ return JSON.stringify("P1Y2M3DT4H5M6S");
158
+ }
159
+ if ($.scalar.isOffsetDateTime(scalar) || $.scalar.extendsOffsetDateTime(scalar)) {
160
+ return JSON.stringify("2022-01-01T00:00:00Z");
161
+ }
162
+ if ($.scalar.isPlainDate(scalar) || $.scalar.extendsPlainDate(scalar)) {
163
+ return JSON.stringify("2022-01-01");
164
+ }
165
+ if ($.scalar.isPlainTime(scalar) || $.scalar.extendsPlainTime(scalar)) {
166
+ return JSON.stringify("00:00:00");
167
+ }
168
+ if ($.scalar.isUrl(scalar) || $.scalar.extendsUrl(scalar)) {
169
+ return JSON.stringify("https://example.com");
170
+ }
171
+ if ($.scalar.isString(scalar) || $.scalar.extendsString(scalar)) {
172
+ return JSON.stringify("mock-string");
173
+ }
174
+ return undefined;
175
+ }
176
+ //# sourceMappingURL=data-mocks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-mocks.js","sourceRoot":"","sources":["../../../../src/scripts/scaffold/data-mocks.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@typespec/http-server-js",
3
- "version": "0.58.0-alpha.11-dev.4",
3
+ "version": "0.58.0-alpha.11-dev.6",
4
4
  "author": "Microsoft Corporation",
5
5
  "description": "TypeSpec HTTP server code generator for JavaScript",
6
6
  "homepage": "https://github.com/microsoft/typespec",
package/src/index.ts CHANGED
@@ -36,7 +36,7 @@ export async function $onEmit(context: EmitContext<JsEmitterOptions>) {
36
36
 
37
37
  const srcGeneratedPath = path.join(context.emitterOutputDir, "src", "generated");
38
38
 
39
- if (!context.program.compilerOptions.noEmit) {
39
+ if (!context.program.compilerOptions.dryRun) {
40
40
  try {
41
41
  const stat = await context.program.host.stat(srcGeneratedPath);
42
42
  if (stat.isDirectory()) {
package/src/lib.ts CHANGED
@@ -28,6 +28,9 @@ const EmitterOptionsSchema: JSONSchemaType<JsEmitterOptions> = {
28
28
 
29
29
  export const $lib = createTypeSpecLibrary({
30
30
  name: "@typespec/http-server-js",
31
+ capabilities: {
32
+ dryRun: true,
33
+ },
31
34
  requireImports: [],
32
35
  emitter: {
33
36
  options: EmitterOptionsSchema,
@@ -26,6 +26,7 @@ import { bifilter, indent } from "../../util/iter.js";
26
26
  import { createOnceQueue } from "../../util/once-queue.js";
27
27
  import { tryGetOpenApi3 } from "../../util/openapi3.js";
28
28
  import { writeModuleFile } from "../../write.js";
29
+ import { mockType } from "./data-mocks.js";
29
30
 
30
31
  function spawn(command: string, args: string[], options: SpawnOptions): Promise<void> {
31
32
  return new Promise((resolve, reject) => {
@@ -609,10 +610,7 @@ function* emitControllerOperationHandlers(
609
610
  httpOperations: Set<HttpOperation>,
610
611
  module: Module,
611
612
  ): Iterable<string> {
612
- module.imports.push({
613
- binder: ["NotImplementedError"],
614
- from: httpHelperModule,
615
- });
613
+ let importNotImplementedError = false;
616
614
  for (const httpOperation of httpOperations) {
617
615
  // TODO: unify construction of signature with emitOperation in common/interface.ts
618
616
  const op = httpOperation.operation;
@@ -664,10 +662,26 @@ function* emitControllerOperationHandlers(
664
662
  yield `async ${opName}(ctx: HttpContext, ${paramsDeclarationLine}): ${returnType} {`;
665
663
  }
666
664
 
667
- yield " throw new NotImplementedError();";
665
+ const mockReturn = mockType(op.returnType);
666
+
667
+ if (mockReturn === undefined) {
668
+ importNotImplementedError = true;
669
+ yield " throw new NotImplementedError();";
670
+ } else if (mockReturn === "void") {
671
+ yield " return;";
672
+ } else {
673
+ yield ` return ${mockReturn};`;
674
+ }
668
675
  yield "}";
669
676
  yield "";
670
677
  }
678
+
679
+ if (importNotImplementedError) {
680
+ module.imports.push({
681
+ binder: ["NotImplementedError"],
682
+ from: httpHelperModule,
683
+ });
684
+ }
671
685
  }
672
686
 
673
687
  function getPackageJsonForStandaloneProject(