@little-nebulae/system-error 1.0.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.
@@ -0,0 +1,924 @@
1
+ import { BaseError, BaseErrorMeta } from "@little-nebulae/error";
2
+ import { ValueOf } from "@little-nebulae/type-utils";
3
+ //#region src/is-errno-exception.d.ts
4
+ export declare function isErrnoException(error: unknown): error is NodeJS.ErrnoException;
5
+ //#endregion
6
+ //#region src/constants/errno.d.ts
7
+ export declare const ERRNO_RECORD: {
8
+ readonly EPERM: {
9
+ readonly name: "EPERM";
10
+ readonly number: "1";
11
+ readonly message: "Operation not permitted";
12
+ };
13
+ readonly ENOENT: {
14
+ readonly name: "ENOENT";
15
+ readonly number: "2";
16
+ readonly message: "No such file or directory";
17
+ };
18
+ readonly ESRCH: {
19
+ readonly name: "ESRCH";
20
+ readonly number: "3";
21
+ readonly message: "No such process";
22
+ };
23
+ readonly EINTR: {
24
+ readonly name: "EINTR";
25
+ readonly number: "4";
26
+ readonly message: "Interrupted system call";
27
+ };
28
+ readonly EIO: {
29
+ readonly name: "EIO";
30
+ readonly number: "5";
31
+ readonly message: "Input/output error";
32
+ };
33
+ readonly ENXIO: {
34
+ readonly name: "ENXIO";
35
+ readonly number: "6";
36
+ readonly message: "No such device or address";
37
+ };
38
+ readonly E2BIG: {
39
+ readonly name: "E2BIG";
40
+ readonly number: "7";
41
+ readonly message: "Argument list too long";
42
+ };
43
+ readonly ENOEXEC: {
44
+ readonly name: "ENOEXEC";
45
+ readonly number: "8";
46
+ readonly message: "Exec format error";
47
+ };
48
+ readonly EBADF: {
49
+ readonly name: "EBADF";
50
+ readonly number: "9";
51
+ readonly message: "Bad file descriptor";
52
+ };
53
+ readonly ECHILD: {
54
+ readonly name: "ECHILD";
55
+ readonly number: "10";
56
+ readonly message: "No child processes";
57
+ };
58
+ readonly EAGAIN: {
59
+ readonly name: "EAGAIN";
60
+ readonly number: "11";
61
+ readonly message: "Resource temporarily unavailable";
62
+ };
63
+ readonly ENOMEM: {
64
+ readonly name: "ENOMEM";
65
+ readonly number: "12";
66
+ readonly message: "Cannot allocate memory";
67
+ };
68
+ readonly EACCES: {
69
+ readonly name: "EACCES";
70
+ readonly number: "13";
71
+ readonly message: "Permission denied";
72
+ };
73
+ readonly EFAULT: {
74
+ readonly name: "EFAULT";
75
+ readonly number: "14";
76
+ readonly message: "Bad address";
77
+ };
78
+ readonly ENOTBLK: {
79
+ readonly name: "ENOTBLK";
80
+ readonly number: "15";
81
+ readonly message: "Block device required";
82
+ };
83
+ readonly EBUSY: {
84
+ readonly name: "EBUSY";
85
+ readonly number: "16";
86
+ readonly message: "Device or resource busy";
87
+ };
88
+ readonly EEXIST: {
89
+ readonly name: "EEXIST";
90
+ readonly number: "17";
91
+ readonly message: "File exists";
92
+ };
93
+ readonly EXDEV: {
94
+ readonly name: "EXDEV";
95
+ readonly number: "18";
96
+ readonly message: "Invalid cross-device link";
97
+ };
98
+ readonly ENODEV: {
99
+ readonly name: "ENODEV";
100
+ readonly number: "19";
101
+ readonly message: "No such device";
102
+ };
103
+ readonly ENOTDIR: {
104
+ readonly name: "ENOTDIR";
105
+ readonly number: "20";
106
+ readonly message: "Not a directory";
107
+ };
108
+ readonly EISDIR: {
109
+ readonly name: "EISDIR";
110
+ readonly number: "21";
111
+ readonly message: "Is a directory";
112
+ };
113
+ readonly EINVAL: {
114
+ readonly name: "EINVAL";
115
+ readonly number: "22";
116
+ readonly message: "Invalid argument";
117
+ };
118
+ readonly ENFILE: {
119
+ readonly name: "ENFILE";
120
+ readonly number: "23";
121
+ readonly message: "Too many open files in system";
122
+ };
123
+ readonly EMFILE: {
124
+ readonly name: "EMFILE";
125
+ readonly number: "24";
126
+ readonly message: "Too many open files";
127
+ };
128
+ readonly ENOTTY: {
129
+ readonly name: "ENOTTY";
130
+ readonly number: "25";
131
+ readonly message: "Inappropriate ioctl for device";
132
+ };
133
+ readonly ETXTBSY: {
134
+ readonly name: "ETXTBSY";
135
+ readonly number: "26";
136
+ readonly message: "Text file busy";
137
+ };
138
+ readonly EFBIG: {
139
+ readonly name: "EFBIG";
140
+ readonly number: "27";
141
+ readonly message: "File too large";
142
+ };
143
+ readonly ENOSPC: {
144
+ readonly name: "ENOSPC";
145
+ readonly number: "28";
146
+ readonly message: "No space left on device";
147
+ };
148
+ readonly ESPIPE: {
149
+ readonly name: "ESPIPE";
150
+ readonly number: "29";
151
+ readonly message: "Illegal seek";
152
+ };
153
+ readonly EROFS: {
154
+ readonly name: "EROFS";
155
+ readonly number: "30";
156
+ readonly message: "Read-only file system";
157
+ };
158
+ readonly EMLINK: {
159
+ readonly name: "EMLINK";
160
+ readonly number: "31";
161
+ readonly message: "Too many links";
162
+ };
163
+ readonly EPIPE: {
164
+ readonly name: "EPIPE";
165
+ readonly number: "32";
166
+ readonly message: "Broken pipe";
167
+ };
168
+ readonly EDOM: {
169
+ readonly name: "EDOM";
170
+ readonly number: "33";
171
+ readonly message: "Numerical argument out of domain";
172
+ };
173
+ readonly ERANGE: {
174
+ readonly name: "ERANGE";
175
+ readonly number: "34";
176
+ readonly message: "Numerical result out of range";
177
+ };
178
+ readonly EDEADLK: {
179
+ readonly name: "EDEADLK";
180
+ readonly number: "35";
181
+ readonly message: "Resource deadlock avoided";
182
+ };
183
+ readonly ENAMETOOLONG: {
184
+ readonly name: "ENAMETOOLONG";
185
+ readonly number: "36";
186
+ readonly message: "File name too long";
187
+ };
188
+ readonly ENOLCK: {
189
+ readonly name: "ENOLCK";
190
+ readonly number: "37";
191
+ readonly message: "No locks available";
192
+ };
193
+ readonly ENOSYS: {
194
+ readonly name: "ENOSYS";
195
+ readonly number: "38";
196
+ readonly message: "Function not implemented";
197
+ };
198
+ readonly ENOTEMPTY: {
199
+ readonly name: "ENOTEMPTY";
200
+ readonly number: "39";
201
+ readonly message: "Directory not empty";
202
+ };
203
+ readonly ELOOP: {
204
+ readonly name: "ELOOP";
205
+ readonly number: "40";
206
+ readonly message: "Too many levels of symbolic links";
207
+ };
208
+ readonly EWOULDBLOCK: {
209
+ readonly name: "EWOULDBLOCK";
210
+ readonly number: "11";
211
+ readonly message: "Resource temporarily unavailable";
212
+ };
213
+ readonly ENOMSG: {
214
+ readonly name: "ENOMSG";
215
+ readonly number: "42";
216
+ readonly message: "No message of desired type";
217
+ };
218
+ readonly EIDRM: {
219
+ readonly name: "EIDRM";
220
+ readonly number: "43";
221
+ readonly message: "Identifier removed";
222
+ };
223
+ readonly ECHRNG: {
224
+ readonly name: "ECHRNG";
225
+ readonly number: "44";
226
+ readonly message: "Channel number out of range";
227
+ };
228
+ readonly EL2NSYNC: {
229
+ readonly name: "EL2NSYNC";
230
+ readonly number: "45";
231
+ readonly message: "Level 2 not synchronized";
232
+ };
233
+ readonly EL3HLT: {
234
+ readonly name: "EL3HLT";
235
+ readonly number: "46";
236
+ readonly message: "Level 3 halted";
237
+ };
238
+ readonly EL3RST: {
239
+ readonly name: "EL3RST";
240
+ readonly number: "47";
241
+ readonly message: "Level 3 reset";
242
+ };
243
+ readonly ELNRNG: {
244
+ readonly name: "ELNRNG";
245
+ readonly number: "48";
246
+ readonly message: "Link number out of range";
247
+ };
248
+ readonly EUNATCH: {
249
+ readonly name: "EUNATCH";
250
+ readonly number: "49";
251
+ readonly message: "Protocol driver not attached";
252
+ };
253
+ readonly ENOCSI: {
254
+ readonly name: "ENOCSI";
255
+ readonly number: "50";
256
+ readonly message: "No CSI structure available";
257
+ };
258
+ readonly EL2HLT: {
259
+ readonly name: "EL2HLT";
260
+ readonly number: "51";
261
+ readonly message: "Level 2 halted";
262
+ };
263
+ readonly EBADE: {
264
+ readonly name: "EBADE";
265
+ readonly number: "52";
266
+ readonly message: "Invalid exchange";
267
+ };
268
+ readonly EBADR: {
269
+ readonly name: "EBADR";
270
+ readonly number: "53";
271
+ readonly message: "Invalid request descriptor";
272
+ };
273
+ readonly EXFULL: {
274
+ readonly name: "EXFULL";
275
+ readonly number: "54";
276
+ readonly message: "Exchange full";
277
+ };
278
+ readonly ENOANO: {
279
+ readonly name: "ENOANO";
280
+ readonly number: "55";
281
+ readonly message: "No anode";
282
+ };
283
+ readonly EBADRQC: {
284
+ readonly name: "EBADRQC";
285
+ readonly number: "56";
286
+ readonly message: "Invalid request code";
287
+ };
288
+ readonly EBADSLT: {
289
+ readonly name: "EBADSLT";
290
+ readonly number: "57";
291
+ readonly message: "Invalid slot";
292
+ };
293
+ readonly EDEADLOCK: {
294
+ readonly name: "EDEADLOCK";
295
+ readonly number: "35";
296
+ readonly message: "Resource deadlock avoided";
297
+ };
298
+ readonly EBFONT: {
299
+ readonly name: "EBFONT";
300
+ readonly number: "59";
301
+ readonly message: "Bad font file format";
302
+ };
303
+ readonly ENOSTR: {
304
+ readonly name: "ENOSTR";
305
+ readonly number: "60";
306
+ readonly message: "Device not a stream";
307
+ };
308
+ readonly ENODATA: {
309
+ readonly name: "ENODATA";
310
+ readonly number: "61";
311
+ readonly message: "No data available";
312
+ };
313
+ readonly ETIME: {
314
+ readonly name: "ETIME";
315
+ readonly number: "62";
316
+ readonly message: "Timer expired";
317
+ };
318
+ readonly ENOSR: {
319
+ readonly name: "ENOSR";
320
+ readonly number: "63";
321
+ readonly message: "Out of streams resources";
322
+ };
323
+ readonly ENONET: {
324
+ readonly name: "ENONET";
325
+ readonly number: "64";
326
+ readonly message: "Machine is not on the network";
327
+ };
328
+ readonly ENOPKG: {
329
+ readonly name: "ENOPKG";
330
+ readonly number: "65";
331
+ readonly message: "Package not installed";
332
+ };
333
+ readonly EREMOTE: {
334
+ readonly name: "EREMOTE";
335
+ readonly number: "66";
336
+ readonly message: "Object is remote";
337
+ };
338
+ readonly ENOLINK: {
339
+ readonly name: "ENOLINK";
340
+ readonly number: "67";
341
+ readonly message: "Link has been severed";
342
+ };
343
+ readonly EADV: {
344
+ readonly name: "EADV";
345
+ readonly number: "68";
346
+ readonly message: "Advertise error";
347
+ };
348
+ readonly ESRMNT: {
349
+ readonly name: "ESRMNT";
350
+ readonly number: "69";
351
+ readonly message: "Srmount error";
352
+ };
353
+ readonly ECOMM: {
354
+ readonly name: "ECOMM";
355
+ readonly number: "70";
356
+ readonly message: "Communication error on send";
357
+ };
358
+ readonly EPROTO: {
359
+ readonly name: "EPROTO";
360
+ readonly number: "71";
361
+ readonly message: "Protocol error";
362
+ };
363
+ readonly EMULTIHOP: {
364
+ readonly name: "EMULTIHOP";
365
+ readonly number: "72";
366
+ readonly message: "Multihop attempted";
367
+ };
368
+ readonly EDOTDOT: {
369
+ readonly name: "EDOTDOT";
370
+ readonly number: "73";
371
+ readonly message: "RFS specific error";
372
+ };
373
+ readonly EBADMSG: {
374
+ readonly name: "EBADMSG";
375
+ readonly number: "74";
376
+ readonly message: "Bad message";
377
+ };
378
+ readonly EOVERFLOW: {
379
+ readonly name: "EOVERFLOW";
380
+ readonly number: "75";
381
+ readonly message: "Value too large for defined data type";
382
+ };
383
+ readonly ENOTUNIQ: {
384
+ readonly name: "ENOTUNIQ";
385
+ readonly number: "76";
386
+ readonly message: "Name not unique on network";
387
+ };
388
+ readonly EBADFD: {
389
+ readonly name: "EBADFD";
390
+ readonly number: "77";
391
+ readonly message: "File descriptor in bad state";
392
+ };
393
+ readonly EREMCHG: {
394
+ readonly name: "EREMCHG";
395
+ readonly number: "78";
396
+ readonly message: "Remote address changed";
397
+ };
398
+ readonly ELIBACC: {
399
+ readonly name: "ELIBACC";
400
+ readonly number: "79";
401
+ readonly message: "Can not access a needed shared library";
402
+ };
403
+ readonly ELIBBAD: {
404
+ readonly name: "ELIBBAD";
405
+ readonly number: "80";
406
+ readonly message: "Accessing a corrupted shared library";
407
+ };
408
+ readonly ELIBSCN: {
409
+ readonly name: "ELIBSCN";
410
+ readonly number: "81";
411
+ readonly message: ".lib section in a.out corrupted";
412
+ };
413
+ readonly ELIBMAX: {
414
+ readonly name: "ELIBMAX";
415
+ readonly number: "82";
416
+ readonly message: "Attempting to link in too many shared libraries";
417
+ };
418
+ readonly ELIBEXEC: {
419
+ readonly name: "ELIBEXEC";
420
+ readonly number: "83";
421
+ readonly message: "Cannot exec a shared library directly";
422
+ };
423
+ readonly EILSEQ: {
424
+ readonly name: "EILSEQ";
425
+ readonly number: "84";
426
+ readonly message: "Invalid or incomplete multibyte or wide character";
427
+ };
428
+ readonly ERESTART: {
429
+ readonly name: "ERESTART";
430
+ readonly number: "85";
431
+ readonly message: "Interrupted system call should be restarted";
432
+ };
433
+ readonly ESTRPIPE: {
434
+ readonly name: "ESTRPIPE";
435
+ readonly number: "86";
436
+ readonly message: "Streams pipe error";
437
+ };
438
+ readonly EUSERS: {
439
+ readonly name: "EUSERS";
440
+ readonly number: "87";
441
+ readonly message: "Too many users";
442
+ };
443
+ readonly ENOTSOCK: {
444
+ readonly name: "ENOTSOCK";
445
+ readonly number: "88";
446
+ readonly message: "Socket operation on non-socket";
447
+ };
448
+ readonly EDESTADDRREQ: {
449
+ readonly name: "EDESTADDRREQ";
450
+ readonly number: "89";
451
+ readonly message: "Destination address required";
452
+ };
453
+ readonly EMSGSIZE: {
454
+ readonly name: "EMSGSIZE";
455
+ readonly number: "90";
456
+ readonly message: "Message too long";
457
+ };
458
+ readonly EPROTOTYPE: {
459
+ readonly name: "EPROTOTYPE";
460
+ readonly number: "91";
461
+ readonly message: "Protocol wrong type for socket";
462
+ };
463
+ readonly ENOPROTOOPT: {
464
+ readonly name: "ENOPROTOOPT";
465
+ readonly number: "92";
466
+ readonly message: "Protocol not available";
467
+ };
468
+ readonly EPROTONOSUPPORT: {
469
+ readonly name: "EPROTONOSUPPORT";
470
+ readonly number: "93";
471
+ readonly message: "Protocol not supported";
472
+ };
473
+ readonly ESOCKTNOSUPPORT: {
474
+ readonly name: "ESOCKTNOSUPPORT";
475
+ readonly number: "94";
476
+ readonly message: "Socket type not supported";
477
+ };
478
+ readonly EOPNOTSUPP: {
479
+ readonly name: "EOPNOTSUPP";
480
+ readonly number: "95";
481
+ readonly message: "Operation not supported";
482
+ };
483
+ readonly EPFNOSUPPORT: {
484
+ readonly name: "EPFNOSUPPORT";
485
+ readonly number: "96";
486
+ readonly message: "Protocol family not supported";
487
+ };
488
+ readonly EAFNOSUPPORT: {
489
+ readonly name: "EAFNOSUPPORT";
490
+ readonly number: "97";
491
+ readonly message: "Address family not supported by protocol";
492
+ };
493
+ readonly EADDRINUSE: {
494
+ readonly name: "EADDRINUSE";
495
+ readonly number: "98";
496
+ readonly message: "Address already in use";
497
+ };
498
+ readonly EADDRNOTAVAIL: {
499
+ readonly name: "EADDRNOTAVAIL";
500
+ readonly number: "99";
501
+ readonly message: "Cannot assign requested address";
502
+ };
503
+ readonly ENETDOWN: {
504
+ readonly name: "ENETDOWN";
505
+ readonly number: "100";
506
+ readonly message: "Network is down";
507
+ };
508
+ readonly ENETUNREACH: {
509
+ readonly name: "ENETUNREACH";
510
+ readonly number: "101";
511
+ readonly message: "Network is unreachable";
512
+ };
513
+ readonly ENETRESET: {
514
+ readonly name: "ENETRESET";
515
+ readonly number: "102";
516
+ readonly message: "Network dropped connection on reset";
517
+ };
518
+ readonly ECONNABORTED: {
519
+ readonly name: "ECONNABORTED";
520
+ readonly number: "103";
521
+ readonly message: "Software caused connection abort";
522
+ };
523
+ readonly ECONNRESET: {
524
+ readonly name: "ECONNRESET";
525
+ readonly number: "104";
526
+ readonly message: "Connection reset by peer";
527
+ };
528
+ readonly ENOBUFS: {
529
+ readonly name: "ENOBUFS";
530
+ readonly number: "105";
531
+ readonly message: "No buffer space available";
532
+ };
533
+ readonly EISCONN: {
534
+ readonly name: "EISCONN";
535
+ readonly number: "106";
536
+ readonly message: "Transport endpoint is already connected";
537
+ };
538
+ readonly ENOTCONN: {
539
+ readonly name: "ENOTCONN";
540
+ readonly number: "107";
541
+ readonly message: "Transport endpoint is not connected";
542
+ };
543
+ readonly ESHUTDOWN: {
544
+ readonly name: "ESHUTDOWN";
545
+ readonly number: "108";
546
+ readonly message: "Cannot send after transport endpoint shutdown";
547
+ };
548
+ readonly ETOOMANYREFS: {
549
+ readonly name: "ETOOMANYREFS";
550
+ readonly number: "109";
551
+ readonly message: "Too many references: cannot splice";
552
+ };
553
+ readonly ETIMEDOUT: {
554
+ readonly name: "ETIMEDOUT";
555
+ readonly number: "110";
556
+ readonly message: "Connection timed out";
557
+ };
558
+ readonly ECONNREFUSED: {
559
+ readonly name: "ECONNREFUSED";
560
+ readonly number: "111";
561
+ readonly message: "Connection refused";
562
+ };
563
+ readonly EHOSTDOWN: {
564
+ readonly name: "EHOSTDOWN";
565
+ readonly number: "112";
566
+ readonly message: "Host is down";
567
+ };
568
+ readonly EHOSTUNREACH: {
569
+ readonly name: "EHOSTUNREACH";
570
+ readonly number: "113";
571
+ readonly message: "No route to host";
572
+ };
573
+ readonly EALREADY: {
574
+ readonly name: "EALREADY";
575
+ readonly number: "114";
576
+ readonly message: "Operation already in progress";
577
+ };
578
+ readonly EINPROGRESS: {
579
+ readonly name: "EINPROGRESS";
580
+ readonly number: "115";
581
+ readonly message: "Operation now in progress";
582
+ };
583
+ readonly ESTALE: {
584
+ readonly name: "ESTALE";
585
+ readonly number: "116";
586
+ readonly message: "Stale file handle";
587
+ };
588
+ readonly EUCLEAN: {
589
+ readonly name: "EUCLEAN";
590
+ readonly number: "117";
591
+ readonly message: "Structure needs cleaning";
592
+ };
593
+ readonly ENOTNAM: {
594
+ readonly name: "ENOTNAM";
595
+ readonly number: "118";
596
+ readonly message: "Not a XENIX named type file";
597
+ };
598
+ readonly ENAVAIL: {
599
+ readonly name: "ENAVAIL";
600
+ readonly number: "119";
601
+ readonly message: "No XENIX semaphores available";
602
+ };
603
+ readonly EISNAM: {
604
+ readonly name: "EISNAM";
605
+ readonly number: "120";
606
+ readonly message: "Is a named type file";
607
+ };
608
+ readonly EREMOTEIO: {
609
+ readonly name: "EREMOTEIO";
610
+ readonly number: "121";
611
+ readonly message: "Remote I/O error";
612
+ };
613
+ readonly EDQUOT: {
614
+ readonly name: "EDQUOT";
615
+ readonly number: "122";
616
+ readonly message: "Disk quota exceeded";
617
+ };
618
+ readonly ENOMEDIUM: {
619
+ readonly name: "ENOMEDIUM";
620
+ readonly number: "123";
621
+ readonly message: "No medium found";
622
+ };
623
+ readonly EMEDIUMTYPE: {
624
+ readonly name: "EMEDIUMTYPE";
625
+ readonly number: "124";
626
+ readonly message: "Wrong medium type";
627
+ };
628
+ readonly ECANCELED: {
629
+ readonly name: "ECANCELED";
630
+ readonly number: "125";
631
+ readonly message: "Operation canceled";
632
+ };
633
+ readonly ENOKEY: {
634
+ readonly name: "ENOKEY";
635
+ readonly number: "126";
636
+ readonly message: "Required key not available";
637
+ };
638
+ readonly EKEYEXPIRED: {
639
+ readonly name: "EKEYEXPIRED";
640
+ readonly number: "127";
641
+ readonly message: "Key has expired";
642
+ };
643
+ readonly EKEYREVOKED: {
644
+ readonly name: "EKEYREVOKED";
645
+ readonly number: "128";
646
+ readonly message: "Key has been revoked";
647
+ };
648
+ readonly EKEYREJECTED: {
649
+ readonly name: "EKEYREJECTED";
650
+ readonly number: "129";
651
+ readonly message: "Key was rejected by service";
652
+ };
653
+ readonly EOWNERDEAD: {
654
+ readonly name: "EOWNERDEAD";
655
+ readonly number: "130";
656
+ readonly message: "Owner died";
657
+ };
658
+ readonly ENOTRECOVERABLE: {
659
+ readonly name: "ENOTRECOVERABLE";
660
+ readonly number: "131";
661
+ readonly message: "State not recoverable";
662
+ };
663
+ readonly ERFKILL: {
664
+ readonly name: "ERFKILL";
665
+ readonly number: "132";
666
+ readonly message: "Operation not possible due to RF-kill";
667
+ };
668
+ readonly EHWPOISON: {
669
+ readonly name: "EHWPOISON";
670
+ readonly number: "133";
671
+ readonly message: "Memory page has hardware error";
672
+ };
673
+ readonly ENOTSUP: {
674
+ readonly name: "ENOTSUP";
675
+ readonly number: "95";
676
+ readonly message: "Operation not supported";
677
+ };
678
+ };
679
+ export type ErrnoRecord = typeof ERRNO_RECORD;
680
+ export type ErrnoRecordValue = ValueOf<ErrnoRecord>;
681
+ export type ErrnoName = ErrnoRecordValue["name"];
682
+ //#endregion
683
+ //#region src/constants/index.d.ts
684
+ export declare const SYSTEM_ERROR_RECORD: {
685
+ readonly PERMISSION_DENIED_SYSTEM_ERROR: {
686
+ readonly code: "PERMISSION_DENIED_SYSTEM_ERROR";
687
+ readonly errno: {
688
+ readonly name: "EPERM";
689
+ readonly number: "1";
690
+ readonly message: "Operation not permitted";
691
+ };
692
+ };
693
+ readonly NO_ENTRY_SYSTEM_ERROR: {
694
+ readonly code: "NO_ENTRY_SYSTEM_ERROR";
695
+ readonly errno: {
696
+ readonly name: "ENOENT";
697
+ readonly number: "2";
698
+ readonly message: "No such file or directory";
699
+ };
700
+ };
701
+ readonly PROCESS_INTERRUPTED_SYSTEM_ERROR: {
702
+ readonly code: "PROCESS_INTERRUPTED_SYSTEM_ERROR";
703
+ readonly errno: {
704
+ readonly name: "EINTR";
705
+ readonly number: "4";
706
+ readonly message: "Interrupted system call";
707
+ };
708
+ };
709
+ readonly OUT_OF_MEMORY_SYSTEM_ERROR: {
710
+ readonly code: "OUT_OF_MEMORY_SYSTEM_ERROR";
711
+ readonly errno: {
712
+ readonly name: "ENOMEM";
713
+ readonly number: "12";
714
+ readonly message: "Cannot allocate memory";
715
+ };
716
+ };
717
+ readonly ACCESS_DENIED_SYSTEM_ERROR: {
718
+ readonly code: "ACCESS_DENIED_SYSTEM_ERROR";
719
+ readonly errno: {
720
+ readonly name: "EACCES";
721
+ readonly number: "13";
722
+ readonly message: "Permission denied";
723
+ };
724
+ };
725
+ readonly RESOURCE_BUSY_SYSTEM_ERROR: {
726
+ readonly code: "RESOURCE_BUSY_SYSTEM_ERROR";
727
+ readonly errno: {
728
+ readonly name: "EBUSY";
729
+ readonly number: "16";
730
+ readonly message: "Device or resource busy";
731
+ };
732
+ };
733
+ readonly ALREADY_EXISTED_SYSTEM_ERROR: {
734
+ readonly code: "ALREADY_EXISTED_SYSTEM_ERROR";
735
+ readonly errno: {
736
+ readonly name: "EEXIST";
737
+ readonly number: "17";
738
+ readonly message: "File exists";
739
+ };
740
+ };
741
+ readonly NOT_DIRECTORY_SYSTEM_ERROR: {
742
+ readonly code: "NOT_DIRECTORY_SYSTEM_ERROR";
743
+ readonly errno: {
744
+ readonly name: "ENOTDIR";
745
+ readonly number: "20";
746
+ readonly message: "Not a directory";
747
+ };
748
+ };
749
+ readonly IS_DIRECTORY_SYSTEM_ERROR: {
750
+ readonly code: "IS_DIRECTORY_SYSTEM_ERROR";
751
+ readonly errno: {
752
+ readonly name: "EISDIR";
753
+ readonly number: "21";
754
+ readonly message: "Is a directory";
755
+ };
756
+ };
757
+ readonly FILE_TOO_BIG_SYSTEM_ERROR: {
758
+ readonly code: "FILE_TOO_BIG_SYSTEM_ERROR";
759
+ readonly errno: {
760
+ readonly name: "EFBIG";
761
+ readonly number: "27";
762
+ readonly message: "File too large";
763
+ };
764
+ };
765
+ readonly NAME_TOO_LONG_SYSTEM_ERROR: {
766
+ readonly code: "NAME_TOO_LONG_SYSTEM_ERROR";
767
+ readonly errno: {
768
+ readonly name: "ENAMETOOLONG";
769
+ readonly number: "36";
770
+ readonly message: "File name too long";
771
+ };
772
+ };
773
+ readonly OVERFLOW_SYSTEM_ERROR: {
774
+ readonly code: "OVERFLOW_SYSTEM_ERROR";
775
+ readonly errno: {
776
+ readonly name: "EOVERFLOW";
777
+ readonly number: "75";
778
+ readonly message: "Value too large for defined data type";
779
+ };
780
+ };
781
+ };
782
+ export type SystemErrorRecord = typeof SYSTEM_ERROR_RECORD;
783
+ export type SystemErrorRecordValue = ValueOf<SystemErrorRecord>;
784
+ export type SystemErrorCode = SystemErrorRecordValue["code"];
785
+ //#endregion
786
+ //#region src/classes/abstract.d.ts
787
+ export declare abstract class SystemError<TCode extends SystemErrorCode, TMeta extends BaseErrorMeta = null> extends BaseError<TCode, NodeJS.ErrnoException, TMeta> {
788
+ abstract readonly name: string;
789
+ abstract readonly code: TCode;
790
+ abstract readonly errno: SystemErrorRecord[TCode]["errno"];
791
+ }
792
+ //#endregion
793
+ //#region src/classes/concrete/access-denied.d.ts
794
+ export declare class AccessDeniedSystemError<TMeta extends BaseErrorMeta = null> extends SystemError<"ACCESS_DENIED_SYSTEM_ERROR", TMeta> {
795
+ readonly name = "AccessDeniedSystemError";
796
+ readonly code: "ACCESS_DENIED_SYSTEM_ERROR";
797
+ readonly errno: {
798
+ readonly name: "EACCES";
799
+ readonly number: "13";
800
+ readonly message: "Permission denied";
801
+ };
802
+ }
803
+ //#endregion
804
+ //#region src/classes/concrete/already-existed.d.ts
805
+ export declare class AlreadyExistedSystemError<TMeta extends BaseErrorMeta = null> extends SystemError<"ALREADY_EXISTED_SYSTEM_ERROR", TMeta> {
806
+ readonly name = "AlreadyExistedSystemError";
807
+ readonly code: "ALREADY_EXISTED_SYSTEM_ERROR";
808
+ readonly errno: {
809
+ readonly name: "EEXIST";
810
+ readonly number: "17";
811
+ readonly message: "File exists";
812
+ };
813
+ }
814
+ //#endregion
815
+ //#region src/classes/concrete/file-too-big.d.ts
816
+ export declare class FileTooBigSystemError<TMeta extends BaseErrorMeta = null> extends SystemError<"FILE_TOO_BIG_SYSTEM_ERROR", TMeta> {
817
+ readonly name = "FileTooBigSystemError";
818
+ readonly code: "FILE_TOO_BIG_SYSTEM_ERROR";
819
+ readonly errno: {
820
+ readonly name: "EFBIG";
821
+ readonly number: "27";
822
+ readonly message: "File too large";
823
+ };
824
+ }
825
+ //#endregion
826
+ //#region src/classes/concrete/is-directory.d.ts
827
+ export declare class IsDirectorySystemError<TMeta extends BaseErrorMeta = null> extends SystemError<"IS_DIRECTORY_SYSTEM_ERROR", TMeta> {
828
+ readonly name = "IsDirectorySystemError";
829
+ readonly code: "IS_DIRECTORY_SYSTEM_ERROR";
830
+ readonly errno: {
831
+ readonly name: "EISDIR";
832
+ readonly number: "21";
833
+ readonly message: "Is a directory";
834
+ };
835
+ }
836
+ //#endregion
837
+ //#region src/classes/concrete/name-too-long.d.ts
838
+ export declare class NameTooLongSystemError<TMeta extends BaseErrorMeta = null> extends SystemError<"NAME_TOO_LONG_SYSTEM_ERROR", TMeta> {
839
+ readonly name = "NameTooLongSystemError";
840
+ readonly code: "NAME_TOO_LONG_SYSTEM_ERROR";
841
+ readonly errno: {
842
+ readonly name: "ENAMETOOLONG";
843
+ readonly number: "36";
844
+ readonly message: "File name too long";
845
+ };
846
+ }
847
+ //#endregion
848
+ //#region src/classes/concrete/no-entry.d.ts
849
+ export declare class NoEntrySystemError<TMeta extends BaseErrorMeta = null> extends SystemError<"NO_ENTRY_SYSTEM_ERROR", TMeta> {
850
+ readonly name = "NoEntrySystemError";
851
+ readonly code: "NO_ENTRY_SYSTEM_ERROR";
852
+ readonly errno: {
853
+ readonly name: "ENOENT";
854
+ readonly number: "2";
855
+ readonly message: "No such file or directory";
856
+ };
857
+ }
858
+ //#endregion
859
+ //#region src/classes/concrete/not-directory.d.ts
860
+ export declare class NotDirectorySystemError<TMeta extends BaseErrorMeta = null> extends SystemError<"NOT_DIRECTORY_SYSTEM_ERROR", TMeta> {
861
+ readonly name = "NotDirectorySystemError";
862
+ readonly code: "NOT_DIRECTORY_SYSTEM_ERROR";
863
+ readonly errno: {
864
+ readonly name: "ENOTDIR";
865
+ readonly number: "20";
866
+ readonly message: "Not a directory";
867
+ };
868
+ }
869
+ //#endregion
870
+ //#region src/classes/concrete/out-of-memory.d.ts
871
+ export declare class OutOfMemorySystemError<TMeta extends BaseErrorMeta = null> extends SystemError<"OUT_OF_MEMORY_SYSTEM_ERROR", TMeta> {
872
+ readonly name = "OutOfMemorySystemError";
873
+ readonly code: "OUT_OF_MEMORY_SYSTEM_ERROR";
874
+ readonly errno: {
875
+ readonly name: "ENOMEM";
876
+ readonly number: "12";
877
+ readonly message: "Cannot allocate memory";
878
+ };
879
+ }
880
+ //#endregion
881
+ //#region src/classes/concrete/overflow.d.ts
882
+ export declare class OverflowSystemError<TMeta extends BaseErrorMeta = null> extends SystemError<"OVERFLOW_SYSTEM_ERROR", TMeta> {
883
+ readonly name = "OverflowSystemError";
884
+ readonly code: "OVERFLOW_SYSTEM_ERROR";
885
+ readonly errno: {
886
+ readonly name: "EOVERFLOW";
887
+ readonly number: "75";
888
+ readonly message: "Value too large for defined data type";
889
+ };
890
+ }
891
+ //#endregion
892
+ //#region src/classes/concrete/permission-denied.d.ts
893
+ export declare class PermissionDeniedSystemError<TMeta extends BaseErrorMeta = null> extends SystemError<"PERMISSION_DENIED_SYSTEM_ERROR", TMeta> {
894
+ readonly name = "PermissionDeniedSystemError";
895
+ readonly code: "PERMISSION_DENIED_SYSTEM_ERROR";
896
+ readonly errno: {
897
+ readonly name: "EPERM";
898
+ readonly number: "1";
899
+ readonly message: "Operation not permitted";
900
+ };
901
+ }
902
+ //#endregion
903
+ //#region src/classes/concrete/process-interrupted.d.ts
904
+ export declare class ProcessInterruptedSystemError<TMeta extends BaseErrorMeta = null> extends SystemError<"PROCESS_INTERRUPTED_SYSTEM_ERROR", TMeta> {
905
+ readonly name = "ProcessInterruptedSystemError";
906
+ readonly code: "PROCESS_INTERRUPTED_SYSTEM_ERROR";
907
+ readonly errno: {
908
+ readonly name: "EINTR";
909
+ readonly number: "4";
910
+ readonly message: "Interrupted system call";
911
+ };
912
+ }
913
+ //#endregion
914
+ //#region src/classes/concrete/resource-busy.d.ts
915
+ export declare class ResourceBusySystemError<TMeta extends BaseErrorMeta = null> extends SystemError<"RESOURCE_BUSY_SYSTEM_ERROR", TMeta> {
916
+ readonly name = "ResourceBusySystemError";
917
+ readonly code: "RESOURCE_BUSY_SYSTEM_ERROR";
918
+ readonly errno: {
919
+ readonly name: "EBUSY";
920
+ readonly number: "16";
921
+ readonly message: "Device or resource busy";
922
+ };
923
+ }
924
+ //#endregion