diff --git a/README.md b/README.md index da3998f..1f3cee7 100755 --- a/README.md +++ b/README.md @@ -25,6 +25,15 @@ Skeet Utils Plugin for Utitilies. +This plugin is a collection of utilities for basic operations. + +- Encryption +- String +- Number +- Time +- Http +- Notification + # Installation ```bash @@ -39,6 +48,8 @@ $ yarn add @skeet-framework/utils # Skeet Utils Docs +More information can be found in the following documents. + - [Skeet Utils TypeDoc](https://elsoul.github.io/skeet-utils/) ## Skeet Framework Document diff --git a/dist/cjs/lib/crypto/base64.d.ts b/dist/cjs/lib/crypto/base64.d.ts index d2a7309..5d91861 100644 --- a/dist/cjs/lib/crypto/base64.d.ts +++ b/dist/cjs/lib/crypto/base64.d.ts @@ -1,2 +1,24 @@ +/** + * Encodes a payload to base64. + * + * @param payload - The data to be encoded. + * @returns The base64-encoded payload. + * + * @example + * const data = 'Hello, world!'; + * const encodedData = encodeBase64(data); + * console.log(encodedData); // Base64-encoded data + */ export declare const encodeBase64: (payload: string) => string; +/** + * Decodes a base64-encoded payload to a string. + * + * @param payload - The base64-encoded data to be decoded. + * @returns The decoded payload as a UTF-8 string. + * + * @example + * const encodedData = 'SGVsbG8sIHdvcmxkIQ=='; // Base64-encoded data + * const decodedData = decodeBase64(encodedData); + * console.log(decodedData); // Decoded data: "Hello, world!" + */ export declare const decodeBase64: (payload: string) => string; diff --git a/dist/cjs/lib/crypto/base64.js b/dist/cjs/lib/crypto/base64.js index 70770a3..e7320e5 100644 --- a/dist/cjs/lib/crypto/base64.js +++ b/dist/cjs/lib/crypto/base64.js @@ -1,10 +1,32 @@ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.decodeBase64 = exports.encodeBase64 = void 0; +/** + * Encodes a payload to base64. + * + * @param payload - The data to be encoded. + * @returns The base64-encoded payload. + * + * @example + * const data = 'Hello, world!'; + * const encodedData = encodeBase64(data); + * console.log(encodedData); // Base64-encoded data + */ const encodeBase64 = (payload) => { return Buffer.from(payload).toString('base64'); }; exports.encodeBase64 = encodeBase64; +/** + * Decodes a base64-encoded payload to a string. + * + * @param payload - The base64-encoded data to be decoded. + * @returns The decoded payload as a UTF-8 string. + * + * @example + * const encodedData = 'SGVsbG8sIHdvcmxkIQ=='; // Base64-encoded data + * const decodedData = decodeBase64(encodedData); + * console.log(decodedData); // Decoded data: "Hello, world!" + */ const decodeBase64 = (payload) => { return Buffer.from(payload, 'base64').toString('utf-8'); }; diff --git a/dist/cjs/lib/crypto/base64.js.map b/dist/cjs/lib/crypto/base64.js.map index a2fa94e..d5b6f10 100644 --- a/dist/cjs/lib/crypto/base64.js.map +++ b/dist/cjs/lib/crypto/base64.js.map @@ -1 +1 @@ -{"version":3,"file":"base64.js","sourceRoot":"","sources":["../../../../src/lib/crypto/base64.ts"],"names":[],"mappings":";;;AAAO,MAAM,YAAY,GAAG,CAAC,OAAe,EAAE,EAAE;IAC9C,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;AAChD,CAAC,CAAA;AAFY,QAAA,YAAY,gBAExB;AAEM,MAAM,YAAY,GAAG,CAAC,OAAe,EAAE,EAAE;IAC9C,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;AACzD,CAAC,CAAA;AAFY,QAAA,YAAY,gBAExB"} \ No newline at end of file +{"version":3,"file":"base64.js","sourceRoot":"","sources":["../../../../src/lib/crypto/base64.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;GAUG;AACI,MAAM,YAAY,GAAG,CAAC,OAAe,EAAU,EAAE;IACtD,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;AAChD,CAAC,CAAA;AAFY,QAAA,YAAY,gBAExB;AAED;;;;;;;;;;GAUG;AACI,MAAM,YAAY,GAAG,CAAC,OAAe,EAAU,EAAE;IACtD,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;AACzD,CAAC,CAAA;AAFY,QAAA,YAAY,gBAExB"} \ No newline at end of file diff --git a/dist/cjs/lib/crypto/crypto.d.ts b/dist/cjs/lib/crypto/crypto.d.ts index 58635e5..b8d024e 100644 --- a/dist/cjs/lib/crypto/crypto.d.ts +++ b/dist/cjs/lib/crypto/crypto.d.ts @@ -1,3 +1,3 @@ -export declare const encrypt: (data: string, iv: string, password: string, salt: string) => string; -export declare const decrypt: (data: string, iv: string, password: string, salt: string) => string; -export declare const generateIv: () => string; +export declare const algorithm = "aes-256-cbc"; +export declare const inputEncoding = "utf8"; +export declare const outputEncoding = "base64"; diff --git a/dist/cjs/lib/crypto/crypto.js b/dist/cjs/lib/crypto/crypto.js index c337097..5ebb81b 100644 --- a/dist/cjs/lib/crypto/crypto.js +++ b/dist/cjs/lib/crypto/crypto.js @@ -1,44 +1,7 @@ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -exports.generateIv = exports.decrypt = exports.encrypt = void 0; -const crypto_1 = require("crypto"); -const algorithm = 'aes-256-cbc'; -const inputEncoding = 'utf8'; -const outputEncoding = 'base64'; -const encrypt = (data, iv, password, salt) => { - try { - const key = (0, crypto_1.scryptSync)(password, salt, 32); - const cipher = (0, crypto_1.createCipheriv)(algorithm, key, Buffer.from(iv, outputEncoding)); - let cipheredData = cipher.update(data, inputEncoding, outputEncoding); - cipheredData += cipher.final(outputEncoding); - return cipheredData; - } - catch (error) { - throw new Error(`encrypt: ${error}`); - } -}; -exports.encrypt = encrypt; -const decrypt = (data, iv, password, salt) => { - try { - const key = (0, crypto_1.scryptSync)(password, salt, 32); - const decipher = (0, crypto_1.createDecipheriv)(algorithm, key, Buffer.from(iv, outputEncoding)); - let decipheredData = decipher.update(data, outputEncoding, inputEncoding); - decipheredData += decipher.final(inputEncoding); - return decipheredData; - } - catch (error) { - throw new Error(`decrypt: ${error}`); - } -}; -exports.decrypt = decrypt; -const generateIv = () => { - try { - const iv = (0, crypto_1.randomBytes)(16); - return Buffer.from(iv).toString(outputEncoding); - } - catch (error) { - throw new Error(`generateIv: ${error}`); - } -}; -exports.generateIv = generateIv; +exports.outputEncoding = exports.inputEncoding = exports.algorithm = void 0; +exports.algorithm = 'aes-256-cbc'; +exports.inputEncoding = 'utf8'; +exports.outputEncoding = 'base64'; //# sourceMappingURL=crypto.js.map \ No newline at end of file diff --git a/dist/cjs/lib/crypto/crypto.js.map b/dist/cjs/lib/crypto/crypto.js.map index e2547c1..5195004 100644 --- a/dist/cjs/lib/crypto/crypto.js.map +++ b/dist/cjs/lib/crypto/crypto.js.map @@ -1 +1 @@ -{"version":3,"file":"crypto.js","sourceRoot":"","sources":["../../../../src/lib/crypto/crypto.ts"],"names":[],"mappings":";;;AAAA,mCAKe;AAEf,MAAM,SAAS,GAAG,aAAa,CAAA;AAC/B,MAAM,aAAa,GAAG,MAAM,CAAA;AAC5B,MAAM,cAAc,GAAG,QAAQ,CAAA;AAExB,MAAM,OAAO,GAAG,CACrB,IAAY,EACZ,EAAU,EACV,QAAgB,EAChB,IAAY,EACZ,EAAE;IACF,IAAI;QACF,MAAM,GAAG,GAAG,IAAA,mBAAU,EAAC,QAAQ,EAAE,IAAI,EAAE,EAAE,CAAC,CAAA;QAC1C,MAAM,MAAM,GAAG,IAAA,uBAAc,EAC3B,SAAS,EACT,GAAG,EACH,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,cAAc,CAAC,CAChC,CAAA;QACD,IAAI,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,aAAa,EAAE,cAAc,CAAC,CAAA;QACrE,YAAY,IAAI,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,CAAA;QAC5C,OAAO,YAAY,CAAA;KACpB;IAAC,OAAO,KAAK,EAAE;QACd,MAAM,IAAI,KAAK,CAAC,YAAY,KAAK,EAAE,CAAC,CAAA;KACrC;AACH,CAAC,CAAA;AAnBY,QAAA,OAAO,WAmBnB;AAEM,MAAM,OAAO,GAAG,CACrB,IAAY,EACZ,EAAU,EACV,QAAgB,EAChB,IAAY,EACZ,EAAE;IACF,IAAI;QACF,MAAM,GAAG,GAAG,IAAA,mBAAU,EAAC,QAAQ,EAAE,IAAI,EAAE,EAAE,CAAC,CAAA;QAC1C,MAAM,QAAQ,GAAG,IAAA,yBAAgB,EAC/B,SAAS,EACT,GAAG,EACH,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,cAAc,CAAC,CAChC,CAAA;QACD,IAAI,cAAc,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,cAAc,EAAE,aAAa,CAAC,CAAA;QACzE,cAAc,IAAI,QAAQ,CAAC,KAAK,CAAC,aAAa,CAAC,CAAA;QAC/C,OAAO,cAAc,CAAA;KACtB;IAAC,OAAO,KAAK,EAAE;QACd,MAAM,IAAI,KAAK,CAAC,YAAY,KAAK,EAAE,CAAC,CAAA;KACrC;AACH,CAAC,CAAA;AAnBY,QAAA,OAAO,WAmBnB;AAEM,MAAM,UAAU,GAAG,GAAG,EAAE;IAC7B,IAAI;QACF,MAAM,EAAE,GAAG,IAAA,oBAAW,EAAC,EAAE,CAAC,CAAA;QAC1B,OAAO,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAA;KAChD;IAAC,OAAO,KAAK,EAAE;QACd,MAAM,IAAI,KAAK,CAAC,eAAe,KAAK,EAAE,CAAC,CAAA;KACxC;AACH,CAAC,CAAA;AAPY,QAAA,UAAU,cAOtB"} \ No newline at end of file +{"version":3,"file":"crypto.js","sourceRoot":"","sources":["../../../../src/lib/crypto/crypto.ts"],"names":[],"mappings":";;;AAAa,QAAA,SAAS,GAAG,aAAa,CAAA;AACzB,QAAA,aAAa,GAAG,MAAM,CAAA;AACtB,QAAA,cAAc,GAAG,QAAQ,CAAA"} \ No newline at end of file diff --git a/dist/cjs/lib/crypto/decrypt.d.ts b/dist/cjs/lib/crypto/decrypt.d.ts new file mode 100644 index 0000000..b2d5b20 --- /dev/null +++ b/dist/cjs/lib/crypto/decrypt.d.ts @@ -0,0 +1,22 @@ +/** + * @module crypto + * @preferred + */ +/** + * Decrypts data using the given parameters. + * + * @param encryptedData - The encrypted data. + * @param iv - The initialization vector. + * @param password - The password for decryption. + * @param salt - The salt for key derivation. + * @returns The decrypted data. + * + * @example + * const encrypted = 'EncryptedDataHere'; // Encrypted data obtained from the encryption process + * const iv = '1234567890123456'; // Initialization vector used in the encryption process + * const password = 'MySecretPassword'; // Password used in the encryption process + * const salt = 'MySalt'; // Salt used in the encryption process + * const decrypted = decrypt(encrypted, iv, password, salt); + * console.log(decrypted); + */ +export declare const decrypt: (encryptedData: string, iv: string, password: string, salt: string) => string; diff --git a/dist/cjs/lib/crypto/decrypt.js b/dist/cjs/lib/crypto/decrypt.js new file mode 100644 index 0000000..671b509 --- /dev/null +++ b/dist/cjs/lib/crypto/decrypt.js @@ -0,0 +1,40 @@ +"use strict"; +/** + * @module crypto + * @preferred + */ +Object.defineProperty(exports, "__esModule", { value: true }); +exports.decrypt = void 0; +const crypto_1 = require("crypto"); +const crypto_2 = require("./crypto"); +/** + * Decrypts data using the given parameters. + * + * @param encryptedData - The encrypted data. + * @param iv - The initialization vector. + * @param password - The password for decryption. + * @param salt - The salt for key derivation. + * @returns The decrypted data. + * + * @example + * const encrypted = 'EncryptedDataHere'; // Encrypted data obtained from the encryption process + * const iv = '1234567890123456'; // Initialization vector used in the encryption process + * const password = 'MySecretPassword'; // Password used in the encryption process + * const salt = 'MySalt'; // Salt used in the encryption process + * const decrypted = decrypt(encrypted, iv, password, salt); + * console.log(decrypted); + */ +const decrypt = (encryptedData, iv, password, salt) => { + try { + const key = (0, crypto_1.scryptSync)(password, salt, 32); + const decipher = (0, crypto_1.createDecipheriv)(crypto_2.algorithm, key, Buffer.from(iv, crypto_2.outputEncoding)); + let decryptedData = decipher.update(encryptedData, crypto_2.outputEncoding, crypto_2.inputEncoding); + decryptedData += decipher.final(crypto_2.inputEncoding); + return decryptedData; + } + catch (error) { + throw new Error(`decrypt: ${error}`); + } +}; +exports.decrypt = decrypt; +//# sourceMappingURL=decrypt.js.map \ No newline at end of file diff --git a/dist/cjs/lib/crypto/decrypt.js.map b/dist/cjs/lib/crypto/decrypt.js.map new file mode 100644 index 0000000..6fe7fc8 --- /dev/null +++ b/dist/cjs/lib/crypto/decrypt.js.map @@ -0,0 +1 @@ +{"version":3,"file":"decrypt.js","sourceRoot":"","sources":["../../../../src/lib/crypto/decrypt.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,mCAAqD;AACrD,qCAAmE;AAEnE;;;;;;;;;;;;;;;;GAgBG;AACI,MAAM,OAAO,GAAG,CACrB,aAAqB,EACrB,EAAU,EACV,QAAgB,EAChB,IAAY,EACJ,EAAE;IACV,IAAI;QACF,MAAM,GAAG,GAAG,IAAA,mBAAU,EAAC,QAAQ,EAAE,IAAI,EAAE,EAAE,CAAC,CAAA;QAC1C,MAAM,QAAQ,GAAG,IAAA,yBAAgB,EAC/B,kBAAS,EACT,GAAG,EACH,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,uBAAc,CAAC,CAChC,CAAA;QACD,IAAI,aAAa,GAAG,QAAQ,CAAC,MAAM,CACjC,aAAa,EACb,uBAAc,EACd,sBAAa,CACd,CAAA;QACD,aAAa,IAAI,QAAQ,CAAC,KAAK,CAAC,sBAAa,CAAC,CAAA;QAC9C,OAAO,aAAa,CAAA;KACrB;IAAC,OAAO,KAAK,EAAE;QACd,MAAM,IAAI,KAAK,CAAC,YAAY,KAAK,EAAE,CAAC,CAAA;KACrC;AACH,CAAC,CAAA;AAvBY,QAAA,OAAO,WAuBnB"} \ No newline at end of file diff --git a/dist/cjs/lib/crypto/encrypt.d.ts b/dist/cjs/lib/crypto/encrypt.d.ts new file mode 100644 index 0000000..f76f558 --- /dev/null +++ b/dist/cjs/lib/crypto/encrypt.d.ts @@ -0,0 +1,22 @@ +/** + * @module crypto + * @preferred + */ +/** + * Encrypts data using the given parameters. + * + * @param data - The data to be encrypted. + * @param iv - The initialization vector. + * @param password - The password for encryption. + * @param salt - The salt for key derivation. + * @returns The encrypted data. + * + * @example + * const data = 'Sensitive information'; + * const iv = '1234567890123456'; // 16 characters + * const password = 'MySecretPassword'; + * const salt = 'MySalt'; + * const encrypted = encrypt(data, iv, password, salt); + * console.log(encrypted); + */ +export declare const encrypt: (data: string, iv: string, password: string, salt: string) => string; diff --git a/dist/cjs/lib/crypto/encrypt.js b/dist/cjs/lib/crypto/encrypt.js new file mode 100644 index 0000000..2b2e2f4 --- /dev/null +++ b/dist/cjs/lib/crypto/encrypt.js @@ -0,0 +1,40 @@ +"use strict"; +/** + * @module crypto + * @preferred + */ +Object.defineProperty(exports, "__esModule", { value: true }); +exports.encrypt = void 0; +const crypto_1 = require("crypto"); +const crypto_2 = require("./crypto"); +/** + * Encrypts data using the given parameters. + * + * @param data - The data to be encrypted. + * @param iv - The initialization vector. + * @param password - The password for encryption. + * @param salt - The salt for key derivation. + * @returns The encrypted data. + * + * @example + * const data = 'Sensitive information'; + * const iv = '1234567890123456'; // 16 characters + * const password = 'MySecretPassword'; + * const salt = 'MySalt'; + * const encrypted = encrypt(data, iv, password, salt); + * console.log(encrypted); + */ +const encrypt = (data, iv, password, salt) => { + try { + const key = (0, crypto_1.scryptSync)(password, salt, 32); + const cipher = (0, crypto_1.createCipheriv)(crypto_2.algorithm, key, Buffer.from(iv, crypto_2.outputEncoding)); + let cipheredData = cipher.update(data, crypto_2.inputEncoding, crypto_2.outputEncoding); + cipheredData += cipher.final(crypto_2.outputEncoding); + return cipheredData; + } + catch (error) { + throw new Error(`encrypt: ${error}`); + } +}; +exports.encrypt = encrypt; +//# sourceMappingURL=encrypt.js.map \ No newline at end of file diff --git a/dist/cjs/lib/crypto/encrypt.js.map b/dist/cjs/lib/crypto/encrypt.js.map new file mode 100644 index 0000000..e9fd660 --- /dev/null +++ b/dist/cjs/lib/crypto/encrypt.js.map @@ -0,0 +1 @@ +{"version":3,"file":"encrypt.js","sourceRoot":"","sources":["../../../../src/lib/crypto/encrypt.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,mCAAmD;AACnD,qCAAmE;AAEnE;;;;;;;;;;;;;;;;GAgBG;AACI,MAAM,OAAO,GAAG,CACrB,IAAY,EACZ,EAAU,EACV,QAAgB,EAChB,IAAY,EACJ,EAAE;IACV,IAAI;QACF,MAAM,GAAG,GAAG,IAAA,mBAAU,EAAC,QAAQ,EAAE,IAAI,EAAE,EAAE,CAAC,CAAA;QAC1C,MAAM,MAAM,GAAG,IAAA,uBAAc,EAC3B,kBAAS,EACT,GAAG,EACH,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,uBAAc,CAAC,CAChC,CAAA;QACD,IAAI,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,sBAAa,EAAE,uBAAc,CAAC,CAAA;QACrE,YAAY,IAAI,MAAM,CAAC,KAAK,CAAC,uBAAc,CAAC,CAAA;QAC5C,OAAO,YAAY,CAAA;KACpB;IAAC,OAAO,KAAK,EAAE;QACd,MAAM,IAAI,KAAK,CAAC,YAAY,KAAK,EAAE,CAAC,CAAA;KACrC;AACH,CAAC,CAAA;AAnBY,QAAA,OAAO,WAmBnB"} \ No newline at end of file diff --git a/dist/cjs/lib/crypto/genRandomSalt.d.ts b/dist/cjs/lib/crypto/genRandomSalt.d.ts index 16cd31f..dc89f09 100644 --- a/dist/cjs/lib/crypto/genRandomSalt.d.ts +++ b/dist/cjs/lib/crypto/genRandomSalt.d.ts @@ -1 +1,11 @@ +/** + * Generates a random salt for key derivation. + * + * @param bytes - The number of bytes for the generated salt. Default is 16 bytes. + * @returns The generated salt as a hexadecimal string. + * + * @example + * const salt = generateRandomSalt(); + * console.log(salt); // Random hexadecimal salt + */ export declare function generateRandomSalt(bytes?: number): string; diff --git a/dist/cjs/lib/crypto/genRandomSalt.js b/dist/cjs/lib/crypto/genRandomSalt.js index 2f46155..247c580 100644 --- a/dist/cjs/lib/crypto/genRandomSalt.js +++ b/dist/cjs/lib/crypto/genRandomSalt.js @@ -2,8 +2,23 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.generateRandomSalt = void 0; const crypto_1 = require("crypto"); +/** + * Generates a random salt for key derivation. + * + * @param bytes - The number of bytes for the generated salt. Default is 16 bytes. + * @returns The generated salt as a hexadecimal string. + * + * @example + * const salt = generateRandomSalt(); + * console.log(salt); // Random hexadecimal salt + */ function generateRandomSalt(bytes = 16) { - return (0, crypto_1.randomBytes)(bytes).toString('hex'); + try { + return (0, crypto_1.randomBytes)(bytes).toString('hex'); + } + catch (error) { + throw new Error(`generateRandomSalt: ${error}`); + } } exports.generateRandomSalt = generateRandomSalt; //# sourceMappingURL=genRandomSalt.js.map \ No newline at end of file diff --git a/dist/cjs/lib/crypto/genRandomSalt.js.map b/dist/cjs/lib/crypto/genRandomSalt.js.map index a444deb..3555044 100644 --- a/dist/cjs/lib/crypto/genRandomSalt.js.map +++ b/dist/cjs/lib/crypto/genRandomSalt.js.map @@ -1 +1 @@ -{"version":3,"file":"genRandomSalt.js","sourceRoot":"","sources":["../../../../src/lib/crypto/genRandomSalt.ts"],"names":[],"mappings":";;;AAAA,mCAAoC;AAEpC,SAAgB,kBAAkB,CAAC,KAAK,GAAG,EAAE;IAC3C,OAAO,IAAA,oBAAW,EAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;AAC3C,CAAC;AAFD,gDAEC"} \ No newline at end of file +{"version":3,"file":"genRandomSalt.js","sourceRoot":"","sources":["../../../../src/lib/crypto/genRandomSalt.ts"],"names":[],"mappings":";;;AAAA,mCAAoC;AAEpC;;;;;;;;;GASG;AACH,SAAgB,kBAAkB,CAAC,KAAK,GAAG,EAAE;IAC3C,IAAI;QACF,OAAO,IAAA,oBAAW,EAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;KAC1C;IAAC,OAAO,KAAK,EAAE;QACd,MAAM,IAAI,KAAK,CAAC,uBAAuB,KAAK,EAAE,CAAC,CAAA;KAChD;AACH,CAAC;AAND,gDAMC"} \ No newline at end of file diff --git a/dist/cjs/lib/crypto/generateIv.d.ts b/dist/cjs/lib/crypto/generateIv.d.ts new file mode 100644 index 0000000..f46a8d9 --- /dev/null +++ b/dist/cjs/lib/crypto/generateIv.d.ts @@ -0,0 +1,10 @@ +/** + * Generates a random initialization vector (IV) for encryption. + * + * @returns The generated initialization vector as a base64-encoded string. + * + * @example + * const iv = generateIv(); + * console.log(iv); // Random base64-encoded initialization vector + */ +export declare const generateIv: () => string; diff --git a/dist/cjs/lib/crypto/generateIv.js b/dist/cjs/lib/crypto/generateIv.js new file mode 100644 index 0000000..f668130 --- /dev/null +++ b/dist/cjs/lib/crypto/generateIv.js @@ -0,0 +1,25 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.generateIv = void 0; +const crypto_1 = require("crypto"); +const crypto_2 = require("./crypto"); +/** + * Generates a random initialization vector (IV) for encryption. + * + * @returns The generated initialization vector as a base64-encoded string. + * + * @example + * const iv = generateIv(); + * console.log(iv); // Random base64-encoded initialization vector + */ +const generateIv = () => { + try { + const iv = (0, crypto_1.randomBytes)(16); + return Buffer.from(iv).toString(crypto_2.outputEncoding); + } + catch (error) { + throw new Error(`generateIv: ${error}`); + } +}; +exports.generateIv = generateIv; +//# sourceMappingURL=generateIv.js.map \ No newline at end of file diff --git a/dist/cjs/lib/crypto/generateIv.js.map b/dist/cjs/lib/crypto/generateIv.js.map new file mode 100644 index 0000000..f27db96 --- /dev/null +++ b/dist/cjs/lib/crypto/generateIv.js.map @@ -0,0 +1 @@ +{"version":3,"file":"generateIv.js","sourceRoot":"","sources":["../../../../src/lib/crypto/generateIv.ts"],"names":[],"mappings":";;;AAAA,mCAAoC;AACpC,qCAAyC;AAEzC;;;;;;;;GAQG;AACI,MAAM,UAAU,GAAG,GAAW,EAAE;IACrC,IAAI;QACF,MAAM,EAAE,GAAG,IAAA,oBAAW,EAAC,EAAE,CAAC,CAAA;QAC1B,OAAO,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,uBAAc,CAAC,CAAA;KAChD;IAAC,OAAO,KAAK,EAAE;QACd,MAAM,IAAI,KAAK,CAAC,eAAe,KAAK,EAAE,CAAC,CAAA;KACxC;AACH,CAAC,CAAA;AAPY,QAAA,UAAU,cAOtB"} \ No newline at end of file diff --git a/dist/cjs/lib/crypto/index.d.ts b/dist/cjs/lib/crypto/index.d.ts index 86eac39..889b27a 100644 --- a/dist/cjs/lib/crypto/index.d.ts +++ b/dist/cjs/lib/crypto/index.d.ts @@ -1,4 +1,6 @@ export * from './base64'; -export * from './crypto'; export * from './placeholder'; export * from './genRandomSalt'; +export * from './generateIv'; +export * from './encrypt'; +export * from './decrypt'; diff --git a/dist/cjs/lib/crypto/index.js b/dist/cjs/lib/crypto/index.js index 5fa400b..f5d1696 100644 --- a/dist/cjs/lib/crypto/index.js +++ b/dist/cjs/lib/crypto/index.js @@ -15,7 +15,9 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) { }; Object.defineProperty(exports, "__esModule", { value: true }); __exportStar(require("./base64"), exports); -__exportStar(require("./crypto"), exports); __exportStar(require("./placeholder"), exports); __exportStar(require("./genRandomSalt"), exports); +__exportStar(require("./generateIv"), exports); +__exportStar(require("./encrypt"), exports); +__exportStar(require("./decrypt"), exports); //# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/dist/cjs/lib/crypto/index.js.map b/dist/cjs/lib/crypto/index.js.map index 07817e6..5ee41ce 100644 --- a/dist/cjs/lib/crypto/index.js.map +++ b/dist/cjs/lib/crypto/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/crypto/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAwB;AACxB,2CAAwB;AACxB,gDAA6B;AAC7B,kDAA+B"} \ No newline at end of file +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/crypto/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAwB;AACxB,gDAA6B;AAC7B,kDAA+B;AAC/B,+CAA4B;AAC5B,4CAAyB;AACzB,4CAAyB"} \ No newline at end of file diff --git a/dist/cjs/lib/crypto/placeholder.d.ts b/dist/cjs/lib/crypto/placeholder.d.ts index ffb1530..3258fc2 100644 --- a/dist/cjs/lib/crypto/placeholder.d.ts +++ b/dist/cjs/lib/crypto/placeholder.d.ts @@ -1 +1,12 @@ +/** + * Generates a Gravatar icon URL for the given email address. + * + * @param email - The email address to generate the Gravatar icon URL for. + * @returns The Gravatar icon URL. + * + * @example + * const email = 'user@example.com'; + * const gravatarUrl = gravatarIconUrl(email); + * console.log(gravatarUrl); // Gravatar icon URL + */ export declare const gravatarIconUrl: (email: string) => string; diff --git a/dist/cjs/lib/crypto/placeholder.js b/dist/cjs/lib/crypto/placeholder.js index 3f95744..a2afe0f 100644 --- a/dist/cjs/lib/crypto/placeholder.js +++ b/dist/cjs/lib/crypto/placeholder.js @@ -2,6 +2,17 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.gravatarIconUrl = void 0; const crypto_1 = require("crypto"); +/** + * Generates a Gravatar icon URL for the given email address. + * + * @param email - The email address to generate the Gravatar icon URL for. + * @returns The Gravatar icon URL. + * + * @example + * const email = 'user@example.com'; + * const gravatarUrl = gravatarIconUrl(email); + * console.log(gravatarUrl); // Gravatar icon URL + */ const gravatarIconUrl = (email) => { try { const md5Hash = (0, crypto_1.createHash)('md5'); diff --git a/dist/cjs/lib/crypto/placeholder.js.map b/dist/cjs/lib/crypto/placeholder.js.map index 266bb0f..c55a368 100644 --- a/dist/cjs/lib/crypto/placeholder.js.map +++ b/dist/cjs/lib/crypto/placeholder.js.map @@ -1 +1 @@ -{"version":3,"file":"placeholder.js","sourceRoot":"","sources":["../../../../src/lib/crypto/placeholder.ts"],"names":[],"mappings":";;;AAAA,mCAAmC;AAE5B,MAAM,eAAe,GAAG,CAAC,KAAa,EAAE,EAAE;IAC/C,IAAI;QACF,MAAM,OAAO,GAAG,IAAA,mBAAU,EAAC,KAAK,CAAC,CAAA;QACjC,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAA;QAC/C,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QACvD,OAAO,mCAAmC,IAAI,gBAAgB,CAAA;KAC/D;IAAC,OAAO,KAAK,EAAE;QACd,MAAM,IAAI,KAAK,CAAC,oBAAoB,KAAK,EAAE,CAAC,CAAA;KAC7C;AACH,CAAC,CAAA;AATY,QAAA,eAAe,mBAS3B"} \ No newline at end of file +{"version":3,"file":"placeholder.js","sourceRoot":"","sources":["../../../../src/lib/crypto/placeholder.ts"],"names":[],"mappings":";;;AAAA,mCAAmC;AAEnC;;;;;;;;;;GAUG;AACI,MAAM,eAAe,GAAG,CAAC,KAAa,EAAU,EAAE;IACvD,IAAI;QACF,MAAM,OAAO,GAAG,IAAA,mBAAU,EAAC,KAAK,CAAC,CAAA;QACjC,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAA;QAC/C,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QACvD,OAAO,mCAAmC,IAAI,gBAAgB,CAAA;KAC/D;IAAC,OAAO,KAAK,EAAE;QACd,MAAM,IAAI,KAAK,CAAC,oBAAoB,KAAK,EAAE,CAAC,CAAA;KAC7C;AACH,CAAC,CAAA;AATY,QAAA,eAAe,mBAS3B"} \ No newline at end of file diff --git a/dist/cjs/lib/http/sendGet.d.ts b/dist/cjs/lib/http/sendGet.d.ts index 34d6d58..1721576 100644 --- a/dist/cjs/lib/http/sendGet.d.ts +++ b/dist/cjs/lib/http/sendGet.d.ts @@ -1 +1,21 @@ -export declare const sendGet: (url: string, params?: any, token?: string) => Promise; +import { Response as NodeFetchResponse } from 'node-fetch'; +/** + * Sends a GET request to a specified URL with optional parameters and Bearer Token. + * Content-Type is set to application/json. + * + * @param url - The URL to send the GET request to. + * @param params - Optional query parameters to be appended to the URL. + * @param token - Optional token to be included in the Authorization header. + * + * @returns The response from the GET request. + * + * @example + * ```typescript + * const response = await sendGet('https://api.example.com/data', { q: 'searchTerm' }, 'mytoken123'); + * const data = await response.json(); + * console.log(data); + * ``` + * + * @throws Will throw an error if the GET request fails. + */ +export declare const sendGet: (url: string, params?: any, token?: string) => Promise; diff --git a/dist/cjs/lib/http/sendGet.js b/dist/cjs/lib/http/sendGet.js index 45232a5..0fd62ed 100644 --- a/dist/cjs/lib/http/sendGet.js +++ b/dist/cjs/lib/http/sendGet.js @@ -5,6 +5,25 @@ var __importDefault = (this && this.__importDefault) || function (mod) { Object.defineProperty(exports, "__esModule", { value: true }); exports.sendGet = void 0; const node_fetch_1 = __importDefault(require("node-fetch")); +/** + * Sends a GET request to a specified URL with optional parameters and Bearer Token. + * Content-Type is set to application/json. + * + * @param url - The URL to send the GET request to. + * @param params - Optional query parameters to be appended to the URL. + * @param token - Optional token to be included in the Authorization header. + * + * @returns The response from the GET request. + * + * @example + * ```typescript + * const response = await sendGet('https://api.example.com/data', { q: 'searchTerm' }, 'mytoken123'); + * const data = await response.json(); + * console.log(data); + * ``` + * + * @throws Will throw an error if the GET request fails. + */ const sendGet = async (url, params, token) => { try { let headers = { 'Content-Type': 'application/json' }; diff --git a/dist/cjs/lib/http/sendGet.js.map b/dist/cjs/lib/http/sendGet.js.map index cad4546..190a010 100644 --- a/dist/cjs/lib/http/sendGet.js.map +++ b/dist/cjs/lib/http/sendGet.js.map @@ -1 +1 @@ -{"version":3,"file":"sendGet.js","sourceRoot":"","sources":["../../../../src/lib/http/sendGet.ts"],"names":[],"mappings":";;;;;;AAAA,4DAA8B;AAEvB,MAAM,OAAO,GAAG,KAAK,EAAE,GAAW,EAAE,MAAY,EAAE,KAAc,EAAE,EAAE;IACzE,IAAI;QACF,IAAI,OAAO,GAA2B,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAA;QAC5E,IAAI,aAAa,GAAG,GAAG,CAAA;QACvB,IAAI,MAAM,EAAE;YACV,MAAM,WAAW,GAAG,IAAI,eAAe,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAA;YAC1D,aAAa,GAAG,GAAG,GAAG,IAAI,WAAW,EAAE,CAAA;SACxC;QACD,IAAI,KAAK,EAAE;YACT,OAAO,CAAC,eAAe,CAAC,GAAG,UAAU,KAAK,EAAE,CAAA;SAC7C;QACD,MAAM,GAAG,GAAG,MAAM,IAAA,oBAAK,EAAC,aAAa,EAAE;YACrC,MAAM,EAAE,KAAK;YACb,OAAO;SACR,CAAC,CAAA;QACF,OAAO,GAAG,CAAA;KACX;IAAC,OAAO,CAAC,EAAE;QACV,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;QAClB,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAA;KAClC;AACH,CAAC,CAAA;AApBY,QAAA,OAAO,WAoBnB"} \ No newline at end of file +{"version":3,"file":"sendGet.js","sourceRoot":"","sources":["../../../../src/lib/http/sendGet.ts"],"names":[],"mappings":";;;;;;AAAA,4DAA8B;AAG9B;;;;;;;;;;;;;;;;;;GAkBG;AACI,MAAM,OAAO,GAAG,KAAK,EAC1B,GAAW,EACX,MAAY,EACZ,KAAc,EACc,EAAE;IAC9B,IAAI;QACF,IAAI,OAAO,GAA2B,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAA;QAC5E,IAAI,aAAa,GAAG,GAAG,CAAA;QACvB,IAAI,MAAM,EAAE;YACV,MAAM,WAAW,GAAG,IAAI,eAAe,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAA;YAC1D,aAAa,GAAG,GAAG,GAAG,IAAI,WAAW,EAAE,CAAA;SACxC;QACD,IAAI,KAAK,EAAE;YACT,OAAO,CAAC,eAAe,CAAC,GAAG,UAAU,KAAK,EAAE,CAAA;SAC7C;QACD,MAAM,GAAG,GAAG,MAAM,IAAA,oBAAK,EAAC,aAAa,EAAE;YACrC,MAAM,EAAE,KAAK;YACb,OAAO;SACR,CAAC,CAAA;QACF,OAAO,GAAwB,CAAA;KAChC;IAAC,OAAO,CAAC,EAAE;QACV,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;QAClB,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAA;KAClC;AACH,CAAC,CAAA;AAxBY,QAAA,OAAO,WAwBnB"} \ No newline at end of file diff --git a/dist/cjs/lib/http/sendPost.d.ts b/dist/cjs/lib/http/sendPost.d.ts index 52650f8..e230815 100644 --- a/dist/cjs/lib/http/sendPost.d.ts +++ b/dist/cjs/lib/http/sendPost.d.ts @@ -1 +1,23 @@ -export declare const sendPost: (url: string, body: T, token?: string) => Promise; +import { Response as NodeFetchResponse } from 'node-fetch'; +/** + * Sends a POST request to a specified URL with a given body and Bearer Token. + * Content-Type is set to application/json. + * + * @template T - The type of the request body. + * + * @param url - The URL to send the POST request to. + * @param body - The body of the POST request. + * @param token - Optional token to be included in the Authorization header. + * + * @returns The response from the POST request. + * + * @example + * ```typescript + * const response = await sendPost<{ name: string }>('https://api.example.com/users', { name: 'Alice' }, 'mytoken123'); + * const data = await response.json(); + * console.log(data); + * ``` + * + * @throws Will throw an error if the POST request fails, including the failed request body. + */ +export declare const sendPost: (url: string, body: T, token?: string) => Promise; diff --git a/dist/cjs/lib/http/sendPost.js b/dist/cjs/lib/http/sendPost.js index 1195720..9e79d47 100644 --- a/dist/cjs/lib/http/sendPost.js +++ b/dist/cjs/lib/http/sendPost.js @@ -5,6 +5,27 @@ var __importDefault = (this && this.__importDefault) || function (mod) { Object.defineProperty(exports, "__esModule", { value: true }); exports.sendPost = void 0; const node_fetch_1 = __importDefault(require("node-fetch")); +/** + * Sends a POST request to a specified URL with a given body and Bearer Token. + * Content-Type is set to application/json. + * + * @template T - The type of the request body. + * + * @param url - The URL to send the POST request to. + * @param body - The body of the POST request. + * @param token - Optional token to be included in the Authorization header. + * + * @returns The response from the POST request. + * + * @example + * ```typescript + * const response = await sendPost<{ name: string }>('https://api.example.com/users', { name: 'Alice' }, 'mytoken123'); + * const data = await response.json(); + * console.log(data); + * ``` + * + * @throws Will throw an error if the POST request fails, including the failed request body. + */ const sendPost = async (url, body, token) => { try { let headers = { 'Content-Type': 'application/json' }; @@ -20,7 +41,7 @@ const sendPost = async (url, body, token) => { } catch (e) { console.log({ e }); - throw new Error(`sendPost failed: ${body}`); + throw new Error(`sendPost failed: ${JSON.stringify(body)}`); } }; exports.sendPost = sendPost; diff --git a/dist/cjs/lib/http/sendPost.js.map b/dist/cjs/lib/http/sendPost.js.map index 7a10969..99655fa 100644 --- a/dist/cjs/lib/http/sendPost.js.map +++ b/dist/cjs/lib/http/sendPost.js.map @@ -1 +1 @@ -{"version":3,"file":"sendPost.js","sourceRoot":"","sources":["../../../../src/lib/http/sendPost.ts"],"names":[],"mappings":";;;;;;AAAA,4DAA8B;AAEvB,MAAM,QAAQ,GAAG,KAAK,EAAK,GAAW,EAAE,IAAO,EAAE,KAAc,EAAE,EAAE;IACxE,IAAI;QACF,IAAI,OAAO,GAA2B,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAA;QAC5E,IAAI,KAAK,EAAE;YACT,OAAO,CAAC,eAAe,CAAC,GAAG,UAAU,KAAK,EAAE,CAAA;SAC7C;QACD,MAAM,QAAQ,GAAG,MAAM,IAAA,oBAAK,EAAC,GAAG,EAAE;YAChC,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;YAC1B,OAAO;SACR,CAAC,CAAA;QACF,OAAO,QAAQ,CAAA;KAChB;IAAC,OAAO,CAAC,EAAE;QACV,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;QAClB,MAAM,IAAI,KAAK,CAAC,oBAAoB,IAAI,EAAE,CAAC,CAAA;KAC5C;AACH,CAAC,CAAA;AAhBY,QAAA,QAAQ,YAgBpB"} \ No newline at end of file +{"version":3,"file":"sendPost.js","sourceRoot":"","sources":["../../../../src/lib/http/sendPost.ts"],"names":[],"mappings":";;;;;;AAAA,4DAA8B;AAG9B;;;;;;;;;;;;;;;;;;;;GAoBG;AACI,MAAM,QAAQ,GAAG,KAAK,EAC3B,GAAW,EACX,IAAO,EACP,KAAc,EACc,EAAE;IAC9B,IAAI;QACF,IAAI,OAAO,GAA2B,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAA;QAC5E,IAAI,KAAK,EAAE;YACT,OAAO,CAAC,eAAe,CAAC,GAAG,UAAU,KAAK,EAAE,CAAA;SAC7C;QACD,MAAM,QAAQ,GAAG,MAAM,IAAA,oBAAK,EAAC,GAAG,EAAE;YAChC,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;YAC1B,OAAO;SACR,CAAC,CAAA;QACF,OAAO,QAAQ,CAAA;KAChB;IAAC,OAAO,CAAC,EAAE;QACV,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;QAClB,MAAM,IAAI,KAAK,CAAC,oBAAoB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;KAC5D;AACH,CAAC,CAAA;AApBY,QAAA,QAAQ,YAoBpB"} \ No newline at end of file diff --git a/dist/cjs/lib/http/skeetGraphql.d.ts b/dist/cjs/lib/http/skeetGraphql.d.ts index f540dfe..e09086c 100644 --- a/dist/cjs/lib/http/skeetGraphql.d.ts +++ b/dist/cjs/lib/http/skeetGraphql.d.ts @@ -2,21 +2,23 @@ * Executes a GraphQL query against a given endpoint. * * @template T - The expected return type of the GraphQL query. + * @template V - The type of the variables used in the GraphQL query. * @param {string} accessToken - The access token for authentication. * @param {string} endpoint - The endpoint URL for the GraphQL server. - * @param {string} graphqlQuery - The GraphQL query to be executed. + * @param {string} query - The GraphQL query to execute. + * @param {V} variables - Optional variables to be used in the GraphQL query. * @returns {Promise} - Returns a promise that resolves to the result of the GraphQL query. * * @throws Will throw an error if the GraphQL query fails. * * @example * ```typescript - * const query = `{ user { id, name } }`; + * const query: CreateUserQuery = `mutation { createUser(name: "EpicsDAO") { id name } }}`; * const accessToken = 'your_access_token'; * const endpoint = 'https://your-production-endpoint.com/graphql'; * - * const user = await skeetGraphql(accessToken, endpoint, query) + * const user = await skeetGraphql(accessToken, endpoint, query) * console.log(user) * ``` */ -export declare const skeetGraphql: (accessToken: string, endpoint: string, query: string, variables?: any) => Promise; +export declare const skeetGraphql: (accessToken: string, endpoint: string, query: string, variables?: V) => Promise; diff --git a/dist/cjs/lib/http/skeetGraphql.js b/dist/cjs/lib/http/skeetGraphql.js index cd8bc34..0b34dcb 100644 --- a/dist/cjs/lib/http/skeetGraphql.js +++ b/dist/cjs/lib/http/skeetGraphql.js @@ -10,20 +10,22 @@ const skeetEnv = process.env.NODE_ENV || 'development'; * Executes a GraphQL query against a given endpoint. * * @template T - The expected return type of the GraphQL query. + * @template V - The type of the variables used in the GraphQL query. * @param {string} accessToken - The access token for authentication. * @param {string} endpoint - The endpoint URL for the GraphQL server. - * @param {string} graphqlQuery - The GraphQL query to be executed. + * @param {string} query - The GraphQL query to execute. + * @param {V} variables - Optional variables to be used in the GraphQL query. * @returns {Promise} - Returns a promise that resolves to the result of the GraphQL query. * * @throws Will throw an error if the GraphQL query fails. * * @example * ```typescript - * const query = `{ user { id, name } }`; + * const query: CreateUserQuery = `mutation { createUser(name: "EpicsDAO") { id name } }}`; * const accessToken = 'your_access_token'; * const endpoint = 'https://your-production-endpoint.com/graphql'; * - * const user = await skeetGraphql(accessToken, endpoint, query) + * const user = await skeetGraphql(accessToken, endpoint, query) * console.log(user) * ``` */ diff --git a/dist/cjs/lib/http/skeetGraphql.js.map b/dist/cjs/lib/http/skeetGraphql.js.map index d06f0da..929c7b8 100644 --- a/dist/cjs/lib/http/skeetGraphql.js.map +++ b/dist/cjs/lib/http/skeetGraphql.js.map @@ -1 +1 @@ -{"version":3,"file":"skeetGraphql.js","sourceRoot":"","sources":["../../../../src/lib/http/skeetGraphql.ts"],"names":[],"mappings":";;;;;;AAAA,4DAA8B;AAE9B,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,aAAa,CAAA;AAEtD;;;;;;;;;;;;;;;;;;;;GAoBG;AACI,MAAM,YAAY,GAAG,KAAK,EAC/B,WAAmB,EACnB,QAAgB,EAChB,KAAa,EACb,YAAY,EAAS,EACT,EAAE;IACd,MAAM,OAAO,GACX,QAAQ,KAAK,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,+BAA+B,CAAA;IACxE,OAAO,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,CAAA;IAEtB,IAAI;QACF,MAAM,GAAG,GAAG,MAAM,IAAA,oBAAK,EAAC,OAAO,EAAE;YAC/B,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;YAC1C,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;gBAClC,aAAa,EAAE,UAAU,WAAW,EAAE;aACvC;SACF,CAAC,CAAA;QACF,MAAM,MAAM,GAAM,MAAM,GAAG,CAAC,IAAI,EAAE,CAAA;QAClC,OAAO,MAAM,CAAA;KACd;IAAC,OAAO,KAAK,EAAE;QACd,MAAM,IAAI,KAAK,CAAC,wBAAwB,KAAK,EAAE,CAAC,CAAA;KACjD;AACH,CAAC,CAAA;AAxBY,QAAA,YAAY,gBAwBxB"} \ No newline at end of file +{"version":3,"file":"skeetGraphql.js","sourceRoot":"","sources":["../../../../src/lib/http/skeetGraphql.ts"],"names":[],"mappings":";;;;;;AAAA,4DAA8B;AAE9B,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,aAAa,CAAA;AAEtD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEI,MAAM,YAAY,GAAG,KAAK,EAC/B,WAAmB,EACnB,QAAgB,EAChB,KAAa,EACb,YAAY,EAAO,EACP,EAAE;IACd,MAAM,OAAO,GACX,QAAQ,KAAK,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,+BAA+B,CAAA;IACxE,OAAO,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,CAAA;IAEtB,IAAI;QACF,MAAM,GAAG,GAAG,MAAM,IAAA,oBAAK,EAAC,OAAO,EAAE;YAC/B,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;YAC1C,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;gBAClC,aAAa,EAAE,UAAU,WAAW,EAAE;aACvC;SACF,CAAC,CAAA;QACF,MAAM,MAAM,GAAM,MAAM,GAAG,CAAC,IAAI,EAAE,CAAA;QAClC,OAAO,MAAM,CAAA;KACd;IAAC,OAAO,KAAK,EAAE;QACd,MAAM,IAAI,KAAK,CAAC,wBAAwB,KAAK,EAAE,CAAC,CAAA;KACjD;AACH,CAAC,CAAA;AAxBY,QAAA,YAAY,gBAwBxB"} \ No newline at end of file diff --git a/dist/cjs/lib/number/random.d.ts b/dist/cjs/lib/number/random.d.ts index 7e14791..c4da42e 100644 --- a/dist/cjs/lib/number/random.d.ts +++ b/dist/cjs/lib/number/random.d.ts @@ -1 +1,12 @@ +/** + * Generates a random integer within the specified range. + * + * @param min - The minimum value of the range (inclusive). Default is 1. + * @param max - The maximum value of the range (inclusive). Default is 10. + * @returns A random integer within the specified range. + * + * @example + * const randomNum = getRandomInt(5, 20); + * console.log(randomNum); // Random integer between 5 and 20 (inclusive) + */ export declare const getRandomInt: (min?: number, max?: number) => number; diff --git a/dist/cjs/lib/number/random.js b/dist/cjs/lib/number/random.js index 2cac11a..c78008d 100644 --- a/dist/cjs/lib/number/random.js +++ b/dist/cjs/lib/number/random.js @@ -1,6 +1,17 @@ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getRandomInt = void 0; +/** + * Generates a random integer within the specified range. + * + * @param min - The minimum value of the range (inclusive). Default is 1. + * @param max - The maximum value of the range (inclusive). Default is 10. + * @returns A random integer within the specified range. + * + * @example + * const randomNum = getRandomInt(5, 20); + * console.log(randomNum); // Random integer between 5 and 20 (inclusive) + */ const getRandomInt = (min = 1, max = 10) => { return Math.floor(Math.random() * (max - min + 1)) + min; }; diff --git a/dist/cjs/lib/number/random.js.map b/dist/cjs/lib/number/random.js.map index 513a1a1..2c575c4 100644 --- a/dist/cjs/lib/number/random.js.map +++ b/dist/cjs/lib/number/random.js.map @@ -1 +1 @@ -{"version":3,"file":"random.js","sourceRoot":"","sources":["../../../../src/lib/number/random.ts"],"names":[],"mappings":";;;AAAO,MAAM,YAAY,GAAG,CAAC,MAAc,CAAC,EAAE,MAAc,EAAE,EAAE,EAAE;IAChE,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAA;AAC1D,CAAC,CAAA;AAFY,QAAA,YAAY,gBAExB"} \ No newline at end of file +{"version":3,"file":"random.js","sourceRoot":"","sources":["../../../../src/lib/number/random.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;GAUG;AACI,MAAM,YAAY,GAAG,CAAC,MAAc,CAAC,EAAE,MAAc,EAAE,EAAU,EAAE;IACxE,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAA;AAC1D,CAAC,CAAA;AAFY,QAAA,YAAY,gBAExB"} \ No newline at end of file diff --git a/dist/cjs/lib/string/string.d.ts b/dist/cjs/lib/string/string.d.ts index 2854030..4d33f63 100644 --- a/dist/cjs/lib/string/string.d.ts +++ b/dist/cjs/lib/string/string.d.ts @@ -1,6 +1,72 @@ +/** + * Converts a string to kebab case. + * + * @param str - The input string to be converted. + * @returns The kebab case version of the input string. + * + * @example + * const inputString = 'convertToKebabCase'; + * const kebabCaseString = convertToKebabCase(inputString); + * console.log(kebabCaseString); // "convert-to-kebab-case" + */ export declare const convertToKebabCase: (str: string) => string; +/** + * Converts a kebab case string to lower case. + * + * @param str - The input string in kebab case. + * @returns The lower case version of the input string. + * + * @example + * const inputString = 'convert-to-kebab-case'; + * const lowerCaseString = convertFromKebabCaseToLowerCase(inputString); + * console.log(lowerCaseString); // "converttokebabcase" + */ export declare const convertFromKebabCaseToLowerCase: (str: string) => string; +/** + * Converts a string to Pascal case. + * + * @param str - The input string to be converted. + * @returns The Pascal case version of the input string. + * + * @example + * const inputString = 'to_pascal_case'; + * const pascalCaseString = toPascalCase(inputString); + * console.log(pascalCaseString); // "ToPascalCase" + */ export declare const toPascalCase: (str: string) => string; +/** + * Converts a string to Camel case. + * + * @param str - The input string to be converted. + * @returns The Camel case version of the input string. + * + * @example + * const inputString = 'to_camel_case'; + * const camelCaseString = toCamelCase(inputString); + * console.log(camelCaseString); // "toCamelCase" + */ export declare const toCamelCase: (str: string) => string; +/** + * Converts the first character of a string to upper case. + * + * @param str - The input string. + * @returns The input string with the first character in upper case. + * + * @example + * const inputString = 'hello'; + * const upperCaseString = await toUpperCase(inputString); + * console.log(upperCaseString); // "Hello" + */ export declare const toUpperCase: (str: string) => Promise; +/** + * Converts the first character of a string to lower case. + * + * @param str - The input string. + * @returns The input string with the first character in lower case. + * + * @example + * const inputString = 'World'; + * const lowerCaseString = await toLowerCase(inputString); + * console.log(lowerCaseString); // "world" + */ export declare const toLowerCase: (str: string) => Promise; diff --git a/dist/cjs/lib/string/string.js b/dist/cjs/lib/string/string.js index a5217aa..acd7553 100644 --- a/dist/cjs/lib/string/string.js +++ b/dist/cjs/lib/string/string.js @@ -1,14 +1,47 @@ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.toLowerCase = exports.toUpperCase = exports.toCamelCase = exports.toPascalCase = exports.convertFromKebabCaseToLowerCase = exports.convertToKebabCase = void 0; +/** + * Converts a string to kebab case. + * + * @param str - The input string to be converted. + * @returns The kebab case version of the input string. + * + * @example + * const inputString = 'convertToKebabCase'; + * const kebabCaseString = convertToKebabCase(inputString); + * console.log(kebabCaseString); // "convert-to-kebab-case" + */ const convertToKebabCase = (str) => { return str.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase(); }; exports.convertToKebabCase = convertToKebabCase; +/** + * Converts a kebab case string to lower case. + * + * @param str - The input string in kebab case. + * @returns The lower case version of the input string. + * + * @example + * const inputString = 'convert-to-kebab-case'; + * const lowerCaseString = convertFromKebabCaseToLowerCase(inputString); + * console.log(lowerCaseString); // "converttokebabcase" + */ const convertFromKebabCaseToLowerCase = (str) => { return str.replace(/-/g, '').toLowerCase(); }; exports.convertFromKebabCaseToLowerCase = convertFromKebabCaseToLowerCase; +/** + * Converts a string to Pascal case. + * + * @param str - The input string to be converted. + * @returns The Pascal case version of the input string. + * + * @example + * const inputString = 'to_pascal_case'; + * const pascalCaseString = toPascalCase(inputString); + * console.log(pascalCaseString); // "ToPascalCase" + */ const toPascalCase = (str) => { return str .split(/(?=[A-Z])|[-_\s]/) @@ -16,6 +49,17 @@ const toPascalCase = (str) => { .join(''); }; exports.toPascalCase = toPascalCase; +/** + * Converts a string to Camel case. + * + * @param str - The input string to be converted. + * @returns The Camel case version of the input string. + * + * @example + * const inputString = 'to_camel_case'; + * const camelCaseString = toCamelCase(inputString); + * console.log(camelCaseString); // "toCamelCase" + */ const toCamelCase = (str) => { return str .split(/(?=[A-Z])|[-_\s]/) @@ -28,10 +72,32 @@ const toCamelCase = (str) => { .join(''); }; exports.toCamelCase = toCamelCase; +/** + * Converts the first character of a string to upper case. + * + * @param str - The input string. + * @returns The input string with the first character in upper case. + * + * @example + * const inputString = 'hello'; + * const upperCaseString = await toUpperCase(inputString); + * console.log(upperCaseString); // "Hello" + */ const toUpperCase = async (str) => { return str.charAt(0).toUpperCase() + str.slice(1); }; exports.toUpperCase = toUpperCase; +/** + * Converts the first character of a string to lower case. + * + * @param str - The input string. + * @returns The input string with the first character in lower case. + * + * @example + * const inputString = 'World'; + * const lowerCaseString = await toLowerCase(inputString); + * console.log(lowerCaseString); // "world" + */ const toLowerCase = async (str) => { return str.charAt(0).toLowerCase() + str.slice(1); }; diff --git a/dist/cjs/lib/string/string.js.map b/dist/cjs/lib/string/string.js.map index 38066b6..21db845 100644 --- a/dist/cjs/lib/string/string.js.map +++ b/dist/cjs/lib/string/string.js.map @@ -1 +1 @@ -{"version":3,"file":"string.js","sourceRoot":"","sources":["../../../../src/lib/string/string.ts"],"names":[],"mappings":";;;AAAO,MAAM,kBAAkB,GAAG,CAAC,GAAW,EAAE,EAAE;IAChD,OAAO,GAAG,CAAC,OAAO,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC,WAAW,EAAE,CAAA;AAC9D,CAAC,CAAA;AAFY,QAAA,kBAAkB,sBAE9B;AAEM,MAAM,+BAA+B,GAAG,CAAC,GAAW,EAAE,EAAE;IAC7D,OAAO,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAA;AAC5C,CAAC,CAAA;AAFY,QAAA,+BAA+B,mCAE3C;AAEM,MAAM,YAAY,GAAG,CAAC,GAAW,EAAE,EAAE;IAC1C,OAAO,GAAG;SACP,KAAK,CAAC,kBAAkB,CAAC;SACzB,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;SACzE,IAAI,CAAC,EAAE,CAAC,CAAA;AACb,CAAC,CAAA;AALY,QAAA,YAAY,gBAKxB;AAEM,MAAM,WAAW,GAAG,CAAC,GAAW,EAAE,EAAE;IACzC,OAAO,GAAG;SACP,KAAK,CAAC,kBAAkB,CAAC;SACzB,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;QACnB,IAAI,KAAK,KAAK,CAAC,EAAE;YACf,OAAO,IAAI,CAAC,WAAW,EAAE,CAAA;SAC1B;QACD,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAA;IACnE,CAAC,CAAC;SACD,IAAI,CAAC,EAAE,CAAC,CAAA;AACb,CAAC,CAAA;AAVY,QAAA,WAAW,eAUvB;AAEM,MAAM,WAAW,GAAG,KAAK,EAAE,GAAW,EAAE,EAAE;IAC/C,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;AACnD,CAAC,CAAA;AAFY,QAAA,WAAW,eAEvB;AAEM,MAAM,WAAW,GAAG,KAAK,EAAE,GAAW,EAAE,EAAE;IAC/C,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;AACnD,CAAC,CAAA;AAFY,QAAA,WAAW,eAEvB"} \ No newline at end of file +{"version":3,"file":"string.js","sourceRoot":"","sources":["../../../../src/lib/string/string.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;GAUG;AACI,MAAM,kBAAkB,GAAG,CAAC,GAAW,EAAU,EAAE;IACxD,OAAO,GAAG,CAAC,OAAO,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC,WAAW,EAAE,CAAA;AAC9D,CAAC,CAAA;AAFY,QAAA,kBAAkB,sBAE9B;AAED;;;;;;;;;;GAUG;AACI,MAAM,+BAA+B,GAAG,CAAC,GAAW,EAAU,EAAE;IACrE,OAAO,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAA;AAC5C,CAAC,CAAA;AAFY,QAAA,+BAA+B,mCAE3C;AAED;;;;;;;;;;GAUG;AACI,MAAM,YAAY,GAAG,CAAC,GAAW,EAAU,EAAE;IAClD,OAAO,GAAG;SACP,KAAK,CAAC,kBAAkB,CAAC;SACzB,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;SACzE,IAAI,CAAC,EAAE,CAAC,CAAA;AACb,CAAC,CAAA;AALY,QAAA,YAAY,gBAKxB;AAED;;;;;;;;;;GAUG;AACI,MAAM,WAAW,GAAG,CAAC,GAAW,EAAU,EAAE;IACjD,OAAO,GAAG;SACP,KAAK,CAAC,kBAAkB,CAAC;SACzB,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;QACnB,IAAI,KAAK,KAAK,CAAC,EAAE;YACf,OAAO,IAAI,CAAC,WAAW,EAAE,CAAA;SAC1B;QACD,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAA;IACnE,CAAC,CAAC;SACD,IAAI,CAAC,EAAE,CAAC,CAAA;AACb,CAAC,CAAA;AAVY,QAAA,WAAW,eAUvB;AAED;;;;;;;;;;GAUG;AACI,MAAM,WAAW,GAAG,KAAK,EAAE,GAAW,EAAmB,EAAE;IAChE,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;AACnD,CAAC,CAAA;AAFY,QAAA,WAAW,eAEvB;AAED;;;;;;;;;;GAUG;AACI,MAAM,WAAW,GAAG,KAAK,EAAE,GAAW,EAAmB,EAAE;IAChE,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;AACnD,CAAC,CAAA;AAFY,QAAA,WAAW,eAEvB"} \ No newline at end of file diff --git a/dist/cjs/lib/time/time.d.ts b/dist/cjs/lib/time/time.d.ts index e2690ed..9790703 100644 --- a/dist/cjs/lib/time/time.d.ts +++ b/dist/cjs/lib/time/time.d.ts @@ -1,2 +1,25 @@ -export declare function sleep(ms: number): Promise; -export declare const utcNow: () => Promise; +/** + * Sleeps for the specified number of milliseconds. + * + * @param ms - The number of milliseconds to sleep. + * @returns A promise that resolves after the specified time. + * + * @example + * async function main() { + * console.log('Start'); + * await sleep(2000); // Sleep for 2 seconds + * console.log('End'); // Printed after sleep + * } + * main(); + */ +export declare function sleep(ms: number): Promise; +/** + * Returns the current UTC time. + * + * @returns The current UTC time. + * + * @example + * const now = utcNow(); + * console.log(now); // Current UTC time + */ +export declare const utcNow: () => Date; diff --git a/dist/cjs/lib/time/time.js b/dist/cjs/lib/time/time.js index ae0b45a..aa730c3 100644 --- a/dist/cjs/lib/time/time.js +++ b/dist/cjs/lib/time/time.js @@ -2,11 +2,34 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.utcNow = exports.sleep = void 0; const date_fns_tz_1 = require("date-fns-tz"); +/** + * Sleeps for the specified number of milliseconds. + * + * @param ms - The number of milliseconds to sleep. + * @returns A promise that resolves after the specified time. + * + * @example + * async function main() { + * console.log('Start'); + * await sleep(2000); // Sleep for 2 seconds + * console.log('End'); // Printed after sleep + * } + * main(); + */ function sleep(ms) { return new Promise((resolve) => setTimeout(resolve, ms)); } exports.sleep = sleep; -const utcNow = async () => { +/** + * Returns the current UTC time. + * + * @returns The current UTC time. + * + * @example + * const now = utcNow(); + * console.log(now); // Current UTC time + */ +const utcNow = () => { const now = new Date(); const timeZone = 'UTC'; const nowUtc = (0, date_fns_tz_1.utcToZonedTime)(now, timeZone); diff --git a/dist/cjs/lib/time/time.js.map b/dist/cjs/lib/time/time.js.map index 1918348..b2f84eb 100644 --- a/dist/cjs/lib/time/time.js.map +++ b/dist/cjs/lib/time/time.js.map @@ -1 +1 @@ -{"version":3,"file":"time.js","sourceRoot":"","sources":["../../../../src/lib/time/time.ts"],"names":[],"mappings":";;;AAAA,6CAA4C;AAE5C,SAAgB,KAAK,CAAC,EAAU;IAC9B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAA;AAC1D,CAAC;AAFD,sBAEC;AAEM,MAAM,MAAM,GAAG,KAAK,IAAI,EAAE;IAC/B,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAA;IACtB,MAAM,QAAQ,GAAG,KAAK,CAAA;IACtB,MAAM,MAAM,GAAG,IAAA,4BAAc,EAAC,GAAG,EAAE,QAAQ,CAAC,CAAA;IAC5C,OAAO,MAAM,CAAA;AACf,CAAC,CAAA;AALY,QAAA,MAAM,UAKlB"} \ No newline at end of file +{"version":3,"file":"time.js","sourceRoot":"","sources":["../../../../src/lib/time/time.ts"],"names":[],"mappings":";;;AAAA,6CAA4C;AAE5C;;;;;;;;;;;;;GAaG;AACH,SAAgB,KAAK,CAAC,EAAU;IAC9B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAA;AAC1D,CAAC;AAFD,sBAEC;AAED;;;;;;;;GAQG;AACI,MAAM,MAAM,GAAG,GAAG,EAAE;IACzB,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAA;IACtB,MAAM,QAAQ,GAAG,KAAK,CAAA;IACtB,MAAM,MAAM,GAAG,IAAA,4BAAc,EAAC,GAAG,EAAE,QAAQ,CAAC,CAAA;IAC5C,OAAO,MAAM,CAAA;AACf,CAAC,CAAA;AALY,QAAA,MAAM,UAKlB"} \ No newline at end of file diff --git a/dist/cjs/lib/version.d.ts b/dist/cjs/lib/version.d.ts index b7ea4d3..bb2b1b2 100644 --- a/dist/cjs/lib/version.d.ts +++ b/dist/cjs/lib/version.d.ts @@ -1 +1 @@ -export declare const VERSION = "1.1.3"; +export declare const VERSION = "1.2.0"; diff --git a/dist/cjs/lib/version.js b/dist/cjs/lib/version.js index 15487f4..bb43d01 100644 --- a/dist/cjs/lib/version.js +++ b/dist/cjs/lib/version.js @@ -1,5 +1,5 @@ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.VERSION = void 0; -exports.VERSION = '1.1.3'; +exports.VERSION = '1.2.0'; //# sourceMappingURL=version.js.map \ No newline at end of file diff --git a/dist/esm/lib/crypto/base64.d.ts b/dist/esm/lib/crypto/base64.d.ts index d2a7309..5d91861 100644 --- a/dist/esm/lib/crypto/base64.d.ts +++ b/dist/esm/lib/crypto/base64.d.ts @@ -1,2 +1,24 @@ +/** + * Encodes a payload to base64. + * + * @param payload - The data to be encoded. + * @returns The base64-encoded payload. + * + * @example + * const data = 'Hello, world!'; + * const encodedData = encodeBase64(data); + * console.log(encodedData); // Base64-encoded data + */ export declare const encodeBase64: (payload: string) => string; +/** + * Decodes a base64-encoded payload to a string. + * + * @param payload - The base64-encoded data to be decoded. + * @returns The decoded payload as a UTF-8 string. + * + * @example + * const encodedData = 'SGVsbG8sIHdvcmxkIQ=='; // Base64-encoded data + * const decodedData = decodeBase64(encodedData); + * console.log(decodedData); // Decoded data: "Hello, world!" + */ export declare const decodeBase64: (payload: string) => string; diff --git a/dist/esm/lib/crypto/base64.js b/dist/esm/lib/crypto/base64.js index d149ba8..3380e96 100644 --- a/dist/esm/lib/crypto/base64.js +++ b/dist/esm/lib/crypto/base64.js @@ -1,6 +1,28 @@ +/** + * Encodes a payload to base64. + * + * @param payload - The data to be encoded. + * @returns The base64-encoded payload. + * + * @example + * const data = 'Hello, world!'; + * const encodedData = encodeBase64(data); + * console.log(encodedData); // Base64-encoded data + */ export const encodeBase64 = (payload) => { return Buffer.from(payload).toString('base64'); }; +/** + * Decodes a base64-encoded payload to a string. + * + * @param payload - The base64-encoded data to be decoded. + * @returns The decoded payload as a UTF-8 string. + * + * @example + * const encodedData = 'SGVsbG8sIHdvcmxkIQ=='; // Base64-encoded data + * const decodedData = decodeBase64(encodedData); + * console.log(decodedData); // Decoded data: "Hello, world!" + */ export const decodeBase64 = (payload) => { return Buffer.from(payload, 'base64').toString('utf-8'); }; diff --git a/dist/esm/lib/crypto/base64.js.map b/dist/esm/lib/crypto/base64.js.map index 59e4142..90315e0 100644 --- a/dist/esm/lib/crypto/base64.js.map +++ b/dist/esm/lib/crypto/base64.js.map @@ -1 +1 @@ -{"version":3,"file":"base64.js","sourceRoot":"","sources":["../../../../src/lib/crypto/base64.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,OAAe,EAAE,EAAE;IAC9C,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;AAChD,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,OAAe,EAAE,EAAE;IAC9C,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;AACzD,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"base64.js","sourceRoot":"","sources":["../../../../src/lib/crypto/base64.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,OAAe,EAAU,EAAE;IACtD,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;AAChD,CAAC,CAAA;AAED;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,OAAe,EAAU,EAAE;IACtD,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;AACzD,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/esm/lib/crypto/crypto.d.ts b/dist/esm/lib/crypto/crypto.d.ts index 58635e5..b8d024e 100644 --- a/dist/esm/lib/crypto/crypto.d.ts +++ b/dist/esm/lib/crypto/crypto.d.ts @@ -1,3 +1,3 @@ -export declare const encrypt: (data: string, iv: string, password: string, salt: string) => string; -export declare const decrypt: (data: string, iv: string, password: string, salt: string) => string; -export declare const generateIv: () => string; +export declare const algorithm = "aes-256-cbc"; +export declare const inputEncoding = "utf8"; +export declare const outputEncoding = "base64"; diff --git a/dist/esm/lib/crypto/crypto.js b/dist/esm/lib/crypto/crypto.js index b606de3..2dee34a 100644 --- a/dist/esm/lib/crypto/crypto.js +++ b/dist/esm/lib/crypto/crypto.js @@ -1,38 +1,4 @@ -import { createCipheriv, scryptSync, createDecipheriv, randomBytes, } from 'crypto'; -const algorithm = 'aes-256-cbc'; -const inputEncoding = 'utf8'; -const outputEncoding = 'base64'; -export const encrypt = (data, iv, password, salt) => { - try { - const key = scryptSync(password, salt, 32); - const cipher = createCipheriv(algorithm, key, Buffer.from(iv, outputEncoding)); - let cipheredData = cipher.update(data, inputEncoding, outputEncoding); - cipheredData += cipher.final(outputEncoding); - return cipheredData; - } - catch (error) { - throw new Error(`encrypt: ${error}`); - } -}; -export const decrypt = (data, iv, password, salt) => { - try { - const key = scryptSync(password, salt, 32); - const decipher = createDecipheriv(algorithm, key, Buffer.from(iv, outputEncoding)); - let decipheredData = decipher.update(data, outputEncoding, inputEncoding); - decipheredData += decipher.final(inputEncoding); - return decipheredData; - } - catch (error) { - throw new Error(`decrypt: ${error}`); - } -}; -export const generateIv = () => { - try { - const iv = randomBytes(16); - return Buffer.from(iv).toString(outputEncoding); - } - catch (error) { - throw new Error(`generateIv: ${error}`); - } -}; +export const algorithm = 'aes-256-cbc'; +export const inputEncoding = 'utf8'; +export const outputEncoding = 'base64'; //# sourceMappingURL=crypto.js.map \ No newline at end of file diff --git a/dist/esm/lib/crypto/crypto.js.map b/dist/esm/lib/crypto/crypto.js.map index 810d5f7..ac7875c 100644 --- a/dist/esm/lib/crypto/crypto.js.map +++ b/dist/esm/lib/crypto/crypto.js.map @@ -1 +1 @@ -{"version":3,"file":"crypto.js","sourceRoot":"","sources":["../../../../src/lib/crypto/crypto.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,UAAU,EACV,gBAAgB,EAChB,WAAW,GACZ,MAAM,QAAQ,CAAA;AAEf,MAAM,SAAS,GAAG,aAAa,CAAA;AAC/B,MAAM,aAAa,GAAG,MAAM,CAAA;AAC5B,MAAM,cAAc,GAAG,QAAQ,CAAA;AAE/B,MAAM,CAAC,MAAM,OAAO,GAAG,CACrB,IAAY,EACZ,EAAU,EACV,QAAgB,EAChB,IAAY,EACZ,EAAE;IACF,IAAI;QACF,MAAM,GAAG,GAAG,UAAU,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAE,CAAC,CAAA;QAC1C,MAAM,MAAM,GAAG,cAAc,CAC3B,SAAS,EACT,GAAG,EACH,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,cAAc,CAAC,CAChC,CAAA;QACD,IAAI,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,aAAa,EAAE,cAAc,CAAC,CAAA;QACrE,YAAY,IAAI,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,CAAA;QAC5C,OAAO,YAAY,CAAA;KACpB;IAAC,OAAO,KAAK,EAAE;QACd,MAAM,IAAI,KAAK,CAAC,YAAY,KAAK,EAAE,CAAC,CAAA;KACrC;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,OAAO,GAAG,CACrB,IAAY,EACZ,EAAU,EACV,QAAgB,EAChB,IAAY,EACZ,EAAE;IACF,IAAI;QACF,MAAM,GAAG,GAAG,UAAU,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAE,CAAC,CAAA;QAC1C,MAAM,QAAQ,GAAG,gBAAgB,CAC/B,SAAS,EACT,GAAG,EACH,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,cAAc,CAAC,CAChC,CAAA;QACD,IAAI,cAAc,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,cAAc,EAAE,aAAa,CAAC,CAAA;QACzE,cAAc,IAAI,QAAQ,CAAC,KAAK,CAAC,aAAa,CAAC,CAAA;QAC/C,OAAO,cAAc,CAAA;KACtB;IAAC,OAAO,KAAK,EAAE;QACd,MAAM,IAAI,KAAK,CAAC,YAAY,KAAK,EAAE,CAAC,CAAA;KACrC;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,UAAU,GAAG,GAAG,EAAE;IAC7B,IAAI;QACF,MAAM,EAAE,GAAG,WAAW,CAAC,EAAE,CAAC,CAAA;QAC1B,OAAO,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAA;KAChD;IAAC,OAAO,KAAK,EAAE;QACd,MAAM,IAAI,KAAK,CAAC,eAAe,KAAK,EAAE,CAAC,CAAA;KACxC;AACH,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"crypto.js","sourceRoot":"","sources":["../../../../src/lib/crypto/crypto.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,SAAS,GAAG,aAAa,CAAA;AACtC,MAAM,CAAC,MAAM,aAAa,GAAG,MAAM,CAAA;AACnC,MAAM,CAAC,MAAM,cAAc,GAAG,QAAQ,CAAA"} \ No newline at end of file diff --git a/dist/esm/lib/crypto/decrypt.d.ts b/dist/esm/lib/crypto/decrypt.d.ts new file mode 100644 index 0000000..b2d5b20 --- /dev/null +++ b/dist/esm/lib/crypto/decrypt.d.ts @@ -0,0 +1,22 @@ +/** + * @module crypto + * @preferred + */ +/** + * Decrypts data using the given parameters. + * + * @param encryptedData - The encrypted data. + * @param iv - The initialization vector. + * @param password - The password for decryption. + * @param salt - The salt for key derivation. + * @returns The decrypted data. + * + * @example + * const encrypted = 'EncryptedDataHere'; // Encrypted data obtained from the encryption process + * const iv = '1234567890123456'; // Initialization vector used in the encryption process + * const password = 'MySecretPassword'; // Password used in the encryption process + * const salt = 'MySalt'; // Salt used in the encryption process + * const decrypted = decrypt(encrypted, iv, password, salt); + * console.log(decrypted); + */ +export declare const decrypt: (encryptedData: string, iv: string, password: string, salt: string) => string; diff --git a/dist/esm/lib/crypto/decrypt.js b/dist/esm/lib/crypto/decrypt.js new file mode 100644 index 0000000..6bd7c7e --- /dev/null +++ b/dist/esm/lib/crypto/decrypt.js @@ -0,0 +1,36 @@ +/** + * @module crypto + * @preferred + */ +import { createDecipheriv, scryptSync } from 'crypto'; +import { algorithm, inputEncoding, outputEncoding } from './crypto'; +/** + * Decrypts data using the given parameters. + * + * @param encryptedData - The encrypted data. + * @param iv - The initialization vector. + * @param password - The password for decryption. + * @param salt - The salt for key derivation. + * @returns The decrypted data. + * + * @example + * const encrypted = 'EncryptedDataHere'; // Encrypted data obtained from the encryption process + * const iv = '1234567890123456'; // Initialization vector used in the encryption process + * const password = 'MySecretPassword'; // Password used in the encryption process + * const salt = 'MySalt'; // Salt used in the encryption process + * const decrypted = decrypt(encrypted, iv, password, salt); + * console.log(decrypted); + */ +export const decrypt = (encryptedData, iv, password, salt) => { + try { + const key = scryptSync(password, salt, 32); + const decipher = createDecipheriv(algorithm, key, Buffer.from(iv, outputEncoding)); + let decryptedData = decipher.update(encryptedData, outputEncoding, inputEncoding); + decryptedData += decipher.final(inputEncoding); + return decryptedData; + } + catch (error) { + throw new Error(`decrypt: ${error}`); + } +}; +//# sourceMappingURL=decrypt.js.map \ No newline at end of file diff --git a/dist/esm/lib/crypto/decrypt.js.map b/dist/esm/lib/crypto/decrypt.js.map new file mode 100644 index 0000000..d2dec8f --- /dev/null +++ b/dist/esm/lib/crypto/decrypt.js.map @@ -0,0 +1 @@ +{"version":3,"file":"decrypt.js","sourceRoot":"","sources":["../../../../src/lib/crypto/decrypt.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAA;AACrD,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAEnE;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,CACrB,aAAqB,EACrB,EAAU,EACV,QAAgB,EAChB,IAAY,EACJ,EAAE;IACV,IAAI;QACF,MAAM,GAAG,GAAG,UAAU,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAE,CAAC,CAAA;QAC1C,MAAM,QAAQ,GAAG,gBAAgB,CAC/B,SAAS,EACT,GAAG,EACH,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,cAAc,CAAC,CAChC,CAAA;QACD,IAAI,aAAa,GAAG,QAAQ,CAAC,MAAM,CACjC,aAAa,EACb,cAAc,EACd,aAAa,CACd,CAAA;QACD,aAAa,IAAI,QAAQ,CAAC,KAAK,CAAC,aAAa,CAAC,CAAA;QAC9C,OAAO,aAAa,CAAA;KACrB;IAAC,OAAO,KAAK,EAAE;QACd,MAAM,IAAI,KAAK,CAAC,YAAY,KAAK,EAAE,CAAC,CAAA;KACrC;AACH,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/esm/lib/crypto/encrypt.d.ts b/dist/esm/lib/crypto/encrypt.d.ts new file mode 100644 index 0000000..f76f558 --- /dev/null +++ b/dist/esm/lib/crypto/encrypt.d.ts @@ -0,0 +1,22 @@ +/** + * @module crypto + * @preferred + */ +/** + * Encrypts data using the given parameters. + * + * @param data - The data to be encrypted. + * @param iv - The initialization vector. + * @param password - The password for encryption. + * @param salt - The salt for key derivation. + * @returns The encrypted data. + * + * @example + * const data = 'Sensitive information'; + * const iv = '1234567890123456'; // 16 characters + * const password = 'MySecretPassword'; + * const salt = 'MySalt'; + * const encrypted = encrypt(data, iv, password, salt); + * console.log(encrypted); + */ +export declare const encrypt: (data: string, iv: string, password: string, salt: string) => string; diff --git a/dist/esm/lib/crypto/encrypt.js b/dist/esm/lib/crypto/encrypt.js new file mode 100644 index 0000000..e317f2f --- /dev/null +++ b/dist/esm/lib/crypto/encrypt.js @@ -0,0 +1,36 @@ +/** + * @module crypto + * @preferred + */ +import { createCipheriv, scryptSync } from 'crypto'; +import { algorithm, inputEncoding, outputEncoding } from './crypto'; +/** + * Encrypts data using the given parameters. + * + * @param data - The data to be encrypted. + * @param iv - The initialization vector. + * @param password - The password for encryption. + * @param salt - The salt for key derivation. + * @returns The encrypted data. + * + * @example + * const data = 'Sensitive information'; + * const iv = '1234567890123456'; // 16 characters + * const password = 'MySecretPassword'; + * const salt = 'MySalt'; + * const encrypted = encrypt(data, iv, password, salt); + * console.log(encrypted); + */ +export const encrypt = (data, iv, password, salt) => { + try { + const key = scryptSync(password, salt, 32); + const cipher = createCipheriv(algorithm, key, Buffer.from(iv, outputEncoding)); + let cipheredData = cipher.update(data, inputEncoding, outputEncoding); + cipheredData += cipher.final(outputEncoding); + return cipheredData; + } + catch (error) { + throw new Error(`encrypt: ${error}`); + } +}; +//# sourceMappingURL=encrypt.js.map \ No newline at end of file diff --git a/dist/esm/lib/crypto/encrypt.js.map b/dist/esm/lib/crypto/encrypt.js.map new file mode 100644 index 0000000..6d0f2c3 --- /dev/null +++ b/dist/esm/lib/crypto/encrypt.js.map @@ -0,0 +1 @@ +{"version":3,"file":"encrypt.js","sourceRoot":"","sources":["../../../../src/lib/crypto/encrypt.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAA;AACnD,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAEnE;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,CACrB,IAAY,EACZ,EAAU,EACV,QAAgB,EAChB,IAAY,EACJ,EAAE;IACV,IAAI;QACF,MAAM,GAAG,GAAG,UAAU,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAE,CAAC,CAAA;QAC1C,MAAM,MAAM,GAAG,cAAc,CAC3B,SAAS,EACT,GAAG,EACH,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,cAAc,CAAC,CAChC,CAAA;QACD,IAAI,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,aAAa,EAAE,cAAc,CAAC,CAAA;QACrE,YAAY,IAAI,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,CAAA;QAC5C,OAAO,YAAY,CAAA;KACpB;IAAC,OAAO,KAAK,EAAE;QACd,MAAM,IAAI,KAAK,CAAC,YAAY,KAAK,EAAE,CAAC,CAAA;KACrC;AACH,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/esm/lib/crypto/genRandomSalt.d.ts b/dist/esm/lib/crypto/genRandomSalt.d.ts index 16cd31f..dc89f09 100644 --- a/dist/esm/lib/crypto/genRandomSalt.d.ts +++ b/dist/esm/lib/crypto/genRandomSalt.d.ts @@ -1 +1,11 @@ +/** + * Generates a random salt for key derivation. + * + * @param bytes - The number of bytes for the generated salt. Default is 16 bytes. + * @returns The generated salt as a hexadecimal string. + * + * @example + * const salt = generateRandomSalt(); + * console.log(salt); // Random hexadecimal salt + */ export declare function generateRandomSalt(bytes?: number): string; diff --git a/dist/esm/lib/crypto/genRandomSalt.js b/dist/esm/lib/crypto/genRandomSalt.js index 1cdfbdd..f38c2ae 100644 --- a/dist/esm/lib/crypto/genRandomSalt.js +++ b/dist/esm/lib/crypto/genRandomSalt.js @@ -1,5 +1,20 @@ import { randomBytes } from 'crypto'; +/** + * Generates a random salt for key derivation. + * + * @param bytes - The number of bytes for the generated salt. Default is 16 bytes. + * @returns The generated salt as a hexadecimal string. + * + * @example + * const salt = generateRandomSalt(); + * console.log(salt); // Random hexadecimal salt + */ export function generateRandomSalt(bytes = 16) { - return randomBytes(bytes).toString('hex'); + try { + return randomBytes(bytes).toString('hex'); + } + catch (error) { + throw new Error(`generateRandomSalt: ${error}`); + } } //# sourceMappingURL=genRandomSalt.js.map \ No newline at end of file diff --git a/dist/esm/lib/crypto/genRandomSalt.js.map b/dist/esm/lib/crypto/genRandomSalt.js.map index 4b44429..cde0038 100644 --- a/dist/esm/lib/crypto/genRandomSalt.js.map +++ b/dist/esm/lib/crypto/genRandomSalt.js.map @@ -1 +1 @@ -{"version":3,"file":"genRandomSalt.js","sourceRoot":"","sources":["../../../../src/lib/crypto/genRandomSalt.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAA;AAEpC,MAAM,UAAU,kBAAkB,CAAC,KAAK,GAAG,EAAE;IAC3C,OAAO,WAAW,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;AAC3C,CAAC"} \ No newline at end of file +{"version":3,"file":"genRandomSalt.js","sourceRoot":"","sources":["../../../../src/lib/crypto/genRandomSalt.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAA;AAEpC;;;;;;;;;GASG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAAK,GAAG,EAAE;IAC3C,IAAI;QACF,OAAO,WAAW,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;KAC1C;IAAC,OAAO,KAAK,EAAE;QACd,MAAM,IAAI,KAAK,CAAC,uBAAuB,KAAK,EAAE,CAAC,CAAA;KAChD;AACH,CAAC"} \ No newline at end of file diff --git a/dist/esm/lib/crypto/generateIv.d.ts b/dist/esm/lib/crypto/generateIv.d.ts new file mode 100644 index 0000000..f46a8d9 --- /dev/null +++ b/dist/esm/lib/crypto/generateIv.d.ts @@ -0,0 +1,10 @@ +/** + * Generates a random initialization vector (IV) for encryption. + * + * @returns The generated initialization vector as a base64-encoded string. + * + * @example + * const iv = generateIv(); + * console.log(iv); // Random base64-encoded initialization vector + */ +export declare const generateIv: () => string; diff --git a/dist/esm/lib/crypto/generateIv.js b/dist/esm/lib/crypto/generateIv.js new file mode 100644 index 0000000..c3dac30 --- /dev/null +++ b/dist/esm/lib/crypto/generateIv.js @@ -0,0 +1,21 @@ +import { randomBytes } from 'crypto'; +import { outputEncoding } from './crypto'; +/** + * Generates a random initialization vector (IV) for encryption. + * + * @returns The generated initialization vector as a base64-encoded string. + * + * @example + * const iv = generateIv(); + * console.log(iv); // Random base64-encoded initialization vector + */ +export const generateIv = () => { + try { + const iv = randomBytes(16); + return Buffer.from(iv).toString(outputEncoding); + } + catch (error) { + throw new Error(`generateIv: ${error}`); + } +}; +//# sourceMappingURL=generateIv.js.map \ No newline at end of file diff --git a/dist/esm/lib/crypto/generateIv.js.map b/dist/esm/lib/crypto/generateIv.js.map new file mode 100644 index 0000000..c03dad5 --- /dev/null +++ b/dist/esm/lib/crypto/generateIv.js.map @@ -0,0 +1 @@ +{"version":3,"file":"generateIv.js","sourceRoot":"","sources":["../../../../src/lib/crypto/generateIv.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAA;AACpC,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAEzC;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,GAAW,EAAE;IACrC,IAAI;QACF,MAAM,EAAE,GAAG,WAAW,CAAC,EAAE,CAAC,CAAA;QAC1B,OAAO,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAA;KAChD;IAAC,OAAO,KAAK,EAAE;QACd,MAAM,IAAI,KAAK,CAAC,eAAe,KAAK,EAAE,CAAC,CAAA;KACxC;AACH,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/esm/lib/crypto/index.d.ts b/dist/esm/lib/crypto/index.d.ts index 86eac39..889b27a 100644 --- a/dist/esm/lib/crypto/index.d.ts +++ b/dist/esm/lib/crypto/index.d.ts @@ -1,4 +1,6 @@ export * from './base64'; -export * from './crypto'; export * from './placeholder'; export * from './genRandomSalt'; +export * from './generateIv'; +export * from './encrypt'; +export * from './decrypt'; diff --git a/dist/esm/lib/crypto/index.js b/dist/esm/lib/crypto/index.js index 685dfca..19d36e4 100644 --- a/dist/esm/lib/crypto/index.js +++ b/dist/esm/lib/crypto/index.js @@ -1,5 +1,7 @@ export * from './base64'; -export * from './crypto'; export * from './placeholder'; export * from './genRandomSalt'; +export * from './generateIv'; +export * from './encrypt'; +export * from './decrypt'; //# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/dist/esm/lib/crypto/index.js.map b/dist/esm/lib/crypto/index.js.map index a9c84bf..8ed6f55 100644 --- a/dist/esm/lib/crypto/index.js.map +++ b/dist/esm/lib/crypto/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/crypto/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA;AACxB,cAAc,UAAU,CAAA;AACxB,cAAc,eAAe,CAAA;AAC7B,cAAc,iBAAiB,CAAA"} \ No newline at end of file +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/crypto/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA;AACxB,cAAc,eAAe,CAAA;AAC7B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,cAAc,CAAA;AAC5B,cAAc,WAAW,CAAA;AACzB,cAAc,WAAW,CAAA"} \ No newline at end of file diff --git a/dist/esm/lib/crypto/placeholder.d.ts b/dist/esm/lib/crypto/placeholder.d.ts index ffb1530..3258fc2 100644 --- a/dist/esm/lib/crypto/placeholder.d.ts +++ b/dist/esm/lib/crypto/placeholder.d.ts @@ -1 +1,12 @@ +/** + * Generates a Gravatar icon URL for the given email address. + * + * @param email - The email address to generate the Gravatar icon URL for. + * @returns The Gravatar icon URL. + * + * @example + * const email = 'user@example.com'; + * const gravatarUrl = gravatarIconUrl(email); + * console.log(gravatarUrl); // Gravatar icon URL + */ export declare const gravatarIconUrl: (email: string) => string; diff --git a/dist/esm/lib/crypto/placeholder.js b/dist/esm/lib/crypto/placeholder.js index 6d6f831..be85c50 100644 --- a/dist/esm/lib/crypto/placeholder.js +++ b/dist/esm/lib/crypto/placeholder.js @@ -1,4 +1,15 @@ import { createHash } from 'crypto'; +/** + * Generates a Gravatar icon URL for the given email address. + * + * @param email - The email address to generate the Gravatar icon URL for. + * @returns The Gravatar icon URL. + * + * @example + * const email = 'user@example.com'; + * const gravatarUrl = gravatarIconUrl(email); + * console.log(gravatarUrl); // Gravatar icon URL + */ export const gravatarIconUrl = (email) => { try { const md5Hash = createHash('md5'); diff --git a/dist/esm/lib/crypto/placeholder.js.map b/dist/esm/lib/crypto/placeholder.js.map index 569be6c..f438d72 100644 --- a/dist/esm/lib/crypto/placeholder.js.map +++ b/dist/esm/lib/crypto/placeholder.js.map @@ -1 +1 @@ -{"version":3,"file":"placeholder.js","sourceRoot":"","sources":["../../../../src/lib/crypto/placeholder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAA;AAEnC,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,KAAa,EAAE,EAAE;IAC/C,IAAI;QACF,MAAM,OAAO,GAAG,UAAU,CAAC,KAAK,CAAC,CAAA;QACjC,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAA;QAC/C,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QACvD,OAAO,mCAAmC,IAAI,gBAAgB,CAAA;KAC/D;IAAC,OAAO,KAAK,EAAE;QACd,MAAM,IAAI,KAAK,CAAC,oBAAoB,KAAK,EAAE,CAAC,CAAA;KAC7C;AACH,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"placeholder.js","sourceRoot":"","sources":["../../../../src/lib/crypto/placeholder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAA;AAEnC;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,KAAa,EAAU,EAAE;IACvD,IAAI;QACF,MAAM,OAAO,GAAG,UAAU,CAAC,KAAK,CAAC,CAAA;QACjC,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAA;QAC/C,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QACvD,OAAO,mCAAmC,IAAI,gBAAgB,CAAA;KAC/D;IAAC,OAAO,KAAK,EAAE;QACd,MAAM,IAAI,KAAK,CAAC,oBAAoB,KAAK,EAAE,CAAC,CAAA;KAC7C;AACH,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/esm/lib/http/sendGet.d.ts b/dist/esm/lib/http/sendGet.d.ts index 34d6d58..1721576 100644 --- a/dist/esm/lib/http/sendGet.d.ts +++ b/dist/esm/lib/http/sendGet.d.ts @@ -1 +1,21 @@ -export declare const sendGet: (url: string, params?: any, token?: string) => Promise; +import { Response as NodeFetchResponse } from 'node-fetch'; +/** + * Sends a GET request to a specified URL with optional parameters and Bearer Token. + * Content-Type is set to application/json. + * + * @param url - The URL to send the GET request to. + * @param params - Optional query parameters to be appended to the URL. + * @param token - Optional token to be included in the Authorization header. + * + * @returns The response from the GET request. + * + * @example + * ```typescript + * const response = await sendGet('https://api.example.com/data', { q: 'searchTerm' }, 'mytoken123'); + * const data = await response.json(); + * console.log(data); + * ``` + * + * @throws Will throw an error if the GET request fails. + */ +export declare const sendGet: (url: string, params?: any, token?: string) => Promise; diff --git a/dist/esm/lib/http/sendGet.js b/dist/esm/lib/http/sendGet.js index 2944b61..b65d617 100644 --- a/dist/esm/lib/http/sendGet.js +++ b/dist/esm/lib/http/sendGet.js @@ -1,4 +1,23 @@ import fetch from 'node-fetch'; +/** + * Sends a GET request to a specified URL with optional parameters and Bearer Token. + * Content-Type is set to application/json. + * + * @param url - The URL to send the GET request to. + * @param params - Optional query parameters to be appended to the URL. + * @param token - Optional token to be included in the Authorization header. + * + * @returns The response from the GET request. + * + * @example + * ```typescript + * const response = await sendGet('https://api.example.com/data', { q: 'searchTerm' }, 'mytoken123'); + * const data = await response.json(); + * console.log(data); + * ``` + * + * @throws Will throw an error if the GET request fails. + */ export const sendGet = async (url, params, token) => { try { let headers = { 'Content-Type': 'application/json' }; diff --git a/dist/esm/lib/http/sendGet.js.map b/dist/esm/lib/http/sendGet.js.map index 2966221..403b5a1 100644 --- a/dist/esm/lib/http/sendGet.js.map +++ b/dist/esm/lib/http/sendGet.js.map @@ -1 +1 @@ -{"version":3,"file":"sendGet.js","sourceRoot":"","sources":["../../../../src/lib/http/sendGet.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,YAAY,CAAA;AAE9B,MAAM,CAAC,MAAM,OAAO,GAAG,KAAK,EAAE,GAAW,EAAE,MAAY,EAAE,KAAc,EAAE,EAAE;IACzE,IAAI;QACF,IAAI,OAAO,GAA2B,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAA;QAC5E,IAAI,aAAa,GAAG,GAAG,CAAA;QACvB,IAAI,MAAM,EAAE;YACV,MAAM,WAAW,GAAG,IAAI,eAAe,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAA;YAC1D,aAAa,GAAG,GAAG,GAAG,IAAI,WAAW,EAAE,CAAA;SACxC;QACD,IAAI,KAAK,EAAE;YACT,OAAO,CAAC,eAAe,CAAC,GAAG,UAAU,KAAK,EAAE,CAAA;SAC7C;QACD,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,aAAa,EAAE;YACrC,MAAM,EAAE,KAAK;YACb,OAAO;SACR,CAAC,CAAA;QACF,OAAO,GAAG,CAAA;KACX;IAAC,OAAO,CAAC,EAAE;QACV,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;QAClB,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAA;KAClC;AACH,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"sendGet.js","sourceRoot":"","sources":["../../../../src/lib/http/sendGet.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,YAAY,CAAA;AAG9B;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,KAAK,EAC1B,GAAW,EACX,MAAY,EACZ,KAAc,EACc,EAAE;IAC9B,IAAI;QACF,IAAI,OAAO,GAA2B,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAA;QAC5E,IAAI,aAAa,GAAG,GAAG,CAAA;QACvB,IAAI,MAAM,EAAE;YACV,MAAM,WAAW,GAAG,IAAI,eAAe,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAA;YAC1D,aAAa,GAAG,GAAG,GAAG,IAAI,WAAW,EAAE,CAAA;SACxC;QACD,IAAI,KAAK,EAAE;YACT,OAAO,CAAC,eAAe,CAAC,GAAG,UAAU,KAAK,EAAE,CAAA;SAC7C;QACD,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,aAAa,EAAE;YACrC,MAAM,EAAE,KAAK;YACb,OAAO;SACR,CAAC,CAAA;QACF,OAAO,GAAwB,CAAA;KAChC;IAAC,OAAO,CAAC,EAAE;QACV,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;QAClB,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAA;KAClC;AACH,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/esm/lib/http/sendPost.d.ts b/dist/esm/lib/http/sendPost.d.ts index 52650f8..e230815 100644 --- a/dist/esm/lib/http/sendPost.d.ts +++ b/dist/esm/lib/http/sendPost.d.ts @@ -1 +1,23 @@ -export declare const sendPost: (url: string, body: T, token?: string) => Promise; +import { Response as NodeFetchResponse } from 'node-fetch'; +/** + * Sends a POST request to a specified URL with a given body and Bearer Token. + * Content-Type is set to application/json. + * + * @template T - The type of the request body. + * + * @param url - The URL to send the POST request to. + * @param body - The body of the POST request. + * @param token - Optional token to be included in the Authorization header. + * + * @returns The response from the POST request. + * + * @example + * ```typescript + * const response = await sendPost<{ name: string }>('https://api.example.com/users', { name: 'Alice' }, 'mytoken123'); + * const data = await response.json(); + * console.log(data); + * ``` + * + * @throws Will throw an error if the POST request fails, including the failed request body. + */ +export declare const sendPost: (url: string, body: T, token?: string) => Promise; diff --git a/dist/esm/lib/http/sendPost.js b/dist/esm/lib/http/sendPost.js index 98d90a2..02f0674 100644 --- a/dist/esm/lib/http/sendPost.js +++ b/dist/esm/lib/http/sendPost.js @@ -1,4 +1,25 @@ import fetch from 'node-fetch'; +/** + * Sends a POST request to a specified URL with a given body and Bearer Token. + * Content-Type is set to application/json. + * + * @template T - The type of the request body. + * + * @param url - The URL to send the POST request to. + * @param body - The body of the POST request. + * @param token - Optional token to be included in the Authorization header. + * + * @returns The response from the POST request. + * + * @example + * ```typescript + * const response = await sendPost<{ name: string }>('https://api.example.com/users', { name: 'Alice' }, 'mytoken123'); + * const data = await response.json(); + * console.log(data); + * ``` + * + * @throws Will throw an error if the POST request fails, including the failed request body. + */ export const sendPost = async (url, body, token) => { try { let headers = { 'Content-Type': 'application/json' }; @@ -14,7 +35,7 @@ export const sendPost = async (url, body, token) => { } catch (e) { console.log({ e }); - throw new Error(`sendPost failed: ${body}`); + throw new Error(`sendPost failed: ${JSON.stringify(body)}`); } }; //# sourceMappingURL=sendPost.js.map \ No newline at end of file diff --git a/dist/esm/lib/http/sendPost.js.map b/dist/esm/lib/http/sendPost.js.map index dcb34ac..d2ef656 100644 --- a/dist/esm/lib/http/sendPost.js.map +++ b/dist/esm/lib/http/sendPost.js.map @@ -1 +1 @@ -{"version":3,"file":"sendPost.js","sourceRoot":"","sources":["../../../../src/lib/http/sendPost.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,YAAY,CAAA;AAE9B,MAAM,CAAC,MAAM,QAAQ,GAAG,KAAK,EAAK,GAAW,EAAE,IAAO,EAAE,KAAc,EAAE,EAAE;IACxE,IAAI;QACF,IAAI,OAAO,GAA2B,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAA;QAC5E,IAAI,KAAK,EAAE;YACT,OAAO,CAAC,eAAe,CAAC,GAAG,UAAU,KAAK,EAAE,CAAA;SAC7C;QACD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;YAChC,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;YAC1B,OAAO;SACR,CAAC,CAAA;QACF,OAAO,QAAQ,CAAA;KAChB;IAAC,OAAO,CAAC,EAAE;QACV,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;QAClB,MAAM,IAAI,KAAK,CAAC,oBAAoB,IAAI,EAAE,CAAC,CAAA;KAC5C;AACH,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"sendPost.js","sourceRoot":"","sources":["../../../../src/lib/http/sendPost.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,YAAY,CAAA;AAG9B;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,KAAK,EAC3B,GAAW,EACX,IAAO,EACP,KAAc,EACc,EAAE;IAC9B,IAAI;QACF,IAAI,OAAO,GAA2B,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAA;QAC5E,IAAI,KAAK,EAAE;YACT,OAAO,CAAC,eAAe,CAAC,GAAG,UAAU,KAAK,EAAE,CAAA;SAC7C;QACD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;YAChC,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;YAC1B,OAAO;SACR,CAAC,CAAA;QACF,OAAO,QAAQ,CAAA;KAChB;IAAC,OAAO,CAAC,EAAE;QACV,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;QAClB,MAAM,IAAI,KAAK,CAAC,oBAAoB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;KAC5D;AACH,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/esm/lib/http/skeetGraphql.d.ts b/dist/esm/lib/http/skeetGraphql.d.ts index f540dfe..e09086c 100644 --- a/dist/esm/lib/http/skeetGraphql.d.ts +++ b/dist/esm/lib/http/skeetGraphql.d.ts @@ -2,21 +2,23 @@ * Executes a GraphQL query against a given endpoint. * * @template T - The expected return type of the GraphQL query. + * @template V - The type of the variables used in the GraphQL query. * @param {string} accessToken - The access token for authentication. * @param {string} endpoint - The endpoint URL for the GraphQL server. - * @param {string} graphqlQuery - The GraphQL query to be executed. + * @param {string} query - The GraphQL query to execute. + * @param {V} variables - Optional variables to be used in the GraphQL query. * @returns {Promise} - Returns a promise that resolves to the result of the GraphQL query. * * @throws Will throw an error if the GraphQL query fails. * * @example * ```typescript - * const query = `{ user { id, name } }`; + * const query: CreateUserQuery = `mutation { createUser(name: "EpicsDAO") { id name } }}`; * const accessToken = 'your_access_token'; * const endpoint = 'https://your-production-endpoint.com/graphql'; * - * const user = await skeetGraphql(accessToken, endpoint, query) + * const user = await skeetGraphql(accessToken, endpoint, query) * console.log(user) * ``` */ -export declare const skeetGraphql: (accessToken: string, endpoint: string, query: string, variables?: any) => Promise; +export declare const skeetGraphql: (accessToken: string, endpoint: string, query: string, variables?: V) => Promise; diff --git a/dist/esm/lib/http/skeetGraphql.js b/dist/esm/lib/http/skeetGraphql.js index dfb0b3b..56999ad 100644 --- a/dist/esm/lib/http/skeetGraphql.js +++ b/dist/esm/lib/http/skeetGraphql.js @@ -4,20 +4,22 @@ const skeetEnv = process.env.NODE_ENV || 'development'; * Executes a GraphQL query against a given endpoint. * * @template T - The expected return type of the GraphQL query. + * @template V - The type of the variables used in the GraphQL query. * @param {string} accessToken - The access token for authentication. * @param {string} endpoint - The endpoint URL for the GraphQL server. - * @param {string} graphqlQuery - The GraphQL query to be executed. + * @param {string} query - The GraphQL query to execute. + * @param {V} variables - Optional variables to be used in the GraphQL query. * @returns {Promise} - Returns a promise that resolves to the result of the GraphQL query. * * @throws Will throw an error if the GraphQL query fails. * * @example * ```typescript - * const query = `{ user { id, name } }`; + * const query: CreateUserQuery = `mutation { createUser(name: "EpicsDAO") { id name } }}`; * const accessToken = 'your_access_token'; * const endpoint = 'https://your-production-endpoint.com/graphql'; * - * const user = await skeetGraphql(accessToken, endpoint, query) + * const user = await skeetGraphql(accessToken, endpoint, query) * console.log(user) * ``` */ diff --git a/dist/esm/lib/http/skeetGraphql.js.map b/dist/esm/lib/http/skeetGraphql.js.map index 6ba8c00..5cdbe2e 100644 --- a/dist/esm/lib/http/skeetGraphql.js.map +++ b/dist/esm/lib/http/skeetGraphql.js.map @@ -1 +1 @@ -{"version":3,"file":"skeetGraphql.js","sourceRoot":"","sources":["../../../../src/lib/http/skeetGraphql.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,YAAY,CAAA;AAE9B,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,aAAa,CAAA;AAEtD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,KAAK,EAC/B,WAAmB,EACnB,QAAgB,EAChB,KAAa,EACb,YAAY,EAAS,EACT,EAAE;IACd,MAAM,OAAO,GACX,QAAQ,KAAK,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,+BAA+B,CAAA;IACxE,OAAO,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,CAAA;IAEtB,IAAI;QACF,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,OAAO,EAAE;YAC/B,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;YAC1C,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;gBAClC,aAAa,EAAE,UAAU,WAAW,EAAE;aACvC;SACF,CAAC,CAAA;QACF,MAAM,MAAM,GAAM,MAAM,GAAG,CAAC,IAAI,EAAE,CAAA;QAClC,OAAO,MAAM,CAAA;KACd;IAAC,OAAO,KAAK,EAAE;QACd,MAAM,IAAI,KAAK,CAAC,wBAAwB,KAAK,EAAE,CAAC,CAAA;KACjD;AACH,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"skeetGraphql.js","sourceRoot":"","sources":["../../../../src/lib/http/skeetGraphql.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,YAAY,CAAA;AAE9B,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,aAAa,CAAA;AAEtD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,MAAM,CAAC,MAAM,YAAY,GAAG,KAAK,EAC/B,WAAmB,EACnB,QAAgB,EAChB,KAAa,EACb,YAAY,EAAO,EACP,EAAE;IACd,MAAM,OAAO,GACX,QAAQ,KAAK,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,+BAA+B,CAAA;IACxE,OAAO,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,CAAA;IAEtB,IAAI;QACF,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,OAAO,EAAE;YAC/B,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;YAC1C,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;gBAClC,aAAa,EAAE,UAAU,WAAW,EAAE;aACvC;SACF,CAAC,CAAA;QACF,MAAM,MAAM,GAAM,MAAM,GAAG,CAAC,IAAI,EAAE,CAAA;QAClC,OAAO,MAAM,CAAA;KACd;IAAC,OAAO,KAAK,EAAE;QACd,MAAM,IAAI,KAAK,CAAC,wBAAwB,KAAK,EAAE,CAAC,CAAA;KACjD;AACH,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/esm/lib/number/random.d.ts b/dist/esm/lib/number/random.d.ts index 7e14791..c4da42e 100644 --- a/dist/esm/lib/number/random.d.ts +++ b/dist/esm/lib/number/random.d.ts @@ -1 +1,12 @@ +/** + * Generates a random integer within the specified range. + * + * @param min - The minimum value of the range (inclusive). Default is 1. + * @param max - The maximum value of the range (inclusive). Default is 10. + * @returns A random integer within the specified range. + * + * @example + * const randomNum = getRandomInt(5, 20); + * console.log(randomNum); // Random integer between 5 and 20 (inclusive) + */ export declare const getRandomInt: (min?: number, max?: number) => number; diff --git a/dist/esm/lib/number/random.js b/dist/esm/lib/number/random.js index 3849678..c365dc9 100644 --- a/dist/esm/lib/number/random.js +++ b/dist/esm/lib/number/random.js @@ -1,3 +1,14 @@ +/** + * Generates a random integer within the specified range. + * + * @param min - The minimum value of the range (inclusive). Default is 1. + * @param max - The maximum value of the range (inclusive). Default is 10. + * @returns A random integer within the specified range. + * + * @example + * const randomNum = getRandomInt(5, 20); + * console.log(randomNum); // Random integer between 5 and 20 (inclusive) + */ export const getRandomInt = (min = 1, max = 10) => { return Math.floor(Math.random() * (max - min + 1)) + min; }; diff --git a/dist/esm/lib/number/random.js.map b/dist/esm/lib/number/random.js.map index b58ffd7..19ade76 100644 --- a/dist/esm/lib/number/random.js.map +++ b/dist/esm/lib/number/random.js.map @@ -1 +1 @@ -{"version":3,"file":"random.js","sourceRoot":"","sources":["../../../../src/lib/number/random.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,MAAc,CAAC,EAAE,MAAc,EAAE,EAAE,EAAE;IAChE,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAA;AAC1D,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"random.js","sourceRoot":"","sources":["../../../../src/lib/number/random.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,MAAc,CAAC,EAAE,MAAc,EAAE,EAAU,EAAE;IACxE,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAA;AAC1D,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/esm/lib/string/string.d.ts b/dist/esm/lib/string/string.d.ts index 2854030..4d33f63 100644 --- a/dist/esm/lib/string/string.d.ts +++ b/dist/esm/lib/string/string.d.ts @@ -1,6 +1,72 @@ +/** + * Converts a string to kebab case. + * + * @param str - The input string to be converted. + * @returns The kebab case version of the input string. + * + * @example + * const inputString = 'convertToKebabCase'; + * const kebabCaseString = convertToKebabCase(inputString); + * console.log(kebabCaseString); // "convert-to-kebab-case" + */ export declare const convertToKebabCase: (str: string) => string; +/** + * Converts a kebab case string to lower case. + * + * @param str - The input string in kebab case. + * @returns The lower case version of the input string. + * + * @example + * const inputString = 'convert-to-kebab-case'; + * const lowerCaseString = convertFromKebabCaseToLowerCase(inputString); + * console.log(lowerCaseString); // "converttokebabcase" + */ export declare const convertFromKebabCaseToLowerCase: (str: string) => string; +/** + * Converts a string to Pascal case. + * + * @param str - The input string to be converted. + * @returns The Pascal case version of the input string. + * + * @example + * const inputString = 'to_pascal_case'; + * const pascalCaseString = toPascalCase(inputString); + * console.log(pascalCaseString); // "ToPascalCase" + */ export declare const toPascalCase: (str: string) => string; +/** + * Converts a string to Camel case. + * + * @param str - The input string to be converted. + * @returns The Camel case version of the input string. + * + * @example + * const inputString = 'to_camel_case'; + * const camelCaseString = toCamelCase(inputString); + * console.log(camelCaseString); // "toCamelCase" + */ export declare const toCamelCase: (str: string) => string; +/** + * Converts the first character of a string to upper case. + * + * @param str - The input string. + * @returns The input string with the first character in upper case. + * + * @example + * const inputString = 'hello'; + * const upperCaseString = await toUpperCase(inputString); + * console.log(upperCaseString); // "Hello" + */ export declare const toUpperCase: (str: string) => Promise; +/** + * Converts the first character of a string to lower case. + * + * @param str - The input string. + * @returns The input string with the first character in lower case. + * + * @example + * const inputString = 'World'; + * const lowerCaseString = await toLowerCase(inputString); + * console.log(lowerCaseString); // "world" + */ export declare const toLowerCase: (str: string) => Promise; diff --git a/dist/esm/lib/string/string.js b/dist/esm/lib/string/string.js index ee4b1de..2b4d5a5 100644 --- a/dist/esm/lib/string/string.js +++ b/dist/esm/lib/string/string.js @@ -1,15 +1,59 @@ +/** + * Converts a string to kebab case. + * + * @param str - The input string to be converted. + * @returns The kebab case version of the input string. + * + * @example + * const inputString = 'convertToKebabCase'; + * const kebabCaseString = convertToKebabCase(inputString); + * console.log(kebabCaseString); // "convert-to-kebab-case" + */ export const convertToKebabCase = (str) => { return str.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase(); }; +/** + * Converts a kebab case string to lower case. + * + * @param str - The input string in kebab case. + * @returns The lower case version of the input string. + * + * @example + * const inputString = 'convert-to-kebab-case'; + * const lowerCaseString = convertFromKebabCaseToLowerCase(inputString); + * console.log(lowerCaseString); // "converttokebabcase" + */ export const convertFromKebabCaseToLowerCase = (str) => { return str.replace(/-/g, '').toLowerCase(); }; +/** + * Converts a string to Pascal case. + * + * @param str - The input string to be converted. + * @returns The Pascal case version of the input string. + * + * @example + * const inputString = 'to_pascal_case'; + * const pascalCaseString = toPascalCase(inputString); + * console.log(pascalCaseString); // "ToPascalCase" + */ export const toPascalCase = (str) => { return str .split(/(?=[A-Z])|[-_\s]/) .map((word) => word.charAt(0).toUpperCase() + word.slice(1).toLowerCase()) .join(''); }; +/** + * Converts a string to Camel case. + * + * @param str - The input string to be converted. + * @returns The Camel case version of the input string. + * + * @example + * const inputString = 'to_camel_case'; + * const camelCaseString = toCamelCase(inputString); + * console.log(camelCaseString); // "toCamelCase" + */ export const toCamelCase = (str) => { return str .split(/(?=[A-Z])|[-_\s]/) @@ -21,9 +65,31 @@ export const toCamelCase = (str) => { }) .join(''); }; +/** + * Converts the first character of a string to upper case. + * + * @param str - The input string. + * @returns The input string with the first character in upper case. + * + * @example + * const inputString = 'hello'; + * const upperCaseString = await toUpperCase(inputString); + * console.log(upperCaseString); // "Hello" + */ export const toUpperCase = async (str) => { return str.charAt(0).toUpperCase() + str.slice(1); }; +/** + * Converts the first character of a string to lower case. + * + * @param str - The input string. + * @returns The input string with the first character in lower case. + * + * @example + * const inputString = 'World'; + * const lowerCaseString = await toLowerCase(inputString); + * console.log(lowerCaseString); // "world" + */ export const toLowerCase = async (str) => { return str.charAt(0).toLowerCase() + str.slice(1); }; diff --git a/dist/esm/lib/string/string.js.map b/dist/esm/lib/string/string.js.map index 51b49e6..d0b44de 100644 --- a/dist/esm/lib/string/string.js.map +++ b/dist/esm/lib/string/string.js.map @@ -1 +1 @@ -{"version":3,"file":"string.js","sourceRoot":"","sources":["../../../../src/lib/string/string.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,GAAW,EAAE,EAAE;IAChD,OAAO,GAAG,CAAC,OAAO,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC,WAAW,EAAE,CAAA;AAC9D,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,+BAA+B,GAAG,CAAC,GAAW,EAAE,EAAE;IAC7D,OAAO,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAA;AAC5C,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,GAAW,EAAE,EAAE;IAC1C,OAAO,GAAG;SACP,KAAK,CAAC,kBAAkB,CAAC;SACzB,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;SACzE,IAAI,CAAC,EAAE,CAAC,CAAA;AACb,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,GAAW,EAAE,EAAE;IACzC,OAAO,GAAG;SACP,KAAK,CAAC,kBAAkB,CAAC;SACzB,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;QACnB,IAAI,KAAK,KAAK,CAAC,EAAE;YACf,OAAO,IAAI,CAAC,WAAW,EAAE,CAAA;SAC1B;QACD,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAA;IACnE,CAAC,CAAC;SACD,IAAI,CAAC,EAAE,CAAC,CAAA;AACb,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,WAAW,GAAG,KAAK,EAAE,GAAW,EAAE,EAAE;IAC/C,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;AACnD,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,WAAW,GAAG,KAAK,EAAE,GAAW,EAAE,EAAE;IAC/C,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;AACnD,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"string.js","sourceRoot":"","sources":["../../../../src/lib/string/string.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,GAAW,EAAU,EAAE;IACxD,OAAO,GAAG,CAAC,OAAO,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC,WAAW,EAAE,CAAA;AAC9D,CAAC,CAAA;AAED;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,+BAA+B,GAAG,CAAC,GAAW,EAAU,EAAE;IACrE,OAAO,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAA;AAC5C,CAAC,CAAA;AAED;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,GAAW,EAAU,EAAE;IAClD,OAAO,GAAG;SACP,KAAK,CAAC,kBAAkB,CAAC;SACzB,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;SACzE,IAAI,CAAC,EAAE,CAAC,CAAA;AACb,CAAC,CAAA;AAED;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,GAAW,EAAU,EAAE;IACjD,OAAO,GAAG;SACP,KAAK,CAAC,kBAAkB,CAAC;SACzB,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;QACnB,IAAI,KAAK,KAAK,CAAC,EAAE;YACf,OAAO,IAAI,CAAC,WAAW,EAAE,CAAA;SAC1B;QACD,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAA;IACnE,CAAC,CAAC;SACD,IAAI,CAAC,EAAE,CAAC,CAAA;AACb,CAAC,CAAA;AAED;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,KAAK,EAAE,GAAW,EAAmB,EAAE;IAChE,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;AACnD,CAAC,CAAA;AAED;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,KAAK,EAAE,GAAW,EAAmB,EAAE;IAChE,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;AACnD,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/esm/lib/time/time.d.ts b/dist/esm/lib/time/time.d.ts index e2690ed..9790703 100644 --- a/dist/esm/lib/time/time.d.ts +++ b/dist/esm/lib/time/time.d.ts @@ -1,2 +1,25 @@ -export declare function sleep(ms: number): Promise; -export declare const utcNow: () => Promise; +/** + * Sleeps for the specified number of milliseconds. + * + * @param ms - The number of milliseconds to sleep. + * @returns A promise that resolves after the specified time. + * + * @example + * async function main() { + * console.log('Start'); + * await sleep(2000); // Sleep for 2 seconds + * console.log('End'); // Printed after sleep + * } + * main(); + */ +export declare function sleep(ms: number): Promise; +/** + * Returns the current UTC time. + * + * @returns The current UTC time. + * + * @example + * const now = utcNow(); + * console.log(now); // Current UTC time + */ +export declare const utcNow: () => Date; diff --git a/dist/esm/lib/time/time.js b/dist/esm/lib/time/time.js index eb7d021..c76fd38 100644 --- a/dist/esm/lib/time/time.js +++ b/dist/esm/lib/time/time.js @@ -1,8 +1,31 @@ import { utcToZonedTime } from 'date-fns-tz'; +/** + * Sleeps for the specified number of milliseconds. + * + * @param ms - The number of milliseconds to sleep. + * @returns A promise that resolves after the specified time. + * + * @example + * async function main() { + * console.log('Start'); + * await sleep(2000); // Sleep for 2 seconds + * console.log('End'); // Printed after sleep + * } + * main(); + */ export function sleep(ms) { return new Promise((resolve) => setTimeout(resolve, ms)); } -export const utcNow = async () => { +/** + * Returns the current UTC time. + * + * @returns The current UTC time. + * + * @example + * const now = utcNow(); + * console.log(now); // Current UTC time + */ +export const utcNow = () => { const now = new Date(); const timeZone = 'UTC'; const nowUtc = utcToZonedTime(now, timeZone); diff --git a/dist/esm/lib/time/time.js.map b/dist/esm/lib/time/time.js.map index 7e68d4b..c612a06 100644 --- a/dist/esm/lib/time/time.js.map +++ b/dist/esm/lib/time/time.js.map @@ -1 +1 @@ -{"version":3,"file":"time.js","sourceRoot":"","sources":["../../../../src/lib/time/time.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAE5C,MAAM,UAAU,KAAK,CAAC,EAAU;IAC9B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAA;AAC1D,CAAC;AAED,MAAM,CAAC,MAAM,MAAM,GAAG,KAAK,IAAI,EAAE;IAC/B,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAA;IACtB,MAAM,QAAQ,GAAG,KAAK,CAAA;IACtB,MAAM,MAAM,GAAG,cAAc,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAA;IAC5C,OAAO,MAAM,CAAA;AACf,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"time.js","sourceRoot":"","sources":["../../../../src/lib/time/time.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAE5C;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,KAAK,CAAC,EAAU;IAC9B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAA;AAC1D,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,EAAE;IACzB,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAA;IACtB,MAAM,QAAQ,GAAG,KAAK,CAAA;IACtB,MAAM,MAAM,GAAG,cAAc,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAA;IAC5C,OAAO,MAAM,CAAA;AACf,CAAC,CAAA"} \ No newline at end of file diff --git a/dist/esm/lib/version.d.ts b/dist/esm/lib/version.d.ts index b7ea4d3..bb2b1b2 100644 --- a/dist/esm/lib/version.d.ts +++ b/dist/esm/lib/version.d.ts @@ -1 +1 @@ -export declare const VERSION = "1.1.3"; +export declare const VERSION = "1.2.0"; diff --git a/dist/esm/lib/version.js b/dist/esm/lib/version.js index 54ed7ab..fdca0ae 100644 --- a/dist/esm/lib/version.js +++ b/dist/esm/lib/version.js @@ -1,2 +1,2 @@ -export const VERSION = '1.1.3'; +export const VERSION = '1.2.0'; //# sourceMappingURL=version.js.map \ No newline at end of file diff --git a/docs/assets/highlight.css b/docs/assets/highlight.css index ecb1463..901d638 100644 --- a/docs/assets/highlight.css +++ b/docs/assets/highlight.css @@ -7,16 +7,18 @@ --dark-hl-2: #CE9178; --light-hl-3: #0000FF; --dark-hl-3: #569CD6; - --light-hl-4: #001080; - --dark-hl-4: #9CDCFE; - --light-hl-5: #008000; - --dark-hl-5: #6A9955; - --light-hl-6: #0070C1; - --dark-hl-6: #4FC1FF; - --light-hl-7: #AF00DB; - --dark-hl-7: #C586C0; - --light-hl-8: #267F99; - --dark-hl-8: #4EC9B0; + --light-hl-4: #0070C1; + --dark-hl-4: #4FC1FF; + --light-hl-5: #001080; + --dark-hl-5: #9CDCFE; + --light-hl-6: #008000; + --dark-hl-6: #6A9955; + --light-hl-7: #098658; + --dark-hl-7: #B5CEA8; + --light-hl-8: #AF00DB; + --dark-hl-8: #C586C0; + --light-hl-9: #267F99; + --dark-hl-9: #4EC9B0; --light-code-background: #FFFFFF; --dark-code-background: #1E1E1E; } @@ -31,6 +33,7 @@ --hl-6: var(--light-hl-6); --hl-7: var(--light-hl-7); --hl-8: var(--light-hl-8); + --hl-9: var(--light-hl-9); --code-background: var(--light-code-background); } } @@ -44,6 +47,7 @@ --hl-6: var(--dark-hl-6); --hl-7: var(--dark-hl-7); --hl-8: var(--dark-hl-8); + --hl-9: var(--dark-hl-9); --code-background: var(--dark-code-background); } } @@ -57,6 +61,7 @@ --hl-6: var(--light-hl-6); --hl-7: var(--light-hl-7); --hl-8: var(--light-hl-8); + --hl-9: var(--light-hl-9); --code-background: var(--light-code-background); } @@ -70,6 +75,7 @@ --hl-6: var(--dark-hl-6); --hl-7: var(--dark-hl-7); --hl-8: var(--dark-hl-8); + --hl-9: var(--dark-hl-9); --code-background: var(--dark-code-background); } @@ -82,4 +88,5 @@ .hl-6 { color: var(--hl-6); } .hl-7 { color: var(--hl-7); } .hl-8 { color: var(--hl-8); } +.hl-9 { color: var(--hl-9); } pre, code { background: var(--code-background); } diff --git a/docs/functions/convertFromKebabCaseToLowerCase.html b/docs/functions/convertFromKebabCaseToLowerCase.html index f5a04a4..26ae743 100644 --- a/docs/functions/convertFromKebabCaseToLowerCase.html +++ b/docs/functions/convertFromKebabCaseToLowerCase.html @@ -19,14 +19,24 @@

