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