@zyno-io/ts-server-foundation 26.714.5 → 26.714.423

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 (56) hide show
  1. package/dist/src/app/base.js +1 -1
  2. package/dist/src/app/index.js +1 -1
  3. package/dist/src/database/database.js +1 -1
  4. package/dist/src/database/index.js +1 -1
  5. package/dist/src/database/metadata.js +1 -1
  6. package/dist/src/database/query.d.ts.map +1 -1
  7. package/dist/src/database/query.js +6 -8
  8. package/dist/src/database/query.js.map +1 -1
  9. package/dist/src/devconsole/server.js +3 -3
  10. package/dist/src/devconsole/server.js.map +1 -1
  11. package/dist/src/di/container.js +1 -1
  12. package/dist/src/di/index.js +1 -1
  13. package/dist/src/di/module.js +1 -1
  14. package/dist/src/http/base.js +1 -1
  15. package/dist/src/http/index.js +1 -1
  16. package/dist/src/http/request.js +2 -2
  17. package/dist/src/http/response.js +3 -3
  18. package/dist/src/http/router.js +2 -3
  19. package/dist/src/http/workflow.js +1 -1
  20. package/dist/src/index.js +1 -1
  21. package/dist/src/openapi/index.js +1 -1
  22. package/dist/src/openapi/schema.js +1 -1
  23. package/dist/src/openapi/types.js +1 -1
  24. package/dist/src/reflection/conversion.d.ts.map +1 -1
  25. package/dist/src/reflection/conversion.js +3 -5
  26. package/dist/src/reflection/conversion.js.map +1 -1
  27. package/dist/src/reflection/deserializer.js +1 -1
  28. package/dist/src/reflection/index.js +1 -1
  29. package/dist/src/reflection/model.js +1 -1
  30. package/dist/src/reflection/primitive-conversion.d.ts +2 -0
  31. package/dist/src/reflection/primitive-conversion.d.ts.map +1 -0
  32. package/dist/src/reflection/primitive-conversion.js +19 -0
  33. package/dist/src/reflection/primitive-conversion.js.map +1 -0
  34. package/dist/src/reflection/reflection-class.js +3 -3
  35. package/dist/src/reflection/type-utils.d.ts.map +1 -1
  36. package/dist/src/reflection/type-utils.js +13 -0
  37. package/dist/src/reflection/type-utils.js.map +1 -1
  38. package/dist/src/services/index.js +1 -1
  39. package/dist/src/services/mesh-client/index.js +1 -1
  40. package/dist/src/services/mesh-client/mesh-client-redis-registry.js +1 -1
  41. package/dist/src/services/mesh-client/mesh-client-registry.js +1 -1
  42. package/dist/src/services/mesh-client/types.js +1 -1
  43. package/dist/src/testing/index.js +4 -4
  44. package/dist/src/testing/index.js.map +1 -1
  45. package/dist/src/testing/sql.js +1 -1
  46. package/dist/src/type-compiler/go/ast_metadata.go +1 -1
  47. package/dist/src/type-compiler/go/collect.go +17 -2
  48. package/dist/src/type-compiler/go/emission_plan.go +1 -1
  49. package/dist/src/type-compiler/go/plugin_test.go +148 -1
  50. package/dist/src/type-compiler/go/receive_type.go +67 -1
  51. package/dist/src/type-compiler/go/text_parse.go +65 -2
  52. package/dist/src/type-compiler/go/type_expr.go +5 -9
  53. package/dist/src/type-compiler/go/typia_expr.go +104 -15
  54. package/docs/content/database.md +11 -9
  55. package/docs/content/sql.md +1 -1
  56. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/testing/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/testing/index.ts"],"names":[],"mappings":"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"}
@@ -8,7 +8,7 @@ const node_util_1 = require("node:util");
8
8
  const database_1 = require("../database/database");
9
9
  const entity_1 = require("../database/entity");
10
10
  const metadata_1 = require("../database/metadata");
