StringsArrayBase64DecodeNodeTemplate.ts 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. /**
  2. * @returns {string}
  3. */
  4. export function StringsArrayBase64DecodeNodeTemplate (): string {
  5. return `
  6. if (!{stringsArrayCallsWrapperName}.atobPolyfillAppended) {
  7. {atobPolyfill}
  8. {stringsArrayCallsWrapperName}.atobPolyfillAppended = true;
  9. }
  10. if (!{stringsArrayCallsWrapperName}.base64DecodeUnicode) {
  11. {stringsArrayCallsWrapperName}.base64DecodeUnicode = function (str) {
  12. var string = atob(str);
  13. var newStringChars = [];
  14. for (var i = 0, length = string.length; i < length; i++) {
  15. newStringChars += '%' + ('00' + string.charCodeAt(i).toString(16)).slice(-2);
  16. }
  17. return decodeURIComponent(newStringChars);
  18. };
  19. }
  20. if (!{stringsArrayCallsWrapperName}.data) {
  21. {stringsArrayCallsWrapperName}.data = {};
  22. }
  23. if (!{stringsArrayCallsWrapperName}.data[index]) {
  24. {selfDefendingCode}
  25. value = {stringsArrayCallsWrapperName}.base64DecodeUnicode(value);
  26. {stringsArrayCallsWrapperName}.data[index] = value;
  27. } else {
  28. value = {stringsArrayCallsWrapperName}.data[index];
  29. }
  30. `;
  31. }