@typespec/compiler 0.56.0-dev.2 → 0.56.0-dev.20

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 (176) hide show
  1. package/dist/manifest.js +2 -2
  2. package/dist/src/config/config-interpolation.js +4 -7
  3. package/dist/src/config/config-interpolation.js.map +1 -1
  4. package/dist/src/config/config-loader.js +5 -7
  5. package/dist/src/config/config-loader.js.map +1 -1
  6. package/dist/src/config/config-to-options.js +8 -10
  7. package/dist/src/config/config-to-options.js.map +1 -1
  8. package/dist/src/core/binder.js +8 -8
  9. package/dist/src/core/binder.js.map +1 -1
  10. package/dist/src/core/checker.d.ts.map +1 -1
  11. package/dist/src/core/checker.js +192 -214
  12. package/dist/src/core/checker.js.map +1 -1
  13. package/dist/src/core/cli/actions/compile/args.js +3 -6
  14. package/dist/src/core/cli/actions/compile/args.js.map +1 -1
  15. package/dist/src/core/cli/actions/compile/compile.js +2 -2
  16. package/dist/src/core/cli/actions/compile/compile.js.map +1 -1
  17. package/dist/src/core/cli/actions/compile/watch.js +1 -2
  18. package/dist/src/core/cli/actions/compile/watch.js.map +1 -1
  19. package/dist/src/core/cli/actions/info.js +1 -2
  20. package/dist/src/core/cli/actions/info.js.map +1 -1
  21. package/dist/src/core/cli/actions/vs.js +1 -2
  22. package/dist/src/core/cli/actions/vs.js.map +1 -1
  23. package/dist/src/core/cli/install-vsix.js +1 -2
  24. package/dist/src/core/cli/install-vsix.js.map +1 -1
  25. package/dist/src/core/cli/utils.js +7 -9
  26. package/dist/src/core/cli/utils.js.map +1 -1
  27. package/dist/src/core/decorator-utils.js +6 -12
  28. package/dist/src/core/decorator-utils.js.map +1 -1
  29. package/dist/src/core/deprecation.js +2 -3
  30. package/dist/src/core/deprecation.js.map +1 -1
  31. package/dist/src/core/diagnostic-creator.js +1 -2
  32. package/dist/src/core/diagnostic-creator.js.map +1 -1
  33. package/dist/src/core/entrypoint-resolution.js +1 -1
  34. package/dist/src/core/entrypoint-resolution.js.map +1 -1
  35. package/dist/src/core/external-error.js +4 -5
  36. package/dist/src/core/external-error.js.map +1 -1
  37. package/dist/src/core/fetch.d.ts.map +1 -1
  38. package/dist/src/core/fetch.js +6 -6
  39. package/dist/src/core/fetch.js.map +1 -1
  40. package/dist/src/core/formatter-fs.js +2 -2
  41. package/dist/src/core/formatter-fs.js.map +1 -1
  42. package/dist/src/core/helpers/discriminator-utils.js +2 -4
  43. package/dist/src/core/helpers/discriminator-utils.js.map +1 -1
  44. package/dist/src/core/helpers/operation-utils.js +1 -2
  45. package/dist/src/core/helpers/operation-utils.js.map +1 -1
  46. package/dist/src/core/helpers/type-name-utils.js +18 -12
  47. package/dist/src/core/helpers/type-name-utils.js.map +1 -1
  48. package/dist/src/core/helpers/usage-resolver.js +2 -4
  49. package/dist/src/core/helpers/usage-resolver.js.map +1 -1
  50. package/dist/src/core/install.js +3 -3
  51. package/dist/src/core/install.js.map +1 -1
  52. package/dist/src/core/library.js +2 -3
  53. package/dist/src/core/library.js.map +1 -1
  54. package/dist/src/core/linter.js +4 -7
  55. package/dist/src/core/linter.js.map +1 -1
  56. package/dist/src/core/logger/console-sink.js +2 -3
  57. package/dist/src/core/logger/console-sink.js.map +1 -1
  58. package/dist/src/core/logger/tracer.js +1 -1
  59. package/dist/src/core/logger/tracer.js.map +1 -1
  60. package/dist/src/core/module-resolver.js +3 -4
  61. package/dist/src/core/module-resolver.js.map +1 -1
  62. package/dist/src/core/node-host.js +1 -1
  63. package/dist/src/core/node-host.js.map +1 -1
  64. package/dist/src/core/numeric.d.ts +26 -0
  65. package/dist/src/core/numeric.d.ts.map +1 -0
  66. package/dist/src/core/numeric.js +171 -0
  67. package/dist/src/core/numeric.js.map +1 -0
  68. package/dist/src/core/parser.d.ts.map +1 -1
  69. package/dist/src/core/parser.js +14 -15
  70. package/dist/src/core/parser.js.map +1 -1
  71. package/dist/src/core/program.d.ts.map +1 -1
  72. package/dist/src/core/program.js +36 -40
  73. package/dist/src/core/program.js.map +1 -1
  74. package/dist/src/core/projection-members.js +2 -2
  75. package/dist/src/core/projection-members.js.map +1 -1
  76. package/dist/src/core/projector.js +3 -8
  77. package/dist/src/core/projector.js.map +1 -1
  78. package/dist/src/core/scanner.js +1 -1
  79. package/dist/src/core/scanner.js.map +1 -1
  80. package/dist/src/core/schema-validator.js +1 -2
  81. package/dist/src/core/schema-validator.js.map +1 -1
  82. package/dist/src/core/semantic-walker.js +2 -4
  83. package/dist/src/core/semantic-walker.js.map +1 -1
  84. package/dist/src/core/source-file.js +1 -1
  85. package/dist/src/core/source-file.js.map +1 -1
  86. package/dist/src/core/type-utils.js +2 -2
  87. package/dist/src/core/type-utils.js.map +1 -1
  88. package/dist/src/core/types.d.ts +15 -0
  89. package/dist/src/core/types.d.ts.map +1 -1
  90. package/dist/src/core/types.js.map +1 -1
  91. package/dist/src/emitter-framework/asset-emitter.js +10 -14
  92. package/dist/src/emitter-framework/asset-emitter.js.map +1 -1
  93. package/dist/src/emitter-framework/builders/array-builder.js +7 -17
  94. package/dist/src/emitter-framework/builders/array-builder.js.map +1 -1
  95. package/dist/src/emitter-framework/builders/object-builder.js +1 -0
  96. package/dist/src/emitter-framework/builders/object-builder.js.map +1 -1
  97. package/dist/src/emitter-framework/builders/string-builder.js +23 -31
  98. package/dist/src/emitter-framework/builders/string-builder.js.map +1 -1
  99. package/dist/src/emitter-framework/custom-key-map.js +6 -19
  100. package/dist/src/emitter-framework/custom-key-map.js.map +1 -1
  101. package/dist/src/emitter-framework/placeholder.js +3 -12
  102. package/dist/src/emitter-framework/placeholder.js.map +1 -1
  103. package/dist/src/emitter-framework/ref-scope.js +1 -2
  104. package/dist/src/emitter-framework/ref-scope.js.map +1 -1
  105. package/dist/src/emitter-framework/reference-cycle.js +11 -19
  106. package/dist/src/emitter-framework/reference-cycle.js.map +1 -1
  107. package/dist/src/emitter-framework/type-emitter.js +1 -0
  108. package/dist/src/emitter-framework/type-emitter.js.map +1 -1
  109. package/dist/src/emitter-framework/types.js +10 -8
  110. package/dist/src/emitter-framework/types.js.map +1 -1
  111. package/dist/src/formatter/parser.js +4 -3
  112. package/dist/src/formatter/parser.js.map +1 -1
  113. package/dist/src/formatter/print/comment-handler.js +3 -4
  114. package/dist/src/formatter/print/comment-handler.js.map +1 -1
  115. package/dist/src/formatter/print/printer.js +5 -8
  116. package/dist/src/formatter/print/printer.js.map +1 -1
  117. package/dist/src/init/init.js +2 -2
  118. package/dist/src/init/init.js.map +1 -1
  119. package/dist/src/init/scaffold.js +11 -17
  120. package/dist/src/init/scaffold.js.map +1 -1
  121. package/dist/src/lib/decorators.d.ts +1 -3
  122. package/dist/src/lib/decorators.d.ts.map +1 -1
  123. package/dist/src/lib/decorators.js +41 -45
  124. package/dist/src/lib/decorators.js.map +1 -1
  125. package/dist/src/lib/encoded-names.js +3 -5
  126. package/dist/src/lib/encoded-names.js.map +1 -1
  127. package/dist/src/lib/intrinsic-decorators.d.ts +6 -0
  128. package/dist/src/lib/intrinsic-decorators.d.ts.map +1 -0
  129. package/dist/src/lib/intrinsic-decorators.js +10 -0
  130. package/dist/src/lib/intrinsic-decorators.js.map +1 -0
  131. package/dist/src/lib/service.js +3 -5
  132. package/dist/src/lib/service.js.map +1 -1
  133. package/dist/src/server/compile-service.js +6 -7
  134. package/dist/src/server/compile-service.js.map +1 -1
  135. package/dist/src/server/completion.d.ts.map +1 -1
  136. package/dist/src/server/completion.js +15 -18
  137. package/dist/src/server/completion.js.map +1 -1
  138. package/dist/src/server/file-service.js +2 -4
  139. package/dist/src/server/file-service.js.map +1 -1
  140. package/dist/src/server/server.js +2 -4
  141. package/dist/src/server/server.js.map +1 -1
  142. package/dist/src/server/serverlib.d.ts.map +1 -1
  143. package/dist/src/server/serverlib.js +25 -34
  144. package/dist/src/server/serverlib.js.map +1 -1
  145. package/dist/src/server/symbol-structure.js +2 -4
  146. package/dist/src/server/symbol-structure.js.map +1 -1
  147. package/dist/src/server/type-details.js +5 -9
  148. package/dist/src/server/type-details.js.map +1 -1
  149. package/dist/src/server/type-signature.js +4 -6
  150. package/dist/src/server/type-signature.js.map +1 -1
  151. package/dist/src/server/update-manager.js +15 -28
  152. package/dist/src/server/update-manager.js.map +1 -1
  153. package/dist/src/testing/rule-tester.js +2 -3
  154. package/dist/src/testing/rule-tester.js.map +1 -1
  155. package/dist/src/testing/test-host.js +8 -8
  156. package/dist/src/testing/test-host.js.map +1 -1
  157. package/dist/src/testing/test-server-host.js +7 -11
  158. package/dist/src/testing/test-server-host.js.map +1 -1
  159. package/dist/src/testing/test-utils.js +6 -6
  160. package/dist/src/testing/test-utils.js.map +1 -1
  161. package/dist/src/testing/types.js +1 -0
  162. package/dist/src/testing/types.js.map +1 -1
  163. package/dist/src/utils/duplicate-tracker.js +4 -13
  164. package/dist/src/utils/duplicate-tracker.js.map +1 -1
  165. package/dist/src/utils/misc.js +53 -75
  166. package/dist/src/utils/misc.js.map +1 -1
  167. package/dist/src/yaml/diagnostics.js +4 -5
  168. package/dist/src/yaml/diagnostics.js.map +1 -1
  169. package/lib/{lib.tsp → intrinsics.tsp} +3 -75
  170. package/lib/{decorators.tsp → std/decorators.tsp} +1 -1
  171. package/lib/std/main.tsp +5 -0
  172. package/lib/std/types.tsp +76 -0
  173. package/package.json +10 -10
  174. package/lib/main.tsp +0 -4
  175. /package/lib/{projected-names.tsp → std/projected-names.tsp} +0 -0
  176. /package/lib/{reflection.tsp → std/reflection.tsp} +0 -0
