@duplojs/utils 1.1.14 → 1.1.16

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.
@@ -10,7 +10,18 @@ const testTypeWrapper = {
10
10
  undefined: (input) => typeof input === "undefined",
11
11
  null: (input) => input === null,
12
12
  array: (input) => input instanceof Array,
13
- object: (input) => !!input && typeof input === "object" && !(input instanceof Array),
13
+ object: (input) => !!input
14
+ && typeof input === "object"
15
+ && !(input instanceof Array)
16
+ && !(Symbol.iterator in input),
17
+ iterable: (input) => !!input
18
+ && typeof input === "object"
19
+ && Symbol.iterator in input
20
+ && typeof input[Symbol.iterator] === "function",
21
+ asyncIterable: (input) => !!input
22
+ && typeof input === "object"
23
+ && Symbol.asyncIterator in input
24
+ && typeof input[Symbol.asyncIterator] === "function",
14
25
  };
15
26
  function isType(...args) {
16
27
  if (args.length === 1) {
@@ -8,8 +8,10 @@ interface Type {
8
8
  undefined: [undefined, never];
9
9
  null: [null, never];
10
10
  symbol: [symbol, never];
11
- object: [object, any[] | AnyFunction];
12
- array: [any[], never];
11
+ object: [object, readonly any[] | AnyFunction | null];
12
+ iterable: [Iterable<any>, never];
13
+ asyncIterable: [AsyncIterable<any>, never];
14
+ array: [readonly any[], never];
13
15
  }
14
16
  type ComputeResult<GenericInput extends unknown, GenericTypeEntry extends Type[keyof Type]> = Exclude<Extract<GenericInput, GenericTypeEntry[0]>, GenericTypeEntry[1]>;
15
17
  type EligibleType<GenericInput extends unknown> = {
@@ -8,7 +8,18 @@ const testTypeWrapper = {
8
8
  undefined: (input) => typeof input === "undefined",
9
9
  null: (input) => input === null,
10
10
  array: (input) => input instanceof Array,
11
- object: (input) => !!input && typeof input === "object" && !(input instanceof Array),
11
+ object: (input) => !!input
12
+ && typeof input === "object"
13
+ && !(input instanceof Array)
14
+ && !(Symbol.iterator in input),
15
+ iterable: (input) => !!input
16
+ && typeof input === "object"
17
+ && Symbol.iterator in input
18
+ && typeof input[Symbol.iterator] === "function",
19
+ asyncIterable: (input) => !!input
20
+ && typeof input === "object"
21
+ && Symbol.asyncIterator in input
22
+ && typeof input[Symbol.asyncIterator] === "function",
12
23
  };
13
24
  function isType(...args) {
14
25
  if (args.length === 1) {
@@ -1,3 +1,3 @@
1
1
  import { type AnyValue } from "./types";
2
- export declare function justReturn<GenericValue extends AnyValue>(value: GenericValue): (input: unknown) => GenericValue;
3
- export declare function justReturn<GenericValue extends AnyValue>(input: unknown, value: GenericValue): GenericValue;
2
+ export declare function justReturn<GenericInput extends unknown, GenericValue extends AnyValue>(value: GenericValue): (input: GenericInput) => GenericValue;
3
+ export declare function justReturn<GenericInput extends unknown, GenericValue extends AnyValue>(input: GenericInput, value: GenericValue): GenericValue;
@@ -1,4 +1,4 @@
1
- import { type FixDeepFunctionInfer, type NeverCoalescing } from "../../common";
1
+ import { type Memoized, type FixDeepFunctionInfer, type NeverCoalescing } from "../../common";
2
2
  import { type DataParserExtended } from "../baseExtended";
3
3
  import { type AddCheckersToDefinition, type MergeDefinition } from "../types";
4
4
  import * as dataParsers from "../parsers";
@@ -17,6 +17,6 @@ export interface DataParserLazyExtended<GenericDefinition extends dataParsers.Da
17
17
  ]>>;
18
18
  }
19
19
  export declare function lazy<GenericDataParser extends DataParser, const GenericDefinition extends Partial<dataParsers.DataParserDefinitionLazy> = never>(getter: () => GenericDataParser, definition?: GenericDefinition): DataParserLazyExtended<MergeDefinition<dataParsers.DataParserDefinitionLazy, NeverCoalescing<GenericDefinition, {}> & {
20
- getter(): GenericDataParser;
20
+ getter: Memoized<GenericDataParser>;
21
21
  }>>;
22
22
  export {};
@@ -1,5 +1,8 @@
1
1
  'use strict';
2
2
 
3
+ var memo = require('../../common/memo.cjs');
4
+ require('../../common/globalStore.cjs');
5
+ require('../../common/builder.cjs');
3
6
  var base = require('../base.cjs');
4
7
  var kind = require('../kind.cjs');
5
8
 
@@ -9,11 +12,11 @@ function lazy(getter, definition) {
9
12
  definition: {
10
13
  errorMessage: definition?.errorMessage,
11
14
  checkers: definition?.checkers ?? [],
12
- getter,
15
+ getter: memo.memo(getter),
13
16
  },
14
17
  }, {
15
- sync: (data, _error, self) => self.definition.getter().exec(data, _error),
16
- async: (data, _error, self) => self.definition.getter().asyncExec(data, _error),
18
+ sync: (data, _error, self) => self.definition.getter.value.exec(data, _error),
19
+ async: (data, _error, self) => self.definition.getter.value.asyncExec(data, _error),
17
20
  });
18
21
  }
19
22
 
@@ -1,4 +1,4 @@
1
- import { type NeverCoalescing, type Kind, type FixDeepFunctionInfer } from "../../common";
1
+ import { type NeverCoalescing, type Kind, type FixDeepFunctionInfer, type Memoized } from "../../common";
2
2
  import { type DataParserDefinition, type DataParser, type Output, type Input, type DataParserChecker } from "../base";
3
3
  import { type AddCheckersToDefinition, type MergeDefinition } from "../../dataParser/types";
4
4
  import { type CheckerRefineImplementation } from "./refine";
@@ -7,10 +7,10 @@ export interface DataParserLazyCheckerCustom<GenericInput extends unknown = unkn
7
7
  }
