263 lines
		
	
	
		
			9.8 KiB
		
	
	
	
		
			Haxe
		
	
	
	
	
	
		
		
			
		
	
	
			263 lines
		
	
	
		
			9.8 KiB
		
	
	
	
		
			Haxe
		
	
	
	
	
	
| 
								 | 
							
								/*
							 | 
						|||
| 
								 | 
							
								 * Copyright (C)2014-2020 Haxe Foundation
							 | 
						|||
| 
								 | 
							
								 *
							 | 
						|||
| 
								 | 
							
								 * Permission is hereby granted, free of charge, to any person obtaining a
							 | 
						|||
| 
								 | 
							
								 * copy of this software and associated documentation files (the "Software"),
							 | 
						|||
| 
								 | 
							
								 * to deal in the Software without restriction, including without limitation
							 | 
						|||
| 
								 | 
							
								 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
							 | 
						|||
| 
								 | 
							
								 * and/or sell copies of the Software, and to permit persons to whom the
							 | 
						|||
| 
								 | 
							
								 * Software is furnished to do so, subject to the following conditions:
							 | 
						|||
| 
								 | 
							
								 *
							 | 
						|||
| 
								 | 
							
								 * The above copyright notice and this permission notice shall be included in
							 | 
						|||
| 
								 | 
							
								 * all copies or substantial portions of the Software.
							 | 
						|||
| 
								 | 
							
								 *
							 | 
						|||
| 
								 | 
							
								 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
							 | 
						|||
| 
								 | 
							
								 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
							 | 
						|||
| 
								 | 
							
								 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
							 | 
						|||
| 
								 | 
							
								 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
							 | 
						|||
| 
								 | 
							
								 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
							 | 
						|||
| 
								 | 
							
								 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
							 | 
						|||
| 
								 | 
							
								 * DEALINGS IN THE SOFTWARE.
							 | 
						|||
| 
								 | 
							
								 */
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								package js.node.console;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								import haxe.extern.EitherType;
							 | 
						|||
| 
								 | 
							
								import haxe.extern.Rest;
							 | 
						|||
| 
								 | 
							
								import js.node.stream.Writable;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								/**
							 | 
						|||
| 
								 | 
							
									The `Console` class can be used to create a simple logger with configurable output streams
							 | 
						|||
| 
								 | 
							
									and can be accessed using either `require('console').Console` or `console.Console` (or their destructured counterparts):
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
									@see https://nodejs.org/api/console.html#console_class_console
							 | 
						|||
| 
								 | 
							
								**/
							 | 
						|||
| 
								 | 
							
								@:jsRequire("console", "Console")
							 | 
						|||