@@ -0,0 +1,76 @@
1
+ namespace TypeSpec;
2
+
3
+ /**
4
+ * Represent a 32-bit unix timestamp datetime with 1s of granularity.
5
+ * It measures time by the number of seconds that have elapsed since 00:00:00 UTC on 1 January 1970.
6
+ */
7
+ @encode("unixTimestamp", int32)
8
+ scalar unixTimestamp32 extends utcDateTime;
9
+
10
+ /**
11
+ * Represent a model
12
+ */
13
+ // Deprecated June 2023 sprint
14
+ #deprecated "object is deprecated. Please use {} for an empty model, `Record<unknown>` for a record with unknown property types, `unknown[]` for an array."
15
+ model object {}
16
+
17
+ /**
18
+ * Represent a URL string as described by https://url.spec.whatwg.org/
19
+ */
20
+ scalar url extends string;
21
+
22
+ /**
23
+ * Represents a collection of optional properties.
24
+ *
25
+ * @template Source An object whose spread properties are all optional.
26
+ */
27
+ @doc("The template for adding optional properties.")
28
+ @withOptionalProperties
29
+ model OptionalProperties<Source> {
30
+ ...Source;
31
+ }
32
+
33
+ /**
34
+ * Represents a collection of updateable properties.
35
+ *
36
+ * @template Source An object whose spread properties are all updateable.
37
+ */
38
+ @doc("The template for adding updateable properties.")
39
+ @withUpdateableProperties
40
+ model UpdateableProperties<Source> {
41
+ ...Source;
42
+ }
43
+
44
+ /**
45
+ * Represents a collection of omitted properties.
46
+ *
47
+ * @template Source An object whose properties are spread.
48
+ * @template Keys The property keys to omit.
49
+ */
50
+ @doc("The template for omitting properties.")
51
+ @withoutOmittedProperties(Keys)
52
+ model OmitProperties<Source, Keys extends string> {
53
+ ...Source;
54
+ }
55
+
56
+ /**
57
+ * Represents a collection of properties with default values omitted.
58
+ *
59
+ * @template Source An object whose spread property defaults are all omitted.
60
+ */
61
+ @withoutDefaultValues
62
+ model OmitDefaults<Source> {
63
+ ...Source;
64
+ }
65
+
66
+ /**
67
+ * Applies a visibility setting to a collection of properties.
68
+ *
69
+ * @template Source An object whose properties are spread.
70
+ * @template Visibility The visibility to apply to all properties.
71
+ */
72
+ @doc("The template for setting the default visibility of key properties.")
73
+ @withDefaultKeyVisibility(Visibility)
74
+ model DefaultKeyVisibility<Source, Visibility extends valueof string> {
75
+ ...Source;
76
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@typespec/compiler",
3
- "version": "0.56.0-dev.2",
3
+ "version": "0.56.0-dev.20",
4
4
  "description": "TypeSpec Compiler Preview",
5
5
  "author": "Microsoft Corporation",
6
6
  "license": "MIT",
@@ -19,7 +19,7 @@
19
19
  ],
