@libs-ui/pipes-check-file-extension 0.2.357-7 → 0.2.357-9

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.
Files changed (2) hide show
  1. package/README.md +2 -10
  2. package/package.json +3 -3
package/README.md CHANGED
@@ -11,7 +11,7 @@
11
11
  - ✅ Phân loại file theo 7 nhóm: `image`, `video`, `word`, `xlsx`, `pdf`, `pptx`, `other`
12
12
  - ✅ Hỗ trợ extension rút gọn (vd: `jpg`, `mp4`, `docx`) và MIME type đầy đủ (vd: `application/pdf`)
13
13
  - ✅ Tự động extract extension từ `name`, `mimetype`, `url` của `IFile`
14
- - Case-insensitive: `JPG`, `jpg`, `Jpg` đều nhận diện đúng
14
+ - ⚠️ Case-insensitive **chỉ khi** extension lấy từ `name`/`url` hoặc từ `File.type` gốc của browser (được `.toLowerCase()` tự động). Nếu set trực tiếp `mimetype` với chữ hoa (vd: `'IMAGE/JPEG'`), pipe **không** tự lowercase — phải truyền đúng chữ thường.
15
15
  - ✅ Nhóm `other` bắt tất cả định dạng không nằm trong các nhóm đã biết
16
16
  - ✅ Standalone pipe, không cần NgModule
17
17
  - ✅ Pure pipe, hiệu năng cao, an toàn trong danh sách dài
@@ -255,7 +255,7 @@ export type TYPE_FILE = 'document' | 'image' | 'video' | 'audio';
255
255
 
256
256
  ⚠️ **Extension không tìm được**: Nếu `IFile` không có `name`, `mimetype`, `url` hoặc đối tượng file browser, pipe trả về `false` cho mọi nhóm.
257
257
 
258
- ⚠️ **Case-insensitive**: Pipe tự động chuyển extension về chữ thường trước khi so sánh, vậy `JPG`, `jpg`, `Jpg` đều cho kết quả như nhau.
258
+ ⚠️ **Case-insensitive có điều kiện**: Extension lấy từ `name`/`url` hoặc từ `File.type` gốc của browser được tự động `.toLowerCase()`. Riêng trường `mimetype` set trực tiếp trên `IFile` **không** qua bước lowercase — nếu truyền `'IMAGE/JPEG'` (chữ hoa) pipe sẽ so sánh sai và trả về `false`.
259
259
 
260
260
  ⚠️ **Nhóm `other`**: Trả về `true` cho các file không thuộc bất kỳ nhóm nào trong danh sách mặc định (bao gồm cả `json`, `xml`, `audio`). Dùng nhóm này để bắt các định dạng không xác định thay vì dùng `@else`.
261
261
 
@@ -263,14 +263,6 @@ export type TYPE_FILE = 'document' | 'image' | 'video' | 'audio';
263
263
 
264
264
  ⚠️ **`gsheet`**: Extension `gsheet` (Google Sheet) được nhận diện thuộc nhóm `xlsx`.
265
265
 
266
- ## Demo
267
-
268
- ```bash
269
- npx nx serve core-ui
270
- ```
271
-
272
- Truy cập: http://localhost:4500/pipes/check-file-extension
273
-
274
266
  ## Unit Tests
275
267
 
276
268
  ```bash
package/package.json CHANGED
@@ -1,10 +1,10 @@
1
1
  {
2
2
  "name": "@libs-ui/pipes-check-file-extension",
3
- "version": "0.2.357-7",
3
+ "version": "0.2.357-9",
4
4
  "peerDependencies": {
5
5
  "@angular/core": ">=18.0.0",
6
- "@libs-ui/interfaces-types": "0.2.357-7",
7
- "@libs-ui/utils": "0.2.357-7"
6
+ "@libs-ui/interfaces-types": "0.2.357-9",
7
+ "@libs-ui/utils": "0.2.357-9"
8
8
  },
9
9
  "sideEffects": false,
10
10
  "module": "fesm2022/libs-ui-pipes-check-file-extension.mjs",