Function convertFromKebabCaseToLowerCase

  • +

    Converts a kebab case string to lower case.

    +

    Parameters

    • -
      str: string
    -

    Returns string

+

Returns string

The lower case version of the input string.

+ +
+

Example

const inputString = 'convert-to-kebab-case';
const lowerCaseString = convertFromKebabCaseToLowerCase(inputString);
console.log(lowerCaseString); // "converttokebabcase" +
+
+
  • Defined in src/lib/string/string.ts:27
  • +

    Returns string

    The kebab case version of the input string.

    + +
    +

    Example

    const inputString = 'convertToKebabCase';
    const kebabCaseString = convertToKebabCase(inputString);
    console.log(kebabCaseString); // "convert-to-kebab-case" +
    +
    +
  • Defined in src/lib/string/string.ts:12
  • +

    Returns string

    The decoded payload as a UTF-8 string.

    + +
    +

    Example

    const encodedData = 'SGVsbG8sIHdvcmxkIQ=='; // Base64-encoded data
    const decodedData = decodeBase64(encodedData);
    console.log(decodedData); // Decoded data: "Hello, world!" +
    +
    +
  • Defined in src/lib/crypto/base64.ts:27
  • +

    Returns string

    The decrypted data.

    + +
    +

    Example

    const encrypted = 'EncryptedDataHere'; // Encrypted data obtained from the encryption process
    const iv = '1234567890123456'; // Initialization vector used in the encryption process
    const password = 'MySecretPassword'; // Password used in the encryption process
    const salt = 'MySalt'; // Salt used in the encryption process
    const decrypted = decrypt(encrypted, iv, password, salt);
    console.log(decrypted); +
    +
    +
  • Defined in src/lib/crypto/decrypt.ts:26
  • +

    Returns string

    The base64-encoded payload.

    + +
    +

    Example

    const data = 'Hello, world!';
    const encodedData = encodeBase64(data);
    console.log(encodedData); // Base64-encoded data +
    +
    +
  • Defined in src/lib/crypto/base64.ts:12
  • +

    Returns string

    The encrypted data.

    + +
    +

    Example

    const data = 'Sensitive information';
    const iv = '1234567890123456'; // 16 characters
    const password = 'MySecretPassword';
    const salt = 'MySalt';
    const encrypted = encrypt(data, iv, password, salt);
    console.log(encrypted); +
    +
    +
  • Defined in src/lib/crypto/encrypt.ts:26
  • +
  • Defined in src/lib/crypto/generateIv.ts:13
  • +

    Returns string

    The generated salt as a hexadecimal string.

    + +
    +

    Example

    const salt = generateRandomSalt();
    console.log(salt); // Random hexadecimal salt +
    +
    +
  • Defined in src/lib/crypto/genRandomSalt.ts:13
  • +

    Returns number

    A random integer within the specified range.

    + +
    +

    Example

    const randomNum = getRandomInt(5, 20);
    console.log(randomNum); // Random integer between 5 and 20 (inclusive) +
    +
    +
  • Defined in src/lib/number/random.ts:12
  • +

    Returns string

    The Gravatar icon URL.

    + +
    +

    Example

    const email = 'user@example.com';
    const gravatarUrl = gravatarIconUrl(email);
    console.log(gravatarUrl); // Gravatar icon URL +
    +
    +
  • Defined in src/lib/crypto/placeholder.ts:14
  • +

    Returns Promise<Response>

    The response from the GET request.

    + +
    +

    Example

    const response = await sendGet('https://api.example.com/data', { q: 'searchTerm' }, 'mytoken123');
    const data = await response.json();
    console.log(data); +
    + +

    Throws

    Will throw an error if the GET request fails.

    +
    +
  • Defined in src/lib/http/sendGet.ts:23
  • +

    Returns Promise<Response>

    The response from the POST request.

    + +
    +

    Example

    const response = await sendPost<{ name: string }>('https://api.example.com/users', { name: 'Alice' }, 'mytoken123');
    const data = await response.json();
    console.log(data); +
    + +

    Throws

    Will throw an error if the POST request fails, including the failed request body.

    +
    +
  • Defined in src/lib/http/sendPost.ts:25
  • +
    variables: V = ...
    +

    Optional variables to be used in the GraphQL query.

    +
    +

    Returns Promise<T>

    • Returns a promise that resolves to the result of the GraphQL query.
    @@ -53,11 +64,11 @@

    Returns Promise<

    Throws

    Will throw an error if the GraphQL query fails.

    -

    Example

    const query = `{ user { id, name } }`;
    const accessToken = 'your_access_token';
    const endpoint = 'https://your-production-endpoint.com/graphql';

    const user = await skeetGraphql<UserType>(accessToken, endpoint, query)
    console.log(user) +

    Example

    const query: CreateUserQuery = `mutation { createUser(name: "EpicsDAO") { id name } }}`;
    const accessToken = 'your_access_token';
    const endpoint = 'https://your-production-endpoint.com/graphql';

    const user = await skeetGraphql<UserType, CreateUserQuery>(accessToken, endpoint, query)
    console.log(user)
    +
  • Defined in src/lib/http/skeetGraphql.ts:29
  • +

    Returns Promise<void>

    A promise that resolves after the specified time.

    + +
    +

    Example

    async function main() {
    console.log('Start');
    await sleep(2000); // Sleep for 2 seconds
    console.log('End'); // Printed after sleep
    }
    main(); +
    +
    +
  • Defined in src/lib/time/time.ts:17
  • +

    Returns string

    The Camel case version of the input string.

    + +
    +

    Example

    const inputString = 'to_camel_case';
    const camelCaseString = toCamelCase(inputString);
    console.log(camelCaseString); // "toCamelCase" +
    +
    +
  • Defined in src/lib/string/string.ts:60
  • +

    Returns Promise<string>

    The input string with the first character in lower case.

    + +
    +

    Example

    const inputString = 'World';
    const lowerCaseString = await toLowerCase(inputString);
    console.log(lowerCaseString); // "world" +
    +
    +
  • Defined in src/lib/string/string.ts:98
  • +

    Returns string

    The Pascal case version of the input string.

    + +
    +

    Example

    const inputString = 'to_pascal_case';
    const pascalCaseString = toPascalCase(inputString);
    console.log(pascalCaseString); // "ToPascalCase" +
    +
    +
  • Defined in src/lib/string/string.ts:42
  • +

    Returns Promise<string>

    The input string with the first character in upper case.

    + +
    +

    Example

    const inputString = 'hello';
    const upperCaseString = await toUpperCase(inputString);
    console.log(upperCaseString); // "Hello" +
    +
    +
  • Defined in src/lib/string/string.ts:83
  • +
  • Defined in src/lib/time/time.ts:30
  • +
  • Defined in src/lib/discord/sendDiscord.ts:8