11
- const __tsf_metadata_type = _a.createCompactMetadataRegistryV1("[1,[{\"kind\":2,\"typeName\":\"ClassType\",\"typeArguments\":[{\"kind\":2,\"typeName\":\"T\"}]},{\"kind\":12,\"types\":[{\"kind\":14,\"type\":{\"kind\":18,\"typeName\":\"Partial\",\"utilityType\":\"Partial\",\"typeArguments\":[{\"kind\":18,\"typeName\":\"EntityFields\",\"types\":[]}],\"utilityKeys\":[],\"types\":[]}},{\"kind\":18,\"typeName\":\"Partial\",\"utilityType\":\"Partial\",\"typeArguments\":[{\"kind\":18,\"typeName\":\"EntityFields\",\"types\":[]}],\"utilityKeys\":[],\"types\":[]}]},{\"kind\":3},{\"kind\":2,\"typeName\":\"ClassType\"},{\"kind\":8},{\"kind\":2,\"typeName\":\"EntityClass\",\"typeArguments\":[{\"kind\":2,\"typeName\":\"T\"}]},{\"kind\":18,\"typeName\":\"Record\",\"utilityType\":\"Record\",\"typeArguments\":[{\"kind\":6},{\"kind\":12,\"types\":[{\"kind\":2},{\"kind\":18,\"types\":[{\"kind\":20,\"name\":\"$in\",\"type\":{\"kind\":12,\"types\":[{\"kind\":14,\"type\":{\"kind\":2}},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"$nin\",\"type\":{\"kind\":12,\"types\":[{\"kind\":14,\"type\":{\"kind\":2}},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"$ne\",\"type\":{\"kind\":12,\"types\":[{\"kind\":2},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"$gt\",\"type\":{\"kind\":12,\"types\":[{\"kind\":2},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"$gte\",\"type\":{\"kind\":12,\"types\":[{\"kind\":2},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"$lt\",\"type\":{\"kind\":12,\"types\":[{\"kind\":2},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"$lte\",\"type\":{\"kind\":12,\"types\":[{\"kind\":2},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"$like\",\"type\":{\"kind\":12,\"types\":[{\"kind\":2},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"$notLike\",\"type\":{\"kind\":12,\"types\":[{\"kind\":2},{\"kind\":4}]},\"optional\":true}]}],\"typeName\":\"FilterValue\"}],\"index\":{\"kind\":12,\"types\":[{\"kind\":2},{\"kind\":18,\"types\":[{\"kind\":20,\"name\":\"$in\",\"type\":{\"kind\":12,\"types\":[{\"kind\":14,\"type\":{\"kind\":2}},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"$nin\",\"type\":{\"kind\":12,\"types\":[{\"kind\":14,\"type\":{\"kind\":2}},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"$ne\",\"type\":{\"kind\":12,\"types\":[{\"kind\":2},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"$gt\",\"type\":{\"kind\":12,\"types\":[{\"kind\":2},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"$gte\",\"type\":{\"kind\":12,\"types\":[{\"kind\":2},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"$lt\",\"type\":{\"kind\":12,\"types\":[{\"kind\":2},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"$lte\",\"type\":{\"kind\":12,\"types\":[{\"kind\":2},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"$like\",\"type\":{\"kind\":12,\"types\":[{\"kind\":2},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"$notLike\",\"type\":{\"kind\":12,\"types\":[{\"kind\":2},{\"kind\":4}]},\"optional\":true}]}],\"typeName\":\"FilterValue\"},\"types\":[],\"typeName\":\"FilterRecord\"},{\"kind\":2,\"typeName\":\"keyof T | string\"},{\"kind\":12,\"types\":[{\"kind\":2},{\"kind\":18,\"types\":[{\"kind\":20,\"name\":\"$in\",\"type\":{\"kind\":12,\"types\":[{\"kind\":14,\"type\":{\"kind\":2}},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"$nin\",\"type\":{\"kind\":12,\"types\":[{\"kind\":14,\"type\":{\"kind\":2}},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"$ne\",\"type\":{\"kind\":12,\"types\":[{\"kind\":2},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"$gt\",\"type\":{\"kind\":12,\"types\":[{\"kind\":2},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"$gte\",\"type\":{\"kind\":12,\"types\":[{\"kind\":2},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"$lt\",\"type\":{\"kind\":12,\"types\":[{\"kind\":2},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"$lte\",\"type\":{\"kind\":12,\"types\":[{\"kind\":2},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"$like\",\"type\":{\"kind\":12,\"types\":[{\"kind\":2},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"$notLike\",\"type\":{\"kind\":12,\"types\":[{\"kind\":2},{\"kind\":4}]},\"optional\":true}]}],\"typeName\":\"FilterValue\"},{\"kind\":14,\"type\":{\"kind\":6}},{\"kind\":6},{\"kind\":12,\"types\":[{\"kind\":10,\"literal\":\"asc\"},{\"kind\":10,\"literal\":\"desc\"},{\"kind\":10,\"literal\":\"ASC\"},{\"kind\":10,\"literal\":\"DESC\"},{\"kind\":10,\"literal\":1},{\"kind\":10,\"literal\":-1}]},{\"kind\":12,\"types\":[{\"kind\":6},{\"kind\":18,\"typeName\":\"Record\",\"utilityType\":\"Record\",\"typeArguments\":[{\"kind\":6},{\"kind\":12,\"types\":[{\"kind\":10,\"literal\":\"asc\"},{\"kind\":10,\"literal\":\"desc\"},{\"kind\":10,\"literal\":\"ASC\"},{\"kind\":10,\"literal\":\"DESC\"},{\"kind\":10,\"literal\":1},{\"kind\":10,\"literal\":-1}]}],\"index\":{\"kind\":12,\"types\":[{\"kind\":10,\"literal\":\"asc\"},{\"kind\":10,\"literal\":\"desc\"},{\"kind\":10,\"literal\":\"ASC\"},{\"kind\":10,\"literal\":\"DESC\"},{\"kind\":10,\"literal\":1},{\"kind\":10,\"literal\":-1}]},\"types\":[]}]},{\"kind\":7},{\"kind\":22,\"type\":{\"kind\":14,\"type\":{\"kind\":2,\"typeName\":\"T\"}}},{\"kind\":2,\"typeName\":\"K\"},{\"kind\":22,\"type\":{\"kind\":14,\"type\":{\"kind\":2,\"typeName\":\"T[K]\"}}},{\"kind\":22,\"type\":{\"kind\":12,\"types\":[{\"kind\":2,\"typeName\":\"T[K]\"},{\"kind\":4}]}},{\"kind\":22,\"type\":{\"kind\":2,\"typeName\":\"T[K]\"}},{\"kind\":22,\"type\":{\"kind\":12,\"types\":[{\"kind\":2,\"typeName\":\"T\"},{\"kind\":4}]}},{\"kind\":22,\"type\":{\"kind\":2,\"typeName\":\"T\"}},{\"kind\":22,\"type\":{\"kind\":8}},{\"kind\":22,\"type\":{\"kind\":7}},{\"kind\":18,\"typeName\":\"PatchRecord\\u003cT\\u003e\",\"index\":{\"kind\":1},\"types\":[]},{\"kind\":22,\"type\":{\"kind\":18,\"typeName\":\"QueryMutationResult\",\"types\":[{\"kind\":20,\"name\":\"affectedRows\",\"type\":{\"kind\":7},\"optional\":false},{\"kind\":20,\"name\":\"modified\",\"type\":{\"kind\":7},\"optional\":false},{\"kind\":20,\"name\":\"primaryKeys\",\"type\":{\"kind\":14,\"type\":{\"kind\":18,\"typeName\":\"Record\",\"utilityType\":\"Record\",\"typeArguments\":[{\"kind\":6},{\"kind\":2}],\"index\":{\"kind\":2},\"types\":[]}},\"optional\":false}]}},{\"kind\":14,\"type\":{\"kind\":18,\"typeName\":\"Record\",\"utilityType\":\"Record\",\"typeArguments\":[{\"kind\":6},{\"kind\":2}],\"index\":{\"kind\":2},\"types\":[]}},{\"kind\":2},{\"kind\":22,\"type\":{\"kind\":3}},{\"kind\":22,\"type\":{\"kind\":18,\"typeName\":\"DriverConnection\",\"types\":[]}}]]", []);
11
+ const __tsf_metadata_type = _a.createCompactMetadataRegistryV1("[1,[{\"kind\":2,\"typeName\":\"ClassType\",\"typeArguments\":[{\"kind\":2,\"typeName\":\"T\"}]},{\"kind\":12,\"types\":[{\"kind\":14,\"type\":{\"kind\":18,\"typeName\":\"Partial\",\"utilityType\":\"Partial\",\"typeArguments\":[{\"kind\":18,\"typeName\":\"EntityFields\",\"types\":[]}],\"utilityKeys\":[],\"types\":[]}},{\"kind\":18,\"typeName\":\"Partial\",\"utilityType\":\"Partial\",\"typeArguments\":[{\"kind\":18,\"typeName\":\"EntityFields\",\"types\":[]}],\"utilityKeys\":[],\"types\":[]}]},{\"kind\":3},{\"kind\":2,\"typeName\":\"ClassType\"},{\"kind\":8},{\"kind\":2,\"typeName\":\"EntityClass\",\"typeArguments\":[{\"kind\":2,\"typeName\":\"T\"}]},{\"kind\":18,\"typeName\":\"Record\",\"utilityType\":\"Record\",\"typeArguments\":[{\"kind\":6},{\"kind\":12,\"types\":[{\"kind\":2},{\"kind\":18,\"types\":[{\"kind\":20,\"name\":\"$in\",\"type\":{\"kind\":12,\"types\":[{\"kind\":14,\"type\":{\"kind\":2}},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"$nin\",\"type\":{\"kind\":12,\"types\":[{\"kind\":14,\"type\":{\"kind\":2}},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"$ne\",\"type\":{\"kind\":12,\"types\":[{\"kind\":2},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"$gt\",\"type\":{\"kind\":12,\"types\":[{\"kind\":2},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"$gte\",\"type\":{\"kind\":12,\"types\":[{\"kind\":2},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"$lt\",\"type\":{\"kind\":12,\"types\":[{\"kind\":2},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"$lte\",\"type\":{\"kind\":12,\"types\":[{\"kind\":2},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"$like\",\"type\":{\"kind\":12,\"types\":[{\"kind\":2},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"$notLike\",\"type\":{\"kind\":12,\"types\":[{\"kind\":2},{\"kind\":4}]},\"optional\":true}]}],\"typeName\":\"FilterValue\"}],\"index\":{\"kind\":12,\"types\":[{\"kind\":2},{\"kind\":18,\"types\":[{\"kind\":20,\"name\":\"$in\",\"type\":{\"kind\":12,\"types\":[{\"kind\":14,\"type\":{\"kind\":2}},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"$nin\",\"type\":{\"kind\":12,\"types\":[{\"kind\":14,\"type\":{\"kind\":2}},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"$ne\",\"type\":{\"kind\":12,\"types\":[{\"kind\":2},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"$gt\",\"type\":{\"kind\":12,\"types\":[{\"kind\":2},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"$gte\",\"type\":{\"kind\":12,\"types\":[{\"kind\":2},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"$lt\",\"type\":{\"kind\":12,\"types\":[{\"kind\":2},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"$lte\",\"type\":{\"kind\":12,\"types\":[{\"kind\":2},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"$like\",\"type\":{\"kind\":12,\"types\":[{\"kind\":2},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"$notLike\",\"type\":{\"kind\":12,\"types\":[{\"kind\":2},{\"kind\":4}]},\"optional\":true}]}],\"typeName\":\"FilterValue\"},\"types\":[],\"typeName\":\"FilterRecord\"},{\"kind\":12,\"types\":[{\"kind\":2,\"typeName\":\"keyof T\"},{\"kind\":6}]},{\"kind\":12,\"types\":[{\"kind\":2},{\"kind\":18,\"types\":[{\"kind\":20,\"name\":\"$in\",\"type\":{\"kind\":12,\"types\":[{\"kind\":14,\"type\":{\"kind\":2}},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"$nin\",\"type\":{\"kind\":12,\"types\":[{\"kind\":14,\"type\":{\"kind\":2}},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"$ne\",\"type\":{\"kind\":12,\"types\":[{\"kind\":2},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"$gt\",\"type\":{\"kind\":12,\"types\":[{\"kind\":2},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"$gte\",\"type\":{\"kind\":12,\"types\":[{\"kind\":2},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"$lt\",\"type\":{\"kind\":12,\"types\":[{\"kind\":2},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"$lte\",\"type\":{\"kind\":12,\"types\":[{\"kind\":2},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"$like\",\"type\":{\"kind\":12,\"types\":[{\"kind\":2},{\"kind\":4}]},\"optional\":true},{\"kind\":20,\"name\":\"$notLike\",\"type\":{\"kind\":12,\"types\":[{\"kind\":2},{\"kind\":4}]},\"optional\":true}]}],\"typeName\":\"FilterValue\"},{\"kind\":14,\"type\":{\"kind\":6}},{\"kind\":6},{\"kind\":12,\"types\":[{\"kind\":10,\"literal\":\"asc\"},{\"kind\":10,\"literal\":\"desc\"},{\"kind\":10,\"literal\":\"ASC\"},{\"kind\":10,\"literal\":\"DESC\"},{\"kind\":10,\"literal\":1},{\"kind\":10,\"literal\":-1}]},{\"kind\":12,\"types\":[{\"kind\":6},{\"kind\":18,\"typeName\":\"Record\",\"utilityType\":\"Record\",\"typeArguments\":[{\"kind\":6},{\"kind\":12,\"types\":[{\"kind\":10,\"literal\":\"asc\"},{\"kind\":10,\"literal\":\"desc\"},{\"kind\":10,\"literal\":\"ASC\"},{\"kind\":10,\"literal\":\"DESC\"},{\"kind\":10,\"literal\":1},{\"kind\":10,\"literal\":-1}]}],\"index\":{\"kind\":12,\"types\":[{\"kind\":10,\"literal\":\"asc\"},{\"kind\":10,\"literal\":\"desc\"},{\"kind\":10,\"literal\":\"ASC\"},{\"kind\":10,\"literal\":\"DESC\"},{\"kind\":10,\"literal\":1},{\"kind\":10,\"literal\":-1}]},\"types\":[]}]},{\"kind\":7},{\"kind\":22,\"type\":{\"kind\":14,\"type\":{\"kind\":2,\"typeName\":\"T\"}}},{\"kind\":2,\"typeName\":\"K\"},{\"kind\":22,\"type\":{\"kind\":14,\"type\":{\"kind\":2,\"typeName\":\"T[K]\"}}},{\"kind\":22,\"type\":{\"kind\":12,\"types\":[{\"kind\":2,\"typeName\":\"T[K]\"},{\"kind\":4}]}},{\"kind\":22,\"type\":{\"kind\":2,\"typeName\":\"T[K]\"}},{\"kind\":22,\"type\":{\"kind\":12,\"types\":[{\"kind\":2,\"typeName\":\"T\"},{\"kind\":4}]}},{\"kind\":22,\"type\":{\"kind\":2,\"typeName\":\"T\"}},{\"kind\":22,\"type\":{\"kind\":8}},{\"kind\":22,\"type\":{\"kind\":7}},{\"kind\":18,\"typeName\":\"PatchRecord\\u003cT\\u003e\",\"index\":{\"kind\":1},\"types\":[]},{\"kind\":22,\"type\":{\"kind\":18,\"typeName\":\"QueryMutationResult\",\"types\":[{\"kind\":20,\"name\":\"affectedRows\",\"type\":{\"kind\":7},\"optional\":false},{\"kind\":20,\"name\":\"modified\",\"type\":{\"kind\":7},\"optional\":false},{\"kind\":20,\"name\":\"primaryKeys\",\"type\":{\"kind\":14,\"type\":{\"kind\":18,\"typeName\":\"Record\",\"utilityType\":\"Record\",\"typeArguments\":[{\"kind\":6},{\"kind\":2}],\"index\":{\"kind\":2},\"types\":[]}},\"optional\":false}]}},{\"kind\":14,\"type\":{\"kind\":18,\"typeName\":\"Record\",\"utilityType\":\"Record\",\"typeArguments\":[{\"kind\":6},{\"kind\":2}],\"index\":{\"kind\":2},\"types\":[]}},{\"kind\":2},{\"kind\":22,\"type\":{\"kind\":3}},{\"kind\":22,\"type\":{\"kind\":18,\"typeName\":\"DriverConnection\",\"types\":[]}}]]", []);
12
12
  const helpers = [];