8
8
  export type DataParserLazyCheckers<GenericInput extends unknown = unknown> = (DataParserLazyCheckerCustom<GenericInput>[GetPropsWithValueExtends<DataParserLazyCheckerCustom<GenericInput>, DataParserChecker>] | CheckerRefineImplementation<GenericInput>);
9
9
  export interface DataParserDefinitionLazy extends DataParserDefinition<DataParserLazyCheckers> {
10
- getter(): DataParser;
10
+ getter: Memoized<DataParser>;
11
11
  }
12
12
  export declare const lazyKind: import("../../common").KindHandler<import("../../common").KindDefinition<"@DuplojsUtilsDataParser/lazy", unknown>>;
13
- type _DataParserLazy<GenericDefinition extends DataParserDefinitionLazy> = (DataParser<GenericDefinition, Output<ReturnType<GenericDefinition["getter"]>>, Input<ReturnType<GenericDefinition["getter"]>>> & Kind<typeof lazyKind.definition>);
13
+ type _DataParserLazy<GenericDefinition extends DataParserDefinitionLazy> = (DataParser<GenericDefinition, Output<GenericDefinition["getter"]["value"]>, Input<GenericDefinition["getter"]["value"]>> & Kind<typeof lazyKind.definition>);
14
14
  export interface DataParserLazy<GenericDefinition extends DataParserDefinitionLazy = DataParserDefinitionLazy> extends _DataParserLazy<GenericDefinition> {
15
15
  addChecker<GenericChecker extends readonly [
16
16
  DataParserLazyCheckers<Output<this>>,
@@ -21,6 +21,6 @@ export interface DataParserLazy<GenericDefinition extends DataParserDefinitionLa
21
21
  ], GenericChecker>): DataParserLazy<AddCheckersToDefinition<GenericDefinition, GenericChecker>>;
22
22
  }
23
23
  export declare function lazy<GenericDataParser extends DataParser, const GenericDefinition extends Partial<DataParserDefinitionLazy> = never>(getter: () => GenericDataParser, definition?: GenericDefinition): DataParserLazy<MergeDefinition<DataParserDefinitionLazy, NeverCoalescing<GenericDefinition, {}> & {
24
- getter(): GenericDataParser;
24
+ getter: Memoized<GenericDataParser>;
25
25
  }>>;
26
26
  export {};
@@ -1,3 +1,6 @@
1
+ import { memo } from '../../common/memo.mjs';
2
+ import '../../common/globalStore.mjs';
3
+ import '../../common/builder.mjs';
1
4
  import { dataParserInit } from '../base.mjs';
2
5
  import { createDataParserKind } from '../kind.mjs';
3
6
 
@@ -7,11 +10,11 @@ function lazy(getter, definition) {
7
10
  definition: {
8
11
  errorMessage: definition?.errorMessage,
9
12
  checkers: definition?.checkers ?? [],
10
- getter,
13
+ getter: memo(getter),
11
14
  },
12
15
  }, {
13
- sync: (data, _error, self) => self.definition.getter().exec(data, _error),
14
- async: (data, _error, self) => self.definition.getter().asyncExec(data, _error),
16
+ sync: (data, _error, self) => self.definition.getter.value.exec(data, _error),
17
+ async: (data, _error, self) => self.definition.getter.value.asyncExec(data, _error),
15
18
  });
