qsu 1.11.4 → 1.11.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -41,6 +41,8 @@ export interface HTTPRequestOption {
41
41
  put?: boolean;
42
42
  delete?: boolean;
43
43
  patch?: boolean;
44
+ toStream?: boolean;
45
+ timeout?: number;
44
46
  method?: 'get' | 'post' | 'put' | 'delete' | 'patch';
45
47
  host?: string;
46
48
  queryParameters?: object;
@@ -0,0 +1 @@
1
+ export declare function getCopyFileName(fileName: string, fileNameList: string[]): string;
@@ -0,0 +1 @@
1
+ import{getFileName as e}from"./getFileName.js";import{getFileExtension as t}from"./getFileExtension.js";export function getCopyFileName(o,r){const i=e(o),n=t(o),s=new Set(r);if(!s.has(o))return o;for(let e=1;;e++){const t=`${i} (${e})${n?`.${n}`:""}`;if(!s.has(t))return t}}
@@ -3,6 +3,7 @@ export { createFile } from './createFile.js';
3
3
  export { createFileWithDummy } from './createFileWithDummy.js';
4
4
  export { deleteAllFileFromDirectory } from './deleteAllFileFromDirectory.js';
5
5
  export { deleteFile } from './deleteFile.js';
6
+ export { getCopyFileName } from './getCopyFileName.js';
6
7
  export { getFileExtension } from './getFileExtension.js';
7
8
  export { getFileHashFromPath } from './getFileHashFromPath.js';
8
9
  export { getFileHashFromStream } from './getFileHashFromStream.js';
@@ -1 +1 @@
1
- export{createDirectory}from"./createDirectory.js";export{createFile}from"./createFile.js";export{createFileWithDummy}from"./createFileWithDummy.js";export{deleteAllFileFromDirectory}from"./deleteAllFileFromDirectory.js";export{deleteFile}from"./deleteFile.js";export{getFileExtension}from"./getFileExtension.js";export{getFileHashFromPath}from"./getFileHashFromPath.js";export{getFileHashFromStream}from"./getFileHashFromStream.js";export{getFileInfo}from"./getFileInfo.js";export{getFileName}from"./getFileName.js";export{getFilePathLevel}from"./getFilePathLevel.js";export{getFileSize}from"./getFileSize.js";export{getParentFilePath}from"./getParentFilePath.js";export{headFile}from"./headFile.js";export{isFileExists}from"./isFileExists.js";export{isFileHidden}from"./isFileHidden.js";export{isValidFileName}from"./isValidFileName.js";export{joinFilePath}from"./joinFilePath.js";export{moveFile}from"./moveFile.js";export{normalizeFile}from"./normalizeFile.js";export{tailFile}from"./tailFile.js";export{toPosixFilePath}from"./toPosixFilePath.js";export{toValidFilePath}from"./toValidFilePath.js";
1
+ export{createDirectory}from"./createDirectory.js";export{createFile}from"./createFile.js";export{createFileWithDummy}from"./createFileWithDummy.js";export{deleteAllFileFromDirectory}from"./deleteAllFileFromDirectory.js";export{deleteFile}from"./deleteFile.js";export{getCopyFileName}from"./getCopyFileName.js";export{getFileExtension}from"./getFileExtension.js";export{getFileHashFromPath}from"./getFileHashFromPath.js";export{getFileHashFromStream}from"./getFileHashFromStream.js";export{getFileInfo}from"./getFileInfo.js";export{getFileName}from"./getFileName.js";export{getFilePathLevel}from"./getFilePathLevel.js";export{getFileSize}from"./getFileSize.js";export{getParentFilePath}from"./getParentFilePath.js";export{headFile}from"./headFile.js";export{isFileExists}from"./isFileExists.js";export{isFileHidden}from"./isFileHidden.js";export{isValidFileName}from"./isValidFileName.js";export{joinFilePath}from"./joinFilePath.js";export{moveFile}from"./moveFile.js";export{normalizeFile}from"./normalizeFile.js";export{tailFile}from"./tailFile.js";export{toPosixFilePath}from"./toPosixFilePath.js";export{toValidFilePath}from"./toValidFilePath.js";
@@ -1 +1 @@
1
- import{objToQueryString as e}from"../../object/objToQueryString.js";import{urlJoin as t}from"../../string/urlJoin.js";function r(e){let t;if(e?.headers?.["Content-Type"])t=e?.headers?.["Content-Type"];else switch(e?.bodyType){case"form-data":t="multipart/form-data";break;case"x-www-form-urlencoded":t="application/x-www-form-urlencoded";break;case"json":t="application/json;charset=UTF-8";break;case"text":t="plain/text;charset=UTF-8";break;default:t=null}const r={};return e?.auth?.bearer&&e?.auth?.bearer.length>0&&(r.Authorization=`Bearer ${e?.auth?.bearer}`),e?.auth?.apiKey&&e?.auth?.apiKey.length>0&&(r["x-API-key"]=e?.auth?.apiKey),{...r,...e?.headers,...t?{"Content-Type":t}:{},"Accept-Encoding":"gzip, deflate, br",Charset:"utf-8"}}export async function fetchData(a,o){const n=o||{},s=n.queryParameters?`?${e(n.queryParameters)}`:null;let i,h,u=null;if(a.length<1)throw new Error("`url` is required");if(n.body)switch(n.bodyType){case"x-www-form-urlencoded":u=e(n.body);break;case"form-data":u=n.body;break;default:u=JSON.stringify(n.body)}if(n.method&&(n.get||n.post||n.put||n.delete||n.patch))throw new Error("`method` and `get|post|put|delete|patch` cannot be used together");if(i=n.get?"GET":n.post?"POST":n.put?"PUT":n.delete?"DELETE":n.patch?"PATCH":n.method||"GET",!n.host&&!a.startsWith("/"))throw new Error("`url` must begin with `/`.");if(n.host&&n.host.length>0){if(a.startsWith("http")||a.includes("://"))throw new Error("If `host` is specified, `url` must begin with `/`.");h=t(n.host,a)}else h=a;try{const e=await fetch(t(h,s),{...n.auth?{credentials:"include"}:{},method:i,body:u,headers:n.headers||r(n)});if(!e.ok||!e.body)return null;const a=e.headers.get("content-type");return a&&a.includes("application/json")?await e.json():await e.text()}catch(e){return n.onError&&n.onError(e),null}}
1
+ import{objToQueryString as t}from"../../object/objToQueryString.js";import{urlJoin as e}from"../../string/urlJoin.js";import{Readable as r}from"node:stream";function a(t){let e;if(t?.headers?.["Content-Type"])e=t?.headers?.["Content-Type"];else switch(t?.bodyType){case"form-data":e="multipart/form-data";break;case"x-www-form-urlencoded":e="application/x-www-form-urlencoded";break;case"json":e="application/json;charset=UTF-8";break;case"text":e="plain/text;charset=UTF-8";break;default:e=null}const r={};return t?.auth?.bearer&&t?.auth?.bearer.length>0&&(r.Authorization=`Bearer ${t?.auth?.bearer}`),t?.auth?.apiKey&&t?.auth?.apiKey.length>0&&(r["x-API-key"]=t?.auth?.apiKey),{...r,...t?.headers,...e?{"Content-Type":e}:{},"Accept-Encoding":"gzip, deflate, br",Charset:"utf-8"}}export async function fetchData(o,i){const n=i||{},s=n.queryParameters?`?${t(n.queryParameters)}`:null;let h,l,u=null;if(o.length<1)throw new Error("`url` is required");if(n.body)switch(n.bodyType){case"x-www-form-urlencoded":u=t(n.body);break;case"form-data":u=n.body;break;default:u=JSON.stringify(n.body)}if(n.method&&(n.get||n.post||n.put||n.delete||n.patch))throw new Error("`method` and `get|post|put|delete|patch` cannot be used together");if(h=n.get?"GET":n.post?"POST":n.put?"PUT":n.delete?"DELETE":n.patch?"PATCH":n.method||"GET",!n.host&&!o.startsWith("/"))throw new Error("`url` must begin with `/`.");if(n.host&&n.host.length>0){if(o.startsWith("http")||o.includes("://"))throw new Error("If `host` is specified, `url` must begin with `/`.");l=e(n.host,o)}else l=o;try{const t=await fetch(e(l,s),{...n.auth?{credentials:"include"}:{},...n.timeout?{signal:AbortSignal.timeout(n.timeout)}:{},method:h,body:u,headers:n.headers||a(n)});if(!t.ok||!t.body)return null;const o=t.headers.get("content-type")||"",i=function(t,e){if(/attachment|filename=/i.test(e))return!0;const r=t.split(";")?.[0]?.trim()?.toLowerCase()||"";return!["text/html","text/css","text/javascript","application/json","application/ld+json","application/xml","text/xml","text/plain"].some(t=>r===t)&&!r.startsWith("text/")&&(r.startsWith("application/")||r.startsWith("image/")||r.startsWith("video/")||r.startsWith("audio/")||r.startsWith("font/"))}(o,t.headers.get("content-disposition")||"");return n.toStream?r.fromWeb(t.body):i?Buffer.from(await t.arrayBuffer()):o.length<1?await t.text():o.includes("application/json")?await t.json():await t.text()}catch(t){return n.onError&&n.onError(t),null}}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "qsu",
3
- "version": "1.11.4",
3
+ "version": "1.11.6",
4
4
  "description": "qsu is a utility library that contains useful and frequently used functions. Start with your preferred language and the modern development environment.",
5
5
  "author": "CDGet <jooy2.contact@gmail.com>",
6
6
  "license": "MIT",
@@ -73,8 +73,8 @@
73
73
  ],
74
74
  "devDependencies": {
75
75
  "@eslint/js": "^9.39.2",
76
- "@types/node": "^25.5.0",
77
- "@typescript-eslint/parser": "^8.57.2",
76
+ "@types/node": "^25.6.0",
77
+ "@typescript-eslint/parser": "^8.58.1",
78
78
  "dayjs": "^1.11.20",
79
79
  "eslint": "^9.39.2",
80
80
  "eslint-config-prettier": "^10.1.8",
@@ -82,10 +82,10 @@
82
82
  "glob-bin": "^1.1.0",
83
83
  "globals": "^17.4.0",
84
84
  "jiti": "^2.6.1",
85
- "prettier": "^3.8.1",
85
+ "prettier": "^3.8.2",
86
86
  "terser-glob": "^1.2.1",
87
87
  "tsx": "^4.21.0",
88
- "typescript": "5.9.3",
89
- "typescript-eslint": "^8.57.2"
88
+ "typescript": "6.0.2",
89
+ "typescript-eslint": "^8.58.1"
90
90
  }
91
91
  }