13
13
  let sqlMockDatabase;
14
14
  let _SqlTestingHelperMetadata_1;
@@ -271,7 +271,7 @@ func nodeText(file *shimast.SourceFile, node *shimast.Node) string {
271
271
  if node == nil {
272
272
  return "unknown"
273
273
  }
274
- return strings.TrimSpace(file.Text()[node.Pos():node.End()])
274
+ return strings.TrimSpace(stripTypeComments(file.Text()[node.Pos():node.End()]))
275
275
  }
276
276
 
277
277
  func jsDocDescription(file *shimast.SourceFile, node *shimast.Node) string {
@@ -638,6 +638,7 @@ func parseExportItem(item string) (string, string, bool) {
638
638
 
639
639
  func collectGenericCalls(info *fileInfo, reg *registry) {
640
640
  calls := []callInfo{}
641
+ seen := map[int]bool{}
641
642
  var walk func(*shimast.Node)
642
643
  walk = func(node *shimast.Node) {
643
644
  if node == nil {
@@ -645,8 +646,12 @@ func collectGenericCalls(info *fileInfo, reg *registry) {
645
646
  }
646
647
  if node.Kind == shimast.KindCallExpression {
647
648
  call := node.AsCallExpression()
649
+ if received, ok := resolvedReceiveTypeCall(info, reg, node); ok {
650
+ calls = append(calls, received)
651
+ seen[node.Pos()] = true
652
+ }
648
653
  typeArgs := node.TypeArguments()
649
- if len(typeArgs) > 0 {
654
+ if len(typeArgs) > 0 && !seen[node.Pos()] {
650
655
  name, metadataArgIndex, recognized := metadataCallDetails(reg, call)
651
656
  if recognized {
652
657
  argumentCount := 0
@@ -673,7 +678,17 @@ func collectGenericCalls(info *fileInfo, reg *registry) {
673
678
  })
674
679
  }
675
680
  walk(info.file.AsNode())
676
- calls = append(calls, collectReceiveTypeCalls(info, reg)...)
681
+ fallbackCalls := collectReceiveTypeCalls(info, reg)
682
+ matchCallNodePositions(info.file, fallbackCalls)
683
+ for _, call := range fallbackCalls {
684
+ if call.nodePos >= 0 && seen[call.nodePos] {
685
+ continue
686
+ }
687
+ calls = append(calls, call)
688
+ if call.nodePos >= 0 {
689
+ seen[call.nodePos] = true
690
+ }
691
+ }
677
692
  sort.Slice(calls, func(i, j int) bool { return calls[i].pos < calls[j].pos })
678
693
  matchCallNodePositions(info.file, calls)
679
694
  info.calls = calls
@@ -200,7 +200,7 @@ func cachedAliasTypeExpr(info *fileInfo, reg *registry, alias aliasInfo) string
200
200
  if strings.TrimSpace(alias.metadataText) != "" {
201
201
  return alias.metadataText
202
202
  }
203
- return internalTypeExprAt(info, reg, alias.body, alias.pos)
203
+ return internalTypeExprForNode(info, reg, alias.body, alias.typeNode, alias.pos)
204
204
  }
205
205
 
206
206
  func metadataExprTooLarge(expr string) bool {
@@ -71,6 +71,140 @@ func TestSplitTopIgnoresNestedSyntax(t *testing.T) {
71
71
  }
72
72
  }
73
73
 
74
+ func TestSplitTopPreservesCommentMarkersInsideLiterals(t *testing.T) {
75
+ input := `'https://example.com/a/*b*/' | /* actual comment */ ` + "`route//segment/${string}`" + ` | 'done'`
76
+ got := splitTop(input, "|")
77
+ want := []string{
78
+ `'https://example.com/a/*b*/'`,
79
+ "`route//segment/${string}`",
80
+ `'done'`,
81
+ }
82
+ if !reflect.DeepEqual(got, want) {
83
+ t.Fatalf("splitTop() = %#v, want %#v", got, want)
84
+ }
85
+ }
86
+
87
+ func TestTypeExprIgnoresCommentsInsideUnions(t *testing.T) {
88
+ file := parseTestSourceFile(t, "/project/commented-union.ts", `
89
+ type Status =
90
+ | 'draft'
91
+ /* client's legacy { branch */
92
+ | 'published'
93
+ // closing ( branch
94
+ | 'archived';
95
+ `)
96
+ alias := aliasFromNode(file, file.Statements.Nodes[0])
97
+ info, reg := testTypeInfo()
98
+
99
+ got := typeExpr(info, reg, alias.body)
100
+ assertContainsAll(t, got,
101
+ `literal: "draft"`,
102
+ `literal: "published"`,
103
+ `literal: "archived"`,
104
+ )
105
+ }
106
+
107
+ func TestTypeExprForNodeUsesAstUnionMemberOrder(t *testing.T) {
108
+ file := parseTestSourceFile(t, "/project/ordered-union.ts", `
109
+ type Status =
110
+ | 'draft'
111
+ /* punctuation that would poison text splitting: client's { ( */
112
+ | 'published'
113
+ | 'archived';
114
+ `)
115
+ alias := aliasFromNode(file, file.Statements.Nodes[0])
116
+ info, reg := testTypeInfo()
117
+ info.file = file
118
+
119
+ got := typeExprForNode(info, reg, "'not-from-the-node'", alias.typeNode, alias.pos)
120
+ assertContainsAll(t, got,
121
+ `literal: "draft"`,
122
+ `literal: "published"`,
123
+ `literal: "archived"`,
124
+ )
125
+ assertNotContains(t, got, `literal: "not-from-the-node"`)
126
+ draft := strings.Index(got, `literal: "draft"`)
127
+ published := strings.Index(got, `literal: "published"`)
128
+ archived := strings.Index(got, `literal: "archived"`)
129
+ if draft > published || published > archived {
130
+ t.Fatalf("AST union order was not preserved: %s", got)
131
+ }
132
+ }
133
+
134
+ func TestTypeExprForNodeUsesAstIntersectionMemberOrder(t *testing.T) {
135
+ file := parseTestSourceFile(t, "/project/ordered-intersection.ts", `
136
+ type Name =
137
+ string
138
+ & MinLength<2>
139
+ /* punctuation that would poison text splitting: { */
140
+ & MaxLength<20>;
141
+ `)
142
+ alias := aliasFromNode(file, file.Statements.Nodes[0])
143
+ info, reg := testTypeInfo()
144
+ info.file = file
145
+
146
+ got := typeExprForNode(info, reg, "string", alias.typeNode, alias.pos)
147
+ assertContainsAll(t, got,
148
+ `typeName: "MinLength"`,
149
+ `typeName: "MaxLength"`,
150
+ )
151
+ minimum := strings.Index(got, `typeName: "MinLength"`)
152
+ maximum := strings.Index(got, `typeName: "MaxLength"`)
153
+ if minimum > maximum {
154
+ t.Fatalf("AST intersection order was not preserved: %s", got)
155
+ }
156
+ }
157
+
158
+ func TestRenderUtilityPropertyUsesAstUnionMembers(t *testing.T) {
159
+ file := parseTestSourceFile(t, "/project/utility-union.ts", `
160
+ type Status =
161
+ | 'draft'
162
+ /* punctuation that would poison text splitting: { */
163
+ | 'published';
164
+ `)
165
+ alias := aliasFromNode(file, file.Statements.Nodes[0])
166
+ info, reg := testTypeInfo()
167
+ info.file = file
168
+
169
+ got := renderUtilityProperty(info, reg, utilityProperty{
170
+ name: "status",
171
+ typeText: "'not-from-the-node'",
172
+ typeNode: alias.typeNode,
173
+ }, &typeContext{seen: map[string]bool{}})
174
+ assertContainsAll(t, got,
175
+ `literal: "draft"`,
176
+ `literal: "published"`,
177
+ )
178
+ assertNotContains(t, got, `literal: "not-from-the-node"`)
179
+ }
180
+
181
+ func TestUtilityClassPropertyRetainsAstUnionMembers(t *testing.T) {
182
+ file := parseTestSourceFile(t, "/project/class-utility-union.ts", `
183
+ type Status =
184
+ | 'draft'
185
+ /* punctuation that would poison text splitting: { */
186
+ | 'published';
187
+ `)
188
+ alias := aliasFromNode(file, file.Statements.Nodes[0])
189
+ info, reg := testTypeInfo()
190
+ info.file = file
191
+ info.classes = []*classInfo{{
192
+ name: "User",
193
+ properties: []propertyInfo{{
194
+ name: "status",
195
+ typeText: "'not-from-the-node'",
196
+ typeNode: alias.typeNode,
197
+ }},
198
+ }}
199
+
200
+ got := typeExpr(info, reg, "Pick<User, 'status'>")
201
+ assertContainsAll(t, got,
202
+ `literal: "draft"`,
203
+ `literal: "published"`,
204
+ )
205
+ assertNotContains(t, got, `literal: "not-from-the-node"`)
206
+ }
207
+
74
208
  func TestMetadataCallNamesIncludeValidatedDeserialize(t *testing.T) {
75
209
  for _, name := range []string{"deserialize", "validate", "validatedDeserialize", "typeOf"} {
76
210
  if !isMetadataCallName(name) {
@@ -124,6 +258,19 @@ func TestReceiveTypeMethodCandidatesIncludeStaticMethods(t *testing.T) {
124
258
  }
125
259
  }
126
260
 
261
+ func TestReceiveTypeArgumentAcceptsQualifiedImports(t *testing.T) {
262
+ for _, input := range []string{
263
+ "ReceiveType<T>",
264
+ "reflection.ReceiveType<T>",
265
+ `import("@zyno-io/ts-server-foundation").ReceiveType<T>`,
266
+ } {
267
+ got, ok := receiveTypeArgument(input)
268
+ if !ok || got != "T" {
269
+ t.Fatalf("receiveTypeArgument(%q) = %q, %v", input, got, ok)
270
+ }
271
+ }
272
+ }
273
+
127
274
  func TestPropertiesFromBodyParsesFieldsAndIgnoresMembers(t *testing.T) {
128
275
  body := `
129
276
  id: string;
@@ -516,7 +663,7 @@ func TestTypiaSourcePropertyOverridePreservesDateProperties(t *testing.T) {
516
663
  if sourceTypeIsDateRootType(info, reg, "Response", &typeContext{seen: map[string]bool{}}, map[string]bool{}) {
517
664
  t.Fatal("DTOs containing Date should not force whole-object internal encoding")
518
665
  }
519
- if got, ok := preferredDateRootTypeExpr(info, reg, "Date | null", 0); !ok {
666
+ if got, ok := preferredDateRootTypeExpr(info, reg, "Date | null", nil, 0); !ok {
520
667
  t.Fatal("preferred Date roots should render through the internal encoder")
521
668
  } else {
522
669
  assertContainsAll(t, got, "typeName: \"Date\"", "{kind: 5}")
@@ -8,6 +8,8 @@ import (
8
8
  "sort"
9
9
  "strconv"
10
10
  "strings"
11
+
12
+ shimast "github.com/microsoft/typescript-go/shim/ast"
11
13
  )
12
14
 
13
15
  type sourceCallInfo struct {
@@ -18,6 +20,70 @@ type sourceCallInfo struct {
18
20
  pos int
19
21
  }
20
22
 
23
+ func resolvedReceiveTypeCall(info *fileInfo, reg *registry, node *shimast.Node) (callInfo, bool) {
24
+ if info == nil || info.file == nil || reg == nil || reg.checker == nil || node == nil || node.Kind != shimast.KindCallExpression {
25
+ return callInfo{}, false
26
+ }
27
+ call := node.AsCallExpression()
28
+ signature := reg.checker.GetResolvedSignature(node)
29
+ if signature == nil {
30
+ return callInfo{}, false
31
+ }
32
+ declaration := signature.Declaration()
33
+ if declaration == nil {
34
+ return callInfo{}, false
35
+ }
36
+ declarationFile := shimast.GetSourceFileOfNode(declaration)
37
+ if declarationFile == nil {
38
+ return callInfo{}, false
39
+ }
40
+ name := "ReceiveType"
41
+ if declaration.Name() != nil {
42
+ name = declaration.Name().Text()
43
+ }
44
+ fn := functionInfo{
45
+ name: name,
46
+ typeParams: typeParameterNames(declaration),
47
+ params: paramsFromNode(declarationFile, declaration),
48
+ pos: declaration.Pos(),
49
+ }
50
+ receiveTypeText := ""
51
+ if _, text, ok := receiveTypeParameter(fn); ok {
52
+ receiveTypeText = unwrapReceiveTypeHelperType(text)
53
+ } else {
54
+ return callInfo{}, false
55
+ }
56
+ sourceCall := sourceCallInfo{name: name, pos: node.Pos()}
57
+ for _, typeArg := range node.TypeArguments() {
58
+ sourceCall.typeArgs = append(sourceCall.typeArgs, nodeText(info.file, typeArg))
59
+ }
60
+ if call.Arguments != nil {
61
+ for _, arg := range call.Arguments.Nodes {
62
+ sourceCall.args = append(sourceCall.args, nodeText(info.file, arg))
63
+ }
64
+ }
65
+ typeText, metadataArgIndex, ok := receiveTypeForCall(info, reg, fn, sourceCall)
66
+ if !ok {
67
+ return callInfo{}, false
68
+ }
69
+ var typeNode *shimast.Node
70
+ for index, typeParam := range fn.typeParams {
71
+ if receiveTypeText == typeParam && index < len(node.TypeArguments()) {
72
+ typeNode = node.TypeArguments()[index]
73
+ break
74
+ }
75
+ }
76
+ return callInfo{
77
+ name: name,
78
+ nodePos: node.Pos(),
79
+ metadataArgIndex: metadataArgIndex,
80
+ typeText: typeText,
81
+ typeNode: typeNode,
82
+ preferTypia: typeNode != nil,
83
+ pos: node.Pos(),
84
+ }, true
85
+ }
86
+
21
87
  func collectReceiveTypeCalls(info *fileInfo, reg *registry) []callInfo {
22
88
  text := info.file.Text()
23
89
  out := []callInfo{}
@@ -322,7 +388,7 @@ func receiveTypeParameter(fn functionInfo) (int, string, bool) {
322
388
  func receiveTypeArgument(raw string) (string, bool) {
323
389
  raw = strings.TrimSpace(trimParens(raw))
324
390
  name, args, ok := generic(raw)
325
- if !ok || name != "ReceiveType" || len(args) == 0 {
391
+ if !ok || name != "ReceiveType" && !strings.HasSuffix(name, ".ReceiveType") || len(args) == 0 {
326
392
  return "", false
327
393
  }
328
394
  return firstArg(args), true
@@ -54,6 +54,7 @@ func literalArg(raw string) string {
54
54
  }
55
55
 
56
56
  func splitTop(input string, sep string) []string {
57
+ input = stripTypeComments(input)
57
58
  parts := []string{}
58
59
  start, depthAngle, depthBrace, depthParen, depthBracket, quote := 0, 0, 0, 0, 0, byte(0)
59
60
  for i := 0; i < len(input); i++ {
@@ -287,8 +288,70 @@ func isTypeContinuationNewline(body string, start int, newline int) bool {
287
288
  }
288
289
 
289
290
  func stripTypeComments(body string) string {
290
- replacer := regexp.MustCompile(`(?s)/\*.*?\*/|//[^\r\n]*`)
291
- return replacer.ReplaceAllString(body, "")
291
+ if !strings.Contains(body, "/") {
292
+ return body
293
+ }
294
+ var out strings.Builder
295
+ out.Grow(len(body))
296
+ for i := 0; i < len(body); i++ {
297
+ current := body[i]
298
+ next := byte(0)
299
+ if i+1 < len(body) {
300
+ next = body[i+1]
301
+ }
302
+ if current == '\'' || current == '"' {
303
+ quote := current
304
+ out.WriteByte(current)
305
+ for i++; i < len(body); i++ {
306
+ out.WriteByte(body[i])
307
+ if body[i] == '\\' && i+1 < len(body) {
308
+ i++
309
+ out.WriteByte(body[i])
310
+ continue
311
+ }
312
+ if body[i] == quote {
313
+ break
314
+ }
315
+ }
316
+ continue
317
+ }
318
+ if current == '`' {
319
+ end := skipTemplateLiteral(body, i)
320
+ out.WriteString(body[i : end+1])
321
+ i = end
322
+ continue
323
+ }
324
+ if current == '/' && next == '/' {
325
+ out.WriteString(" ")
326
+ i += 2
327
+ for ; i < len(body) && body[i] != '\n' && body[i] != '\r'; i++ {
328
+ out.WriteByte(' ')
329
+ }
330
+ if i < len(body) {
331
+ out.WriteByte(body[i])
332
+ }
333
+ continue
334
+ }
335
+ if current == '/' && next == '*' {
336
+ out.WriteString(" ")
337
+ i += 2
338
+ for ; i < len(body); i++ {
339
+ if body[i] == '*' && i+1 < len(body) && body[i+1] == '/' {
340
+ out.WriteString(" ")
341
+ i++
342
+ break
343
+ }
344
+ if body[i] == '\n' || body[i] == '\r' {
345
+ out.WriteByte(body[i])
346
+ } else {
347
+ out.WriteByte(' ')
348
+ }
349
+ }
350
+ continue
351
+ }
352
+ out.WriteByte(current)
353
+ }
354
+ return out.String()
292
355
  }
293
356
 
294
357
  func parseField(field string) (string, string, bool, bool) {