powerbi-client package

Klasy

AdvancedFilter
BasicFilter
BasicFilterWithKeys
Filter
HierarchyFilter
HierarchyIdentityFilter
IdentityFilter
IncludeExcludeFilter
NotSupportedFilter
PageSelector
RelativeDateFilter
RelativeTimeFilter
Selector
SlicerTargetSelector
TopNFilter
TupleFilter
VisualSelector
VisualTypeSelector
AdvancedFilterBuilder

Składnik zaawansowanego konstruktora filtrów usługi Power BI

BasicFilterBuilder

Składnik konstruktora filtrów w usłudze Power BI Basic

BookmarksManager

Zarządza zakładkami raportów.

Create

Składnik twórcy raportów usługi Power BI

Dashboard

Składnik osadzania pulpitu nawigacyjnego usługi Power BI

FilterBuilder

Ogólny konstruktor filtrów dla filtru BasicFilter, AdvancedFilter, RelativeDate, RelativeTime i TopN

MIMEParams

Interfejs API MIMEParams zapewnia dostęp do odczytu i zapisu do parametrów MIMEType.

MIMEType

Implementacja klasy MIMEType.

Zgodnie z konwencjami przeglądarki wszystkie właściwości obiektów MIMEType są implementowane jako metody pobierające i ustawiane w prototypie klasy, a nie jako właściwości danych w samym obiekcie.

Ciąg MIME jest ciągiem ustrukturyzowanym zawierającym wiele znaczących składników. Podczas analizowania zwracany jest obiekt MIMEType zawierający właściwości dla każdego z tych składników.

Page

Strona raportu usługi Power BI

Qna

Składnik osadzania usługi Power BI Q&

QuickCreate

Składnik Szybkiego tworzenia w usłudze Power BI

RelativeDateFilterBuilder

Składnik konstruktora filtrów dat względnych w usłudze Power BI

RelativeTimeFilterBuilder

Składnik konstruktora filtru czasu względnego w usłudze Power BI

Report

Składnik osadzania raportu usługi Power BI

Service

Składnik osadzania usługi Power BI, który jest punktem wejścia umożliwiającym osadzanie wszystkich innych składników usługi Power BI w aplikacji

Tile

Składnik osadzania kafelka usługi Power BI

TopNFilterBuilder

Składnik konstruktora filtru Top N w usłudze Power BI

Visual

Składnik osadzania wizualizacji usługi Power BI

VisualDescriptor

Wizualizacja usługi Power BI na stronie

Interfejsy

EventHooks
IActionBar
IAddBookmarkRequest
IAdvancedFilter
IAdvancedFilterCondition
IAggregationTarget
IApplyBookmarkByNameRequest
IApplyBookmarkStateRequest
IBaseFilterTarget
IBaseTarget
IBasicFilter
IBasicFilterWithKeys
IBetweenDataReference
IBookmarksPane
IBootstrapEmbedConfiguration
ICanvasStyle
ICaptureBookmarkOptions
ICaptureBookmarkRequest
ICavasItemsSelection
ICloneVisualRequest
ICloneVisualResponse
ICollapsible
IColumnAggrTarget
IColumnSchema
IColumnTarget
ICommandExtension
ICommandSettings
ICommandsSettings
ICommonEmbedConfiguration
ICreateVisualRequest
ICreateVisualResponse
ICredential
ICustomLayout
ICustomPageSize
ICustomTheme
IDashboardEmbedConfiguration
IDashboardLoadConfiguration
IDataReference
IDatasetBinding
IDatasetCreateConfiguration
IDatasourceConnectionConfiguration
IDataTable
IDefaultProperty
IEmbedConfiguration
IEmbedConfigurationBase
IEqualsDataReference
IError
IExportDataCompletedEvent
IExportDataRequest
IExportDataResult
IExtension
IExtensionItem
IExtensionPoint
IExtensionPoints
IExtensions
IFieldsPane
IFilter
IFilterAggregationTarget
IFilterColumnAggrTarget
IFilterColumnTarget
IFilterDisplaySettings
IFilterGroupedColumnsTarget
IFilterHierarchyAggrTarget
IFilterHierarchyTarget
IFilterKeyColumnsTarget
IFilterKeyHierarchyTarget
IFilterMeasureTarget
IFiltersPane
IFlatMenuExtension
IGroupedMenuExtension
IHideable
IHierarchyFilter
IHierarchyFilterNode
IHierarchyIdentityFilter
IHierarchyIdentityFilterNode
IHierarchyLevelAggrTarget
IHierarchyLevelTarget
IIdentityFilter
IIdentityValue
IIncludeExcludeFilter
IIncludeExcludeTargetValue
IKeyColumnsTarget
IKeyHierarchyTarget
ILoadQnaConfiguration
ILocaleSettings
IMeasureTarget
IMenuExtensionBase
IMenuGroupExtension
INotSupportedFilter
INotSupportedFilterTarget
INotSupportedTarget
IPage
IPageBackground
IPageLayout
IPageNavigationPane
IPageSelector
IPageSize
IPageWallpaper
IPaginatedReportDatasetBinding
IPaginatedReportLoadConfiguration
IPaginatedReportParameter
IPaginatedReportsCommandSettings
IPaginatedReportsCommandsSettings
IPaginatedReportSettings
IPanes
IParametersPanelCommandSettings
IPercentOfGrandTotalTarget
IPlayBookmarkRequest
IPosition
IPrintSettings
IQnaEmbedConfiguration
IQnaInterpretInputData
IQnaPanes
IQnaSettings
IQnaVisualRenderedEvent
IQueryNameTarget
IQuickCreateConfiguration
IRelativeDateFilter
IRelativeDateTimeFilter
IRelativeTimeFilter
IReport
IReportBars
IReportBookmark
IReportCreateConfiguration
IReportCreateFromDefinitionConfiguration
IReportDefinition
IReportEmbedConfiguration
IReportLoadConfiguration
IReportPanes
IReportTheme
ISaveAsParameters
ISelection
ISelectionPane
ISelector
ISettings
ISlicer
ISlicerState
ISlicerTargetSelector
ISmartNarratives
ISortByVisualRequest
IStatusBar
ISwipeEvent
ISyncSlicersPane
ITableSchema
ITechnicalDetails
IThemeColorProperty
ITileEmbedConfiguration
ITileLoadConfiguration
ITopNFilter
ITupleElementValue
ITupleFilter
IUpdateFiltersRequest
IValueDataReference
IVisual
IVisualCalculationTarget
IVisualCapabilities
IVisualContainerDisplayState
IVisualCustomCommandEvent
IVisualDataRole
IVisualEmbedConfiguration
IVisualHeader
IVisualHeaderSettings
IVisualizationsPane
IVisualLayout
IVisualPropertySelector
IVisualPropertyValue
IVisualResponse
IVisualSelector
IVisualSettings
IVisualTypeSelector
OnLoadFilters
OnLoadFiltersBase
PageOnLoadFilters
ReportOnLoadFilters
CallSiteObject
CustomPromisifyLegacy
CustomPromisifySymbol
DebugLogger
DeprecateOptions
GetCallSitesOptions
IBookmarksManager

Interfejsy API do zarządzania zakładkami raportu.

IDashboardNode

Węzeł pulpitu nawigacyjnego w hierarchii pulpitu nawigacyjnego

IDebugOptions
IEvent
IFilterable

Dekorowanie składników osadzania, które obsługują filtry Przykłady obejmują raporty i strony

IPageNode

Węzeł strony w hierarchii raportów

IPowerBiElement
IReportNode

Węzeł raportów w hierarchii raportów

IService
IServiceConfiguration
IVisualNode

Węzeł wizualizacji w hierarchii raportów

InspectColors
InspectContext
InspectOptions
InspectStyles
Inspectable
IsDeepStrictEqualOptions
ParseArgsConfig
ParseArgsOptionDescriptor
ParseArgsOptionsConfig
StyleTextOptions
TextDecodeOptions
TextDecoderCommon
TextDecoderOptions
TextEncoderCommon
TextEncoderEncodeIntoResult

Funkcje

isAnyArrayBuffer(unknown)

Zwraca true, jeśli wartość jest wbudowanym wystąpieniem ArrayBuffer lub SharedArrayBuffer.

Zobacz również util.types.isArrayBuffer() i util.types.isSharedArrayBuffer().

util.types.isAnyArrayBuffer(new ArrayBuffer());  // Returns true
util.types.isAnyArrayBuffer(new SharedArrayBuffer());  // Returns true
isArgumentsObject(unknown)

Zwraca true, jeśli wartość jest obiektem arguments.

function foo() {
  util.types.isArgumentsObject(arguments);  // Returns true
}
isArrayBuffer(unknown)

Zwraca true, jeśli wartość jest wbudowanym wystąpieniem ArrayBuffer. Nie uwzględniać wystąpień SharedArrayBuffer. Zazwyczaj pożądane jest przetestowanie obu tych metod; Zobacz util.types.isAnyArrayBuffer(), aby to sprawdzić.

util.types.isArrayBuffer(new ArrayBuffer());  // Returns true
util.types.isArrayBuffer(new SharedArrayBuffer());  // Returns false
isArrayBufferView(unknown)

Zwraca true, jeśli wartość jest wystąpieniem jednego z widoków ArrayBuffer, takich jak typizowane obiekty tablicowe lub DataView. Odpowiednik ArrayBuffer.isView().

util.types.isArrayBufferView(new Int8Array());  // true
util.types.isArrayBufferView(Buffer.from('hello world')); // true
util.types.isArrayBufferView(new DataView(new ArrayBuffer(16)));  // true
util.types.isArrayBufferView(new ArrayBuffer());  // false
isAsyncFunction(unknown)

Zwraca true, jeśli wartość jest funkcją asynchroniową . Zgłasza to tylko, co widzi aparat JavaScript; w szczególności wartość zwracana może nie być zgodna z oryginalnym kodem źródłowym, jeśli użyto narzędzia transpilacji.

util.types.isAsyncFunction(function foo() {});  // Returns false
util.types.isAsyncFunction(async function foo() {});  // Returns true
isBigInt64Array(unknown)

Zwraca true, jeśli wartość jest wystąpieniem BigInt64Array.

util.types.isBigInt64Array(new BigInt64Array());   // Returns true
util.types.isBigInt64Array(new BigUint64Array());  // Returns false
isBigIntObject(unknown)

Zwraca true, jeśli wartość jest obiektem BigInt, np. utworzonym przez Object(BigInt(123)).

util.types.isBigIntObject(Object(BigInt(123)));   // Returns true
util.types.isBigIntObject(BigInt(123));   // Returns false
util.types.isBigIntObject(123);  // Returns false
isBigUint64Array(unknown)

Zwraca true, jeśli wartość jest wystąpieniem BigUint64Array.

util.types.isBigUint64Array(new BigInt64Array());   // Returns false
util.types.isBigUint64Array(new BigUint64Array());  // Returns true
isBooleanObject(unknown)

Zwraca true, jeśli wartość jest obiektem logicznym, np. utworzonym przez new Boolean().

util.types.isBooleanObject(false);  // Returns false
util.types.isBooleanObject(true);   // Returns false
util.types.isBooleanObject(new Boolean(false)); // Returns true
util.types.isBooleanObject(new Boolean(true));  // Returns true
util.types.isBooleanObject(Boolean(false)); // Returns false
util.types.isBooleanObject(Boolean(true));  // Returns false
isBoxedPrimitive(unknown)

Zwraca true, jeśli wartość jest dowolnym obiektem pierwotnym pola, np. utworzonym przez new Boolean(), new String() lub Object(Symbol()).

Przykład:

util.types.isBoxedPrimitive(false); // Returns false
util.types.isBoxedPrimitive(new Boolean(false)); // Returns true
util.types.isBoxedPrimitive(Symbol('foo')); // Returns false
util.types.isBoxedPrimitive(Object(Symbol('foo'))); // Returns true
util.types.isBoxedPrimitive(Object(BigInt(5))); // Returns true
isCryptoKey(unknown)

Zwraca true, jeśli value jest CryptoKey, false w przeciwnym razie.

isDataView(unknown)

Zwraca true, jeśli wartość jest wbudowanym wystąpieniem DataView.

const ab = new ArrayBuffer(20);
util.types.isDataView(new DataView(ab));  // Returns true
util.types.isDataView(new Float64Array());  // Returns false

Zobacz również ArrayBuffer.isView().

isDate(unknown)

Zwraca true, jeśli wartość jest wbudowanym wystąpieniem Date.

util.types.isDate(new Date());  // Returns true
isExternal(unknown)

Zwraca true, jeśli wartość jest wartością natywną External.

Natywna wartość External to specjalny typ obiektu, który zawiera nieprzetworzone wskaźniki języka C++ (void*) na potrzeby dostępu z kodu natywnego i nie ma innych właściwości. Takie obiekty są tworzone przez Node.js wewnętrznych lub natywnych dodatków. W języku JavaScript są zamrożone obiekty z prototypem null .

#include <js_native_api.h>
#include <stdlib.h>
napi_value result;
static napi_value MyNapi(napi_env env, napi_callback_info info) {
  int* raw = (int*) malloc(1024);
  napi_status status = napi_create_external(env, (void*) raw, NULL, NULL, &result);
  if (status != napi_ok) {
    napi_throw_error(env, NULL, "napi_create_external failed");
    return NULL;
  }
  return result;
}
...
DECLARE_NAPI_PROPERTY("myNapi", MyNapi)
...
import native from 'napi_addon.node';
import { types } from 'node:util';

const data = native.myNapi();
types.isExternal(data); // returns true
types.isExternal(0); // returns false
types.isExternal(new String('foo')); // returns false

Aby uzyskać więcej informacji na temat napi_create_external, zobacz napi_create_external().

isFloat16Array(unknown)

Zwraca true, jeśli wartość jest wbudowanym wystąpieniem Float16Array.

util.types.isFloat16Array(new ArrayBuffer());  // Returns false
util.types.isFloat16Array(new Float16Array());  // Returns true
util.types.isFloat16Array(new Float32Array());  // Returns false
isFloat32Array(unknown)

Zwraca true, jeśli wartość jest wbudowanym wystąpieniem Float32Array.

util.types.isFloat32Array(new ArrayBuffer());  // Returns false
util.types.isFloat32Array(new Float32Array());  // Returns true
util.types.isFloat32Array(new Float64Array());  // Returns false
isFloat64Array(unknown)

Zwraca true, jeśli wartość jest wbudowanym wystąpieniem Float64Array.

util.types.isFloat64Array(new ArrayBuffer());  // Returns false
util.types.isFloat64Array(new Uint8Array());  // Returns false
util.types.isFloat64Array(new Float64Array());  // Returns true
isGeneratorFunction(unknown)

Zwraca true, jeśli wartość jest funkcją generatora. Zgłasza to tylko, co widzi aparat JavaScript; w szczególności wartość zwracana może nie być zgodna z oryginalnym kodem źródłowym, jeśli użyto narzędzia transpilacji.

util.types.isGeneratorFunction(function foo() {});  // Returns false
util.types.isGeneratorFunction(function* foo() {});  // Returns true
isGeneratorObject(unknown)

Zwraca true, jeśli wartość jest obiektem generatora zwracanym z wbudowanej funkcji generatora. Zgłasza to tylko, co widzi aparat JavaScript; w szczególności wartość zwracana może nie być zgodna z oryginalnym kodem źródłowym, jeśli użyto narzędzia transpilacji.

