Modulo modulo base

Modulo util

Il modulo util fornisce funzioni pratiche come il giudizio del tipo di dati, la copia degli attributi dell'oggetto, l'analisi delle stringhe del modello e l'elaborazione degli eventi.

Di seguito è riportata un'introduzione specifica ed esempi:

  1. Determinare il tipo di dati - util.is[type] Questo modulo fornisce metodi come isDate, isRegExp, isErrorecc. per determinare il tipo di dati dei parametri in entrata, ad esempio:
1 2 3
var util = require('util'); console.log(util.isDate(new Date())); console.log(util.isRegExp(/some regexp/));
  1. Copia delle proprietà dell'oggetto: util.inherits() questo metodo può facoltativamente ereditare un costruttore da un altro, implementando così l'ereditarietà del prototipo.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
var util = require('util'); function Animal() { this.name = 'Animal'; this.sleep = function() { console.log(this.name + '正在睡觉!'); } } Animal.prototype.eat = function(food) { console.log(this.name + '正在吃:' + food); }; function Cat() { this.name = 'cat'; } util.inherits(Cat, Animal);

Utilizzare Catquesto costruttore per ereditare Animalle proprietà dell'istanza e le proprietà del prototipo di e stampare Catle proprietà e i metodi dell'istanza.

1 2 3 4
var cat = new Cat(); console.log(cat.name); console.log(cat.eat('fish')); console.log(cat.sleep());
  1. util.format() Modello di output formattato
1 2 3 4 5
const util = require('util'); const str1 = util.format('%s:%s', 'foo'); const str2 = util.format('%s:%s', 'foo', 'bar', 'baz'); console.log(str1) // => 'foo:%s' console.log(str2) // => 'foo:bar baz'

Quelli sopra riportati sono utilalcuni metodi comuni dei moduli, che spesso possono essere utilizzati per semplificare l'effettivo processo di sviluppo.

oggetto

LruCache

Oggetto cache LRU (usato meno di recente), vedereLruCacheoggetto.

1
LruCache util.LruCache;

TextDecoder

TextDecoderoggetto di decodificazione, vedereTextDecoderoggetto.

1
TextDecoder util.TextDecoder;

TextEncoder

TextEncoderCodifica degli oggetti, vediTextEncoderoggetto.

1
TextEncoder util.TextEncoder;

types

typesIl modulo fornisce funzioni strumento per determinare i tipi di dati.

1
types util.types;

funzione statica

format

Formattare le variabili in base al formato specificato

1 2
static String util.format(String fmt, ...args);

Parametri di chiamata:

  • fmt: Stringa, stringa di formato
  • args: ..., elenco parametri opzionale

Risultati restituiti:

  • String, restituisce la stringa formattata

formato variabile di formato

1
static String util.format(...args);

Parametri di chiamata:

  • args: ..., elenco parametri opzionale

Risultati restituiti:

  • String, restituisce la stringa formattata

inherits

Eredita le funzioni del prototipo da un costruttore all'altro. Il prototipo del costruttore verrà impostato su un nuovo oggetto creato dalla superclasse (superConstructor).

1 2
static util.inherits(Value constructor, Value superConstructor);

Parametri di chiamata:

  • constructor: Valore, costruttore iniziale
  • superConstructor: Valore, la superclasse ereditata

inspect

La funzione restituisce la rappresentazione in formato stringa di obj, utilizzata principalmente per il debug. È possibile utilizzare opzioni aggiuntive per modificare determinati aspetti della stringa formattata.

1 2
static String util.inspect(Value obj, Object options = {});

Parametri di chiamata:

  • obj: Valore, specifica l'oggetto da elaborare
  • options: Oggetto, specifica le opzioni di controllo del formato

Risultati restituiti:

  • String, restituisce la stringa formattata

Sono supportati i seguenti parametri:

