From 928c61ccddebc8d2c697b86ee9bee0c207330a8c Mon Sep 17 00:00:00 2001
From: schangxiang@126.com <schangxiang@126.com>
Date: 周二, 06 5月 2025 07:18:22 +0800
Subject: [PATCH] 222

---
 HIAWms/web/src/libs/Create/Create.ts |   82 +++++++++++++++++++++++++++++++++++++++++
 1 files changed, 82 insertions(+), 0 deletions(-)

diff --git a/HIAWms/web/src/libs/Create/Create.ts b/HIAWms/web/src/libs/Create/Create.ts
new file mode 100644
index 0000000..917fc26
--- /dev/null
+++ b/HIAWms/web/src/libs/Create/Create.ts
@@ -0,0 +1,82 @@
+/**
+ * 鍒涘缓涓�涓璞�
+ */
+export class Create<T> {
+  constructor(args: T) {
+    this.init(args)
+  }
+
+  [key: string]: any
+
+  /**
+   * 鍒濆鍖栧璞★紝瑕佹眰缁撴瀯[[key, value]] 鎴� { key: value }
+   *
+   * new Create([1,2]) or new Create({ 1: 2 })
+   * @param args
+   */
+  private init(args: T) {
+    if (Array.isArray(args)) {
+      args.forEach(([key, value = '']) => {
+        this[key] = value
+      })
+    } else if (args instanceof Object) {
+      Object.entries(args).forEach(([key, value = '']) => {
+        this[key] = value
+      })
+    }
+  }
+
+  /**
+   * 璁剧疆鍊�
+   * @param key
+   * @param value
+   * @returns void
+   */
+  set(key: string, value: any) {
+    return (this[key] = value)
+  }
+  /**
+   * 鑾峰彇鍊�
+   * @param key
+   * @returns any
+   */
+  get(key: string) {
+    return this[key]
+  }
+
+  /**
+   * 鍒犻櫎鍊�
+   * @param key
+   */
+  remove(key: string) {
+    delete this[key]
+  }
+  /**
+   * 娣诲姞鍊�
+   * @param key
+   * @param value
+   * @returns
+   */
+  insert(key: string, value: any) {
+    return (this[key] = value)
+  }
+
+  /**
+   * 鏇存柊鏁版嵁
+   * @param o
+   * @returns
+   */
+  update(o: T) {
+    this.init(o)
+  }
+  /**
+   * 閲嶇疆瀵硅薄
+   */
+  reset() {
+    Object.entries(this).forEach(([key, value]: string[]) => {
+      if (typeof this[key] !== 'function') {
+        this.remove(key)
+      }
+    })
+  }
+}

--
Gitblit v1.9.3