From c69e193cf7519b7781b619a47663aa7daf79e6f9 Mon Sep 17 00:00:00 2001 From: Tyler Ang-Wanek Date: Thu, 8 Aug 2019 14:24:42 -0700 Subject: [PATCH] Add deprecation warnings for enums that need them. --- lib/attr.js | 20 ++++++++++++++++++++ lib/config.js | 17 +++++++++++++++++ lib/remote.js | 20 ++++++++++++++++++++ 3 files changed, 57 insertions(+) create mode 100644 lib/attr.js diff --git a/lib/attr.js b/lib/attr.js new file mode 100644 index 000000000..8ecdd5eee --- /dev/null +++ b/lib/attr.js @@ -0,0 +1,20 @@ +var util = require("util"); +var NodeGit = require("../"); + +NodeGit.Attr.STATES = {}; +var DEPRECATED_STATES = { + UNSPECIFIED_T: "UNSPECIFIED", + TRUE_T: "TRUE", + FALSE_T: "FALSE", + VALUE_T: "STRING" +}; + +Object.keys(DEPRECATED_STATES).forEach((key) => { + const newKey = DEPRECATED_STATES[key]; + Object.defineProperty(NodeGit.Attr.STATES, key, { + get: util.deprecate( + () => NodeGit.Attr.VALUE[newKey], + `Use NodeGit.Attr.VALUE.${newKey} instead of NodeGit.Attr.STATES.${key}.` + ) + }); +}); diff --git a/lib/config.js b/lib/config.js index 1527ede7b..10838522a 100644 --- a/lib/config.js +++ b/lib/config.js @@ -1,3 +1,4 @@ +var util = require("util"); var NodeGit = require("../"); var Config = NodeGit.Config; @@ -6,3 +7,19 @@ var Config = NodeGit.Config; Config.prototype.getString = function() { return this.getStringBuf.apply(this, arguments); }; + +NodeGit.Enums.CVAR = {}; +var DEPRECATED_CVAR_ENUMS = [ + "FALSE", + "TRUE", + "INT32", + "STRING" +]; +DEPRECATED_CVAR_ENUMS.forEach((key) => { + Object.defineProperty(NodeGit.Enums.CVAR, key, { + get: util.deprecate( + () => Config.MAP[key], + `Use NodeGit.Config.MAP.${key} instead of NodeGit.Enums.CVAR.${key}.` + ) + }); +}); diff --git a/lib/remote.js b/lib/remote.js index 09db11c1a..510ce9b8b 100644 --- a/lib/remote.js +++ b/lib/remote.js @@ -1,3 +1,4 @@ +var util = require("util"); var NodeGit = require("../"); var normalizeFetchOptions = NodeGit.Utils.normalizeFetchOptions; var normalizeOptions = NodeGit.Utils.normalizeOptions; @@ -182,3 +183,22 @@ Remote.prototype.upload = function(refSpecs, opts) { return _upload.call(this, refSpecs, opts); }; + + +NodeGit.Remote.COMPLETION_TYPE = {}; +var DEPRECATED_STATES = { + COMPLETION_DOWNLOAD: "DOWNLOAD", + COMPLETION_INDEXING: "INDEXING", + COMPLETION_ERROR: "ERROR" +}; + +Object.keys(DEPRECATED_STATES).forEach((key) => { + const newKey = DEPRECATED_STATES[key]; + Object.defineProperty(NodeGit.Remote.COMPLETION_TYPE, key, { + get: util.deprecate( + () => NodeGit.Remote.COMPLETION[newKey], + `Use NodeGit.Remote.COMPLETION.${newKey} instead of ` + + `NodeGit.Remote.COMPLETION_TYPE.${key}.` + ) + }); +});