Commit graph

195 commits

Author SHA1 Message Date
Kir_Antipov
874b950fdf Implemented enum descriptor for bigint enums 2023-05-17 14:55:42 +03:00
Kir_Antipov
6256d33db6 Implemented enum descriptor for number enums 2023-05-17 14:55:09 +03:00
Kir_Antipov
33da1eacff Made base interface for enum descriptors 2023-05-17 14:53:50 +03:00
Kir_Antipov
8db475ab28 Added reflection module 2023-05-16 20:39:48 +03:00
Kir_Antipov
ccd4319b20 Made ImportDirective for dynamic import purposes 2023-05-16 20:39:20 +03:00
Kir_Antipov
491aa11ac5 Made ModuleLoader interface
And added 2 default implementations:

 - `NODE_MODULE_LOADER` - uses `import` under the hood
  - `DYNAMIC_MODULE_LOADER` - will be able to load modules needed in other parts of this project. Currently it's just a stub
2023-05-16 20:37:39 +03:00
Kir_Antipov
fd2975b30b Implemented more reflection-specific helpers 2023-05-16 20:34:43 +03:00
Kir_Antipov
919bc5d68e Added errors module 2023-05-16 20:30:15 +03:00
Kir_Antipov
983cbac1f2 Typo: errors.ts -> errors 2023-05-16 20:29:32 +03:00
Kir_Antipov
c566a4cfec Implemented HttpError 2023-05-16 20:28:31 +03:00
Kir_Antipov
3f8d7d2115 Made SoftError for recoverable errors 2023-05-16 20:26:09 +03:00
Kir_Antipov
3fe2a3fdc9 Made a helper method to check if an object is an error 2023-05-16 20:25:04 +03:00
Kir_Antipov
5892ef60d8 Implemented FileNotFoundError 2023-05-16 20:23:02 +03:00
Kir_Antipov
8f97d4aee6 Implemented ArgumentNullError 2023-05-16 20:21:45 +03:00
Kir_Antipov
ab8f3468ca Implemented ArgumentError 2023-05-16 20:20:55 +03:00
Kir_Antipov
c56b60c966 Added security module 2023-05-16 20:17:55 +03:00
Kir_Antipov
2243945d3a Made a class that protects a string from being exposed 2023-05-16 20:17:23 +03:00
Kir_Antipov
a656c86e4a Added collections module 2023-05-16 20:09:53 +03:00
Kir_Antipov
fc0a818902 Made ArrayMap and MultiMap
`ArrayMap` is a map implementation which can use custom equality comparers

`MultiMap` is mostly an alias for `Map<K, V[]>`, but with some extra methods
2023-05-16 20:09:20 +03:00
Kir_Antipov
bddf78c669 Made ArraySet
A set implementation which can use custom equality comparers
2023-05-16 20:07:37 +03:00
Kir_Antipov
97a17208b2 Implemented array-like methods for iterables 2023-05-16 20:06:09 +03:00
Kir_Antipov
af85b577f1 Made an interface for all key-value iterables out there 2023-05-16 20:02:22 +03:00
Kir_Antipov
e3439aa021 Added types module 2023-05-16 19:58:58 +03:00
Kir_Antipov
67b5bcbf85 Made an alias for Partial<Record<K, V>> 2023-05-16 19:57:41 +03:00
Kir_Antipov
1967a52df9 Added a type that unwraps constructor parameters 2023-05-16 19:56:28 +03:00
Kir_Antipov
e473e4b641 Made a type to help me use generics as record keys 2023-05-16 19:54:56 +03:00
Kir_Antipov
2c2bcb4de7 Added a type that unwraps constructor return type 2023-05-16 19:53:51 +03:00
Kir_Antipov
f436b151aa Added a type that unwraps promises 2023-05-16 19:52:48 +03:00
Kir_Antipov
6e27f6c851 Made a type to indicate that await should be used 2023-05-16 19:51:43 +03:00
Kir_Antipov
09d0d25fdc Made a type that converts unions to intersections 2023-05-16 19:49:38 +03:00
Kir_Antipov
2ab31e0c32 Made a transpile-time version of typeof 2023-05-16 19:48:37 +03:00
Kir_Antipov
13a303ce8d Added logging module 2023-05-16 19:45:41 +03:00
Kir_Antipov
d60d8f63f3 LoggingStopwatch refactoring 2023-05-16 19:45:06 +03:00
Kir_Antipov
0cf4831003 Added diagnostics module 2023-05-16 19:43:36 +03:00
Kir_Antipov
d1b07fe763 Stopwatch refactoring 2023-05-16 19:42:49 +03:00
Kir_Antipov
a33f82afe1 Updated logger instantiation logic 2023-05-16 19:40:10 +03:00
Kir_Antipov
d043e7f23f Added a logger that writes logs to stdout 2023-05-16 19:38:46 +03:00
Kir_Antipov
19993c6f5b Added a logger that writes logs to the console 2023-05-16 19:37:21 +03:00
Kir_Antipov
65cb51a963 Implemented classic NullLogger 2023-05-16 19:35:58 +03:00
Kir_Antipov
9b882c411e Made helper methods to work with environment 2023-05-16 19:31:41 +03:00
Kir_Antipov
f1bd102e19 Added comparison module 2023-05-16 19:27:13 +03:00
Kir_Antipov
ef099bc69f Implemented default equality comparers for strings 2023-05-16 19:26:36 +03:00
Kir_Antipov
c6214a811a Made some helper methods to work with strings 2023-05-16 19:24:54 +03:00
Kir_Antipov
89d56de5e4 Implemented default comparers for strings 2023-05-16 19:22:08 +03:00
Kir_Antipov
d1b1ed9a16 Implemented comparers 2023-05-16 19:20:11 +03:00
Kir_Antipov
a537525099 Implemented equality comparers 2023-05-16 19:18:32 +03:00
Kir_Antipov
ce5227a2ce Added functions module 2023-05-16 19:05:13 +03:00
Kir_Antipov
7b75d612db Now it's possible to create middlewares 2023-05-16 19:04:41 +03:00
Kir_Antipov
63bbe0f72b Made interfaces for delegates
Because built-in `Function` is not flexible
2023-05-16 19:00:09 +03:00
Kir_Antipov
d263c15393 Added a possibility to make objects callable 2023-05-16 18:58:10 +03:00