index.js 869 B

12345678910111213141516171819202122
  1. export default function buildLocalizeFn(args) {
  2. return function (dirtyIndex, dirtyOptions) {
  3. var options = dirtyOptions || {};
  4. var context = options.context ? String(options.context) : 'standalone';
  5. var valuesArray;
  6. if (context === 'formatting' && args.formattingValues) {
  7. var defaultWidth = args.defaultFormattingWidth || args.defaultWidth;
  8. var width = options.width ? String(options.width) : defaultWidth;
  9. valuesArray = args.formattingValues[width] || args.formattingValues[defaultWidth];
  10. } else {
  11. var _defaultWidth = args.defaultWidth;
  12. var _width = options.width ? String(options.width) : args.defaultWidth;
  13. valuesArray = args.values[_width] || args.values[_defaultWidth];
  14. }
  15. var index = args.argumentCallback ? args.argumentCallback(dirtyIndex) : dirtyIndex;
  16. return valuesArray[index];
  17. };
  18. }