* @license
* Copyright 2020 Google LLC
* SPDX-License-Identifier: Apache-2.0
*/
const previousWarnings = new Set();
* Warn developers that a function or property is deprecated.
*
* @param name The name of the function or property.
* @param deprecationDate The date of deprecation. Prefer 'version n.0.0'
* format, and fall back to 'month yyyy' or 'quarter yyyy' format.
* @param deletionDate The date of deletion. Prefer 'version n.0.0'
* format, and fall back to 'month yyyy' or 'quarter yyyy' format.
* @param opt_use The name of a function or property to use instead, if any.
* @internal
*/
export function warn(
name: string,
deprecationDate: string,
deletionDate: string,
opt_use?: string,
) {
let msg =
name +
' was deprecated in ' +
deprecationDate +
' and will be deleted in ' +
deletionDate +
'.';
if (opt_use) {
msg += '\nUse ' + opt_use + ' instead.';
}
if (previousWarnings.has(msg)) {
return;
}
previousWarnings.add(msg);
console.warn(msg);
}