function* foo() {}
const generator = foo();
util.types.isGeneratorObject(generator);  // Returns true
isInt16Array(unknown)

Zwraca true, jeśli wartość jest wbudowanym wystąpieniem Int16Array.

util.types.isInt16Array(new ArrayBuffer());  // Returns false
util.types.isInt16Array(new Int16Array());  // Returns true
util.types.isInt16Array(new Float64Array());  // Returns false
isInt32Array(unknown)

Zwraca true, jeśli wartość jest wbudowanym wystąpieniem Int32Array.

util.types.isInt32Array(new ArrayBuffer());  // Returns false
util.types.isInt32Array(new Int32Array());  // Returns true
util.types.isInt32Array(new Float64Array());  // Returns false
isInt8Array(unknown)

Zwraca true, jeśli wartość jest wbudowanym wystąpieniem Int8Array.

util.types.isInt8Array(new ArrayBuffer());  // Returns false
util.types.isInt8Array(new Int8Array());  // Returns true
util.types.isInt8Array(new Float64Array());  // Returns false
isKeyObject(unknown)

Zwraca true, jeśli value jest KeyObject, false w przeciwnym razie.

isMap<T>({} | T)

Zwraca true, jeśli wartość jest wbudowanym wystąpieniem Map.

util.types.isMap(new Map());  // Returns true
isMapIterator(unknown)

Zwraca true, jeśli wartość jest iteratorem zwróconym dla wbudowanego wystąpienia Map.

const map = new Map();
util.types.isMapIterator(map.keys());  // Returns true
util.types.isMapIterator(map.values());  // Returns true
util.types.isMapIterator(map.entries());  // Returns true
util.types.isMapIterator(map[Symbol.iterator]());  // Returns true
isModuleNamespaceObject(unknown)

Zwraca true, jeśli wartość jest wystąpieniem obiektu przestrzeni nazw modułu .

import * as ns from './a.js';

util.types.isModuleNamespaceObject(ns);  // Returns true
isNativeError(unknown)

Zwraca true, jeśli wartość została zwrócona przez konstruktor wbudowanego typu Error.

console.log(util.types.isNativeError(new Error()));  // true
console.log(util.types.isNativeError(new TypeError()));  // true
console.log(util.types.isNativeError(new RangeError()));  // true

Podklasy typów błędów natywnych są również błędami natywnymi:

class MyError extends Error {}
console.log(util.types.isNativeError(new MyError()));  // true

Wartość instanceof natywnej klasy błędów nie jest równoważna isNativeError() zwracaniu true dla tej wartości. isNativeError() zwraca true błędów, które pochodzą z innego obszaru , podczas gdy instanceof Error zwraca false dla tych błędów:

import { createContext, runInContext } from 'node:vm';
import { types } from 'node:util';

const context = createContext({});
const myError = runInContext('new Error()', context);
console.log(types.isNativeError(myError)); // true
console.log(myError instanceof Error); // false

Z drugiej strony isNativeError() zwraca false dla wszystkich obiektów, które nie zostały zwrócone przez konstruktora błędu natywnego. Obejmuje to wartości, które są instanceof błędów natywnych:

const myError = { __proto__: Error.prototype };
console.log(util.types.isNativeError(myError)); // false
console.log(myError instanceof Error); // true
isNumberObject(unknown)

Zwraca true, jeśli wartość jest obiektem liczbowym, np. utworzonym przez new Number().

util.types.isNumberObject(0);  // Returns false
util.types.isNumberObject(new Number(0));   // Returns true
isPromise(unknown)

Zwraca true, jeśli wartość jest wbudowaną Promise.

util.types.isPromise(Promise.resolve(42));  // Returns true
isProxy(unknown)

Zwraca true, jeśli wartość jest wystąpieniem Proxy.

const target = {};
const proxy = new Proxy(target, {});
util.types.isProxy(target);  // Returns false
util.types.isProxy(proxy);  // Returns true
isRegExp(unknown)

Zwraca true, jeśli wartość jest obiektem wyrażenia regularnego.

util.types.isRegExp(/abc/);  // Returns true
util.types.isRegExp(new RegExp('abc'));  // Returns true
isSet<T>({} | T)

Zwraca true, jeśli wartość jest wbudowanym wystąpieniem Set.

util.types.isSet(new Set());  // Returns true
isSetIterator(unknown)

Zwraca true, jeśli wartość jest iteratorem zwróconym dla wbudowanego wystąpienia Set.

const set = new Set();
util.types.isSetIterator(set.keys());  // Returns true
util.types.isSetIterator(set.values());  // Returns true
util.types.isSetIterator(set.entries());  // Returns true
util.types.isSetIterator(set[Symbol.iterator]());  // Returns true
isSharedArrayBuffer(unknown)

Zwraca true, jeśli wartość jest wbudowanym wystąpieniem SharedArrayBuffer. Nie uwzględniać wystąpień ArrayBuffer. Zazwyczaj pożądane jest przetestowanie obu tych metod; Zobacz util.types.isAnyArrayBuffer(), aby to sprawdzić.

util.types.isSharedArrayBuffer(new ArrayBuffer());  // Returns false
util.types.isSharedArrayBuffer(new SharedArrayBuffer());  // Returns true
isStringObject(unknown)

Zwraca true, jeśli wartość jest obiektem ciągu, np. utworzonym przez new String().

util.types.isStringObject('foo');  // Returns false
util.types.isStringObject(new String('foo'));   // Returns true
isSymbolObject(unknown)

Zwraca true, jeśli wartość jest obiektem symbolu, utworzonym przez wywołanie Object() na Symbol pierwotnym.

const symbol = Symbol('foo');
util.types.isSymbolObject(symbol);  // Returns false
util.types.isSymbolObject(Object(symbol));   // Returns true
isTypedArray(unknown)

Zwraca true, jeśli wartość jest wbudowanym wystąpieniem TypedArray.

util.types.isTypedArray(new ArrayBuffer());  // Returns false
util.types.isTypedArray(new Uint8Array());  // Returns true
util.types.isTypedArray(new Float64Array());  // Returns true

Zobacz również ArrayBuffer.isView().

isUint16Array(unknown)

Zwraca true, jeśli wartość jest wbudowanym wystąpieniem Uint16Array.

util.types.isUint16Array(new ArrayBuffer());  // Returns false
util.types.isUint16Array(new Uint16Array());  // Returns true
util.types.isUint16Array(new Float64Array());  // Returns false
isUint32Array(unknown)

Zwraca true, jeśli wartość jest wbudowanym wystąpieniem Uint32Array.

util.types.isUint32Array(new ArrayBuffer());  // Returns false
util.types.isUint32Array(new Uint32Array());  // Returns true
util.types.isUint32Array(new Float64Array());  // Returns false
isUint8Array(unknown)

Zwraca true, jeśli wartość jest wbudowanym wystąpieniem Uint8Array.

util.types.isUint8Array(new ArrayBuffer());  // Returns false
util.types.isUint8Array(new Uint8Array());  // Returns true
util.types.isUint8Array(new Float64Array());  // Returns false
isUint8ClampedArray(unknown)

Zwraca true, jeśli wartość jest wbudowanym wystąpieniem Uint8ClampedArray.

util.types.isUint8ClampedArray(new ArrayBuffer());  // Returns false
util.types.isUint8ClampedArray(new Uint8ClampedArray());  // Returns true
util.types.isUint8ClampedArray(new Float64Array());  // Returns false
isWeakMap(unknown)

Zwraca true, jeśli wartość jest wbudowanym wystąpieniem WeakMap.

util.types.isWeakMap(new WeakMap());  // Returns true
isWeakSet(unknown)

Zwraca true, jeśli wartość jest wbudowanym wystąpieniem WeakSet.

util.types.isWeakSet(new WeakSet());  // Returns true
inspect(any, boolean, number | null, boolean)

Metoda util.inspect() zwraca reprezentację ciągu object, która jest przeznaczona do debugowania. Dane wyjściowe util.inspect mogą ulec zmianie w dowolnym momencie i nie powinny być zależne od programowego. Można przekazać dodatkowe options, które zmieniają wynik. util.inspect() użyje nazwy i/lub Symbol.toStringTag właściwości konstruktora, aby wprowadzić rozpoznawalny tag dla sprawdzanej wartości.

class Foo {
  get [Symbol.toStringTag]() {
    return 'bar';
  }
}

class Bar {}

const baz = Object.create(null, { [Symbol.toStringTag]: { value: 'foo' } });

util.inspect(new Foo()); // 'Foo [bar] {}'
util.inspect(new Bar()); // 'Bar {}'
util.inspect(baz);       // '[foo] {}'

Odwołania cykliczne wskazują na ich kotwicę przy użyciu indeksu odwołania:

import { inspect } from 'node:util';

const obj = {};
obj.a = [obj];
obj.b = {};
obj.b.inner = obj.b;
obj.b.obj = obj;

console.log(inspect(obj));
// <ref *1> {
//   a: [ [Circular *1] ],
//   b: <ref *2> { inner: [Circular *2], obj: [Circular *1] }
// }

Poniższy przykład sprawdza wszystkie właściwości obiektu util:

import util from 'node:util';

console.log(util.inspect(util, { showHidden: true, depth: null }));

W poniższym przykładzie wyróżniono efekt compact opcji:

import { inspect } from 'node:util';

const o = {
  a: [1, 2, [[
    'Lorem ipsum dolor sit amet,\nconsectetur adipiscing elit, sed do ' +
      'eiusmod \ntempor incididunt ut labore et dolore magna aliqua.',
    'test',
    'foo']], 4],
  b: new Map([['za', 1], ['zb', 'test']]),
};
console.log(inspect(o, { compact: true, depth: 5, breakLength: 80 }));

// { a:
//   [ 1,
//     2,
//     [ [ 'Lorem ipsum dolor sit amet,\nconsectetur [...]', // A long line
//           'test',
//           'foo' ] ],
//     4 ],
//   b: Map(2) { 'za' => 1, 'zb' => 'test' } }

// Setting `compact` to false or an integer creates more reader friendly output.
console.log(inspect(o, { compact: false, depth: 5, breakLength: 80 }));

// {
//   a: [
//     1,
//     2,
//     [
//       [
//         'Lorem ipsum dolor sit amet,\n' +
//           'consectetur adipiscing elit, sed do eiusmod \n' +
//           'tempor incididunt ut labore et dolore magna aliqua.',
//         'test',
//         'foo'
//       ]
//     ],
//     4
//   ],
//   b: Map(2) {
//     'za' => 1,
//     'zb' => 'test'
//   }
// }

// Setting `breakLength` to e.g. 150 will print the "Lorem ipsum" text in a
// single line.

Opcja showHidden umożliwia inspekcję WeakMap i WeakSet wpisów. Jeśli istnieje więcej wpisów niż maxArrayLength, nie ma gwarancji, które wpisy są wyświetlane. Oznacza to, że pobieranie tych samych wpisów WeakSet dwa razy może spowodować powstanie różnych danych wyjściowych. Ponadto wpisy bez pozostałych silnych odwołań mogą być w dowolnym momencie wyrzucane śmieci.

import { inspect } from 'node:util';

const obj = { a: 1 };
const obj2 = { b: 2 };
const weakSet = new WeakSet([obj, obj2]);

console.log(inspect(weakSet, { showHidden: true }));
// WeakSet { { a: 1 }, { b: 2 } }

Opcja sorted gwarantuje, że kolejność wstawiania właściwości obiektu nie ma wpływu na wynik util.inspect().

import { inspect } from 'node:util';
import assert from 'node:assert';

const o1 = {
  b: [2, 3, 1],
  a: '`a` comes before `b`',
  c: new Set([2, 3, 1]),
};
console.log(inspect(o1, { sorted: true }));
// { a: '`a` comes before `b`', b: [ 2, 3, 1 ], c: Set(3) { 1, 2, 3 } }
console.log(inspect(o1, { sorted: (a, b) => b.localeCompare(a) }));
// { c: Set(3) { 3, 2, 1 }, b: [ 2, 3, 1 ], a: '`a` comes before `b`' }

const o2 = {
  c: new Set([2, 1, 3]),
  a: '`a` comes before `b`',
  b: [2, 3, 1],
};
assert.strict.equal(
  inspect(o1, { sorted: true }),
  inspect(o2, { sorted: true }),
);

Opcja numericSeparator dodaje podkreślenie co trzy cyfry do wszystkich liczb.

import { inspect } from 'node:util';

const thousand = 1000;
const million = 1000000;
const bigNumber = 123456789n;
const bigDecimal = 1234.12345;

console.log(inspect(thousand, { numericSeparator: true }));
// 1_000
console.log(inspect(million, { numericSeparator: true }));
// 1_000_000
console.log(inspect(bigNumber, { numericSeparator: true }));
// 123_456_789n
console.log(inspect(bigDecimal, { numericSeparator: true }));
// 1_234.123_45

util.inspect() jest metodą synchroniczną przeznaczoną do debugowania. Maksymalna długość danych wyjściowych wynosi około 128 MiB. Dane wejściowe, które powodują dłuższe dane wyjściowe, zostaną obcięte.

promisify<TCustom>(CustomPromisify<TCustom>)

Przyjmuje funkcję po typowym stylu wywołania zwrotnego typu "pierwszy błąd", tj. biorąc (err, value) => ... wywołanie zwrotne jako ostatni argument i zwraca wersję zwracającą obietnice.

import { promisify } from 'node:util';
import { stat } from 'node:fs';

const promisifiedStat = promisify(stat);
promisifiedStat('.').then((stats) => {
  // Do something with `stats`
}).catch((error) => {
  // Handle the error.
});

Możesz też użyć async functions:

import { promisify } from 'node:util';
import { stat } from 'node:fs';

const promisifiedStat = promisify(stat);

async function callStat() {
  const stats = await promisifiedStat('.');
  console.log(`This directory is owned by ${stats.uid}`);
}

callStat();

Jeśli istnieje original[util.promisify.custom] właściwość , promisify zwróci jej wartość, zobacz Niestandardowe funkcje promisified.

promisify() zakłada, że original jest funkcją przyjmującą wywołanie zwrotne jako ostatni argument we wszystkich przypadkach. Jeśli original nie jest funkcją, promisify() zgłosi błąd. Jeśli original jest funkcją, ale jej ostatni argument nie jest wywołaniem zwrotnym pierwszego błędu, nadal będzie przekazywany wywołanie zwrotne typu "pierwszy" jako ostatni argument.

Użycie promisify() metod klasy lub innych metod korzystających z this może nie działać zgodnie z oczekiwaniami, chyba że są obsługiwane specjalnie:

import { promisify } from 'node:util';

class Foo {
  constructor() {
    this.a = 42;
  }

  bar(callback) {
    callback(null, this.a);
  }
}

const foo = new Foo();

const naiveBar = promisify(foo.bar);
// TypeError: Cannot read properties of undefined (reading 'a')
// naiveBar().then(a => console.log(a));

naiveBar.call(foo).then((a) => console.log(a)); // '42'

const bindBar = naiveBar.bind(foo);
bindBar().then((a) => console.log(a)); // '42'
aborted(AbortSignal, any)

Nasłuchuje zdarzenia przerwania w podanym signal i zwraca obietnicę, która rozwiązuje się po przerwaniu signal. Jeśli resource zostanie podana, słabo odwołuje się do skojarzonego obiektu operacji, więc jeśli resource jest wyrzucana śmieci przed przerwaniami signal, zwracana obietnica pozostanie w toku. Zapobiega to wyciekom pamięci w długotrwałych lub niemożliwych do anulowania operacjach.

