123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116 |
- /* eslint-disable @typescript-eslint/naming-convention */
- /**
- * Checks for a matching suffix at the end of a string (for ES5 and lower)
- * @param str Source string
- * @param suffix Suffix to search for in the source string
- * @returns Boolean indicating whether the suffix was found (true) or not (false)
- * @deprecated Please use native string function instead
- */
- export const EndsWith = (str, suffix) => {
- return str.endsWith(suffix);
- };
- /**
- * Checks for a matching suffix at the beginning of a string (for ES5 and lower)
- * @param str Source string
- * @param suffix Suffix to search for in the source string
- * @returns Boolean indicating whether the suffix was found (true) or not (false)
- * @deprecated Please use native string function instead
- */
- export const StartsWith = (str, suffix) => {
- if (!str) {
- return false;
- }
- return str.startsWith(suffix);
- };
- /**
- * Decodes a buffer into a string
- * @param buffer The buffer to decode
- * @returns The decoded string
- */
- export const Decode = (buffer) => {
- if (typeof TextDecoder !== "undefined") {
- return new TextDecoder().decode(buffer);
- }
- let result = "";
- for (let i = 0; i < buffer.byteLength; i++) {
- result += String.fromCharCode(buffer[i]);
- }
- return result;
- };
- /**
- * Encode a buffer to a base64 string
- * @param buffer defines the buffer to encode
- * @returns the encoded string
- */
- export const EncodeArrayBufferToBase64 = (buffer) => {
- const keyStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
- let output = "";
- let chr1, chr2, chr3, enc1, enc2, enc3, enc4;
- let i = 0;
- const bytes = ArrayBuffer.isView(buffer) ? new Uint8Array(buffer.buffer, buffer.byteOffset, buffer.byteLength) : new Uint8Array(buffer);
- while (i < bytes.length) {
- chr1 = bytes[i++];
- chr2 = i < bytes.length ? bytes[i++] : Number.NaN;
- chr3 = i < bytes.length ? bytes[i++] : Number.NaN;
- enc1 = chr1 >> 2;
- enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);
- enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);
- enc4 = chr3 & 63;
- if (isNaN(chr2)) {
- enc3 = enc4 = 64;
- }
- else if (isNaN(chr3)) {
- enc4 = 64;
- }
- output += keyStr.charAt(enc1) + keyStr.charAt(enc2) + keyStr.charAt(enc3) + keyStr.charAt(enc4);
- }
- return output;
- };
- /**
- * Converts a given base64 string as an ASCII encoded stream of data
- * @param base64Data The base64 encoded string to decode
- * @returns Decoded ASCII string
- */
- export const DecodeBase64ToString = (base64Data) => {
- return atob(base64Data);
- };
- /**
- * Converts a given base64 string into an ArrayBuffer of raw byte data
- * @param base64Data The base64 encoded string to decode
- * @returns ArrayBuffer of byte data
- */
- export const DecodeBase64ToBinary = (base64Data) => {
- const decodedString = DecodeBase64ToString(base64Data);
- const bufferLength = decodedString.length;
- const bufferView = new Uint8Array(new ArrayBuffer(bufferLength));
- for (let i = 0; i < bufferLength; i++) {
- bufferView[i] = decodedString.charCodeAt(i);
- }
- return bufferView.buffer;
- };
- /**
- * Converts a number to string and pads with preceding zeroes until it is of specified length.
- * @param num the number to convert and pad
- * @param length the expected length of the string
- * @returns the padded string
- */
- export const PadNumber = (num, length) => {
- let str = String(num);
- while (str.length < length) {
- str = "0" + str;
- }
- return str;
- };
- /**
- * Helper to manipulate strings
- */
- export const StringTools = {
- EndsWith,
- StartsWith,
- Decode,
- EncodeArrayBufferToBase64,
- DecodeBase64ToString,
- DecodeBase64ToBinary,
- PadNumber,
- };
- //# sourceMappingURL=stringTools.js.map
|