Updates
This commit is contained in:
parent
6be3ede31a
commit
357365a1ba
4
index.d.ts
vendored
4
index.d.ts
vendored
@ -31,6 +31,7 @@ export namespace sql {
|
||||
export { sqlDeleteGenerator };
|
||||
export { trimSql as trim };
|
||||
}
|
||||
import parseCookies = require("./package-shared/utils/backend/parseCookies");
|
||||
import uploadImage = require("./utils/upload-image");
|
||||
import uploadFile = require("./utils/upload-file");
|
||||
import deleteFile = require("./utils/delete-file");
|
||||
@ -51,7 +52,7 @@ import sqlInsertGenerator = require("./package-shared/functions/dsql/sql/sql-ins
|
||||
import sqlDeleteGenerator = require("./package-shared/functions/dsql/sql/sql-delete-generator");
|
||||
import trimSql = require("./package-shared/utils/trim-sql");
|
||||
export declare namespace utils {
|
||||
namespace crypto {
|
||||
export namespace crypto {
|
||||
let encrypt: ({ data, encryptionKey, encryptionSalt }: {
|
||||
data: string;
|
||||
encryptionKey?: string;
|
||||
@ -67,5 +68,6 @@ export declare namespace utils {
|
||||
encryptionKey?: string;
|
||||
}) => string;
|
||||
}
|
||||
export { parseCookies };
|
||||
}
|
||||
export { get, post, getSchema, datasquirelClient as client };
|
||||
|
7
index.js
7
index.js
@ -31,11 +31,7 @@ const sqlGenerator = require("./package-shared/functions/dsql/sql/sql-generator"
|
||||
const sqlInsertGenerator = require("./package-shared/functions/dsql/sql/sql-insert-generator");
|
||||
const sqlDeleteGenerator = require("./package-shared/functions/dsql/sql/sql-delete-generator");
|
||||
const trimSql = require("./package-shared/utils/trim-sql");
|
||||
const serializeQuery = require("./package-shared/utils/serialize-query");
|
||||
const serializeCookies = require("./package-shared/utils/serialize-cookies");
|
||||
const EJSON = require("./package-shared/utils/ejson");
|
||||
const numberfy = require("./package-shared/utils/numberfy");
|
||||
const slugify = require("./package-shared/utils/slugify");
|
||||
const parseCookies = require("./package-shared/utils/backend/parseCookies");
|
||||
|
||||
////////////////////////////////////////
|
||||
////////////////////////////////////////
|
||||
@ -99,6 +95,7 @@ const datasquirel = {
|
||||
decrypt: require("./package-shared/functions/dsql/decrypt"),
|
||||
hash: require("./package-shared/functions/dsql/hashPassword"),
|
||||
},
|
||||
parseCookies,
|
||||
},
|
||||
};
|
||||
|
||||
|
@ -1,9 +1,10 @@
|
||||
declare function _exports({ request }: {
|
||||
declare function _exports({ request, cookieString }: {
|
||||
request?: http.IncomingMessage & {
|
||||
[x: string]: any;
|
||||
};
|
||||
cookieString?: string;
|
||||
}): {
|
||||
[x: string]: any;
|
||||
[x: string]: string;
|
||||
};
|
||||
export = _exports;
|
||||
import http = require("http");
|
||||
|
@ -1,56 +1,58 @@
|
||||
// @ts-check
|
||||
|
||||
/**
|
||||
* ==============================================================================
|
||||
* Imports
|
||||
* ==============================================================================
|
||||
*/
|
||||
const http = require("http");
|
||||
|
||||
/**
|
||||
* Parse request cookies
|
||||
* ==============================================================================
|
||||
* ===================================================
|
||||
*
|
||||
* @description This function takes in a request object and returns the cookies as a JS object
|
||||
* @description This function takes in a request object and
|
||||
* returns the cookies as a JS object
|
||||
*
|
||||
* @async
|
||||
*
|
||||
* @param {object} params - main params object
|
||||
* @param {http.IncomingMessage & Object<string, any>} [params.request] - HTTPS request object
|
||||
* @param {string} [params.cookieString]
|
||||
*
|
||||
* @returns {Object<string, any>}
|
||||
* @returns {Object<string, string>}
|
||||
*/
|
||||
module.exports = function ({ request }) {
|
||||
if (!request) return {};
|
||||
module.exports = function ({ request, cookieString }) {
|
||||
try {
|
||||
/** @type {string | undefined} */
|
||||
const cookieStr = request
|
||||
? request.headers.cookie
|
||||
: cookieString
|
||||
? cookieString
|
||||
: undefined;
|
||||
|
||||
/** @type {string | undefined} */
|
||||
const cookieString = request.headers.cookie;
|
||||
if (!cookieStr) return {};
|
||||
|
||||
if (!cookieStr || typeof cookieStr !== "string") {
|
||||
return {};
|
||||
}
|
||||
|
||||
/** @type {string[]} */
|
||||
const cookieSplitArray = cookieStr.split(";");
|
||||
|
||||
/** @type {Object<string, string>} */
|
||||
let cookieObject = {};
|
||||
|
||||
cookieSplitArray.forEach((keyValueString) => {
|
||||
const [key, value] = keyValueString.split("=");
|
||||
if (key && typeof key == "string") {
|
||||
const parsedKey = key.replace(/^ +| +$/, "");
|
||||
cookieObject[parsedKey] =
|
||||
value && typeof value == "string"
|
||||
? value.replace(/^ +| +$/, "")
|
||||
: "";
|
||||
}
|
||||
});
|
||||
|
||||
return cookieObject;
|
||||
} catch (/** @type {any} */ error) {
|
||||
console.log(`ERROR parsing cookies: ${error.message}`);
|
||||
|
||||
if (!cookieString || typeof cookieString !== "string") {
|
||||
return {};
|
||||
}
|
||||
|
||||
/** @type {string[]} */
|
||||
const cookieSplitArray = cookieString.split(";");
|
||||
|
||||
/** @type {*} */
|
||||
let cookieObject = {};
|
||||
|
||||
cookieSplitArray.forEach((keyValueString) => {
|
||||
const [key, value] = keyValueString.split("=");
|
||||
if (key && typeof key == "string") {
|
||||
cookieObject[key.replace(/^ +| +$/, "")] =
|
||||
value && typeof value == "string"
|
||||
? value.replace(/^ +| +$/, "")
|
||||
: null;
|
||||
}
|
||||
});
|
||||
|
||||
/**
|
||||
* Make https request
|
||||
*
|
||||
* @description make a request to datasquirel.com
|
||||
*/
|
||||
|
||||
return cookieObject;
|
||||
};
|
||||
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@moduletrace/datasquirel",
|
||||
"version": "3.0.9",
|
||||
"version": "3.1.0",
|
||||
"description": "Cloud-based SQL data management tool",
|
||||
"main": "index.js",
|
||||
"bin": {
|
||||
|
Loading…
Reference in New Issue
Block a user