16
19
  }
17
20
 
@@ -13,6 +13,6 @@ export declare function boolFalsy<const GenericValue extends BoolFalsyValue = un
13
13
  type Either = EitherRight | EitherLeft;
14
14
  export declare function isBoolFalsy<GenericInput extends unknown>(input: GenericInput): input is Extract<GenericInput, EitherBoolFalsy>;
15
15
  type ToEither<GenericValue extends unknown> = GenericValue extends Either ? GenericValue : ReturnType<typeof bool<GenericValue>>;
16
- export declare function whenIsBoolFalsy<const GenericInput extends unknown, const GenericOutput extends AnyValue | EscapeVoid>(theFunction: (eitherValue: Unwrap<Extract<ToEither<GenericInput>, EitherBoolFalsy>>) => GenericOutput): (input: GenericInput) => GenericOutput | Exclude<ToEither<BreakGenericLink<GenericInput>>, EitherBoolFalsy>;
17
- export declare function whenIsBoolFalsy<const GenericInput extends unknown, const GenericOutput extends AnyValue | EscapeVoid>(input: GenericInput, theFunction: (eitherValue: Unwrap<Extract<ToEither<GenericInput>, EitherBoolFalsy>>) => GenericOutput): GenericOutput | Exclude<ToEither<GenericInput>, EitherBoolFalsy>;
16
+ export declare function whenIsBoolFalsy<const GenericInput extends unknown, const GenericOutput extends AnyValue | EscapeVoid>(theFunction: (eitherValue: Unwrap<Extract<ToEither<BreakGenericLink<GenericInput>>, EitherBoolFalsy>>) => GenericOutput): (input: GenericInput) => GenericOutput | Exclude<ToEither<BreakGenericLink<GenericInput>>, EitherBoolFalsy>;
17
+ export declare function whenIsBoolFalsy<const GenericInput extends unknown, const GenericOutput extends AnyValue | EscapeVoid>(input: GenericInput, theFunction: (eitherValue: Unwrap<Extract<ToEither<BreakGenericLink<GenericInput>>, EitherBoolFalsy>>) => GenericOutput): GenericOutput | Exclude<ToEither<GenericInput>, EitherBoolFalsy>;
18
18
  export {};