import { aborted } from 'node:util';

// Obtain an object with an abortable signal, like a custom resource or operation.
const dependent = obtainSomethingAbortable();

// Pass `dependent` as the resource, indicating the promise should only resolve
// if `dependent` is still in memory when the signal is aborted.
aborted(dependent.signal, dependent).then(() => {
  // This code runs when `dependent` is aborted.
  console.log('Dependent resource was aborted.');
});

// Simulate an event that triggers the abort.
dependent.on('event', () => {
  dependent.abort(); // This will cause the `aborted` promise to resolve.
});
addParamToUrl(string, string, string)

Dodaje parametr do danego adresu URL

assign(any[])

Kopiuje wartości wszystkich właściwości wyliczalnych z co najmniej jednego obiektu źródłowego do obiektu docelowego i zwraca obiekt docelowy.

autoAuthInEmbedUrl(string)

Sprawdza, czy adres URL osadzania zawiera autoAuth=true.

callbackify(() => Promise<void>)

Pobiera funkcję async (lub funkcję zwracającą Promise) i zwraca funkcję po stylu wywołania zwrotnego pierwszego błędu, tj. biorąc wywołanie zwrotne (err, value) => ... jako ostatni argument. W wywołaniu zwrotnym pierwszym argumentem będzie przyczyna odrzucenia (lub null, jeśli Promise rozwiązana), a drugim argumentem będzie rozpoznana wartość.

import { callbackify } from 'node:util';

async function fn() {
  return 'hello world';
}
const callbackFunction = callbackify(fn);

callbackFunction((err, ret) => {
  if (err) throw err;
  console.log(ret);
});

Drukuje:

hello world

Wywołanie zwrotne jest wykonywane asynchronicznie i będzie miało ograniczony ślad stosu. Jeśli wywołanie zwrotne jest zwracane, proces będzie emitować zdarzenie 'uncaughtException', a jeśli nie zostanie obsłużone, zakończy się.

Ponieważ null ma specjalne znaczenie jako pierwszy argument wywołania zwrotnego, jeśli opakowana funkcja odrzuca Promise z falsyną wartością jako przyczyną, wartość jest owinięta w Error z oryginalną wartością przechowywaną w polu o nazwie reason.

import util from 'node:util';

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 && Object.hasOwn(err, 'reason') && err.reason === null;  // true
});
callbackify<TResult>(() => Promise<TResult>)
callbackify<T1>((arg1: T1) => Promise<void>)
callbackify<T1, TResult>((arg1: T1) => Promise<TResult>)
callbackify<T1, T2>((arg1: T1, arg2: T2) => Promise<void>)
callbackify<T1, T2, TResult>((arg1: T1, arg2: T2) => Promise<TResult>)
callbackify<T1, T2, T3>((arg1: T1, arg2: T2, arg3: T3) => Promise<void>)
callbackify<T1, T2, T3, TResult>((arg1: T1, arg2: T2, arg3: T3) => Promise<TResult>)
callbackify<T1, T2, T3, T4>((arg1: T1, arg2: T2, arg3: T3, arg4: T4) => Promise<void>)
callbackify<T1, T2, T3, T4, TResult>((arg1: T1, arg2: T2, arg3: T3, arg4: T4) => Promise<TResult>)
callbackify<T1, T2, T3, T4, T5>((arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5) => Promise<void>)
callbackify<T1, T2, T3, T4, T5, TResult>((arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5) => Promise<TResult>)
callbackify<T1, T2, T3, T4, T5, T6>((arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5, arg6: T6) => Promise<void>)
callbackify<T1, T2, T3, T4, T5, T6, TResult>((arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5, arg6: T6) => Promise<TResult>)
convertProcessSignalToExitCode(Signals)

Metoda util.convertProcessSignalToExitCode() konwertuje nazwę sygnału na odpowiedni kod zakończenia POSIX. Zgodnie ze standardem POSIX kod zakończenia procesu zakończonego przez sygnał jest obliczany jako 128 + signal number.

Jeśli signal nie jest prawidłową nazwą sygnału, zostanie zgłoszony błąd. Zobacz signal(7) listę prawidłowych sygnałów.

import { convertProcessSignalToExitCode } from 'node:util';

console.log(convertProcessSignalToExitCode('SIGTERM')); // 143 (128 + 15)
console.log(convertProcessSignalToExitCode('SIGKILL')); // 137 (128 + 9)

Jest to szczególnie przydatne podczas pracy z procesami w celu określenia kodu zakończenia na podstawie sygnału, który zakończył proces.

createRandomString()

Generuje losowy ciąg od 5 do 6 znaków.

debuglog(string, (fn: DebugLoggerFunction) => void)

Metoda util.debuglog() służy do tworzenia funkcji, która warunkowo zapisuje komunikaty debugowania w oparciu stderr o istnienie zmiennej środowiskowej NODE_DEBUG . Jeśli nazwa section pojawi się w wartości tej zmiennej środowiskowej, zwracana funkcja działa podobnie do console.error(). Jeśli nie, zwracana funkcja jest no-op.

import { debuglog } from 'node:util';
const log = debuglog('foo');

log('hello from foo [%d]', 123);

Jeśli ten program zostanie uruchomiony z NODE_DEBUG=foo w środowisku, dane wyjściowe będą wyglądać mniej więcej tak:

FOO 3245: hello from foo [123]

gdzie 3245 jest identyfikatorem procesu. Jeśli nie zostanie uruchomiona z tym zestawem zmiennych środowiskowych, nie będzie ona drukować niczego.

section obsługuje również symbol wieloznaczny:

import { debuglog } from 'node:util';
const log = debuglog('foo-bar');

log('hi there, it\'s foo-bar [%d]', 2333);

jeśli jest uruchamiany z NODE_DEBUG=foo* w środowisku, dane wyjściowe będą wyglądać mniej więcej tak:

FOO-BAR 3257: hi there, it's foo-bar [2333]

W zmiennej środowiskowej section można określić wiele nazw rozdzielonych NODE_DEBUG przecinkami: NODE_DEBUG=fs,net,tls.

Opcjonalny argument callback może służyć do zastępowania funkcji rejestrowania inną funkcją, która nie ma żadnych inicjalizacji ani niepotrzebnych zawijania.

import { debuglog } from 'node:util';
let log = debuglog('internals', (debug) => {
  // Replace with a logging function that optimizes out
  // testing if the section is enabled
  log = debug;
});
deprecate<T>(T, string, string, DeprecateOptions)

Metoda util.deprecate() zawija fn (która może być funkcją lub klasą) w taki sposób, że jest oznaczona jako przestarzała.

import { deprecate } from 'node:util';

export const obsoleteFunction = deprecate(() => {
  // Do something here.
}, 'obsoleteFunction() is deprecated. Use newShinyFunction() instead.');

Po wywołaniu util.deprecate() zwróci funkcję, która będzie emitować DeprecationWarning przy użyciu zdarzenia 'warning'. Ostrzeżenie zostanie wyemitowane i wydrukowane w celu stderr przy pierwszym wywołaniu zwróconej funkcji. Po emitowaniu ostrzeżenia opakowana funkcja jest wywoływana bez emitowania ostrzeżenia.

Jeśli ta sama opcjonalna code jest dostarczana w wielu wywołaniach do util.deprecate(), ostrzeżenie będzie emitowane tylko raz dla tego code.

import { deprecate } from 'node:util';

const fn1 = deprecate(
  () => 'a value',
  'deprecation message',
  'DEP0001',
);
const fn2 = deprecate(
  () => 'a  different value',
  'other dep message',
  'DEP0001',
);
fn1(); // Emits a deprecation warning with code DEP0001
fn2(); // Does not emit a deprecation warning because it has the same code

Jeśli są używane flagi wiersza polecenia --no-deprecation lub --no-warnings lub jeśli właściwość process.noDeprecation jest ustawiona na trueprzed do pierwszego ostrzeżenia o wycofaniu, metoda util.deprecate() nic nie robi.

Jeśli ustawiono flagi wiersza polecenia --trace-deprecation lub --trace-warnings lub właściwość process.traceDeprecation ma wartość true, ostrzeżenie i ślad stosu są drukowane w celu stderr wywołania przestarzałej funkcji.

Jeśli ustawiono flagę wiersza polecenia --throw-deprecation lub właściwość process.throwDeprecation została ustawiona na true, zostanie zgłoszony wyjątek po wywołaniu przestarzałej funkcji.

Flaga wiersza polecenia --throw-deprecation i właściwość process.throwDeprecation mają pierwszeństwo przed --trace-deprecation i process.traceDeprecation.

diff(string | (readonly string[]), string | (readonly string[]))

util.diff() Porównuje dwa ciągi lub wartości tablicy i zwraca tablicę wpisów różnicy. Używa algorytmu różnic Myers do obliczania minimalnych różnic, który jest tym samym algorytmem używanym wewnętrznie przez komunikaty o błędach asercji.

Jeśli wartości są równe, zwracana jest pusta tablica.

const { diff } = require('node:util');

// Comparing strings
const actualString = '12345678';
const expectedString = '12!!5!7!';
console.log(diff(actualString, expectedString));
// [
//   [0, '1'],
//   [0, '2'],
//   [1, '3'],
//   [1, '4'],
//   [-1, '!'],
//   [-1, '!'],
//   [0, '5'],
//   [1, '6'],
//   [-1, '!'],
//   [0, '7'],
//   [1, '8'],
//   [-1, '!'],
// ]
// Comparing arrays
const actualArray = ['1', '2', '3'];
const expectedArray = ['1', '3', '4'];
console.log(diff(actualArray, expectedArray));
// [
//   [0, '1'],
//   [1, '2'],
//   [0, '3'],
//   [-1, '4'],
// ]
// Equal values return empty array
console.log(diff('same', 'same'));
// []
find<T>((x: T) => boolean, T[])

Znajduje pierwszą wartość w tablicy zgodnej z określonym predykatem.

findIndex<T>((x: T) => boolean, T[])

Znajduje indeks pierwszej wartości w tablicy zgodnej z określonym predykatem.

format(any, any[])

Metoda util.format() zwraca sformatowany ciąg przy użyciu pierwszego argumentu jako ciągu formatu printf, który może zawierać zero lub więcej specyfikatorów formatu. Każdy specyfikator jest zastępowany przekonwertowaną wartością z odpowiedniego argumentu. Obsługiwane specyfikatory to:

Jeśli specyfikator nie ma odpowiedniego argumentu, nie zostanie zastąpiony:

util.format('%s:%s', 'foo');
// Returns: 'foo:%s'

Wartości, które nie są częścią ciągu formatu, są formatowane przy użyciu util.inspect(), jeśli ich typ nie jest string.

Jeśli do metody util.format() jest przekazywanych więcej argumentów niż liczba specyfikatorów, dodatkowe argumenty są łączone z zwracanym ciągiem rozdzielonym spacjami:

util.format('%s:%s', 'foo', 'bar', 'baz');
// Returns: 'foo:bar baz'

Jeśli pierwszy argument nie zawiera prawidłowego specyfikatora formatu, util.format() zwraca ciąg, który jest łączeniem wszystkich argumentów rozdzielonych spacjami:

util.format(1, 2, 3);
// Returns: '1 2 3'

Jeśli tylko jeden argument jest przekazywany do util.format(), jest zwracany jako bez żadnego formatowania:

util.format('%% %s');
// Returns: '%% %s'

util.format() to metoda synchroniczna, która jest przeznaczona jako narzędzie do debugowania. Niektóre wartości wejściowe mogą mieć znaczne obciążenie związane z wydajnością, które mogą blokować pętlę zdarzeń. Tej funkcji należy używać z ostrożnością i nigdy w gorącej ścieżce kodu.

formatWithOptions(InspectOptions, any, any[])

Ta funkcja jest identyczna z formatem , z wyjątkiem tego, że przyjmuje argument inspectOptions, który określa opcje przekazywane do inspekcji.

util.formatWithOptions({ colors: true }, 'See object %O', { foo: 42 });
// Returns 'See object { foo: 42 }', where `42` is colored as a number
// when printed to a terminal.
generateUUID()

Generuje identyfikator uuid 20 znaków.

getCallSites(number, GetCallSitesOptions)

Zwraca tablicę obiektów lokacji wywołań zawierających stos funkcji wywołującej.

W przeciwieństwie do uzyskiwania dostępu do elementu wynik zwrócony z tego interfejsu error.stackAPI nie jest zakłócany przez Error.prepareStackTraceelement .

import { getCallSites } from 'node:util';

function exampleFunction() {
  const callSites = getCallSites();

  console.log('Call Sites:');
  callSites.forEach((callSite, index) => {
    console.log(`CallSite ${index + 1}:`);
    console.log(`Function Name: ${callSite.functionName}`);
    console.log(`Script Name: ${callSite.scriptName}`);
    console.log(`Line Number: ${callSite.lineNumber}`);
    console.log(`Column Number: ${callSite.columnNumber}`);
  });
  // CallSite 1:
  // Function Name: exampleFunction
  // Script Name: /home/example.js
  // Line Number: 5
  // Column Number: 26

  // CallSite 2:
  // Function Name: anotherFunction
  // Script Name: /home/example.js
  // Line Number: 22
  // Column Number: 3

  // ...
}

// A function to simulate another stack layer
function anotherFunction() {
  exampleFunction();
}

anotherFunction();

Można odtworzyć oryginalne lokalizacje, ustawiając opcję sourceMap na true. Jeśli mapa źródłowa jest niedostępna, oryginalna lokalizacja będzie taka sama jak bieżąca lokalizacja. Po włączeniu --enable-source-maps flagi sourceMap domyślnie będzie ona mieć wartość true.

import { getCallSites } from 'node:util';

interface Foo {
  foo: string;
}

const callSites = getCallSites({ sourceMap: true });

// With sourceMap:
// Function Name: ''
// Script Name: example.js
// Line Number: 7
// Column Number: 26

// Without sourceMap:
// Function Name: ''
// Script Name: example.js
// Line Number: 2
// Column Number: 26
getCallSites(GetCallSitesOptions)
getRandomValue()

Zwraca liczbę losową

getSystemErrorMap()

Zwraca mapę wszystkich kodów błędów systemowych dostępnych w interfejsie API Node.js. Mapowanie między kodami błędów a nazwami błędów jest zależne od platformy. Zobacz Common System Errors nazwy typowych błędów.

fs.access('file/that/does/not/exist', (err) => {
  const errorMap = util.getSystemErrorMap();
  const name = errorMap.get(err.errno);
  console.error(name);  // ENOENT
});
getSystemErrorMessage(number)

Zwraca komunikat ciągu dla liczbowego kodu błędu pochodzącego z interfejsu API Node.js. Mapowanie między kodami błędów i komunikatami ciągów jest zależne od platformy.

fs.access('file/that/does/not/exist', (err) => {
  const message = util.getSystemErrorMessage(err.errno);
  console.error(message);  // no such file or directory
});
getSystemErrorName(number)

Zwraca nazwę ciągu dla kodu błędu liczbowego pochodzącego z interfejsu API Node.js. Mapowanie między kodami błędów a nazwami błędów jest zależne od platformy. Zobacz Common System Errors nazwy typowych błędów.

fs.access('file/that/does/not/exist', (err) => {
  const name = util.getSystemErrorName(err.errno);
  console.error(name);  // ENOENT
});
getTimeDiffInMilliseconds(Date, Date)

