_get_message_parser(type) {
        switch (type) {
            case 'String':
                // Converts ArrayBuffer -> String
                return (array_buffer) => array_buffer_to_string(array_buffer);
            case 'Buffer':
                // Converts & Copies ArrayBuffer -> Buffer
                // We concat (copy) because ArrayBuffer from uWS is deallocated after initial synchronous execution
                return (array_buffer) => Buffer.concat([Buffer.from(array_buffer)]);
            case 'ArrayBuffer':
                // Simply return the ArrayBuffer from uWS handler
                return (array_buffer) => array_buffer;
            default:
                // Throw error on invalid type
                throw new Error(
                    "Server.ws(options) -> options.message_type must be one of ['String', 'Buffer', 'ArrayBuffer']"
                );
        }
    }
Returns a parser that automatically converts uWS ArrayBuffer to specified data type.
@private
@returns {Function}