New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

just-types

Package Overview
Dependencies
Maintainers
1
Versions
16
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

just-types - npm Package Compare versions

Comparing version 1.1.0 to 1.2.0

214

dist/index.d.ts

@@ -1,5 +0,211 @@

export type Flatten<List extends any[][]> = List extends [infer First, ...infer Rest] ? [
...First,
...Flatten<Rest>
] : [];
type StartsWith<Text extends string, Prefix extends string> = Text extends `${Prefix}${infer _}` ? true : false;
type IndexMinusOne = [
-1,
0,
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23,
24,
25,
26,
27,
28,
29,
30,
31,
32,
33,
34,
35,
36,
37,
38,
39,
40,
41,
42,
43,
44,
45,
46,
47,
48,
49,
50,
51,
52,
53,
54,
55,
56,
57,
58,
59,
60,
61,
62,
63,
64,
65,
66,
67,
68,
69,
70,
71,
72,
73,
74,
75,
76,
77,
78,
79,
80,
81,
82,
83,
84,
85,
86,
87,
88,
89,
90,
91,
92,
93,
94,
95,
96,
97,
98,
99
];
export type Decrement<N extends number> = StartsWith<`${N}`, '-'> extends true ? number : IndexMinusOne[N] extends number ? IndexMinusOne[N] : number;
export type Flatten<List, Depth extends number = 1> = Depth extends 0 ? List : List extends [] ? [] : List extends [infer First, ...infer Rest] ? First extends any[] ? [...Flatten<First, Decrement<Depth>>, ...Flatten<Rest, Depth>] : [First, ...Flatten<Rest, Depth>] : List;
type IndexPlusOne = [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23,
24,
25,
26,
27,
28,
29,
30,
31,
32,
33,
34,
35,
36,
37,
38,
39,
40,
41,
42,
43,
44,
45,
46,
47,
48,
49,
50,
51,
52,
53,
54,
55,
56,
57,
58,
59,
60,
61,
62,
63,
64,
65,
66,
67,
68,
69,
70,
71,
72,
73,
74,
75,
76,
77,
78,
79,
80,
81,
82,
83,
84,
85,
86,
87,
88,
89,
90,
91,
92,
93,
94,
95,
96,
97,
98,
99,
100,
101
];
export type Increment<N extends number> = StartsWith<`${N}`, '-'> extends true ? number : IndexPlusOne[N] extends number ? IndexPlusOne[N] : number;
export type InsertAt<Item, Index, List extends any[], ItemsBefore extends any[] = []> = ItemsBefore['length'] extends Index ? [...ItemsBefore, Item, ...List] : List extends [infer First, ...infer Rest] ? InsertAt<Item, Index, Rest, [...ItemsBefore, First]> : [...ItemsBefore, Item];

@@ -6,0 +212,0 @@ type Literal = string | number | bigint | boolean | null | undefined;

2

package.json

@@ -6,3 +6,3 @@ {

"license": "MIT",
"version": "1.1.0",
"version": "1.2.0",
"source": "src/index.ts",

@@ -9,0 +9,0 @@ "types": "dist/index.d.ts",

@@ -13,2 +13,4 @@ # Just types

- [List of Types](#list-of-types)
- [Increment](#increment)
- [Decrement](#decrement)
- [Flatten](#flatten)

@@ -42,2 +44,22 @@ - [InsertAt](#insertat)

## Increment
```ts
Increment<0> //=> 1
Increment<1> //=> 2
Increment<100> //=> 101
Increment<101> //=> number
Increment<-1> //=> number
```
**Note:** Only handles possitive integers between 0 and 100. Returns `number` for other integers.
## Decrement
```ts
Decrement<0> //=> -1
Decrement<1> //=> 0
Decrement<100> //=> 99
Decrement<101> //=> number
Decrement<-10> //=> number
```
**Note:** Only handles possitive integers between 0 and 100. Returns `number` for other integers.
## Flatten

@@ -48,3 +70,4 @@ ```ts

Flatten<[[1], [2]]> // => [1, 2]
Flatten<[[1], [2, 3], [[4]]]> // => [1, 2, 3, [4]]
Flatten<[[1], [[2, 3]], [[4]]]> // => [1, [2, 3], [4]]
Flatten<[[1], [[2, 3]], [[4]]], 2> // => [1, 2, 3, 4]
```

@@ -51,0 +74,0 @@

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc