@layerzerolabs/typescript-utils 0.0.67 → 0.0.74

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.
@@ -2,43 +2,44 @@
2
2
  > @layerzerolabs/typescript-utils@0.0.0 build /home/runner/work/monorepo-internal/monorepo-internal/packages/typescript-utils
3
3
  > tsup
4
4
 
5
- CLI Building entry: src/advancedRecord.ts, src/branded.ts, src/constructor.ts, src/deep.test-d.ts, src/deep.ts, src/disallowedAny.ts, src/identity.ts, src/index.ts, src/lastOf.ts, src/merge.ts, src/methodOf.ts, src/removeNever.ts, src/strings.test-d.ts, src/strings.ts, src/tuples.ts, src/valueOf.ts, src/viem.ts, src/withRequired.ts
5
+ CLI Building entry: src/advancedRecord.ts, src/branded.ts, src/constructor.ts, src/deep.test-d.ts, src/deep.ts, src/disallowedAny.ts, src/identity.ts, src/index.ts, src/lastOf.ts, src/maybeUndefined.ts, src/merge.ts, src/methodOf.ts, src/removeNever.ts, src/strings.test-d.ts, src/strings.ts, src/tuples.ts, src/valueOf.ts, src/viem.ts, src/withRequired.ts
6
6
  CLI Using tsconfig: tsconfig.json
7
7
  CLI tsup v8.4.0
8
8
  CLI Using tsup config: /home/runner/work/monorepo-internal/monorepo-internal/packages/typescript-utils/tsup.config.ts
9
- CLI Target: es2022
9
+ CLI Target: ES2023
10
10
  CLI Cleaning output folder
11
11
  CJS Build start
12
12
  ESM Build start
13
13
  Entry module "dist/AMF2EES3.cjs" is using named and default exports together. Consumers of your bundle will have to use `chunk.default` to access the default export, which may not be what you want. Use `output.exports: "named"` to disable this warning.
14
+ CJS dist/valueOf.cjs 143.00 B
14
15
  CJS dist/viem.cjs 137.00 B
15
- CJS dist/methodOf.cjs 145.00 B
16
- CJS dist/removeNever.cjs 151.00 B
16
+ CJS dist/withRequired.cjs 153.00 B
17
17
  CJS dist/lastOf.cjs 141.00 B
18
+ CJS dist/merge.cjs 139.00 B
19
+ CJS dist/maybeUndefined.cjs 157.00 B
20
+ CJS dist/removeNever.cjs 151.00 B
18
21
  CJS dist/strings.test-d.cjs 891.00 B
19
- CJS dist/strings.cjs 143.00 B
20
22
  CJS dist/tuples.cjs 141.00 B
21
- CJS dist/merge.cjs 139.00 B
22
- CJS dist/withRequired.cjs 153.00 B
23
- CJS dist/valueOf.cjs 143.00 B
24
- CJS dist/advancedRecord.cjs 157.00 B
25
23
  CJS dist/branded.cjs 143.00 B
24
+ CJS dist/advancedRecord.cjs 157.00 B
26
25
  CJS dist/constructor.cjs 151.00 B
27
26
  CJS dist/deep.test-d.cjs 572.00 B
27
+ CJS dist/strings.cjs 143.00 B
28
28
  CJS dist/deep.cjs 137.00 B
29
- CJS dist/AMF2EES3.cjs 42.03 KB
30
29
  CJS dist/disallowedAny.cjs 155.00 B
31
30
  CJS dist/identity.cjs 145.00 B
32
- CJS dist/ATSF4XM5.cjs 183.00 B
33
- CJS dist/index.cjs 583.00 B
31
+ CJS dist/index.cjs 610.00 B
32
+ CJS dist/M2FMGCRF.cjs 186.00 B
33
+ CJS dist/AMF2EES3.cjs 42.03 KB
34
34
  CJS dist/VLOINXK2.cjs 191.00 B
35
+ CJS dist/ATSF4XM5.cjs 183.00 B
36
+ CJS dist/5UH6HTHX.cjs 193.00 B
35
37
  CJS dist/Q74ZLWCL.cjs 185.00 B
36
38
  CJS dist/Y53SFKBY.cjs 184.00 B
37
39
  CJS dist/FQTDMGIM.cjs 187.00 B
