@ts-type/object-freeze 1.0.13 → 1.0.15

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.
package/CHANGELOG.md CHANGED
@@ -3,6 +3,29 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [1.0.15](https://github.com/bluelovers/ws-ts-type/compare/@ts-type/object-freeze@1.0.14...@ts-type/object-freeze@1.0.15) (2026-09-25)
7
+
8
+ **Note:** Version bump only for package @ts-type/object-freeze
9
+
10
+
11
+
12
+
13
+
14
+ ## [1.0.14](https://github.com/bluelovers/ws-ts-type/compare/@ts-type/object-freeze@1.0.13...@ts-type/object-freeze@1.0.14) (2026-09-25)
15
+
16
+
17
+
18
+ ### 🛠 Build System
19
+
20
+ * **deps:** 更新開發工具鏈與優化各套件構建配置 ([01690ef](https://github.com/bluelovers/ws-ts-type/commit/01690ef2420ea6389c987eed3585aec3ea227f30))
21
+
22
+
23
+ ### ♻️ Chores
24
+
25
+ * **build:** 將專案腳本從 yarn 遷移至 pnpm ([7e4ef6b](https://github.com/bluelovers/ws-ts-type/commit/7e4ef6b601bdc50a6202ecf0cad90dc91b0902d6))
26
+
27
+
28
+
6
29
  ## [1.0.13](https://github.com/bluelovers/ws-ts-type/compare/@ts-type/object-freeze@1.0.12...@ts-type/object-freeze@1.0.13) (2026-03-31)
7
30
 
8
31
  **Note:** Version bump only for package @ts-type/object-freeze
@@ -2,9 +2,57 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
+ /**
6
+ * 凍結陣列並回傳唯讀類型
7
+ * Freeze array and return readonly type
8
+ *
9
+ * @param obj - 要凍結的陣列 / Array to freeze
10
+ * @returns 唯讀陣列類型 / Readonly array type
11
+ */
12
+
5
13
  function freezeArray(obj) {
6
14
  return Object.freeze(obj);
7
15
  }
16
+ /**
17
+ * 凍結物件並回傳唯讀類型(空元組版本)
18
+ * Freeze object and return readonly type (empty tuple version)
19
+ *
20
+ * @param obj - 要凍結的物件 / Object to freeze
21
+ * @returns 唯讀物件類型 / Readonly object type
22
+ */
23
+
24
+ /**
25
+ * 凍結物件並回傳唯讀類型(陣列版本)
26
+ * Freeze object and return readonly type (array version)
27
+ *
28
+ * @param obj - 要凍結的物件 / Object to freeze
29
+ * @returns 唯讀陣列類型 / Readonly array type
30
+ */
31
+
32
+ /**
33
+ * 凍結函式並保持原類型
34
+ * Freeze function and preserve original type
35
+ *
36
+ * @param f - 要凍結的函式 / Function to freeze
37
+ * @returns 凍結後的函式 / Frozen function
38
+ */
39
+
40
+ /**
41
+ * 凍結物件並回傳唯讀類型(鍵值物件版本)
42
+ * Freeze object and return readonly type (key-value object version)
43
+ *
44
+ * @param o - 要凍結的物件 / Object to freeze
45
+ * @returns 唯讀物件類型 / Readonly object type
46
+ */
47
+
48
+ /**
49
+ * 凍結物件並回傳唯讀類型(通用版本)
50
+ * Freeze object and return readonly type (generic version)
51
+ *
52
+ * @param o - 要凍結的物件 / Object to freeze
53
+ * @returns 唯讀物件類型 / Readonly object type
54
+ */
55
+
8
56
  /**
9
57
  * 凍結物件並回傳唯讀類型(通用實現)
10
58
  * Freeze object and return readonly type (generic implementation)
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs.development.cjs","sources":["../src/index.ts"],"sourcesContent":["import { ITSEmptyTuple } from 'ts-type/lib/type/tuple/empty';\nimport { ITSToReadonlyArray } from 'ts-type/lib/helper/array/readonly';\nimport { ITSArrayListMaybeReadonly } from 'ts-type/lib/type/base';\n\n/**\n * 凍結陣列並回傳唯讀類型\n * Freeze array and return readonly type\n *\n * @param obj - 要凍結的陣列 / Array to freeze\n * @returns 唯讀陣列類型 / Readonly array type\n */\nexport function freezeArray<T extends ITSEmptyTuple>(obj: T): ITSToReadonlyArray<T>\nexport function freezeArray<T extends ITSArrayListMaybeReadonly<unknown>>(obj: T): ITSToReadonlyArray<T>\nexport function freezeArray<T extends ITSArrayListMaybeReadonly<unknown>>(obj: T)\n{\n\treturn Object.freeze(obj)\n}\n\n/**\n * 凍結物件並回傳唯讀類型(空元組版本)\n * Freeze object and return readonly type (empty tuple version)\n *\n * @param obj - 要凍結的物件 / Object to freeze\n * @returns 唯讀物件類型 / Readonly object type\n */\nexport function freezeObject<T extends ITSEmptyTuple>(obj: T): ITSToReadonlyArray<T>\n/**\n * 凍結物件並回傳唯讀類型(陣列版本)\n * Freeze object and return readonly type (array version)\n *\n * @param obj - 要凍結的物件 / Object to freeze\n * @returns 唯讀陣列類型 / Readonly array type\n */\nexport function freezeObject<T extends ITSArrayListMaybeReadonly<unknown>>(obj: T): ITSToReadonlyArray<T>\n\n/**\n * 凍結函式並保持原類型\n * Freeze function and preserve original type\n *\n * @param f - 要凍結的函式 / Function to freeze\n * @returns 凍結後的函式 / Frozen function\n */\nexport function freezeObject<T extends Function>(f: T): T\n/**\n * 凍結物件並回傳唯讀類型(鍵值物件版本)\n * Freeze object and return readonly type (key-value object version)\n *\n * @param o - 要凍結的物件 / Object to freeze\n * @returns 唯讀物件類型 / Readonly object type\n */\nexport function freezeObject<T extends { [idx: string]: U | null | undefined | object }, U extends string | bigint | number | boolean | symbol>(o: T): Readonly<T>\n/**\n * 凍結物件並回傳唯讀類型(通用版本)\n * Freeze object and return readonly type (generic version)\n *\n * @param o - 要凍結的物件 / Object to freeze\n * @returns 唯讀物件類型 / Readonly object type\n */\nexport function freezeObject<T>(o: T): Readonly<T>\n\n/**\n * 凍結物件並回傳唯讀類型(通用實現)\n * Freeze object and return readonly type (generic implementation)\n *\n * 使用 Object.freeze 凍結物件,使其不可變\n * Uses Object.freeze to freeze the object to make it immutable\n *\n * @param obj - 要凍結的物件 / Object to freeze\n * @returns 凍結後的物件 / Frozen object\n */\nexport function freezeObject<T extends ITSArrayListMaybeReadonly<unknown>>(obj: T)\n{\n\treturn Object.freeze(obj)\n}\n\nexport default freezeObject\n"],"names":["freezeArray","obj","Object","freeze","freezeObject"],"mappings":";;;;AAaM,SAAUA,WAAWA,CAA+CC,GAAM,EAAA;AAE/E,EAAA,OAAOC,MAAM,CAACC,MAAM,CAACF,GAAG,CAAC,CAAA;AAC1B,CAAA;AA4CA;;;;;;;;;AASG;AACG,SAAUG,YAAYA,CAA+CH,GAAM,EAAA;AAEhF,EAAA,OAAOC,MAAM,CAACC,MAAM,CAACF,GAAG,CAAC,CAAA;AAC1B;;;;;;"}
1
+ {"version":3,"file":"index.cjs.development.cjs","sources":["../src/index.ts"],"sourcesContent":["import { ITSEmptyTuple } from 'ts-type/lib/type/tuple/empty';\nimport { ITSToReadonlyArray } from 'ts-type/lib/helper/array/readonly';\nimport { ITSArrayListMaybeReadonly } from 'ts-type/lib/type/base';\n\n/**\n * 凍結陣列並回傳唯讀類型\n * Freeze array and return readonly type\n *\n * @param obj - 要凍結的陣列 / Array to freeze\n * @returns 唯讀陣列類型 / Readonly array type\n */\nexport function freezeArray<T extends ITSEmptyTuple>(obj: T): ITSToReadonlyArray<T>\nexport function freezeArray<T extends ITSArrayListMaybeReadonly<unknown>>(obj: T): ITSToReadonlyArray<T>\nexport function freezeArray<T extends ITSArrayListMaybeReadonly<unknown>>(obj: T)\n{\n\treturn Object.freeze(obj)\n}\n\n/**\n * 凍結物件並回傳唯讀類型(空元組版本)\n * Freeze object and return readonly type (empty tuple version)\n *\n * @param obj - 要凍結的物件 / Object to freeze\n * @returns 唯讀物件類型 / Readonly object type\n */\nexport function freezeObject<T extends ITSEmptyTuple>(obj: T): ITSToReadonlyArray<T>\n/**\n * 凍結物件並回傳唯讀類型(陣列版本)\n * Freeze object and return readonly type (array version)\n *\n * @param obj - 要凍結的物件 / Object to freeze\n * @returns 唯讀陣列類型 / Readonly array type\n */\nexport function freezeObject<T extends ITSArrayListMaybeReadonly<unknown>>(obj: T): ITSToReadonlyArray<T>\n\n/**\n * 凍結函式並保持原類型\n * Freeze function and preserve original type\n *\n * @param f - 要凍結的函式 / Function to freeze\n * @returns 凍結後的函式 / Frozen function\n */\nexport function freezeObject<T extends Function>(f: T): T\n/**\n * 凍結物件並回傳唯讀類型(鍵值物件版本)\n * Freeze object and return readonly type (key-value object version)\n *\n * @param o - 要凍結的物件 / Object to freeze\n * @returns 唯讀物件類型 / Readonly object type\n */\nexport function freezeObject<T extends { [idx: string]: U | null | undefined | object }, U extends string | bigint | number | boolean | symbol>(o: T): Readonly<T>\n/**\n * 凍結物件並回傳唯讀類型(通用版本)\n * Freeze object and return readonly type (generic version)\n *\n * @param o - 要凍結的物件 / Object to freeze\n * @returns 唯讀物件類型 / Readonly object type\n */\nexport function freezeObject<T>(o: T): Readonly<T>\n\n/**\n * 凍結物件並回傳唯讀類型(通用實現)\n * Freeze object and return readonly type (generic implementation)\n *\n * 使用 Object.freeze 凍結物件,使其不可變\n * Uses Object.freeze to freeze the object to make it immutable\n *\n * @param obj - 要凍結的物件 / Object to freeze\n * @returns 凍結後的物件 / Frozen object\n */\nexport function freezeObject<T extends ITSArrayListMaybeReadonly<unknown>>(obj: T)\n{\n\treturn Object.freeze(obj)\n}\n\nexport default freezeObject\n"],"names":["freezeArray","obj","Object","freeze","freezeObject"],"mappings":";;;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;;AAGO,SAASA,WAAWA,CAA+CC,GAAM,EAChF;AACC,EAAA,OAAOC,MAAM,CAACC,MAAM,CAACF,GAAG,CAAC,CAAA;AAC1B,CAAA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASG,YAAYA,CAA+CH,GAAM,EACjF;AACC,EAAA,OAAOC,MAAM,CAACC,MAAM,CAACF,GAAG,CAAC,CAAA;AAC1B;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs.production.min.cjs","sources":["../src/index.ts"],"sourcesContent":["import { ITSEmptyTuple } from 'ts-type/lib/type/tuple/empty';\nimport { ITSToReadonlyArray } from 'ts-type/lib/helper/array/readonly';\nimport { ITSArrayListMaybeReadonly } from 'ts-type/lib/type/base';\n\n/**\n * 凍結陣列並回傳唯讀類型\n * Freeze array and return readonly type\n *\n * @param obj - 要凍結的陣列 / Array to freeze\n * @returns 唯讀陣列類型 / Readonly array type\n */\nexport function freezeArray<T extends ITSEmptyTuple>(obj: T): ITSToReadonlyArray<T>\nexport function freezeArray<T extends ITSArrayListMaybeReadonly<unknown>>(obj: T): ITSToReadonlyArray<T>\nexport function freezeArray<T extends ITSArrayListMaybeReadonly<unknown>>(obj: T)\n{\n\treturn Object.freeze(obj)\n}\n\n/**\n * 凍結物件並回傳唯讀類型(空元組版本)\n * Freeze object and return readonly type (empty tuple version)\n *\n * @param obj - 要凍結的物件 / Object to freeze\n * @returns 唯讀物件類型 / Readonly object type\n */\nexport function freezeObject<T extends ITSEmptyTuple>(obj: T): ITSToReadonlyArray<T>\n/**\n * 凍結物件並回傳唯讀類型(陣列版本)\n * Freeze object and return readonly type (array version)\n *\n * @param obj - 要凍結的物件 / Object to freeze\n * @returns 唯讀陣列類型 / Readonly array type\n */\nexport function freezeObject<T extends ITSArrayListMaybeReadonly<unknown>>(obj: T): ITSToReadonlyArray<T>\n\n/**\n * 凍結函式並保持原類型\n * Freeze function and preserve original type\n *\n * @param f - 要凍結的函式 / Function to freeze\n * @returns 凍結後的函式 / Frozen function\n */\nexport function freezeObject<T extends Function>(f: T): T\n/**\n * 凍結物件並回傳唯讀類型(鍵值物件版本)\n * Freeze object and return readonly type (key-value object version)\n *\n * @param o - 要凍結的物件 / Object to freeze\n * @returns 唯讀物件類型 / Readonly object type\n */\nexport function freezeObject<T extends { [idx: string]: U | null | undefined | object }, U extends string | bigint | number | boolean | symbol>(o: T): Readonly<T>\n/**\n * 凍結物件並回傳唯讀類型(通用版本)\n * Freeze object and return readonly type (generic version)\n *\n * @param o - 要凍結的物件 / Object to freeze\n * @returns 唯讀物件類型 / Readonly object type\n */\nexport function freezeObject<T>(o: T): Readonly<T>\n\n/**\n * 凍結物件並回傳唯讀類型(通用實現)\n * Freeze object and return readonly type (generic implementation)\n *\n * 使用 Object.freeze 凍結物件,使其不可變\n * Uses Object.freeze to freeze the object to make it immutable\n *\n * @param obj - 要凍結的物件 / Object to freeze\n * @returns 凍結後的物件 / Frozen object\n */\nexport function freezeObject<T extends ITSArrayListMaybeReadonly<unknown>>(obj: T)\n{\n\treturn Object.freeze(obj)\n}\n\nexport default freezeObject\n"],"names":["freezeObject","obj","Object","freeze","freezeArray"],"mappings":";;AAsEM,SAAUA,aAA2DC;EAE1E,OAAOC,OAAOC,OAAOF;AACtB;;;;0DA5DM,SAAUG,YAA0DH;EAEzE,OAAOC,OAAOC,OAAOF;AACtB"}
1
+ {"version":3,"file":"index.cjs.production.min.cjs","sources":["../src/index.ts"],"sourcesContent":["import { ITSEmptyTuple } from 'ts-type/lib/type/tuple/empty';\nimport { ITSToReadonlyArray } from 'ts-type/lib/helper/array/readonly';\nimport { ITSArrayListMaybeReadonly } from 'ts-type/lib/type/base';\n\n/**\n * 凍結陣列並回傳唯讀類型\n * Freeze array and return readonly type\n *\n * @param obj - 要凍結的陣列 / Array to freeze\n * @returns 唯讀陣列類型 / Readonly array type\n */\nexport function freezeArray<T extends ITSEmptyTuple>(obj: T): ITSToReadonlyArray<T>\nexport function freezeArray<T extends ITSArrayListMaybeReadonly<unknown>>(obj: T): ITSToReadonlyArray<T>\nexport function freezeArray<T extends ITSArrayListMaybeReadonly<unknown>>(obj: T)\n{\n\treturn Object.freeze(obj)\n}\n\n/**\n * 凍結物件並回傳唯讀類型(空元組版本)\n * Freeze object and return readonly type (empty tuple version)\n *\n * @param obj - 要凍結的物件 / Object to freeze\n * @returns 唯讀物件類型 / Readonly object type\n */\nexport function freezeObject<T extends ITSEmptyTuple>(obj: T): ITSToReadonlyArray<T>\n/**\n * 凍結物件並回傳唯讀類型(陣列版本)\n * Freeze object and return readonly type (array version)\n *\n * @param obj - 要凍結的物件 / Object to freeze\n * @returns 唯讀陣列類型 / Readonly array type\n */\nexport function freezeObject<T extends ITSArrayListMaybeReadonly<unknown>>(obj: T): ITSToReadonlyArray<T>\n\n/**\n * 凍結函式並保持原類型\n * Freeze function and preserve original type\n *\n * @param f - 要凍結的函式 / Function to freeze\n * @returns 凍結後的函式 / Frozen function\n */\nexport function freezeObject<T extends Function>(f: T): T\n/**\n * 凍結物件並回傳唯讀類型(鍵值物件版本)\n * Freeze object and return readonly type (key-value object version)\n *\n * @param o - 要凍結的物件 / Object to freeze\n * @returns 唯讀物件類型 / Readonly object type\n */\nexport function freezeObject<T extends { [idx: string]: U | null | undefined | object }, U extends string | bigint | number | boolean | symbol>(o: T): Readonly<T>\n/**\n * 凍結物件並回傳唯讀類型(通用版本)\n * Freeze object and return readonly type (generic version)\n *\n * @param o - 要凍結的物件 / Object to freeze\n * @returns 唯讀物件類型 / Readonly object type\n */\nexport function freezeObject<T>(o: T): Readonly<T>\n\n/**\n * 凍結物件並回傳唯讀類型(通用實現)\n * Freeze object and return readonly type (generic implementation)\n *\n * 使用 Object.freeze 凍結物件,使其不可變\n * Uses Object.freeze to freeze the object to make it immutable\n *\n * @param obj - 要凍結的物件 / Object to freeze\n * @returns 凍結後的物件 / Frozen object\n */\nexport function freezeObject<T extends ITSArrayListMaybeReadonly<unknown>>(obj: T)\n{\n\treturn Object.freeze(obj)\n}\n\nexport default freezeObject\n"],"names":["freezeObject","obj","Object","freeze","freezeArray"],"mappings":";;AAsEO,SAASA,aAA2DC;EAE1E,OAAOC,OAAOC,OAAOF;AACtB;;;;0DA5DO,SAASG,YAA0DH;EAEzE,OAAOC,OAAOC,OAAOF;AACtB"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.esm.mjs","sources":["../src/index.ts"],"sourcesContent":["import { ITSEmptyTuple } from 'ts-type/lib/type/tuple/empty';\nimport { ITSToReadonlyArray } from 'ts-type/lib/helper/array/readonly';\nimport { ITSArrayListMaybeReadonly } from 'ts-type/lib/type/base';\n\n/**\n * 凍結陣列並回傳唯讀類型\n * Freeze array and return readonly type\n *\n * @param obj - 要凍結的陣列 / Array to freeze\n * @returns 唯讀陣列類型 / Readonly array type\n */\nexport function freezeArray<T extends ITSEmptyTuple>(obj: T): ITSToReadonlyArray<T>\nexport function freezeArray<T extends ITSArrayListMaybeReadonly<unknown>>(obj: T): ITSToReadonlyArray<T>\nexport function freezeArray<T extends ITSArrayListMaybeReadonly<unknown>>(obj: T)\n{\n\treturn Object.freeze(obj)\n}\n\n/**\n * 凍結物件並回傳唯讀類型(空元組版本)\n * Freeze object and return readonly type (empty tuple version)\n *\n * @param obj - 要凍結的物件 / Object to freeze\n * @returns 唯讀物件類型 / Readonly object type\n */\nexport function freezeObject<T extends ITSEmptyTuple>(obj: T): ITSToReadonlyArray<T>\n/**\n * 凍結物件並回傳唯讀類型(陣列版本)\n * Freeze object and return readonly type (array version)\n *\n * @param obj - 要凍結的物件 / Object to freeze\n * @returns 唯讀陣列類型 / Readonly array type\n */\nexport function freezeObject<T extends ITSArrayListMaybeReadonly<unknown>>(obj: T): ITSToReadonlyArray<T>\n\n/**\n * 凍結函式並保持原類型\n * Freeze function and preserve original type\n *\n * @param f - 要凍結的函式 / Function to freeze\n * @returns 凍結後的函式 / Frozen function\n */\nexport function freezeObject<T extends Function>(f: T): T\n/**\n * 凍結物件並回傳唯讀類型(鍵值物件版本)\n * Freeze object and return readonly type (key-value object version)\n *\n * @param o - 要凍結的物件 / Object to freeze\n * @returns 唯讀物件類型 / Readonly object type\n */\nexport function freezeObject<T extends { [idx: string]: U | null | undefined | object }, U extends string | bigint | number | boolean | symbol>(o: T): Readonly<T>\n/**\n * 凍結物件並回傳唯讀類型(通用版本)\n * Freeze object and return readonly type (generic version)\n *\n * @param o - 要凍結的物件 / Object to freeze\n * @returns 唯讀物件類型 / Readonly object type\n */\nexport function freezeObject<T>(o: T): Readonly<T>\n\n/**\n * 凍結物件並回傳唯讀類型(通用實現)\n * Freeze object and return readonly type (generic implementation)\n *\n * 使用 Object.freeze 凍結物件,使其不可變\n * Uses Object.freeze to freeze the object to make it immutable\n *\n * @param obj - 要凍結的物件 / Object to freeze\n * @returns 凍結後的物件 / Frozen object\n */\nexport function freezeObject<T extends ITSArrayListMaybeReadonly<unknown>>(obj: T)\n{\n\treturn Object.freeze(obj)\n}\n\nexport default freezeObject\n"],"names":["freezeArray","obj","Object","freeze","freezeObject"],"mappings":"AAaM,SAAUA,YAA0DC;EAEzE,OAAOC,OAAOC,OAAOF;AACtB;;AAsDM,SAAUG,aAA2DH;EAE1E,OAAOC,OAAOC,OAAOF;AACtB;;"}
1
+ {"version":3,"file":"index.esm.mjs","sources":["../src/index.ts"],"sourcesContent":["import { ITSEmptyTuple } from 'ts-type/lib/type/tuple/empty';\nimport { ITSToReadonlyArray } from 'ts-type/lib/helper/array/readonly';\nimport { ITSArrayListMaybeReadonly } from 'ts-type/lib/type/base';\n\n/**\n * 凍結陣列並回傳唯讀類型\n * Freeze array and return readonly type\n *\n * @param obj - 要凍結的陣列 / Array to freeze\n * @returns 唯讀陣列類型 / Readonly array type\n */\nexport function freezeArray<T extends ITSEmptyTuple>(obj: T): ITSToReadonlyArray<T>\nexport function freezeArray<T extends ITSArrayListMaybeReadonly<unknown>>(obj: T): ITSToReadonlyArray<T>\nexport function freezeArray<T extends ITSArrayListMaybeReadonly<unknown>>(obj: T)\n{\n\treturn Object.freeze(obj)\n}\n\n/**\n * 凍結物件並回傳唯讀類型(空元組版本)\n * Freeze object and return readonly type (empty tuple version)\n *\n * @param obj - 要凍結的物件 / Object to freeze\n * @returns 唯讀物件類型 / Readonly object type\n */\nexport function freezeObject<T extends ITSEmptyTuple>(obj: T): ITSToReadonlyArray<T>\n/**\n * 凍結物件並回傳唯讀類型(陣列版本)\n * Freeze object and return readonly type (array version)\n *\n * @param obj - 要凍結的物件 / Object to freeze\n * @returns 唯讀陣列類型 / Readonly array type\n */\nexport function freezeObject<T extends ITSArrayListMaybeReadonly<unknown>>(obj: T): ITSToReadonlyArray<T>\n\n/**\n * 凍結函式並保持原類型\n * Freeze function and preserve original type\n *\n * @param f - 要凍結的函式 / Function to freeze\n * @returns 凍結後的函式 / Frozen function\n */\nexport function freezeObject<T extends Function>(f: T): T\n/**\n * 凍結物件並回傳唯讀類型(鍵值物件版本)\n * Freeze object and return readonly type (key-value object version)\n *\n * @param o - 要凍結的物件 / Object to freeze\n * @returns 唯讀物件類型 / Readonly object type\n */\nexport function freezeObject<T extends { [idx: string]: U | null | undefined | object }, U extends string | bigint | number | boolean | symbol>(o: T): Readonly<T>\n/**\n * 凍結物件並回傳唯讀類型(通用版本)\n * Freeze object and return readonly type (generic version)\n *\n * @param o - 要凍結的物件 / Object to freeze\n * @returns 唯讀物件類型 / Readonly object type\n */\nexport function freezeObject<T>(o: T): Readonly<T>\n\n/**\n * 凍結物件並回傳唯讀類型(通用實現)\n * Freeze object and return readonly type (generic implementation)\n *\n * 使用 Object.freeze 凍結物件,使其不可變\n * Uses Object.freeze to freeze the object to make it immutable\n *\n * @param obj - 要凍結的物件 / Object to freeze\n * @returns 凍結後的物件 / Frozen object\n */\nexport function freezeObject<T extends ITSArrayListMaybeReadonly<unknown>>(obj: T)\n{\n\treturn Object.freeze(obj)\n}\n\nexport default freezeObject\n"],"names":["freezeArray","obj","Object","freeze","freezeObject"],"mappings":"AAaO,SAASA,YAA0DC;EAEzE,OAAOC,OAAOC,OAAOF;AACtB;;AAsDO,SAASG,aAA2DH;EAE1E,OAAOC,OAAOC,OAAOF;AACtB;;"}
@@ -4,9 +4,57 @@
4
4
  (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.TsTypeObjectFreeze = {}));
5
5
  })(this, (function (exports) { 'use strict';
6
6
 
7
+ /**
8
+ * 凍結陣列並回傳唯讀類型
9
+ * Freeze array and return readonly type
10
+ *
11
+ * @param obj - 要凍結的陣列 / Array to freeze
12
+ * @returns 唯讀陣列類型 / Readonly array type
13
+ */
14
+
7
15
  function freezeArray(obj) {
8
16
  return Object.freeze(obj);
9
17
  }
18
+ /**
19
+ * 凍結物件並回傳唯讀類型(空元組版本)
20
+ * Freeze object and return readonly type (empty tuple version)
21
+ *
22
+ * @param obj - 要凍結的物件 / Object to freeze
23
+ * @returns 唯讀物件類型 / Readonly object type
24
+ */
25
+
26
+ /**
27
+ * 凍結物件並回傳唯讀類型(陣列版本)
28
+ * Freeze object and return readonly type (array version)
29
+ *
30
+ * @param obj - 要凍結的物件 / Object to freeze
31
+ * @returns 唯讀陣列類型 / Readonly array type
32
+ */
33
+
34
+ /**
35
+ * 凍結函式並保持原類型
36
+ * Freeze function and preserve original type
37
+ *
38
+ * @param f - 要凍結的函式 / Function to freeze
39
+ * @returns 凍結後的函式 / Frozen function
40
+ */
41
+
42
+ /**
43
+ * 凍結物件並回傳唯讀類型(鍵值物件版本)
44
+ * Freeze object and return readonly type (key-value object version)
45
+ *
46
+ * @param o - 要凍結的物件 / Object to freeze
47
+ * @returns 唯讀物件類型 / Readonly object type
48
+ */
49
+
50
+ /**
51
+ * 凍結物件並回傳唯讀類型(通用版本)
52
+ * Freeze object and return readonly type (generic version)
53
+ *
54
+ * @param o - 要凍結的物件 / Object to freeze
55
+ * @returns 唯讀物件類型 / Readonly object type
56
+ */
57
+
10
58
  /**
11
59
  * 凍結物件並回傳唯讀類型(通用實現)
12
60
  * Freeze object and return readonly type (generic implementation)
@@ -1 +1 @@
1
- {"version":3,"file":"index.umd.development.cjs","sources":["../src/index.ts"],"sourcesContent":["import { ITSEmptyTuple } from 'ts-type/lib/type/tuple/empty';\nimport { ITSToReadonlyArray } from 'ts-type/lib/helper/array/readonly';\nimport { ITSArrayListMaybeReadonly } from 'ts-type/lib/type/base';\n\n/**\n * 凍結陣列並回傳唯讀類型\n * Freeze array and return readonly type\n *\n * @param obj - 要凍結的陣列 / Array to freeze\n * @returns 唯讀陣列類型 / Readonly array type\n */\nexport function freezeArray<T extends ITSEmptyTuple>(obj: T): ITSToReadonlyArray<T>\nexport function freezeArray<T extends ITSArrayListMaybeReadonly<unknown>>(obj: T): ITSToReadonlyArray<T>\nexport function freezeArray<T extends ITSArrayListMaybeReadonly<unknown>>(obj: T)\n{\n\treturn Object.freeze(obj)\n}\n\n/**\n * 凍結物件並回傳唯讀類型(空元組版本)\n * Freeze object and return readonly type (empty tuple version)\n *\n * @param obj - 要凍結的物件 / Object to freeze\n * @returns 唯讀物件類型 / Readonly object type\n */\nexport function freezeObject<T extends ITSEmptyTuple>(obj: T): ITSToReadonlyArray<T>\n/**\n * 凍結物件並回傳唯讀類型(陣列版本)\n * Freeze object and return readonly type (array version)\n *\n * @param obj - 要凍結的物件 / Object to freeze\n * @returns 唯讀陣列類型 / Readonly array type\n */\nexport function freezeObject<T extends ITSArrayListMaybeReadonly<unknown>>(obj: T): ITSToReadonlyArray<T>\n\n/**\n * 凍結函式並保持原類型\n * Freeze function and preserve original type\n *\n * @param f - 要凍結的函式 / Function to freeze\n * @returns 凍結後的函式 / Frozen function\n */\nexport function freezeObject<T extends Function>(f: T): T\n/**\n * 凍結物件並回傳唯讀類型(鍵值物件版本)\n * Freeze object and return readonly type (key-value object version)\n *\n * @param o - 要凍結的物件 / Object to freeze\n * @returns 唯讀物件類型 / Readonly object type\n */\nexport function freezeObject<T extends { [idx: string]: U | null | undefined | object }, U extends string | bigint | number | boolean | symbol>(o: T): Readonly<T>\n/**\n * 凍結物件並回傳唯讀類型(通用版本)\n * Freeze object and return readonly type (generic version)\n *\n * @param o - 要凍結的物件 / Object to freeze\n * @returns 唯讀物件類型 / Readonly object type\n */\nexport function freezeObject<T>(o: T): Readonly<T>\n\n/**\n * 凍結物件並回傳唯讀類型(通用實現)\n * Freeze object and return readonly type (generic implementation)\n *\n * 使用 Object.freeze 凍結物件,使其不可變\n * Uses Object.freeze to freeze the object to make it immutable\n *\n * @param obj - 要凍結的物件 / Object to freeze\n * @returns 凍結後的物件 / Frozen object\n */\nexport function freezeObject<T extends ITSArrayListMaybeReadonly<unknown>>(obj: T)\n{\n\treturn Object.freeze(obj)\n}\n\nexport default freezeObject\n"],"names":["freezeArray","obj","Object","freeze","freezeObject"],"mappings":";;;;;;CAaM,SAAUA,WAAWA,CAA+CC,GAAM,EAAA;CAE/E,EAAA,OAAOC,MAAM,CAACC,MAAM,CAACF,GAAG,CAAC,CAAA;CAC1B,CAAA;CA4CA;;;;;;;;;CASG;CACG,SAAUG,YAAYA,CAA+CH,GAAM,EAAA;CAEhF,EAAA,OAAOC,MAAM,CAACC,MAAM,CAACF,GAAG,CAAC,CAAA;CAC1B;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.umd.development.cjs","sources":["../src/index.ts"],"sourcesContent":["import { ITSEmptyTuple } from 'ts-type/lib/type/tuple/empty';\nimport { ITSToReadonlyArray } from 'ts-type/lib/helper/array/readonly';\nimport { ITSArrayListMaybeReadonly } from 'ts-type/lib/type/base';\n\n/**\n * 凍結陣列並回傳唯讀類型\n * Freeze array and return readonly type\n *\n * @param obj - 要凍結的陣列 / Array to freeze\n * @returns 唯讀陣列類型 / Readonly array type\n */\nexport function freezeArray<T extends ITSEmptyTuple>(obj: T): ITSToReadonlyArray<T>\nexport function freezeArray<T extends ITSArrayListMaybeReadonly<unknown>>(obj: T): ITSToReadonlyArray<T>\nexport function freezeArray<T extends ITSArrayListMaybeReadonly<unknown>>(obj: T)\n{\n\treturn Object.freeze(obj)\n}\n\n/**\n * 凍結物件並回傳唯讀類型(空元組版本)\n * Freeze object and return readonly type (empty tuple version)\n *\n * @param obj - 要凍結的物件 / Object to freeze\n * @returns 唯讀物件類型 / Readonly object type\n */\nexport function freezeObject<T extends ITSEmptyTuple>(obj: T): ITSToReadonlyArray<T>\n/**\n * 凍結物件並回傳唯讀類型(陣列版本)\n * Freeze object and return readonly type (array version)\n *\n * @param obj - 要凍結的物件 / Object to freeze\n * @returns 唯讀陣列類型 / Readonly array type\n */\nexport function freezeObject<T extends ITSArrayListMaybeReadonly<unknown>>(obj: T): ITSToReadonlyArray<T>\n\n/**\n * 凍結函式並保持原類型\n * Freeze function and preserve original type\n *\n * @param f - 要凍結的函式 / Function to freeze\n * @returns 凍結後的函式 / Frozen function\n */\nexport function freezeObject<T extends Function>(f: T): T\n/**\n * 凍結物件並回傳唯讀類型(鍵值物件版本)\n * Freeze object and return readonly type (key-value object version)\n *\n * @param o - 要凍結的物件 / Object to freeze\n * @returns 唯讀物件類型 / Readonly object type\n */\nexport function freezeObject<T extends { [idx: string]: U | null | undefined | object }, U extends string | bigint | number | boolean | symbol>(o: T): Readonly<T>\n/**\n * 凍結物件並回傳唯讀類型(通用版本)\n * Freeze object and return readonly type (generic version)\n *\n * @param o - 要凍結的物件 / Object to freeze\n * @returns 唯讀物件類型 / Readonly object type\n */\nexport function freezeObject<T>(o: T): Readonly<T>\n\n/**\n * 凍結物件並回傳唯讀類型(通用實現)\n * Freeze object and return readonly type (generic implementation)\n *\n * 使用 Object.freeze 凍結物件,使其不可變\n * Uses Object.freeze to freeze the object to make it immutable\n *\n * @param obj - 要凍結的物件 / Object to freeze\n * @returns 凍結後的物件 / Frozen object\n */\nexport function freezeObject<T extends ITSArrayListMaybeReadonly<unknown>>(obj: T)\n{\n\treturn Object.freeze(obj)\n}\n\nexport default freezeObject\n"],"names":["freezeArray","obj","Object","freeze","freezeObject"],"mappings":";;;;;;CAIA;CACA;CACA;CACA;CACA;CACA;CACA;;CAGO,SAASA,WAAWA,CAA+CC,GAAM,EAChF;CACC,EAAA,OAAOC,MAAM,CAACC,MAAM,CAACF,GAAG,CAAC,CAAA;CAC1B,CAAA;CAEA;CACA;CACA;CACA;CACA;CACA;CACA;;CAEA;CACA;CACA;CACA;CACA;CACA;CACA;;CAGA;CACA;CACA;CACA;CACA;CACA;CACA;;CAEA;CACA;CACA;CACA;CACA;CACA;CACA;;CAEA;CACA;CACA;CACA;CACA;CACA;CACA;;CAGA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACO,SAASG,YAAYA,CAA+CH,GAAM,EACjF;CACC,EAAA,OAAOC,MAAM,CAACC,MAAM,CAACF,GAAG,CAAC,CAAA;CAC1B;;;;;;;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.umd.production.min.cjs","sources":["../src/index.ts"],"sourcesContent":["import { ITSEmptyTuple } from 'ts-type/lib/type/tuple/empty';\nimport { ITSToReadonlyArray } from 'ts-type/lib/helper/array/readonly';\nimport { ITSArrayListMaybeReadonly } from 'ts-type/lib/type/base';\n\n/**\n * 凍結陣列並回傳唯讀類型\n * Freeze array and return readonly type\n *\n * @param obj - 要凍結的陣列 / Array to freeze\n * @returns 唯讀陣列類型 / Readonly array type\n */\nexport function freezeArray<T extends ITSEmptyTuple>(obj: T): ITSToReadonlyArray<T>\nexport function freezeArray<T extends ITSArrayListMaybeReadonly<unknown>>(obj: T): ITSToReadonlyArray<T>\nexport function freezeArray<T extends ITSArrayListMaybeReadonly<unknown>>(obj: T)\n{\n\treturn Object.freeze(obj)\n}\n\n/**\n * 凍結物件並回傳唯讀類型(空元組版本)\n * Freeze object and return readonly type (empty tuple version)\n *\n * @param obj - 要凍結的物件 / Object to freeze\n * @returns 唯讀物件類型 / Readonly object type\n */\nexport function freezeObject<T extends ITSEmptyTuple>(obj: T): ITSToReadonlyArray<T>\n/**\n * 凍結物件並回傳唯讀類型(陣列版本)\n * Freeze object and return readonly type (array version)\n *\n * @param obj - 要凍結的物件 / Object to freeze\n * @returns 唯讀陣列類型 / Readonly array type\n */\nexport function freezeObject<T extends ITSArrayListMaybeReadonly<unknown>>(obj: T): ITSToReadonlyArray<T>\n\n/**\n * 凍結函式並保持原類型\n * Freeze function and preserve original type\n *\n * @param f - 要凍結的函式 / Function to freeze\n * @returns 凍結後的函式 / Frozen function\n */\nexport function freezeObject<T extends Function>(f: T): T\n/**\n * 凍結物件並回傳唯讀類型(鍵值物件版本)\n * Freeze object and return readonly type (key-value object version)\n *\n * @param o - 要凍結的物件 / Object to freeze\n * @returns 唯讀物件類型 / Readonly object type\n */\nexport function freezeObject<T extends { [idx: string]: U | null | undefined | object }, U extends string | bigint | number | boolean | symbol>(o: T): Readonly<T>\n/**\n * 凍結物件並回傳唯讀類型(通用版本)\n * Freeze object and return readonly type (generic version)\n *\n * @param o - 要凍結的物件 / Object to freeze\n * @returns 唯讀物件類型 / Readonly object type\n */\nexport function freezeObject<T>(o: T): Readonly<T>\n\n/**\n * 凍結物件並回傳唯讀類型(通用實現)\n * Freeze object and return readonly type (generic implementation)\n *\n * 使用 Object.freeze 凍結物件,使其不可變\n * Uses Object.freeze to freeze the object to make it immutable\n *\n * @param obj - 要凍結的物件 / Object to freeze\n * @returns 凍結後的物件 / Frozen object\n */\nexport function freezeObject<T extends ITSArrayListMaybeReadonly<unknown>>(obj: T)\n{\n\treturn Object.freeze(obj)\n}\n\nexport default freezeObject\n"],"names":["freezeObject","obj","Object","freeze","freezeArray"],"mappings":";;;;EAsEM,SAAUA,aAA2DC;IAE1E,OAAOC,OAAOC,OAAOF;AACtB;4CA5DM,SAAUG,YAA0DH;IAEzE,OAAOC,OAAOC,OAAOF;AACtB;;;"}
1
+ {"version":3,"file":"index.umd.production.min.cjs","sources":["../src/index.ts"],"sourcesContent":["import { ITSEmptyTuple } from 'ts-type/lib/type/tuple/empty';\nimport { ITSToReadonlyArray } from 'ts-type/lib/helper/array/readonly';\nimport { ITSArrayListMaybeReadonly } from 'ts-type/lib/type/base';\n\n/**\n * 凍結陣列並回傳唯讀類型\n * Freeze array and return readonly type\n *\n * @param obj - 要凍結的陣列 / Array to freeze\n * @returns 唯讀陣列類型 / Readonly array type\n */\nexport function freezeArray<T extends ITSEmptyTuple>(obj: T): ITSToReadonlyArray<T>\nexport function freezeArray<T extends ITSArrayListMaybeReadonly<unknown>>(obj: T): ITSToReadonlyArray<T>\nexport function freezeArray<T extends ITSArrayListMaybeReadonly<unknown>>(obj: T)\n{\n\treturn Object.freeze(obj)\n}\n\n/**\n * 凍結物件並回傳唯讀類型(空元組版本)\n * Freeze object and return readonly type (empty tuple version)\n *\n * @param obj - 要凍結的物件 / Object to freeze\n * @returns 唯讀物件類型 / Readonly object type\n */\nexport function freezeObject<T extends ITSEmptyTuple>(obj: T): ITSToReadonlyArray<T>\n/**\n * 凍結物件並回傳唯讀類型(陣列版本)\n * Freeze object and return readonly type (array version)\n *\n * @param obj - 要凍結的物件 / Object to freeze\n * @returns 唯讀陣列類型 / Readonly array type\n */\nexport function freezeObject<T extends ITSArrayListMaybeReadonly<unknown>>(obj: T): ITSToReadonlyArray<T>\n\n/**\n * 凍結函式並保持原類型\n * Freeze function and preserve original type\n *\n * @param f - 要凍結的函式 / Function to freeze\n * @returns 凍結後的函式 / Frozen function\n */\nexport function freezeObject<T extends Function>(f: T): T\n/**\n * 凍結物件並回傳唯讀類型(鍵值物件版本)\n * Freeze object and return readonly type (key-value object version)\n *\n * @param o - 要凍結的物件 / Object to freeze\n * @returns 唯讀物件類型 / Readonly object type\n */\nexport function freezeObject<T extends { [idx: string]: U | null | undefined | object }, U extends string | bigint | number | boolean | symbol>(o: T): Readonly<T>\n/**\n * 凍結物件並回傳唯讀類型(通用版本)\n * Freeze object and return readonly type (generic version)\n *\n * @param o - 要凍結的物件 / Object to freeze\n * @returns 唯讀物件類型 / Readonly object type\n */\nexport function freezeObject<T>(o: T): Readonly<T>\n\n/**\n * 凍結物件並回傳唯讀類型(通用實現)\n * Freeze object and return readonly type (generic implementation)\n *\n * 使用 Object.freeze 凍結物件,使其不可變\n * Uses Object.freeze to freeze the object to make it immutable\n *\n * @param obj - 要凍結的物件 / Object to freeze\n * @returns 凍結後的物件 / Frozen object\n */\nexport function freezeObject<T extends ITSArrayListMaybeReadonly<unknown>>(obj: T)\n{\n\treturn Object.freeze(obj)\n}\n\nexport default freezeObject\n"],"names":["freezeObject","obj","Object","freeze","freezeArray"],"mappings":";;;;EAsEO,SAASA,aAA2DC;IAE1E,OAAOC,OAAOC,OAAOF;AACtB;4CA5DO,SAASG,YAA0DH;IAEzE,OAAOC,OAAOC,OAAOF;AACtB;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ts-type/object-freeze",
3
- "version": "1.0.13",
3
+ "version": "1.0.15",
4
4
  "description": "Object.freeze 的類型安全包裝,提供精確的唯讀類型 | Type-safe wrapper for Object.freeze with precise readonly types",
5
5
  "keywords": [
6
6
  ".d.ts",
@@ -56,38 +56,38 @@
56
56
  "types": "dist/index.d.ts",
57
57
  "typings": "dist/index.d.ts",
58
58
  "scripts": {
59
- "review": "yarn run review:coverage",
60
- "review:coverage": "yarn run lint && yarn run coverage",
61
- "review:test": "yarn run lint && yarn run test",
62
- "coverage": "yarn run test -- --coverage",
63
- "lint": "yarn run lint:eslint",
59
+ "review": "pnpm run review:coverage",
60
+ "review:coverage": "pnpm run lint && pnpm run coverage",
61
+ "review:test": "pnpm run lint && pnpm run test",
62
+ "coverage": "pnpm run test --coverage",
63
+ "lint": "pnpm run lint:eslint",
64
64
  "lint:eslint": "ynpx eslint --ext .ts,.tsx,.mts,.cts ./",
65
65
  "pretest": "echo pretest",
66
- "test": "jest --passWithNoTests",
66
+ "test": "echo jest --passWithNoTests",
67
67
  "test:jest": "jest --passWithNoTests",
68
68
  "test:jest:coverage": "node --run test:jest -- --coverage",
69
- "test:jest:snapshot": "yarn run test:jest -- -u",
69
+ "test:jest:snapshot": "pnpm run test:jest -u",
70
70
  "test:mocha": "ynpx --quiet -p ts-node -p mocha mocha -- --require ts-node/register \"!(node_modules)/**/*.{test,spec}.{ts,tsx}\"",
71
- "test:snapshot": "yarn run test -- -u",
71
+ "test:snapshot": "pnpm run test -u",
72
72
  "test:tsd": "ynpx tsd",
73
73
  "test:tsdx": "tsdx test --passWithNoTests",
74
- "posttest": "yarn run build",
75
- "build": "yarn run build:tsdx && yarn run build:dts:tsc",
76
- "build:dts:bundle": "ynpx dts-bundle-generator -o ./dist/index.d.ts ./src/index.ts --no-banner --inline-declare-global & echo build:dts:bundle",
74
+ "posttest": "pnpm run build",
75
+ "build": "pnpm run build:tsdx && pnpm run build:dts:tsc",
76
+ "build:dts:bundle": "ynpx @bluelovers/dts-bundle-generator -o ./dist/index.d.ts ./src/index.ts --no-banner --inline-declare-global & echo build:dts:bundle",
77
77
  "build:dts:copy": "copy .\\src\\index.d.ts .\\dist\\index.d.ts & echo build:dts",
78
- "build:dts:tsc": "yarn run build:dts:tsc:emit && yarn run build:dts:copy",
78
+ "build:dts:tsc": "pnpm run build:dts:tsc:emit && pnpm run build:dts:copy",
79
79
  "build:dts:tsc:emit": "tsc --emitDeclarationOnly --declaration --noEmit false",
80
80
  "build:microbundle": "ynpx microbundle --target node",
81
- "build:tsdx": "tsdx build --target node --name index",
81
+ "build:tsdx": "ynpx @bluelovers/tsdx build --target node --name index",
82
82
  "ci:install": "echo ci:install",
83
83
  "ci:build": "echo ci:build",
84
- "preversion": "echo preversion && yarn run test",
84
+ "preversion": "echo preversion && pnpm run test",
85
85
  "version": "echo version",
86
86
  "postversion": "echo postversion",
87
87
  "prepublish": "echo prepublish",
88
88
  "prepare": "echo prepare",
89
89
  "prepublishOnly": "echo prepublishOnly",
90
- "prepublishOnly:update": "yarn run ncu && yarn run sort-package-json",
90
+ "prepublishOnly:update": "pnpm run ncu && pnpm run sort-package-json",
91
91
  "prepack": "echo prepack",
92
92
  "pack": "echo pack",
93
93
  "postpack": "echo postpack",
@@ -99,10 +99,10 @@
99
99
  "tsc:showConfig": "ynpx get-current-tsconfig -p"
100
100
  },
101
101
  "dependencies": {
102
- "ts-type": "^3.0.13"
102
+ "ts-type": "^3.0.15"
103
103
  },
104
104
  "publishConfig": {
105
105
  "access": "public"
106
106
  },
107
- "gitHead": "846599bb59d03aa7a3caddc479886b3c602d6280"
107
+ "gitHead": "b1febe34d831268743202cf8176775b35ec0bd05"
108
108
  }