@typespec/compiler 0.59.0-dev.1 → 0.59.0-dev.10

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 (40) hide show
  1. package/dist/generated-defs/TypeSpec.d.ts +20 -5
  2. package/dist/generated-defs/TypeSpec.d.ts.map +1 -1
  3. package/dist/manifest.js +2 -2
  4. package/dist/src/config/config-loader.js +7 -0
  5. package/dist/src/config/config-loader.js.map +1 -1
  6. package/dist/src/core/checker.d.ts.map +1 -1
  7. package/dist/src/core/checker.js +31 -9
  8. package/dist/src/core/checker.js.map +1 -1
  9. package/dist/src/core/cli/actions/compile/compile.d.ts.map +1 -1
  10. package/dist/src/core/cli/actions/compile/compile.js +10 -6
  11. package/dist/src/core/cli/actions/compile/compile.js.map +1 -1
  12. package/dist/src/core/cli/utils.d.ts +2 -1
  13. package/dist/src/core/cli/utils.d.ts.map +1 -1
  14. package/dist/src/core/cli/utils.js +14 -11
  15. package/dist/src/core/cli/utils.js.map +1 -1
  16. package/dist/src/core/helpers/discriminator-utils.js +1 -1
  17. package/dist/src/core/helpers/discriminator-utils.js.map +1 -1
  18. package/dist/src/core/library.d.ts +2 -2
  19. package/dist/src/core/library.d.ts.map +1 -1
  20. package/dist/src/core/messages.d.ts +25 -2
  21. package/dist/src/core/messages.d.ts.map +1 -1
  22. package/dist/src/core/messages.js +7 -0
  23. package/dist/src/core/messages.js.map +1 -1
  24. package/dist/src/core/numeric.js +3 -2
  25. package/dist/src/core/numeric.js.map +1 -1
  26. package/dist/src/core/param-message.d.ts +1 -1
  27. package/dist/src/core/param-message.d.ts.map +1 -1
  28. package/dist/src/core/scanner.d.ts.map +1 -1
  29. package/dist/src/core/scanner.js +5 -2
  30. package/dist/src/core/scanner.js.map +1 -1
  31. package/dist/src/core/schema-validator.d.ts.map +1 -1
  32. package/dist/src/core/schema-validator.js +26 -8
  33. package/dist/src/core/schema-validator.js.map +1 -1
  34. package/dist/src/lib/decorators.d.ts +7 -6
  35. package/dist/src/lib/decorators.d.ts.map +1 -1
  36. package/dist/src/lib/decorators.js +32 -25
  37. package/dist/src/lib/decorators.js.map +1 -1
  38. package/lib/std/decorators.tsp +10 -2
  39. package/package.json +10 -10
  40. package/templates/scaffolding.json +4 -4
@@ -477,7 +477,7 @@ enum BytesKnownEncoding {
477
477
 
478
478
  /**
479
479
  * Specify how to encode the target type.
480
- * @param encoding Known name of an encoding.
480
+ * @param encodingOrEncodeAs Known name of an encoding or a scalar type to encode as(Only for numeric types to encode as string).
481
481
  * @param encodedAs What target type is this being encoded as. Default to string.
482
482
  *
483
483
  * @example offsetDateTime encoded with rfc7231
@@ -493,10 +493,18 @@ enum BytesKnownEncoding {
493
493
  * @encode("unixTimestamp", int32)
494
494
  * scalar myDateTime extends unixTimestamp;
495
495
  * ```
496
+ *
497
+ * @example encode numeric type to string
498
+ *
499
+ * ```tsp
500
+ * model Pet {
501
+ * @encode(string) id: int64;
502
+ * }
503
+ * ```
496
504
  */
497
505
  extern dec encode(
498
506
  target: Scalar | ModelProperty,
499
- encoding: string | EnumMember,
507
+ encodingOrEncodeAs: (valueof string | EnumMember) | Scalar,
500
508
  encodedAs?: Scalar
501
509
  );
502
510
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@typespec/compiler",
3
- "version": "0.59.0-dev.1",
3
+ "version": "0.59.0-dev.10",
4
4
  "description": "TypeSpec Compiler Preview",
5
5
  "author": "Microsoft Corporation",
6
6
  "license": "MIT",
@@ -62,14 +62,14 @@
62
62
  ],
