@stacksjs/objects 0.53.1 → 0.56.23

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/dist/index.d.ts CHANGED
@@ -1,5 +1,6 @@
1
- import type { DeepMerge } from '@stacksjs/types';
1
+ import { DeepMerge } from '@stacksjs/types';
2
2
  export { Collection, collect } from '@stacksjs/collections';
3
+
3
4
  /**
4
5
  * Map key/value pairs for an object, and construct a new one
5
6
  *
@@ -27,7 +28,7 @@ export { Collection, collect } from '@stacksjs/collections';
27
28
  * // { b: 2 }
28
29
  * ```
29
30
  */
30
- export declare function objectMap<K extends string, V, NK = K, NV = V>(obj: Record<K, V>, fn: (key: K, value: V) => [NK, NV] | undefined): Record<K, V>;
31
+ declare function objectMap<K extends string, V, NK = K, NV = V>(obj: Record<K, V>, fn: (key: K, value: V) => [NK, NV] | undefined): Record<K, V>;
31
32
  /**
32
33
  * Type guard for any key, `k`.
33
34
  * Marks `k` as a key of `T` if `k` is in `obj`.
@@ -36,41 +37,43 @@ export declare function objectMap<K extends string, V, NK = K, NV = V>(obj: Reco
36
37
  * @param obj object to query for key `k`
37
38
  * @param k key to check existence in `obj`
38
39
  */
39
- export declare function isKeyOf<T extends object>(obj: T, k: keyof any): k is keyof T;
40
+ declare function isKeyOf<T extends object>(obj: T, k: keyof any): k is keyof T;
40
41
  /**
41
42
  * Strict typed `Object.keys`
42
43
  *
43
44
  * @category Object
44
45
  */
45
- export declare function objectKeys<T extends object>(obj: T): (`${keyof T & undefined}` | `${keyof T & null}` | `${keyof T & string}` | `${keyof T & number}` | `${keyof T & false}` | `${keyof T & true}`)[];
46
+ declare function objectKeys<T extends object>(obj: T): (`${keyof T & undefined}` | `${keyof T & null}` | `${keyof T & string}` | `${keyof T & number}` | `${keyof T & false}` | `${keyof T & true}`)[];
46
47
  /**
47
48
  * Strict typed `Object.entries`
48
49
  *
49
50
  * @category Object
50
51
  */
51
- export declare function objectEntries<T extends object>(obj: T): [keyof T, T[keyof T]][];
52
+ declare function objectEntries<T extends object>(obj: T): [keyof T, T[keyof T]][];
52
53
  /**
53
54
  * Deep merge :P
54
55
  *
55
56
  * @category Object
56
57
  */
57
- export declare function deepMerge<T extends object = object, S extends object = T>(target: T, ...sources: S[]): DeepMerge<T, S>;
58
+ declare function deepMerge<T extends object = object, S extends object = T>(target: T, ...sources: S[]): DeepMerge<T, S>;
58
59
  /**
59
60
  * Create a new subset object by providing keys.
60
61
  *
61
62
  * @category Object
62
63
  */
63
- export declare function objectPick<O extends object, T extends keyof O>(obj: O, keys: T[], omitUndefined?: boolean): Pick<O, T>;
64
+ declare function objectPick<O extends object, T extends keyof O>(obj: O, keys: T[], omitUndefined?: boolean): Pick<O, T>;
64
65
  /**
65
66
  * Clear undefined fields from an object. It mutates the object.
66
67
  *
67
68
  * @category Object
68
69
  */
69
- export declare function clearUndefined<T extends object>(obj: T): T;
70
+ declare function clearUndefined<T extends object>(obj: T): T;
70
71
  /**
71
72
  * Determines whether an object has a property with the specified name
72
73
  *
73
74
  * @see https://eslint.org/docs/rules/no-prototype-builtins
74
75
  * @category Object
75
76
  */
