Hittest not working rotation Scale

getHitTestResultsForTransientInput() not in threejs how can i get it.
it mean hittest automatically providing rotation and scale object. then requestHitTestSource it only support in three js .and tried with Transform gesture also it show the error…

caught (in promise) TypeError: array[i].call is not a function
    at TransformControls.dispatchEvent (three.module.js:280:16)
    at TransformControls.set (TransformControls.js:88:13)
    at TransformControls.attach (TransformControls.js:571:15)
    at Group.<anonymous> (main.js:98:21)
    at Group.dispatchEvent (three.module.js:280:16)
    at WebXRController.dispatchEvent (three.module.js:23188:20)
    at onSessionEvent (three.module.js:23523:16)
    at XRSession$1.dispatchEvent (<anonymous>:45:23)
    at XRSession$1.<computed>.dispatchInputSourceEvent (<anonymous>:1364:28)
    at XRSession$1.<computed>.onSelectEnd (<anonymous>:1342:39)

Code:

  const controller= renderer.xr.getController(0);
        scene.add(controller);


     orbit = new OrbitControls( camera, renderer.domElement );
        orbit.update();
        orbit.addEventListener( 'change', renderer );

        control = new TransformControls( camera, renderer.domElement );
        control.addEventListener( 'change', renderer );
        

        control.addEventListener( 'dragging-changed', function ( event ) {

            orbit.enabled = ! event.value;

        } );

        controller.addEventListener('select', async(event)=>{
            console.log("event",event);

            console.log("Select \n",reticle.matrixWorld);
            console.log("Select \n",reticle.matrix);

            gltf.scene.position.setFromMatrixPosition(reticle.matrix);
            gltf.scene.scale.setFromMatrixScale(reticle.matrix);

            scene.add(gltf.scene);
            
            control.attach( gltf.scene );
            scene.add( control );
 
            control.setMode( 'scale' );
        });clickScale.addEventListener('click', function(event) {
            event.preventDefault();
            // controller.
            renderer.render(scene, camera);
            console.log("scale");
            control.setMode( 'scale' );
         
            
        });
        clickMove.addEventListener('click', function(event) {
            event.preventDefault();
            console.log("translate");
              control.setMode( 'translate' );
           
        });
        clickRotate.addEventListener('click', function(event) {
            event.preventDefault();
            console.log("rotare");
             control.setMode( 'rotate' );
        })




       renderer.xr.addEventListener("sessionstart", async()=>{
            console.log("session start \n");
            const session = renderer.xr.getSession();
            const viewerReferenceSpace = await session.requestReferenceSpace("viewer");
            const hitTestSource = await session.requestHitTestSource({space: viewerReferenceSpace});
           
                renderer.setAnimationLoop((timestamp,frame)=>{ 
                      if (!frame) return;
                      const hitTestResults = frame.getHitTestResults(hitTestSource);
           
                      if (hitTestResults.length>0) {
                        const hit = hitTestResults[0];
                        const referenceSpace = renderer.xr.getReferenceSpace(); // ARButton requested 'local' reference space
                        const hitPose = hit.getPose(referenceSpace);
                        
                  
                        reticle.visible = true;
                        // reticle
                      
                      
                        reticle.matrix.fromArray(hitPose.transform.matrix);
                      } else {
                        reticle.visible = false;
                      }
                    //   orbit.update();
                      renderer.render(scene, camera);
                });
        });