40
+ CJS dist/GKC44C4P.cjs 185.00 B
38
41
  CJS dist/JRGCWPQC.cjs 190.00 B
39
42
  CJS dist/KLHW5WN3.cjs 186.00 B
40
- CJS dist/GKC44C4P.cjs 185.00 B
41
- CJS dist/M2FMGCRF.cjs 186.00 B
42
43
  CJS dist/44IBECAR.cjs 186.00 B
43
44
  CJS dist/TOWGFQYX.cjs 193.00 B
44
45
  CJS dist/BPWNPHCG.cjs 190.00 B
@@ -47,53 +48,57 @@ Entry module "dist/AMF2EES3.cjs" is using named and default exports together. Co
47
48
  CJS dist/ZLF3Y44J.cjs 187.00 B
48
49
  CJS dist/U7VZULNU.cjs 2.46 KB
49
50
  CJS dist/Q3ERQ4ME.cjs 298.72 KB
51
+ CJS dist/methodOf.cjs 145.00 B
52
+ CJS dist/valueOf.cjs.map 72.00 B
50
53
  CJS dist/viem.cjs.map 69.00 B
51
- CJS dist/methodOf.cjs.map 73.00 B
54
+ CJS dist/withRequired.cjs.map 77.00 B
52
55
  CJS dist/lastOf.cjs.map 71.00 B
56
+ CJS dist/merge.cjs.map 70.00 B
57
+ CJS dist/maybeUndefined.cjs.map 79.00 B
53
58
  CJS dist/removeNever.cjs.map 76.00 B
54
59
  CJS dist/strings.test-d.cjs.map 1.70 KB
55
- CJS dist/strings.cjs.map 72.00 B
56
- CJS dist/tuples.cjs.map 71.00 B
57
- CJS dist/merge.cjs.map 70.00 B
58
- CJS dist/withRequired.cjs.map 77.00 B
59
- CJS dist/valueOf.cjs.map 72.00 B
60
60
  CJS dist/branded.cjs.map 72.00 B
61
- CJS dist/advancedRecord.cjs.map 79.00 B
61
+ CJS dist/tuples.cjs.map 71.00 B
62
62
  CJS dist/constructor.cjs.map 76.00 B
63
63
  CJS dist/deep.test-d.cjs.map 1.47 KB
64
+ CJS dist/advancedRecord.cjs.map 79.00 B
65
+ CJS dist/strings.cjs.map 72.00 B
64
66
  CJS dist/deep.cjs.map 69.00 B
67
+ CJS dist/index.cjs.map 635.00 B
65
68
  CJS dist/disallowedAny.cjs.map 78.00 B
69
+ CJS dist/M2FMGCRF.cjs.map 538.00 B
66
70
  CJS dist/identity.cjs.map 73.00 B
71
+ CJS dist/VLOINXK2.cjs.map 299.00 B
67
72
  CJS dist/AMF2EES3.cjs.map 99.18 KB
68
73
  CJS dist/ATSF4XM5.cjs.map 8.25 KB
69
- CJS dist/index.cjs.map 599.00 B
70
- CJS dist/VLOINXK2.cjs.map 299.00 B
71
- CJS dist/Q74ZLWCL.cjs.map 659.00 B
74
+ CJS dist/5UH6HTHX.cjs.map 642.00 B
75
+ CJS dist/GKC44C4P.cjs.map 2.17 KB
72
76
  CJS dist/Y53SFKBY.cjs.map 469.00 B
73
- CJS dist/FQTDMGIM.cjs.map 399.00 B
74
77
  CJS dist/JRGCWPQC.cjs.map 252.00 B
78
+ CJS dist/FQTDMGIM.cjs.map 399.00 B
79
+ CJS dist/44IBECAR.cjs.map 719.00 B
75
80
  CJS dist/KLHW5WN3.cjs.map 1.42 KB
76
- CJS dist/M2FMGCRF.cjs.map 538.00 B
77
- CJS dist/GKC44C4P.cjs.map 2.17 KB
78
81
  CJS dist/TOWGFQYX.cjs.map 906.00 B
79
- CJS dist/44IBECAR.cjs.map 719.00 B
82
+ CJS dist/Q74ZLWCL.cjs.map 659.00 B
80
83
  CJS dist/BPWNPHCG.cjs.map 214.00 B
