@duplojs/utils 1.5.10 → 1.5.11

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.
@@ -1,6 +1,5 @@
1
1
  import type { IsEqual } from "../../common";
2
- import type { AtTuple } from "../types";
3
- export type AtArray<GenericArray extends readonly unknown[], GenericIndex extends number> = IsEqual<GenericArray["length"], number> extends true ? GenericArray[number] | undefined : AtTuple<GenericArray, GenericIndex>;
2
+ export type AtArray<GenericArray extends readonly unknown[], GenericIndex extends number> = IsEqual<GenericArray["length"], number> extends true ? GenericArray[number] | undefined : GenericIndex extends keyof GenericArray ? GenericArray[GenericIndex] : GenericArray[number] | undefined;
4
3
  /**
5
4
  * Accesses an element at a given index, supporting negative indices.
6
5
  *
@@ -1,3 +1,4 @@
1
+ import { type AnyTuple } from "../../common";
1
2
  /**
2
3
  * Gets the last element of an array.
3
4
  *
@@ -23,4 +24,4 @@
23
24
  * @namespace A
24
25
  *
25
26
  */
26
- export declare function last<GenericArray extends readonly unknown[]>(array: GenericArray): GenericArray extends readonly [...any[], infer InferredValue] ? InferredValue : GenericArray[number] | undefined;
27
+ export declare function last<GenericArray extends readonly unknown[]>(array: GenericArray): GenericArray extends readonly [...any[], infer InferredValue] ? InferredValue : GenericArray extends AnyTuple ? GenericArray[number] : GenericArray[number] | undefined;
@@ -1,5 +1,3 @@
1
- import { type AnyTuple } from "../common";
2
- import { type PopTuple } from "./types";
3
1
  /**
4
2
  * Removes the last element from an array.
5
3
  *
@@ -31,4 +29,4 @@ import { type PopTuple } from "./types";
31
29
  * @namespace A
32
30
  *
33
31
  */
34
- export declare function pop<const GenericArray extends readonly unknown[]>(array: GenericArray): GenericArray extends AnyTuple ? PopTuple<GenericArray> : GenericArray;
32
+ export declare function pop<const GenericArray extends readonly unknown[]>(array: GenericArray): GenericArray extends readonly [...infer InferredRest, any] ? InferredRest : GenericArray;
@@ -1,4 +1,4 @@
1
- import { type SimplifyTopLevel, type Kind, type RemoveKind } from "../../common";
1
+ import { type SimplifyTopLevel, type Kind, type RemoveKind, type GetKindValue } from "../../common";
2
2
  import * as DEither from "../../either";
3
3
  import * as DDataParser from "../../dataParser";
4
4
  import * as DObject from "../../object";