63
63
  "dependencies": {
64
64
  "@babel/code-frame": "~7.24.7",
65
- "ajv": "~8.16.0",
65
+ "ajv": "~8.17.1",
66
66
  "change-case": "~5.4.4",
67
67
  "globby": "~14.0.2",
68
68
  "mustache": "~4.2.0",
69
69
  "picocolors": "~1.0.1",
70
- "prettier": "~3.3.2",
70
+ "prettier": "~3.3.3",
71
71
  "prompts": "~2.4.2",
72
- "semver": "^7.6.2",
72
+ "semver": "^7.6.3",
73
73
  "temporal-polyfill": "^0.2.5",
74
74
  "vscode-languageserver": "~9.0.1",
75
75
  "vscode-languageserver-textdocument": "~1.0.11",
@@ -84,18 +84,18 @@
84
84
  "@types/semver": "^7.5.8",
85
85
  "@types/yargs": "~17.0.32",
86
86
  "@typespec/internal-build-utils": "~0.58.0 || >=0.59.0-dev <0.59.0",
87
- "@vitest/coverage-v8": "^1.6.0",
88
- "@vitest/ui": "^1.6.0",
87
+ "@vitest/coverage-v8": "^2.0.4",
88
+ "@vitest/ui": "^2.0.4",
89
89
  "c8": "^10.1.2",
90
90
  "grammarkdown": "~3.3.2",
91
- "rimraf": "~5.0.7",
91
+ "rimraf": "~6.0.1",
92
92
  "source-map-support": "~0.5.21",
93
93
  "tmlanguage-generator": "~0.5.7 || >=0.6.0-dev <0.6.0",
94
94
  "ts-node": "~10.9.2",
95
- "typescript": "~5.5.3",
96
- "vitest": "^1.6.0",
95
+ "typescript": "~5.5.4",
96
+ "vitest": "^2.0.4",
97
97
  "vscode-oniguruma": "~2.0.1",
98
- "vscode-textmate": "~9.0.0"
98
+ "vscode-textmate": "~9.1.0"
99
99
  },
100
100
  "peerDependencies": {},
101
101
  "scripts": {
@@ -3,12 +3,12 @@
3
3
  "title": "Empty project",
4
4
  "description": "Create an empty project.",
5
5
  "libraries": [],
6
- "compilerVersion": "0.58.0"
6
+ "compilerVersion": "0.58.1"
7
7
  },
8
8
  "rest": {
9
9
  "title": "Generic REST API",
10
10
  "description": "Create a project representing a generic REST API",
11
- "compilerVersion": "0.58.0",
11
+ "compilerVersion": "0.58.1",
12
12
  "libraries": [
13
13
  "@typespec/http",
14
14
  "@typespec/rest",
@@ -23,7 +23,7 @@
23
23
  "library-ts": {
24
24
  "title": "TypeSpec Library (With TypeScript)",
25
25
  "description": "Create a new package to add decorators or linters to typespec.",
26
- "compilerVersion": "0.58.0",
26
+ "compilerVersion": "0.58.1",
27
27
  "libraries": [],
28
28
  "files": [
29
29
  {
@@ -99,7 +99,7 @@
99
99
  "emitter-ts": {
100
100
  "title": "TypeSpec Emitter (With TypeScript)",
101
101
  "description": "Create a new package that will be emitting typespec",
102
- "compilerVersion": "0.58.0",
102
+ "compilerVersion": "0.58.1",
103
103
  "libraries": [],
104
104
  "files": [
105
105
  {