@xylabs/zod 5.0.39

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 ADDED
@@ -0,0 +1,1852 @@
1
+ # @xylabs/object
2
+
3
+ [![logo][]](https://xylabs.com)
4
+
5
+ [![main-build][]][main-build-link]
6
+ [![npm-badge][]][npm-link]
7
+ [![npm-downloads-badge][]][npm-link]
8
+ [![jsdelivr-badge][]][jsdelivr-link]
9
+ [![npm-license-badge][]](LICENSE)
10
+ [![codacy-badge][]][codacy-link]
11
+ [![codeclimate-badge][]][codeclimate-link]
12
+ [![snyk-badge][]][snyk-link]
13
+ [![socket-badge][]][socket-link]
14
+
15
+
16
+ Base functionality used throughout XY Labs TypeScript/JavaScript libraries
17
+
18
+ ## Reference
19
+
20
+ **@xylabs/object**
21
+
22
+ ***
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)
96
+
97
+ ***
98
+
99
+ ## Type Parameters
100
+
101
+ ### T
102
+
103
+ `T` *extends* `TypedObject`
104
+
105
+ ## Constructors
106
+
107
+ ### Constructor
108
+
109
+ ```ts
110
+ new IsObjectFactory<T>(): IsObjectFactory<T>;
111
+ ```
112
+
113
+ ### Returns
114
+
115
+ `IsObjectFactory`\<`T`\>
116
+
117
+ ## Methods
118
+
119
+ ### create()
120
+
121
+ ```ts
122
+ create(shape?, additionalChecks?): TypeCheck<T>;
123
+ ```
124
+
125
+ ### Parameters
126
+
127
+ #### shape?
128
+
129
+ `ObjectTypeShape`
130
+
131
+ #### additionalChecks?
132
+
133
+ [`TypeCheck`](#../type-aliases/TypeCheck)\<`TypedObject`\>[]
134
+
135
+ ### Returns
136
+
137
+ [`TypeCheck`](#../type-aliases/TypeCheck)\<`T`\>
138
+
139
+ ### <a id="ObjectWrapper"></a>ObjectWrapper
140
+
141
+ [**@xylabs/object**](#../README)
142
+
143
+ ***
144
+
145
+ ## Extended by
146
+
147
+ - [`ValidatorBase`](#ValidatorBase)
148
+
149
+ ## Type Parameters
150
+
151
+ ### T
152
+
153
+ `T` *extends* [`EmptyObject`](#../type-aliases/EmptyObject) = [`EmptyObject`](#../type-aliases/EmptyObject)
154
+
155
+ ## Constructors
156
+
157
+ ### Constructor
158
+
159
+ ```ts
160
+ new ObjectWrapper<T>(obj): ObjectWrapper<T>;
161
+ ```
162
+
163
+ ### Parameters
164
+
165
+ #### obj
166
+
167
+ `T`
168
+
169
+ ### Returns
170
+
171
+ `ObjectWrapper`\<`T`\>
172
+
173
+ ## Properties
174
+
175
+ ### obj
176
+
177
+ ```ts
178
+ readonly obj: T;
179
+ ```
180
+
181
+ ## Accessors
182
+
183
+ ### stringKeyObj
184
+
185
+ ### Get Signature
186
+
187
+ ```ts
188
+ get protected stringKeyObj(): StringKeyObject;
189
+ ```
190
+
191
+ #### Returns
192
+
193
+ [`StringKeyObject`](#../type-aliases/StringKeyObject)
194
+
195
+ ### <a id="ValidatorBase"></a>ValidatorBase
196
+
197
+ [**@xylabs/object**](#../README)
198
+
199
+ ***
200
+
201
+ ## Extends
202
+
203
+ - [`ObjectWrapper`](#ObjectWrapper)\<`Partial`\<`T`\>\>
204
+
205
+ ## Type Parameters
206
+
207
+ ### T
208
+
209
+ `T` *extends* [`EmptyObject`](#../type-aliases/EmptyObject) = [`AnyObject`](#../type-aliases/AnyObject)
210
+
211
+ ## Implements
212
+
213
+ - [`Validator`](#../interfaces/Validator)\<`T`\>
214
+
215
+ ## Constructors
216
+
217
+ ### Constructor
218
+
219
+ ```ts
220
+ new ValidatorBase<T>(obj): ValidatorBase<T>;
221
+ ```
222
+
223
+ ### Parameters
224
+
225
+ #### obj
226
+
227
+ `T`
228
+
229
+ ### Returns
230
+
231
+ `ValidatorBase`\<`T`\>
232
+
233
+ ### Inherited from
234
+
235
+ [`ObjectWrapper`](#ObjectWrapper).[`constructor`](ObjectWrapper.md#constructor)
236
+
237
+ ## Properties
238
+
239
+ ### obj
240
+
241
+ ```ts
242
+ readonly obj: T;
243
+ ```
244
+
245
+ ### Inherited from
246
+
247
+ [`ObjectWrapper`](#ObjectWrapper).[`obj`](ObjectWrapper.md#obj)
248
+
249
+ ## Accessors
250
+
251
+ ### stringKeyObj
252
+
253
+ ### Get Signature
254
+
255
+ ```ts
256
+ get protected stringKeyObj(): StringKeyObject;
257
+ ```
258
+
259
+ #### Returns
260
+
261
+ [`StringKeyObject`](#../type-aliases/StringKeyObject)
262
+
263
+ ### Inherited from
264
+
265
+ [`ObjectWrapper`](#ObjectWrapper).[`stringKeyObj`](ObjectWrapper.md#stringkeyobj)
266
+
267
+ ## Methods
268
+
269
+ ### validate()
270
+
271
+ ```ts
272
+ abstract validate(payload): Promisable<Error[]>;
273
+ ```
274
+
275
+ ### Parameters
276
+
277
+ #### payload
278
+
279
+ `T`
280
+
281
+ ### Returns
282
+
283
+ `Promisable`\<`Error`[]\>
284
+
285
+ ### Implementation of
286
+
287
+ [`Validator`](#../interfaces/Validator).[`validate`](../interfaces/Validator.md#validate)
288
+
289
+ ### functions
290
+
291
+ ### <a id="createDeepMerge"></a>createDeepMerge
292
+
293
+ [**@xylabs/object**](#../README)
294
+
295
+ ***
296
+
297
+ ```ts
298
+ function createDeepMerge(options): <T>(...objects) => MergeAll<T>;
299
+ ```
300
+
301
+ Creates a deep merge function with the specified options.
302
+
303
+ ## Parameters
304
+
305
+ ### options
306
+
307
+ `MergeOptions`
308
+
309
+ Options for merging.
310
+
311
+ ## Returns
312
+
313
+ A deep merge function configured for the specified options.
314
+
315
+ ```ts
316
+ <T>(...objects): MergeAll<T>;
317
+ ```
318
+
319
+ ### Type Parameters
320
+
321
+ ### T
322
+
323
+ `T` *extends* [`AnyObject`](#../type-aliases/AnyObject)[]
324
+
325
+ ### Parameters
326
+
327
+ ### objects
328
+
329
+ ...`T`
330
+
331
+ ### Returns
332
+
333
+ `MergeAll`\<`T`\>
334
+
335
+ ### <a id="isJsonArray"></a>isJsonArray
336
+
337
+ [**@xylabs/object**](#../README)
338
+
339
+ ***
340
+
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
+ ***
380
+
381
+ ```ts
382
+ function isJsonValue(value): value is JsonValue;
383
+ ```
384
+
385
+ ## Parameters
386
+
387
+ ### value
388
+
389
+ `unknown`
390
+
391
+ ## Returns
392
+
393
+ `value is JsonValue`
394
+
395
+ ### <a id="isObject"></a>isObject
396
+
397
+ [**@xylabs/object**](#../README)
398
+
399
+ ***
400
+
401
+ ```ts
402
+ function isObject<T>(value): value is T & object;
403
+ ```
404
+
405
+ ## Type Parameters
406
+
407
+ ### T
408
+
409
+ `T`
410
+
411
+ ## Parameters
412
+
413
+ ### value
414
+
415
+ `T`
416
+
417
+ ## Returns
418
+
419
+ `value is T & object`
420
+
421
+ ### <a id="isType"></a>isType
422
+
423
+ [**@xylabs/object**](#../README)
424
+
425
+ ***
426
+
427
+ ```ts
428
+ function isType(value, expectedType): boolean;
429
+ ```
430
+
431
+ ## Parameters
432
+
433
+ ### value
434
+
435
+ `unknown`
436
+
437
+ ### expectedType
438
+
439
+ `FieldType`
440
+
441
+ ## Returns
442
+
443
+ `boolean`
444
+
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
462
+
463
+ `boolean`
464
+
465
+ ### <a id="omitBy"></a>omitBy
466
+
467
+ [**@xylabs/object**](#../README)
468
+
469
+ ***
470
+
471
+ ```ts
472
+ function omitBy<T>(
473
+ obj,
474
+ predicate,
475
+ maxDepth): Partial<T>;
476
+ ```
477
+
478
+ ## Type Parameters
479
+
480
+ ### T
481
+
482
+ `T` *extends* `object`
483
+
484
+ ## Parameters
485
+
486
+ ### obj
487
+
488
+ `T`
489
+
490
+ ### predicate
491
+
492
+ [`OmitByPredicate`](#../type-aliases/OmitByPredicate)
493
+
494
+ ### maxDepth
495
+
496
+ `number` = `1`
497
+
498
+ ## Returns
499
+
500
+ `Partial`\<`T`\>
501
+
502
+ ### <a id="omitByPrefix"></a>omitByPrefix
503
+
504
+ [**@xylabs/object**](#../README)
505
+
506
+ ***
507
+
508
+ ```ts
509
+ function omitByPrefix<T, P>(
510
+ payload,
511
+ prefix,
512
+ maxDepth): DeepOmitStartsWith<T, P>;
513
+ ```
514
+
515
+ ## Type Parameters
516
+
517
+ ### T
518
+
519
+ `T` *extends* `object`
520
+
521
+ ### P
522
+
523
+ `P` *extends* `string`
524
+
525
+ ## Parameters
526
+
527
+ ### payload
528
+
529
+ `T`
530
+
531
+ ### prefix
532
+
533
+ `P`
534
+
535
+ ### maxDepth
536
+
537
+ `number` = `100`
538
+
539
+ ## Returns
540
+
541
+ [`DeepOmitStartsWith`](#../type-aliases/DeepOmitStartsWith)\<`T`, `P`\>
542
+
543
+ ### <a id="pickBy"></a>pickBy
544
+
545
+ [**@xylabs/object**](#../README)
546
+
547
+ ***
548
+
549
+ ```ts
550
+ function pickBy<T>(
551
+ obj,
552
+ predicate,
553
+ maxDepth): Partial<T>;
554
+ ```
555
+
556
+ ## Type Parameters
557
+
558
+ ### T
559
+
560
+ `T` *extends* `object`
561
+
562
+ ## Parameters
563
+
564
+ ### obj
565
+
566
+ `T`
567
+
568
+ ### predicate
569
+
570
+ [`PickByPredicate`](#../type-aliases/PickByPredicate)
571
+
572
+ ### maxDepth
573
+
574
+ `number` = `1`
575
+
576
+ ## Returns
577
+
578
+ `Partial`\<`T`\>
579
+
580
+ ### <a id="pickByPrefix"></a>pickByPrefix
581
+
582
+ [**@xylabs/object**](#../README)
583
+
584
+ ***
585
+
586
+ ```ts
587
+ function pickByPrefix<T, P>(
588
+ payload,
589
+ prefix,
590
+ maxDepth): DeepPickStartsWith<T, P>;
591
+ ```
592
+
593
+ ## Type Parameters
594
+
595
+ ### T
596
+
597
+ `T` *extends* `object`
598
+
599
+ ### P
600
+
601
+ `P` *extends* `string`
602
+
603
+ ## Parameters
604
+
605
+ ### payload
606
+
607
+ `T`
608
+
609
+ ### prefix
610
+
611
+ `P`
612
+
613
+ ### maxDepth
614
+
615
+ `number` = `100`
616
+
617
+ ## Returns
618
+
619
+ [`DeepPickStartsWith`](#../type-aliases/DeepPickStartsWith)\<`T`, `P`\>
620
+
621
+ ### <a id="removeFields"></a>removeFields
622
+
623
+ [**@xylabs/object**](#../README)
624
+
625
+ ***
626
+
627
+ ```ts
628
+ function removeFields<T, K>(obj, fields): Omit<T, K>;
629
+ ```
630
+
631
+ ## Type Parameters
632
+
633
+ ### T
634
+
635
+ `T` *extends* `object`
636
+
637
+ ### K
638
+
639
+ `K` *extends* `string` \| `number` \| `symbol`
640
+
641
+ ## Parameters
642
+
643
+ ### obj
644
+
645
+ `T`
646
+
647
+ ### fields
648
+
649
+ `K`[]
650
+
651
+ ## Returns
652
+
653
+ `Omit`\<`T`, `K`\>
654
+
655
+ ### <a id="toJson"></a>toJson
656
+
657
+ [**@xylabs/object**](#../README)
658
+
659
+ ***
660
+
661
+ ```ts
662
+ function toJson(value, maxDepth): JsonValue;
663
+ ```
664
+
665
+ ## Parameters
666
+
667
+ ### value
668
+
669
+ `unknown`
670
+
671
+ ### maxDepth
672
+
673
+ `number` = `3`
674
+
675
+ ## Returns
676
+
677
+ [`JsonValue`](#../type-aliases/JsonValue)
678
+
679
+ ### <a id="toJsonArray"></a>toJsonArray
680
+
681
+ [**@xylabs/object**](#../README)
682
+
683
+ ***
684
+
685
+ ```ts
686
+ function toJsonArray(
687
+ value,
688
+ cycleList?,
689
+ maxDepth?): JsonArray;
690
+ ```
691
+
692
+ ## Parameters
693
+
694
+ ### value
695
+
696
+ `unknown`[]
697
+
698
+ ### cycleList?
699
+
700
+ `unknown`[]
701
+
702
+ ### maxDepth?
703
+
704
+ `number` = `3`
705
+
706
+ ## Returns
707
+
708
+ [`JsonArray`](#../type-aliases/JsonArray)
709
+
710
+ ### <a id="toJsonObject"></a>toJsonObject
711
+
712
+ [**@xylabs/object**](#../README)
713
+
714
+ ***
715
+
716
+ ```ts
717
+ function toJsonObject(
718
+ value,
719
+ cycleList?,
720
+ maxDepth?): JsonObject;
721
+ ```
722
+
723
+ ## Parameters
724
+
725
+ ### value
726
+
727
+ `object`
728
+
729
+ ### cycleList?
730
+
731
+ `unknown`[]
732
+
733
+ ### maxDepth?
734
+
735
+ `number` = `3`
736
+
737
+ ## Returns
738
+
739
+ [`JsonObject`](#../type-aliases/JsonObject)
740
+
741
+ ### <a id="toJsonString"></a>toJsonString
742
+
743
+ [**@xylabs/object**](#../README)
744
+
745
+ ***
746
+
747
+ ```ts
748
+ function toJsonString(value, maxDepth): string;
749
+ ```
750
+
751
+ ## Parameters
752
+
753
+ ### value
754
+
755
+ `unknown`
756
+
757
+ ### maxDepth
758
+
759
+ `number` = `3`
760
+
761
+ ## Returns
762
+
763
+ `string`
764
+
765
+ ### <a id="toJsonValue"></a>toJsonValue
766
+
767
+ [**@xylabs/object**](#../README)
768
+
769
+ ***
770
+
771
+ ```ts
772
+ function toJsonValue(
773
+ value,
774
+ cycleList?,
775
+ maxDepth?): JsonValue;
776
+ ```
777
+
778
+ ## Parameters
779
+
780
+ ### value
781
+
782
+ `unknown`
783
+
784
+ ### cycleList?
785
+
786
+ `unknown`[]
787
+
788
+ ### maxDepth?
789
+
790
+ `number` = `3`
791
+
792
+ ## Returns
793
+
794
+ [`JsonValue`](#../type-aliases/JsonValue)
795
+
796
+ ### interfaces
797
+
798
+ ### <a id="ObjectTypeConfig"></a>ObjectTypeConfig
799
+
800
+ [**@xylabs/object**](#../README)
801
+
802
+ ***
803
+
804
+ ## Extends
805
+
806
+ - [`TypeCheckConfig`](#TypeCheckConfig)
807
+
808
+ ## Properties
809
+
810
+ ### log?
811
+
812
+ ```ts
813
+ optional log: boolean | Logger;
814
+ ```
815
+
816
+ ### Inherited from
817
+
818
+ [`TypeCheckConfig`](#TypeCheckConfig).[`log`](TypeCheckConfig.md#log)
819
+
820
+ ### <a id="TypeCheckConfig"></a>TypeCheckConfig
821
+
822
+ [**@xylabs/object**](#../README)
823
+
824
+ ***
825
+
826
+ ## Extended by
827
+
828
+ - [`ObjectTypeConfig`](#ObjectTypeConfig)
829
+ - [`TypeCheckRequiredConfig`](#TypeCheckRequiredConfig)
830
+ - [`TypeCheckOptionalConfig`](#TypeCheckOptionalConfig)
831
+
832
+ ## Properties
833
+
834
+ ### log?
835
+
836
+ ```ts
837
+ optional log: boolean | Logger;
838
+ ```
839
+
840
+ ### <a id="TypeCheckOptionalConfig"></a>TypeCheckOptionalConfig
841
+
842
+ [**@xylabs/object**](#../README)
843
+
844
+ ***
845
+
846
+ ## Extends
847
+
848
+ - [`TypeCheckConfig`](#TypeCheckConfig)
849
+
850
+ ## Properties
851
+
852
+ ### log?
853
+
854
+ ```ts
855
+ optional log: boolean | Logger;
856
+ ```
857
+
858
+ ### Inherited from
859
+
860
+ [`TypeCheckConfig`](#TypeCheckConfig).[`log`](TypeCheckConfig.md#log)
861
+
862
+ ***
863
+
864
+ ### required
865
+
866
+ ```ts
867
+ required: false;
868
+ ```
869
+
870
+ ### <a id="TypeCheckRequiredConfig"></a>TypeCheckRequiredConfig
871
+
872
+ [**@xylabs/object**](#../README)
873
+
874
+ ***
875
+
876
+ ## Extends
877
+
878
+ - [`TypeCheckConfig`](#TypeCheckConfig)
879
+
880
+ ## Properties
881
+
882
+ ### log?
883
+
884
+ ```ts
885
+ optional log: boolean | Logger;
886
+ ```
887
+
888
+ ### Inherited from
889
+
890
+ [`TypeCheckConfig`](#TypeCheckConfig).[`log`](TypeCheckConfig.md#log)
891
+
892
+ ***
893
+
894
+ ### required
895
+
896
+ ```ts
897
+ required: true;
898
+ ```
899
+
900
+ ### <a id="Validator"></a>Validator
901
+
902
+ [**@xylabs/object**](#../README)
903
+
904
+ ***
905
+
906
+ ## Type Parameters
907
+
908
+ ### T
909
+
910
+ `T` *extends* [`EmptyObject`](#../type-aliases/EmptyObject) = [`AnyObject`](#../type-aliases/AnyObject)
911
+
912
+ ## Methods
913
+
914
+ ### validate()
915
+
916
+ ```ts
917
+ validate(payload): Promisable<Error[]>;
918
+ ```
919
+
920
+ ### Parameters
921
+
922
+ #### payload
923
+
924
+ `T`
925
+
926
+ ### Returns
927
+
928
+ `Promisable`\<`Error`[]\>
929
+
930
+ ### type-aliases
931
+
932
+ ### <a id="AnyObject"></a>AnyObject
933
+
934
+ [**@xylabs/object**](#../README)
935
+
936
+ ***
937
+
938
+ ```ts
939
+ type AnyObject = Record<TypedKey, unknown>;
940
+ ```
941
+
942
+ Any object, which means that it does not enforce the set of fields that it has. Extending from AnyObject
943
+ will result in a type that includes the universal set of field names
944
+
945
+ ### <a id="AsOptionalTypeFunction"></a>AsOptionalTypeFunction
946
+
947
+ [**@xylabs/object**](#../README)
948
+
949
+ ***
950
+
951
+ ```ts
952
+ type AsOptionalTypeFunction<T> = <TType>(value) => undefined | TType;
953
+ ```
954
+
955
+ ## Type Parameters
956
+
957
+ ### T
958
+
959
+ `T` *extends* `AnyNonPromise` = `AnyNonPromise`
960
+
961
+ ## Type Parameters
962
+
963
+ ### TType
964
+
965
+ `TType` *extends* `AnyNonPromise`
966
+
967
+ ## Parameters
968
+
969
+ ### value
970
+
971
+ `AnyNonPromise`
972
+
973
+ ## Returns
974
+
975
+ `undefined` \| `TType`
976
+
977
+ ### <a id="AsTypeFunction"></a>AsTypeFunction
978
+
979
+ [**@xylabs/object**](#../README)
980
+
981
+ ***
982
+
983
+ ```ts
984
+ type AsTypeFunction<T> = {
985
+ <TType> (value): undefined | TType;
986
+ <TType> (value, config): TType;
987
+ <TType> (value, config): undefined | TType;
988
+ <TType> (value, assert): undefined | TType;
989
+ <TType> (value, assert, config): TType;
990
+ <TType> (value, assert, config): undefined | TType;
991
+ };
992
+ ```
993
+
994
+ ## Type Parameters
995
+
996
+ ### T
997
+
998
+ `T` *extends* `AnyNonPromise` = `AnyNonPromise`
999
+
1000
+ ## Call Signature
1001
+
1002
+ ```ts
1003
+ <TType>(value): undefined | TType;
1004
+ ```
1005
+
1006
+ ### Type Parameters
1007
+
1008
+ ### TType
1009
+
1010
+ `TType` *extends* `AnyNonPromise`
1011
+
1012
+ ### Parameters
1013
+
1014
+ ### value
1015
+
1016
+ `AnyNonPromise`
1017
+
1018
+ ### Returns
1019
+
1020
+ `undefined` \| `TType`
1021
+
1022
+ ## Call Signature
1023
+
1024
+ ```ts
1025
+ <TType>(value, config): TType;
1026
+ ```
1027
+
1028
+ ### Type Parameters
1029
+
1030
+ ### TType
1031
+
1032
+ `TType` *extends* `AnyNonPromise`
1033
+
1034
+ ### Parameters
1035
+
1036
+ ### value
1037
+
1038
+ `AnyNonPromise`
1039
+
1040
+ ### config
1041
+
1042
+ [`TypeCheckRequiredConfig`](#../interfaces/TypeCheckRequiredConfig)
1043
+
1044
+ ### Returns
1045
+
1046
+ `TType`
1047
+
1048
+ ## Call Signature
1049
+
1050
+ ```ts
1051
+ <TType>(value, config): undefined | TType;
1052
+ ```
1053
+
1054
+ ### Type Parameters
1055
+
1056
+ ### TType
1057
+
1058
+ `TType` *extends* `AnyNonPromise`
1059
+
1060
+ ### Parameters
1061
+
1062
+ ### value
1063
+
1064
+ `AnyNonPromise`
1065
+
1066
+ ### config
1067
+
1068
+ [`TypeCheckConfig`](#../interfaces/TypeCheckConfig) | [`TypeCheckOptionalConfig`](#../interfaces/TypeCheckOptionalConfig)
1069
+
1070
+ ### Returns
1071
+
1072
+ `undefined` \| `TType`
1073
+
1074
+ ## Call Signature
1075
+
1076
+ ```ts
1077
+ <TType>(value, assert): undefined | TType;
1078
+ ```
1079
+
1080
+ ### Type Parameters
1081
+
1082
+ ### TType
1083
+
1084
+ `TType` *extends* `AnyNonPromise`
1085
+
1086
+ ### Parameters
1087
+
1088
+ ### value
1089
+
1090
+ `AnyNonPromise`
1091
+
1092
+ ### assert
1093
+
1094
+ [`StringOrAlertFunction`](#StringOrAlertFunction)\<`TType`\>
1095
+
1096
+ ### Returns
1097
+
1098
+ `undefined` \| `TType`
1099
+
1100
+ ## Call Signature
1101
+
1102
+ ```ts
1103
+ <TType>(
1104
+ value,
1105
+ assert,
1106
+ config): TType;
1107
+ ```
1108
+
1109
+ ### Type Parameters
1110
+
1111
+ ### TType
1112
+
1113
+ `TType` *extends* `AnyNonPromise`
1114
+
1115
+ ### Parameters
1116
+
1117
+ ### value
1118
+
1119
+ `AnyNonPromise`
1120
+
1121
+ ### assert
1122
+
1123
+ [`StringOrAlertFunction`](#StringOrAlertFunction)\<`TType`\>
1124
+
1125
+ ### config
1126
+
1127
+ [`TypeCheckRequiredConfig`](#../interfaces/TypeCheckRequiredConfig)
1128
+
1129
+ ### Returns
1130
+
1131
+ `TType`
1132
+
1133
+ ## Call Signature
1134
+
1135
+ ```ts
1136
+ <TType>(
1137
+ value,
1138
+ assert,
1139
+ config): undefined | TType;
1140
+ ```
1141
+
1142
+ ### Type Parameters
1143
+
1144
+ ### TType
1145
+
1146
+ `TType` *extends* `AnyNonPromise`
1147
+
1148
+ ### Parameters
1149
+
1150
+ ### value
1151
+
1152
+ `AnyNonPromise`
1153
+
1154
+ ### assert
1155
+
1156
+ [`StringOrAlertFunction`](#StringOrAlertFunction)\<`TType`\>
1157
+
1158
+ ### config
1159
+
1160
+ [`TypeCheckConfig`](#../interfaces/TypeCheckConfig) | [`TypeCheckOptionalConfig`](#../interfaces/TypeCheckOptionalConfig)
1161
+
1162
+ ### Returns
1163
+
1164
+ `undefined` \| `TType`
1165
+
1166
+ ### <a id="Compare"></a>Compare
1167
+
1168
+ [**@xylabs/object**](#../README)
1169
+
1170
+ ***
1171
+
1172
+ ```ts
1173
+ type Compare<T> = (a, b) => number;
1174
+ ```
1175
+
1176
+ ## Type Parameters
1177
+
1178
+ ### T
1179
+
1180
+ `T`
1181
+
1182
+ ## Parameters
1183
+
1184
+ ### a
1185
+
1186
+ `T`
1187
+
1188
+ ### b
1189
+
1190
+ `T`
1191
+
1192
+ ## Returns
1193
+
1194
+ `number`
1195
+
1196
+ ### <a id="DeepOmitStartsWith"></a>DeepOmitStartsWith
1197
+
1198
+ [**@xylabs/object**](#../README)
1199
+
1200
+ ***
1201
+
1202
+ ```ts
1203
+ type DeepOmitStartsWith<T, Prefix> = T extends infer U[] ? DeepOmitStartsWith<U, Prefix>[] : T extends object ? { [K in keyof T as K extends string ? K extends `${Prefix}${string}` ? never : K : K]: DeepOmitStartsWith<T[K], Prefix> } : T;
1204
+ ```
1205
+
1206
+ ## Type Parameters
1207
+
1208
+ ### T
1209
+
1210
+ `T`
1211
+
1212
+ ### Prefix
1213
+
1214
+ `Prefix` *extends* `string`
1215
+
1216
+ ### <a id="DeepPickStartsWith"></a>DeepPickStartsWith
1217
+
1218
+ [**@xylabs/object**](#../README)
1219
+
1220
+ ***
1221
+
1222
+ ```ts
1223
+ type DeepPickStartsWith<T, Prefix> = T extends infer U[] ? DeepPickStartsWith<U, Prefix>[] : T extends object ? { [K in keyof T as K extends string ? K extends `${Prefix}${string}` ? K : never : K]: DeepPickStartsWith<T[K], Prefix> } : T;
1224
+ ```
1225
+
1226
+ ## Type Parameters
1227
+
1228
+ ### T
1229
+
1230
+ `T`
1231
+
1232
+ ### Prefix
1233
+
1234
+ `Prefix` *extends* `string`
1235
+
1236
+ ### <a id="DeepRestrictToStringKeys"></a>DeepRestrictToStringKeys
1237
+
1238
+ [**@xylabs/object**](#../README)
1239
+
1240
+ ***
1241
+
1242
+ ```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] };
1244
+ ```
1245
+
1246
+ ## Type Parameters
1247
+
1248
+ ### T
1249
+
1250
+ `T`
1251
+
1252
+ ### <a id="EmptyObject"></a>EmptyObject
1253
+
1254
+ [**@xylabs/object**](#../README)
1255
+
1256
+ ***
1257
+
1258
+ ```ts
1259
+ type EmptyObject<T> = { [K in keyof T]?: never };
1260
+ ```
1261
+
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
+ ## Type Parameters
1266
+
1267
+ ### T
1268
+
1269
+ `T` *extends* `object` = `object`
1270
+
1271
+ ### <a id="EmptyObjectOf"></a>EmptyObjectOf
1272
+
1273
+ [**@xylabs/object**](#../README)
1274
+
1275
+ ***
1276
+
1277
+ ```ts
1278
+ type EmptyObjectOf<T> = EmptyObject<T> extends T ? EmptyObject<T> : never;
1279
+ ```
1280
+
1281
+ ## Type Parameters
1282
+
1283
+ ### T
1284
+
1285
+ `T` *extends* `object`
1286
+
1287
+ ### <a id="JsonArray"></a>JsonArray
1288
+
1289
+ [**@xylabs/object**](#../README)
1290
+
1291
+ ***
1292
+
1293
+ ```ts
1294
+ type JsonArray = JsonValue[];
1295
+ ```
1296
+
1297
+ ### <a id="JsonObject"></a>JsonObject
1298
+
1299
+ [**@xylabs/object**](#../README)
1300
+
1301
+ ***
1302
+
1303
+ ```ts
1304
+ type JsonObject = object;
1305
+ ```
1306
+
1307
+ ## Index Signature
1308
+
1309
+ ```ts
1310
+ [key: string]: JsonValue
1311
+ ```
1312
+
1313
+ ### <a id="JsonValue"></a>JsonValue
1314
+
1315
+ [**@xylabs/object**](#../README)
1316
+
1317
+ ***
1318
+
1319
+ ```ts
1320
+ type JsonValue =
1321
+ | string
1322
+ | number
1323
+ | boolean
1324
+ | null
1325
+ | JsonObject
1326
+ | JsonArray;
1327
+ ```
1328
+
1329
+ ### <a id="OmitByPredicate"></a>OmitByPredicate
1330
+
1331
+ [**@xylabs/object**](#../README)
1332
+
1333
+ ***
1334
+
1335
+ ```ts
1336
+ type OmitByPredicate<T> = (value, key) => boolean;
1337
+ ```
1338
+
1339
+ ## Type Parameters
1340
+
1341
+ ### T
1342
+
1343
+ `T` *extends* [`EmptyObject`](#EmptyObject) = `Record`\<`string`, `unknown`\>
1344
+
1345
+ ## Parameters
1346
+
1347
+ ### value
1348
+
1349
+ `T`\[keyof `T`\]
1350
+
1351
+ ### key
1352
+
1353
+ keyof `T`
1354
+
1355
+ ## Returns
1356
+
1357
+ `boolean`
1358
+
1359
+ ### <a id="OmitStartsWith"></a>OmitStartsWith
1360
+
1361
+ [**@xylabs/object**](#../README)
1362
+
1363
+ ***
1364
+
1365
+ ```ts
1366
+ type OmitStartsWith<T, Prefix> = { [K in keyof T as K extends `${Prefix}${string}` ? never : K]: T[K] };
1367
+ ```
1368
+
1369
+ ## Type Parameters
1370
+
1371
+ ### T
1372
+
1373
+ `T`
1374
+
1375
+ ### Prefix
1376
+
1377
+ `Prefix` *extends* `string`
1378
+
1379
+ ### <a id="Optional"></a>Optional
1380
+
1381
+ [**@xylabs/object**](#../README)
1382
+
1383
+ ***
1384
+
1385
+ ```ts
1386
+ type Optional<T, F> = Omit<T, F> & Partial<Pick<T, F>>;
1387
+ ```
1388
+
1389
+ ## Type Parameters
1390
+
1391
+ ### T
1392
+
1393
+ `T` *extends* `object`
1394
+
1395
+ ### F
1396
+
1397
+ `F` *extends* keyof `T`
1398
+
1399
+ ### <a id="Override"></a>Override
1400
+
1401
+ [**@xylabs/object**](#../README)
1402
+
1403
+ ***
1404
+
1405
+ ```ts
1406
+ type Override<T1, T2> = Omit<T1, keyof T2> & T2;
1407
+ ```
1408
+
1409
+ ## Type Parameters
1410
+
1411
+ ### T1
1412
+
1413
+ `T1`
1414
+
1415
+ ### T2
1416
+
1417
+ `T2`
1418
+
1419
+ ### <a id="PartialRecord"></a>PartialRecord
1420
+
1421
+ [**@xylabs/object**](#../README)
1422
+
1423
+ ***
1424
+
1425
+ ```ts
1426
+ type PartialRecord<K, T> = { [P in K]?: T };
1427
+ ```
1428
+
1429
+ ## Type Parameters
1430
+
1431
+ ### K
1432
+
1433
+ `K` *extends* keyof `any`
1434
+
1435
+ ### T
1436
+
1437
+ `T`
1438
+
1439
+ ## Deprecated
1440
+
1441
+ use Partial<Record<>> instead
1442
+
1443
+ ### <a id="PickByPredicate"></a>PickByPredicate
1444
+
1445
+ [**@xylabs/object**](#../README)
1446
+
1447
+ ***
1448
+
1449
+ ```ts
1450
+ type PickByPredicate<T> = (value, key) => boolean;
1451
+ ```
1452
+
1453
+ ## Type Parameters
1454
+
1455
+ ### T
1456
+
1457
+ `T` *extends* [`EmptyObject`](#EmptyObject) = `Record`\<`string`, `unknown`\>
1458
+
1459
+ ## Parameters
1460
+
1461
+ ### value
1462
+
1463
+ `T`\[keyof `T`\]
1464
+
1465
+ ### key
1466
+
1467
+ keyof `T`
1468
+
1469
+ ## Returns
1470
+
1471
+ `boolean`
1472
+
1473
+ ### <a id="PickStartsWith"></a>PickStartsWith
1474
+
1475
+ [**@xylabs/object**](#../README)
1476
+
1477
+ ***
1478
+
1479
+ ```ts
1480
+ type PickStartsWith<T, Prefix> = { [K in keyof T as K extends `${Prefix}${string}` ? K : never]: T[K] };
1481
+ ```
1482
+
1483
+ ## Type Parameters
1484
+
1485
+ ### T
1486
+
1487
+ `T`
1488
+
1489
+ ### Prefix
1490
+
1491
+ `Prefix` *extends* `string`
1492
+
1493
+ ### <a id="StringKeyObject"></a>StringKeyObject
1494
+
1495
+ [**@xylabs/object**](#../README)
1496
+
1497
+ ***
1498
+
1499
+ ```ts
1500
+ type StringKeyObject<T> = object;
1501
+ ```
1502
+
1503
+ ## Type Parameters
1504
+
1505
+ ### T
1506
+
1507
+ `T` = `unknown`
1508
+
1509
+ ## Index Signature
1510
+
1511
+ ```ts
1512
+ [key: string]: T
1513
+ ```
1514
+
1515
+ ### <a id="StringOrAlertFunction"></a>StringOrAlertFunction
1516
+
1517
+ [**@xylabs/object**](#../README)
1518
+
1519
+ ***
1520
+
1521
+ ```ts
1522
+ type StringOrAlertFunction<T> = string | AssertExMessageFunc<T>;
1523
+ ```
1524
+
1525
+ ## Type Parameters
1526
+
1527
+ ### T
1528
+
1529
+ `T` *extends* `AnyNonPromise`
1530
+
1531
+ ### <a id="TypeCheck"></a>TypeCheck
1532
+
1533
+ [**@xylabs/object**](#../README)
1534
+
1535
+ ***
1536
+
1537
+ ```ts
1538
+ type TypeCheck<T> = {
1539
+ (obj): obj is T;
1540
+ (obj, config): obj is T;
1541
+ (obj, config): obj is T;
1542
+ };
1543
+ ```
1544
+
1545
+ ## Type Parameters
1546
+
1547
+ ### T
1548
+
1549
+ `T` *extends* `TypedValue`
1550
+
1551
+ ## Call Signature
1552
+
1553
+ ```ts
1554
+ (obj): obj is T;
1555
+ ```
1556
+
1557
+ ### Parameters
1558
+
1559
+ ### obj
1560
+
1561
+ `AnyNonPromise`
1562
+
1563
+ ### Returns
1564
+
1565
+ `obj is T`
1566
+
1567
+ ## Call Signature
1568
+
1569
+ ```ts
1570
+ (obj, config): obj is T;
1571
+ ```
1572
+
1573
+ ### Parameters
1574
+
1575
+ ### obj
1576
+
1577
+ `AnyNonPromise`
1578
+
1579
+ ### config
1580
+
1581
+ [`TypeCheckConfig`](#../interfaces/TypeCheckConfig)
1582
+
1583
+ ### Returns
1584
+
1585
+ `obj is T`
1586
+
1587
+ ## Call Signature
1588
+
1589
+ ```ts
1590
+ (obj, config): obj is T;
1591
+ ```
1592
+
1593
+ ### Parameters
1594
+
1595
+ ### obj
1596
+
1597
+ `AnyNonPromise`
1598
+
1599
+ ### config
1600
+
1601
+ `undefined` | `number` | [`TypeCheckConfig`](#../interfaces/TypeCheckConfig)
1602
+
1603
+ ### Returns
1604
+
1605
+ `obj is T`
1606
+
1607
+ ### <a id="WithAdditional"></a>WithAdditional
1608
+
1609
+ [**@xylabs/object**](#../README)
1610
+
1611
+ ***
1612
+
1613
+ ```ts
1614
+ type WithAdditional<T, TAdditional> = TAdditional extends EmptyObject ? T & TAdditional : T;
1615
+ ```
1616
+
1617
+ ## Type Parameters
1618
+
1619
+ ### T
1620
+
1621
+ `T` *extends* [`EmptyObject`](#EmptyObject) \| `void`
1622
+
1623
+ ### TAdditional
1624
+
1625
+ `TAdditional` *extends* [`EmptyObject`](#EmptyObject) \| `void` = `void`
1626
+
1627
+ ### variables
1628
+
1629
+ ### <a id="AsObjectFactory"></a>AsObjectFactory
1630
+
1631
+ [**@xylabs/object**](#../README)
1632
+
1633
+ ***
1634
+
1635
+ ```ts
1636
+ const AsObjectFactory: object;
1637
+ ```
1638
+
1639
+ ## Type declaration
1640
+
1641
+ ### create()
1642
+
1643
+ ```ts
1644
+ create: <T>(typeCheck) => AsTypeFunction<T>;
1645
+ ```
1646
+
1647
+ ### Type Parameters
1648
+
1649
+ #### T
1650
+
1651
+ `T` *extends* `TypedObject`
1652
+
1653
+ ### Parameters
1654
+
1655
+ #### typeCheck
1656
+
1657
+ [`TypeCheck`](#../type-aliases/TypeCheck)\<`T`\>
1658
+
1659
+ ### Returns
1660
+
1661
+ [`AsTypeFunction`](#../type-aliases/AsTypeFunction)\<`T`\>
1662
+
1663
+ ### createOptional()
1664
+
1665
+ ```ts
1666
+ createOptional: <T>(typeCheck) => (value) => undefined | T;
1667
+ ```
1668
+
1669
+ ### Type Parameters
1670
+
1671
+ #### T
1672
+
1673
+ `T` *extends* `TypedObject`
1674
+
1675
+ ### Parameters
1676
+
1677
+ #### typeCheck
1678
+
1679
+ [`TypeCheck`](#../type-aliases/TypeCheck)\<`T`\>
1680
+
1681
+ ### Returns
1682
+
1683
+ ```ts
1684
+ (value): undefined | T;
1685
+ ```
1686
+
1687
+ #### Parameters
1688
+
1689
+ ##### value
1690
+
1691
+ `AnyNonPromise`
1692
+
1693
+ #### Returns
1694
+
1695
+ `undefined` \| `T`
1696
+
1697
+ ### <a id="AsTypeFactory"></a>AsTypeFactory
1698
+
1699
+ [**@xylabs/object**](#../README)
1700
+
1701
+ ***
1702
+
1703
+ ```ts
1704
+ const AsTypeFactory: object;
1705
+ ```
1706
+
1707
+ ## Type declaration
1708
+
1709
+ ### create()
1710
+
1711
+ ```ts
1712
+ create: <T>(typeCheck) => AsTypeFunction<T>;
1713
+ ```
1714
+
1715
+ ### Type Parameters
1716
+
1717
+ #### T
1718
+
1719
+ `T` *extends* `AnyNonPromise`
1720
+
1721
+ ### Parameters
1722
+
1723
+ #### typeCheck
1724
+
1725
+ [`TypeCheck`](#../type-aliases/TypeCheck)\<`T`\>
1726
+
1727
+ ### Returns
1728
+
1729
+ [`AsTypeFunction`](#../type-aliases/AsTypeFunction)\<`T`\>
1730
+
1731
+ ### createOptional()
1732
+
1733
+ ```ts
1734
+ createOptional: <T>(typeCheck) => (value) => undefined | T;
1735
+ ```
1736
+
1737
+ ### Type Parameters
1738
+
1739
+ #### T
1740
+
1741
+ `T` *extends* `AnyNonPromise`
1742
+
1743
+ ### Parameters
1744
+
1745
+ #### typeCheck
1746
+
1747
+ [`TypeCheck`](#../type-aliases/TypeCheck)\<`T`\>
1748
+
1749
+ ### Returns
1750
+
1751
+ ```ts
1752
+ (value): undefined | T;
1753
+ ```
1754
+
1755
+ #### Parameters
1756
+
1757
+ ##### value
1758
+
1759
+ `AnyNonPromise`
1760
+
1761
+ #### Returns
1762
+
1763
+ `undefined` \| `T`
1764
+
1765
+ ### <a id="asAnyObject"></a>asAnyObject
1766
+
1767
+ [**@xylabs/object**](#../README)
1768
+
1769
+ ***
1770
+
1771
+ ```ts
1772
+ const asAnyObject: AsTypeFunction<AnyObject>;
1773
+ ```
1774
+
1775
+ ### <a id="deepMerge"></a>deepMerge
1776
+
1777
+ [**@xylabs/object**](#../README)
1778
+
1779
+ ***
1780
+
1781
+ ```ts
1782
+ const deepMerge: <T>(...objects) => MergeAll<T>;
1783
+ ```
1784
+
1785
+ Deeply merges multiple objects into a new object.
1786
+
1787
+ ## Type Parameters
1788
+
1789
+ ### T
1790
+
1791
+ `T` *extends* [`AnyObject`](#../type-aliases/AnyObject)[]
1792
+
1793
+ ## Parameters
1794
+
1795
+ ### objects
1796
+
1797
+ ...`T`
1798
+
1799
+ Multiple objects to merge deeply.
1800
+ The function merges properties from all objects into a new object.
1801
+ If a property exists in multiple objects, the last object's value will be used.
1802
+ If a property is an object, it will be merged recursively.
1803
+ If a property is an array, it will be overwritten by the last object's value.
1804
+ If a property is a primitive value, it will be overwritten by the last object's value.
1805
+ If a property is undefined in the source, it will be skipped.
1806
+ If a property is a symbol, it will be merged as well.
1807
+
1808
+ ## Returns
1809
+
1810
+ `MergeAll`\<`T`\>
1811
+
1812
+ A new object with the merged properties.
1813
+
1814
+
1815
+ Part of [sdk-js](https://www.npmjs.com/package/@xyo-network/sdk-js)
1816
+
1817
+ ## Maintainers
1818
+
1819
+ - [Arie Trouw](https://github.com/arietrouw) ([arietrouw.com](https://arietrouw.com))
1820
+ - [Matt Jones](https://github.com/jonesmac)
1821
+ - [Joel Carter](https://github.com/JoelBCarter)
1822
+ - [Jordan Trouw](https://github.com/jordantrouw)
1823
+
1824
+ ## License
1825
+
1826
+ > See the [LICENSE](LICENSE) file for license details
1827
+
1828
+ ## Credits
1829
+
1830
+ [Made with 🔥 and ❄️ by XYLabs](https://xylabs.com)
1831
+
1832
+ [logo]: https://cdn.xy.company/img/brand/XYPersistentCompany_Logo_Icon_Colored.svg
1833
+
1834
+ [main-build]: https://github.com/xylabs/sdk-js/actions/workflows/build.yml/badge.svg
1835
+ [main-build-link]: https://github.com/xylabs/sdk-js/actions/workflows/build.yml
1836
+ [npm-badge]: https://img.shields.io/npm/v/@xylabs/object.svg
1837
+ [npm-link]: https://www.npmjs.com/package/@xylabs/object
1838
+ [codacy-badge]: https://app.codacy.com/project/badge/Grade/c8e15e14f37741c18cfb47ac7245c698
1839
+ [codacy-link]: https://www.codacy.com/gh/xylabs/sdk-js/dashboard?utm_source=github.com&utm_medium=referral&utm_content=xylabs/sdk-js&utm_campaign=Badge_Grade
1840
+ [codeclimate-badge]: https://api.codeclimate.com/v1/badges/c5eb068f806f0b047ea7/maintainability
1841
+ [codeclimate-link]: https://codeclimate.com/github/xylabs/sdk-js/maintainability
1842
+ [snyk-badge]: https://snyk.io/test/github/xylabs/sdk-js/badge.svg?targetFile=package.json
1843
+ [snyk-link]: https://snyk.io/test/github/xylabs/sdk-js?targetFile=package.json
1844
+
1845
+ [npm-downloads-badge]: https://img.shields.io/npm/dw/@xylabs/object
1846
+ [npm-license-badge]: https://img.shields.io/npm/l/@xylabs/object
1847
+
1848
+ [jsdelivr-badge]: https://data.jsdelivr.com/v1/package/npm/@xylabs/object/badge
1849
+ [jsdelivr-link]: https://www.jsdelivr.com/package/npm/@xylabs/object
1850
+
1851
+ [socket-badge]: https://socket.dev/api/badge/npm/package/@xylabs/object
1852
+ [socket-link]: https://socket.dev/npm/package/@xylabs/object