@@ -74,6 +74,80 @@ it('minifyContractRouter', () => {
7474 expect ( ( minified as any ) . nested . pong ) . toEqual ( minifiedPong )
7575} )
7676
77+ describe ( 'enhanceContractRouter with primitive values' , ( ) => {
78+ const options = { errorMap : { } , prefix : '/test' , tags : [ 'test' ] } as const
79+
80+ it ( 'handles string values without infinite recursion' , ( ) => {
81+ const routerWithString = { ping, SOME_CONSTANT : 'hello' } as any
82+ const enhanced = enhanceContractRouter ( routerWithString , options )
83+ expect ( isContractProcedure ( enhanced . ping ) ) . toBe ( true )
84+ } )
85+
86+ it ( 'handles single-character string without infinite recursion' , ( ) => {
87+ const routerWithChar = { ping, FLAG : 'x' } as any
88+ const enhanced = enhanceContractRouter ( routerWithChar , options )
89+ expect ( isContractProcedure ( enhanced . ping ) ) . toBe ( true )
90+ } )
91+
92+ it ( 'handles number values without infinite recursion' , ( ) => {
93+ const routerWithNumber = { ping, VERSION : 42 } as any
94+ const enhanced = enhanceContractRouter ( routerWithNumber , options )
95+ expect ( isContractProcedure ( enhanced . ping ) ) . toBe ( true )
96+ } )
97+
98+ it ( 'handles boolean values without infinite recursion' , ( ) => {
99+ const routerWithBool = { ping, ENABLED : true } as any
100+ const enhanced = enhanceContractRouter ( routerWithBool , options )
101+ expect ( isContractProcedure ( enhanced . ping ) ) . toBe ( true )
102+ } )
103+
104+ it ( 'handles null and undefined values without infinite recursion' , ( ) => {
105+ const routerWithNullish = { ping, NIL : null , UNDEF : undefined } as any
106+ const enhanced = enhanceContractRouter ( routerWithNullish , options )
107+ expect ( isContractProcedure ( enhanced . ping ) ) . toBe ( true )
108+ } )
109+ } )
110+
111+ describe ( 'minifyContractRouter with primitive values' , ( ) => {
112+ it ( 'handles string values without infinite recursion' , ( ) => {
113+ const routerWithString = { ping, LABEL : 'hello' } as any
114+ const minified = minifyContractRouter ( routerWithString )
115+ expect ( isContractProcedure ( ( minified as any ) . ping ) ) . toBe ( true )
116+ } )
117+
118+ it ( 'handles single-character string without infinite recursion' , ( ) => {
119+ const routerWithChar = { ping, FLAG : 'x' } as any
120+ const minified = minifyContractRouter ( routerWithChar )
121+ expect ( isContractProcedure ( ( minified as any ) . ping ) ) . toBe ( true )
122+ } )
123+
124+ it ( 'handles number values without infinite recursion' , ( ) => {
125+ const routerWithNumber = { ping, VERSION : 42 } as any
126+ const minified = minifyContractRouter ( routerWithNumber )
127+ expect ( isContractProcedure ( ( minified as any ) . ping ) ) . toBe ( true )
128+ } )
129+ } )
130+
131+ describe ( 'populateContractRouterPaths with primitive values' , ( ) => {
132+ it ( 'handles string values without infinite recursion' , ( ) => {
133+ const routerWithString = { ping : oc . input ( inputSchema ) , LABEL : 'hello' } as any
134+ const populated = populateContractRouterPaths ( routerWithString )
135+ expect ( isContractProcedure ( populated . ping ) ) . toBe ( true )
136+ } )
137+
138+ it ( 'handles single-character string without infinite recursion' , ( ) => {
139+ const routerWithChar = { ping : oc . input ( inputSchema ) , FLAG : 'x' } as any
140+ const populated = populateContractRouterPaths ( routerWithChar )
141+ expect ( isContractProcedure ( populated . ping ) ) . toBe ( true )
142+ } )
143+
144+ it ( 'handles number values without infinite recursion' , ( ) => {
145+ const routerWithNumber = { ping : oc . input ( inputSchema ) , VERSION : 42 } as any
146+ const populated = populateContractRouterPaths ( routerWithNumber )
147+ expect ( isContractProcedure ( populated . ping ) ) . toBe ( true )
148+ } )
149+ } )
150+
77151it ( 'populateContractRouterPaths' , ( ) => {
78152 const contract = {
79153 ping : oc . input ( inputSchema ) ,
0 commit comments