Don;t log deprecation warning for own logic

This commit is contained in:
Samy Pessé
2016-04-27 10:38:54 +02:00
parent f4de7748f5
commit b05eb8440b
4 changed files with 38 additions and 7 deletions
+4
View File
@@ -9,6 +9,10 @@ var Config = require('../models/config');
*/
function decodeGlobal(config, result) {
var values = result.values;
delete values.generator;
delete values.output;
return Config.updateValues(config, values);
}
+8 -3
View File
@@ -1,3 +1,4 @@
var deprecate = require('./deprecate');
/**
Decode changes from a JS API to a page object.
@@ -17,22 +18,26 @@ function decodePage(output, page, result) {
return page;
}
deprecate.disable('page.sections');
// GitBook 3
// Use returned page.content if different from original content
if (result.content != originalContent) {
return page.set('content', result.content);
page = page.set('content', result.content);
}
// GitBook 2 compatibility
// Finally, use page.sections
if (result.sections) {
return page.set('content',
else if (result.sections) {
page = page.set('content',
result.sections.map(function(section) {
return section.content;
}).join('\n')
);
}
deprecate.enable('page.sections');
return page;
}
+25 -3
View File
@@ -1,4 +1,5 @@
var logged = {};
var disabled = {};
/**
Log a deprecated notice
@@ -8,7 +9,7 @@ var logged = {};
@param {String} message
*/
function logNotice(book, key, message) {
if (logged[key]) return;
if (logged[key] || disabled[key]) return;
logged[key] = true;
@@ -57,11 +58,32 @@ function deprecateField(book, key, instance, property, value, msg) {
Object.defineProperty(instance, property, {
get: getter,
set: setter,
enumerable: true
enumerable: true,
configurable: true
});
}
/**
Enable a deprecation
@param {String} key: unique identitifer
*/
function enableDeprecation(key) {
disabled[key] = false;
}
/**
Disable a deprecation
@param {String} key: unique identitifer
*/
function disableDeprecation(key) {
disabled[key] = true;
}
module.exports = {
method: deprecateMethod,
field: deprecateField
field: deprecateField,
enable: enableDeprecation,
disable: disableDeprecation
};
+1 -1
View File
@@ -21,7 +21,7 @@ function encodePage(output, page) {
result.path = file.getPath();
result.rawPath = fs.resolve(result.path);
deprecate.field(output, 'page.section', result, 'sections', [
deprecate.field(output, 'page.sections', result, 'sections', [
{
content: result.content,
type: 'normal'