mirror of
https://github.com/TonyJiangWJ/Auto.js.git
synced 2026-06-21 21:01:43 +08:00
1222 lines
68 KiB
HTML
1222 lines
68 KiB
HTML
<!doctype html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<title>Util | Auto.js 3.0.0 文档</title>
|
|
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Lato:400,700,400italic">
|
|
<link rel="stylesheet" href="assets/style.css">
|
|
<link rel="stylesheet" href="assets/sh.css">
|
|
<link rel="canonical" href="https://nodejs.org/api/util.html">
|
|
</head>
|
|
<body class="alt apidoc" id="api-section-util">
|
|
<div id="content" class="clearfix">
|
|
<div id="column2" class="interior">
|
|
<div id="intro" class="interior">
|
|
<a href="/" title="返回首页">
|
|
Auto.js
|
|
</a>
|
|
</div>
|
|
<ul>
|
|
<li><a class="nav-documentation" href="documentation.html">关于本文档</a></li>
|
|
<li><a class="nav-http-www-w3school-com-cn-js-pro_js_syntax-asp" href="http://www.w3school.com.cn/js/pro_js_syntax.asp">W3CSchool - ECMAScript教程</a></li>
|
|
<li><a class="nav-http-es6-ruanyifeng-com-README" href="http://es6.ruanyifeng.com/#README">阮一峰 - ECMAScript 6教程</a></li>
|
|
</ul>
|
|
<div class="line"></div>
|
|
|
|
<ul>
|
|
<li><a class="nav-overview" href="overview.html">Overview - 综述</a></li>
|
|
<li><a class="nav-qa" href="qa.html">Q&A - 常见问题</a></li>
|
|
<li><a class="nav-app" href="app.html">App - 应用</a></li>
|
|
<li><a class="nav-console" href="console.html">Console - 控制台</a></li>
|
|
<li><a class="nav-coordinates-based-automation" href="coordinates-based-automation.html">CoordinatesBasedAutomation - 基于坐标的操作</a></li>
|
|
<li><a class="nav-device" href="device.html">Device - 设备</a></li>
|
|
<li><a class="nav-dialogs" href="dialogs.html">Dialogs - 对话框</a></li>
|
|
<li><a class="nav-engines" href="engines.html">Engines - 脚本引擎</a></li>
|
|
<li><a class="nav-events" href="events.html">Events - 事件与监听</a></li>
|
|
<li><a class="nav-floaty" href="floaty.html">Floaty - 悬浮窗</a></li>
|
|
<li><a class="nav-files" href="files.html">Files - 文件系统</a></li>
|
|
<li><a class="nav-globals" href="globals.html">Globals - 一般全局函数</a></li>
|
|
<li><a class="nav-http" href="http.html">Http - HTTP</a></li>
|
|
<li><a class="nav-images" href="images.html">Images - 图片与图色处理</a></li>
|
|
<li><a class="nav-keys" href="keys.html">Keys - 按键模拟</a></li>
|
|
<li><a class="nav-media" href="media.html">Media - 多媒体</a></li>
|
|
<li><a class="nav-modules" href="modules.html">Modules - 模块</a></li>
|
|
<li><a class="nav-widgets-based-automation" href="widgets-based-automation.html">WidgetsBasedAutomation - 基于控件的操作</a></li>
|
|
<li><a class="nav-sensors" href="sensors.html">Sensors - 传感器</a></li>
|
|
<li><a class="nav-shell" href="shell.html">Shell - Shell命令</a></li>
|
|
<li><a class="nav-storages" href="storages.html">Storages - 本地存储</a></li>
|
|
<li><a class="nav-threads" href="threads.html">Threads - 多线程</a></li>
|
|
<li><a class="nav-timers" href="timers.html">Timers - 定时器</a></li>
|
|
<li><a class="nav-ui" href="ui.html">UI - 用户界面</a></li>
|
|
<li><a class="nav-https-developer-mozilla-org-zh-CN-docs-Mozilla-Projects-Rhino-Scripting_Java" href="https://developer.mozilla.org/zh-CN/docs/Mozilla/Projects/Rhino/Scripting_Java">Work with Java - 调用Java API</a></li>
|
|
</ul>
|
|
<div class="line"></div>
|
|
|
|
<ul>
|
|
<li><a class="nav-https-github-com-hyb1996-NoRootScriptDroid" href="https://github.com/hyb1996/NoRootScriptDroid">GitHub项目 & Issue提交</a></li>
|
|
<li><a class="nav-http-autojs-org" href="http://autojs.org">Auto.js交流社区</a></li>
|
|
</ul>
|
|
|
|
</div>
|
|
|
|
<div id="column1" data-id="util" class="interior">
|
|
<header>
|
|
<h1>Auto.js 3.0.0 文档</h1>
|
|
<div id="gtoc">
|
|
<p>
|
|
<a href="index.html" name="toc">索引</a> |
|
|
<a href="all.html">查看全部</a>
|
|
</p>
|
|
</div>
|
|
<hr>
|
|
</header>
|
|
|
|
<div id="toc">
|
|
<h2>目录</h2>
|
|
<ul>
|
|
<li><span class="stability_2"><a href="#util_util">Util</a></span><ul>
|
|
<li><span class="stability_undefined"><a href="#util_util_callbackify_original">util.callbackify(original)</a></span></li>
|
|
<li><span class="stability_undefined"><a href="#util_util_debuglog_section">util.debuglog(section)</a></span></li>
|
|
<li><span class="stability_undefined"><a href="#util_util_deprecate_function_string">util.deprecate(function, string)</a></span></li>
|
|
<li><span class="stability_undefined"><a href="#util_util_format_format_args">util.format(format[, ...args])</a></span></li>
|
|
<li><span class="stability_undefined"><a href="#util_util_inherits_constructor_superconstructor">util.inherits(constructor, superConstructor)</a></span></li>
|
|
<li><span class="stability_undefined"><a href="#util_util_inspect_object_options">util.inspect(object[, options])</a></span><ul>
|
|
<li><span class="stability_undefined"><a href="#util_customizing_util_inspect_colors">Customizing <code>util.inspect</code> colors</a></span></li>
|
|
<li><span class="stability_undefined"><a href="#util_custom_inspection_functions_on_objects">Custom inspection functions on Objects</a></span></li>
|
|
<li><span class="stability_undefined"><a href="#util_util_inspect_custom">util.inspect.custom</a></span></li>
|
|
<li><span class="stability_undefined"><a href="#util_util_inspect_defaultoptions">util.inspect.defaultOptions</a></span></li>
|
|
</ul>
|
|
</li>
|
|
<li><span class="stability_undefined"><a href="#util_util_promisify_original">util.promisify(original)</a></span><ul>
|
|
<li><span class="stability_undefined"><a href="#util_custom_promisified_functions">Custom promisified functions</a></span></li>
|
|
<li><span class="stability_undefined"><a href="#util_util_promisify_custom">util.promisify.custom</a></span></li>
|
|
</ul>
|
|
</li>
|
|
<li><span class="stability_1"><a href="#util_class_util_textdecoder">Class: util.TextDecoder</a></span><ul>
|
|
<li><span class="stability_undefined"><a href="#util_whatwg_supported_encodings">WHATWG Supported Encodings</a></span><ul>
|
|
<li><span class="stability_undefined"><a href="#util_encodings_supported_without_icu">Encodings Supported Without ICU</a></span></li>
|
|
<li><span class="stability_undefined"><a href="#util_encodings_supported_by_default_with_icu">Encodings Supported by Default (With ICU)</a></span></li>
|
|
<li><span class="stability_undefined"><a href="#util_encodings_requiring_full_icu_data">Encodings Requiring Full ICU Data</a></span></li>
|
|
</ul>
|
|
</li>
|
|
<li><span class="stability_undefined"><a href="#util_new_textdecoder_encoding_options">new TextDecoder([encoding[, options]])</a></span></li>
|
|
<li><span class="stability_undefined"><a href="#util_textdecoder_decode_input_options">textDecoder.decode([input[, options]])</a></span></li>
|
|
<li><span class="stability_undefined"><a href="#util_textdecoder_encoding">textDecoder.encoding</a></span></li>
|
|
<li><span class="stability_undefined"><a href="#util_textdecoder_fatal">textDecoder.fatal</a></span></li>
|
|
<li><span class="stability_undefined"><a href="#util_textdecoder_ignorebom">textDecoder.ignoreBOM</a></span></li>
|
|
</ul>
|
|
</li>
|
|
<li><span class="stability_1"><a href="#util_class_util_textencoder">Class: util.TextEncoder</a></span><ul>
|
|
<li><span class="stability_undefined"><a href="#util_textencoder_encode_input">textEncoder.encode([input])</a></span></li>
|
|
<li><span class="stability_undefined"><a href="#util_textdecoder_encoding_1">textDecoder.encoding</a></span></li>
|
|
</ul>
|
|
</li>
|
|
<li><span class="stability_undefined"><a href="#util_deprecated_apis">Deprecated APIs</a></span><ul>
|
|
<li><span class="stability_0"><a href="#util_util_extend_target_source">util._extend(target, source)</a></span></li>
|
|
<li><span class="stability_0"><a href="#util_util_debug_string">util.debug(string)</a></span></li>
|
|
<li><span class="stability_0"><a href="#util_util_error_strings">util.error([...strings])</a></span></li>
|
|
<li><span class="stability_0"><a href="#util_util_isarray_object">util.isArray(object)</a></span></li>
|
|
<li><span class="stability_0"><a href="#util_util_isboolean_object">util.isBoolean(object)</a></span></li>
|
|
<li><span class="stability_0"><a href="#util_util_isbuffer_object">util.isBuffer(object)</a></span></li>
|
|
<li><span class="stability_0"><a href="#util_util_isdate_object">util.isDate(object)</a></span></li>
|
|
<li><span class="stability_0"><a href="#util_util_iserror_object">util.isError(object)</a></span></li>
|
|
<li><span class="stability_0"><a href="#util_util_isfunction_object">util.isFunction(object)</a></span></li>
|
|
<li><span class="stability_0"><a href="#util_util_isnull_object">util.isNull(object)</a></span></li>
|
|
<li><span class="stability_0"><a href="#util_util_isnullorundefined_object">util.isNullOrUndefined(object)</a></span></li>
|
|
<li><span class="stability_0"><a href="#util_util_isnumber_object">util.isNumber(object)</a></span></li>
|
|
<li><span class="stability_0"><a href="#util_util_isobject_object">util.isObject(object)</a></span></li>
|
|
<li><span class="stability_0"><a href="#util_util_isprimitive_object">util.isPrimitive(object)</a></span></li>
|
|
<li><span class="stability_0"><a href="#util_util_isregexp_object">util.isRegExp(object)</a></span></li>
|
|
<li><span class="stability_0"><a href="#util_util_isstring_object">util.isString(object)</a></span></li>
|
|
<li><span class="stability_0"><a href="#util_util_issymbol_object">util.isSymbol(object)</a></span></li>
|
|
<li><span class="stability_0"><a href="#util_util_isundefined_object">util.isUndefined(object)</a></span></li>
|
|
<li><span class="stability_0"><a href="#util_util_log_string">util.log(string)</a></span></li>
|
|
<li><span class="stability_0"><a href="#util_util_print_strings">util.print([...strings])</a></span></li>
|
|
<li><span class="stability_0"><a href="#util_util_puts_strings">util.puts([...strings])</a></span></li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
|
|
</div>
|
|
|
|
<div id="apicontent">
|
|
<h1>Util<span><a class="mark" href="#util_util" id="util_util">#</a></span></h1>
|
|
<div class="api_stability api_stability_2"><a href="documentation.html#documentation_stability_index">Stability: 2</a> - Stable</div><p>The <code>util</code> module is primarily designed to support the needs of Node.js' own
|
|
internal APIs. However, many of the utilities are useful for application and
|
|
module developers as well. It can be accessed using:</p>
|
|
<pre><code class="lang-js">const util = require('util');
|
|
</code></pre>
|
|
<h2>util.callbackify(original)<span><a class="mark" href="#util_util_callbackify_original" id="util_util_callbackify_original">#</a></span></h2>
|
|
<div class="api_metadata">
|
|
<span>Added in: v8.2.0</span>
|
|
</div><ul>
|
|
<li><code>original</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function" class="type"><Function></a> An <code>async</code> function</li>
|
|
<li>Returns: <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function" class="type"><Function></a> a callback style function</li>
|
|
</ul>
|
|
<p>Takes an <code>async</code> function (or a function that returns a Promise) and returns a
|
|
function following the Node.js error first callback style. In the callback, the
|
|
first argument will be the rejection reason (or <code>null</code> if the Promise resolved),
|
|
and the second argument will be the resolved value.</p>
|
|
<p>For example:</p>
|
|
<pre><code class="lang-js">const util = require('util');
|
|
|
|
async function fn() {
|
|
return await Promise.resolve('hello world');
|
|
}
|
|
const callbackFunction = util.callbackify(fn);
|
|
|
|
callbackFunction((err, ret) => {
|
|
if (err) throw err;
|
|
console.log(ret);
|
|
});
|
|
</code></pre>
|
|
<p>Will print:</p>
|
|
<pre><code class="lang-txt">hello world
|
|
</code></pre>
|
|
<p><em>Note</em>:</p>
|
|
<ul>
|
|
<li><p>The callback is executed asynchronously, and will have a limited stack trace.
|
|
If the callback throws, the process will emit an <a href="process.html#process_event_uncaughtexception"><code>'uncaughtException'</code></a>
|
|
event, and if not handled will exit.</p>
|
|
</li>
|
|
<li><p>Since <code>null</code> has a special meaning as the first argument to a callback, if a
|
|
wrapped function rejects a <code>Promise</code> with a falsy value as a reason, the value
|
|
is wrapped in an <code>Error</code> with the original value stored in a field named
|
|
<code>reason</code>.</p>
|
|
<pre><code class="lang-js">function fn() {
|
|
return Promise.reject(null);
|
|
}
|
|
const callbackFunction = util.callbackify(fn);
|
|
|
|
callbackFunction((err, ret) => {
|
|
// When the Promise was rejected with `null` it is wrapped with an Error and
|
|
// the original value is stored in `reason`.
|
|
err && err.hasOwnProperty('reason') && err.reason === null; // true
|
|
});
|
|
</code></pre>
|
|
</li>
|
|
</ul>
|
|
<h2>util.debuglog(section)<span><a class="mark" href="#util_util_debuglog_section" id="util_util_debuglog_section">#</a></span></h2>
|
|
<div class="api_metadata">
|
|
<span>Added in: v0.11.3</span>
|
|
</div><ul>
|
|
<li><code>section</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#String_type" class="type"><string></a> A string identifying the portion of the application for
|
|
which the <code>debuglog</code> function is being created.</li>
|
|
<li>Returns: <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function" class="type"><Function></a> The logging function</li>
|
|
</ul>
|
|
<p>The <code>util.debuglog()</code> method is used to create a function that conditionally
|
|
writes debug messages to <code>stderr</code> based on the existence of the <code>NODE_DEBUG</code>
|
|
environment variable. If the <code>section</code> name appears within the value of that
|
|
environment variable, then the returned function operates similar to
|
|
<a href="console.html#console_console_error_data_args"><code>console.error()</code></a>. If not, then the returned function is a no-op.</p>
|
|
<p>For example:</p>
|
|
<pre><code class="lang-js">const util = require('util');
|
|
const debuglog = util.debuglog('foo');
|
|
|
|
debuglog('hello from foo [%d]', 123);
|
|
</code></pre>
|
|
<p>If this program is run with <code>NODE_DEBUG=foo</code> in the environment, then
|
|
it will output something like:</p>
|
|
<pre><code class="lang-txt">FOO 3245: hello from foo [123]
|
|
</code></pre>
|
|
<p>where <code>3245</code> is the process id. If it is not run with that
|
|
environment variable set, then it will not print anything.</p>
|
|
<p>Multiple comma-separated <code>section</code> names may be specified in the <code>NODE_DEBUG</code>
|
|
environment variable. For example: <code>NODE_DEBUG=fs,net,tls</code>.</p>
|
|
<h2>util.deprecate(function, string)<span><a class="mark" href="#util_util_deprecate_function_string" id="util_util_deprecate_function_string">#</a></span></h2>
|
|
<div class="api_metadata">
|
|
<span>Added in: v0.8.0</span>
|
|
</div><p>The <code>util.deprecate()</code> method wraps the given <code>function</code> or class in such a way that
|
|
it is marked as deprecated.</p>
|
|
<!-- eslint-disable prefer-rest-params -->
|
|
<pre><code class="lang-js">const util = require('util');
|
|
|
|
exports.puts = util.deprecate(function() {
|
|
for (let i = 0, len = arguments.length; i < len; ++i) {
|
|
process.stdout.write(arguments[i] + '\n');
|
|
}
|
|
}, 'util.puts: Use console.log instead');
|
|
</code></pre>
|
|
<p>When called, <code>util.deprecate()</code> will return a function that will emit a
|
|
<code>DeprecationWarning</code> using the <code>process.on('warning')</code> event. By default,
|
|
this warning will be emitted and printed to <code>stderr</code> exactly once, the first
|
|
time it is called. After the warning is emitted, the wrapped <code>function</code>
|
|
is called.</p>
|
|
<p>If either the <code>--no-deprecation</code> or <code>--no-warnings</code> command line flags are
|
|
used, or if the <code>process.noDeprecation</code> property is set to <code>true</code> <em>prior</em> to
|
|
the first deprecation warning, the <code>util.deprecate()</code> method does nothing.</p>
|
|
<p>If the <code>--trace-deprecation</code> or <code>--trace-warnings</code> command line flags are set,
|
|
or the <code>process.traceDeprecation</code> property is set to <code>true</code>, a warning and a
|
|
stack trace are printed to <code>stderr</code> the first time the deprecated function is
|
|
called.</p>
|
|
<p>If the <code>--throw-deprecation</code> command line flag is set, or the
|
|
<code>process.throwDeprecation</code> property is set to <code>true</code>, then an exception will be
|
|
thrown when the deprecated function is called.</p>
|
|
<p>The <code>--throw-deprecation</code> command line flag and <code>process.throwDeprecation</code>
|
|
property take precedence over <code>--trace-deprecation</code> and
|
|
<code>process.traceDeprecation</code>.</p>
|
|
<h2>util.format(format[, ...args])<span><a class="mark" href="#util_util_format_format_args" id="util_util_format_format_args">#</a></span></h2>
|
|
<div class="api_metadata">
|
|
<details class="changelog"><summary>History</summary>
|
|
<table>
|
|
<tr><th>Version</th><th>Changes</th></tr>
|
|
<tr><td>v8.4.0</td>
|
|
<td><p>The <code>%o</code> and <code>%O</code> specifiers are supported now.</p>
|
|
</td></tr>
|
|
<tr><td>v0.5.3</td>
|
|
<td><p><span>Added in: v0.5.3</span></p>
|
|
</td></tr>
|
|
</table>
|
|
</details>
|
|
</div><ul>
|
|
<li><code>format</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#String_type" class="type"><string></a> A <code>printf</code>-like format string.</li>
|
|
</ul>
|
|
<p>The <code>util.format()</code> method returns a formatted string using the first argument
|
|
as a <code>printf</code>-like format.</p>
|
|
<p>The first argument is a string containing zero or more <em>placeholder</em> tokens.
|
|
Each placeholder token is replaced with the converted value from the
|
|
corresponding argument. Supported placeholders are:</p>
|
|
<ul>
|
|
<li><code>%s</code> - String.</li>
|
|
<li><code>%d</code> - Number (integer or floating point value).</li>
|
|
<li><code>%i</code> - Integer.</li>
|
|
<li><code>%f</code> - Floating point value.</li>
|
|
<li><code>%j</code> - JSON. Replaced with the string <code>'[Circular]'</code> if the argument
|
|
contains circular references.</li>
|
|
<li><code>%o</code> - Object. A string representation of an object
|
|
with generic JavaScript object formatting.
|
|
Similar to <code>util.inspect()</code> with options <code>{ showHidden: true, depth: 4, showProxy: true }</code>.
|
|
This will show the full object including non-enumerable symbols and properties.</li>
|
|
<li><code>%O</code> - Object. A string representation of an object
|
|
with generic JavaScript object formatting.
|
|
Similar to <code>util.inspect()</code> without options.
|
|
This will show the full object not including non-enumerable symbols and properties.</li>
|
|
<li><code>%%</code> - single percent sign (<code>'%'</code>). This does not consume an argument.</li>
|
|
</ul>
|
|
<p>If the placeholder does not have a corresponding argument, the placeholder is
|
|
not replaced.</p>
|
|
<pre><code class="lang-js">util.format('%s:%s', 'foo');
|
|
// Returns: 'foo:%s'
|
|
</code></pre>
|
|
<p>If there are more arguments passed to the <code>util.format()</code> method than the number
|
|
of placeholders, the extra arguments are coerced into strings then concatenated
|
|
to the returned string, each delimited by a space. Excessive arguments whose
|
|
<code>typeof</code> is <code>'object'</code> or <code>'symbol'</code> (except <code>null</code>) will be transformed by
|
|
<code>util.inspect()</code>.</p>
|
|
<pre><code class="lang-js">util.format('%s:%s', 'foo', 'bar', 'baz'); // 'foo:bar baz'
|
|
</code></pre>
|
|
<p>If the first argument is not a string then <code>util.format()</code> returns
|
|
a string that is the concatenation of all arguments separated by spaces.
|
|
Each argument is converted to a string using <code>util.inspect()</code>.</p>
|
|
<pre><code class="lang-js">util.format(1, 2, 3); // '1 2 3'
|
|
</code></pre>
|
|
<p>If only one argument is passed to <code>util.format()</code>, it is returned as it is
|
|
without any formatting.</p>
|
|
<pre><code class="lang-js">util.format('%% %s'); // '%% %s'
|
|
</code></pre>
|
|
<h2>util.inherits(constructor, superConstructor)<span><a class="mark" href="#util_util_inherits_constructor_superconstructor" id="util_util_inherits_constructor_superconstructor">#</a></span></h2>
|
|
<div class="api_metadata">
|
|
<details class="changelog"><summary>History</summary>
|
|
<table>
|
|
<tr><th>Version</th><th>Changes</th></tr>
|
|
<tr><td>v5.0.0</td>
|
|
<td><p>The <code>constructor</code> parameter can refer to an ES6 class now.</p>
|
|
</td></tr>
|
|
<tr><td>v0.3.0</td>
|
|
<td><p><span>Added in: v0.3.0</span></p>
|
|
</td></tr>
|
|
</table>
|
|
</details>
|
|
</div><p><em>Note</em>: Usage of <code>util.inherits()</code> is discouraged. Please use the ES6 <code>class</code>
|
|
and <code>extends</code> keywords to get language level inheritance support. Also note
|
|
that the two styles are <a href="https://github.com/nodejs/node/issues/4179">semantically incompatible</a>.</p>
|
|
<ul>
|
|
<li><code>constructor</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function" class="type"><Function></a></li>
|
|
<li><code>superConstructor</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function" class="type"><Function></a></li>
|
|
</ul>
|
|
<p>Inherit the prototype methods from one <a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object/constructor">constructor</a> into another. The
|
|
prototype of <code>constructor</code> will be set to a new object created from
|
|
<code>superConstructor</code>.</p>
|
|
<p>As an additional convenience, <code>superConstructor</code> will be accessible
|
|
through the <code>constructor.super_</code> property.</p>
|
|
<pre><code class="lang-js">const util = require('util');
|
|
const EventEmitter = require('events');
|
|
|
|
function MyStream() {
|
|
EventEmitter.call(this);
|
|
}
|
|
|
|
util.inherits(MyStream, EventEmitter);
|
|
|
|
MyStream.prototype.write = function(data) {
|
|
this.emit('data', data);
|
|
};
|
|
|
|
const stream = new MyStream();
|
|
|
|
console.log(stream instanceof EventEmitter); // true
|
|
console.log(MyStream.super_ === EventEmitter); // true
|
|
|
|
stream.on('data', (data) => {
|
|
console.log(`Received data: "${data}"`);
|
|
});
|
|
stream.write('It works!'); // Received data: "It works!"
|
|
</code></pre>
|
|
<p>ES6 example using <code>class</code> and <code>extends</code></p>
|
|
<pre><code class="lang-js">const EventEmitter = require('events');
|
|
|
|
class MyStream extends EventEmitter {
|
|
write(data) {
|
|
this.emit('data', data);
|
|
}
|
|
}
|
|
|
|
const stream = new MyStream();
|
|
|
|
stream.on('data', (data) => {
|
|
console.log(`Received data: "${data}"`);
|
|
});
|
|
stream.write('With ES6');
|
|
</code></pre>
|
|
<h2>util.inspect(object[, options])<span><a class="mark" href="#util_util_inspect_object_options" id="util_util_inspect_object_options">#</a></span></h2>
|
|
<div class="api_metadata">
|
|
<details class="changelog"><summary>History</summary>
|
|
<table>
|
|
<tr><th>Version</th><th>Changes</th></tr>
|
|
<tr><td>v6.6.0</td>
|
|
<td><p>Custom inspection functions can now return <code>this</code>.</p>
|
|
</td></tr>
|
|
<tr><td>v6.3.0</td>
|
|
<td><p>The <code>breakLength</code> option is supported now.</p>
|
|
</td></tr>
|
|
<tr><td>v6.1.0</td>
|
|
<td><p>The <code>maxArrayLength</code> option is supported now; in particular, long arrays are truncated by default.</p>
|
|
</td></tr>
|
|
<tr><td>v6.1.0</td>
|
|
<td><p>The <code>showProxy</code> option is supported now.</p>
|
|
</td></tr>
|
|
<tr><td>v0.3.0</td>
|
|
<td><p><span>Added in: v0.3.0</span></p>
|
|
</td></tr>
|
|
</table>
|
|
</details>
|
|
</div><ul>
|
|
<li><code>object</code> <span class="type"><any></span> Any JavaScript primitive or Object.</li>
|
|
<li><code>options</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object" class="type"><Object></a><ul>
|
|
<li><code>showHidden</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Boolean_type" class="type"><boolean></a> If <code>true</code>, the <code>object</code>'s non-enumerable symbols and
|
|
properties will be included in the formatted result. Defaults to <code>false</code>.</li>
|
|
<li><code>depth</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Number_type" class="type"><number></a> Specifies the number of times to recurse while formatting
|
|
the <code>object</code>. This is useful for inspecting large complicated objects.
|
|
Defaults to <code>2</code>. To make it recurse indefinitely pass <code>null</code>.</li>
|
|
<li><code>colors</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Boolean_type" class="type"><boolean></a> If <code>true</code>, the output will be styled with ANSI color
|
|
codes. Defaults to <code>false</code>. Colors are customizable, see
|
|
<a href="#util_customizing_util_inspect_colors">Customizing <code>util.inspect</code> colors</a>.</li>
|
|
<li><code>customInspect</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Boolean_type" class="type"><boolean></a> If <code>false</code>, then custom <code>inspect(depth, opts)</code>
|
|
functions exported on the <code>object</code> being inspected will not be called.
|
|
Defaults to <code>true</code>.</li>
|
|
<li><code>showProxy</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Boolean_type" class="type"><boolean></a> If <code>true</code>, then objects and functions that are
|
|
<code>Proxy</code> objects will be introspected to show their <code>target</code> and <code>handler</code>
|
|
objects. Defaults to <code>false</code>.</li>
|
|
<li><code>maxArrayLength</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Number_type" class="type"><number></a> Specifies the maximum number of array and
|
|
<code>TypedArray</code> elements to include when formatting. Defaults to <code>100</code>. Set to
|
|
<code>null</code> to show all array elements. Set to <code>0</code> or negative to show no array
|
|
elements.</li>
|
|
<li><code>breakLength</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Number_type" class="type"><number></a> The length at which an object's keys are split
|
|
across multiple lines. Set to <code>Infinity</code> to format an object as a single
|
|
line. Defaults to 60 for legacy compatibility.</li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
<p>The <code>util.inspect()</code> method returns a string representation of <code>object</code> that is
|
|
primarily useful for debugging. Additional <code>options</code> may be passed that alter
|
|
certain aspects of the formatted string.</p>
|
|
<p>The following example inspects all properties of the <code>util</code> object:</p>
|
|
<pre><code class="lang-js">const util = require('util');
|
|
|
|
console.log(util.inspect(util, { showHidden: true, depth: null }));
|
|
</code></pre>
|
|
<p>Values may supply their own custom <code>inspect(depth, opts)</code> functions, when
|
|
called these receive the current <code>depth</code> in the recursive inspection, as well as
|
|
the options object passed to <code>util.inspect()</code>.</p>
|
|
<h3>Customizing <code>util.inspect</code> colors<span><a class="mark" href="#util_customizing_util_inspect_colors" id="util_customizing_util_inspect_colors">#</a></span></h3>
|
|
<!-- type=misc -->
|
|
<p>Color output (if enabled) of <code>util.inspect</code> is customizable globally
|
|
via the <code>util.inspect.styles</code> and <code>util.inspect.colors</code> properties.</p>
|
|
<p><code>util.inspect.styles</code> is a map associating a style name to a color from
|
|
<code>util.inspect.colors</code>.</p>
|
|
<p>The default styles and associated colors are:</p>
|
|
<ul>
|
|
<li><code>number</code> - <code>yellow</code></li>
|
|
<li><code>boolean</code> - <code>yellow</code></li>
|
|
<li><code>string</code> - <code>green</code></li>
|
|
<li><code>date</code> - <code>magenta</code></li>
|
|
<li><code>regexp</code> - <code>red</code></li>
|
|
<li><code>null</code> - <code>bold</code></li>
|
|
<li><code>undefined</code> - <code>grey</code></li>
|
|
<li><code>special</code> - <code>cyan</code> (only applied to functions at this time)</li>
|
|
<li><code>name</code> - (no styling)</li>
|
|
</ul>
|
|
<p>The predefined color codes are: <code>white</code>, <code>grey</code>, <code>black</code>, <code>blue</code>, <code>cyan</code>,
|
|
<code>green</code>, <code>magenta</code>, <code>red</code> and <code>yellow</code>. There are also <code>bold</code>, <code>italic</code>,
|
|
<code>underline</code> and <code>inverse</code> codes.</p>
|
|
<p>Color styling uses ANSI control codes that may not be supported on all
|
|
terminals.</p>
|
|
<h3>Custom inspection functions on Objects<span><a class="mark" href="#util_custom_inspection_functions_on_objects" id="util_custom_inspection_functions_on_objects">#</a></span></h3>
|
|
<!-- type=misc -->
|
|
<p>Objects may also define their own <code>[util.inspect.custom](depth, opts)</code>
|
|
(or, equivalently <code>inspect(depth, opts)</code>) function that <code>util.inspect()</code> will
|
|
invoke and use the result of when inspecting the object:</p>
|
|
<pre><code class="lang-js">const util = require('util');
|
|
|
|
class Box {
|
|
constructor(value) {
|
|
this.value = value;
|
|
}
|
|
|
|
inspect(depth, options) {
|
|
if (depth < 0) {
|
|
return options.stylize('[Box]', 'special');
|
|
}
|
|
|
|
const newOptions = Object.assign({}, options, {
|
|
depth: options.depth === null ? null : options.depth - 1
|
|
});
|
|
|
|
// Five space padding because that's the size of "Box< ".
|
|
const padding = ' '.repeat(5);
|
|
const inner = util.inspect(this.value, newOptions)
|
|
.replace(/\n/g, `\n${padding}`);
|
|
return `${options.stylize('Box', 'special')}< ${inner} >`;
|
|
}
|
|
}
|
|
|
|
const box = new Box(true);
|
|
|
|
util.inspect(box);
|
|
// Returns: "Box< true >"
|
|
</code></pre>
|
|
<p>Custom <code>[util.inspect.custom](depth, opts)</code> functions typically return a string
|
|
but may return a value of any type that will be formatted accordingly by
|
|
<code>util.inspect()</code>.</p>
|
|
<pre><code class="lang-js">const util = require('util');
|
|
|
|
const obj = { foo: 'this will not show up in the inspect() output' };
|
|
obj[util.inspect.custom] = function(depth) {
|
|
return { bar: 'baz' };
|
|
};
|
|
|
|
util.inspect(obj);
|
|
// Returns: "{ bar: 'baz' }"
|
|
</code></pre>
|
|
<p>A custom inspection method can alternatively be provided by exposing
|
|
an <code>inspect(depth, opts)</code> method on the object:</p>
|
|
<pre><code class="lang-js">const util = require('util');
|
|
|
|
const obj = { foo: 'this will not show up in the inspect() output' };
|
|
obj.inspect = function(depth) {
|
|
return { bar: 'baz' };
|
|
};
|
|
|
|
util.inspect(obj);
|
|
// Returns: "{ bar: 'baz' }"
|
|
</code></pre>
|
|
<h3>util.inspect.custom<span><a class="mark" href="#util_util_inspect_custom" id="util_util_inspect_custom">#</a></span></h3>
|
|
<div class="api_metadata">
|
|
<span>Added in: v6.6.0</span>
|
|
</div><p>A Symbol that can be used to declare custom inspect functions, see
|
|
<a href="#util_custom_inspection_functions_on_objects">Custom inspection functions on Objects</a>.</p>
|
|
<h3>util.inspect.defaultOptions<span><a class="mark" href="#util_util_inspect_defaultoptions" id="util_util_inspect_defaultoptions">#</a></span></h3>
|
|
<div class="api_metadata">
|
|
<span>Added in: v6.4.0</span>
|
|
</div><p>The <code>defaultOptions</code> value allows customization of the default options used by
|
|
<code>util.inspect</code>. This is useful for functions like <code>console.log</code> or
|
|
<code>util.format</code> which implicitly call into <code>util.inspect</code>. It shall be set to an
|
|
object containing one or more valid <a href="#util_util_inspect_object_options"><code>util.inspect()</code></a> options. Setting
|
|
option properties directly is also supported.</p>
|
|
<pre><code class="lang-js">const util = require('util');
|
|
const arr = Array(101).fill(0);
|
|
|
|
console.log(arr); // logs the truncated array
|
|
util.inspect.defaultOptions.maxArrayLength = null;
|
|
console.log(arr); // logs the full array
|
|
</code></pre>
|
|
<h2>util.promisify(original)<span><a class="mark" href="#util_util_promisify_original" id="util_util_promisify_original">#</a></span></h2>
|
|
<div class="api_metadata">
|
|
<span>Added in: v8.0.0</span>
|
|
</div><ul>
|
|
<li><code>original</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function" class="type"><Function></a></li>
|
|
</ul>
|
|
<p>Takes a function following the common Node.js callback style, i.e. taking a
|
|
<code>(err, value) => ...</code> callback as the last argument, and returns a version
|
|
that returns promises.</p>
|
|
<p>For example:</p>
|
|
<pre><code class="lang-js">const util = require('util');
|
|
const fs = require('fs');
|
|
|
|
const stat = util.promisify(fs.stat);
|
|
stat('.').then((stats) => {
|
|
// Do something with `stats`
|
|
}).catch((error) => {
|
|
// Handle the error.
|
|
});
|
|
</code></pre>
|
|
<p>Or, equivalently using <code>async function</code>s:</p>
|
|
<pre><code class="lang-js">const util = require('util');
|
|
const fs = require('fs');
|
|
|
|
const stat = util.promisify(fs.stat);
|
|
|
|
async function callStat() {
|
|
const stats = await stat('.');
|
|
console.log(`This directory is owned by ${stats.uid}`);
|
|
}
|
|
</code></pre>
|
|
<p>If there is an <code>original[util.promisify.custom]</code> property present, <code>promisify</code>
|
|
will return its value, see <a href="#util_custom_promisified_functions">Custom promisified functions</a>.</p>
|
|
<p><code>promisify()</code> assumes that <code>original</code> is a function taking a callback as its
|
|
final argument in all cases, and the returned function will result in undefined
|
|
behavior if it does not.</p>
|
|
<h3>Custom promisified functions<span><a class="mark" href="#util_custom_promisified_functions" id="util_custom_promisified_functions">#</a></span></h3>
|
|
<p>Using the <code>util.promisify.custom</code> symbol one can override the return value of
|
|
<a href="#util_util_promisify_original"><code>util.promisify()</code></a>:</p>
|
|
<pre><code class="lang-js">const util = require('util');
|
|
|
|
function doSomething(foo, callback) {
|
|
// ...
|
|
}
|
|
|
|
doSomething[util.promisify.custom] = function(foo) {
|
|
return getPromiseSomehow();
|
|
};
|
|
|
|
const promisified = util.promisify(doSomething);
|
|
console.log(promisified === doSomething[util.promisify.custom]);
|
|
// prints 'true'
|
|
</code></pre>
|
|
<p>This can be useful for cases where the original function does not follow the
|
|
standard format of taking an error-first callback as the last argument.</p>
|
|
<h3>util.promisify.custom<span><a class="mark" href="#util_util_promisify_custom" id="util_util_promisify_custom">#</a></span></h3>
|
|
<div class="api_metadata">
|
|
<span>Added in: v8.0.0</span>
|
|
</div><ul>
|
|
<li><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Symbol_type" class="type"><symbol></a></li>
|
|
</ul>
|
|
<p>A Symbol that can be used to declare custom promisified variants of functions,
|
|
see <a href="#util_custom_promisified_functions">Custom promisified functions</a>.</p>
|
|
<h2>Class: util.TextDecoder<span><a class="mark" href="#util_class_util_textdecoder" id="util_class_util_textdecoder">#</a></span></h2>
|
|
<div class="api_metadata">
|
|
<span>Added in: v8.3.0</span>
|
|
</div><div class="api_stability api_stability_1"><a href="documentation.html#documentation_stability_index">Stability: 1</a> - Experimental</div><p>An implementation of the <a href="https://encoding.spec.whatwg.org/">WHATWG Encoding Standard</a> <code>TextDecoder</code> API.</p>
|
|
<pre><code class="lang-js">const decoder = new TextDecoder('shift_jis');
|
|
let string = '';
|
|
let buffer;
|
|
while (buffer = getNextChunkSomehow()) {
|
|
string += decoder.decode(buffer, { stream: true });
|
|
}
|
|
string += decoder.decode(); // end-of-stream
|
|
</code></pre>
|
|
<h3>WHATWG Supported Encodings<span><a class="mark" href="#util_whatwg_supported_encodings" id="util_whatwg_supported_encodings">#</a></span></h3>
|
|
<p>Per the <a href="https://encoding.spec.whatwg.org/">WHATWG Encoding Standard</a>, the encodings supported by the
|
|
<code>TextDecoder</code> API are outlined in the tables below. For each encoding,
|
|
one or more aliases may be used.</p>
|
|
<p>Different Node.js build configurations support different sets of encodings.
|
|
While a very basic set of encodings is supported even on Node.js builds without
|
|
ICU enabled, support for some encodings is provided only when Node.js is built
|
|
with ICU and using the full ICU data (see <a href="intl.html">Internationalization</a>).</p>
|
|
<h4>Encodings Supported Without ICU<span><a class="mark" href="#util_encodings_supported_without_icu" id="util_encodings_supported_without_icu">#</a></span></h4>
|
|
<table>
|
|
<thead>
|
|
<tr>
|
|
<th>Encoding</th>
|
|
<th>Aliases</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr>
|
|
<td><code>'utf-8'</code></td>
|
|
<td><code>'unicode-1-1-utf-8'</code>, <code>'utf8'</code></td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>'utf-16le'</code></td>
|
|
<td><code>'utf-16'</code></td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
<h4>Encodings Supported by Default (With ICU)<span><a class="mark" href="#util_encodings_supported_by_default_with_icu" id="util_encodings_supported_by_default_with_icu">#</a></span></h4>
|
|
<table>
|
|
<thead>
|
|
<tr>
|
|
<th>Encoding</th>
|
|
<th>Aliases</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr>
|
|
<td><code>'utf-8'</code></td>
|
|
<td><code>'unicode-1-1-utf-8'</code>, <code>'utf8'</code></td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>'utf-16le'</code></td>
|
|
<td><code>'utf-16'</code></td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>'utf-16be'</code></td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
<h4>Encodings Requiring Full ICU Data<span><a class="mark" href="#util_encodings_requiring_full_icu_data" id="util_encodings_requiring_full_icu_data">#</a></span></h4>
|
|
<table>
|
|
<thead>
|
|
<tr>
|
|
<th>Encoding</th>
|
|
<th>Aliases</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr>
|
|
<td><code>'ibm866'</code></td>
|
|
<td><code>'866'</code>, <code>'cp866'</code>, <code>'csibm866'</code></td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>'iso-8859-2'</code></td>
|
|
<td><code>'csisolatin2'</code>, <code>'iso-ir-101'</code>, <code>'iso8859-2'</code>, <code>'iso88592'</code>, <code>'iso_8859-2'</code>, <code>'iso_8859-2:1987'</code>, <code>'l2'</code>, <code>'latin2'</code></td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>'iso-8859-3'</code></td>
|
|
<td><code>'csisolatin3'</code>, <code>'iso-ir-109'</code>, <code>'iso8859-3'</code>, <code>'iso88593'</code>, <code>'iso_8859-3'</code>, <code>'iso_8859-3:1988'</code>, <code>'l3'</code>, <code>'latin3'</code></td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>'iso-8859-4'</code></td>
|
|
<td><code>'csisolatin4'</code>, <code>'iso-ir-110'</code>, <code>'iso8859-4'</code>, <code>'iso88594'</code>, <code>'iso_8859-4'</code>, <code>'iso_8859-4:1988'</code>, <code>'l4'</code>, <code>'latin4'</code></td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>'iso-8859-5'</code></td>
|
|
<td><code>'csisolatincyrillic'</code>, <code>'cyrillic'</code>, <code>'iso-ir-144'</code>, <code>'iso8859-5'</code>, <code>'iso88595'</code>, <code>'iso_8859-5'</code>, <code>'iso_8859-5:1988'</code></td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>'iso-8859-6'</code></td>
|
|
<td><code>'arabic'</code>, <code>'asmo-708'</code>, <code>'csiso88596e'</code>, <code>'csiso88596i'</code>, <code>'csisolatinarabic'</code>, <code>'ecma-114'</code>, <code>'iso-8859-6-e'</code>, <code>'iso-8859-6-i'</code>, <code>'iso-ir-127'</code>, <code>'iso8859-6'</code>, <code>'iso88596'</code>, <code>'iso_8859-6'</code>, <code>'iso_8859-6:1987'</code></td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>'iso-8859-7'</code></td>
|
|
<td><code>'csisolatingreek'</code>, <code>'ecma-118'</code>, <code>'elot_928'</code>, <code>'greek'</code>, <code>'greek8'</code>, <code>'iso-ir-126'</code>, <code>'iso8859-7'</code>, <code>'iso88597'</code>, <code>'iso_8859-7'</code>, <code>'iso_8859-7:1987'</code>, <code>'sun_eu_greek'</code></td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>'iso-8859-8'</code></td>
|
|
<td><code>'csiso88598e'</code>, <code>'csisolatinhebrew'</code>, <code>'hebrew'</code>, <code>'iso-8859-8-e'</code>, <code>'iso-ir-138'</code>, <code>'iso8859-8'</code>, <code>'iso88598'</code>, <code>'iso_8859-8'</code>, <code>'iso_8859-8:1988'</code>, <code>'visual'</code></td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>'iso-8859-8-i'</code></td>
|
|
<td><code>'csiso88598i'</code>, <code>'logical'</code></td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>'iso-8859-10'</code></td>
|
|
<td><code>'csisolatin6'</code>, <code>'iso-ir-157'</code>, <code>'iso8859-10'</code>, <code>'iso885910'</code>, <code>'l6'</code>, <code>'latin6'</code></td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>'iso-8859-13'</code></td>
|
|
<td><code>'iso8859-13'</code>, <code>'iso885913'</code></td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>'iso-8859-14'</code></td>
|
|
<td><code>'iso8859-14'</code>, <code>'iso885914'</code></td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>'iso-8859-15'</code></td>
|
|
<td><code>'csisolatin9'</code>, <code>'iso8859-15'</code>, <code>'iso885915'</code>, <code>'iso_8859-15'</code>, <code>'l9'</code></td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>'koi8-r'</code></td>
|
|
<td><code>'cskoi8r'</code>, <code>'koi'</code>, <code>'koi8'</code>, <code>'koi8_r'</code></td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>'koi8-u'</code></td>
|
|
<td><code>'koi8-ru'</code></td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>'macintosh'</code></td>
|
|
<td><code>'csmacintosh'</code>, <code>'mac'</code>, <code>'x-mac-roman'</code></td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>'windows-874'</code></td>
|
|
<td><code>'dos-874'</code>, <code>'iso-8859-11'</code>, <code>'iso8859-11'</code>, <code>'iso885911'</code>, <code>'tis-620'</code></td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>'windows-1250'</code></td>
|
|
<td><code>'cp1250'</code>, <code>'x-cp1250'</code></td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>'windows-1251'</code></td>
|
|
<td><code>'cp1251'</code>, <code>'x-cp1251'</code></td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>'windows-1252'</code></td>
|
|
<td><code>'ansi_x3.4-1968'</code>, <code>'ascii'</code>, <code>'cp1252'</code>, <code>'cp819'</code>, <code>'csisolatin1'</code>, <code>'ibm819'</code>, <code>'iso-8859-1'</code>, <code>'iso-ir-100'</code>, <code>'iso8859-1'</code>, <code>'iso88591'</code>, <code>'iso_8859-1'</code>, <code>'iso_8859-1:1987'</code>, <code>'l1'</code>, <code>'latin1'</code>, <code>'us-ascii'</code>, <code>'x-cp1252'</code></td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>'windows-1253'</code></td>
|
|
<td><code>'cp1253'</code>, <code>'x-cp1253'</code></td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>'windows-1254'</code></td>
|
|
<td><code>'cp1254'</code>, <code>'csisolatin5'</code>, <code>'iso-8859-9'</code>, <code>'iso-ir-148'</code>, <code>'iso8859-9'</code>, <code>'iso88599'</code>, <code>'iso_8859-9'</code>, <code>'iso_8859-9:1989'</code>, <code>'l5'</code>, <code>'latin5'</code>, <code>'x-cp1254'</code></td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>'windows-1255'</code></td>
|
|
<td><code>'cp1255'</code>, <code>'x-cp1255'</code></td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>'windows-1256'</code></td>
|
|
<td><code>'cp1256'</code>, <code>'x-cp1256'</code></td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>'windows-1257'</code></td>
|
|
<td><code>'cp1257'</code>, <code>'x-cp1257'</code></td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>'windows-1258'</code></td>
|
|
<td><code>'cp1258'</code>, <code>'x-cp1258'</code></td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>'x-mac-cyrillic'</code></td>
|
|
<td><code>'x-mac-ukrainian'</code></td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>'gbk'</code></td>
|
|
<td><code>'chinese'</code>, <code>'csgb2312'</code>, <code>'csiso58gb231280'</code>, <code>'gb2312'</code>, <code>'gb_2312'</code>, <code>'gb_2312-80'</code>, <code>'iso-ir-58'</code>, <code>'x-gbk'</code></td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>'gb18030'</code></td>
|
|
<td></td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>'big5'</code></td>
|
|
<td><code>'big5-hkscs'</code>, <code>'cn-big5'</code>, <code>'csbig5'</code>, <code>'x-x-big5'</code></td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>'euc-jp'</code></td>
|
|
<td><code>'cseucpkdfmtjapanese'</code>, <code>'x-euc-jp'</code></td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>'iso-2022-jp'</code></td>
|
|
<td><code>'csiso2022jp'</code></td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>'shift_jis'</code></td>
|
|
<td><code>'csshiftjis'</code>, <code>'ms932'</code>, <code>'ms_kanji'</code>, <code>'shift-jis'</code>, <code>'sjis'</code>, <code>'windows-31j'</code>, <code>'x-sjis'</code></td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>'euc-kr'</code></td>
|
|
<td><code>'cseuckr'</code>, <code>'csksc56011987'</code>, <code>'iso-ir-149'</code>, <code>'korean'</code>, <code>'ks_c_5601-1987'</code>, <code>'ks_c_5601-1989'</code>, <code>'ksc5601'</code>, <code>'ksc_5601'</code>, <code>'windows-949'</code></td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
<p><em>Note</em>: The <code>'iso-8859-16'</code> encoding listed in the <a href="https://encoding.spec.whatwg.org/">WHATWG Encoding Standard</a>
|
|
is not supported.</p>
|
|
<h3>new TextDecoder([encoding[, options]])<span><a class="mark" href="#util_new_textdecoder_encoding_options" id="util_new_textdecoder_encoding_options">#</a></span></h3>
|
|
<div class="signature"><ul>
|
|
<li><code>encoding</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#String_type" class="type"><string></a> Identifies the <code>encoding</code> that this <code>TextDecoder</code> instance
|
|
supports. Defaults to <code>'utf-8'</code>.</li>
|
|
<li><code>options</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object" class="type"><Object></a><ul>
|
|
<li><code>fatal</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Boolean_type" class="type"><boolean></a> <code>true</code> if decoding failures are fatal. Defaults to
|
|
<code>false</code>. This option is only supported when ICU is enabled (see
|
|
<a href="intl.html">Internationalization</a>).</li>
|
|
<li><code>ignoreBOM</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Boolean_type" class="type"><boolean></a> When <code>true</code>, the <code>TextDecoder</code> will include the byte
|
|
order mark in the decoded result. When <code>false</code>, the byte order mark will
|
|
be removed from the output. This option is only used when <code>encoding</code> is
|
|
<code>'utf-8'</code>, <code>'utf-16be'</code> or <code>'utf-16le'</code>. Defaults to <code>false</code>.</li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
</div><p>Creates an new <code>TextDecoder</code> instance. The <code>encoding</code> may specify one of the
|
|
supported encodings or an alias.</p>
|
|
<h3>textDecoder.decode([input[, options]])<span><a class="mark" href="#util_textdecoder_decode_input_options" id="util_textdecoder_decode_input_options">#</a></span></h3>
|
|
<div class="signature"><ul>
|
|
<li><code>input</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer" class="type"><ArrayBuffer></a> | <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/DataView" class="type"><DataView></a> | <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray" class="type"><TypedArray></a> An <code>ArrayBuffer</code>, <code>DataView</code> or
|
|
Typed Array instance containing the encoded data.</li>
|
|
<li><code>options</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object" class="type"><Object></a><ul>
|
|
<li><code>stream</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Boolean_type" class="type"><boolean></a> <code>true</code> if additional chunks of data are expected.
|
|
Defaults to <code>false</code>.</li>
|
|
</ul>
|
|
</li>
|
|
<li>Returns: <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#String_type" class="type"><string></a></li>
|
|
</ul>
|
|
</div><p>Decodes the <code>input</code> and returns a string. If <code>options.stream</code> is <code>true</code>, any
|
|
incomplete byte sequences occuring at the end of the <code>input</code> are buffered
|
|
internally and emitted after the next call to <code>textDecoder.decode()</code>.</p>
|
|
<p>If <code>textDecoder.fatal</code> is <code>true</code>, decoding errors that occur will result in a
|
|
<code>TypeError</code> being thrown.</p>
|
|
<h3>textDecoder.encoding<span><a class="mark" href="#util_textdecoder_encoding" id="util_textdecoder_encoding">#</a></span></h3>
|
|
<div class="signature"><ul>
|
|
<li><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#String_type" class="type"><string></a></li>
|
|
</ul>
|
|
</div><p>The encoding supported by the <code>TextDecoder</code> instance.</p>
|
|
<h3>textDecoder.fatal<span><a class="mark" href="#util_textdecoder_fatal" id="util_textdecoder_fatal">#</a></span></h3>
|
|
<div class="signature"><ul>
|
|
<li><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Boolean_type" class="type"><boolean></a></li>
|
|
</ul>
|
|
</div><p>The value will be <code>true</code> if decoding errors result in a <code>TypeError</code> being
|
|
thrown.</p>
|
|
<h3>textDecoder.ignoreBOM<span><a class="mark" href="#util_textdecoder_ignorebom" id="util_textdecoder_ignorebom">#</a></span></h3>
|
|
<div class="signature"><ul>
|
|
<li><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Boolean_type" class="type"><boolean></a></li>
|
|
</ul>
|
|
</div><p>The value will be <code>true</code> if the decoding result will include the byte order
|
|
mark.</p>
|
|
<h2>Class: util.TextEncoder<span><a class="mark" href="#util_class_util_textencoder" id="util_class_util_textencoder">#</a></span></h2>
|
|
<div class="api_metadata">
|
|
<span>Added in: v8.3.0</span>
|
|
</div><div class="api_stability api_stability_1"><a href="documentation.html#documentation_stability_index">Stability: 1</a> - Experimental</div><p>An implementation of the <a href="https://encoding.spec.whatwg.org/">WHATWG Encoding Standard</a> <code>TextEncoder</code> API. All
|
|
instances of <code>TextEncoder</code> only support UTF-8 encoding.</p>
|
|
<pre><code class="lang-js">const encoder = new TextEncoder();
|
|
const uint8array = encoder.encode('this is some data');
|
|
</code></pre>
|
|
<h3>textEncoder.encode([input])<span><a class="mark" href="#util_textencoder_encode_input" id="util_textencoder_encode_input">#</a></span></h3>
|
|
<div class="signature"><ul>
|
|
<li><code>input</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#String_type" class="type"><string></a> The text to encode. Defaults to an empty string.</li>
|
|
<li>Returns: <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint8Array" class="type"><Uint8Array></a></li>
|
|
</ul>
|
|
</div><p>UTF-8 encodes the <code>input</code> string and returns a <code>Uint8Array</code> containing the
|
|
encoded bytes.</p>
|
|
<h3>textDecoder.encoding<span><a class="mark" href="#util_textdecoder_encoding_1" id="util_textdecoder_encoding_1">#</a></span></h3>
|
|
<div class="signature"><ul>
|
|
<li><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#String_type" class="type"><string></a></li>
|
|
</ul>
|
|
</div><p>The encoding supported by the <code>TextEncoder</code> instance. Always set to <code>'utf-8'</code>.</p>
|
|
<h2>Deprecated APIs<span><a class="mark" href="#util_deprecated_apis" id="util_deprecated_apis">#</a></span></h2>
|
|
<p>The following APIs have been deprecated and should no longer be used. Existing
|
|
applications and modules should be updated to find alternative approaches.</p>
|
|
<h3>util._extend(target, source)<span><a class="mark" href="#util_util_extend_target_source" id="util_util_extend_target_source">#</a></span></h3>
|
|
<div class="api_metadata">
|
|
<span>Added in: v0.7.5</span><span>Deprecated since: v6.0.0</span>
|
|
</div><div class="api_stability api_stability_0"><a href="documentation.html#documentation_stability_index">Stability: 0</a> - Deprecated: Use <a href="https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Object/assign"><code>Object.assign()</code></a> instead.</div><p>The <code>util._extend()</code> method was never intended to be used outside of internal
|
|
Node.js modules. The community found and used it anyway.</p>
|
|
<p>It is deprecated and should not be used in new code. JavaScript comes with very
|
|
similar built-in functionality through <a href="https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Object/assign"><code>Object.assign()</code></a>.</p>
|
|
<h3>util.debug(string)<span><a class="mark" href="#util_util_debug_string" id="util_util_debug_string">#</a></span></h3>
|
|
<div class="api_metadata">
|
|
<span>Added in: v0.3.0</span><span>Deprecated since: v0.11.3</span>
|
|
</div><div class="api_stability api_stability_0"><a href="documentation.html#documentation_stability_index">Stability: 0</a> - Deprecated: Use <a href="console.html#console_console_error_data_args"><code>console.error()</code></a> instead.</div><ul>
|
|
<li><code>string</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#String_type" class="type"><string></a> The message to print to <code>stderr</code></li>
|
|
</ul>
|
|
<p>Deprecated predecessor of <code>console.error</code>.</p>
|
|
<h3>util.error([...strings])<span><a class="mark" href="#util_util_error_strings" id="util_util_error_strings">#</a></span></h3>
|
|
<div class="api_metadata">
|
|
<span>Added in: v0.3.0</span><span>Deprecated since: v0.11.3</span>
|
|
</div><div class="api_stability api_stability_0"><a href="documentation.html#documentation_stability_index">Stability: 0</a> - Deprecated: Use <a href="console.html#console_console_error_data_args"><code>console.error()</code></a> instead.</div><ul>
|
|
<li><code>...strings</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#String_type" class="type"><string></a> The message to print to <code>stderr</code></li>
|
|
</ul>
|
|
<p>Deprecated predecessor of <code>console.error</code>.</p>
|
|
<h3>util.isArray(object)<span><a class="mark" href="#util_util_isarray_object" id="util_util_isarray_object">#</a></span></h3>
|
|
<div class="api_metadata">
|
|
<span>Added in: v0.6.0</span><span>Deprecated since: v4.0.0</span>
|
|
</div><div class="api_stability api_stability_0"><a href="documentation.html#documentation_stability_index">Stability: 0</a> - Deprecated</div><ul>
|
|
<li><code>object</code> <span class="type"><any></span></li>
|
|
</ul>
|
|
<p>Internal alias for <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/isArray"><code>Array.isArray</code></a>.</p>
|
|
<p>Returns <code>true</code> if the given <code>object</code> is an <code>Array</code>. Otherwise, returns <code>false</code>.</p>
|
|
<pre><code class="lang-js">const util = require('util');
|
|
|
|
util.isArray([]);
|
|
// Returns: true
|
|
util.isArray(new Array());
|
|
// Returns: true
|
|
util.isArray({});
|
|
// Returns: false
|
|
</code></pre>
|
|
<h3>util.isBoolean(object)<span><a class="mark" href="#util_util_isboolean_object" id="util_util_isboolean_object">#</a></span></h3>
|
|
<div class="api_metadata">
|
|
<span>Added in: v0.11.5</span><span>Deprecated since: v4.0.0</span>
|
|
</div><div class="api_stability api_stability_0"><a href="documentation.html#documentation_stability_index">Stability: 0</a> - Deprecated</div><ul>
|
|
<li><code>object</code> <span class="type"><any></span></li>
|
|
</ul>
|
|
<p>Returns <code>true</code> if the given <code>object</code> is a <code>Boolean</code>. Otherwise, returns <code>false</code>.</p>
|
|
<pre><code class="lang-js">const util = require('util');
|
|
|
|
util.isBoolean(1);
|
|
// Returns: false
|
|
util.isBoolean(0);
|
|
// Returns: false
|
|
util.isBoolean(false);
|
|
// Returns: true
|
|
</code></pre>
|
|
<h3>util.isBuffer(object)<span><a class="mark" href="#util_util_isbuffer_object" id="util_util_isbuffer_object">#</a></span></h3>
|
|
<div class="api_metadata">
|
|
<span>Added in: v0.11.5</span><span>Deprecated since: v4.0.0</span>
|
|
</div><div class="api_stability api_stability_0"><a href="documentation.html#documentation_stability_index">Stability: 0</a> - Deprecated: Use <a href="buffer.html#buffer_class_method_buffer_isbuffer_obj"><code>Buffer.isBuffer()</code></a> instead.</div><ul>
|
|
<li><code>object</code> <span class="type"><any></span></li>
|
|
</ul>
|
|
<p>Returns <code>true</code> if the given <code>object</code> is a <code>Buffer</code>. Otherwise, returns <code>false</code>.</p>
|
|
<pre><code class="lang-js">const util = require('util');
|
|
|
|
util.isBuffer({ length: 0 });
|
|
// Returns: false
|
|
util.isBuffer([]);
|
|
// Returns: false
|
|
util.isBuffer(Buffer.from('hello world'));
|
|
// Returns: true
|
|
</code></pre>
|
|
<h3>util.isDate(object)<span><a class="mark" href="#util_util_isdate_object" id="util_util_isdate_object">#</a></span></h3>
|
|
<div class="api_metadata">
|
|
<span>Added in: v0.6.0</span><span>Deprecated since: v4.0.0</span>
|
|
</div><div class="api_stability api_stability_0"><a href="documentation.html#documentation_stability_index">Stability: 0</a> - Deprecated</div><ul>
|
|
<li><code>object</code> <span class="type"><any></span></li>
|
|
</ul>
|
|
<p>Returns <code>true</code> if the given <code>object</code> is a <code>Date</code>. Otherwise, returns <code>false</code>.</p>
|
|
<pre><code class="lang-js">const util = require('util');
|
|
|
|
util.isDate(new Date());
|
|
// Returns: true
|
|
util.isDate(Date());
|
|
// false (without 'new' returns a String)
|
|
util.isDate({});
|
|
// Returns: false
|
|
</code></pre>
|
|
<h3>util.isError(object)<span><a class="mark" href="#util_util_iserror_object" id="util_util_iserror_object">#</a></span></h3>
|
|
<div class="api_metadata">
|
|
<span>Added in: v0.6.0</span><span>Deprecated since: v4.0.0</span>
|
|
</div><div class="api_stability api_stability_0"><a href="documentation.html#documentation_stability_index">Stability: 0</a> - Deprecated</div><ul>
|
|
<li><code>object</code> <span class="type"><any></span></li>
|
|
</ul>
|
|
<p>Returns <code>true</code> if the given <code>object</code> is an <a href="errors.html#errors_class_error"><code>Error</code></a>. Otherwise, returns
|
|
<code>false</code>.</p>
|
|
<pre><code class="lang-js">const util = require('util');
|
|
|
|
util.isError(new Error());
|
|
// Returns: true
|
|
util.isError(new TypeError());
|
|
// Returns: true
|
|
util.isError({ name: 'Error', message: 'an error occurred' });
|
|
// Returns: false
|
|
</code></pre>
|
|
<p>Note that this method relies on <code>Object.prototype.toString()</code> behavior. It is
|
|
possible to obtain an incorrect result when the <code>object</code> argument manipulates
|
|
<code>@@toStringTag</code>.</p>
|
|
<pre><code class="lang-js">const util = require('util');
|
|
const obj = { name: 'Error', message: 'an error occurred' };
|
|
|
|
util.isError(obj);
|
|
// Returns: false
|
|
obj[Symbol.toStringTag] = 'Error';
|
|
util.isError(obj);
|
|
// Returns: true
|
|
</code></pre>
|
|
<h3>util.isFunction(object)<span><a class="mark" href="#util_util_isfunction_object" id="util_util_isfunction_object">#</a></span></h3>
|
|
<div class="api_metadata">
|
|
<span>Added in: v0.11.5</span><span>Deprecated since: v4.0.0</span>
|
|
</div><div class="api_stability api_stability_0"><a href="documentation.html#documentation_stability_index">Stability: 0</a> - Deprecated</div><ul>
|
|
<li><code>object</code> <span class="type"><any></span></li>
|
|
</ul>
|
|
<p>Returns <code>true</code> if the given <code>object</code> is a <code>Function</code>. Otherwise, returns
|
|
<code>false</code>.</p>
|
|
<pre><code class="lang-js">const util = require('util');
|
|
|
|
function Foo() {}
|
|
const Bar = () => {};
|
|
|
|
util.isFunction({});
|
|
// Returns: false
|
|
util.isFunction(Foo);
|
|
// Returns: true
|
|
util.isFunction(Bar);
|
|
// Returns: true
|
|
</code></pre>
|
|
<h3>util.isNull(object)<span><a class="mark" href="#util_util_isnull_object" id="util_util_isnull_object">#</a></span></h3>
|
|
<div class="api_metadata">
|
|
<span>Added in: v0.11.5</span><span>Deprecated since: v4.0.0</span>
|
|
</div><div class="api_stability api_stability_0"><a href="documentation.html#documentation_stability_index">Stability: 0</a> - Deprecated</div><ul>
|
|
<li><code>object</code> <span class="type"><any></span></li>
|
|
</ul>
|
|
<p>Returns <code>true</code> if the given <code>object</code> is strictly <code>null</code>. Otherwise, returns
|
|
<code>false</code>.</p>
|
|
<pre><code class="lang-js">const util = require('util');
|
|
|
|
util.isNull(0);
|
|
// Returns: false
|
|
util.isNull(undefined);
|
|
// Returns: false
|
|
util.isNull(null);
|
|
// Returns: true
|
|
</code></pre>
|
|
<h3>util.isNullOrUndefined(object)<span><a class="mark" href="#util_util_isnullorundefined_object" id="util_util_isnullorundefined_object">#</a></span></h3>
|
|
<div class="api_metadata">
|
|
<span>Added in: v0.11.5</span><span>Deprecated since: v4.0.0</span>
|
|
</div><div class="api_stability api_stability_0"><a href="documentation.html#documentation_stability_index">Stability: 0</a> - Deprecated</div><ul>
|
|
<li><code>object</code> <span class="type"><any></span></li>
|
|
</ul>
|
|
<p>Returns <code>true</code> if the given <code>object</code> is <code>null</code> or <code>undefined</code>. Otherwise,
|
|
returns <code>false</code>.</p>
|
|
<pre><code class="lang-js">const util = require('util');
|
|
|
|
util.isNullOrUndefined(0);
|
|
// Returns: false
|
|
util.isNullOrUndefined(undefined);
|
|
// Returns: true
|
|
util.isNullOrUndefined(null);
|
|
// Returns: true
|
|
</code></pre>
|
|
<h3>util.isNumber(object)<span><a class="mark" href="#util_util_isnumber_object" id="util_util_isnumber_object">#</a></span></h3>
|
|
<div class="api_metadata">
|
|
<span>Added in: v0.11.5</span><span>Deprecated since: v4.0.0</span>
|
|
</div><div class="api_stability api_stability_0"><a href="documentation.html#documentation_stability_index">Stability: 0</a> - Deprecated</div><ul>
|
|
<li><code>object</code> <span class="type"><any></span></li>
|
|
</ul>
|
|
<p>Returns <code>true</code> if the given <code>object</code> is a <code>Number</code>. Otherwise, returns <code>false</code>.</p>
|
|
<pre><code class="lang-js">const util = require('util');
|
|
|
|
util.isNumber(false);
|
|
// Returns: false
|
|
util.isNumber(Infinity);
|
|
// Returns: true
|
|
util.isNumber(0);
|
|
// Returns: true
|
|
util.isNumber(NaN);
|
|
// Returns: true
|
|
</code></pre>
|
|
<h3>util.isObject(object)<span><a class="mark" href="#util_util_isobject_object" id="util_util_isobject_object">#</a></span></h3>
|
|
<div class="api_metadata">
|
|
<span>Added in: v0.11.5</span><span>Deprecated since: v4.0.0</span>
|
|
</div><div class="api_stability api_stability_0"><a href="documentation.html#documentation_stability_index">Stability: 0</a> - Deprecated</div><ul>
|
|
<li><code>object</code> <span class="type"><any></span></li>
|
|
</ul>
|
|
<p>Returns <code>true</code> if the given <code>object</code> is strictly an <code>Object</code> <strong>and</strong> not a
|
|
<code>Function</code>. Otherwise, returns <code>false</code>.</p>
|
|
<pre><code class="lang-js">const util = require('util');
|
|
|
|
util.isObject(5);
|
|
// Returns: false
|
|
util.isObject(null);
|
|
// Returns: false
|
|
util.isObject({});
|
|
// Returns: true
|
|
util.isObject(function() {});
|
|
// Returns: false
|
|
</code></pre>
|
|
<h3>util.isPrimitive(object)<span><a class="mark" href="#util_util_isprimitive_object" id="util_util_isprimitive_object">#</a></span></h3>
|
|
<div class="api_metadata">
|
|
<span>Added in: v0.11.5</span><span>Deprecated since: v4.0.0</span>
|
|
</div><div class="api_stability api_stability_0"><a href="documentation.html#documentation_stability_index">Stability: 0</a> - Deprecated</div><ul>
|
|
<li><code>object</code> <span class="type"><any></span></li>
|
|
</ul>
|
|
<p>Returns <code>true</code> if the given <code>object</code> is a primitive type. Otherwise, returns
|
|
<code>false</code>.</p>
|
|
<pre><code class="lang-js">const util = require('util');
|
|
|
|
util.isPrimitive(5);
|
|
// Returns: true
|
|
util.isPrimitive('foo');
|
|
// Returns: true
|
|
util.isPrimitive(false);
|
|
// Returns: true
|
|
util.isPrimitive(null);
|
|
// Returns: true
|
|
util.isPrimitive(undefined);
|
|
// Returns: true
|
|
util.isPrimitive({});
|
|
// Returns: false
|
|
util.isPrimitive(function() {});
|
|
// Returns: false
|
|
util.isPrimitive(/^$/);
|
|
// Returns: false
|
|
util.isPrimitive(new Date());
|
|
// Returns: false
|
|
</code></pre>
|
|
<h3>util.isRegExp(object)<span><a class="mark" href="#util_util_isregexp_object" id="util_util_isregexp_object">#</a></span></h3>
|
|
<div class="api_metadata">
|
|
<span>Added in: v0.6.0</span><span>Deprecated since: v4.0.0</span>
|
|
</div><div class="api_stability api_stability_0"><a href="documentation.html#documentation_stability_index">Stability: 0</a> - Deprecated</div><ul>
|
|
<li><code>object</code> <span class="type"><any></span></li>
|
|
</ul>
|
|
<p>Returns <code>true</code> if the given <code>object</code> is a <code>RegExp</code>. Otherwise, returns <code>false</code>.</p>
|
|
<pre><code class="lang-js">const util = require('util');
|
|
|
|
util.isRegExp(/some regexp/);
|
|
// Returns: true
|
|
util.isRegExp(new RegExp('another regexp'));
|
|
// Returns: true
|
|
util.isRegExp({});
|
|
// Returns: false
|
|
</code></pre>
|
|
<h3>util.isString(object)<span><a class="mark" href="#util_util_isstring_object" id="util_util_isstring_object">#</a></span></h3>
|
|
<div class="api_metadata">
|
|
<span>Added in: v0.11.5</span><span>Deprecated since: v4.0.0</span>
|
|
</div><div class="api_stability api_stability_0"><a href="documentation.html#documentation_stability_index">Stability: 0</a> - Deprecated</div><ul>
|
|
<li><code>object</code> <span class="type"><any></span></li>
|
|
</ul>
|
|
<p>Returns <code>true</code> if the given <code>object</code> is a <code>string</code>. Otherwise, returns <code>false</code>.</p>
|
|
<pre><code class="lang-js">const util = require('util');
|
|
|
|
util.isString('');
|
|
// Returns: true
|
|
util.isString('foo');
|
|
// Returns: true
|
|
util.isString(String('foo'));
|
|
// Returns: true
|
|
util.isString(5);
|
|
// Returns: false
|
|
</code></pre>
|
|
<h3>util.isSymbol(object)<span><a class="mark" href="#util_util_issymbol_object" id="util_util_issymbol_object">#</a></span></h3>
|
|
<div class="api_metadata">
|
|
<span>Added in: v0.11.5</span><span>Deprecated since: v4.0.0</span>
|
|
</div><div class="api_stability api_stability_0"><a href="documentation.html#documentation_stability_index">Stability: 0</a> - Deprecated</div><ul>
|
|
<li><code>object</code> <span class="type"><any></span></li>
|
|
</ul>
|
|
<p>Returns <code>true</code> if the given <code>object</code> is a <code>Symbol</code>. Otherwise, returns <code>false</code>.</p>
|
|
<pre><code class="lang-js">const util = require('util');
|
|
|
|
util.isSymbol(5);
|
|
// Returns: false
|
|
util.isSymbol('foo');
|
|
// Returns: false
|
|
util.isSymbol(Symbol('foo'));
|
|
// Returns: true
|
|
</code></pre>
|
|
<h3>util.isUndefined(object)<span><a class="mark" href="#util_util_isundefined_object" id="util_util_isundefined_object">#</a></span></h3>
|
|
<div class="api_metadata">
|
|
<span>Added in: v0.11.5</span><span>Deprecated since: v4.0.0</span>
|
|
</div><div class="api_stability api_stability_0"><a href="documentation.html#documentation_stability_index">Stability: 0</a> - Deprecated</div><ul>
|
|
<li><code>object</code> <span class="type"><any></span></li>
|
|
</ul>
|
|
<p>Returns <code>true</code> if the given <code>object</code> is <code>undefined</code>. Otherwise, returns <code>false</code>.</p>
|
|
<pre><code class="lang-js">const util = require('util');
|
|
|
|
const foo = undefined;
|
|
util.isUndefined(5);
|
|
// Returns: false
|
|
util.isUndefined(foo);
|
|
// Returns: true
|
|
util.isUndefined(null);
|
|
// Returns: false
|
|
</code></pre>
|
|
<h3>util.log(string)<span><a class="mark" href="#util_util_log_string" id="util_util_log_string">#</a></span></h3>
|
|
<div class="api_metadata">
|
|
<span>Added in: v0.3.0</span><span>Deprecated since: v6.0.0</span>
|
|
</div><div class="api_stability api_stability_0"><a href="documentation.html#documentation_stability_index">Stability: 0</a> - Deprecated: Use a third party module instead.</div><ul>
|
|
<li><code>string</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#String_type" class="type"><string></a></li>
|
|
</ul>
|
|
<p>The <code>util.log()</code> method prints the given <code>string</code> to <code>stdout</code> with an included
|
|
timestamp.</p>
|
|
<pre><code class="lang-js">const util = require('util');
|
|
|
|
util.log('Timestamped message.');
|
|
</code></pre>
|
|
<h3>util.print([...strings])<span><a class="mark" href="#util_util_print_strings" id="util_util_print_strings">#</a></span></h3>
|
|
<div class="api_metadata">
|
|
<span>Added in: v0.3.0</span><span>Deprecated since: v0.11.3</span>
|
|
</div><div class="api_stability api_stability_0"><a href="documentation.html#documentation_stability_index">Stability: 0</a> - Deprecated: Use <a href="console.html#console_console_log_data_args"><code>console.log()</code></a> instead.</div><p>Deprecated predecessor of <code>console.log</code>.</p>
|
|
<h3>util.puts([...strings])<span><a class="mark" href="#util_util_puts_strings" id="util_util_puts_strings">#</a></span></h3>
|
|
<div class="api_metadata">
|
|
<span>Added in: v0.3.0</span><span>Deprecated since: v0.11.3</span>
|
|
</div><div class="api_stability api_stability_0"><a href="documentation.html#documentation_stability_index">Stability: 0</a> - Deprecated: Use <a href="console.html#console_console_log_data_args"><code>console.log()</code></a> instead.</div><p>Deprecated predecessor of <code>console.log</code>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<script src="assets/sh_main.js"></script>
|
|
<script src="assets/sh_javascript.min.js"></script>
|
|
<script>highlight(undefined, undefined, 'pre');</script>
|
|
<!-- __TRACKING__ -->
|
|
</body>
|
|
</html> |