| 
								 | 
							
								extern class Console {
							 | 
						|||
| 
								 | 
							
									/**
							 | 
						|||
| 
								 | 
							
										Creates a new `Console` with one or two writable stream instances. `stdout` is a writable stream to print log or info output.
							 | 
						|||
| 
								 | 
							
										`stderr` is used for warning or error output. If `stderr` is not provided, `stdout` is used for stderr.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
										@see https://nodejs.org/api/console.html#console_new_console_stdout_stderr_ignoreerrors
							 | 
						|||
| 
								 | 
							
									**/
							 | 
						|||
| 
								 | 
							
									@:overload(function(options:ConsoleOptions):Void {})
							 | 
						|||
| 
								 | 
							
									function new(stdout:IWritable, ?stderr:IWritable, ?ignoreerrors:Bool):Void;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
									/**
							 | 
						|||
| 
								 | 
							
										A simple assertion test that verifies whether `value` is truthy. If it is not, `Assertion` failed is logged.
							 | 
						|||
| 
								 | 
							
										If provided, the error `message` is formatted using `util.format()` by passing along all message arguments. The output is used as the error message.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
										@see https://nodejs.org/api/console.html#console_console_assert_value_message
							 | 
						|||
| 
								 | 
							
									**/
							 | 
						|||
| 
								 | 
							
									function assert(value:Dynamic, message:Rest<Dynamic>):Void;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
									/**
							 | 
						|||
| 
								 | 
							
										When `stdout` is a TTY, calling `console.clear()` will attempt to clear the TTY. When `stdout` is not a TTY, this method does nothing.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
										@see https://nodejs.org/api/console.html#console_console_clear
							 | 
						|||
| 
								 | 
							
									**/
							 | 
						|||
| 
								 | 
							
									function clear():Void;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
									/**
							 | 
						|||
| 
								 | 
							
										Maintains an internal counter specific to `label` and outputs to `stdout` the number of times `console.count()` has been called with the given `label`.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
										@see https://nodejs.org/api/console.html#console_console_count_label
							 | 
						|||
| 
								 | 
							
									**/
							 | 
						|||
| 
								 | 
							
									function count(?label:String):Void;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
									/**
							 | 
						|||
| 
								 | 
							
										Resets the internal counter specific to `label`.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
										@see https://nodejs.org/api/console.html#console_console_countreset_label
							 | 
						|||
| 
								 | 
							
									**/
							 | 
						|||
| 
								 | 
							
									function countReset(?label:String):Void;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
									/**
							 | 
						|||
| 
								 | 
							
										The `console.debug()` function is an alias for `console.log()`.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
										@see https://nodejs.org/api/console.html#console_console_debug_data_args
							 | 
						|||
| 
								 | 
							
									**/
							 | 
						|||
| 
								 | 
							
									function debug(data:Dynamic, args:Rest<Dynamic>):Void;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
									/**
							 | 
						|||
| 
								 | 
							
										Uses util.inspect() on `obj` and prints the resulting string to `stdout`. This function bypasses any custom `inspect()` function defined on `obj`.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
										@see https://nodejs.org/api/console.html#console_console_dir_obj_options
							 | 
						|||
| 
								 | 
							
									**/
							 | 
						|||
| 
								 | 
							
									function dir(obj:Dynamic, ?options:Util.InspectOptionsBase):Void;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
									/**
							 | 
						|||
| 
								 | 
							
										This method calls `console.log()` passing it the arguments received. This method does not produce any XML formatting.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
										@see https://nodejs.org/api/console.html#console_console_dirxml_data
							 | 
						|||
| 
								 | 
							
									**/
							 | 
						|||
| 
								 | 
							
									function dirxml(data:Rest<Dynamic>):Void;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
									/**
							 | 
						|||
| 
								 | 
							
										Prints to `stderr` with newline. Multiple arguments can be passed,
							 | 
						|||
| 
								 | 
							
										with the first used as the primary message and all additional used as substitution values similar to printf(3)
							 | 
						|||
| 
								 | 
							
										(the arguments are all passed to util.format()).
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
										@see https://nodejs.org/api/console.html#console_console_error_data_args
							 | 
						|||
| 
								 | 
							
									**/
							 | 
						|||
| 
								 | 
							
									function error(data:Dynamic, args:Rest<Dynamic>):Void;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
									/**
							 | 
						|||
| 
								 | 
							
										If one or more `label`s are provided, those are printed first without the additional indentation.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
										@see https://nodejs.org/api/console.html#console_console_group_label
							 | 
						|||
| 
								 | 
							
									**/
							 | 
						|||
| 
								 | 
							
									function group(label:Rest<Dynamic>):Void;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
									/**
							 | 
						|||
| 
								 | 
							
										An alias for console.group().
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
										@see https://nodejs.org/api/console.html#console_console_groupcollapsed
							 | 
						|||
| 
								 | 
							
									**/
							 | 
						|||
| 
								 | 
							
									function groupCollapsed():Void;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
									/**
							 | 
						|||
| 
								 | 
							
										Decreases indentation of subsequent lines by two spaces.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
										@see https://nodejs.org/api/console.html#console_console_groupend
							 | 
						|||
| 
								 | 
							
									**/
							 | 
						|||
| 
								 | 
							
									function groupEnd():Void;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
									/**
							 | 
						|||
| 
								 | 
							
										The `console.info()` function is an alias for console.log().
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
										@see https://nodejs.org/api/console.html#console_console_info_data_args
							 | 
						|||
| 
								 | 
							
									**/
							 | 
						|||
| 
								 | 
							
									function info(data:Dynamic, args:Rest<Dynamic>):Void;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
									/**
							 | 
						|||
| 
								 | 
							
										Prints to `stdout` with newline. Multiple arguments can be passed,
							 | 
						|||
| 
								 | 
							
										with the first used as the primary message and all additional used as substitution values similar to printf(3)
							 | 
						|||
| 
								 | 
							
										(the arguments are all passed to util.format()).
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
										@see https://nodejs.org/api/console.html#console_console_log_data_args
							 | 
						|||
| 
								 | 
							
									**/
							 | 
						|||
| 
								 | 
							
									function log(data:Dynamic, args:Rest<Dynamic>):Void;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
									/**
							 | 
						|||
| 
								 | 
							
										Try to construct a table with the columns of the properties of `tabularData` (or use `properties`)
							 | 
						|||
| 
								 | 
							
										and rows of `tabularData` and log it. Falls back to just logging the argument if it can’t be parsed as tabular.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
										@see https://nodejs.org/api/console.html#console_console_table_tabulardata_properties
							 | 
						|||
| 
								 | 
							
									**/
							 | 
						|||
| 
								 | 
							
									function table(tabularData:Dynamic, ?properties:Array<String>):Void;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
									/**
							 | 
						|||
| 
								 | 
							
										Starts a timer that can be used to compute the duration of an operation. Timers are identified by a unique `label`.
							 | 
						|||
| 
								 | 
							
										Use the same `label` when calling console.timeEnd() to stop the timer and output the elapsed time in milliseconds to `stdout`.
							 | 
						|||
| 
								 | 
							
										Timer durations are accurate to the sub-millisecond.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
										@see https://nodejs.org/api/console.html#console_console_time_label
							 | 
						|||
| 
								 | 
							
									**/
							 | 
						|||
| 
								 | 
							
									function time(?label:String):Void;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
									/**
							 | 
						|||
| 
								 | 
							
										Stops a timer that was previously started by calling console.time() and prints the result to `stdout`:
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
										@see https://nodejs.org/api/console.html#console_console_timeend_label
							 | 
						|||
| 
								 | 
							
									**/
							 | 
						|||
| 
								 | 
							
									function timeEnd(?label:String):Void;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
									/**
							 | 
						|||
| 
								 | 
							
										For a timer that was previously started by calling console.time(), prints the elapsed time and other `data` arguments to `stdout`:
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
										@see https://nodejs.org/api/console.html#console_console_timelog_label_data
							 | 
						|||
| 
								 | 
							
									**/
							 | 
						|||
| 
								 | 
							
									function timeLog(?label:String, data:Rest<Dynamic>):Void;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
									/**
							 | 
						|||
| 
								 | 
							
										Prints to `stderr` the string `'Trace: '`, followed by the util.format() formatted message and stack trace to the current position in the code.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
										@see https://nodejs.org/api/console.html#console_console_trace_message_args
							 | 
						|||
| 
								 | 
							
									**/
							 | 
						|||
| 
								 | 
							
									function trace(message:Dynamic, args:Rest<Dynamic>):Void;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
									/**
							 | 
						|||
| 
								 | 
							
										The `console.warn()` function is an alias for console.error().
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
										@see https://nodejs.org/api/console.html#console_console_warn_data_args
							 | 
						|||
| 
								 | 
							
									**/
							 | 
						|||
| 
								 | 
							
									function warn(data:Dynamic, args:Rest<Dynamic>):Void;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
									/**
							 | 
						|||
| 
								 | 
							
										This method does not display anything unless used in the inspector. The `console.markTimeline()` method is the deprecated form of console.timeStamp().
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
										@see https://nodejs.org/api/console.html#console_console_marktimeline_label
							 | 
						|||
| 
								 | 
							
									**/
							 | 
						|||
| 
								 | 
							
									function markTimeline(?label:String):Void;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
									/**
							 | 
						|||
| 
								 | 
							
										This method does not display anything unless used in the inspector.
							 | 
						|||
| 
								 | 
							
										The `console.profile()` method starts a JavaScript CPU profile with an optional label until console.profileEnd() is called.
							 | 
						|||
| 
								 | 
							
										The profile is then added to the Profile panel of the inspector.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
										@see https://nodejs.org/api/console.html#console_console_profile_label
							 | 
						|||
| 
								 | 
							
									**/
							 | 
						|||
| 
								 | 
							
									function profile(?label:String):Void;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
									/**
							 | 
						|||
| 
								 | 
							
										This method does not display anything unless used in the inspector.
							 | 
						|||
| 
								 | 
							
										Stops the current JavaScript CPU profiling session if one has been started and prints the report to the Profiles panel of the inspector.
							 | 
						|||
| 
								 | 
							
										See console.profile() for an example.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
										@see https://nodejs.org/api/console.html#console_console_profileend_label
							 | 
						|||
| 
								 | 
							
									**/
							 | 
						|||
| 
								 | 
							
									function profileEnd(?label:String):Void;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
									/**
							 | 
						|||
| 
								 | 
							
										This method does not display anything unless used in the inspector.
							 | 
						|||
| 
								 | 
							
										The `console.timeStamp()` method adds an event with the label `'label'` to the Timeline panel of the inspector.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
										@see https://nodejs.org/api/console.html#console_console_timestamp_label
							 | 
						|||
| 
								 | 
							
									**/
							 | 
						|||
| 
								 | 
							
									function timeStamp(?label:String):Void;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
									/**
							 | 
						|||
| 
								 | 
							
										This method does not display anything unless used in the inspector. The `console.timeline()` method is the deprecated form of console.time().
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
										@see https://nodejs.org/api/console.html#console_console_timeline_label
							 | 
						|||
| 
								 | 
							
									**/
							 | 
						|||
| 
								 | 
							
									function timeline(?label:String):Void;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
									/**
							 | 
						|||
| 
								 | 
							
										This method does not display anything unless used in the inspector. The `console.timelineEnd()` method is the deprecated form of console.timeEnd().
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
										@see https://nodejs.org/api/console.html#console_console_timelineend_label
							 | 
						|||
| 
								 | 
							
									**/
							 | 
						|||
| 
								 | 
							
									function timelineEnd(?label:String):Void;
							 | 
						|||
| 
								 | 
							
								}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								typedef ConsoleOptions = {
							 | 
						|||
| 
								 | 
							
									/**
							 | 
						|||
| 
								 | 
							
										`stdout` is a writable stream to print log or info output.
							 | 
						|||
| 
								 | 
							
									**/
							 | 
						|||
| 
								 | 
							
									var stdout:IWritable;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
									/**
							 | 
						|||
| 
								 | 
							
										`stderr` is used for warning or error output. If stderr is not provided, stdout is used for stderr.
							 | 
						|||
| 
								 | 
							
									**/
							 | 
						|||
| 
								 | 
							
									@optional var stderr:IWritable;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
									/**
							 | 
						|||
| 
								 | 
							
										Ignore errors when writing to the underlying streams. Default: `true`.
							 | 
						|||
| 
								 | 
							
									**/
							 | 
						|||
| 
								 | 
							
									@optional var ignoreErrors:Bool;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
									/**
							 | 
						|||
| 
								 | 
							
										Set color support for this `Console` instance. Setting to `true` enables coloring while inspecting values,
							 | 
						|||
| 
								 | 
							
										setting to `'auto'` will make color support depend on the value of the `isTTY` property and the value returned by `getColorDepth()` on the respective stream.
							 | 
						|||
| 
								 | 
							
										 This option can not be used, if `inspectOptions.colors` is set as well. Default: `'auto'`.
							 | 
						|||
| 
								 | 
							
									**/
							 | 
						|||
| 
								 | 
							
									@optional var colorMode:EitherType<Bool, String>;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
									/**
							 | 
						|||
| 
								 | 
							
										Specifies options that are passed along to util.inspect().
							 | 
						|||
| 
								 | 
							
									**/
							 | 
						|||
| 
								 | 
							
									@optional var inspectOptions:Util.InspectOptions;
							 | 
						|||
| 
								 | 
							
								}
							 |