81
- CJS dist/B77ZZJ5J.cjs.map 780.00 B
82
84
  CJS dist/HKAX3PXE.cjs.map 390.00 B
83
85
  CJS dist/ZLF3Y44J.cjs.map 265.00 B
86
+ CJS dist/B77ZZJ5J.cjs.map 780.00 B
84
87
  CJS dist/U7VZULNU.cjs.map 842.00 B
88
+ CJS dist/methodOf.cjs.map 73.00 B
85
89
  CJS dist/Q3ERQ4ME.cjs.map 761.39 KB
86
- CJS ⚡️ Build success in 2118ms
90
+ CJS ⚡️ Build success in 2800ms
91
+ ESM dist/valueOf.js 119.00 B
87
92
  ESM dist/viem.js 113.00 B
88
93
  ESM dist/withRequired.js 129.00 B
89
94
  ESM dist/lastOf.js 117.00 B
95
+ ESM dist/maybeUndefined.js 133.00 B
90
96
  ESM dist/merge.js 115.00 B
91
- ESM dist/removeNever.js 127.00 B
92
97
  ESM dist/methodOf.js 121.00 B
93
- ESM dist/strings.test-d.js 745.00 B
94
98
  ESM dist/strings.js 119.00 B
99
+ ESM dist/removeNever.js 127.00 B
100
+ ESM dist/strings.test-d.js 745.00 B
95
101
  ESM dist/tuples.js 117.00 B
96
- ESM dist/valueOf.js 119.00 B
97
102
  ESM dist/advancedRecord.js 133.00 B
98
103
  ESM dist/branded.js 119.00 B
99
104
  ESM dist/constructor.js 127.00 B
@@ -102,18 +107,19 @@ Entry module "dist/AMF2EES3.cjs" is using named and default exports together. Co
102
107
  ESM dist/deep.js 113.00 B
103
108
  ESM dist/disallowedAny.js 131.00 B
104
109
  ESM dist/identity.js 121.00 B
105
- ESM dist/index.js 510.00 B
106
- ESM dist/62A6WP5R.js 163.00 B
110
+ ESM dist/index.js 534.00 B
111
+ ESM dist/ZPWIEOJR.js 158.00 B
107
112
  ESM dist/GHCFU27L.js 155.00 B
113
+ ESM dist/62A6WP5R.js 163.00 B
108
114
  ESM dist/TDMZOP4J.js 157.00 B
115
+ ESM dist/FSZMZLCN.js 165.00 B
109
116
  ESM dist/HVKBLL5V.js 156.00 B
110
117
  ESM dist/C2AO2CD6.js 159.00 B
111
118
  ESM dist/FPWOFXCL.js 162.00 B
112
119
  ESM dist/7MFOZW3L.js 158.00 B
113
120
  ESM dist/BLALMGVL.js 157.00 B
114
- ESM dist/ZPWIEOJR.js 158.00 B
115
- ESM dist/TU2BPRNU.js 165.00 B
116
121
  ESM dist/DXU6T5SS.js 158.00 B
122
+ ESM dist/TU2BPRNU.js 165.00 B
117
123
  ESM dist/3OBHE7MG.js 162.00 B
118
124
  ESM dist/TML6PHUW.js 155.00 B
119
125
  ESM dist/N3MJTAM7.js 164.00 B
@@ -121,39 +127,41 @@ Entry module "dist/AMF2EES3.cjs" is using named and default exports together. Co
121
127
  ESM dist/4RNWLMHM.js 2.36 KB
122
128
  ESM dist/AYCOZKHR.js 293.00 KB
123
129
  ESM dist/withRequired.js.map 76.00 B
124
- ESM dist/viem.js.map 68.00 B
130
+ ESM dist/valueOf.js.map 71.00 B
125
131
  ESM dist/lastOf.js.map 70.00 B
132
+ ESM dist/viem.js.map 68.00 B
126
133
  ESM dist/merge.js.map 69.00 B
127
- ESM dist/removeNever.js.map 75.00 B
128
134
  ESM dist/methodOf.js.map 72.00 B
129
- ESM dist/strings.test-d.js.map 1.68 KB
135
+ ESM dist/maybeUndefined.js.map 78.00 B
136
+ ESM dist/removeNever.js.map 75.00 B
130
137
  ESM dist/strings.js.map 71.00 B