Zwraca interwał czasu między dwiema datami w milisekundach

inherits(unknown, unknown)

Nie zaleca się używania util.inherits(). Użyj słów kluczowych class i extends ES6, aby uzyskać obsługę dziedziczenia na poziomie języka. Należy również zauważyć, że dwa style są semantycznie niezgodne.

Dziedzicz metody prototypowe z jednego konstruktora do innego. Prototyp constructor zostanie ustawiony na nowy obiekt utworzony na podstawie superConstructor.

Powoduje to głównie dodanie weryfikacji danych wejściowych na podstawie elementu Object.setPrototypeOf(constructor.prototype, superConstructor.prototype). Jako dodatkowa wygoda superConstructor będzie dostępna za pośrednictwem obiektu constructor.super_.

const util = require('node:util');
const EventEmitter = require('node: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!"

Przykład ES6 korzystający z class i extends:

import EventEmitter from 'node: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');
inspect(any, InspectOptions)
isArray(unknown)

Alias dla elementu Array.isArray().

Zwraca true, jeśli dana object jest Array. W przeciwnym razie zwraca wartość false.

import util from 'node:util';

util.isArray([]);
// Returns: true
util.isArray(new Array());
// Returns: true
util.isArray({});
// Returns: false
isCreate(string)

Sprawdza, czy typ osadzania jest przeznaczony do utworzenia

isDeepStrictEqual(unknown, unknown, IsDeepStrictEqualOptions)

Zwraca true, jeśli istnieje głęboka ścisła równość między val1 a val2. W przeciwnym razie zwraca wartość false.

Aby uzyskać więcej informacji na temat głębokiej równości, zobacz assert.deepStrictEqual().

isRDLEmbed(string)

Sprawdza, czy adres URL osadzania jest przeznaczony dla raportu języka RDL.

isSavedInternal(HttpPostMessage, string, Window)

Sprawdza, czy raport jest zapisany.

parseArgs<T>(T)

Udostępnia interfejs API wyższego poziomu do analizowania argumentów wiersza polecenia niż bezpośrednia interakcja z process.argv. Przyjmuje specyfikację oczekiwanych argumentów i zwraca obiekt ustrukturyzowany z analizowanymi opcjami i pozycjami.

import { parseArgs } from 'node:util';
const args = ['-f', '--bar', 'b'];
const options = {
  foo: {
    type: 'boolean',
    short: 'f',
  },
  bar: {
    type: 'string',
  },
};
const {
  values,
  positionals,
} = parseArgs({ args, options });
console.log(values, positionals);
// Prints: [Object: null prototype] { foo: true, bar: 'b' } []
parseEnv(string)

Stabilność: 1.1 — Aktywny rozwój, biorąc pod uwagę przykładowy plik .env:

import { parseEnv } from 'node:util';

parseEnv('HELLO=world\nHELLO=oh my\n');
// Returns: { HELLO: 'oh my' }
promisify<TResult>((callback: (err: any, result: TResult) => void) => void)
promisify((callback: (err?: any) => void) => void)
promisify<T1, TResult>((arg1: T1, callback: (err: any, result: TResult) => void) => void)
promisify<T1>((arg1: T1, callback: (err?: any) => void) => void)
promisify<T1, T2, TResult>((arg1: T1, arg2: T2, callback: (err: any, result: TResult) => void) => void)
promisify<T1, T2>((arg1: T1, arg2: T2, callback: (err?: any) => void) => void)
promisify<T1, T2, T3, TResult>((arg1: T1, arg2: T2, arg3: T3, callback: (err: any, result: TResult) => void) => void)
promisify<T1, T2, T3>((arg1: T1, arg2: T2, arg3: T3, callback: (err?: any) => void) => void)
promisify<T1, T2, T3, T4, TResult>((arg1: T1, arg2: T2, arg3: T3, arg4: T4, callback: (err: any, result: TResult) => void) => void)
promisify<T1, T2, T3, T4>((arg1: T1, arg2: T2, arg3: T3, arg4: T4, callback: (err?: any) => void) => void)
promisify<T1, T2, T3, T4, T5, TResult>((arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5, callback: (err: any, result: TResult) => void) => void)
promisify<T1, T2, T3, T4, T5>((arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5, callback: (err?: any) => void) => void)
promisify(Function)
raiseCustomEvent(HTMLElement, string, any)

Wywołuje zdarzenie niestandardowe z danymi zdarzenia w określonym elemecie HTML.

remove<T>((x: T) => boolean, T[])
setTraceSigInt(boolean)

Włącz lub wyłącz drukowanie śledzenia stosu w programie SIGINT. Interfejs API jest dostępny tylko w wątku głównym.

stripVTControlCharacters(string)

Zwraca str z usuniętymi kodami ucieczki ANSI.

console.log(util.stripVTControlCharacters('\u001B[4mvalue\u001B[0m'));
// Prints "value"
styleText(InspectColor | Object | (readonly InspectColor | `#${string}`[]), string, StyleTextOptions)

Ta funkcja zwraca sformatowany tekst uwzględniający format przekazany do drukowania w terminalu. Jest on świadomy możliwości terminalu i działa zgodnie z konfiguracją ustawioną za pośrednictwem NO_COLORzmiennych środowiskowych i NODE_DISABLE_COLORS . FORCE_COLOR

import { styleText } from 'node:util';
import { stderr } from 'node:process';

const successMessage = styleText('green', 'Success!');
console.log(successMessage);

const errorMessage = styleText(
  'red',
  'Error! Error!',
  // Validate if process.stderr has TTY
  { stream: stderr },
);
console.error(errorMessage);

util.inspect.colors również udostępnia formaty tekstowe, takie jak italici underline, i można połączyć oba te formaty:

console.log(
  util.styleText(['underline', 'italic'], 'My italic underlined message'),
);

Podczas przekazywania tablicy formatów kolejność zastosowanego formatu jest od lewej do prawej, więc następujący styl może zastąpić poprzedni.

console.log(
  util.styleText(['red', 'green'], 'text'), // green
);

Wartość none formatu specjalnego nie stosuje dodatkowego stylu do tekstu.