76
- export declare function hasOwnProperty<T>(obj: T, v: PropertyKey): any;
77
+ declare function hasOwnProperty<T>(obj: T, v: PropertyKey): boolean;
78
+
79
+ export { clearUndefined, deepMerge, hasOwnProperty, isKeyOf, objectEntries, objectKeys, objectMap, objectPick };
package/dist/index.mjs CHANGED
@@ -1,21 +1,22 @@
1
- import { notNullish } from "@stacksjs/utils";
2
- import { isObject } from "@stacksjs/validation";
3
- export { Collection, collect } from "@stacksjs/collections";
4
- export function objectMap(obj, fn) {
1
+ import { notNullish } from '@stacksjs/utils';
2
+ import { isObject } from '@stacksjs/validation';
3
+ export { Collection, collect } from '@stacksjs/collections';
4
+
5
+ function objectMap(obj, fn) {
5
6
  return Object.fromEntries(
6
7
  Object.entries(obj).map(([k, v]) => fn(k, v)).filter(notNullish)
7
8
  );
8
9
  }
9
- export function isKeyOf(obj, k) {
10
+ function isKeyOf(obj, k) {
10
11
  return k in obj;
11
12
  }
12
- export function objectKeys(obj) {
13
+ function objectKeys(obj) {
13
14
  return Object.keys(obj);
14
15
  }
15
- export function objectEntries(obj) {
16
+ function objectEntries(obj) {
16
17
  return Object.entries(obj);
17
18
  }
18
- export function deepMerge(target, ...sources) {
19
+ function deepMerge(target, ...sources) {
19
20
  if (!sources.length)
20
21
  return target;
21
22
  const source = sources.shift();
@@ -37,7 +38,7 @@ export function deepMerge(target, ...sources) {
37
38
  function isMergeableObject(item) {
38
39
  return isObject(item) && !Array.isArray(item);
39
40
  }
40
- export function objectPick(obj, keys, omitUndefined = false) {
41
+ function objectPick(obj, keys, omitUndefined = false) {
41
42
  return keys.reduce((n, k) => {
42
43
  if (k in obj) {
43
44
  if (!omitUndefined || obj[k] !== void 0)
@@ -46,12 +47,14 @@ export function objectPick(obj, keys, omitUndefined = false) {
46
47
  return n;
47
48
  }, {});
48
49
  }
49
- export function clearUndefined(obj) {
50
+ function clearUndefined(obj) {
50
51
  Object.keys(obj).forEach((key) => obj[key] === void 0 ? delete obj[key] : {});
51
52
  return obj;
52
53
  }
53
- export function hasOwnProperty(obj, v) {
54
+ function hasOwnProperty(obj, v) {
54
55
  if (obj == null)
55
56
  return false;
56
57
  return Object.prototype.hasOwnProperty.call(obj, v);
57
58
  }
59
+
60
+ export { clearUndefined, deepMerge, hasOwnProperty, isKeyOf, objectEntries, objectKeys, objectMap, objectPick };
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "@stacksjs/objects",
3
3
  "type": "module",
4
- "version": "0.53.1",
5
- "packageManager": "pnpm@8.5.1",
4
+ "version": "0.56.23",
5
+ "packageManager": "pnpm@8.6.5",
6
6
  "description": "The Stacks objects.",
7
7
  "author": "Chris Breuer",
8
8
  "license": "MIT",
@@ -28,6 +28,7 @@
28
28
  "import": "./dist/index.mjs"
29
29
  }
30
30
  },
31
+ "main": "dist/index.mjs",
31
32
  "module": "dist/index.mjs",
32
33
  "types": "dist/index.d.ts",
33
34
  "contributors": [
@@ -38,12 +39,13 @@
38
39
  "README.md"
39
40
  ],
40
41
  "dependencies": {
41
- "@stacksjs/collections": "0.53.1",
42
- "@stacksjs/types": "0.53.1",
43
- "@stacksjs/utils": "0.53.1"
42
+ "@stacksjs/collections": "0.56.23",
43
+ "@stacksjs/types": "0.56.23",
44
+ "@stacksjs/utils": "0.56.23",
45
+ "@stacksjs/validation": "0.56.23"
44
46
  },
45
47
  "devDependencies": {
46
- "@stacksjs/development": "0.53.1"
48
+ "@stacksjs/development": "0.56.23"
47
49
  },
48
50
  "scripts": {
49
51
  "build": "unbuild",