138
+ ESM dist/strings.test-d.js.map 1.68 KB
131
139
  ESM dist/tuples.js.map 70.00 B
132
- ESM dist/valueOf.js.map 71.00 B
133
140
  ESM dist/advancedRecord.js.map 78.00 B
134
141
  ESM dist/branded.js.map 71.00 B
135
142
  ESM dist/deep.test-d.js.map 1.45 KB
136
143
  ESM dist/constructor.js.map 75.00 B
137
144
  ESM dist/deep.js.map 68.00 B
138
145
  ESM dist/disallowedAny.js.map 77.00 B
139
- ESM dist/XM743A75.js.map 99.15 KB
140
146
  ESM dist/identity.js.map 72.00 B
141
- ESM dist/index.js.map 578.00 B
142
- ESM dist/62A6WP5R.js.map 278.00 B
147
+ ESM dist/XM743A75.js.map 99.15 KB
148
+ ESM dist/ZPWIEOJR.js.map 517.00 B
149
+ ESM dist/index.js.map 614.00 B
143
150
  ESM dist/GHCFU27L.js.map 8.23 KB
144
151
  ESM dist/TDMZOP4J.js.map 638.00 B
152
+ ESM dist/62A6WP5R.js.map 278.00 B
153
+ ESM dist/FSZMZLCN.js.map 621.00 B
154
+ ESM dist/C2AO2CD6.js.map 378.00 B
145
155
  ESM dist/HVKBLL5V.js.map 448.00 B
146
156
  ESM dist/FPWOFXCL.js.map 231.00 B
147
- ESM dist/C2AO2CD6.js.map 378.00 B
157
+ ESM dist/DXU6T5SS.js.map 698.00 B
148
158
  ESM dist/7MFOZW3L.js.map 1.40 KB
149
- ESM dist/BLALMGVL.js.map 2.15 KB
150
- ESM dist/ZPWIEOJR.js.map 517.00 B
151
159
  ESM dist/TU2BPRNU.js.map 885.00 B
152
- ESM dist/DXU6T5SS.js.map 698.00 B
153
160
  ESM dist/3OBHE7MG.js.map 193.00 B
154
- ESM dist/N3MJTAM7.js.map 369.00 B
155
- ESM dist/4RNWLMHM.js.map 650.00 B
161
+ ESM dist/BLALMGVL.js.map 2.15 KB
156
162
  ESM dist/TML6PHUW.js.map 759.00 B
157
163
  ESM dist/MNZ3MKHF.js.map 244.00 B
164
+ ESM dist/N3MJTAM7.js.map 369.00 B
165
+ ESM dist/4RNWLMHM.js.map 650.00 B
158
166
  ESM dist/AYCOZKHR.js.map 760.60 KB
159
- ESM ⚡️ Build success in 2122ms
167
+ ESM ⚡️ Build success in 2804ms
@@ -0,0 +1,8 @@
1
+ 'use strict';
2
+
3
+ var U7VZULNU_cjs = require('./U7VZULNU.cjs');
4
+
5
+ // src/maybeUndefined.ts
6
+ U7VZULNU_cjs.init_cjs_shims();
7
+ //# sourceMappingURL=5UH6HTHX.cjs.map
8
+ //# sourceMappingURL=5UH6HTHX.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/maybeUndefined.ts"],"names":["init_cjs_shims"],"mappings":";;;;;AAAAA,2BAAA,EAAA","file":"5UH6HTHX.cjs","sourcesContent":["/**\n * @description Maps the result type `R` to `R | undefined` when the input type `T` includes `undefined`,\n * preserving the undefined-ness of the input in the output type.\n *\n * @example\n * MaybeUndefinedMapped<string | undefined, number>\n * => number | undefined\n *\n * MaybeUndefinedMapped<string, number>\n * => number\n */\nexport type MaybeUndefinedMapped<T, R> = undefined extends T\n ? T extends undefined\n ? undefined\n : R | undefined\n : R;\n"]}
@@ -0,0 +1,6 @@
1
+ import { init_esm_shims } from './4RNWLMHM.js';
2
+
3
+ // src/maybeUndefined.ts
4
+ init_esm_shims();
5
+ //# sourceMappingURL=FSZMZLCN.js.map
6
+ //# sourceMappingURL=FSZMZLCN.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/maybeUndefined.ts"],"names":[],"mappings":";;;AAAA,cAAA,EAAA","file":"FSZMZLCN.js","sourcesContent":["/**\n * @description Maps the result type `R` to `R | undefined` when the input type `T` includes `undefined`,\n * preserving the undefined-ness of the input in the output type.\n *\n * @example\n * MaybeUndefinedMapped<string | undefined, number>\n * => number | undefined\n *\n * MaybeUndefinedMapped<string, number>\n * => number\n */\nexport type MaybeUndefinedMapped<T, R> = undefined extends T\n ? T extends undefined\n ? undefined\n : R | undefined\n : R;\n"]}
package/dist/index.cjs CHANGED
@@ -1,14 +1,15 @@
1
1
  'use strict';