Oprócz wstępnie zdefiniowanych nazw kolorów obsługuje util.styleText() ciągi kolorów szesnastkowych przy użyciu sekwencji ucieczki ANSI TrueColor (24-bitowych). Kolory szesnastkowe można określić w formacie 3-cyfrowym (#RGB) lub 6-cyfrowym (#RRGGBB):

import { styleText } from 'node:util';

// 6-digit hex color
console.log(styleText('#ff5733', 'Orange text'));

// 3-digit hex color (shorthand)
console.log(styleText('#f00', 'Red text'));

// Hex color combined with other modifiers
console.log(styleText(['#00f', 'bold'], 'Bold blue text'));

Pełną listę formatów można znaleźć w modyfikatorów.

toUSVString(string)

Zwraca string po zastąpieniu wszelkich zastępczych punktów kodu (lub równoważnej, wszelkich nieparzystych jednostek kodu zastępczego) znakiem Unicode "zastępczym" U+FFFD.

transferableAbortController()

Tworzy i zwraca wystąpienie AbortController, którego AbortSignal jest oznaczone jako możliwe do przeniesienia i może być używane z structuredClone() lub postMessage().

transferableAbortSignal(AbortSignal)

Oznacza podane AbortSignal jako możliwe do przeniesienia, aby można było go używać zstructuredClone() i postMessage().

const signal = transferableAbortSignal(AbortSignal.timeout(100));
const channel = new MessageChannel();
channel.port2.postMessage(signal, [signal]);

Szczegóły funkcji

isAnyArrayBuffer(unknown)

Zwraca true, jeśli wartość jest wbudowanym wystąpieniem ArrayBuffer lub SharedArrayBuffer.

Zobacz również util.types.isArrayBuffer() i util.types.isSharedArrayBuffer().

util.types.isAnyArrayBuffer(new ArrayBuffer());  // Returns true
util.types.isAnyArrayBuffer(new SharedArrayBuffer());  // Returns true
function isAnyArrayBuffer(object: unknown): object is ArrayBufferLike

Parametry

object

unknown

Zwraca

object is ArrayBufferLike

isArgumentsObject(unknown)

Zwraca true, jeśli wartość jest obiektem arguments.

function foo() {
  util.types.isArgumentsObject(arguments);  // Returns true
}
function isArgumentsObject(object: unknown): object is IArguments

Parametry

object

unknown

Zwraca

object is IArguments

isArrayBuffer(unknown)

Zwraca true, jeśli wartość jest wbudowanym wystąpieniem ArrayBuffer. Nie uwzględniać wystąpień SharedArrayBuffer. Zazwyczaj pożądane jest przetestowanie obu tych metod; Zobacz util.types.isAnyArrayBuffer(), aby to sprawdzić.

util.types.isArrayBuffer(new ArrayBuffer());  // Returns true
util.types.isArrayBuffer(new SharedArrayBuffer());  // Returns false
function isArrayBuffer(object: unknown): object is ArrayBuffer

Parametry

object

unknown

Zwraca

object is ArrayBuffer

isArrayBufferView(unknown)

Zwraca true, jeśli wartość jest wystąpieniem jednego z widoków ArrayBuffer, takich jak typizowane obiekty tablicowe lub DataView. Odpowiednik ArrayBuffer.isView().

util.types.isArrayBufferView(new Int8Array());  // true
util.types.isArrayBufferView(Buffer.from('hello world')); // true
util.types.isArrayBufferView(new DataView(new ArrayBuffer(16)));  // true
util.types.isArrayBufferView(new ArrayBuffer());  // false
function isArrayBufferView(object: unknown): object is ArrayBufferView

Parametry

object

unknown

Zwraca

object is ArrayBufferView

isAsyncFunction(unknown)

Zwraca true, jeśli wartość jest funkcją asynchroniową . Zgłasza to tylko, co widzi aparat JavaScript; w szczególności wartość zwracana może nie być zgodna z oryginalnym kodem źródłowym, jeśli użyto narzędzia transpilacji.

util.types.isAsyncFunction(function foo() {});  // Returns false
util.types.isAsyncFunction(async function foo() {});  // Returns true
function isAsyncFunction(object: unknown): boolean

Parametry

object

unknown

Zwraca

boolean

isBigInt64Array(unknown)

Zwraca true, jeśli wartość jest wystąpieniem BigInt64Array.

util.types.isBigInt64Array(new BigInt64Array());   // Returns true
util.types.isBigInt64Array(new BigUint64Array());  // Returns false
function isBigInt64Array(value: unknown): value is BigInt64Array

Parametry

value

unknown

Zwraca

value is BigInt64Array

isBigIntObject(unknown)

Zwraca true, jeśli wartość jest obiektem BigInt, np. utworzonym przez Object(BigInt(123)).

util.types.isBigIntObject(Object(BigInt(123)));   // Returns true
util.types.isBigIntObject(BigInt(123));   // Returns false
util.types.isBigIntObject(123);  // Returns false
function isBigIntObject(object: unknown): object is BigInt

Parametry

object

unknown

Zwraca

object is BigInt

isBigUint64Array(unknown)

Zwraca true, jeśli wartość jest wystąpieniem BigUint64Array.

util.types.isBigUint64Array(new BigInt64Array());   // Returns false
util.types.isBigUint64Array(new BigUint64Array());  // Returns true
function isBigUint64Array(value: unknown): value is BigUint64Array

Parametry

value

unknown

Zwraca

value is BigUint64Array

isBooleanObject(unknown)

Zwraca true, jeśli wartość jest obiektem logicznym, np. utworzonym przez new Boolean().

util.types.isBooleanObject(false);  // Returns false
util.types.isBooleanObject(true);   // Returns false
util.types.isBooleanObject(new Boolean(false)); // Returns true
util.types.isBooleanObject(new Boolean(true));  // Returns true
util.types.isBooleanObject(Boolean(false)); // Returns false
util.types.isBooleanObject(Boolean(true));  // Returns false
function isBooleanObject(object: unknown): object is Boolean

Parametry

object

unknown

Zwraca

object is Boolean

isBoxedPrimitive(unknown)

Zwraca true, jeśli wartość jest dowolnym obiektem pierwotnym pola, np. utworzonym przez new Boolean(), new String() lub Object(Symbol()).

Przykład:

util.types.isBoxedPrimitive(false); // Returns false
util.types.isBoxedPrimitive(new Boolean(false)); // Returns true
util.types.isBoxedPrimitive(Symbol('foo')); // Returns false
util.types.isBoxedPrimitive(Object(Symbol('foo'))); // Returns true
util.types.isBoxedPrimitive(Object(BigInt(5))); // Returns true
function isBoxedPrimitive(object: unknown): object is String | Number | Boolean | Symbol | BigInt

Parametry

object

unknown

Zwraca

object is String | Number | Boolean | Symbol | BigInt

isCryptoKey(unknown)

Zwraca true, jeśli value jest CryptoKey, false w przeciwnym razie.

function isCryptoKey(object: unknown): object is CryptoKey

Parametry

object

unknown

Zwraca

object is CryptoKey

isDataView(unknown)

Zwraca true, jeśli wartość jest wbudowanym wystąpieniem DataView.

const ab = new ArrayBuffer(20);
util.types.isDataView(new DataView(ab));  // Returns true
util.types.isDataView(new Float64Array());  // Returns false

Zobacz również ArrayBuffer.isView().

function isDataView(object: unknown): object is DataView

Parametry

object

unknown

Zwraca

object is DataView

isDate(unknown)

Zwraca true, jeśli wartość jest wbudowanym wystąpieniem Date.

util.types.isDate(new Date());  // Returns true
function isDate(object: unknown): object is Date

Parametry

object

unknown

Zwraca

object is Date

isExternal(unknown)

Zwraca true, jeśli wartość jest wartością natywną External.

Natywna wartość External to specjalny typ obiektu, który zawiera nieprzetworzone wskaźniki języka C++ (void*) na potrzeby dostępu z kodu natywnego i nie ma innych właściwości. Takie obiekty są tworzone przez Node.js wewnętrznych lub natywnych dodatków. W języku JavaScript są zamrożone obiekty z prototypem null .

#include <js_native_api.h>
#include <stdlib.h>
napi_value result;
static napi_value MyNapi(napi_env env, napi_callback_info info) {
  int* raw = (int*) malloc(1024);
  napi_status status = napi_create_external(env, (void*) raw, NULL, NULL, &result);
  if (status != napi_ok) {
    napi_throw_error(env, NULL, "napi_create_external failed");
    return NULL;
  }
  return result;
}
...
DECLARE_NAPI_PROPERTY("myNapi", MyNapi)
...
import native from 'napi_addon.node';
import { types } from 'node:util';

const data = native.myNapi();
types.isExternal(data); // returns true
types.isExternal(0); // returns false
types.isExternal(new String('foo')); // returns false

Aby uzyskać więcej informacji na temat napi_create_external, zobacz napi_create_external().

function isExternal(object: unknown): boolean

Parametry

object

unknown

Zwraca

boolean

isFloat16Array(unknown)

Zwraca true, jeśli wartość jest wbudowanym wystąpieniem Float16Array.

util.types.isFloat16Array(new ArrayBuffer());  // Returns false
util.types.isFloat16Array(new Float16Array());  // Returns true
util.types.isFloat16Array(new Float32Array());  // Returns false
function isFloat16Array(object: unknown): object is Float16Array

Parametry

object

unknown

Zwraca

object is Float16Array

isFloat32Array(unknown)

Zwraca true, jeśli wartość jest wbudowanym wystąpieniem Float32Array.

util.types.isFloat32Array(new ArrayBuffer());  // Returns false
util.types.isFloat32Array(new Float32Array());  // Returns true
util.types.isFloat32Array(new Float64Array());  // Returns false
function isFloat32Array(object: unknown): object is Float32Array

Parametry

object

unknown

Zwraca

object is Float32Array

isFloat64Array(unknown)

Zwraca true, jeśli wartość jest wbudowanym wystąpieniem Float64Array.

util.types.isFloat64Array(new ArrayBuffer());  // Returns false
util.types.isFloat64Array(new Uint8Array());  // Returns false
util.types.isFloat64Array(new Float64Array());  // Returns true
function isFloat64Array(object: unknown): object is Float64Array

Parametry

object

unknown

Zwraca

object is Float64Array

isGeneratorFunction(unknown)

Zwraca true, jeśli wartość jest funkcją generatora. Zgłasza to tylko, co widzi aparat JavaScript; w szczególności wartość zwracana może nie być zgodna z oryginalnym kodem źródłowym, jeśli użyto narzędzia transpilacji.

util.types.isGeneratorFunction(function foo() {});  // Returns false
util.types.isGeneratorFunction(function* foo() {});  // Returns true
function isGeneratorFunction(object: unknown): object is GeneratorFunction

Parametry

object

unknown

Zwraca

object is GeneratorFunction

isGeneratorObject(unknown)

Zwraca true, jeśli wartość jest obiektem generatora zwracanym z wbudowanej funkcji generatora. Zgłasza to tylko, co widzi aparat JavaScript; w szczególności wartość zwracana może nie być zgodna z oryginalnym kodem źródłowym, jeśli użyto narzędzia transpilacji.

function* foo() {}
const generator = foo();
util.types.isGeneratorObject(generator);  // Returns true
function isGeneratorObject(object: unknown): object is Generator

Parametry

object

unknown

Zwraca

object is Generator

isInt16Array(unknown)

Zwraca true, jeśli wartość jest wbudowanym wystąpieniem Int16Array.

util.types.isInt16Array(new ArrayBuffer());  // Returns false
util.types.isInt16Array(new Int16Array());  // Returns true
util.types.isInt16Array(new Float64Array());  // Returns false
function isInt16Array(object: unknown): object is Int16Array

Parametry

object

unknown

Zwraca

object is Int16Array

isInt32Array(unknown)

Zwraca true, jeśli wartość jest wbudowanym wystąpieniem Int32Array.

util.types.isInt32Array(new ArrayBuffer());  // Returns false
util.types.isInt32Array(new Int32Array());  // Returns true
util.types.isInt32Array(new Float64Array());  // Returns false
function isInt32Array(object: unknown): object is Int32Array

Parametry

object

unknown

Zwraca

object is Int32Array

isInt8Array(unknown)

Zwraca true, jeśli wartość jest wbudowanym wystąpieniem Int8Array.

util.types.isInt8Array(new ArrayBuffer());  // Returns false
util.types.isInt8Array(new Int8Array());  // Returns true
util.types.isInt8Array(new Float64Array());  // Returns false
function isInt8Array(object: unknown): object is Int8Array

Parametry

object

unknown

Zwraca

object is Int8Array

isKeyObject(unknown)

Zwraca true, jeśli value jest KeyObject, false w przeciwnym razie.

function isKeyObject(object: unknown): object is KeyObject

Parametry

object

unknown

Zwraca

object is KeyObject

isMap<T>({} | T)

Zwraca true, jeśli wartość jest wbudowanym wystąpieniem Map.

util.types.isMap(new Map());  // Returns true
function isMap<T>(object: {} | T): object is (T extends ReadonlyMap<any, any> ? (unknown extends T ? never : ReadonlyMap<any, any>) : Map<unknown, unknown>)

Parametry

object

{} | T

Zwraca

object is (T extends ReadonlyMap<any, any> ? (unknown extends T ? never : ReadonlyMap<any, any>) : Map<unknown, unknown>)

isMapIterator(unknown)

Zwraca true, jeśli wartość jest iteratorem zwróconym dla wbudowanego wystąpienia Map.

const map = new Map();
util.types.isMapIterator(map.keys());  // Returns true
util.types.isMapIterator(map.values());  // Returns true
util.types.isMapIterator(map.entries());  // Returns true
util.types.isMapIterator(map[Symbol.iterator]());  // Returns true
function isMapIterator(object: unknown): boolean

Parametry

object

unknown

Zwraca

boolean

isModuleNamespaceObject(unknown)

Zwraca true, jeśli wartość jest wystąpieniem obiektu przestrzeni nazw modułu .

import * as ns from './a.js';

util.types.isModuleNamespaceObject(ns);  // Returns true
function isModuleNamespaceObject(value: unknown): boolean

Parametry

value

unknown

Zwraca

boolean

isNativeError(unknown)

Ostrzeżenie

Ten interfejs API jest już przestarzały.

The util.types.isNativeError API is deprecated. Please use Error.isError instead.

Zwraca true, jeśli wartość została zwrócona przez konstruktor wbudowanego typu Error.

console.log(util.types.isNativeError(new Error()));  // true
console.log(util.types.isNativeError(new TypeError()));  // true
console.log(util.types.isNativeError(new RangeError()));  // true

Podklasy typów błędów natywnych są również błędami natywnymi:

class MyError extends Error {}
console.log(util.types.isNativeError(new MyError()));  // true

Wartość instanceof natywnej klasy błędów nie jest równoważna isNativeError() zwracaniu true dla tej wartości. isNativeError() zwraca true błędów, które pochodzą z innego obszaru , podczas gdy instanceof Error zwraca false dla tych błędów:

import { createContext, runInContext } from 'node:vm';
import { types } from 'node:util';

const context = createContext({});
const myError = runInContext('new Error()', context);
console.log(types.isNativeError(myError)); // true
console.log(myError instanceof Error); // false

Z drugiej strony isNativeError() zwraca false dla wszystkich obiektów, które nie zostały zwrócone przez konstruktora błędu natywnego. Obejmuje to wartości, które są instanceof błędów natywnych:

const myError = { __proto__: Error.prototype };
console.log(util.types.isNativeError(myError)); // false
console.log(myError instanceof Error); // true
function isNativeError(object: unknown): object is Error

Parametry

object

unknown

Zwraca

object is Error

isNumberObject(unknown)

Zwraca true, jeśli wartość jest obiektem liczbowym, np. utworzonym przez new Number().

util.types.isNumberObject(0);  // Returns false
util.types.isNumberObject(new Number(0));   // Returns true
function isNumberObject(object: unknown): object is Number

Parametry

object

unknown

Zwraca

object is Number

isPromise(unknown)

Zwraca true, jeśli wartość jest wbudowaną Promise.

util.types.isPromise(Promise.resolve(42));  // Returns true
function isPromise(object: unknown): object is Promise<unknown>

Parametry

object

unknown

Zwraca

object is Promise<unknown>

isProxy(unknown)

Zwraca true, jeśli wartość jest wystąpieniem Proxy.

const target = {};
const proxy = new Proxy(target, {});
util.types.isProxy(target);  // Returns false
util.types.isProxy(proxy);  // Returns true
function isProxy(object: unknown): boolean

Parametry

object

unknown

Zwraca

boolean

isRegExp(unknown)

Zwraca true, jeśli wartość jest obiektem wyrażenia regularnego.

util.types.isRegExp(/abc/);  // Returns true
util.types.isRegExp(new RegExp('abc'));  // Returns true
function isRegExp(object: unknown): object is RegExp

Parametry

object

unknown

Zwraca

object is RegExp

isSet<T>({} | T)

Zwraca true, jeśli wartość jest wbudowanym wystąpieniem Set.

util.types.isSet(new Set());  // Returns true
function isSet<T>(object: {} | T): object is (T extends ReadonlySet<any> ? (unknown extends T ? never : ReadonlySet<any>) : Set<unknown>)

Parametry

object

{} | T

Zwraca

object is (T extends ReadonlySet<any> ? (unknown extends T ? never : ReadonlySet<any>) : Set<unknown>)

isSetIterator(unknown)

Zwraca true, jeśli wartość jest iteratorem zwróconym dla wbudowanego wystąpienia Set.

const set = new Set();
util.types.isSetIterator(set.keys());  // Returns true
util.types.isSetIterator(set.values());  // Returns true
util.types.isSetIterator(set.entries());  // Returns true
util.types.isSetIterator(set[Symbol.iterator]());  // Returns true
function isSetIterator(object: unknown): boolean

Parametry

object

unknown

Zwraca

boolean

isSharedArrayBuffer(unknown)

Zwraca true, jeśli wartość jest wbudowanym wystąpieniem SharedArrayBuffer. Nie uwzględniać wystąpień ArrayBuffer. Zazwyczaj pożądane jest przetestowanie obu tych metod; Zobacz util.types.isAnyArrayBuffer(), aby to sprawdzić.

util.types.isSharedArrayBuffer(new ArrayBuffer());  // Returns false
util.types.isSharedArrayBuffer(new SharedArrayBuffer());  // Returns true
function isSharedArrayBuffer(object: unknown): object is SharedArrayBuffer

Parametry

object

unknown

Zwraca

object is SharedArrayBuffer

isStringObject(unknown)

Zwraca true, jeśli wartość jest obiektem ciągu, np. utworzonym przez new String().

util.types.isStringObject('foo');  // Returns false
util.types.isStringObject(new String('foo'));   // Returns true
function isStringObject(object: unknown): object is String

Parametry

object

unknown

Zwraca

object is String

isSymbolObject(unknown)

Zwraca true, jeśli wartość jest obiektem symbolu, utworzonym przez wywołanie Object() na Symbol pierwotnym.

const symbol = Symbol('foo');
util.types.isSymbolObject(symbol);  // Returns false
util.types.isSymbolObject(Object(symbol));   // Returns true
function isSymbolObject(object: unknown): object is Symbol

Parametry

object

unknown

Zwraca

object is Symbol

isTypedArray(unknown)

Zwraca true, jeśli wartość jest wbudowanym wystąpieniem TypedArray.

util.types.isTypedArray(new ArrayBuffer());  // Returns false
util.types.isTypedArray(new Uint8Array());  // Returns true
util.types.isTypedArray(new Float64Array());  // Returns true

Zobacz również ArrayBuffer.isView().

function isTypedArray(object: unknown): object is TypedArray

Parametry

object

unknown

Zwraca

object is TypedArray

isUint16Array(unknown)

Zwraca true, jeśli wartość jest wbudowanym wystąpieniem Uint16Array.

util.types.isUint16Array(new ArrayBuffer());  // Returns false
util.types.isUint16Array(new Uint16Array());  // Returns true
util.types.isUint16Array(new Float64Array());  // Returns false
function isUint16Array(object: unknown): object is Uint16Array

Parametry

object

unknown

Zwraca

object is Uint16Array

isUint32Array(unknown)

Zwraca true, jeśli wartość jest wbudowanym wystąpieniem Uint32Array.

util.types.isUint32Array(new ArrayBuffer());  // Returns false
util.types.isUint32Array(new Uint32Array());  // Returns true
util.types.isUint32Array(new Float64Array());  // Returns false
function isUint32Array(object: unknown): object is Uint32Array

Parametry

object

unknown

Zwraca

object is Uint32Array

isUint8Array(unknown)

Zwraca true, jeśli wartość jest wbudowanym wystąpieniem Uint8Array.

util.types.isUint8Array(new ArrayBuffer());  // Returns false
util.types.isUint8Array(new Uint8Array());  // Returns true
util.types.isUint8Array(new Float64Array());  // Returns false
function isUint8Array(object: unknown): object is Uint8Array

Parametry

object

unknown

Zwraca

object is Uint8Array

isUint8ClampedArray(unknown)

Zwraca true, jeśli wartość jest wbudowanym wystąpieniem Uint8ClampedArray.

util.types.isUint8ClampedArray(new ArrayBuffer());  // Returns false
util.types.isUint8ClampedArray(new Uint8ClampedArray());  // Returns true
util.types.isUint8ClampedArray(new Float64Array());  // Returns false
function isUint8ClampedArray(object: unknown): object is Uint8ClampedArray

Parametry

object

unknown

Zwraca

object is Uint8ClampedArray

isWeakMap(unknown)

Zwraca true, jeśli wartość jest wbudowanym wystąpieniem WeakMap.

util.types.isWeakMap(new WeakMap());  // Returns true
function isWeakMap(object: unknown): object is WeakMap<object, unknown>

Parametry

object

unknown

Zwraca

object is WeakMap<object, unknown>

isWeakSet(unknown)

Zwraca true, jeśli wartość jest wbudowanym wystąpieniem WeakSet.

util.types.isWeakSet(new WeakSet());  // Returns true
function isWeakSet(object: unknown): object is WeakSet<object>

Parametry

object

unknown

Zwraca

object is WeakSet<object>

inspect(any, boolean, number | null, boolean)

Metoda util.inspect() zwraca reprezentację ciągu object, która jest przeznaczona do debugowania. Dane wyjściowe util.inspect mogą ulec zmianie w dowolnym momencie i nie powinny być zależne od programowego. Można przekazać dodatkowe options, które zmieniają wynik. util.inspect() użyje nazwy i/lub Symbol.toStringTag właściwości konstruktora, aby wprowadzić rozpoznawalny tag dla sprawdzanej wartości.

class Foo {
  get [Symbol.toStringTag]() {
    return 'bar';
  }
}

class Bar {}

const baz = Object.create(null, { [Symbol.toStringTag]: { value: 'foo' } });

util.inspect(new Foo()); // 'Foo [bar] {}'
util.inspect(new Bar()); // 'Bar {}'
util.inspect(baz);       // '[foo] {}'

Odwołania cykliczne wskazują na ich kotwicę przy użyciu indeksu odwołania:

import { inspect } from 'node:util';

const obj = {};
obj.a = [obj];
obj.b = {};
obj.b.inner = obj.b;
obj.b.obj = obj;

console.log(inspect(obj));
// <ref *1> {
//   a: [ [Circular *1] ],
//   b: <ref *2> { inner: [Circular *2], obj: [Circular *1] }
// }

Poniższy przykład sprawdza wszystkie właściwości obiektu util:

import util from 'node:util';

console.log(util.inspect(util, { showHidden: true, depth: null }));

W poniższym przykładzie wyróżniono efekt compact opcji:

import { inspect } from 'node:util';

const o = {
  a: [1, 2, [[
    'Lorem ipsum dolor sit amet,\nconsectetur adipiscing elit, sed do ' +
      'eiusmod \ntempor incididunt ut labore et dolore magna aliqua.',
    'test',
    'foo']], 4],
  b: new Map([['za', 1], ['zb', 'test']]),
};
console.log(inspect(o, { compact: true, depth: 5, breakLength: 80 }));

// { a:
//   [ 1,
//     2,
//     [ [ 'Lorem ipsum dolor sit amet,\nconsectetur [...]', // A long line
//           'test',
//           'foo' ] ],
//     4 ],
//   b: Map(2) { 'za' => 1, 'zb' => 'test' } }

// Setting `compact` to false or an integer creates more reader friendly output.
console.log(inspect(o, { compact: false, depth: 5, breakLength: 80 }));

// {
//   a: [
//     1,
//     2,
//     [
//       [
//         'Lorem ipsum dolor sit amet,\n' +
//           'consectetur adipiscing elit, sed do eiusmod \n' +
//           'tempor incididunt ut labore et dolore magna aliqua.',
//         'test',
//         'foo'
//       ]
//     ],
//     4
//   ],
//   b: Map(2) {
//     'za' => 1,
//     'zb' => 'test'
//   }
// }

// Setting `breakLength` to e.g. 150 will print the "Lorem ipsum" text in a
// single line.

Opcja showHidden umożliwia inspekcję WeakMap i WeakSet wpisów. Jeśli istnieje więcej wpisów niż maxArrayLength, nie ma gwarancji, które wpisy są wyświetlane. Oznacza to, że pobieranie tych samych wpisów WeakSet dwa razy może spowodować powstanie różnych danych wyjściowych. Ponadto wpisy bez pozostałych silnych odwołań mogą być w dowolnym momencie wyrzucane śmieci.

import { inspect } from 'node:util';

const obj = { a: 1 };
const obj2 = { b: 2 };
const weakSet = new WeakSet([obj, obj2]);

console.log(inspect(weakSet, { showHidden: true }));
// WeakSet { { a: 1 }, { b: 2 } }

Opcja sorted gwarantuje, że kolejność wstawiania właściwości obiektu nie ma wpływu na wynik util.inspect().

import { inspect } from 'node:util';
import assert from 'node:assert';

const o1 = {
  b: [2, 3, 1],
  a: '`a` comes before `b`',
  c: new Set([2, 3, 1]),
};
console.log(inspect(o1, { sorted: true }));
// { a: '`a` comes before `b`', b: [ 2, 3, 1 ], c: Set(3) { 1, 2, 3 } }
console.log(inspect(o1, { sorted: (a, b) => b.localeCompare(a) }));
// { c: Set(3) { 3, 2, 1 }, b: [ 2, 3, 1 ], a: '`a` comes before `b`' }

const o2 = {
  c: new Set([2, 1, 3]),
  a: '`a` comes before `b`',
  b: [2, 3, 1],
};
assert.strict.equal(
  inspect(o1, { sorted: true }),
  inspect(o2, { sorted: true }),
);

Opcja numericSeparator dodaje podkreślenie co trzy cyfry do wszystkich liczb.

import { inspect } from 'node:util';

const thousand = 1000;
const million = 1000000;
const bigNumber = 123456789n;
const bigDecimal = 1234.12345;

console.log(inspect(thousand, { numericSeparator: true }));
// 1_000
console.log(inspect(million, { numericSeparator: true }));
// 1_000_000
console.log(inspect(bigNumber, { numericSeparator: true }));
// 123_456_789n
console.log(inspect(bigDecimal, { numericSeparator: true }));
// 1_234.123_45

util.inspect() jest metodą synchroniczną przeznaczoną do debugowania. Maksymalna długość danych wyjściowych wynosi około 128 MiB. Dane wejściowe, które powodują dłuższe dane wyjściowe, zostaną obcięte.

function inspect(object: any, showHidden?: boolean, depth?: number | null, color?: boolean): string

Parametry

object

any

Dowolny kod pierwotny języka JavaScript lub Object.

showHidden

boolean

depth

number | null

color

boolean

Zwraca

string

Reprezentacja object.

promisify<TCustom>(CustomPromisify<TCustom>)

Przyjmuje funkcję po typowym stylu wywołania zwrotnego typu "pierwszy błąd", tj. biorąc (err, value) => ... wywołanie zwrotne jako ostatni argument i zwraca wersję zwracającą obietnice.

import { promisify } from 'node:util';
import { stat } from 'node:fs';

const promisifiedStat = promisify(stat);
promisifiedStat('.').then((stats) => {
  // Do something with `stats`
}).catch((error) => {
  // Handle the error.
});

Możesz też użyć async functions:

import { promisify } from 'node:util';
import { stat } from 'node:fs';

const promisifiedStat = promisify(stat);

async function callStat() {
  const stats = await promisifiedStat('.');
  console.log(`This directory is owned by ${stats.uid}`);
}

callStat();

Jeśli istnieje original[util.promisify.custom] właściwość , promisify zwróci jej wartość, zobacz Niestandardowe funkcje promisified.

promisify() zakłada, że original jest funkcją przyjmującą wywołanie zwrotne jako ostatni argument we wszystkich przypadkach. Jeśli original nie jest funkcją, promisify() zgłosi błąd. Jeśli original jest funkcją, ale jej ostatni argument nie jest wywołaniem zwrotnym pierwszego błędu, nadal będzie przekazywany wywołanie zwrotne typu "pierwszy" jako ostatni argument.

Użycie promisify() metod klasy lub innych metod korzystających z this może nie działać zgodnie z oczekiwaniami, chyba że są obsługiwane specjalnie:

import { promisify } from 'node:util';

class Foo {
  constructor() {
    this.a = 42;
  }

  bar(callback) {
    callback(null, this.a);
  }
}

const foo = new Foo();

const naiveBar = promisify(foo.bar);
// TypeError: Cannot read properties of undefined (reading 'a')
// naiveBar().then(a => console.log(a));

naiveBar.call(foo).then((a) => console.log(a)); // '42'

const bindBar = naiveBar.bind(foo);
bindBar().then((a) => console.log(a)); // '42'
function promisify<TCustom>(fn: CustomPromisify<TCustom>): TCustom

Parametry

fn

CustomPromisify<TCustom>

Zwraca

TCustom

aborted(AbortSignal, any)

Nasłuchuje zdarzenia przerwania w podanym signal i zwraca obietnicę, która rozwiązuje się po przerwaniu signal. Jeśli resource zostanie podana, słabo odwołuje się do skojarzonego obiektu operacji, więc jeśli resource jest wyrzucana śmieci przed przerwaniami signal, zwracana obietnica pozostanie w toku. Zapobiega to wyciekom pamięci w długotrwałych lub niemożliwych do anulowania operacjach.

import { aborted } from 'node:util';

// Obtain an object with an abortable signal, like a custom resource or operation.
const dependent = obtainSomethingAbortable();

// Pass `dependent` as the resource, indicating the promise should only resolve
// if `dependent` is still in memory when the signal is aborted.
aborted(dependent.signal, dependent).then(() => {
  // This code runs when `dependent` is aborted.
  console.log('Dependent resource was aborted.');
});

// Simulate an event that triggers the abort.
dependent.on('event', () => {
  dependent.abort(); // This will cause the `aborted` promise to resolve.
});
function aborted(signal: AbortSignal, resource: any): Promise<void>

Parametry

signal

AbortSignal

resource

any

Każdy obiekt bez wartości null związany z operacją abortable i przechowywany słabo. Jeśli resource jest wyrzucany śmieci przed przerwaniem signal, obietnica pozostaje oczekująca, co pozwoli Node.js zatrzymać śledzenie. Pomaga to zapobiegać wyciekom pamięci w długotrwałych lub niemożliwych do anulowania operacjach.

Zwraca

Promise<void>

addParamToUrl(string, string, string)

Dodaje parametr do danego adresu URL

function addParamToUrl(url: string, paramName: string, value: string): string

Parametry

url

string

paramName

string

value

string

Zwraca

string

assign(any[])

Kopiuje wartości wszystkich właściwości wyliczalnych z co najmniej jednego obiektu źródłowego do obiektu docelowego i zwraca obiekt docelowy.

function assign(args: any[]): any

Parametry

args

any[]

Zwraca

any

autoAuthInEmbedUrl(string)

Sprawdza, czy adres URL osadzania zawiera autoAuth=true.

function autoAuthInEmbedUrl(embedUrl: string): boolean

Parametry

embedUrl

string

Zwraca

boolean

callbackify(() => Promise<void>)

Pobiera funkcję async (lub funkcję zwracającą Promise) i zwraca funkcję po stylu wywołania zwrotnego pierwszego błędu, tj. biorąc wywołanie zwrotne (err, value) => ... jako ostatni argument. W wywołaniu zwrotnym pierwszym argumentem będzie przyczyna odrzucenia (lub null, jeśli Promise rozwiązana), a drugim argumentem będzie rozpoznana wartość.

import { callbackify } from 'node:util';

async function fn() {
  return 'hello world';
}
const callbackFunction = callbackify(fn);

callbackFunction((err, ret) => {
  if (err) throw err;
  console.log(ret);
});

Drukuje:

hello world

Wywołanie zwrotne jest wykonywane asynchronicznie i będzie miało ograniczony ślad stosu. Jeśli wywołanie zwrotne jest zwracane, proces będzie emitować zdarzenie 'uncaughtException', a jeśli nie zostanie obsłużone, zakończy się.

Ponieważ null ma specjalne znaczenie jako pierwszy argument wywołania zwrotnego, jeśli opakowana funkcja odrzuca Promise z falsyną wartością jako przyczyną, wartość jest owinięta w Error z oryginalną wartością przechowywaną w polu o nazwie reason.

import util from 'node:util';

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 && Object.hasOwn(err, 'reason') && err.reason === null;  // true
});
function callbackify(fn: () => Promise<void>): (callback: (err: ErrnoException) => void) => void

