inferred-types 0.55.7 → 0.55.8

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.
@@ -10838,13 +10838,13 @@ type TypeToken__Number = `::${number}`;
10838
10838
  type TypeToken__NumberSet = "bigInt" | `bigInt::${bigint}` | "digit" | `digit::${2 | 3 | 4}` | "integer";
10839
10839
  type params = string;
10840
10840
  type rtn = string;
10841
- type D = TypeTokenDelimiter;
10842
- type TypeToken__Fn = `[${params}]` | `[${params}]${D}${rtn}` | `any::${rtn}`;
10843
- type TypeToken__Gen = `[${params}]` | `[${params}]${D}${rtn}` | `gen${D}any${D}${rtn}`;
10844
- type TypeToken__FnSet = `withoutParams` | `withoutParams${D}${rtn}` | `booleanLogic` | `booleanLogic${D}[${params}]`;
10841
+ type D$1 = TypeTokenDelimiter;
10842
+ type TypeToken__Fn = `[${params}]` | `[${params}]${D$1}${rtn}` | `any::${rtn}`;
10843
+ type TypeToken__Gen = `[${params}]` | `[${params}]${D$1}${rtn}` | `gen${D$1}any${D$1}${rtn}`;
10844
+ type TypeToken__FnSet = `withoutParams` | `withoutParams${D$1}${rtn}` | `booleanLogic` | `booleanLogic${D$1}[${params}]`;
10845
10845
  type RecVariant = typeof TYPE_TOKEN_REC_VARIANTS[number];
10846
10846
  type RecKeyVariant = typeof TYPE_TOKEN_REC_KEY_VARIANTS[number];
10847
- type TypeToken__Rec = `${RecVariant}${D}${RecKeyVariant}` | `${D}kv${D}${string}` | `${D}kv${D}${string}${D}${"withUnknownIndex" | "withAnyIndex"}`;
10847
+ type TypeToken__Rec = `${RecVariant}${D$1}${RecKeyVariant}` | `${D$1}kv${D$1}${string}` | `${D$1}kv${D$1}${string}${D$1}${"withUnknownIndex" | "withAnyIndex"}`;
10848
10848
  type TypeToken__Undefined = "";
10849
10849
  type TypeToken__Null = "";
10850
10850
  type TypeToken__Boolean = "";
@@ -13738,7 +13738,10 @@ type Mapper<TFrom extends AnyObject, TTo> = (<TInput extends TFrom>(from: TInput
13738
13738
  declare function createObjectMap<TFrom extends AnyObject, TTo extends AnyObject>(): <TMap extends ObjectMap<TFrom, TTo>>(map: TMap) => ObjectMapConversion<TFrom, TTo, TMap>;
13739
13739
  declare function createMapper<TFrom extends AnyObject, TTo extends AnyObject>(): <TFn extends <TInput extends TFrom>(cb: TInput) => { [K in keyof TInput]: TTo; }>(fn: TFn) => Mapper<TFrom, TTo>;
13740
13740
 
13741
- declare function mergeObjects<D extends Narrowable, O extends Narrowable, TDefault extends NarrowObject<D>, TOverride extends NarrowObject<O>>(defVal: TDefault, override: TOverride): MergeObjects<TDefault, TOverride>;
13741
+ /**
13742
+ * merge two objects while preserving narrow types
13743
+ */
13744
+ declare function mergeObjects<TDefault extends NarrowObject<D>, TOverride extends NarrowObject<O>, D extends Narrowable, O extends Narrowable>(defVal: TDefault, override: TOverride): MergeObjects<TDefault, TOverride>;
13742
13745
 
13743
13746
  /**
13744
13747
  * **mergeScalars**(a,b)
@@ -5521,18 +5521,10 @@ function createMapper() {
5521
5521
 
5522
5522
  // src/type-conversion/mergeObjects.ts
5523
5523
  function mergeObjects(defVal, override) {
5524
- const intersectingKeys = sharedKeys(defVal, override);
5525
- const defUnique = withoutKeys(defVal, ...intersectingKeys);
5526
- const overrideUnique = withoutKeys(defVal, ...intersectingKeys);
5527
- const merged = {
5528
- ...intersectingKeys.reduce(
5529
- (acc, key) => typeof override[key] === "undefined" ? { ...acc, [key]: defVal[key] } : { ...acc, [key]: override[key] },
5530
- {}
5531
- ),
5532
- ...defUnique,
5533
- ...overrideUnique
5524
+ return {
5525
+ ...defVal,
5526
+ ...override
5534
5527
  };
5535
- return merged;
5536
5528
  }
5537
5529
 
5538
5530
  // src/type-conversion/mergeScalars.ts