cafe-utility 27.7.0 → 27.8.0

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 (3) hide show
  1. package/index.d.ts +2 -0
  2. package/index.js +12 -8
  3. package/package.json +1 -1
package/index.d.ts CHANGED
@@ -148,6 +148,7 @@ declare function asUrl(value: any, options?: {
148
148
  }): string;
149
149
  declare function isNullable(typeFn: (value: any) => boolean, value: any): boolean;
150
150
  declare function asNullable<T>(typeFn: (value: any) => T, value: any): T | null;
151
+ declare function asOptional<T>(typeFn: (value: any) => T, value: any): T | undefined;
151
152
  declare function enforceObjectShape(value: Record<string, any>, shape: Record<string, (value: any) => boolean>): boolean;
152
153
  declare function enforceArrayShape(value: any[], shape: Record<string, (value: any) => boolean>): boolean;
153
154
  declare function represent(value: any, strategy?: 'json' | 'key-value', depth?: number): string;
@@ -914,6 +915,7 @@ export declare const Types: {
914
915
  asNumericDictionary: typeof asNumericDictionary;
915
916
  asUrl: typeof asUrl;
916
917
  asNullable: typeof asNullable;
918
+ asOptional: typeof asOptional;
917
919
  enforceObjectShape: typeof enforceObjectShape;
918
920
  enforceArrayShape: typeof enforceArrayShape;
919
921
  isPng: typeof isPng;
package/index.js CHANGED
@@ -547,6 +547,9 @@ function isNullable(n, e) {
547
547
  function asNullable(n, e) {
548
548
  return e === null || isUndefined(e) ? null : n(e)
549
549
  }
550
+ function asOptional(n, e) {
551
+ if (e != null) return n(e)
552
+ }
550
553
  function enforceObjectShape(n, e) {
551
554
  for (const [t, r] of Object.entries(e)) if (!r(n[t])) throw TypeError(`${t} in value does not exist or match shape`)
552
555
  for (const t of Object.keys(n)) if (!e[t]) throw TypeError(`${t} exists in value but not in shape`)
@@ -2296,8 +2299,8 @@ function keccakPermutate(n) {
2296
2299
  U = (n[13] << 12) | (n[12] >>> 20),
2297
2300
  L = (n[12] << 12) | (n[13] >>> 20),
2298
2301
  N = (n[14] << 6) | (n[15] >>> 26),
2299
- v = (n[15] << 6) | (n[14] >>> 26),
2300
- j = (n[17] << 23) | (n[16] >>> 9),
2302
+ j = (n[15] << 6) | (n[14] >>> 26),
2303
+ v = (n[17] << 23) | (n[16] >>> 9),
2301
2304
  z = (n[16] << 23) | (n[17] >>> 9),
2302
2305
  F = (n[18] << 20) | (n[19] >>> 12),
2303
2306
  q = (n[19] << 20) | (n[18] >>> 12),
@@ -2352,15 +2355,15 @@ function keccakPermutate(n) {
2352
2355
  (n[18] = dn ^ (~R & F)),
2353
2356
  (n[19] = mn ^ (~C & q)),
2354
2357
  (n[20] = O ^ (~N & _)),
2355
- (n[21] = k ^ (~v & Q)),
2358
+ (n[21] = k ^ (~j & Q)),
2356
2359
  (n[22] = N ^ (~_ & sn)),
2357
- (n[23] = v ^ (~Q & fn)),
2360
+ (n[23] = j ^ (~Q & fn)),
2358
2361
  (n[24] = _ ^ (~sn & ln)),
2359
2362
  (n[25] = Q ^ (~fn & an)),
2360
2363
  (n[26] = sn ^ (~ln & O)),
2361
2364
  (n[27] = fn ^ (~an & k)),
2362
2365
  (n[28] = ln ^ (~O & N)),
2363
- (n[29] = an ^ (~k & v)),
2366
+ (n[29] = an ^ (~k & j)),
2364
2367
  (n[30] = D ^ (~B & V)),
2365
2368
  (n[31] = I ^ (~P & J)),
2366
2369
  (n[32] = B ^ (~V & rn)),
@@ -2371,15 +2374,15 @@ function keccakPermutate(n) {
2371
2374
  (n[37] = on ^ (~wn & I)),
2372
2375
  (n[38] = gn ^ (~D & B)),
2373
2376
  (n[39] = wn ^ (~I & P)),
2374
- (n[40] = T ^ (~j & G)),
2377
+ (n[40] = T ^ (~v & G)),
2375
2378
  (n[41] = S ^ (~z & Y)),
2376
- (n[42] = j ^ (~G & X)),
2379
+ (n[42] = v ^ (~G & X)),
2377
2380
  (n[43] = z ^ (~Y & nn)),
2378
2381
  (n[44] = G ^ (~X & hn)),
2379
2382
  (n[45] = Y ^ (~nn & pn)),
2380
2383
  (n[46] = X ^ (~hn & T)),
2381
2384
  (n[47] = nn ^ (~pn & S)),
2382
- (n[48] = hn ^ (~T & j)),
2385
+ (n[48] = hn ^ (~T & v)),
2383
2386
  (n[49] = pn ^ (~S & z)),
2384
2387
  (n[0] ^= IOTA_CONSTANTS[e * 2]),
2385
2388
  (n[1] ^= IOTA_CONSTANTS[e * 2 + 1])
@@ -3286,6 +3289,7 @@ class AsyncQueue {
3286
3289
  asNumericDictionary,
3287
3290
  asUrl,
3288
3291
  asNullable,
3292
+ asOptional,
3289
3293
  enforceObjectShape,
3290
3294
  enforceArrayShape,
3291
3295
  isPng,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "cafe-utility",
3
- "version": "27.7.0",
3
+ "version": "27.8.0",
4
4
  "description": "",
5
5
  "main": "index.js",
6
6
  "exports": {