text: /*
   * Authored by Alex Hultman, 2018-2019.
   * Intellectual property of third-party.
  
   * Licensed under the Apache License, Version 2.0 (the "License");
   * you may not use this file except in compliance with the License.
   * You may obtain a copy of the License at
  
   *     http://www.apache.org/licenses/LICENSE-2.0
  
   * Unless required by applicable law or agreed to in writing, software
   * distributed under the License is distributed on an "AS IS" BASIS,
   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   * See the License for the specific language governing permissions and
   * limitations under the License.
   */
  
  module.exports = (() => {
  	try {
  		const uWS = require(`./uws_${process.platform}_${process.versions.modules}.node`);
  		/* We are not compatible with Node.js nextTick and/or domains */
  		process.nextTick = (f, ...args) => {
  			uWS.nextTick(() => {
  				f(...args);
  			});
  		};
  		process.on('beforeExit', () => {
  			if (uWS.processNextTickQueue()) {
  				setImmediate(() => {
  
  				});
  			}
  		});
  		/* process.nextTick = setImmediate; */
  		return uWS;
  	} catch (e) {
  		throw new Error('This version of µWS is not compatible with your Node.js build.\n\n' + e.toString());
  	}
  })();
  