@leexi/shared 0.3.3 → 0.3.4

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/README.md CHANGED
@@ -66,6 +66,8 @@ export default defineNuxtConfig({
66
66
  - [Utils](#utils)
67
67
  - [Records](#records)
68
68
  - [set](#set)
69
+ - [omit](#omit)
70
+ - [pick](#pick)
69
71
  - [Strings](#strings)
70
72
  - [camelcase](#camelcase)
71
73
  - [capitalize](#capitalize)
@@ -107,6 +109,32 @@ set(foo, ['bar', 'biz'], 'fiz')
107
109
  foo // => { bar: { biz: 'fiz' } }
108
110
  ```
109
111
 
112
+ #### omit
113
+ Returns a copy of a given object excluding a given set of attributes
114
+ - Type
115
+ ```ts
116
+ const omit: <T extends Record<string, unknown>, K extends (keyof T)[]>(record: T, keys: K) => Omit<T, K[number]>;
117
+ ```
118
+ - Example
119
+ ```ts
120
+ const foo = { a: 1, b: 2, c: 3 }
121
+ const bar = omit(foo, ['b', 'c'])
122
+ bar // => { a: 1 }
123
+ ```
124
+
125
+ #### pick
126
+ Returns a copy of a given object only including a given set of attributes
127
+ - Type
128
+ ```ts
129
+ const pick: <T extends Record<string, unknown>, K extends (keyof T)[]>(record: T, keys: K) => Pick<T, K[number]>;
130
+ ```
131
+ - Example
132
+ ```ts
133
+ const foo = { a: 1, b: 2, c: 3 }
134
+ const bar = pick(foo, ['b', 'c'])
135
+ bar // => { b: 2, c: 3 }
136
+ ```
137
+
110
138
  ### Strings
111
139
  #### camelcase
112
140
  Convert a kebab-case string or a snake_case string to a camelCase string
package/dist/module.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "configKey": "leexi",
3
3
  "name": "@leexi/shared",
4
- "version": "0.3.3",
4
+ "version": "0.3.4",
5
5
  "builder": {
6
6
  "@nuxt/module-builder": "1.0.1",
7
7
  "unbuild": "3.5.0"
@@ -1 +1,3 @@
1
+ export { omit } from './omit.js';
2
+ export { pick } from './pick.js';
1
3
  export { set } from './set.js';
@@ -1 +1,3 @@
1
+ export { omit } from "./omit.js";
2
+ export { pick } from "./pick.js";
1
3
  export { set } from "./set.js";
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Returns a copy of a given object excluding a given set of attributes
3
+ *
4
+ * @example
5
+ * const foo = { a: 1, b: 2, c: 3 }
6
+ * const bar = omit(foo, ['b', 'c'])
7
+ * bar // => { a: 1 }
8
+ */
9
+ export declare const omit: <T extends Record<string, unknown>, K extends (keyof T)[]>(record: T, keys: K) => Omit<T, K[number]>;
@@ -0,0 +1 @@
1
+ export const omit = (record, keys) => Object.fromEntries(Object.entries(record).filter(([key]) => !keys.includes(key)));
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Returns a copy of a given object only including a given set of attributes
3
+ *
4
+ * @example
5
+ * const foo = { a: 1, b: 2, c: 3 }
6
+ * const bar = pick(foo, ['b', 'c'])
7
+ * bar // => { b: 2, c: 3 }
8
+ */
9
+ export declare const pick: <T extends Record<string, unknown>, K extends (keyof T)[]>(record: T, keys: K) => Pick<T, K[number]>;
@@ -0,0 +1 @@
1
+ export const pick = (record, keys) => Object.fromEntries(Object.entries(record).filter(([key]) => keys.includes(key)));
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "license": "UNLICENSED",
3
3
  "name": "@leexi/shared",
4
4
  "type": "module",
5
- "version": "0.3.3",
5
+ "version": "0.3.4",
6
6
  "exports": {
7
7
  "./composables": {
8
8
  "import": "./dist/runtime/composables/index.js",