@@ -25,51 +25,6 @@ const {
2525const { assertValidMessage } = require ( './message_validation.js' ) ;
2626const debug = require ( 'debug' ) ( 'rclnodejs:client' ) ;
2727
28- // Polyfill for AbortSignal.any() for Node.js <= 20.3.0
29- // AbortSignal.any() was added in Node.js 20.3.0
30- // See https://developer.mozilla.org/en-US/docs/Web/API/AbortSignal/any_static
31- if ( ! AbortSignal . any ) {
32- AbortSignal . any = function ( signals ) {
33- // Filter out null/undefined values and validate inputs
34- const validSignals = Array . isArray ( signals )
35- ? signals . filter ( ( signal ) => signal != null )
36- : [ ] ;
37-
38- // If no valid signals, return a never-aborting signal
39- if ( validSignals . length === 0 ) {
40- return new AbortController ( ) . signal ;
41- }
42-
43- const controller = new AbortController ( ) ;
44- const listeners = [ ] ;
45-
46- // Cleanup function to remove all event listeners
47- const cleanup = ( ) => {
48- listeners . forEach ( ( { signal, listener } ) => {
49- signal . removeEventListener ( 'abort' , listener ) ;
50- } ) ;
51- } ;
52-
53- for ( const signal of validSignals ) {
54- if ( signal . aborted ) {
55- cleanup ( ) ;
56- controller . abort ( signal . reason ) ;
57- return controller . signal ;
58- }
59-
60- const listener = ( ) => {
61- cleanup ( ) ;
62- controller . abort ( signal . reason ) ;
63- } ;
64-
65- signal . addEventListener ( 'abort' , listener ) ;
66- listeners . push ( { signal, listener } ) ;
67- }
68-
69- return controller . signal ;
70- } ;
71- }
72-
7328/**
7429 * @class - Class representing a Client in ROS
7530 * @hideconstructor
0 commit comments