20
20
  "type": "module",
21
21
  "main": "dist/src/index.js",
22
- "tspMain": "lib/main.tsp",
22
+ "tspMain": "lib/std/main.tsp",
23
23
  "exports": {
24
24
  ".": {
25
25
  "types": "./dist/src/index.d.ts",
@@ -54,7 +54,7 @@
54
54
  "tsp-server": "cmd/tsp-server.js"
55
55
  },
56
56
  "files": [
57
- "lib/*.tsp",
57
+ "lib/**/*.tsp",
58
58
  "dist/**",
59
59
  "templates/**",
60
60
  "entrypoints",
@@ -63,7 +63,8 @@
63
63
  "dependencies": {
64
64
  "@babel/code-frame": "~7.24.2",
65
65
  "ajv": "~8.12.0",
66
- "change-case": "~5.4.3",
66
+ "change-case": "~5.4.4",
67
+ "follow-redirects": "^1.15.6",
67
68
  "globby": "~14.0.1",
68
69
  "mustache": "~4.2.0",
69
70
  "picocolors": "~1.0.0",
@@ -77,24 +78,23 @@
77
78
  },
78
79
  "devDependencies": {
79
80
  "@types/babel__code-frame": "~7.0.6",
81
+ "@types/follow-redirects": "^1.14.4",
80
82
  "@types/mustache": "~4.2.5",
81
83
  "@types/node": "~18.11.19",
82
84
  "@types/prompts": "~2.4.9",
83
85
  "@types/semver": "^7.5.8",
84
- "@types/sinon": "~17.0.3",
85
86
  "@types/yargs": "~17.0.32",
86
87
  "@typespec/internal-build-utils": "~0.55.0 || >=0.56.0-dev <0.56.0",
87
- "@vitest/coverage-v8": "^1.4.0",
88
- "@vitest/ui": "^1.4.0",
88
+ "@vitest/coverage-v8": "^1.5.0",
89
+ "@vitest/ui": "^1.5.0",
89
90
  "c8": "^9.1.0",
90
91
  "grammarkdown": "~3.3.2",
91
92
  "rimraf": "~5.0.5",
92
- "sinon": "~17.0.1",
93
93
  "source-map-support": "~0.5.21",
94
94
  "tmlanguage-generator": "~0.5.4 || >=0.6.0-dev <0.6.0",
95
95
  "ts-node": "~10.9.2",
96
- "typescript": "~5.4.3",
97
- "vitest": "^1.4.0",
96
+ "typescript": "~5.4.5",
97
+ "vitest": "^1.5.0",
98
98
  "vscode-oniguruma": "~2.0.1",
99
99
  "vscode-textmate": "~9.0.0"
100
100
  },
package/lib/main.tsp DELETED
@@ -1,4 +0,0 @@
1
- import "./lib.tsp";
2
- import "./decorators.tsp";
3
- import "./reflection.tsp";
4
- import "./projected-names.tsp";
File without changes