@@ -12,6 +12,6 @@ export declare function boolTruthy<const GenericValue extends unknown>(value: Ge
12
12
  type Either = EitherRight | EitherLeft;
13
13
  export declare function isBoolTruthy<GenericInput extends unknown>(input: GenericInput): input is Extract<GenericInput, EitherBoolTruthy>;
14
14
  type ToEither<GenericValue extends unknown> = GenericValue extends Either ? GenericValue : ReturnType<typeof bool<GenericValue>>;
15
- export declare function whenIsBoolTruthy<const GenericInput extends unknown, const GenericOutput extends AnyValue | EscapeVoid>(theFunction: (eitherValue: Unwrap<Extract<ToEither<GenericInput>, EitherBoolTruthy>>) => GenericOutput): (input: GenericInput) => GenericOutput | Exclude<ToEither<BreakGenericLink<GenericInput>>, EitherBoolTruthy>;
16
- export declare function whenIsBoolTruthy<const GenericInput extends unknown, const GenericOutput extends AnyValue | EscapeVoid>(input: GenericInput, theFunction: (eitherValue: Unwrap<Extract<ToEither<GenericInput>, EitherBoolTruthy>>) => GenericOutput): GenericOutput | Exclude<ToEither<GenericInput>, EitherBoolTruthy>;
15
+ export declare function whenIsBoolTruthy<const GenericInput extends unknown, const GenericOutput extends AnyValue | EscapeVoid>(theFunction: (eitherValue: Unwrap<Extract<ToEither<BreakGenericLink<GenericInput>>, EitherBoolTruthy>>) => GenericOutput): (input: GenericInput) => GenericOutput | Exclude<ToEither<BreakGenericLink<GenericInput>>, EitherBoolTruthy>;
16
+ export declare function whenIsBoolTruthy<const GenericInput extends unknown, const GenericOutput extends AnyValue | EscapeVoid>(input: GenericInput, theFunction: (eitherValue: Unwrap<Extract<ToEither<BreakGenericLink<GenericInput>>, EitherBoolTruthy>>) => GenericOutput): GenericOutput | Exclude<ToEither<GenericInput>, EitherBoolTruthy>;
17
17
  export {};
@@ -2,7 +2,12 @@
2
2
 
3
3
  var kind = require('./kind.cjs');
4
4
 
5
- function hasInformation(input, information) {
5
+ function hasInformation(...args) {
6
+ if (args.length === 1) {
7
+ const [information] = args;
8
+ return (input) => hasInformation(input, information);
9
+ }
10
+ const [input, information] = args;
6
11
  return kind.eitherInformationKind.has(input)
7
12
  && kind.eitherInformationKind.getValue(input) === information;
8
13
  }
@@ -3,5 +3,6 @@ import { type EitherLeft } from "./left";
3
3
  import { type EitherRight } from "./right";
4
4
  import { eitherInformationKind } from "./kind";
5
5
  type Either = EitherRight | EitherLeft;
6
+ export declare function hasInformation<const GenericInput extends unknown, GenericInformation extends (GenericInput extends Either ? ReturnType<typeof eitherInformationKind.getValue<GenericInput>> : never)>(information: GenericInformation): (input: GenericInput) => input is Extract<GenericInput, Kind<typeof eitherInformationKind.definition, GenericInformation>>;
6
7
  export declare function hasInformation<const GenericInput extends unknown, GenericInformation extends (GenericInput extends Either ? ReturnType<typeof eitherInformationKind.getValue<GenericInput>> : never)>(input: GenericInput, information: GenericInformation): input is Extract<GenericInput, Kind<typeof eitherInformationKind.definition, GenericInformation>>;
7
8
  export {};
@@ -1,6 +1,11 @@
1
1
  import { eitherInformationKind } from './kind.mjs';
2
2
 
3
- function hasInformation(input, information) {
3
+ function hasInformation(...args) {
4
+ if (args.length === 1) {
5
+ const [information] = args;
6
+ return (input) => hasInformation(input, information);
7
+ }
8
+ const [input, information] = args;
4
9
  return eitherInformationKind.has(input)
5
10
  && eitherInformationKind.getValue(input) === information;
6
11
  }
@@ -1,4 +1,4 @@
1
1
  import { type EscapeVoid, type AnyValue, type Unwrap, type BreakGenericLink } from "../../common";
2
2
  import { type EitherLeft } from "./create";
3
- export declare function whenIsLeft<const GenericInput extends unknown, const GenericOutput extends AnyValue | EscapeVoid>(theFunction: (eitherValue: Unwrap<Extract<GenericInput, EitherLeft>>) => GenericOutput): (input: GenericInput) => Exclude<BreakGenericLink<GenericInput>, EitherLeft> | GenericOutput;
4
- export declare function whenIsLeft<const GenericInput extends unknown, const GenericOutput extends AnyValue | EscapeVoid>(input: GenericInput, theFunction: (eitherValue: Unwrap<Extract<GenericInput, EitherLeft>>) => GenericOutput): Exclude<GenericInput, EitherLeft> | GenericOutput;
3
+ export declare function whenIsLeft<const GenericInput extends unknown, const GenericOutput extends AnyValue | EscapeVoid>(theFunction: (eitherValue: Unwrap<Extract<BreakGenericLink<GenericInput>, EitherLeft>>) => GenericOutput): (input: GenericInput) => Exclude<BreakGenericLink<GenericInput>, EitherLeft> | GenericOutput;
4
+ export declare function whenIsLeft<const GenericInput extends unknown, const GenericOutput extends AnyValue | EscapeVoid>(input: GenericInput, theFunction: (eitherValue: Unwrap<Extract<BreakGenericLink<GenericInput>, EitherLeft>>) => GenericOutput): Exclude<GenericInput, EitherLeft> | GenericOutput;
@@ -12,6 +12,6 @@ type Either = EitherRight | EitherLeft;
12
12
  export declare function nullableEmpty(): EitherNullableEmpty;
13
13
  export declare function isNullableEmpty<GenericInput extends unknown>(input: GenericInput): input is Extract<GenericInput, EitherNullableEmpty>;
14
14
  type ToEither<GenericValue extends unknown> = GenericValue extends Either ? GenericValue : ReturnType<typeof nullable<GenericValue>>;
15
- export declare function whenIsNullableEmpty<const GenericInput extends unknown, const GenericOutput extends AnyValue | EscapeVoid>(theFunction: (eitherValue: Unwrap<Extract<ToEither<GenericInput>, EitherNullableEmpty>>) => GenericOutput): (input: GenericInput) => GenericOutput | Exclude<ToEither<GenericInput>, EitherNullableEmpty>;
16
- export declare function whenIsNullableEmpty<const GenericInput extends unknown, const GenericOutput extends AnyValue | EscapeVoid>(input: GenericInput, theFunction: (eitherValue: Unwrap<Extract<ToEither<GenericInput>, EitherNullableEmpty>>) => GenericOutput): GenericOutput | Exclude<ToEither<BreakGenericLink<GenericInput>>, EitherNullableEmpty>;
15
+ export declare function whenIsNullableEmpty<const GenericInput extends unknown, const GenericOutput extends AnyValue | EscapeVoid>(theFunction: (eitherValue: Unwrap<Extract<ToEither<BreakGenericLink<GenericInput>>, EitherNullableEmpty>>) => GenericOutput): (input: GenericInput) => GenericOutput | Exclude<ToEither<GenericInput>, EitherNullableEmpty>;
16
+ export declare function whenIsNullableEmpty<const GenericInput extends unknown, const GenericOutput extends AnyValue | EscapeVoid>(input: GenericInput, theFunction: (eitherValue: Unwrap<Extract<ToEither<BreakGenericLink<GenericInput>>, EitherNullableEmpty>>) => GenericOutput): GenericOutput | Exclude<ToEither<BreakGenericLink<GenericInput>>, EitherNullableEmpty>;
17
17
  export {};
@@ -12,6 +12,6 @@ type Either = EitherRight | EitherLeft;
12
12
  export declare function nullableFilled<const GenericValue extends unknown>(value: GenericValue): EitherNullableFilled<GenericValue>;
13
13
  export declare function isNullableFilled<GenericInput extends unknown>(input: GenericInput): input is Extract<GenericInput, EitherNullableFilled>;
14
14
  type ToEither<GenericValue extends unknown> = GenericValue extends Either ? GenericValue : ReturnType<typeof nullable<GenericValue>>;
15
- export declare function whenIsNullableFilled<const GenericInput extends unknown, const GenericOutput extends AnyValue | EscapeVoid>(theFunction: (eitherValue: Unwrap<Extract<ToEither<GenericInput>, EitherNullableFilled>>) => GenericOutput): (input: GenericInput) => GenericOutput | Exclude<ToEither<BreakGenericLink<GenericInput>>, EitherNullableFilled>;
16
- export declare function whenIsNullableFilled<const GenericInput extends unknown, const GenericOutput extends AnyValue | EscapeVoid>(input: GenericInput, theFunction: (eitherValue: Unwrap<Extract<ToEither<GenericInput>, EitherNullableFilled>>) => GenericOutput): GenericOutput | Exclude<ToEither<GenericInput>, EitherNullableFilled>;
15
+ export declare function whenIsNullableFilled<const GenericInput extends unknown, const GenericOutput extends AnyValue | EscapeVoid>(theFunction: (eitherValue: Unwrap<Extract<ToEither<BreakGenericLink<GenericInput>>, EitherNullableFilled>>) => GenericOutput): (input: GenericInput) => GenericOutput | Exclude<ToEither<BreakGenericLink<GenericInput>>, EitherNullableFilled>;
16
+ export declare function whenIsNullableFilled<const GenericInput extends unknown, const GenericOutput extends AnyValue | EscapeVoid>(input: GenericInput, theFunction: (eitherValue: Unwrap<Extract<ToEither<BreakGenericLink<GenericInput>>, EitherNullableFilled>>) => GenericOutput): GenericOutput | Exclude<ToEither<GenericInput>, EitherNullableFilled>;
17
17
  export {};
@@ -13,6 +13,6 @@ export declare function nullishEmpty<const GenericValue extends NullishValue = u
13
13
  type Either = EitherRight | EitherLeft;
14
14
  export declare function isNullishEmpty<GenericInput extends unknown>(input: GenericInput): input is Extract<GenericInput, EitherNullishEmpty>;
15
15
  type ToEither<GenericValue extends unknown> = GenericValue extends Either ? GenericValue : ReturnType<typeof nullish<GenericValue>>;
16
- export declare function whenIsNullishEmpty<const GenericInput extends unknown, const GenericOutput extends AnyValue | EscapeVoid>(theFunction: (eitherValue: Unwrap<Extract<ToEither<GenericInput>, EitherNullishEmpty>>) => GenericOutput): (input: GenericInput) => GenericOutput | Exclude<ToEither<BreakGenericLink<GenericInput>>, EitherNullishEmpty>;
17
- export declare function whenIsNullishEmpty<const GenericInput extends unknown, const GenericOutput extends AnyValue | EscapeVoid>(input: GenericInput, theFunction: (eitherValue: Unwrap<Extract<ToEither<GenericInput>, EitherNullishEmpty>>) => GenericOutput): GenericOutput | Exclude<ToEither<GenericInput>, EitherNullishEmpty>;
16
+ export declare function whenIsNullishEmpty<const GenericInput extends unknown, const GenericOutput extends AnyValue | EscapeVoid>(theFunction: (eitherValue: Unwrap<Extract<ToEither<BreakGenericLink<GenericInput>>, EitherNullishEmpty>>) => GenericOutput): (input: GenericInput) => GenericOutput | Exclude<ToEither<BreakGenericLink<GenericInput>>, EitherNullishEmpty>;
17
+ export declare function whenIsNullishEmpty<const GenericInput extends unknown, const GenericOutput extends AnyValue | EscapeVoid>(input: GenericInput, theFunction: (eitherValue: Unwrap<Extract<ToEither<BreakGenericLink<GenericInput>>, EitherNullishEmpty>>) => GenericOutput): GenericOutput | Exclude<ToEither<GenericInput>, EitherNullishEmpty>;
18
18
  export {};
@@ -12,6 +12,6 @@ export declare function nullishFilled<const GenericValue extends unknown>(value:
12
12
  type Either = EitherRight | EitherLeft;
13
13
  export declare function isNullishFilled<GenericInput extends unknown>(input: GenericInput): input is Extract<GenericInput, EitherNullishFilled>;
14
14
  type ToEither<GenericValue extends unknown> = GenericValue extends Either ? GenericValue : ReturnType<typeof nullish<GenericValue>>;
15
- export declare function whenIsNullishFilled<const GenericInput extends unknown, const GenericOutput extends AnyValue | EscapeVoid>(theFunction: (eitherValue: Unwrap<Extract<ToEither<GenericInput>, EitherNullishFilled>>) => GenericOutput): (input: GenericInput) => GenericOutput | Exclude<ToEither<BreakGenericLink<GenericInput>>, EitherNullishFilled>;
16
- export declare function whenIsNullishFilled<const GenericInput extends unknown, const GenericOutput extends AnyValue | EscapeVoid>(input: GenericInput, theFunction: (eitherValue: Unwrap<Extract<ToEither<GenericInput>, EitherNullishFilled>>) => GenericOutput): GenericOutput | Exclude<ToEither<GenericInput>, EitherNullishFilled>;
15
+ export declare function whenIsNullishFilled<const GenericInput extends unknown, const GenericOutput extends AnyValue | EscapeVoid>(theFunction: (eitherValue: Unwrap<Extract<ToEither<BreakGenericLink<GenericInput>>, EitherNullishFilled>>) => GenericOutput): (input: GenericInput) => GenericOutput | Exclude<ToEither<BreakGenericLink<GenericInput>>, EitherNullishFilled>;
16
+ export declare function whenIsNullishFilled<const GenericInput extends unknown, const GenericOutput extends AnyValue | EscapeVoid>(input: GenericInput, theFunction: (eitherValue: Unwrap<Extract<ToEither<BreakGenericLink<GenericInput>>, EitherNullishFilled>>) => GenericOutput): GenericOutput | Exclude<ToEither<GenericInput>, EitherNullishFilled>;
17
17
  export {};
@@ -12,6 +12,6 @@ type Either = EitherRight | EitherLeft;
12
12
  export declare function optionalEmpty(): EitherOptionalEmpty;
13
13
  export declare function isOptionalEmpty<GenericInput extends unknown>(input: GenericInput): input is Extract<GenericInput, EitherOptionalEmpty>;
14
14
  type ToOptionalEither<GenericValue extends unknown> = GenericValue extends Either ? GenericValue : ReturnType<typeof optional<GenericValue>>;
15
- export declare function whenIsOptionalEmpty<const GenericInput extends unknown, const GenericOutput extends AnyValue | EscapeVoid>(theFunction: (eitherValue: Unwrap<Extract<ToOptionalEither<GenericInput>, EitherOptionalEmpty>>) => GenericOutput): (input: GenericInput) => GenericOutput | Exclude<ToOptionalEither<BreakGenericLink<GenericInput>>, EitherOptionalEmpty>;
16
- export declare function whenIsOptionalEmpty<const GenericInput extends unknown, const GenericOutput extends AnyValue | EscapeVoid>(input: GenericInput, theFunction: (eitherValue: Unwrap<Extract<ToOptionalEither<GenericInput>, EitherOptionalEmpty>>) => GenericOutput): GenericOutput | Exclude<ToOptionalEither<GenericInput>, EitherOptionalEmpty>;
15
+ export declare function whenIsOptionalEmpty<const GenericInput extends unknown, const GenericOutput extends AnyValue | EscapeVoid>(theFunction: (eitherValue: Unwrap<Extract<ToOptionalEither<BreakGenericLink<GenericInput>>, EitherOptionalEmpty>>) => GenericOutput): (input: GenericInput) => GenericOutput | Exclude<ToOptionalEither<BreakGenericLink<GenericInput>>, EitherOptionalEmpty>;
16
+ export declare function whenIsOptionalEmpty<const GenericInput extends unknown, const GenericOutput extends AnyValue | EscapeVoid>(input: GenericInput, theFunction: (eitherValue: Unwrap<Extract<ToOptionalEither<BreakGenericLink<GenericInput>>, EitherOptionalEmpty>>) => GenericOutput): GenericOutput | Exclude<ToOptionalEither<GenericInput>, EitherOptionalEmpty>;
17
17
  export {};
@@ -12,6 +12,6 @@ type Either = EitherRight | EitherLeft;
12
12
  export declare function optionalFilled<const GenericValue extends unknown>(value: GenericValue): EitherOptionalFilled<GenericValue>;
13
13
  export declare function isOptionalFilled<GenericInput extends unknown>(input: GenericInput): input is Extract<GenericInput, EitherOptionalFilled>;
14
14
  type ToOptionalEither<GenericValue extends unknown> = GenericValue extends Either ? GenericValue : ReturnType<typeof optional<GenericValue>>;
15
- export declare function whenIsOptionalFilled<const GenericInput extends unknown, const GenericOutput extends AnyValue | EscapeVoid>(theFunction: (eitherValue: Unwrap<Extract<ToOptionalEither<GenericInput>, EitherOptionalFilled>>) => GenericOutput): (input: GenericInput) => GenericOutput | Exclude<ToOptionalEither<BreakGenericLink<GenericInput>>, EitherOptionalFilled>;
16
- export declare function whenIsOptionalFilled<const GenericInput extends unknown, const GenericOutput extends AnyValue | EscapeVoid>(input: GenericInput, theFunction: (eitherValue: Unwrap<Extract<ToOptionalEither<GenericInput>, EitherOptionalFilled>>) => GenericOutput): GenericOutput | Exclude<ToOptionalEither<GenericInput>, EitherOptionalFilled>;
15
+ export declare function whenIsOptionalFilled<const GenericInput extends unknown, const GenericOutput extends AnyValue | EscapeVoid>(theFunction: (eitherValue: Unwrap<Extract<ToOptionalEither<BreakGenericLink<GenericInput>>, EitherOptionalFilled>>) => GenericOutput): (input: GenericInput) => GenericOutput | Exclude<ToOptionalEither<BreakGenericLink<GenericInput>>, EitherOptionalFilled>;
16
+ export declare function whenIsOptionalFilled<const GenericInput extends unknown, const GenericOutput extends AnyValue | EscapeVoid>(input: GenericInput, theFunction: (eitherValue: Unwrap<Extract<ToOptionalEither<BreakGenericLink<GenericInput>>, EitherOptionalFilled>>) => GenericOutput): GenericOutput | Exclude<ToOptionalEither<GenericInput>, EitherOptionalFilled>;
17
17
  export {};
@@ -1,4 +1,4 @@
1
1
  import { type EscapeVoid, type AnyValue, type Unwrap, type BreakGenericLink } from "../../common";
2
2
  import { type EitherRight } from "./create";
3
- export declare function whenIsRight<const GenericInput extends unknown, const GenericOutput extends AnyValue | EscapeVoid>(theFunction: (eitherValue: Unwrap<Extract<GenericInput, EitherRight>>) => GenericOutput): (input: GenericInput) => Exclude<BreakGenericLink<GenericInput>, EitherRight> | GenericOutput;
4
- export declare function whenIsRight<const GenericInput extends unknown, const GenericOutput extends AnyValue | EscapeVoid>(input: GenericInput, theFunction: (eitherValue: Unwrap<Extract<GenericInput, EitherRight>>) => GenericOutput): Exclude<GenericInput, EitherRight> | GenericOutput;
3
+ export declare function whenIsRight<const GenericInput extends unknown, const GenericOutput extends AnyValue | EscapeVoid>(theFunction: (eitherValue: Unwrap<Extract<BreakGenericLink<GenericInput>, EitherRight>>) => GenericOutput): (input: GenericInput) => Exclude<BreakGenericLink<GenericInput>, EitherRight> | GenericOutput;
4
+ export declare function whenIsRight<const GenericInput extends unknown, const GenericOutput extends AnyValue | EscapeVoid>(input: GenericInput, theFunction: (eitherValue: Unwrap<Extract<BreakGenericLink<GenericInput>, EitherRight>>) => GenericOutput): Exclude<GenericInput, EitherRight> | GenericOutput;
@@ -3,6 +3,6 @@ import { type EitherRight } from "./right";
3
3
  import { type EitherLeft } from "./left";
4
4
  import { eitherInformationKind } from "./kind";
5
5
  type Either = EitherRight | EitherLeft;
6
- export declare function whenHasInformation<const GenericInput extends unknown, GenericInformation extends (GenericInput extends Either ? ReturnType<typeof eitherInformationKind.getValue<GenericInput>> : never), const GenericOutput extends AnyValue>(information: GenericInformation | GenericInformation[], theFunction: (value: Unwrap<Extract<GenericInput, Kind<typeof eitherInformationKind.definition, GenericInformation> & WrappedValue>>) => GenericOutput): (input: GenericInput) => GenericOutput | Exclude<BreakGenericLink<GenericInput>, Kind<typeof eitherInformationKind.definition, GenericInformation>>;
7
- export declare function whenHasInformation<const GenericInput extends unknown, GenericInformation extends (GenericInput extends Either ? ReturnType<typeof eitherInformationKind.getValue<GenericInput>> : never), const GenericOutput extends AnyValue>(input: GenericInput, information: GenericInformation | GenericInformation[], theFunction: (value: Unwrap<Extract<GenericInput, Kind<typeof eitherInformationKind.definition, GenericInformation> & WrappedValue>>) => GenericOutput): GenericOutput | Exclude<GenericInput, Kind<typeof eitherInformationKind.definition, GenericInformation>>;
6
+ export declare function whenHasInformation<const GenericInput extends unknown, GenericInformation extends (GenericInput extends Either ? ReturnType<typeof eitherInformationKind.getValue<GenericInput>> : never), const GenericOutput extends AnyValue>(information: GenericInformation | GenericInformation[], theFunction: (value: Unwrap<Extract<BreakGenericLink<GenericInput>, Kind<typeof eitherInformationKind.definition, GenericInformation> & WrappedValue>>) => GenericOutput): (input: GenericInput) => GenericOutput | Exclude<BreakGenericLink<GenericInput>, Kind<typeof eitherInformationKind.definition, GenericInformation>>;
7
+ export declare function whenHasInformation<const GenericInput extends unknown, GenericInformation extends (GenericInput extends Either ? ReturnType<typeof eitherInformationKind.getValue<GenericInput>> : never), const GenericOutput extends AnyValue>(input: GenericInput, information: GenericInformation | GenericInformation[], theFunction: (value: Unwrap<Extract<BreakGenericLink<GenericInput>, Kind<typeof eitherInformationKind.definition, GenericInformation> & WrappedValue>>) => GenericOutput): GenericOutput | Exclude<GenericInput, Kind<typeof eitherInformationKind.definition, GenericInformation>>;
8
8
  export {};
@@ -1,7 +1,8 @@
1
+ import { type DString } from "..";
1
2
  import { type IsEqual, type ObjectEntry, type ObjectKey } from "../common";
2
3
  import { type SimplifyTopLevel } from "../common/types/simplifyTopLevel";
3
4
  export type GetEntry<GenericKey extends ObjectKey, GenericValue extends unknown> = GenericValue extends any ? GenericKey extends string | number ? [`${GenericKey}`, GenericValue] : never : never;
4
- export type GetEntries<GenericObject extends object> = ({
5
+ export type GetEntries<GenericObject extends object> = GenericObject extends readonly any[] ? [DString.Number, GenericObject[number]][] : ({
5
6
  [Prop in keyof GenericObject]-?: GetEntry<Prop, GenericObject[Prop]>;
6
7
  }[keyof GenericObject]) extends infer InferredResult extends ObjectEntry ? IsEqual<InferredResult, never> extends true ? [] : InferredResult[] : never;
7
8
  export declare function entries<GenericObject extends object>(object: GenericObject): SimplifyTopLevel<GetEntries<GenericObject>>;
@@ -1,7 +1,14 @@
1
1
  'use strict';
2
2
 
3
+ var kind = require('../common/kind.cjs');
4
+ var wrapValue = require('../common/wrapValue.cjs');
5
+ require('../common/globalStore.cjs');
6
+ require('../common/builder.cjs');
7
+
3
8
  function values(object) {
4
- return Object.values(object);
9
+ return Object.entries(object)
10
+ .filter(([key]) => !wrapValue.isRuntimeWrappedValueKey(key) && !kind.isRuntimeKind(key))
11
+ .map(([, value]) => value);
5
12
  }
6
13
 
7
14
  exports.values = values;
@@ -1,4 +1,2 @@
1
1
  import { type AnyValue } from "../common/types/anyValue";
2
- export declare function values<GenericValue extends AnyValue>(object: {
3
- [key: string]: GenericValue;
4
- } | ArrayLike<GenericValue>): GenericValue[];
2
+ export declare function values<GenericValue extends AnyValue>(object: Record<string, GenericValue>): GenericValue[];
@@ -1,5 +1,12 @@
1
+ import { isRuntimeKind } from '../common/kind.mjs';
2
+ import { isRuntimeWrappedValueKey } from '../common/wrapValue.mjs';
3
+ import '../common/globalStore.mjs';
4
+ import '../common/builder.mjs';
5
+
1
6
  function values(object) {
2
- return Object.values(object);
7
+ return Object.entries(object)
8
+ .filter(([key]) => !isRuntimeWrappedValueKey(key) && !isRuntimeKind(key))
9
+ .map(([, value]) => value);
3
10
  }
4
11
 
5
12
  export { values };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@duplojs/utils",
3
- "version": "1.1.14",
3
+ "version": "1.1.16",
4
4
  "author": "mathcovax",
5
5
  "license": "MIT",
6
6
  "type": "module",