Parametry

fn

() => Promise<void>

Funkcja async

Zwraca

(callback: (err: ErrnoException) => void) => void

funkcja stylu wywołania zwrotnego

callbackify<TResult>(() => Promise<TResult>)

function callbackify<TResult>(fn: () => Promise<TResult>): (callback: (err: ErrnoException, result: TResult) => void) => void

Parametry

fn

() => Promise<TResult>

Zwraca

(callback: (err: ErrnoException, result: TResult) => void) => void

callbackify<T1>((arg1: T1) => Promise<void>)

function callbackify<T1>(fn: (arg1: T1) => Promise<void>): (arg1: T1, callback: (err: ErrnoException) => void) => void

Parametry

fn

(arg1: T1) => Promise<void>

Zwraca

(arg1: T1, callback: (err: ErrnoException) => void) => void

callbackify<T1, TResult>((arg1: T1) => Promise<TResult>)

function callbackify<T1, TResult>(fn: (arg1: T1) => Promise<TResult>): (arg1: T1, callback: (err: ErrnoException, result: TResult) => void) => void

Parametry

fn

(arg1: T1) => Promise<TResult>

Zwraca

(arg1: T1, callback: (err: ErrnoException, result: TResult) => void) => void

callbackify<T1, T2>((arg1: T1, arg2: T2) => Promise<void>)

function callbackify<T1, T2>(fn: (arg1: T1, arg2: T2) => Promise<void>): (arg1: T1, arg2: T2, callback: (err: ErrnoException) => void) => void

Parametry

fn

(arg1: T1, arg2: T2) => Promise<void>

Zwraca

(arg1: T1, arg2: T2, callback: (err: ErrnoException) => void) => void

callbackify<T1, T2, TResult>((arg1: T1, arg2: T2) => Promise<TResult>)

function callbackify<T1, T2, TResult>(fn: (arg1: T1, arg2: T2) => Promise<TResult>): (arg1: T1, arg2: T2, callback: (err: ErrnoException | null, result: TResult) => void) => void

Parametry

fn

(arg1: T1, arg2: T2) => Promise<TResult>

Zwraca

(arg1: T1, arg2: T2, callback: (err: ErrnoException | null, result: TResult) => void) => void

callbackify<T1, T2, T3>((arg1: T1, arg2: T2, arg3: T3) => Promise<void>)

function callbackify<T1, T2, T3>(fn: (arg1: T1, arg2: T2, arg3: T3) => Promise<void>): (arg1: T1, arg2: T2, arg3: T3, callback: (err: ErrnoException) => void) => void

Parametry

fn

(arg1: T1, arg2: T2, arg3: T3) => Promise<void>

Zwraca

(arg1: T1, arg2: T2, arg3: T3, callback: (err: ErrnoException) => void) => void

callbackify<T1, T2, T3, TResult>((arg1: T1, arg2: T2, arg3: T3) => Promise<TResult>)

function callbackify<T1, T2, T3, TResult>(fn: (arg1: T1, arg2: T2, arg3: T3) => Promise<TResult>): (arg1: T1, arg2: T2, arg3: T3, callback: (err: ErrnoException | null, result: TResult) => void) => void

Parametry

fn

(arg1: T1, arg2: T2, arg3: T3) => Promise<TResult>

Zwraca

(arg1: T1, arg2: T2, arg3: T3, callback: (err: ErrnoException | null, result: TResult) => void) => void

callbackify<T1, T2, T3, T4>((arg1: T1, arg2: T2, arg3: T3, arg4: T4) => Promise<void>)

function callbackify<T1, T2, T3, T4>(fn: (arg1: T1, arg2: T2, arg3: T3, arg4: T4) => Promise<void>): (arg1: T1, arg2: T2, arg3: T3, arg4: T4, callback: (err: ErrnoException) => void) => void

Parametry

fn

(arg1: T1, arg2: T2, arg3: T3, arg4: T4) => Promise<void>

Zwraca

(arg1: T1, arg2: T2, arg3: T3, arg4: T4, callback: (err: ErrnoException) => void) => void

callbackify<T1, T2, T3, T4, TResult>((arg1: T1, arg2: T2, arg3: T3, arg4: T4) => Promise<TResult>)

function callbackify<T1, T2, T3, T4, TResult>(fn: (arg1: T1, arg2: T2, arg3: T3, arg4: T4) => Promise<TResult>): (arg1: T1, arg2: T2, arg3: T3, arg4: T4, callback: (err: ErrnoException | null, result: TResult) => void) => void

Parametry

fn

(arg1: T1, arg2: T2, arg3: T3, arg4: T4) => Promise<TResult>

Zwraca

(arg1: T1, arg2: T2, arg3: T3, arg4: T4, callback: (err: ErrnoException | null, result: TResult) => void) => void

callbackify<T1, T2, T3, T4, T5>((arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5) => Promise<void>)

function callbackify<T1, T2, T3, T4, T5>(fn: (arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5) => Promise<void>): (arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5, callback: (err: ErrnoException) => void) => void

Parametry

fn

(arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5) => Promise<void>

Zwraca

(arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5, callback: (err: ErrnoException) => void) => void

callbackify<T1, T2, T3, T4, T5, TResult>((arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5) => Promise<TResult>)

function callbackify<T1, T2, T3, T4, T5, TResult>(fn: (arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5) => Promise<TResult>): (arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5, callback: (err: ErrnoException | null, result: TResult) => void) => void

Parametry

fn

(arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5) => Promise<TResult>

Zwraca

(arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5, callback: (err: ErrnoException | null, result: TResult) => void) => void

callbackify<T1, T2, T3, T4, T5, T6>((arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5, arg6: T6) => Promise<void>)

function callbackify<T1, T2, T3, T4, T5, T6>(fn: (arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5, arg6: T6) => Promise<void>): (arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5, arg6: T6, callback: (err: ErrnoException) => void) => void

Parametry

fn

(arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5, arg6: T6) => Promise<void>

Zwraca

(arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5, arg6: T6, callback: (err: ErrnoException) => void) => void

callbackify<T1, T2, T3, T4, T5, T6, TResult>((arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5, arg6: T6) => Promise<TResult>)

function callbackify<T1, T2, T3, T4, T5, T6, TResult>(fn: (arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5, arg6: T6) => Promise<TResult>): (arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5, arg6: T6, callback: (err: ErrnoException | null, result: TResult) => void) => void

Parametry

fn

(arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5, arg6: T6) => Promise<TResult>

Zwraca

(arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5, arg6: T6, callback: (err: ErrnoException | null, result: TResult) => void) => void