@@ -102,7 +102,7 @@ export interface EntityHandler<GenericName extends string = string, GenericPrope
102
102
  * ```
103
103
  *
104
104
  */
105
- update<const GenericEntity extends Entity<GenericName>, const GenericProperties extends Partial<EntityProperties<GenericPropertiesDefinition>>>(entity: GenericEntity, properties: GenericProperties): Entity<GenericName> & DObject.AssignObjects<RemoveKind<GenericEntity>, GenericProperties>;
105
+ update<const GenericEntity extends Entity<GenericName>, const GenericProperties extends Partial<EntityProperties<GenericPropertiesDefinition>>>(entity: GenericEntity, properties: GenericProperties): EntityUpdate<GenericEntity, GenericProperties>;
106
106
  }
107
107
  declare const CreateEntityError_base: new (params: {
108
108
  "@DuplojsUtilsError/create-entity-error"?: unknown;
@@ -220,3 +220,6 @@ export declare namespace createEntity {
220
220
  var overrideHandler: import("../../common").OverrideHandler<EntityHandler<string, Readonly<Record<string, EntityPropertyDefinition>>>>;
221
221
  }
222
222
  export type GetEntity<GenericEntityHandler extends EntityHandler<string, any>> = Extract<ReturnType<GenericEntityHandler["new"]>, any>;
223
+ export type EntityUpdate<GenericEntity extends Entity, GenericNewProperties extends Partial<RemoveKind<Entity>>> = Extract<(Entity<GetKindValue<typeof entityKind, GenericEntity>> & SimplifyTopLevel<RemoveKind<GenericEntity> extends infer InferredProperties ? {
224
+ [Prop in keyof InferredProperties]: Prop extends keyof GenericNewProperties ? GenericNewProperties[Prop] extends infer InferredNewValue ? InferredNewValue extends undefined ? InferredProperties[Prop] : InferredNewValue : never : InferredProperties[Prop];
225
+ } : never>), any>;
@@ -156,5 +156,5 @@ export declare function createNewType<GenericName extends string, GenericDataPar
156
156
  export declare namespace createNewType {
157
157
  var overrideHandler: import("..").OverrideHandler<NewTypeHandler<string, unknown, readonly ConstraintHandler<string, EligiblePrimitive, readonly DDataParser.DataParserChecker<DDataParser.DataParserCheckerDefinition, unknown>[], unknown>[], unknown>>;
158
158
  }
159
- export type GetNewType<GenericHandler extends NewTypeHandler<string, unknown, readonly any[]>> = Extract<GenericHandler extends any ? NewType<GenericHandler["name"], DDataParser.Output<GenericHandler["dataParser"]>, GenericHandler["constraints"][number]["name"]> : never, any>;
159
+ export type GetNewType<GenericHandler extends NewTypeHandler<string, unknown, readonly any[]>, GenericValue extends DDataParser.Output<GenericHandler["dataParser"]> = DDataParser.Output<GenericHandler["dataParser"]>> = Extract<GenericHandler extends any ? NewType<GenericHandler["name"], GenericValue, GenericHandler["constraints"][number]["name"]> : never, any>;
160
160
  export {};
@@ -1,7 +1,6 @@
1
- import { type GetPropsWithValueExtends } from "../../object";
2
1
  import { type DataParserChecker } from "../base";
3
2
  import type * as AllDataParser from "../parsers";
4
3
  export interface CheckerCustom {
5
4
  base: DataParserChecker;
6
5
  }
7
- export type DataParserCheckers = (CheckerCustom[GetPropsWithValueExtends<CheckerCustom, DataParserChecker>] | AllDataParser.DataParserCheckerUrl | AllDataParser.DataParserCheckerArrayMax | AllDataParser.DataParserCheckerArrayMin | AllDataParser.DataParserCheckerBigIntMax | AllDataParser.DataParserCheckerBigIntMin | AllDataParser.DataParserCheckerNumberMax | AllDataParser.DataParserCheckerNumberMin | AllDataParser.DataParserCheckerInt | AllDataParser.DataParserCheckerEmail | AllDataParser.DataParserCheckerRefine | AllDataParser.DataParserCheckerTimeMin | AllDataParser.DataParserCheckerTimeMax);
6
+ export type DataParserCheckers = (CheckerCustom[keyof CheckerCustom] | AllDataParser.DataParserCheckerUrl | AllDataParser.DataParserCheckerArrayMax | AllDataParser.DataParserCheckerArrayMin | AllDataParser.DataParserCheckerBigIntMax | AllDataParser.DataParserCheckerBigIntMin | AllDataParser.DataParserCheckerNumberMax | AllDataParser.DataParserCheckerNumberMin | AllDataParser.DataParserCheckerInt | AllDataParser.DataParserCheckerEmail | AllDataParser.DataParserCheckerRefine | AllDataParser.DataParserCheckerTimeMin | AllDataParser.DataParserCheckerTimeMax);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@duplojs/utils",
3
- "version": "1.5.10",
3
+ "version": "1.5.11",
4
4
  "author": {
5
5
  "name": "mathcovax",
6
6
  "url": "https://github.com/mathcovax"