You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

29 lines
1.0 KiB

"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.deprecateQueries = deprecateQueries;
var _queryName = require("./query-name");
function deprecateQueries(queriesObject, recommendation) {
const result = {};
Object.keys(queriesObject).forEach(queryName => {
const queryFn = queriesObject[queryName];
// @ts-expect-error: generic typing is hard
result[queryName] = deprecateQuery(queryFn, queryName, recommendation);
});
return result;
}
function deprecateQuery(queryFn, queryName, recommendation) {
const formattedRecommendation = recommendation.replace(/{queryPrefix}/g, (0, _queryName.getQueryPrefix)(queryName));
// @ts-expect-error: generic typing is hard
const wrapper = (...args) => {
const errorMessage = `${queryName}(...) is deprecated and will be removed in the future.\n\n${formattedRecommendation}`;
// eslint-disable-next-line no-console
console.warn(errorMessage);
return queryFn(...args);
};
return wrapper;
}
//# sourceMappingURL=deprecation.js.map