workbox-core
Version:
This module is used by a number of the other Workbox modules to share common code.
31 lines (24 loc) • 731 B
text/typescript
/*
Copyright 2018 Google LLC
Use of this source code is governed by an MIT-style
license that can be found in the LICENSE file or at
https://opensource.org/licenses/MIT.
*/
import {messages} from './messages.js';
import '../../_version.js';
const fallback = (code: string, ...args: any[]) => {
let msg = code;
if (args.length > 0) {
msg += ` :: ${JSON.stringify(args)}`;
}
return msg;
};
const generatorFunction = (code: string, details = {}) => {
const message = messages[code];
if (!message) {
throw new Error(`Unable to find message for code '${code}'.`);
}
return message(details);
};
export const messageGenerator =
process.env.NODE_ENV === 'production' ? fallback : generatorFunction;