1 2 3 4 5 6 7 8 9
{ "colors": false, // specify if output should be colorized, defaults to false "depth": 2, // specify the max depth of the output, defaults to 2 "table": false, // specify if output should be a table, defaults to false "encode_string": true, // specify if string should be encoded, defaults to true "maxArrayLength": 100, // specify max number of array elements to show, set to 0 or negative to show no elements, defaults to 100 "maxStringLength": 10000, // specify max string length to output, set to 0 or negative to show no strings, defaults to 10000 "fields": [], // specify the fields to be displayed, defaults to all }

deprecate

Incapsula la funzione specificata. Questa funzione è solo compatibile e non genera avvisi.

1 2 3
static Function util.deprecate(Function fn, String msg, String code = "");

Parametri di chiamata:

  • fn: Funzione, data la funzione che deve essere incapsulata
  • msg: stringa, dato il messaggio di avviso
  • code: stringa, dato il numero di avviso

Risultati restituiti:

  • Function, se il risultato dell'incapsulamento

isEmpty

Controlla se la variabile data non contiene alcun valore (nessuna proprietà enumerabile)

1
static Boolean util.isEmpty(Value v);

Parametri di chiamata:

  • v: Valore, data la variabile da rilevare

Risultati restituiti:

  • Boolean, restituisce True se vuoto

isArray

Controlla se la variabile data è un array

1
static Boolean util.isArray(Value v);

Parametri di chiamata:

  • v: Valore, data la variabile da rilevare

Risultati restituiti:

  • Boolean, restituisce True se è un array

isBoolean

Verifica se la variabile data è booleana

1
static Boolean util.isBoolean(Value v);

Parametri di chiamata:

  • v: Valore, data la variabile da rilevare

Risultati restituiti:

  • Boolean, se è booleano, restituisce True

isNull

Controlla se la variabile data è Null

1
static Boolean util.isNull(Value v);

Parametri di chiamata:

  • v: Valore, data la variabile da rilevare

Risultati restituiti:

  • Boolean, se è Null, restituisce True

isNullOrUndefined

Controlla se la variabile specificata è Null o Non definita

1
static Boolean util.isNullOrUndefined(Value v);

Parametri di chiamata:

  • v: Valore, data la variabile da rilevare

Risultati restituiti:

  • Boolean, se è Null o Indefinito, restituisce True

isNumber

Verifica se la variabile data è un numero

1
static Boolean util.isNumber(Value v);

Parametri di chiamata:

  • v: Valore, data la variabile da rilevare

Risultati restituiti:

  • Boolean, restituisce True se è un numero

isBigInt

Verifica se la variabile data è un BigInt

1
static Boolean util.isBigInt(Value v);

Parametri di chiamata:

  • v: Valore, data la variabile da rilevare

Risultati restituiti:

  • Boolean, restituisce True se è un numero

isString

Controlla se la variabile data è una stringa

1
static Boolean util.isString(Value v);

Parametri di chiamata:

  • v: Valore, data la variabile da rilevare

Risultati restituiti:

  • Boolean, restituisce True se è una stringa

isUndefined

Controlla se la variabile specificata è Indefinita

1
static Boolean util.isUndefined(Value v);

Parametri di chiamata:

  • v: Valore, data la variabile da rilevare

Risultati restituiti:

  • Boolean, se è Indefinito, restituisce True

isRegExp

Verifica se la variabile data è un oggetto regolare

1
static Boolean util.isRegExp(Value v);

Parametri di chiamata:

  • v: Valore, data la variabile da rilevare

Risultati restituiti:

  • Boolean, restituisce True se è un oggetto normale

isObject

Verifica se la variabile data è un oggetto

1
static Boolean util.isObject(Value v);

Parametri di chiamata:

  • v: Valore, data la variabile da rilevare

Risultati restituiti:

  • Boolean, restituisce True se è un oggetto

isDate

Verifica se la variabile data è un oggetto data

1
static Boolean util.isDate(Value v);

Parametri di chiamata:

  • v: Valore, data la variabile da rilevare

Risultati restituiti:

  • Boolean, restituisce True se è un oggetto data

isNativeError

Verifica se la variabile specificata è un oggetto errore

1
static Boolean util.isNativeError(Value v);

Parametri di chiamata:

  • v: Valore, data la variabile da rilevare

Risultati restituiti:

  • Boolean, restituisce True se si tratta di un oggetto errore

isPrimitive

Controlla se la variabile data è di tipo primitivo

1
static Boolean util.isPrimitive(Value v);

Parametri di chiamata:

  • v: Valore, data la variabile da rilevare

Risultati restituiti:

  • Boolean, restituisce True se è un tipo primitivo

isSymbol

Controlla se la variabile data è di tipo Symbol

1
static Boolean util.isSymbol(Value v);

Parametri di chiamata:

  • v: Valore, data la variabile da rilevare

Risultati restituiti:

  • Boolean, se è di tipo Symbol, restituisce True

isDataView

Controlla se la variabile specificata è di tipo DataView

1
static Boolean util.isDataView(Value v);

Parametri di chiamata:

  • v: Valore, data la variabile da rilevare

Risultati restituiti:

  • Boolean, se è un tipo DataView, restituisce True

isExternal

Controlla se la variabile specificata è di tipo Esterno

1
static Boolean util.isExternal(Value v);

Parametri di chiamata:

  • v: Valore, data la variabile da rilevare

Risultati restituiti:

  • Boolean, se è un tipo Esterno, restituisce True

isMap

Controlla se la variabile data è di tipo Map

1
static Boolean util.isMap(Value v);

Parametri di chiamata:

  • v: Valore, data la variabile da rilevare

Risultati restituiti:

  • Boolean, se è di tipo Mappa, restituisce True

isMapIterator

Controlla se la variabile specificata è di tipo MapIterator

1
static Boolean util.isMapIterator(Value v);

Parametri di chiamata:

  • v: Valore, data la variabile da rilevare

Risultati restituiti:

  • Boolean, restituisce True se è un tipo MapIterator

isPromise

Controlla se la variabile specificata è di tipo Promise

1
static Boolean util.isPromise(Value v);

Parametri di chiamata:

  • v: Valore, data la variabile da rilevare

Risultati restituiti:

  • Boolean, se è di tipo Promise, restituisce True

isAsyncFunction

Controlla se la variabile specificata è di tipo AsyncFunction

1
static Boolean util.isAsyncFunction(Value v);

Parametri di chiamata:

  • v: Valore, data la variabile da rilevare

Risultati restituiti:

  • Boolean, se è di tipo AsyncFunction, restituisce True

isSet

Controlla se la variabile data è di tipo Set

1
static Boolean util.isSet(Value v);

Parametri di chiamata:

  • v: Valore, data la variabile da rilevare

Risultati restituiti:

  • Boolean, se è un tipo Set, restituisce True

isSetIterator

Controlla se la variabile specificata è di tipo SetIterator

1
static Boolean util.isSetIterator(Value v);

Parametri di chiamata:

  • v: Valore, data la variabile da rilevare

Risultati restituiti:

  • Boolean, se è un tipo SetIterator, restituisce True

isTypedArray

Controlla se la variabile specificata è di tipo TypedArray

1
static Boolean util.isTypedArray(Value v);

Parametri di chiamata:

  • v: Valore, data la variabile da rilevare

Risultati restituiti:

  • Boolean, se è un tipo TypedArray, restituisce True

isUint8Array

Controlla se la variabile specificata è di tipo Uint8Array

1
static Boolean util.isUint8Array(Value v);

Parametri di chiamata:

  • v: Valore, data la variabile da rilevare

Risultati restituiti:

  • Boolean, restituisce True se è di tipo Uint8Array

isFunction

Verifica se la variabile data è un oggetto funzione

1
static Boolean util.isFunction(Value v);

Parametri di chiamata:

  • v: Valore, data la variabile da rilevare

Risultati restituiti:

  • Boolean, restituisce True se è un oggetto funzione

isBuffer

Verifica se la variabile data è una funzioneBufferoggetto

1
static Boolean util.isBuffer(Value v);

Parametri di chiamata:

  • v: Valore, data la variabile da rilevare

Risultati restituiti:

  • Boolean, se è una funzioneBufferL'oggetto restituisce True

isDeepEqual

La profondità del valore del test è uguale al valore atteso

1 2
static Boolean util.isDeepEqual(Value actual, Value expected);

Parametri di chiamata:

  • actual: Valore, il valore da testare
  • expected: Valore, valore atteso

Risultati restituiti:

  • Boolean, restituisce True se le profondità sono uguali

has

Interroga se l'oggetto specificato contiene la chiave specificata

1 2
static Boolean util.has(Value v, String key);

Parametri di chiamata:

  • v: Valore, dato l'oggetto da interrogare
  • key: String, specifica la chiave da interrogare

Risultati restituiti:

  • Boolean, restituisce un array di tutte le chiavi dell'oggetto

keys

Interrogare tutti gli array di chiavi dell'oggetto specificato

1
static Array util.keys(Value v);

Parametri di chiamata:

  • v: Valore, dato l'oggetto da interrogare

Risultati restituiti:

  • Array, restituisce un array di tutte le chiavi dell'oggetto

values

Interrogare tutte le matrici di valori dell'oggetto specificato

1
static Array util.values(Value v);

Parametri di chiamata:

  • v: Valore, dato l'oggetto da interrogare

Risultati restituiti:

  • Array, restituisce un array di tutti i valori dell'oggetto

clone

Clona la variabile data, se è un oggetto o un array, copia il contenuto nel nuovo oggetto

1
static Value util.clone(Value v);

Parametri di chiamata:

  • v: Valore, data la variabile da clonare

Risultati restituiti:

  • Value, restituisce il risultato del clone

deepFreeze

Congelare un oggetto.L'oggetto congelato e gli oggetti in esso contenuti non potranno essere modificati.

1
static util.deepFreeze(Value v);

Parametri di chiamata:

  • v: Valore, specifica l'oggetto da congelare

extend

Estendi i valori chiave di uno o più oggetti all'oggetto specificato

1 2
static Value util.extend(Value v, ...objs);

Parametri di chiamata:

  • v: Valore, specifica l'oggetto da estendere
  • objs: ..., specifica uno o più oggetti per l'espansione

Risultati restituiti:

  • Value, restituisce il risultato espanso

_extend

Estendi i valori chiave di uno o più oggetti all'oggetto specificato, che è un alias di extend

1 2
static Value util._extend(Value v, ...objs);

Parametri di chiamata:

  • v: Valore, specifica l'oggetto da estendere
  • objs: ..., specifica uno o più oggetti per l'espansione

Risultati restituiti:

  • Value, restituisce il risultato espanso

pick

Ritorno aobjectCopia, filtra solo i valori degli attributi della chiave specificata

1 2
static Object util.pick(Value v, ...objs);

Parametri di chiamata:

  • v: Valore, specifica l'oggetto da filtrare
  • objs: ..., specificare uno o più tasti per la selezione

Risultati restituiti:

  • Object, restituisce risultati filtrati

omit

Ritorno aobjectCopia, escludendo solo il valore dell'attributo della chiave specificata

1 2
static Object util.omit(Value v, ...keys);

Parametri di chiamata:

  • v: Valore, specifica l'oggetto da filtrare
  • keys: ..., specificare una o più chiavi per l'esclusione

Risultati restituiti:

  • Object, restituisce i risultati esclusi

first

Ottieni il primo elemento dell'array

1
static Value util.first(Value v);

Parametri di chiamata:

  • v: Valore, dato l'array da ottenere

Risultati restituiti:

  • Value, restituisce l'elemento recuperato

Ottieni i primi elementi multipli di un array

1 2
static Value util.first(Value v, Integer n);

Parametri di chiamata:

  • v: Valore, dato l'array da ottenere
  • n: Intero, specifica il numero di elementi da ottenere

Risultati restituiti:

  • Value, restituisce la matrice di elementi ottenuta

last

Ottieni l'ultimo elemento dell'array

1
static Value util.last(Value v);

Parametri di chiamata:

  • v: Valore, dato l'array da ottenere

Risultati restituiti:

  • Value, restituisce l'elemento recuperato

Ottieni più elementi alla fine di un array

1 2
static Value util.last(Value v, Integer n);

Parametri di chiamata:

  • v: Valore, dato l'array da ottenere
  • n: Intero, specifica il numero di elementi da ottenere

Risultati restituiti:

  • Value, restituisce la matrice di elementi ottenuta

unique

Ottieni una copia deduplicata degli elementi di un array

1 2
static Array util.unique(Value v, Boolean sorted = false);

Parametri di chiamata:

  • v: Valore, dato l'array da duplicare
  • sorted: Booleano, specifica se l'array è ordinato. Se l'array è ordinato, verrà utilizzato un algoritmo veloce.

Risultati restituiti:

  • Array, restituisce l'array dopo aver rimosso gli elementi duplicati

union

Combina i valori di uno o più array in un array con valori univoci

1
static Array util.union(...arrs);

Parametri di chiamata:

  • arrs: ..., specifica uno o più array da unire

Risultati restituiti:

  • Array, restituisce il risultato unito

intersection

Restituisce l'intersezione dell'array contenente arr escludendo uno o più elementi dell'array.

1
static Array util.intersection(...arrs);

Parametri di chiamata:

  • arrs: ..., specifica uno o più array utilizzati per calcolare l'intersezione

Risultati restituiti:

  • Array, restituisce il risultato del calcolo dell'intersezione

flatten

Converte un array con più livelli di annidamento (l'annidamento può contenere un numero qualsiasi di livelli) in un array con un solo livello. Se passi il parametro superficiale, l'array verrà ridotto a una sola dimensione di nidificazione.

1 2
static Array util.flatten(Value arr, Boolean shallow = false);

Parametri di chiamata:

  • arr: Valore, specifica l'array da convertire
  • shallow: Booleano, specifica se ridurre solo una dimensione di nidificazione, il valore predefinito è false

Risultati restituiti:

  • Array, restituisce il risultato della conversione

without

Restituisce un array contenente uno o più elementi nell'array arr, esclusi uno o più elementi.

1 2
static Array util.without(Value arr, ...els);

Parametri di chiamata:

  • arr: Valore, specifica l'array da escludere
  • els: ..., specifica uno o più elementi da escludere

Risultati restituiti:

  • Array, restituisce i risultati esclusi

difference

Restituisce un array contenente gli elementi nell'array arr esclusi gli elementi without dell'array.

1 2
static Array util.difference(Array list, ...arrs);

Parametri di chiamata:

  • list: Array, specifica l'array da escludere
  • arrs: ..., specifica uno o più array da escludere

Risultati restituiti:

  • Array, restituisce i risultati esclusi

each

Attraversa tutti gli elementi nell'elenco e genera ciascun elemento in ordine. Se viene passato il parametro di contesto, l'iteratore è associato all'oggetto di contesto. Ogni volta che viene chiamato l'iteratore, vengono passati tre parametri: (elemento, indice, elenco)

1 2 3
static Value util.each(Value list, Function iterator, Value context = undefined);

Parametri di chiamata:

  • list: Valore, specifica l'elenco o l'oggetto da attraversare
  • iterator: Funzione, specifica la funzione di callback utilizzata per l'attraversamento
  • context: Valore, specifica l'oggetto di contesto associato quando si chiama l'iteratore

Risultati restituiti:

  • Value, restituisce l'elenco stesso

map

Ogni valore nell'elenco viene mappato su un nuovo array tramite una funzione di trasformazione (iteratore). Se viene passato il parametro di contesto, l'iteratore è associato all'oggetto di contesto. Ogni volta che viene chiamato l'iteratore, vengono passati tre parametri: (elemento, indice, elenco)

1 2 3
static Array util.map(Value list, Function iterator, Value context = undefined);

Parametri di chiamata:

  • list: Valore, specifica l'elenco o l'oggetto da trasformare
  • iterator: Funzione, specifica la funzione di callback utilizzata per la trasformazione
  • context: Valore, specifica l'oggetto di contesto associato quando si chiama l'iteratore

Risultati restituiti:

  • Array, restituisce il risultato della trasformazione

reduce

Ridurre gli elementi nell'elenco a un singolo valore. Se viene passato il parametro di contesto, l'iteratore è associato all'oggetto di contesto. Ogni volta che viene chiamato l'iteratore, vengono passati tre parametri: (memo, elemento, indice, elenco)

1 2 3 4
static Value util.reduce(Value list, Function iterator, Value memo, Value context = undefined);

Parametri di chiamata:

  • list: Valore, specifica l'elenco o l'oggetto da riepilogare
  • iterator: Funzione, specifica la funzione di callback utilizzata per la risoluzione
  • memo: Valore, specifica il valore iniziale della riduzione
  • context: Valore, specifica l'oggetto di contesto associato quando si chiama l'iteratore

Risultati restituiti:

  • Value, restituisce il risultato riepilogato

parseArgs

Analizza la stringa della riga di comando e restituisce l'elenco dei parametri

1
static NArray util.parseArgs(String command);

Parametri di chiamata:

  • command: String, specifica la stringa della riga di comando da analizzare

Risultati restituiti:

  • NArray, restituisce l'elenco dei parametri analizzati

compile

Compila lo script in codice binario

1 2 3
static Buffer util.compile(String srcname, String script, Integer mode = 0);

Parametri di chiamata:

  • srcname: String, specifica il nome dello script da aggiungere
  • script: String, specifica il codice dello script da compilare
  • mode: Numero intero, modalità di compilazione, 0: modulo, 1: script, 2: lavoratore, il valore predefinito è 0

Risultati restituiti:

  • Buffer, restituisce il codice binario compilato

util.compileGli script possono essere compilati in blocchi di dati in esecuzione interni v8 (codice eseguibile non automatico). Il codice compilato può essere caricato ed eseguito direttamente da run e require dopo essere stato salvato come *.jsc.

Poiché dopo la compilazione, il codice di destinazione non sarà in grado di ottenere in modo inverso il codice sorgente, i programmi che si basano su Function.toString non verranno eseguiti correttamente.


sync

Avvolgi funzioni di callback o asincrone per chiamarle in modo sincrono

1 2
static Function util.sync(Function func, Boolean async_func = false);

Parametri di chiamata:

  • func: Funzione, data la funzione che deve essere racchiusa
  • async_func: Booleano, specifica che func viene elaborata come funzione asincrona. Se è falsa, verrà giudicata automaticamente.

Risultati restituiti:

  • Function, restituisce una funzione che viene eseguita in modo sincrono

util.syncElabora la funzione di callback o la funzione asincrona in una funzione di sincronizzazione per facilitare la chiamata.

L'esempio di richiamata è il seguente:

1 2 3 4 5 6 7 8 9 10 11
// callback var util = require('util'); function cb_test(a, b, cb) { setTimeout(() => { cb(null, a + b); }, 100); } var fn_sync = util.sync(cb_test); console.log(fn_sync(100, 200));

Un esempio asincrono è il seguente:

1 2 3 4 5 6 7 8 9
// async/await var util = require('util'); async function async_test(a, b) { return a + b; } var fn_sync = util.sync(async_test); console.log(fn_sync(100, 200));

Per le funzioni di restituzione della promessa che non sono contrassegnate come asincrone, la modalità di sincronizzazione può essere specificata manualmente:

1 2 3 4 5 6 7 8 9 10 11
// async/await var util = require('util'); function async_test(a, b) { return new Promise(function(resolve, reject) { resolve(a + b); }); } var fn_sync = util.sync(async_test, true); console.log(fn_sync(100, 200));

promisify

Funzione di callback wrap per la chiamata asincrona

1
static Function util.promisify(Function func);

Parametri di chiamata:

  • func: Funzione, data la funzione che deve essere racchiusa

Risultati restituiti:

  • Function, restituisce la funzione asincrona

util.promisifyElabora la funzione di callback come funzione asincrona per facilitare la chiamata.

L'esempio di richiamata è il seguente:

1 2 3 4 5 6 7 8 9 10 11
// callback var util = require('util'); function cb_test(a, b, cb) { setTimeout(() => { cb(null, a + b); }, 100); } var fn_sync = util.promisify(cb_test); console.log(async fn_sync(100, 200));

callbackify

Funzione wrap asincrona per la chiamata di richiamata

1
static Function util.callbackify(Function func);

Parametri di chiamata:

  • func: Funzione, data la funzione che deve essere racchiusa

Risultati restituiti:

  • Function, restituisce la funzione di callback

util.callbackifyElabora la funzione asincrona in una funzione di callback per facilitare la chiamata.

Un esempio asincrono è il seguente:

1 2 3 4 5 6 7 8 9 10 11 12
// async var util = require('util'); async function async_test(a, b) { return a + b; } var fn_callback = util.callbackify(async_test); fn_callback(100, 200, (err, result) => { console.log(result); });

buildInfo

Interrogare le informazioni sulla versione corrente del motore e del componente

1
static Object util.buildInfo();

Risultati restituiti:

  • Object, restituisce l'oggetto della versione del componente
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
{ "fibjs": "0.25.0", "clang": "9.1", "date": "Jun 12 2018 07:22:40", "vender": { "ev": "4.24", "expat": "2.2.5", "gd": "2.2.4", "jpeg": "8.3", "leveldb": "1.17", "mongo": "0.7", "pcre": "8.21", "png": "1.5.4", "mbedtls": "2.6.1", "snappy": "1.1.2", "sqlite": "3.23.0", "tiff": "3.9.5", "uuid": "1.6.2", "v8": "6.7.288.20", "v8-snapshot": true, "zlib": "1.2.7", "zmq": "3.1" } }