convertProcessSignalToExitCode(Signals)

Metoda util.convertProcessSignalToExitCode() konwertuje nazwę sygnału na odpowiedni kod zakończenia POSIX. Zgodnie ze standardem POSIX kod zakończenia procesu zakończonego przez sygnał jest obliczany jako 128 + signal number.

Jeśli signal nie jest prawidłową nazwą sygnału, zostanie zgłoszony błąd. Zobacz signal(7) listę prawidłowych sygnałów.

import { convertProcessSignalToExitCode } from 'node:util';

console.log(convertProcessSignalToExitCode('SIGTERM')); // 143 (128 + 15)
console.log(convertProcessSignalToExitCode('SIGKILL')); // 137 (128 + 9)

Jest to szczególnie przydatne podczas pracy z procesami w celu określenia kodu zakończenia na podstawie sygnału, który zakończył proces.

function convertProcessSignalToExitCode(signal: Signals): number

Parametry

signal

Signals

Nazwa sygnału (np. 'SIGTERM')

Zwraca

number

Kod zakończenia odpowiadający signal

createRandomString()

Generuje losowy ciąg od 5 do 6 znaków.

function createRandomString(): string

Zwraca

string

debuglog(string, (fn: DebugLoggerFunction) => void)

Metoda util.debuglog() służy do tworzenia funkcji, która warunkowo zapisuje komunikaty debugowania w oparciu stderr o istnienie zmiennej środowiskowej NODE_DEBUG . Jeśli nazwa section pojawi się w wartości tej zmiennej środowiskowej, zwracana funkcja działa podobnie do console.error(). Jeśli nie, zwracana funkcja jest no-op.

import { debuglog } from 'node:util';
const log = debuglog('foo');

log('hello from foo [%d]', 123);

Jeśli ten program zostanie uruchomiony z NODE_DEBUG=foo w środowisku, dane wyjściowe będą wyglądać mniej więcej tak:

FOO 3245: hello from foo [123]

gdzie 3245 jest identyfikatorem procesu. Jeśli nie zostanie uruchomiona z tym zestawem zmiennych środowiskowych, nie będzie ona drukować niczego.

section obsługuje również symbol wieloznaczny:

import { debuglog } from 'node:util';
const log = debuglog('foo-bar');

log('hi there, it\'s foo-bar [%d]', 2333);

jeśli jest uruchamiany z NODE_DEBUG=foo* w środowisku, dane wyjściowe będą wyglądać mniej więcej tak:

FOO-BAR 3257: hi there, it's foo-bar [2333]

W zmiennej środowiskowej section można określić wiele nazw rozdzielonych NODE_DEBUG przecinkami: NODE_DEBUG=fs,net,tls.

Opcjonalny argument callback może służyć do zastępowania funkcji rejestrowania inną funkcją, która nie ma żadnych inicjalizacji ani niepotrzebnych zawijania.

import { debuglog } from 'node:util';
let log = debuglog('internals', (debug) => {
  // Replace with a logging function that optimizes out
  // testing if the section is enabled
  log = debug;
});
function debuglog(section: string, callback?: (fn: DebugLoggerFunction) => void): DebugLogger

Parametry

section

string

Ciąg identyfikujący część aplikacji, dla której jest tworzona funkcja debuglog.

callback

(fn: DebugLoggerFunction) => void

Wywołanie zwrotne wywoływane po raz pierwszy funkcji rejestrowania jest wywoływane z argumentem funkcji, który jest bardziej zoptymalizowaną funkcją rejestrowania.

Zwraca

Funkcja rejestrowania

deprecate<T>(T, string, string, DeprecateOptions)

Metoda util.deprecate() zawija fn (która może być funkcją lub klasą) w taki sposób, że jest oznaczona jako przestarzała.

import { deprecate } from 'node:util';

export const obsoleteFunction = deprecate(() => {
  // Do something here.
}, 'obsoleteFunction() is deprecated. Use newShinyFunction() instead.');

Po wywołaniu util.deprecate() zwróci funkcję, która będzie emitować DeprecationWarning przy użyciu zdarzenia 'warning'. Ostrzeżenie zostanie wyemitowane i wydrukowane w celu stderr przy pierwszym wywołaniu zwróconej funkcji. Po emitowaniu ostrzeżenia opakowana funkcja jest wywoływana bez emitowania ostrzeżenia.

Jeśli ta sama opcjonalna code jest dostarczana w wielu wywołaniach do util.deprecate(), ostrzeżenie będzie emitowane tylko raz dla tego code.

import { deprecate } from 'node:util';

const fn1 = deprecate(
  () => 'a value',
  'deprecation message',
  'DEP0001',
);
const fn2 = deprecate(
  () => 'a  different value',
  'other dep message',
  'DEP0001',
);
fn1(); // Emits a deprecation warning with code DEP0001
fn2(); // Does not emit a deprecation warning because it has the same code

Jeśli są używane flagi wiersza polecenia --no-deprecation lub --no-warnings lub jeśli właściwość process.noDeprecation jest ustawiona na trueprzed do pierwszego ostrzeżenia o wycofaniu, metoda util.deprecate() nic nie robi.

Jeśli ustawiono flagi wiersza polecenia --trace-deprecation lub --trace-warnings lub właściwość process.traceDeprecation ma wartość true, ostrzeżenie i ślad stosu są drukowane w celu stderr wywołania przestarzałej funkcji.

Jeśli ustawiono flagę wiersza polecenia --throw-deprecation lub właściwość process.throwDeprecation została ustawiona na true, zostanie zgłoszony wyjątek po wywołaniu przestarzałej funkcji.

Flaga wiersza polecenia --throw-deprecation i właściwość process.throwDeprecation mają pierwszeństwo przed --trace-deprecation i process.traceDeprecation.

function deprecate<T>(fn: T, msg: string, code?: string, options?: DeprecateOptions): T

Parametry

fn

T

Funkcja, która jest przestarzała.

msg

string

Komunikat ostrzegawczy wyświetlany po wywołaniu przestarzałej funkcji.

code

string

Kod wycofania. Aby uzyskać listę kodów, zobacz list of deprecated APIs.

Zwraca

T

Przestarzała funkcja opakowana w celu emitowania ostrzeżenia.

diff(string | (readonly string[]), string | (readonly string[]))

util.diff() Porównuje dwa ciągi lub wartości tablicy i zwraca tablicę wpisów różnicy. Używa algorytmu różnic Myers do obliczania minimalnych różnic, który jest tym samym algorytmem używanym wewnętrznie przez komunikaty o błędach asercji.

Jeśli wartości są równe, zwracana jest pusta tablica.

const { diff } = require('node:util');

// Comparing strings
const actualString = '12345678';
const expectedString = '12!!5!7!';
console.log(diff(actualString, expectedString));
// [
//   [0, '1'],
//   [0, '2'],
//   [1, '3'],
//   [1, '4'],
//   [-1, '!'],
//   [-1, '!'],
//   [0, '5'],
//   [1, '6'],
//   [-1, '!'],
//   [0, '7'],
//   [1, '8'],
//   [-1, '!'],
// ]
// Comparing arrays
const actualArray = ['1', '2', '3'];
const expectedArray = ['1', '3', '4'];
console.log(diff(actualArray, expectedArray));
// [
//   [0, '1'],
//   [1, '2'],
//   [0, '3'],
//   [-1, '4'],
// ]
// Equal values return empty array
console.log(diff('same', 'same'));
// []
function diff(actual: string | (readonly string[]), expected: string | (readonly string[])): DiffEntry[]

Parametry

actual

string | (readonly string[])

Pierwsza wartość do porównania

expected

string | (readonly string[])

Druga wartość do porównania

Zwraca

Tablica wpisów różnic. Każdy wpis jest tablicą z dwoma elementami:

  • Indeks 0: number kod operacji: -1 dla usuwania, 0 dla no-op/bez zmian, 1 dla wstawiania
  • Indeks 1: string wartość skojarzona z operacją

find<T>((x: T) => boolean, T[])

Znajduje pierwszą wartość w tablicy zgodnej z określonym predykatem.

function find<T>(predicate: (x: T) => boolean, xs: T[]): T

Parametry

predicate

(x: T) => boolean

xs

T[]

Zwraca

T

findIndex<T>((x: T) => boolean, T[])

Znajduje indeks pierwszej wartości w tablicy zgodnej z określonym predykatem.

function findIndex<T>(predicate: (x: T) => boolean, xs: T[]): number

Parametry

predicate

(x: T) => boolean

xs

T[]

Zwraca

number

format(any, any[])

Metoda util.format() zwraca sformatowany ciąg przy użyciu pierwszego argumentu jako ciągu formatu printf, który może zawierać zero lub więcej specyfikatorów formatu. Każdy specyfikator jest zastępowany przekonwertowaną wartością z odpowiedniego argumentu. Obsługiwane specyfikatory to:

Jeśli specyfikator nie ma odpowiedniego argumentu, nie zostanie zastąpiony:

util.format('%s:%s', 'foo');
// Returns: 'foo:%s'

Wartości, które nie są częścią ciągu formatu, są formatowane przy użyciu util.inspect(), jeśli ich typ nie jest string.

Jeśli do metody util.format() jest przekazywanych więcej argumentów niż liczba specyfikatorów, dodatkowe argumenty są łączone z zwracanym ciągiem rozdzielonym spacjami:

util.format('%s:%s', 'foo', 'bar', 'baz');
// Returns: 'foo:bar baz'

Jeśli pierwszy argument nie zawiera prawidłowego specyfikatora formatu, util.format() zwraca ciąg, który jest łączeniem wszystkich argumentów rozdzielonych spacjami:

util.format(1, 2, 3);
// Returns: '1 2 3'

Jeśli tylko jeden argument jest przekazywany do util.format(), jest zwracany jako bez żadnego formatowania:

util.format('%% %s');
// Returns: '%% %s'

util.format() to metoda synchroniczna, która jest przeznaczona jako narzędzie do debugowania. Niektóre wartości wejściowe mogą mieć znaczne obciążenie związane z wydajnością, które mogą blokować pętlę zdarzeń. Tej funkcji należy używać z ostrożnością i nigdy w gorącej ścieżce kodu.

function format(format?: any, param: any[]): string

Parametry

format

any

Ciąg formatu przypominający printf.

param

any[]

Zwraca

string

formatWithOptions(InspectOptions, any, any[])

Ta funkcja jest identyczna z formatem , z wyjątkiem tego, że przyjmuje argument inspectOptions, który określa opcje przekazywane do inspekcji.

util.formatWithOptions({ colors: true }, 'See object %O', { foo: 42 });
// Returns 'See object { foo: 42 }', where `42` is colored as a number
// when printed to a terminal.
function formatWithOptions(inspectOptions: InspectOptions, format?: any, param: any[]): string

Parametry

inspectOptions
InspectOptions
format

any

param

any[]

Zwraca

string

generateUUID()

Generuje identyfikator uuid 20 znaków.

function generateUUID(): string

Zwraca

string

getCallSites(number, GetCallSitesOptions)

Zwraca tablicę obiektów lokacji wywołań zawierających stos funkcji wywołującej.

W przeciwieństwie do uzyskiwania dostępu do elementu wynik zwrócony z tego interfejsu error.stackAPI nie jest zakłócany przez Error.prepareStackTraceelement .

import { getCallSites } from 'node:util';

function exampleFunction() {
  const callSites = getCallSites();

  console.log('Call Sites:');
  callSites.forEach((callSite, index) => {
    console.log(`CallSite ${index + 1}:`);
    console.log(`Function Name: ${callSite.functionName}`);
    console.log(`Script Name: ${callSite.scriptName}`);
    console.log(`Line Number: ${callSite.lineNumber}`);
    console.log(`Column Number: ${callSite.columnNumber}`);
  });
  // CallSite 1:
  // Function Name: exampleFunction
  // Script Name: /home/example.js
  // Line Number: 5
  // Column Number: 26

  // CallSite 2:
  // Function Name: anotherFunction
  // Script Name: /home/example.js
  // Line Number: 22
  // Column Number: 3

  // ...
}

// A function to simulate another stack layer
function anotherFunction() {
  exampleFunction();
}

anotherFunction();

Można odtworzyć oryginalne lokalizacje, ustawiając opcję sourceMap na true. Jeśli mapa źródłowa jest niedostępna, oryginalna lokalizacja będzie taka sama jak bieżąca lokalizacja. Po włączeniu --enable-source-maps flagi sourceMap domyślnie będzie ona mieć wartość true.

import { getCallSites } from 'node:util';

interface Foo {
  foo: string;
}

const callSites = getCallSites({ sourceMap: true });

// With sourceMap:
// Function Name: ''
// Script Name: example.js
// Line Number: 7
// Column Number: 26

// Without sourceMap:
// Function Name: ''
// Script Name: example.js
// Line Number: 2
// Column Number: 26
function getCallSites(frameCount?: number, options?: GetCallSitesOptions): CallSiteObject[]

Parametry

frameCount

number

Liczba ramek do przechwycenia jako obiektów lokacji wywołania. Domyślne:10. Dozwolony zakres wynosi od 1 do 200.

Zwraca

Tablica obiektów lokacji wywołań

getCallSites(GetCallSitesOptions)

function getCallSites(options: GetCallSitesOptions): CallSiteObject[]

Parametry

Zwraca

getRandomValue()

Zwraca liczbę losową

function getRandomValue(): number

Zwraca

number

getSystemErrorMap()

Zwraca mapę wszystkich kodów błędów systemowych dostępnych w interfejsie API Node.js. Mapowanie między kodami błędów a nazwami błędów jest zależne od platformy. Zobacz Common System Errors nazwy typowych błędów.

fs.access('file/that/does/not/exist', (err) => {
  const errorMap = util.getSystemErrorMap();
  const name = errorMap.get(err.errno);
  console.error(name);  // ENOENT
});
function getSystemErrorMap(): Map<number, [string, string]>

Zwraca

Map<number, [string, string]>

getSystemErrorMessage(number)

Zwraca komunikat ciągu dla liczbowego kodu błędu pochodzącego z interfejsu API Node.js. Mapowanie między kodami błędów i komunikatami ciągów jest zależne od platformy.

fs.access('file/that/does/not/exist', (err) => {
  const message = util.getSystemErrorMessage(err.errno);
  console.error(message);  // no such file or directory
});
function getSystemErrorMessage(err: number): string

Parametry

err

number

Zwraca

string

getSystemErrorName(number)

Zwraca nazwę ciągu dla kodu błędu liczbowego pochodzącego z interfejsu API Node.js. Mapowanie między kodami błędów a nazwami błędów jest zależne od platformy. Zobacz Common System Errors nazwy typowych błędów.

fs.access('file/that/does/not/exist', (err) => {
  const name = util.getSystemErrorName(err.errno);
  console.error(name);  // ENOENT
});
function getSystemErrorName(err: number): string

Parametry

err

number

Zwraca

string

getTimeDiffInMilliseconds(Date, Date)

Zwraca interwał czasu między dwiema datami w milisekundach

function getTimeDiffInMilliseconds(start: Date, end: Date): number

Parametry

start

Date

end

Date

Zwraca

number

inherits(unknown, unknown)

Nie zaleca się używania util.inherits(). Użyj słów kluczowych class i extends ES6, aby uzyskać obsługę dziedziczenia na poziomie języka. Należy również zauważyć, że dwa style są semantycznie niezgodne.

