@duplojs/utils 1.3.31 → 1.4.32

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.
@@ -19,7 +19,6 @@ function createOverride(overrideName) {
19
19
  },
20
20
  apply(overrideInterface) {
21
21
  const cachedOverrideProperties = {};
22
- const cachedKey = Object.keys(overrideInterface);
23
22
  const self = new Proxy({}, {
24
23
  get(target, prop) {
25
24
  if (overridePropertiesStore[prop]) {
@@ -34,12 +33,12 @@ function createOverride(overrideName) {
34
33
  },
35
34
  ownKeys() {
36
35
  return [
37
- ...cachedKey,
36
+ ...Object.keys(overrideInterface),
38
37
  ...cachedStoreKey,
39
38
  ];
40
39
  },
41
40
  has(target, prop) {
42
- return cachedKey.includes(prop)
41
+ return Object.keys(overrideInterface).includes(prop)
43
42
  || cachedStoreKey.includes(prop);
44
43
  },
45
44
  getOwnPropertyDescriptor() {
@@ -17,7 +17,6 @@ function createOverride(overrideName) {
17
17
  },
18
18
  apply(overrideInterface) {
19
19
  const cachedOverrideProperties = {};
20
- const cachedKey = Object.keys(overrideInterface);
21
20
  const self = new Proxy({}, {
22
21
  get(target, prop) {
23
22
  if (overridePropertiesStore[prop]) {
@@ -32,12 +31,12 @@ function createOverride(overrideName) {
32
31
  },
33
32
  ownKeys() {
34
33
  return [
35
- ...cachedKey,
34
+ ...Object.keys(overrideInterface),
36
35
  ...cachedStoreKey,
37
36
  ];
38
37
  },
39
38
  has(target, prop) {
40
- return cachedKey.includes(prop)
39
+ return Object.keys(overrideInterface).includes(prop)
41
40
  || cachedStoreKey.includes(prop);
42
41
  },
43
42
  getOwnPropertyDescriptor() {
@@ -1,2 +1,2 @@
1
1
  import { type AnyFunction } from "./anyFunction";
2
- export type AnyValue = string | number | boolean | object | null | bigint | AnyFunction | undefined | symbol;
2
+ export type AnyValue = string | number | boolean | object | null | bigint | AnyFunction | undefined | symbol | AnyValue[];
@@ -4193,6 +4193,15 @@
4193
4193
  {
4194
4194
  "name": "assign.mjs"
4195
4195
  },
4196
+ {
4197
+ "name": "countKeys.cjs"
4198
+ },
4199
+ {
4200
+ "name": "countKeys.d.ts"
4201
+ },
4202
+ {
4203
+ "name": "countKeys.mjs"
4204
+ },
4196
4205
  {
4197
4206
  "name": "deepDiscriminate.cjs"
4198
4207
  },
@@ -0,0 +1,12 @@
1
+ 'use strict';
2
+
3
+ var wrapValue = require('../common/wrapValue.cjs');
4
+ var kind = require('../common/kind.cjs');
5
+
6
+ function countKeys(object) {
7
+ return Object.keys(object)
8
+ .filter((key) => !wrapValue.isRuntimeWrappedValueKey(key) && !kind.isRuntimeKind(key))
9
+ .length;
10
+ }
11
+
12
+ exports.countKeys = countKeys;
@@ -0,0 +1 @@
1
+ export declare function countKeys<GenericObject extends object>(object: GenericObject): number;
@@ -0,0 +1,10 @@
1
+ import { isRuntimeWrappedValueKey } from '../common/wrapValue.mjs';
2
+ import { isRuntimeKind } from '../common/kind.mjs';
3
+
4
+ function countKeys(object) {
5
+ return Object.keys(object)
6
+ .filter((key) => !isRuntimeWrappedValueKey(key) && !isRuntimeKind(key))
7
+ .length;
8
+ }
9
+
10
+ export { countKeys };
@@ -7,5 +7,11 @@ function entries(object) {
7
7
  return Object.entries(object)
8
8
  .filter(([key]) => !wrapValue.isRuntimeWrappedValueKey(key) && !kind.isRuntimeKind(key));
9
9
  }
10
+ /**
11
+ * @deprecated Not ignore kind key.
12
+ */
13
+ entries.unsafe = function (object) {
14
+ return Object.entries(object);
15
+ };
10
16
 
11
17
  exports.entries = entries;
@@ -1,8 +1,11 @@
1
1
  import { type DString } from "..";
2
- import { type IsEqual, type ObjectEntry, type ObjectKey } from "../common";
2
+ import { type AnyValue, type IsEqual, type ObjectEntry, type ObjectKey } from "../common";
3
3
  import { type SimplifyTopLevel } from "../common/types/simplifyTopLevel";
4
4
  export type GetEntry<GenericKey extends ObjectKey, GenericValue extends unknown> = GenericValue extends any ? GenericKey extends string | number ? [`${GenericKey}`, GenericValue] : never : never;
5
- export type GetEntries<GenericObject extends object> = GenericObject extends readonly any[] ? [DString.Number, GenericObject[number]][] : ({
5
+ export type GetEntries<GenericObject extends object> = GenericObject extends readonly any[] ? [DString.Number, GenericObject[number]][] : IsEqual<GenericObject, object> extends true ? [string, AnyValue][] : ({
6
6
  [Prop in keyof GenericObject]-?: GetEntry<Prop, GenericObject[Prop]>;
7
7
  }[keyof GenericObject]) extends infer InferredResult extends ObjectEntry ? IsEqual<InferredResult, never> extends true ? [] : InferredResult[] : never;
8
8
  export declare function entries<GenericObject extends object>(object: GenericObject): SimplifyTopLevel<GetEntries<GenericObject>>;
9
+ export declare namespace entries {
10
+ var unsafe: <GenericObject extends object>(object: GenericObject) => [string, AnyValue][];
11
+ }
@@ -5,5 +5,11 @@ function entries(object) {
5
5
  return Object.entries(object)
6
6
  .filter(([key]) => !isRuntimeWrappedValueKey(key) && !isRuntimeKind(key));
7
7
  }
8
+ /**
9
+ * @deprecated Not ignore kind key.
10
+ */
11
+ entries.unsafe = function (object) {
12
+ return Object.entries(object);
13
+ };
8
14
 
9
15
  export { entries };
@@ -4,6 +4,7 @@ var entries = require('./entries.cjs');
4
4
  var fromEntries = require('./fromEntries.cjs');
5
5
  var hasKeys = require('./hasKeys.cjs');
6
6
  var keys = require('./keys.cjs');
7
+ var countKeys = require('./countKeys.cjs');
7
8
  var values = require('./values.cjs');
8
9
  var getProperty = require('./getProperty.cjs');
9
10
  var transformProperties = require('./transformProperties.cjs');
@@ -24,6 +25,7 @@ exports.entries = entries.entries;
24
25
  exports.fromEntries = fromEntries.fromEntries;
25
26
  exports.hasKeys = hasKeys.hasKeys;
26
27
  exports.keys = keys.keys;
28
+ exports.countKeys = countKeys.countKeys;
27
29
  exports.values = values.values;
28
30
  exports.getProperty = getProperty.getProperty;
29
31
  exports.transformProperties = transformProperties.transformProperties;
@@ -3,6 +3,7 @@ export * from "./entries";
3
3
  export * from "./fromEntries";
4
4
  export * from "./hasKeys";
5
5
  export * from "./keys";
6
+ export * from "./countKeys";
6
7
  export * from "./values";
7
8
  export * from "./getProperty";
8
9
  export * from "./transformProperties";
@@ -2,6 +2,7 @@ export { entries } from './entries.mjs';
2
2
  export { fromEntries } from './fromEntries.mjs';
3
3
  export { hasKeys } from './hasKeys.mjs';
4
4
  export { keys } from './keys.mjs';
5
+ export { countKeys } from './countKeys.mjs';
5
6
  export { values } from './values.mjs';
6
7
  export { getProperty } from './getProperty.mjs';
7
8
  export { transformProperties } from './transformProperties.mjs';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@duplojs/utils",
3
- "version": "1.3.31",
3
+ "version": "1.4.32",
4
4
  "author": {
5
5
  "name": "mathcovax",
6
6
  "url": "https://github.com/mathcovax"