@xylabs/object 5.0.80 → 5.0.82

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.
package/README.md CHANGED
@@ -21,78 +21,21 @@ Base functionality used throughout XY Labs TypeScript/JavaScript libraries
21
21
 
22
22
  ***
23
23
 
24
- ## Classes
25
-
26
- - [IsObjectFactory](#classes/IsObjectFactory)
27
- - [ObjectWrapper](#classes/ObjectWrapper)
28
- - [ValidatorBase](#classes/ValidatorBase)
29
-
30
- ## Interfaces
31
-
32
- - [ObjectTypeConfig](#interfaces/ObjectTypeConfig)
33
- - [Validator](#interfaces/Validator)
34
- - [TypeCheckConfig](#interfaces/TypeCheckConfig)
35
- - [TypeCheckRequiredConfig](#interfaces/TypeCheckRequiredConfig)
36
- - [TypeCheckOptionalConfig](#interfaces/TypeCheckOptionalConfig)
37
-
38
- ## Type Aliases
39
-
40
- - [EmptyObject](#type-aliases/EmptyObject)
41
- - [EmptyObjectOf](#type-aliases/EmptyObjectOf)
42
- - [JsonValue](#type-aliases/JsonValue)
43
- - [JsonObject](#type-aliases/JsonObject)
44
- - [JsonArray](#type-aliases/JsonArray)
45
- - [OmitStartsWith](#type-aliases/OmitStartsWith)
46
- - [DeepOmitStartsWith](#type-aliases/DeepOmitStartsWith)
47
- - [DeepRestrictToStringKeys](#type-aliases/DeepRestrictToStringKeys)
48
- - [Optional](#type-aliases/Optional)
49
- - [Override](#type-aliases/Override)
50
- - [~~PartialRecord~~](#type-aliases/PartialRecord)
51
- - [PickStartsWith](#type-aliases/PickStartsWith)
52
- - [DeepPickStartsWith](#type-aliases/DeepPickStartsWith)
53
- - [StringKeyObject](#type-aliases/StringKeyObject)
54
- - [WithAdditional](#type-aliases/WithAdditional)
55
- - [OmitByPredicate](#type-aliases/OmitByPredicate)
56
- - [PickByPredicate](#type-aliases/PickByPredicate)
57
- - [AnyObject](#type-aliases/AnyObject)
58
- - [AsTypeFunction](#type-aliases/AsTypeFunction)
59
- - [AsOptionalTypeFunction](#type-aliases/AsOptionalTypeFunction)
60
- - [Compare](#type-aliases/Compare)
61
- - [StringOrAlertFunction](#type-aliases/StringOrAlertFunction)
62
- - [TypeCheck](#type-aliases/TypeCheck)
63
-
64
- ## Variables
65
-
66
- - [AsObjectFactory](#variables/AsObjectFactory)
67
- - [AsTypeFactory](#variables/AsTypeFactory)
68
- - [asAnyObject](#variables/asAnyObject)
69
- - [deepMerge](#variables/deepMerge)
70
-
71
- ## Functions
72
-
73
- - [isJsonValue](#functions/isJsonValue)
74
- - [isJsonArray](#functions/isJsonArray)
75
- - [isValidJsonFieldPair](#functions/isValidJsonFieldPair)
76
- - [isJsonObject](#functions/isJsonObject)
77
- - [createDeepMerge](#functions/createDeepMerge)
78
- - [isObject](#functions/isObject)
79
- - [isType](#functions/isType)
80
- - [omitBy](#functions/omitBy)
81
- - [omitByPrefix](#functions/omitByPrefix)
82
- - [pickBy](#functions/pickBy)
83
- - [pickByPrefix](#functions/pickByPrefix)
84
- - [removeFields](#functions/removeFields)
85
- - [toJsonArray](#functions/toJsonArray)
86
- - [toJsonObject](#functions/toJsonObject)
87
- - [toJsonValue](#functions/toJsonValue)
88
- - [toJsonString](#functions/toJsonString)
89
- - [toJson](#functions/toJson)
90
-
91
- ### classes
92
-
93
- ### <a id="IsObjectFactory"></a>IsObjectFactory
94
-
95
- [**@xylabs/object**](#../README)
24
+ ## Modules
25
+
26
+ - [index-deprecated](#index-deprecated/README)
27
+ - [index-un-deprecated](#index-un-deprecated/README)
28
+ - [index](#index/README)
29
+
30
+ ### index
31
+
32
+ ### index-deprecated
33
+
34
+ ### classes
35
+
36
+ ### <a id="IsObjectFactory"></a>IsObjectFactory
37
+
38
+ [**@xylabs/object**](#../../README)
96
39
 
97
40
  ***
98
41
 
@@ -136,9 +79,9 @@ create(shape?, additionalChecks?): TypeCheck<T>;
136
79
 
137
80
  [`TypeCheck`](#../type-aliases/TypeCheck)\<`T`\>
138
81
 
139
- ### <a id="ObjectWrapper"></a>ObjectWrapper
82
+ ### <a id="ObjectWrapper"></a>ObjectWrapper
140
83
 
141
- [**@xylabs/object**](#../README)
84
+ [**@xylabs/object**](#../../README)
142
85
 
143
86
  ***
144
87
 
@@ -192,9 +135,9 @@ get protected stringKeyObj(): StringKeyObject;
192
135
 
193
136
  [`StringKeyObject`](#../type-aliases/StringKeyObject)
194
137
 
195
- ### <a id="ValidatorBase"></a>ValidatorBase
138
+ ### <a id="ValidatorBase"></a>ValidatorBase
196
139
 
197
- [**@xylabs/object**](#../README)
140
+ [**@xylabs/object**](#../../README)
198
141
 
199
142
  ***
200
143
 
@@ -286,11 +229,11 @@ abstract validate(payload): Promisable<Error[]>;
286
229
 
287
230
  [`Validator`](#../interfaces/Validator).[`validate`](../interfaces/Validator.md#validate)
288
231
 
289
- ### functions
232
+ ### functions
290
233
 
291
- ### <a id="createDeepMerge"></a>createDeepMerge
234
+ ### <a id="createDeepMerge"></a>createDeepMerge
292
235
 
293
- [**@xylabs/object**](#../README)
236
+ [**@xylabs/object**](#../../README)
294
237
 
295
238
  ***
296
239
 
@@ -332,95 +275,53 @@ A deep merge function configured for the specified options.
332
275
 
333
276
  `MergeAll`\<`T`\>
334
277
 
335
- ### <a id="isJsonArray"></a>isJsonArray
278
+ ### <a id="isObject"></a>isObject
336
279
 
337
- [**@xylabs/object**](#../README)
280
+ [**@xylabs/object**](#../../README)
338
281
 
339
282
  ***
340
283
 
341
- ```ts
342
- function isJsonArray(value): value is JsonArray;
343
- ```
344
-
345
- ## Parameters
346
-
347
- ### value
348
-
349
- `unknown`
350
-
351
- ## Returns
352
-
353
- `value is JsonArray`
354
-
355
- ### <a id="isJsonObject"></a>isJsonObject
356
-
357
- [**@xylabs/object**](#../README)
358
-
359
- ***
360
-
361
- ```ts
362
- function isJsonObject(value): value is JsonObject;
363
- ```
364
-
365
- ## Parameters
366
-
367
- ### value
368
-
369
- `unknown`
370
-
371
- ## Returns
372
-
373
- `value is JsonObject`
374
-
375
- ### <a id="isJsonValue"></a>isJsonValue
376
-
377
- [**@xylabs/object**](#../README)
378
-
379
- ***
284
+ ## Call Signature
380
285
 
381
286
  ```ts
382
- function isJsonValue(value): value is JsonValue;
287
+ function isObject(value): value is object;
383
288
  ```
384
289
 
385
- ## Parameters
290
+ ### Parameters
386
291
 
387
292
  ### value
388
293
 
389
294
  `unknown`
390
295
 
391
- ## Returns
392
-
393
- `value is JsonValue`
394
-
395
- ### <a id="isObject"></a>isObject
296
+ ### Returns
396
297
 
397
- [**@xylabs/object**](#../README)
298
+ `value is object`
398
299
 
399
- ***
300
+ ## Call Signature
400
301
 
401
302
  ```ts
402
- function isObject<T>(value): value is T & object;
303
+ function isObject<T>(value): value is Extract<T, object>;
403
304
  ```
404
305
 
405
- ## Type Parameters
306
+ ### Type Parameters
406
307
 
407
308
  ### T
408
309
 
409
- `T`
310
+ `T` *extends* `object`
410
311
 
411
- ## Parameters
312
+ ### Parameters
412
313
 
413
314
  ### value
414
315
 
415
316
  `T`
416
317
 
417
- ## Returns
318
+ ### Returns
418
319
 
419
- `value is T & object`
320
+ `value is Extract<T, object>`
420
321
 
421
- ### <a id="isType"></a>isType
322
+ ### <a id="isType"></a>isType
422
323
 
423
- [**@xylabs/object**](#../README)
324
+ [**@xylabs/object**](#../../README)
424
325
 
425
326
  ***
426
327
 
@@ -442,29 +343,13 @@ function isType(value, expectedType): boolean;
442
343
 
443
344
  `boolean`
444
345
 
445
- ### <a id="isValidJsonFieldPair"></a>isValidJsonFieldPair
446
-
447
- [**@xylabs/object**](#../README)
448
-
449
- ***
450
-
451
- ```ts
452
- function isValidJsonFieldPair(__namedParameters): boolean;
453
- ```
454
-
455
- ## Parameters
456
-
457
- ### \_\_namedParameters
458
-
459
- \[`unknown`, `unknown`\]
460
-
461
- ## Returns
346
+ ## Deprecated
462
347
 
463
- `boolean`
348
+ use from @xylabs/typeof instead
464
349
 
465
- ### <a id="omitBy"></a>omitBy
350
+ ### <a id="omitBy"></a>omitBy
466
351
 
467
- [**@xylabs/object**](#../README)
352
+ [**@xylabs/object**](#../../README)
468
353
 
469
354
  ***
470
355
 
@@ -472,7 +357,7 @@ function isValidJsonFieldPair(__namedParameters): boolean;
472
357
  function omitBy<T>(
473
358
  obj,
474
359
  predicate,
475
- maxDepth): Partial<T>;
360
+ maxDepth?): Partial<T>;
476
361
  ```
477
362
 
478
363
  ## Type Parameters
@@ -491,7 +376,7 @@ maxDepth): Partial<T>;
491
376
 
492
377
  [`OmitByPredicate`](#../type-aliases/OmitByPredicate)
493
378
 
494
- ### maxDepth
379
+ ### maxDepth?
495
380
 
496
381
  `number` = `1`
497
382
 
@@ -499,9 +384,9 @@ maxDepth): Partial<T>;
499
384
 
500
385
  `Partial`\<`T`\>
501
386
 
502
- ### <a id="omitByPrefix"></a>omitByPrefix
387
+ ### <a id="omitByPrefix"></a>omitByPrefix
503
388
 
504
- [**@xylabs/object**](#../README)
389
+ [**@xylabs/object**](#../../README)
505
390
 
506
391
  ***
507
392
 
@@ -509,7 +394,7 @@ maxDepth): Partial<T>;
509
394
  function omitByPrefix<T, P>(
510
395
  payload,
511
396
  prefix,
512
- maxDepth): DeepOmitStartsWith<T, P>;
397
+ maxDepth?): DeepOmitStartsWith<T, P>;
513
398
  ```
514
399
 
515
400
  ## Type Parameters
@@ -532,7 +417,7 @@ maxDepth): DeepOmitStartsWith<T, P>;
532
417
 
533
418
  `P`
534
419
 
535
- ### maxDepth
420
+ ### maxDepth?
536
421
 
537
422
  `number` = `100`
538
423
 
@@ -540,9 +425,9 @@ maxDepth): DeepOmitStartsWith<T, P>;
540
425
 
541
426
  [`DeepOmitStartsWith`](#../type-aliases/DeepOmitStartsWith)\<`T`, `P`\>
542
427
 
543
- ### <a id="pickBy"></a>pickBy
428
+ ### <a id="pickBy"></a>pickBy
544
429
 
545
- [**@xylabs/object**](#../README)
430
+ [**@xylabs/object**](#../../README)
546
431
 
547
432
  ***
548
433
 
@@ -550,7 +435,7 @@ maxDepth): DeepOmitStartsWith<T, P>;
550
435
  function pickBy<T>(
551
436
  obj,
552
437
  predicate,
553
- maxDepth): Partial<T>;
438
+ maxDepth?): Partial<T>;
554
439
  ```
555
440
 
556
441
  ## Type Parameters
@@ -569,7 +454,7 @@ maxDepth): Partial<T>;
569
454
 
570
455
  [`PickByPredicate`](#../type-aliases/PickByPredicate)
571
456
 
572
- ### maxDepth
457
+ ### maxDepth?
573
458
 
574
459
  `number` = `1`
575
460
 
@@ -577,9 +462,9 @@ maxDepth): Partial<T>;
577
462
 
578
463
  `Partial`\<`T`\>
579
464
 
580
- ### <a id="pickByPrefix"></a>pickByPrefix
465
+ ### <a id="pickByPrefix"></a>pickByPrefix
581
466
 
582
- [**@xylabs/object**](#../README)
467
+ [**@xylabs/object**](#../../README)
583
468
 
584
469
  ***
585
470
 
@@ -587,7 +472,7 @@ maxDepth): Partial<T>;
587
472
  function pickByPrefix<T, P>(
588
473
  payload,
589
474
  prefix,
590
- maxDepth): DeepPickStartsWith<T, P>;
475
+ maxDepth?): DeepPickStartsWith<T, P>;
591
476
  ```
592
477
 
593
478
  ## Type Parameters
@@ -610,7 +495,7 @@ maxDepth): DeepPickStartsWith<T, P>;
610
495
 
611
496
  `P`
612
497
 
613
- ### maxDepth
498
+ ### maxDepth?
614
499
 
615
500
  `number` = `100`
616
501
 
@@ -618,9 +503,9 @@ maxDepth): DeepPickStartsWith<T, P>;
618
503
 
619
504
  [`DeepPickStartsWith`](#../type-aliases/DeepPickStartsWith)\<`T`, `P`\>
620
505
 
621
- ### <a id="removeFields"></a>removeFields
506
+ ### <a id="removeFields"></a>removeFields
622
507
 
623
- [**@xylabs/object**](#../README)
508
+ [**@xylabs/object**](#../../README)
624
509
 
625
510
  ***
626
511
 
@@ -652,14 +537,14 @@ function removeFields<T, K>(obj, fields): Omit<T, K>;
652
537
 
653
538
  `Omit`\<`T`, `K`\>
654
539
 
655
- ### <a id="toJson"></a>toJson
540
+ ### <a id="toSafeJson"></a>toSafeJson
656
541
 
657
- [**@xylabs/object**](#../README)
542
+ [**@xylabs/object**](#../../README)
658
543
 
659
544
  ***
660
545
 
661
546
  ```ts
662
- function toJson(value, maxDepth): JsonValue;
547
+ function toSafeJson(value, maxDepth?): unknown;
663
548
  ```
664
549
 
665
550
  ## Parameters
@@ -668,25 +553,25 @@ function toJson(value, maxDepth): JsonValue;
668
553
 
669
554
  `unknown`
670
555
 
671
- ### maxDepth
556
+ ### maxDepth?
672
557
 
673
558
  `number` = `3`
674
559
 
675
560
  ## Returns
676
561
 
677
- [`JsonValue`](#../type-aliases/JsonValue)
562
+ `unknown`
678
563
 
679
- ### <a id="toJsonArray"></a>toJsonArray
564
+ ### <a id="toSafeJsonArray"></a>toSafeJsonArray
680
565
 
681
- [**@xylabs/object**](#../README)
566
+ [**@xylabs/object**](#../../README)
682
567
 
683
568
  ***
684
569
 
685
570
  ```ts
686
- function toJsonArray(
571
+ function toSafeJsonArray(
687
572
  value,
688
573
  cycleList?,
689
- maxDepth?): JsonArray;
574
+ maxDepth?): unknown[];
690
575
  ```
691
576
 
692
577
  ## Parameters
@@ -705,16 +590,16 @@ function toJsonArray(
705
590
 
706
591
  ## Returns
707
592
 
708
- [`JsonArray`](#../type-aliases/JsonArray)
593
+ `unknown`[]
709
594
 
710
- ### <a id="toJsonObject"></a>toJsonObject
595
+ ### <a id="toSafeJsonObject"></a>toSafeJsonObject
711
596
 
712
- [**@xylabs/object**](#../README)
597
+ [**@xylabs/object**](#../../README)
713
598
 
714
599
  ***
715
600
 
716
601
  ```ts
717
- function toJsonObject(
602
+ function toSafeJsonObject(
718
603
  value,
719
604
  cycleList?,
720
605
  maxDepth?): JsonObject;
@@ -738,14 +623,14 @@ function toJsonObject(
738
623
 
739
624
  [`JsonObject`](#../type-aliases/JsonObject)
740
625
 
741
- ### <a id="toJsonString"></a>toJsonString
626
+ ### <a id="toSafeJsonString"></a>toSafeJsonString
742
627
 
743
- [**@xylabs/object**](#../README)
628
+ [**@xylabs/object**](#../../README)
744
629
 
745
630
  ***
746
631
 
747
632
  ```ts
748
- function toJsonString(value, maxDepth): string;
633
+ function toSafeJsonString(value, maxDepth?): string;
749
634
  ```
750
635
 
751
636
  ## Parameters
@@ -754,7 +639,7 @@ function toJsonString(value, maxDepth): string;
754
639
 
755
640
  `unknown`
756
641
 
757
- ### maxDepth
642
+ ### maxDepth?
758
643
 
759
644
  `number` = `3`
760
645
 
@@ -762,17 +647,17 @@ function toJsonString(value, maxDepth): string;
762
647
 
763
648
  `string`
764
649
 
765
- ### <a id="toJsonValue"></a>toJsonValue
650
+ ### <a id="toSafeJsonValue"></a>toSafeJsonValue
766
651
 
767
- [**@xylabs/object**](#../README)
652
+ [**@xylabs/object**](#../../README)
768
653
 
769
654
  ***
770
655
 
771
656
  ```ts
772
- function toJsonValue(
657
+ function toSafeJsonValue(
773
658
  value,
774
659
  cycleList?,
775
- maxDepth?): JsonValue;
660
+ maxDepth?): unknown;
776
661
  ```
777
662
 
778
663
  ## Parameters
@@ -791,13 +676,13 @@ function toJsonValue(
791
676
 
792
677
  ## Returns
793
678
 
794
- [`JsonValue`](#../type-aliases/JsonValue)
679
+ `unknown`
795
680
 
796
- ### interfaces
681
+ ### interfaces
797
682
 
798
- ### <a id="ObjectTypeConfig"></a>ObjectTypeConfig
683
+ ### <a id="ObjectTypeConfig"></a>ObjectTypeConfig
799
684
 
800
- [**@xylabs/object**](#../README)
685
+ [**@xylabs/object**](#../../README)
801
686
 
802
687
  ***
803
688
 
@@ -817,9 +702,9 @@ optional log: boolean | Logger;
817
702
 
818
703
  [`TypeCheckConfig`](#TypeCheckConfig).[`log`](TypeCheckConfig.md#log)
819
704
 
820
- ### <a id="TypeCheckConfig"></a>TypeCheckConfig
705
+ ### <a id="TypeCheckConfig"></a>TypeCheckConfig
821
706
 
822
- [**@xylabs/object**](#../README)
707
+ [**@xylabs/object**](#../../README)
823
708
 
824
709
  ***
825
710
 
@@ -837,9 +722,9 @@ optional log: boolean | Logger;
837
722
  optional log: boolean | Logger;
838
723
  ```
839
724
 
840
- ### <a id="TypeCheckOptionalConfig"></a>TypeCheckOptionalConfig
725
+ ### <a id="TypeCheckOptionalConfig"></a>TypeCheckOptionalConfig
841
726
 
842
- [**@xylabs/object**](#../README)
727
+ [**@xylabs/object**](#../../README)
843
728
 
844
729
  ***
845
730
 
@@ -867,9 +752,9 @@ optional log: boolean | Logger;
867
752
  required: false;
868
753
  ```
869
754
 
870
- ### <a id="TypeCheckRequiredConfig"></a>TypeCheckRequiredConfig
755
+ ### <a id="TypeCheckRequiredConfig"></a>TypeCheckRequiredConfig
871
756
 
872
- [**@xylabs/object**](#../README)
757
+ [**@xylabs/object**](#../../README)
873
758
 
874
759
  ***
875
760
 
@@ -897,9 +782,9 @@ optional log: boolean | Logger;
897
782
  required: true;
898
783
  ```
899
784
 
900
- ### <a id="Validator"></a>Validator
785
+ ### <a id="Validator"></a>Validator
901
786
 
902
- [**@xylabs/object**](#../README)
787
+ [**@xylabs/object**](#../../README)
903
788
 
904
789
  ***
905
790
 
@@ -927,29 +812,29 @@ validate(payload): Promisable<Error[]>;
927
812
 
928
813
  `Promisable`\<`Error`[]\>
929
814
 
930
- ### type-aliases
815
+ ### type-aliases
931
816
 
932
- ### <a id="AnyObject"></a>AnyObject
817
+ ### <a id="AnyObject"></a>AnyObject
933
818
 
934
- [**@xylabs/object**](#../README)
819
+ [**@xylabs/object**](#../../README)
935
820
 
936
821
  ***
937
822
 
938
823
  ```ts
939
- type AnyObject = Record<TypedKey, unknown>;
824
+ type AnyObject = EmptyObject & Partial<Record<TypedKey, unknown>>;
940
825
  ```
941
826
 
942
827
  Any object, which means that it does not enforce the set of fields that it has. Extending from AnyObject
943
828
  will result in a type that includes the universal set of field names
944
829
 
945
- ### <a id="AsOptionalTypeFunction"></a>AsOptionalTypeFunction
830
+ ### <a id="AsOptionalTypeFunction"></a>AsOptionalTypeFunction
946
831
 
947
- [**@xylabs/object**](#../README)
832
+ [**@xylabs/object**](#../../README)
948
833
 
949
834
  ***
950
835
 
951
836
  ```ts
952
- type AsOptionalTypeFunction<T> = <TType>(value) => undefined | TType;
837
+ type AsOptionalTypeFunction<T> = <TType>(value) => TType | undefined;
953
838
  ```
954
839
 
955
840
  ## Type Parameters
@@ -972,22 +857,22 @@ type AsOptionalTypeFunction<T> = <TType>(value) => undefined | TType;
972
857
 
973
858
  ## Returns
974
859
 
975
- `undefined` \| `TType`
860
+ `TType` \| `undefined`
976
861
 
977
- ### <a id="AsTypeFunction"></a>AsTypeFunction
862
+ ### <a id="AsTypeFunction"></a>AsTypeFunction
978
863
 
979
- [**@xylabs/object**](#../README)
864
+ [**@xylabs/object**](#../../README)
980
865
 
981
866
  ***
982
867
 
983
868
  ```ts
984
869
  type AsTypeFunction<T> = {
985
- <TType> (value): undefined | TType;
870
+ <TType> (value): TType | undefined;
986
871
  <TType> (value, config): TType;
987
- <TType> (value, config): undefined | TType;
988
- <TType> (value, assert): undefined | TType;
872
+ <TType> (value, config): TType | undefined;
873
+ <TType> (value, assert): TType | undefined;
989
874
  <TType> (value, assert, config): TType;
990
- <TType> (value, assert, config): undefined | TType;
875
+ <TType> (value, assert, config): TType | undefined;
991
876
  };
992
877
  ```
993
878
 
@@ -1000,7 +885,7 @@ type AsTypeFunction<T> = {
1000
885
  ## Call Signature
1001
886
 
1002
887
  ```ts
1003
- <TType>(value): undefined | TType;
888
+ <TType>(value): TType | undefined;
1004
889
  ```
1005
890
 
1006
891
  ### Type Parameters
@@ -1017,7 +902,7 @@ type AsTypeFunction<T> = {
1017
902
 
1018
903
  ### Returns
1019
904
 
1020
- `undefined` \| `TType`
905
+ `TType` \| `undefined`
1021
906
 
1022
907
  ## Call Signature
1023
908
 
@@ -1048,7 +933,7 @@ type AsTypeFunction<T> = {
1048
933
  ## Call Signature
1049
934
 
1050
935
  ```ts
1051
- <TType>(value, config): undefined | TType;
936
+ <TType>(value, config): TType | undefined;
1052
937
  ```
1053
938
 
1054
939
  ### Type Parameters
@@ -1069,12 +954,12 @@ type AsTypeFunction<T> = {
1069
954
 
1070
955
  ### Returns
1071
956
 
1072
- `undefined` \| `TType`
957
+ `TType` \| `undefined`
1073
958
 
1074
959
  ## Call Signature
1075
960
 
1076
961
  ```ts
1077
- <TType>(value, assert): undefined | TType;
962
+ <TType>(value, assert): TType | undefined;
1078
963
  ```
1079
964
 
1080
965
  ### Type Parameters
@@ -1095,7 +980,7 @@ type AsTypeFunction<T> = {
1095
980
 
1096
981
  ### Returns
1097
982
 
1098
- `undefined` \| `TType`
983
+ `TType` \| `undefined`
1099
984
 
1100
985
  ## Call Signature
1101
986
 
@@ -1136,7 +1021,7 @@ type AsTypeFunction<T> = {
1136
1021
  <TType>(
1137
1022
  value,
1138
1023
  assert,
1139
- config): undefined | TType;
1024
+ config): TType | undefined;
1140
1025
  ```
1141
1026
 
1142
1027
  ### Type Parameters
@@ -1161,11 +1046,11 @@ type AsTypeFunction<T> = {
1161
1046
 
1162
1047
  ### Returns
1163
1048
 
1164
- `undefined` \| `TType`
1049
+ `TType` \| `undefined`
1165
1050
 
1166
- ### <a id="Compare"></a>Compare
1051
+ ### <a id="Compare"></a>Compare
1167
1052
 
1168
- [**@xylabs/object**](#../README)
1053
+ [**@xylabs/object**](#../../README)
1169
1054
 
1170
1055
  ***
1171
1056
 
@@ -1193,9 +1078,9 @@ type Compare<T> = (a, b) => number;
1193
1078
 
1194
1079
  `number`
1195
1080
 
1196
- ### <a id="DeepOmitStartsWith"></a>DeepOmitStartsWith
1081
+ ### <a id="DeepOmitStartsWith"></a>DeepOmitStartsWith
1197
1082
 
1198
- [**@xylabs/object**](#../README)
1083
+ [**@xylabs/object**](#../../README)
1199
1084
 
1200
1085
  ***
1201
1086
 
@@ -1213,9 +1098,9 @@ type DeepOmitStartsWith<T, Prefix> = T extends infer U[] ? DeepOmitStartsWith<U,
1213
1098
 
1214
1099
  `Prefix` *extends* `string`
1215
1100
 
1216
- ### <a id="DeepPickStartsWith"></a>DeepPickStartsWith
1101
+ ### <a id="DeepPickStartsWith"></a>DeepPickStartsWith
1217
1102
 
1218
- [**@xylabs/object**](#../README)
1103
+ [**@xylabs/object**](#../../README)
1219
1104
 
1220
1105
  ***
1221
1106
 
@@ -1233,14 +1118,14 @@ type DeepPickStartsWith<T, Prefix> = T extends infer U[] ? DeepPickStartsWith<U,
1233
1118
 
1234
1119
  `Prefix` *extends* `string`
1235
1120
 
1236
- ### <a id="DeepRestrictToStringKeys"></a>DeepRestrictToStringKeys
1121
+ ### <a id="DeepRestrictToJson"></a>DeepRestrictToJson
1237
1122
 
1238
- [**@xylabs/object**](#../README)
1123
+ [**@xylabs/object**](#../../README)
1239
1124
 
1240
1125
  ***
1241
1126
 
1242
1127
  ```ts
1243
- type DeepRestrictToStringKeys<T> = { [K in keyof T as K extends string ? K : never]: T[K] extends (infer U)[] ? DeepRestrictToStringKeys<U>[] : T[K] extends object ? DeepRestrictToStringKeys<T[K]> : T[K] };
1128
+ type DeepRestrictToJson<T> = { [K in keyof T as K extends string ? K : never]: T[K] extends (infer U)[] ? DeepRestrictToJson<U>[] : T[K] extends object ? DeepRestrictToJson<T[K]> : T[K] extends JsonValue ? T[K] : never };
1244
1129
  ```
1245
1130
 
1246
1131
  ## Type Parameters
@@ -1249,86 +1134,74 @@ type DeepRestrictToStringKeys<T> = { [K in keyof T as K extends string ? K : nev
1249
1134
 
1250
1135
  `T`
1251
1136
 
1252
- ### <a id="EmptyObject"></a>EmptyObject
1137
+ ### <a id="DeepRestrictToStringKeys"></a>DeepRestrictToStringKeys
1253
1138
 
1254
- [**@xylabs/object**](#../README)
1139
+ [**@xylabs/object**](#../../README)
1255
1140
 
1256
1141
  ***
1257
1142
 
1258
1143
  ```ts
1259
- type EmptyObject<T> = { [K in keyof T]?: never };
1144
+ type DeepRestrictToStringKeys<T> = { [K in keyof T as K extends string ? K : never]: T[K] extends (infer U)[] ? DeepRestrictToStringKeys<U>[] : T[K] extends object ? DeepRestrictToStringKeys<T[K]> : T[K] };
1260
1145
  ```
1261
1146
 
1262
- An empty object, which means that it does enforce the set of field names, defaulting to an empty set until
1263
- extended from, which then adds only those additional fields
1264
-
1265
1147
  ## Type Parameters
1266
1148
 
1267
1149
  ### T
1268
1150
 
1269
- `T` *extends* `object` = `object`
1151
+ `T`
1270
1152
 
1271
- ### <a id="EmptyObjectOf"></a>EmptyObjectOf
1153
+ ### <a id="EmptyObject"></a>EmptyObject
1272
1154
 
1273
- [**@xylabs/object**](#../README)
1155
+ [**@xylabs/object**](#../../README)
1274
1156
 
1275
1157
  ***
1276
1158
 
1277
1159
  ```ts
1278
- type EmptyObjectOf<T> = EmptyObject<T> extends T ? EmptyObject<T> : never;
1160
+ type EmptyObject<T> = Exclude<{ [K in keyof T]?: never }, unknown[] | (...args) => unknown | null>;
1279
1161
  ```
1280
1162
 
1163
+ An empty object, which means that it does enforce the set of field names, defaulting to an empty set until
1164
+ extended from, which then adds only those additional fields
1165
+
1281
1166
  ## Type Parameters
1282
1167
 
1283
1168
  ### T
1284
1169
 
1285
- `T` *extends* `object`
1170
+ `T` *extends* `object` = `object`
1286
1171
 
1287
- ### <a id="JsonArray"></a>JsonArray
1172
+ ### <a id="JsonArray"></a>JsonArray
1288
1173
 
1289
- [**@xylabs/object**](#../README)
1174
+ [**@xylabs/object**](#../../README)
1290
1175
 
1291
1176
  ***
1292
1177
 
1293
1178
  ```ts
1294
- type JsonArray = JsonValue[];
1179
+ type JsonArray = z.infer<typeof JsonArrayZod>;
1295
1180
  ```
1296
1181
 
1297
- ### <a id="JsonObject"></a>JsonObject
1182
+ ### <a id="JsonObject"></a>JsonObject
1298
1183
 
1299
- [**@xylabs/object**](#../README)
1184
+ [**@xylabs/object**](#../../README)
1300
1185
 
1301
1186
  ***
1302
1187
 
1303
1188
  ```ts
1304
- type JsonObject = object;
1189
+ type JsonObject = z.infer<typeof JsonObjectZod>;
1305
1190
  ```
1306
1191
 
1307
- ## Index Signature
1308
-
1309
- ```ts
1310
- [key: string]: JsonValue
1311
- ```
1192
+ ### <a id="JsonValue"></a>JsonValue
1312
1193
 
1313
- ### <a id="JsonValue"></a>JsonValue
1314
-
1315
- [**@xylabs/object**](#../README)
1194
+ [**@xylabs/object**](#../../README)
1316
1195
 
1317
1196
  ***
1318
1197
 
1319
1198
  ```ts
1320
- type JsonValue =
1321
- | string
1322
- | number
1323
- | boolean
1324
- | null
1325
- | JsonObject
1326
- | JsonArray;
1199
+ type JsonValue = z.infer<typeof JsonValueZod>;
1327
1200
  ```
1328
1201
 
1329
- ### <a id="OmitByPredicate"></a>OmitByPredicate
1202
+ ### <a id="OmitByPredicate"></a>OmitByPredicate
1330
1203
 
1331
- [**@xylabs/object**](#../README)
1204
+ [**@xylabs/object**](#../../README)
1332
1205
 
1333
1206
  ***
1334
1207
 
@@ -1356,9 +1229,9 @@ keyof `T`
1356
1229
 
1357
1230
  `boolean`
1358
1231
 
1359
- ### <a id="OmitStartsWith"></a>OmitStartsWith
1232
+ ### <a id="OmitStartsWith"></a>OmitStartsWith
1360
1233
 
1361
- [**@xylabs/object**](#../README)
1234
+ [**@xylabs/object**](#../../README)
1362
1235
 
1363
1236
  ***
1364
1237
 
@@ -1376,9 +1249,9 @@ type OmitStartsWith<T, Prefix> = { [K in keyof T as K extends `${Prefix}${string
1376
1249
 
1377
1250
  `Prefix` *extends* `string`
1378
1251
 
1379
- ### <a id="Optional"></a>Optional
1252
+ ### <a id="Optional"></a>Optional
1380
1253
 
1381
- [**@xylabs/object**](#../README)
1254
+ [**@xylabs/object**](#../../README)
1382
1255
 
1383
1256
  ***
1384
1257
 
@@ -1396,9 +1269,9 @@ type Optional<T, F> = Omit<T, F> & Partial<Pick<T, F>>;
1396
1269
 
1397
1270
  `F` *extends* keyof `T`
1398
1271
 
1399
- ### <a id="Override"></a>Override
1272
+ ### <a id="Override"></a>Override
1400
1273
 
1401
- [**@xylabs/object**](#../README)
1274
+ [**@xylabs/object**](#../../README)
1402
1275
 
1403
1276
  ***
1404
1277
 
@@ -1416,9 +1289,9 @@ type Override<T1, T2> = Omit<T1, keyof T2> & T2;
1416
1289
 
1417
1290
  `T2`
1418
1291
 
1419
- ### <a id="PartialRecord"></a>PartialRecord
1292
+ ### <a id="PartialRecord"></a>PartialRecord
1420
1293
 
1421
- [**@xylabs/object**](#../README)
1294
+ [**@xylabs/object**](#../../README)
1422
1295
 
1423
1296
  ***
1424
1297
 
@@ -1440,9 +1313,9 @@ type PartialRecord<K, T> = { [P in K]?: T };
1440
1313
 
1441
1314
  use Partial<Record<>> instead
1442
1315
 
1443
- ### <a id="PickByPredicate"></a>PickByPredicate
1316
+ ### <a id="PickByPredicate"></a>PickByPredicate
1444
1317
 
1445
- [**@xylabs/object**](#../README)
1318
+ [**@xylabs/object**](#../../README)
1446
1319
 
1447
1320
  ***
1448
1321
 
@@ -1470,9 +1343,9 @@ keyof `T`
1470
1343
 
1471
1344
  `boolean`
1472
1345
 
1473
- ### <a id="PickStartsWith"></a>PickStartsWith
1346
+ ### <a id="PickStartsWith"></a>PickStartsWith
1474
1347
 
1475
- [**@xylabs/object**](#../README)
1348
+ [**@xylabs/object**](#../../README)
1476
1349
 
1477
1350
  ***
1478
1351
 
@@ -1490,9 +1363,25 @@ type PickStartsWith<T, Prefix> = { [K in keyof T as K extends `${Prefix}${string
1490
1363
 
1491
1364
  `Prefix` *extends* `string`
1492
1365
 
1493
- ### <a id="StringKeyObject"></a>StringKeyObject
1366
+ ### <a id="Simplify"></a>Simplify
1494
1367
 
1495
- [**@xylabs/object**](#../README)
1368
+ [**@xylabs/object**](#../../README)
1369
+
1370
+ ***
1371
+
1372
+ ```ts
1373
+ type Simplify<T> = { [K in keyof T]: T[K] } & object;
1374
+ ```
1375
+
1376
+ ## Type Parameters
1377
+
1378
+ ### T
1379
+
1380
+ `T`
1381
+
1382
+ ### <a id="StringKeyObject"></a>StringKeyObject
1383
+
1384
+ [**@xylabs/object**](#../../README)
1496
1385
 
1497
1386
  ***
1498
1387
 
@@ -1512,9 +1401,9 @@ type StringKeyObject<T> = object;
1512
1401
  [key: string]: T
1513
1402
  ```
1514
1403
 
1515
- ### <a id="StringOrAlertFunction"></a>StringOrAlertFunction
1404
+ ### <a id="StringOrAlertFunction"></a>StringOrAlertFunction
1516
1405
 
1517
- [**@xylabs/object**](#../README)
1406
+ [**@xylabs/object**](#../../README)
1518
1407
 
1519
1408
  ***
1520
1409
 
@@ -1528,9 +1417,9 @@ type StringOrAlertFunction<T> = string | AssertExMessageFunc<T>;
1528
1417
 
1529
1418
  `T` *extends* `AnyNonPromise`
1530
1419
 
1531
- ### <a id="TypeCheck"></a>TypeCheck
1420
+ ### <a id="TypeCheck"></a>TypeCheck
1532
1421
 
1533
- [**@xylabs/object**](#../README)
1422
+ [**@xylabs/object**](#../../README)
1534
1423
 
1535
1424
  ***
1536
1425
 
@@ -1598,15 +1487,15 @@ type TypeCheck<T> = {
1598
1487
 
1599
1488
  ### config
1600
1489
 
1601
- `undefined` | `number` | [`TypeCheckConfig`](#../interfaces/TypeCheckConfig)
1490
+ `number` | [`TypeCheckConfig`](#../interfaces/TypeCheckConfig) | `undefined`
1602
1491
 
1603
1492
  ### Returns
1604
1493
 
1605
1494
  `obj is T`
1606
1495
 
1607
- ### <a id="WithAdditional"></a>WithAdditional
1496
+ ### <a id="WithAdditional"></a>WithAdditional
1608
1497
 
1609
- [**@xylabs/object**](#../README)
1498
+ [**@xylabs/object**](#../../README)
1610
1499
 
1611
1500
  ***
1612
1501
 
@@ -1624,11 +1513,11 @@ type WithAdditional<T, TAdditional> = TAdditional extends EmptyObject ? T & TAdd
1624
1513
 
1625
1514
  `TAdditional` *extends* [`EmptyObject`](#EmptyObject) \| `void` = `void`
1626
1515
 
1627
- ### variables
1516
+ ### variables
1628
1517
 
1629
- ### <a id="AsObjectFactory"></a>AsObjectFactory
1518
+ ### <a id="AsObjectFactory"></a>AsObjectFactory
1630
1519
 
1631
- [**@xylabs/object**](#../README)
1520
+ [**@xylabs/object**](#../../README)
1632
1521
 
1633
1522
  ***
1634
1523
 
@@ -1636,7 +1525,7 @@ type WithAdditional<T, TAdditional> = TAdditional extends EmptyObject ? T & TAdd
1636
1525
  const AsObjectFactory: object;
1637
1526
  ```
1638
1527
 
1639
- ## Type declaration
1528
+ ## Type Declaration
1640
1529
 
1641
1530
  ### create()
1642
1531
 
@@ -1663,7 +1552,7 @@ create: <T>(typeCheck) => AsTypeFunction<T>;
1663
1552
  ### createOptional()
1664
1553
 
1665
1554
  ```ts
1666
- createOptional: <T>(typeCheck) => (value) => undefined | T;
1555
+ createOptional: <T>(typeCheck) => (value) => T | undefined;
1667
1556
  ```
1668
1557
 
1669
1558
  ### Type Parameters
@@ -1681,7 +1570,7 @@ createOptional: <T>(typeCheck) => (value) => undefined | T;
1681
1570
  ### Returns
1682
1571
 
1683
1572
  ```ts
1684
- (value): undefined | T;
1573
+ (value): T | undefined;
1685
1574
  ```
1686
1575
 
1687
1576
  #### Parameters
@@ -1692,11 +1581,11 @@ createOptional: <T>(typeCheck) => (value) => undefined | T;
1692
1581
 
1693
1582
  #### Returns
1694
1583
 
1695
- `undefined` \| `T`
1584
+ `T` \| `undefined`
1696
1585
 
1697
- ### <a id="AsTypeFactory"></a>AsTypeFactory
1586
+ ### <a id="AsTypeFactory"></a>AsTypeFactory
1698
1587
 
1699
- [**@xylabs/object**](#../README)
1588
+ [**@xylabs/object**](#../../README)
1700
1589
 
1701
1590
  ***
1702
1591
 
@@ -1704,7 +1593,7 @@ createOptional: <T>(typeCheck) => (value) => undefined | T;
1704
1593
  const AsTypeFactory: object;
1705
1594
  ```
1706
1595
 
1707
- ## Type declaration
1596
+ ## Type Declaration
1708
1597
 
1709
1598
  ### create()
1710
1599
 
@@ -1731,7 +1620,7 @@ create: <T>(typeCheck) => AsTypeFunction<T>;
1731
1620
  ### createOptional()
1732
1621
 
1733
1622
  ```ts
1734
- createOptional: <T>(typeCheck) => (value) => undefined | T;
1623
+ createOptional: <T>(typeCheck) => (value) => T | undefined;
1735
1624
  ```
1736
1625
 
1737
1626
  ### Type Parameters
@@ -1749,7 +1638,7 @@ createOptional: <T>(typeCheck) => (value) => undefined | T;
1749
1638
  ### Returns
1750
1639
 
1751
1640
  ```ts
1752
- (value): undefined | T;
1641
+ (value): T | undefined;
1753
1642
  ```
1754
1643
 
1755
1644
  #### Parameters
@@ -1760,11 +1649,21 @@ createOptional: <T>(typeCheck) => (value) => undefined | T;
1760
1649
 
1761
1650
  #### Returns
1762
1651
 
1763
- `undefined` \| `T`
1652
+ `T` \| `undefined`
1653
+
1654
+ ### <a id="JsonObjectZod"></a>JsonObjectZod
1764
1655
 
1765
- ### <a id="asAnyObject"></a>asAnyObject
1656
+ [**@xylabs/object**](#../../README)
1766
1657
 
1767
- [**@xylabs/object**](#../README)
1658
+ ***
1659
+
1660
+ ```ts
1661
+ const JsonObjectZod: ZodRecord<ZodString, ZodType<unknown, unknown, $ZodTypeInternals<unknown, unknown>>>;
1662
+ ```
1663
+
1664
+ ### <a id="asAnyObject"></a>asAnyObject
1665
+
1666
+ [**@xylabs/object**](#../../README)
1768
1667
 
1769
1668
  ***
1770
1669
 
@@ -1772,9 +1671,192 @@ createOptional: <T>(typeCheck) => (value) => undefined | T;
1772
1671
  const asAnyObject: AsTypeFunction<AnyObject>;
1773
1672
  ```
1774
1673
 
1775
- ### <a id="deepMerge"></a>deepMerge
1674
+ ### <a id="asJsonArray"></a>asJsonArray
1776
1675
 
1777
- [**@xylabs/object**](#../README)
1676
+ [**@xylabs/object**](#../../README)
1677
+
1678
+ ***
1679
+
1680
+ ```ts
1681
+ const asJsonArray: {
1682
+ <T> (value): T & unknown[] | undefined;
1683
+ <T> (value, assert): T & unknown[];
1684
+ };
1685
+ ```
1686
+
1687
+ ## Call Signature
1688
+
1689
+ ```ts
1690
+ <T>(value): T & unknown[] | undefined;
1691
+ ```
1692
+
1693
+ ### Type Parameters
1694
+
1695
+ ### T
1696
+
1697
+ `T`
1698
+
1699
+ ### Parameters
1700
+
1701
+ ### value
1702
+
1703
+ `T`
1704
+
1705
+ ### Returns
1706
+
1707
+ `T` & `unknown`[] \| `undefined`
1708
+
1709
+ ## Call Signature
1710
+
1711
+ ```ts
1712
+ <T>(value, assert): T & unknown[];
1713
+ ```
1714
+
1715
+ ### Type Parameters
1716
+
1717
+ ### T
1718
+
1719
+ `T`
1720
+
1721
+ ### Parameters
1722
+
1723
+ ### value
1724
+
1725
+ `T`
1726
+
1727
+ ### assert
1728
+
1729
+ `ZodFactoryConfig`
1730
+
1731
+ ### Returns
1732
+
1733
+ `T` & `unknown`[]
1734
+
1735
+ ### <a id="asJsonObject"></a>asJsonObject
1736
+
1737
+ [**@xylabs/object**](#../../README)
1738
+
1739
+ ***
1740
+
1741
+ ```ts
1742
+ const asJsonObject: {
1743
+ <T> (value): T & Record<string, unknown> | undefined;
1744
+ <T> (value, assert): T & Record<string, unknown>;
1745
+ };
1746
+ ```
1747
+
1748
+ ## Call Signature
1749
+
1750
+ ```ts
1751
+ <T>(value): T & Record<string, unknown> | undefined;
1752
+ ```
1753
+
1754
+ ### Type Parameters
1755
+
1756
+ ### T
1757
+
1758
+ `T`
1759
+
1760
+ ### Parameters
1761
+
1762
+ ### value
1763
+
1764
+ `T`
1765
+
1766
+ ### Returns
1767
+
1768
+ `T` & `Record`\<`string`, `unknown`\> \| `undefined`
1769
+
1770
+ ## Call Signature
1771
+
1772
+ ```ts
1773
+ <T>(value, assert): T & Record<string, unknown>;
1774
+ ```
1775
+
1776
+ ### Type Parameters
1777
+
1778
+ ### T
1779
+
1780
+ `T`
1781
+
1782
+ ### Parameters
1783
+
1784
+ ### value
1785
+
1786
+ `T`
1787
+
1788
+ ### assert
1789
+
1790
+ `ZodFactoryConfig`
1791
+
1792
+ ### Returns
1793
+
1794
+ `T` & `Record`\<`string`, `unknown`\>
1795
+
1796
+ ### <a id="asJsonValue"></a>asJsonValue
1797
+
1798
+ [**@xylabs/object**](#../../README)
1799
+
1800
+ ***
1801
+
1802
+ ```ts
1803
+ const asJsonValue: {
1804
+ <T> (value): T | undefined;
1805
+ <T> (value, assert): T;
1806
+ };
1807
+ ```
1808
+
1809
+ ## Call Signature
1810
+
1811
+ ```ts
1812
+ <T>(value): T | undefined;
1813
+ ```
1814
+
1815
+ ### Type Parameters
1816
+
1817
+ ### T
1818
+
1819
+ `T`
1820
+
1821
+ ### Parameters
1822
+
1823
+ ### value
1824
+
1825
+ `T`
1826
+
1827
+ ### Returns
1828
+
1829
+ `T` \| `undefined`
1830
+
1831
+ ## Call Signature
1832
+
1833
+ ```ts
1834
+ <T>(value, assert): T;
1835
+ ```
1836
+
1837
+ ### Type Parameters
1838
+
1839
+ ### T
1840
+
1841
+ `T`
1842
+
1843
+ ### Parameters
1844
+
1845
+ ### value
1846
+
1847
+ `T`
1848
+
1849
+ ### assert
1850
+
1851
+ `ZodFactoryConfig`
1852
+
1853
+ ### Returns
1854
+
1855
+ `T`
1856
+
1857
+ ### <a id="deepMerge"></a>deepMerge
1858
+
1859
+ [**@xylabs/object**](#../../README)
1778
1860
 
1779
1861
  ***
1780
1862
 
@@ -1811,6 +1893,269 @@ If a property is a symbol, it will be merged as well.
1811
1893
 
1812
1894
  A new object with the merged properties.
1813
1895
 
1896
+ ### <a id="isJsonArray"></a>isJsonArray
1897
+
1898
+ [**@xylabs/object**](#../../README)
1899
+
1900
+ ***
1901
+
1902
+ ```ts
1903
+ const isJsonArray: <T>(value) => value is T & unknown[];
1904
+ ```
1905
+
1906
+ ## Type Parameters
1907
+
1908
+ ### T
1909
+
1910
+ `T`
1911
+
1912
+ ## Parameters
1913
+
1914
+ ### value
1915
+
1916
+ `T`
1917
+
1918
+ ## Returns
1919
+
1920
+ `value is T & unknown[]`
1921
+
1922
+ ### <a id="isJsonObject"></a>isJsonObject
1923
+
1924
+ [**@xylabs/object**](#../../README)
1925
+
1926
+ ***
1927
+
1928
+ ```ts
1929
+ const isJsonObject: <T>(value) => value is T & Record<string, unknown>;
1930
+ ```
1931
+
1932
+ ## Type Parameters
1933
+
1934
+ ### T
1935
+
1936
+ `T`
1937
+
1938
+ ## Parameters
1939
+
1940
+ ### value
1941
+
1942
+ `T`
1943
+
1944
+ ## Returns
1945
+
1946
+ `value is T & Record<string, unknown>`
1947
+
1948
+ ### <a id="isJsonValue"></a>isJsonValue
1949
+
1950
+ [**@xylabs/object**](#../../README)
1951
+
1952
+ ***
1953
+
1954
+ ```ts
1955
+ const isJsonValue: <T>(value) => value is T;
1956
+ ```
1957
+
1958
+ ## Type Parameters
1959
+
1960
+ ### T
1961
+
1962
+ `T`
1963
+
1964
+ ## Parameters
1965
+
1966
+ ### value
1967
+
1968
+ `T`
1969
+
1970
+ ## Returns
1971
+
1972
+ `value is T`
1973
+
1974
+ ### <a id="toJsonArray"></a>toJsonArray
1975
+
1976
+ [**@xylabs/object**](#../../README)
1977
+
1978
+ ***
1979
+
1980
+ ```ts
1981
+ const toJsonArray: {
1982
+ <T> (value): T & unknown[] | undefined;
1983
+ <T> (value, assert): T & unknown[];
1984
+ };
1985
+ ```
1986
+
1987
+ ## Call Signature
1988
+
1989
+ ```ts
1990
+ <T>(value): T & unknown[] | undefined;
1991
+ ```
1992
+
1993
+ ### Type Parameters
1994
+
1995
+ ### T
1996
+
1997
+ `T`
1998
+
1999
+ ### Parameters
2000
+
2001
+ ### value
2002
+
2003
+ `T`
2004
+
2005
+ ### Returns
2006
+
2007
+ `T` & `unknown`[] \| `undefined`
2008
+
2009
+ ## Call Signature
2010
+
2011
+ ```ts
2012
+ <T>(value, assert): T & unknown[];
2013
+ ```
2014
+
2015
+ ### Type Parameters
2016
+
2017
+ ### T
2018
+
2019
+ `T`
2020
+
2021
+ ### Parameters
2022
+
2023
+ ### value
2024
+
2025
+ `T`
2026
+
2027
+ ### assert
2028
+
2029
+ `ZodFactoryConfig`
2030
+
2031
+ ### Returns
2032
+
2033
+ `T` & `unknown`[]
2034
+
2035
+ ### <a id="toJsonObject"></a>toJsonObject
2036
+
2037
+ [**@xylabs/object**](#../../README)
2038
+
2039
+ ***
2040
+
2041
+ ```ts
2042
+ const toJsonObject: {
2043
+ <T> (value): T & Record<string, unknown> | undefined;
2044
+ <T> (value, assert): T & Record<string, unknown>;
2045
+ };
2046
+ ```
2047
+
2048
+ ## Call Signature
2049
+
2050
+ ```ts
2051
+ <T>(value): T & Record<string, unknown> | undefined;
2052
+ ```
2053
+
2054
+ ### Type Parameters
2055
+
2056
+ ### T
2057
+
2058
+ `T`
2059
+
2060
+ ### Parameters
2061
+
2062
+ ### value
2063
+
2064
+ `T`
2065
+
2066
+ ### Returns
2067
+
2068
+ `T` & `Record`\<`string`, `unknown`\> \| `undefined`
2069
+
2070
+ ## Call Signature
2071
+
2072
+ ```ts
2073
+ <T>(value, assert): T & Record<string, unknown>;
2074
+ ```
2075
+
2076
+ ### Type Parameters
2077
+
2078
+ ### T
2079
+
2080
+ `T`
2081
+
2082
+ ### Parameters
2083
+
2084
+ ### value
2085
+
2086
+ `T`
2087
+
2088
+ ### assert
2089
+
2090
+ `ZodFactoryConfig`
2091
+
2092
+ ### Returns
2093
+
2094
+ `T` & `Record`\<`string`, `unknown`\>
2095
+
2096
+ ### <a id="toJsonValue"></a>toJsonValue
2097
+
2098
+ [**@xylabs/object**](#../../README)
2099
+
2100
+ ***
2101
+
2102
+ ```ts
2103
+ const toJsonValue: {
2104
+ <T> (value): T | undefined;
2105
+ <T> (value, assert): T;
2106
+ };
2107
+ ```
2108
+
2109
+ ## Call Signature
2110
+
2111
+ ```ts
2112
+ <T>(value): T | undefined;
2113
+ ```
2114
+
2115
+ ### Type Parameters
2116
+
2117
+ ### T
2118
+
2119
+ `T`
2120
+
2121
+ ### Parameters
2122
+
2123
+ ### value
2124
+
2125
+ `T`
2126
+
2127
+ ### Returns
2128
+
2129
+ `T` \| `undefined`
2130
+
2131
+ ## Call Signature
2132
+
2133
+ ```ts
2134
+ <T>(value, assert): T;
2135
+ ```
2136
+
2137
+ ### Type Parameters
2138
+
2139
+ ### T
2140
+
2141
+ `T`
2142
+
2143
+ ### Parameters
2144
+
2145
+ ### value
2146
+
2147
+ `T`
2148
+
2149
+ ### assert
2150
+
2151
+ `ZodFactoryConfig`
2152
+
2153
+ ### Returns
2154
+
2155
+ `T`
2156
+
2157
+ ### index-un-deprecated
2158
+
1814
2159
 
1815
2160
  Part of [sdk-js](https://www.npmjs.com/package/@xyo-network/sdk-js)
1816
2161