Dziedzicz metody prototypowe z jednego konstruktora do innego. Prototyp constructor zostanie ustawiony na nowy obiekt utworzony na podstawie superConstructor.

Powoduje to głównie dodanie weryfikacji danych wejściowych na podstawie elementu Object.setPrototypeOf(constructor.prototype, superConstructor.prototype). Jako dodatkowa wygoda superConstructor będzie dostępna za pośrednictwem obiektu constructor.super_.

const util = require('node:util');
const EventEmitter = require('node: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!"

Przykład ES6 korzystający z class i extends:

import EventEmitter from 'node: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');
function inherits(constructor: unknown, superConstructor: unknown)

Parametry

constructor

unknown

superConstructor

unknown

inspect(any, InspectOptions)

function inspect(object: any, options?: InspectOptions): string

Parametry

object

any

options
InspectOptions

Zwraca

string

isArray(unknown)

Ostrzeżenie

Ten interfejs API jest już przestarzały.

Since v4.0.0 - Use isArray instead.

Alias dla elementu Array.isArray().

Zwraca true, jeśli dana object jest Array. W przeciwnym razie zwraca wartość false.

import util from 'node:util';

util.isArray([]);
// Returns: true
util.isArray(new Array());
// Returns: true
util.isArray({});
// Returns: false
function isArray(object: unknown): object is unknown[]

Parametry

object

unknown

Zwraca

object is unknown[]

isCreate(string)

Sprawdza, czy typ osadzania jest przeznaczony do utworzenia

function isCreate(embedType: string): boolean

Parametry

embedType

string

Zwraca

boolean

isDeepStrictEqual(unknown, unknown, IsDeepStrictEqualOptions)

Zwraca true, jeśli istnieje głęboka ścisła równość między val1 a val2. W przeciwnym razie zwraca wartość false.

Aby uzyskać więcej informacji na temat głębokiej równości, zobacz assert.deepStrictEqual().

function isDeepStrictEqual(val1: unknown, val2: unknown, options?: IsDeepStrictEqualOptions): boolean

Parametry

val1

unknown

val2

unknown

Zwraca

boolean

isRDLEmbed(string)

Sprawdza, czy adres URL osadzania jest przeznaczony dla raportu języka RDL.

function isRDLEmbed(embedUrl: string): boolean

Parametry

embedUrl

string

Zwraca

boolean

isSavedInternal(HttpPostMessage, string, Window)

Sprawdza, czy raport jest zapisany.

function isSavedInternal(hpm: HttpPostMessage, uid: string, contentWindow: Window): Promise<boolean>

Parametry

hpm

HttpPostMessage

uid

string

contentWindow
Window

Zwraca

Promise<boolean>

parseArgs<T>(T)

Udostępnia interfejs API wyższego poziomu do analizowania argumentów wiersza polecenia niż bezpośrednia interakcja z process.argv. Przyjmuje specyfikację oczekiwanych argumentów i zwraca obiekt ustrukturyzowany z analizowanymi opcjami i pozycjami.

import { parseArgs } from 'node:util';
const args = ['-f', '--bar', 'b'];
const options = {
  foo: {
    type: 'boolean',
    short: 'f',
  },
  bar: {
    type: 'string',
  },
};
const {
  values,
  positionals,
} = parseArgs({ args, options });
console.log(values, positionals);
// Prints: [Object: null prototype] { foo: true, bar: 'b' } []
function parseArgs<T>(config?: T): ParsedResults<T>

Parametry

config

T

Służy do podawania argumentów analizowania i konfigurowania analizatora. config obsługuje następujące właściwości:

Zwraca

ParsedResults<T>

Przeanalizowane argumenty wiersza polecenia:

parseEnv(string)

Stabilność: 1.1 — Aktywny rozwój, biorąc pod uwagę przykładowy plik .env:

import { parseEnv } from 'node:util';

parseEnv('HELLO=world\nHELLO=oh my\n');
// Returns: { HELLO: 'oh my' }
function parseEnv(content: string): Dict<string>

Parametry

content

string

Nieprzetworzona zawartość pliku .env.

Zwraca

Dict<string>

promisify<TResult>((callback: (err: any, result: TResult) => void) => void)

function promisify<TResult>(fn: (callback: (err: any, result: TResult) => void) => void): () => Promise<TResult>

Parametry

fn

(callback: (err: any, result: TResult) => void) => void

Zwraca

() => Promise<TResult>

promisify((callback: (err?: any) => void) => void)

function promisify(fn: (callback: (err?: any) => void) => void): () => Promise<void>

Parametry

fn

(callback: (err?: any) => void) => void

Zwraca

() => Promise<void>

promisify<T1, TResult>((arg1: T1, callback: (err: any, result: TResult) => void) => void)

function promisify<T1, TResult>(fn: (arg1: T1, callback: (err: any, result: TResult) => void) => void): (arg1: T1) => Promise<TResult>

Parametry

fn

(arg1: T1, callback: (err: any, result: TResult) => void) => void

Zwraca

(arg1: T1) => Promise<TResult>

promisify<T1>((arg1: T1, callback: (err?: any) => void) => void)

function promisify<T1>(fn: (arg1: T1, callback: (err?: any) => void) => void): (arg1: T1) => Promise<void>

Parametry

fn

(arg1: T1, callback: (err?: any) => void) => void

Zwraca

(arg1: T1) => Promise<void>

promisify<T1, T2, TResult>((arg1: T1, arg2: T2, callback: (err: any, result: TResult) => void) => void)

function promisify<T1, T2, TResult>(fn: (arg1: T1, arg2: T2, callback: (err: any, result: TResult) => void) => void): (arg1: T1, arg2: T2) => Promise<TResult>

Parametry

fn

(arg1: T1, arg2: T2, callback: (err: any, result: TResult) => void) => void

Zwraca

(arg1: T1, arg2: T2) => Promise<TResult>

promisify<T1, T2>((arg1: T1, arg2: T2, callback: (err?: any) => void) => void)

function promisify<T1, T2>(fn: (arg1: T1, arg2: T2, callback: (err?: any) => void) => void): (arg1: T1, arg2: T2) => Promise<void>

Parametry

fn

(arg1: T1, arg2: T2, callback: (err?: any) => void) => void

Zwraca

(arg1: T1, arg2: T2) => Promise<void>

promisify<T1, T2, T3, TResult>((arg1: T1, arg2: T2, arg3: T3, callback: (err: any, result: TResult) => void) => void)

function promisify<T1, T2, T3, TResult>(fn: (arg1: T1, arg2: T2, arg3: T3, callback: (err: any, result: TResult) => void) => void): (arg1: T1, arg2: T2, arg3: T3) => Promise<TResult>

Parametry

fn

(arg1: T1, arg2: T2, arg3: T3, callback: (err: any, result: TResult) => void) => void

Zwraca

(arg1: T1, arg2: T2, arg3: T3) => Promise<TResult>

promisify<T1, T2, T3>((arg1: T1, arg2: T2, arg3: T3, callback: (err?: any) => void) => void)

function promisify<T1, T2, T3>(fn: (arg1: T1, arg2: T2, arg3: T3, callback: (err?: any) => void) => void): (arg1: T1, arg2: T2, arg3: T3) => Promise<void>

Parametry

fn

(arg1: T1, arg2: T2, arg3: T3, callback: (err?: any) => void) => void

Zwraca

(arg1: T1, arg2: T2, arg3: T3) => Promise<void>

promisify<T1, T2, T3, T4, TResult>((arg1: T1, arg2: T2, arg3: T3, arg4: T4, callback: (err: any, result: TResult) => void) => void)

function promisify<T1, T2, T3, T4, TResult>(fn: (arg1: T1, arg2: T2, arg3: T3, arg4: T4, callback: (err: any, result: TResult) => void) => void): (arg1: T1, arg2: T2, arg3: T3, arg4: T4) => Promise<TResult>

Parametry

fn

(arg1: T1, arg2: T2, arg3: T3, arg4: T4, callback: (err: any, result: TResult) => void) => void

Zwraca

(arg1: T1, arg2: T2, arg3: T3, arg4: T4) => Promise<TResult>

promisify<T1, T2, T3, T4>((arg1: T1, arg2: T2, arg3: T3, arg4: T4, callback: (err?: any) => void) => void)

function promisify<T1, T2, T3, T4>(fn: (arg1: T1, arg2: T2, arg3: T3, arg4: T4, callback: (err?: any) => void) => void): (arg1: T1, arg2: T2, arg3: T3, arg4: T4) => Promise<void>

Parametry

fn

(arg1: T1, arg2: T2, arg3: T3, arg4: T4, callback: (err?: any) => void) => void

Zwraca

(arg1: T1, arg2: T2, arg3: T3, arg4: T4) => Promise<void>

promisify<T1, T2, T3, T4, T5, TResult>((arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5, callback: (err: any, result: TResult) => void) => void)

function promisify<T1, T2, T3, T4, T5, TResult>(fn: (arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5, callback: (err: any, result: TResult) => void) => void): (arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5) => Promise<TResult>

Parametry

fn

(arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5, callback: (err: any, result: TResult) => void) => void

Zwraca

(arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5) => Promise<TResult>

promisify<T1, T2, T3, T4, T5>((arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5, callback: (err?: any) => void) => void)

function promisify<T1, T2, T3, T4, T5>(fn: (arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5, callback: (err?: any) => void) => void): (arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5) => Promise<void>

Parametry

fn

(arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5, callback: (err?: any) => void) => void

Zwraca

(arg1: T1, arg2: T2, arg3: T3, arg4: T4, arg5: T5) => Promise<void>

promisify(Function)

function promisify(fn: Function): Function

Parametry

fn

Function

Zwraca

Function

raiseCustomEvent(HTMLElement, string, any)

Wywołuje zdarzenie niestandardowe z danymi zdarzenia w określonym elemecie HTML.

function raiseCustomEvent(element: HTMLElement, eventName: string, eventData: any)

Parametry

element

HTMLElement

eventName

string

eventData

any

remove<T>((x: T) => boolean, T[])

function remove<T>(predicate: (x: T) => boolean, xs: T[])

Parametry

predicate

(x: T) => boolean

xs

T[]

setTraceSigInt(boolean)

Włącz lub wyłącz drukowanie śledzenia stosu w programie SIGINT. Interfejs API jest dostępny tylko w wątku głównym.

function setTraceSigInt(enable: boolean)

Parametry

enable

boolean

stripVTControlCharacters(string)

Zwraca str z usuniętymi kodami ucieczki ANSI.

console.log(util.stripVTControlCharacters('\u001B[4mvalue\u001B[0m'));
// Prints "value"
function stripVTControlCharacters(str: string): string

Parametry

str

string

Zwraca

string

styleText(InspectColor | Object | (readonly InspectColor | `#${string}`[]), string, StyleTextOptions)

Ta funkcja zwraca sformatowany tekst uwzględniający format przekazany do drukowania w terminalu. Jest on świadomy możliwości terminalu i działa zgodnie z konfiguracją ustawioną za pośrednictwem NO_COLORzmiennych środowiskowych i NODE_DISABLE_COLORS . FORCE_COLOR

import { styleText } from 'node:util';
import { stderr } from 'node:process';

const successMessage = styleText('green', 'Success!');
console.log(successMessage);

const errorMessage = styleText(
  'red',
  'Error! Error!',
  // Validate if process.stderr has TTY
  { stream: stderr },
);
console.error(errorMessage);

util.inspect.colors również udostępnia formaty tekstowe, takie jak italici underline, i można połączyć oba te formaty:

console.log(
  util.styleText(['underline', 'italic'], 'My italic underlined message'),
);

Podczas przekazywania tablicy formatów kolejność zastosowanego formatu jest od lewej do prawej, więc następujący styl może zastąpić poprzedni.

console.log(
  util.styleText(['red', 'green'], 'text'), // green
);

Wartość none formatu specjalnego nie stosuje dodatkowego stylu do tekstu.

Oprócz wstępnie zdefiniowanych nazw kolorów obsługuje util.styleText() ciągi kolorów szesnastkowych przy użyciu sekwencji ucieczki ANSI TrueColor (24-bitowych). Kolory szesnastkowe można określić w formacie 3-cyfrowym (#RGB) lub 6-cyfrowym (#RRGGBB):

import { styleText } from 'node:util';

// 6-digit hex color
console.log(styleText('#ff5733', 'Orange text'));

// 3-digit hex color (shorthand)
console.log(styleText('#f00', 'Red text'));

// Hex color combined with other modifiers
console.log(styleText(['#00f', 'bold'], 'Bold blue text'));

Pełną listę formatów można znaleźć w modyfikatorów.

function styleText(format: InspectColor | Object | (readonly InspectColor | `#${string}`[]), text: string, options?: StyleTextOptions): string

Parametry

format

InspectColor | Object | (readonly InspectColor | #${string}[])

Format tekstu zdefiniowany w util.inspect.colorsformacie , kolor szesnastkowy lub #RGB#RRGGBB formularz albo tablica formatów tekstu i/lub kolorów szesnastkowy.

text

string

Tekst do sformatowania.

Zwraca

string

toUSVString(string)

Zwraca string po zastąpieniu wszelkich zastępczych punktów kodu (lub równoważnej, wszelkich nieparzystych jednostek kodu zastępczego) znakiem Unicode "zastępczym" U+FFFD.

function toUSVString(string: string): string

Parametry

string

string

Zwraca

string

transferableAbortController()

Tworzy i zwraca wystąpienie AbortController, którego AbortSignal jest oznaczone jako możliwe do przeniesienia i może być używane z structuredClone() lub postMessage().

function transferableAbortController(): AbortController

Zwraca

AbortController

Transferowalny element AbortController

transferableAbortSignal(AbortSignal)

Oznacza podane AbortSignal jako możliwe do przeniesienia, aby można było go używać zstructuredClone() i postMessage().

const signal = transferableAbortSignal(AbortSignal.timeout(100));
const channel = new MessageChannel();
channel.port2.postMessage(signal, [signal]);
function transferableAbortSignal(signal: AbortSignal): AbortSignal

Parametry

signal

AbortSignal

The AbortSignal

Zwraca

AbortSignal

To samo abortSignal

Szczegóły zmiennej

APINotSupportedForRDLError

APINotSupportedForRDLError: "This API is currently not supported for RDL reports"

Typ

"This API is currently not supported for RDL reports"

EmbedUrlNotSupported

EmbedUrlNotSupported: "Embed URL is invalid for this scenario. Please use Power BI REST APIs to get the valid URL"

Typ

"Embed URL is invalid for this scenario. Please use Power BI REST APIs to get the valid URL"

TextDecoder

TextDecoder: (label?: string, options?: TextDecoderOptions) => TextDecoder

Typ

(label?: string, options?: TextDecoderOptions) => TextDecoder

TextEncoder

TextEncoder: () => TextEncoder

Typ

() => TextEncoder

Document

Document: () => Document

Typ

() => Document

HTMLIFrameElement

HTMLIFrameElement: () => HTMLIFrameElement

Typ

() => HTMLIFrameElement

Window

Window: () => Window

Typ

() => Window

config

config: { type: string, version: string }

Typ

{ type: string, version: string }

invalidEmbedUrlErrorMessage

invalidEmbedUrlErrorMessage: string

Typ

string

hpmFactory

hpmFactory: IHpmFactory

Typ

IHpmFactory

routerFactory

routerFactory: IRouterFactory

Typ

IRouterFactory

wpmpFactory

wpmpFactory: IWpmpFactory

Typ

IWpmpFactory