tuple-ts 0.8.3 → 0.8.4

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.
Files changed (2) hide show
  1. package/dist/index.d.ts +3 -3
  2. package/package.json +1 -1
package/dist/index.d.ts CHANGED
@@ -1,11 +1,11 @@
1
1
  import InternCache from "./intern-cache.js";
2
2
  type BaseTuple = readonly unknown[];
3
3
  type BaseLabels = readonly string[];
4
- type NumericKeyOf<T> = keyof T & `${number}`;
4
+ type NumericKeyOf<T> = keyof T & (number | `${number}`);
5
5
  type ToNumber<K> = K extends `${infer N extends number}` ? N : never;
6
6
  export type TupleFactory<T extends BaseTuple = BaseTuple> = {
7
7
  <const T_ extends T>(...args: T_): T_;
8
- typed<T_ extends T>(...exemplar: T_ | []): TupleFactory<T_>;
8
+ typed<T_ extends T>(...exemplar: T_ | []): TupleFactory<Readonly<T_>>;
9
9
  };
10
10
  type ObjectOf<T extends BaseTuple, L extends BaseLabels> = {
11
11
  [I in NumericKeyOf<L> as L[I]]: T[ToNumber<I>];
@@ -16,7 +16,7 @@ type TupleFromObject<T extends BaseTuple, L extends BaseLabels, O extends Object
16
16
  export type StructFactory<T extends BaseTuple, L extends BaseLabels> = {
17
17
  <const T_ extends T>(...args: T_): Readonly<T_ & ObjectOf<T_, L>>;
18
18
  from<const O extends ObjectOf<T, L>, const T_ extends TupleFromObject<T, L, O>>(arg: O): Readonly<ObjectOf<T_, L> & T_>;
19
- typed<T_ extends T>(...exemplar: T_ | []): StructFactory<T_, L>;
19
+ typed<T_ extends T>(...exemplar: T_ | []): StructFactory<Readonly<T_>, L>;
20
20
  typedFrom<O extends ObjectOf<T, L>>(...args: [exemplar: O] | []): StructFactory<{
21
21
  [I in keyof L]: O[L[I]];
22
22
  }, L>;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "type": "module",
3
3
  "name": "tuple-ts",
4
- "version": "0.8.3",
4
+ "version": "0.8.4",
5
5
  "description": "Tuples and structs for TypeScript and JavaScript with equality and identity semantics.",
6
6
  "keywords": [
7
7
  "tuple",