StringArrayCallsWrapperTemplate.ts 853 B

12345678910111213141516171819202122232425
  1. /**
  2. * The first parameter of the outer stringArrayCallsWrapperName function will be used as an initial index
  3. * and later as a cache variable that will be captured by the inner function
  4. *
  5. * @returns {string}
  6. */
  7. export function StringArrayCallsWrapperTemplate (): string {
  8. return `
  9. function {stringArrayCallsWrapperName} ({stringArrayCacheName}, key) {
  10. const stringArray = {stringArrayFunctionName}();
  11. {stringArrayCallsWrapperName} = function (index, key) {
  12. index = index - {indexShiftAmount};
  13. let value = stringArray[index];
  14. {decodeCodeHelperTemplate}
  15. return value;
  16. };
  17. return {stringArrayCallsWrapperName}({stringArrayCacheName}, key);
  18. }
  19. `;
  20. }