Skip to content

Commit

Permalink
internal: add emitExperimentalWarning function
Browse files Browse the repository at this point in the history
Adds a new emitExperimentalWarning function to internal/util to warn
users that they are using an experimental feature and that feature can
change at any time.

PR-URL: #16497
Refs: #9036
Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
  • Loading branch information
codeman869 authored and gibfahn committed Dec 19, 2017
1 parent 6789663 commit b1bfced
Showing 1 changed file with 11 additions and 0 deletions.
11 changes: 11 additions & 0 deletions lib/internal/util.js
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@ const kArrowMessagePrivateSymbolIndex = binding['arrow_message_private_symbol'];
const kDecoratedPrivateSymbolIndex = binding['decorated_private_symbol'];
const noCrypto = !process.versions.openssl;

const experimentalWarnings = new Set();

function isError(e) {
return objectToString(e) === '[object Error]' || e instanceof Error;
}
Expand Down Expand Up @@ -115,6 +117,14 @@ function normalizeEncoding(enc) {
}
}

function emitExperimentalWarning(feature) {
if (experimentalWarnings.has(feature)) return;
const msg = `${feature} is an experimental feature. This feature could ` +
'change at any time';
experimentalWarnings.add(feature);
process.emitWarning(msg, 'ExperimentalWarning');
}

function filterDuplicateStrings(items, low) {
const map = new Map();
for (var i = 0; i < items.length; i++) {
Expand Down Expand Up @@ -280,6 +290,7 @@ module.exports = {
createClassWrapper,
decorateErrorStack,
deprecate,
emitExperimentalWarning,
filterDuplicateStrings,
getConstructorOf,
isError,
Expand Down

0 comments on commit b1bfced

Please sign in to comment.