2
2
 
3
+ require('./M2FMGCRF.cjs');
3
4
  require('./ATSF4XM5.cjs');
4
5
  require('./VLOINXK2.cjs');
5
6
  require('./Q74ZLWCL.cjs');
7
+ require('./5UH6HTHX.cjs');
6
8
  require('./Y53SFKBY.cjs');
7
9
  require('./FQTDMGIM.cjs');
8
10
  require('./JRGCWPQC.cjs');
9
11
  require('./KLHW5WN3.cjs');
10
12
  require('./GKC44C4P.cjs');
11
- require('./M2FMGCRF.cjs');
12
13
  require('./TOWGFQYX.cjs');
13
14
  require('./44IBECAR.cjs');
14
15
  require('./BPWNPHCG.cjs');
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts"],"names":["init_cjs_shims"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAAA,2BAAA,EAAA","file":"index.cjs","sourcesContent":["export * from './advancedRecord';\nexport * from './branded';\nexport * from './constructor';\nexport * from './deep';\nexport * from './disallowedAny';\nexport * from './identity';\nexport * from './lastOf';\nexport * from './merge';\nexport * from './methodOf';\nexport * from './removeNever';\nexport * from './strings';\nexport * from './tuples';\nexport * from './valueOf';\nexport * from './viem';\nexport * from './withRequired';\n"]}
1
+ {"version":3,"sources":["../src/index.ts"],"names":["init_cjs_shims"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAAA,2BAAA,EAAA","file":"index.cjs","sourcesContent":["export * from './advancedRecord';\nexport * from './branded';\nexport * from './constructor';\nexport * from './deep';\nexport * from './disallowedAny';\nexport * from './identity';\nexport * from './lastOf';\nexport * from './maybeUndefined';\nexport * from './merge';\nexport * from './methodOf';\nexport * from './removeNever';\nexport * from './strings';\nexport * from './tuples';\nexport * from './valueOf';\nexport * from './viem';\nexport * from './withRequired';\n"]}
package/dist/index.d.ts CHANGED
@@ -5,6 +5,7 @@ export * from './deep';
5
5
  export * from './disallowedAny';
6
6
  export * from './identity';
7
7
  export * from './lastOf';
8
+ export * from './maybeUndefined';
8
9
  export * from './merge';
9
10
  export * from './methodOf';
10
11
  export * from './removeNever';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,QAAQ,CAAC;AACvB,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC;AACvB,cAAc,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,QAAQ,CAAC;AACvB,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,kBAAkB,CAAC;AACjC,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC;AACvB,cAAc,gBAAgB,CAAC"}
package/dist/index.js CHANGED
@@ -1,12 +1,13 @@
1
+ import './ZPWIEOJR.js';
1
2
  import './GHCFU27L.js';
2
3
  import './62A6WP5R.js';
3
4
  import './TDMZOP4J.js';
5
+ import './FSZMZLCN.js';
4
6
  import './HVKBLL5V.js';
5
7
  import './C2AO2CD6.js';
6
8
  import './FPWOFXCL.js';
7
9
  import './7MFOZW3L.js';
8
10
  import './BLALMGVL.js';
9
- import './ZPWIEOJR.js';
10
11
  import './TU2BPRNU.js';
11
12
  import './DXU6T5SS.js';
12
13
  import './3OBHE7MG.js';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,cAAA,EAAA","file":"index.js","sourcesContent":["export * from './advancedRecord';\nexport * from './branded';\nexport * from './constructor';\nexport * from './deep';\nexport * from './disallowedAny';\nexport * from './identity';\nexport * from './lastOf';\nexport * from './merge';\nexport * from './methodOf';\nexport * from './removeNever';\nexport * from './strings';\nexport * from './tuples';\nexport * from './valueOf';\nexport * from './viem';\nexport * from './withRequired';\n"]}
1
+ {"version":3,"sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;AAAA,cAAA,EAAA","file":"index.js","sourcesContent":["export * from './advancedRecord';\nexport * from './branded';\nexport * from './constructor';\nexport * from './deep';\nexport * from './disallowedAny';\nexport * from './identity';\nexport * from './lastOf';\nexport * from './maybeUndefined';\nexport * from './merge';\nexport * from './methodOf';\nexport * from './removeNever';\nexport * from './strings';\nexport * from './tuples';\nexport * from './valueOf';\nexport * from './viem';\nexport * from './withRequired';\n"]}
@@ -0,0 +1,7 @@
1
+ 'use strict';
2
+
3
+ require('./5UH6HTHX.cjs');
4
+ require('./U7VZULNU.cjs');
5
+
6
+ //# sourceMappingURL=maybeUndefined.cjs.map
7
+ //# sourceMappingURL=maybeUndefined.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"maybeUndefined.cjs"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * @description Maps the result type `R` to `R | undefined` when the input type `T` includes `undefined`,
3
+ * preserving the undefined-ness of the input in the output type.
4
+ *
5
+ * @example
6
+ * MaybeUndefinedMapped<string | undefined, number>
7
+ * => number | undefined
8
+ *
9
+ * MaybeUndefinedMapped<string, number>
10
+ * => number
11
+ */
12
+ export type MaybeUndefinedMapped<T, R> = undefined extends T ? T extends undefined ? undefined : R | undefined : R;
13
+ //# sourceMappingURL=maybeUndefined.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"maybeUndefined.d.ts","sourceRoot":"","sources":["../src/maybeUndefined.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,MAAM,MAAM,oBAAoB,CAAC,CAAC,EAAE,CAAC,IAAI,SAAS,SAAS,CAAC,GACtD,CAAC,SAAS,SAAS,GACf,SAAS,GACT,CAAC,GAAG,SAAS,GACjB,CAAC,CAAC"}
@@ -0,0 +1,4 @@
1
+ import './FSZMZLCN.js';
2
+ import './4RNWLMHM.js';
3
+ //# sourceMappingURL=maybeUndefined.js.map
4
+ //# sourceMappingURL=maybeUndefined.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"maybeUndefined.js"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@layerzerolabs/typescript-utils",
3
- "version": "0.0.67",
3
+ "version": "0.0.74",
4
4
  "private": false,
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -16,8 +16,8 @@
16
16
  "devDependencies": {
17
17
  "tsup": "^8.4.0",
18
18
  "vitest": "^3.2.3",
19
- "@layerzerolabs/tsup-configuration": "0.0.67",
20
- "@layerzerolabs/typescript-configuration": "0.0.67"
19
+ "@layerzerolabs/tsup-configuration": "0.0.74",
20
+ "@layerzerolabs/typescript-configuration": "0.0.74"
21
21
  },
22
22
  "publishConfig": {
23
23
  "access": "restricted",
package/src/index.ts CHANGED
@@ -5,6 +5,7 @@ export * from './deep';
5
5
  export * from './disallowedAny';
6
6
  export * from './identity';
7
7
  export * from './lastOf';
8
+ export * from './maybeUndefined';
8
9
  export * from './merge';
9
10
  export * from './methodOf';
10
11
  export * from './removeNever';
@@ -0,0 +1,16 @@
1
+ /**
2
+ * @description Maps the result type `R` to `R | undefined` when the input type `T` includes `undefined`,
3
+ * preserving the undefined-ness of the input in the output type.
4
+ *
5
+ * @example
6
+ * MaybeUndefinedMapped<string | undefined, number>
7
+ * => number | undefined
8
+ *
9
+ * MaybeUndefinedMapped<string, number>
10
+ * => number
11
+ */
12
+ export type MaybeUndefinedMapped<T, R> = undefined extends T
13
+ ? T extends undefined
14
+ ? undefined
15
+ : R | undefined
16
+ : R;