@mrxsys/mrx-core 2.11.0-2-and-276-20251029 → 2.11.0-2-and-279-20251103

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (148) hide show
  1. package/CHANGELOG.md +0 -407
  2. package/dist/chunk-0d0zd2yg.js +8 -0
  3. package/dist/chunk-12qzn7jw.js +7 -0
  4. package/dist/chunk-441xs5k1.js +53 -0
  5. package/dist/chunk-4v86f7gp.js +59 -0
  6. package/dist/chunk-6w9ja96e.js +9 -0
  7. package/dist/chunk-7t524zqh.js +26 -0
  8. package/dist/chunk-8tffnbpn.js +7 -0
  9. package/dist/chunk-9cgzhc50.js +15 -0
  10. package/dist/chunk-9d3zvgp6.js +9 -0
  11. package/dist/chunk-9dzsj7f2.js +23 -0
  12. package/dist/chunk-9r5anep5.js +11 -0
  13. package/dist/chunk-afd82epa.js +201 -0
  14. package/dist/chunk-afyz8rg5.js +209 -0
  15. package/dist/chunk-dre2fgj0.js +7 -0
  16. package/dist/chunk-e30paw8a.js +101 -0
  17. package/dist/chunk-eeb7yskp.js +61 -0
  18. package/dist/chunk-fs3wm3p4.js +32 -0
  19. package/dist/chunk-grfyngq0.js +39 -0
  20. package/dist/chunk-gtn1kn0z.js +79 -0
  21. package/dist/chunk-jksb9ers.js +7 -0
  22. package/dist/chunk-m3grz32t.js +27 -0
  23. package/dist/chunk-mvrxngm7.js +41 -0
  24. package/dist/chunk-n0n14mf8.js +7 -0
  25. package/dist/chunk-p14h6jfs.js +365 -0
  26. package/dist/chunk-pjv1ekwr.js +284 -0
  27. package/dist/chunk-rz5p4j3p.js +13 -0
  28. package/dist/chunk-spnh9dzk.js +10 -0
  29. package/dist/chunk-sqts8vyk.js +60 -0
  30. package/dist/chunk-w7h898m3.js +14 -0
  31. package/dist/chunk-xhhj1gvj.js +9 -0
  32. package/dist/chunk-z0ct35ft.js +8 -0
  33. package/dist/errors/enums/index.js +7 -0
  34. package/dist/errors/index.js +12 -0
  35. package/dist/errors/utils/index.js +16 -0
  36. package/dist/errors/utils/is-nowarajs-error.ts.d.ts +2 -2
  37. package/dist/modules/data/enums/index.js +7 -0
  38. package/dist/modules/data/index.js +17 -0
  39. package/dist/modules/data/transformers/camel-case.d.ts +2 -2
  40. package/dist/modules/data/transformers/index.js +32 -0
  41. package/dist/modules/data/transformers/kebab-case.d.ts +2 -2
  42. package/dist/modules/data/transformers/pascal-case.d.ts +2 -2
  43. package/dist/modules/data/transformers/snake-case.d.ts +2 -2
  44. package/dist/modules/data/types/index.js +1 -0
  45. package/dist/modules/data/types/transform-object-keys.d.ts +4 -4
  46. package/dist/modules/database/enums/index.js +9 -0
  47. package/dist/modules/database/events/index.js +1 -0
  48. package/dist/modules/database/events/mssql-event-map.d.ts +1 -1
  49. package/dist/modules/database/events/table-event-map.d.ts +1 -1
  50. package/dist/modules/database/index.js +16 -0
  51. package/dist/modules/database/mssql.d.ts +2 -2
  52. package/dist/modules/database/table.d.ts +2 -2
  53. package/dist/modules/database/types/index.js +1 -0
  54. package/dist/modules/elysia/cache/cache.d.ts +152 -4
  55. package/dist/modules/elysia/cache/index.js +90 -0
  56. package/dist/modules/elysia/cache/types/index.js +1 -0
  57. package/dist/modules/elysia/crud/crud.d.ts +2 -2
  58. package/dist/modules/elysia/crud/enums/index.js +7 -0
  59. package/dist/modules/elysia/crud/index.js +153 -0
  60. package/dist/modules/elysia/crud/operations/count.d.ts +175 -7
  61. package/dist/modules/elysia/crud/operations/delete.d.ts +175 -7
  62. package/dist/modules/elysia/crud/operations/deleteOne.d.ts +175 -7
  63. package/dist/modules/elysia/crud/operations/find.d.ts +175 -7
  64. package/dist/modules/elysia/crud/operations/findOne.d.ts +175 -7
  65. package/dist/modules/elysia/crud/operations/index.js +34 -0
  66. package/dist/modules/elysia/crud/operations/insert.d.ts +175 -7
  67. package/dist/modules/elysia/crud/operations/update.d.ts +175 -7
  68. package/dist/modules/elysia/crud/operations/updateOne.d.ts +175 -7
  69. package/dist/modules/elysia/crud/operations/utils/get-db-injection.d.ts +1 -1
  70. package/dist/modules/elysia/crud/types/crud-options.d.ts +1 -1
  71. package/dist/modules/elysia/crud/types/crud-schema-models-type.d.ts +9 -9
  72. package/dist/modules/elysia/crud/types/delete-schema.d.ts +2 -2
  73. package/dist/modules/elysia/crud/types/find-schema.d.ts +3 -3
  74. package/dist/modules/elysia/crud/types/index.js +1 -0
  75. package/dist/modules/elysia/crud/types/insert-schema.d.ts +1 -1
  76. package/dist/modules/elysia/crud/types/properties-schema.d.ts +1 -1
  77. package/dist/modules/elysia/crud/types/response-200-schema.d.ts +1 -1
  78. package/dist/modules/elysia/crud/types/update-schema.d.ts +2 -2
  79. package/dist/modules/elysia/crud/utils/create-adaptive-where-clause-schema.d.ts +1 -1
  80. package/dist/modules/elysia/crud/utils/create-count-response-200-schema.d.ts +1 -1
  81. package/dist/modules/elysia/crud/utils/create-count-schema.d.ts +1 -1
  82. package/dist/modules/elysia/crud/utils/create-delete-schema.d.ts +1 -1
  83. package/dist/modules/elysia/crud/utils/create-filters-schema.d.ts +1 -1
  84. package/dist/modules/elysia/crud/utils/create-find-schema.d.ts +1 -1
  85. package/dist/modules/elysia/crud/utils/create-id-param-schema.d.ts +1 -1
  86. package/dist/modules/elysia/crud/utils/create-insert-schema.d.ts +1 -1
  87. package/dist/modules/elysia/crud/utils/create-order-schema.d.ts +1 -1
  88. package/dist/modules/elysia/crud/utils/create-properties-schema.d.ts +1 -1
  89. package/dist/modules/elysia/crud/utils/create-q-schema.d.ts +1 -1
  90. package/dist/modules/elysia/crud/utils/create-response-200-schema.d.ts +1 -1
  91. package/dist/modules/elysia/crud/utils/create-selected-fields-schema.d.ts +1 -1
  92. package/dist/modules/elysia/crud/utils/create-update-one-schema.d.ts +1 -1
  93. package/dist/modules/elysia/crud/utils/create-update-schema.d.ts +1 -1
  94. package/dist/modules/elysia/crud/utils/index.js +41 -0
  95. package/dist/modules/elysia/db-resolver/db-resolver.d.ts +158 -6
  96. package/dist/modules/elysia/db-resolver/enums/index.js +7 -0
  97. package/dist/modules/elysia/db-resolver/index.js +18 -0
  98. package/dist/modules/elysia/error/enums/index.js +7 -0
  99. package/dist/modules/elysia/error/error.d.ts +51 -0
  100. package/dist/modules/elysia/error/index.js +76 -0
  101. package/dist/modules/elysia/microservice/enums/index.js +7 -0
  102. package/dist/modules/elysia/microservice/index.js +100 -0
  103. package/dist/modules/elysia/rate-limit/enums/index.js +7 -0
  104. package/dist/modules/elysia/rate-limit/index.js +81 -0
  105. package/dist/modules/elysia/rate-limit/rate-limit.d.ts +293 -4
  106. package/dist/modules/elysia/rate-limit/types/index.js +1 -0
  107. package/dist/modules/jwt/enums/index.js +11 -0
  108. package/dist/modules/jwt/index.js +51 -0
  109. package/dist/modules/jwt/utils/index.js +9 -0
  110. package/dist/modules/kv-store/bun-redis/bun-redis-store.d.ts +1 -1
  111. package/dist/modules/kv-store/bun-redis/index.js +84 -0
  112. package/dist/modules/kv-store/enums/index.js +7 -0
  113. package/dist/modules/kv-store/ioredis/index.js +86 -0
  114. package/dist/modules/kv-store/ioredis/ioredis-store.d.ts +1 -1
  115. package/dist/modules/kv-store/memory/index.js +9 -0
  116. package/dist/modules/kv-store/memory/memory-store.d.ts +1 -1
  117. package/dist/modules/kv-store/types/index.js +1 -0
  118. package/dist/modules/logger/enums/index.js +7 -0
  119. package/dist/modules/logger/events/index.js +1 -0
  120. package/dist/modules/logger/events/logger-events.d.ts +1 -1
  121. package/dist/modules/logger/index.js +282 -0
  122. package/dist/modules/logger/logger.d.ts +1 -1
  123. package/dist/modules/logger/sinks/console-logger.d.ts +2 -2
  124. package/dist/modules/logger/sinks/devnull-logger.d.ts +1 -1
  125. package/dist/modules/logger/sinks/file-logger/file-logger.d.ts +2 -2
  126. package/dist/modules/logger/sinks/index.js +66 -0
  127. package/dist/modules/logger/types/index.js +1 -0
  128. package/dist/modules/logger/worker-logger.d.ts +1 -0
  129. package/dist/modules/mailer/enums/index.js +7 -0
  130. package/dist/modules/mailer/index.js +55 -0
  131. package/dist/modules/mailer/types/index.js +1 -0
  132. package/dist/modules/repository/index.js +12 -0
  133. package/dist/modules/repository/repository.d.ts +2 -2
  134. package/dist/modules/repository/types/index.js +1 -0
  135. package/dist/modules/repository/types/query-options.d.ts +1 -1
  136. package/dist/modules/singleton-manager/enums/index.js +7 -0
  137. package/dist/modules/singleton-manager/index.js +9 -0
  138. package/dist/modules/totp/enums/index.js +7 -0
  139. package/dist/modules/totp/index.js +104 -0
  140. package/dist/modules/totp/types/index.js +1 -0
  141. package/dist/modules/totp/utils/index.js +76 -0
  142. package/dist/modules/typed-event-emitter/index.js +7 -0
  143. package/dist/modules/typed-event-emitter/types/index.js +1 -0
  144. package/dist/shared/enums/index.js +7 -0
  145. package/dist/shared/types/index.js +1 -0
  146. package/dist/shared/utils/flatten.d.ts +1 -1
  147. package/dist/shared/utils/index.js +30 -0
  148. package/package.json +3 -3
@@ -0,0 +1,39 @@
1
+ // @bun
2
+ // source/shared/utils/is-date-string.ts
3
+ var isDateString = (v) => typeof v === "string" && new Date(v).toString() !== "Invalid Date";
4
+
5
+ // source/shared/utils/stream.ts
6
+ var makeStreamAsyncIterable = (stream) => {
7
+ const asyncIterable = {
8
+ [Symbol.asyncIterator]: () => ({
9
+ next() {
10
+ return new Promise((resolve, reject) => {
11
+ const cleanup = () => {
12
+ stream.off("data", onData);
13
+ stream.off("end", onEnd);
14
+ stream.off("error", onError);
15
+ };
16
+ const onData = (data) => {
17
+ cleanup();
18
+ resolve({ value: data, done: false });
19
+ };
20
+ const onEnd = () => {
21
+ cleanup();
22
+ resolve({ value: undefined, done: true });
23
+ };
24
+ const onError = (error) => {
25
+ cleanup();
26
+ reject(error);
27
+ };
28
+ stream.on("data", onData);
29
+ stream.on("end", onEnd);
30
+ stream.on("error", onError);
31
+ });
32
+ }
33
+ })
34
+ };
35
+ stream[Symbol.asyncIterator] = asyncIterable[Symbol.asyncIterator];
36
+ return stream;
37
+ };
38
+
39
+ export { isDateString, makeStreamAsyncIterable };
@@ -0,0 +1,79 @@
1
+ // @bun
2
+ import {
3
+ DATA_ERROR_KEYS
4
+ } from "./chunk-jksb9ers.js";
5
+ import {
6
+ BaseError
7
+ } from "./chunk-9cgzhc50.js";
8
+
9
+ // source/modules/data/data.ts
10
+ var _validateDataNull = (data) => {
11
+ if (data === null || data === undefined)
12
+ throw new BaseError(DATA_ERROR_KEYS.DATA_IS_NULL);
13
+ };
14
+ var filterByKeyExclusion = (data, keys, excludeNullUndefined) => {
15
+ _validateDataNull(data);
16
+ const filteredData = {};
17
+ for (const key in data) {
18
+ const typedKey = key;
19
+ if (!keys.includes(typedKey) && (!excludeNullUndefined || data[typedKey] !== null && data[typedKey] !== undefined))
20
+ filteredData[key] = data[typedKey];
21
+ }
22
+ return filteredData;
23
+ };
24
+ var filterByKeyExclusionRecursive = (data, keys, excludeNullUndefined = false) => {
25
+ _validateDataNull(data);
26
+ const filteredData = {};
27
+ for (const key in data) {
28
+ const typedKey = key;
29
+ if (!keys.includes(typedKey) && (!excludeNullUndefined || data[typedKey] !== null && data[typedKey] !== undefined))
30
+ if (typeof data[typedKey] === "object" && data[typedKey] !== null && !Array.isArray(data[typedKey]))
31
+ filteredData[key] = filterByKeyExclusionRecursive(data[typedKey], keys, excludeNullUndefined);
32
+ else if (Array.isArray(data[typedKey]))
33
+ filteredData[key] = data[typedKey].map((item) => {
34
+ if (typeof item === "object" && item !== null && !Array.isArray(item))
35
+ return filterByKeyExclusionRecursive(item, keys, excludeNullUndefined);
36
+ return item;
37
+ });
38
+ else
39
+ filteredData[key] = data[typedKey];
40
+ }
41
+ for (const symbol of Object.getOwnPropertySymbols(data))
42
+ filteredData[symbol] = data[symbol];
43
+ return filteredData;
44
+ };
45
+ var filterByKeyInclusion = (data, keys, excludeNullUndefined, throwIfDataIsNull = true) => {
46
+ if (throwIfDataIsNull)
47
+ _validateDataNull(data);
48
+ const filteredData = {};
49
+ for (const key of keys) {
50
+ const typedKey = key;
51
+ if (typedKey in data && (!excludeNullUndefined || data[typedKey] !== null && data[typedKey] !== undefined))
52
+ filteredData[key] = data[typedKey];
53
+ }
54
+ return filteredData;
55
+ };
56
+ var filterByValue = (data, predicate, excludeNullUndefined = false, throwIfDataIsNull = true) => {
57
+ if (throwIfDataIsNull)
58
+ _validateDataNull(data);
59
+ const filteredData = {};
60
+ for (const key in data)
61
+ if (Object.hasOwn(data, key)) {
62
+ const typedKey = key;
63
+ if (predicate(data[typedKey]) && (!excludeNullUndefined || data[typedKey] !== null && data[typedKey] !== undefined))
64
+ filteredData[typedKey] = data[typedKey];
65
+ }
66
+ return filteredData;
67
+ };
68
+ var transformKeys = (data, transformer, throwIfDataIsNull = true) => {
69
+ if (throwIfDataIsNull)
70
+ _validateDataNull(data);
71
+ const result = {};
72
+ for (const key in data) {
73
+ const transformedKey = transformer.convertCase(key);
74
+ result[transformedKey] = data[key];
75
+ }
76
+ return result;
77
+ };
78
+
79
+ export { filterByKeyExclusion, filterByKeyExclusionRecursive, filterByKeyInclusion, filterByValue, transformKeys };
@@ -0,0 +1,7 @@
1
+ // @bun
2
+ // source/modules/data/enums/data-error-keys.ts
3
+ var DATA_ERROR_KEYS = {
4
+ DATA_IS_NULL: "mrx-core.data.error.is_null"
5
+ };
6
+
7
+ export { DATA_ERROR_KEYS };
@@ -0,0 +1,27 @@
1
+ // @bun
2
+ // source/modules/totp/utils/create-counter-buffer.ts
3
+ var createCounterBuffer = (counter) => {
4
+ const counterBuffer = new ArrayBuffer(8);
5
+ const counterView = new DataView(counterBuffer);
6
+ if (typeof counter === "bigint")
7
+ counterView.setBigUint64(0, counter, false);
8
+ else
9
+ counterView.setUint32(4, counter, false);
10
+ return counterBuffer;
11
+ };
12
+
13
+ // source/modules/totp/utils/dynamic-truncation.ts
14
+ var dynamicTruncation = (hmacArray, digits) => {
15
+ const offset = hmacArray[hmacArray.length - 1] & 15;
16
+ const code = ((hmacArray[offset] & 127) << 24 | (hmacArray[offset + 1] & 255) << 16 | (hmacArray[offset + 2] & 255) << 8 | hmacArray[offset + 3] & 255) % 10 ** digits;
17
+ return code.toString().padStart(digits, "0");
18
+ };
19
+
20
+ // source/modules/totp/utils/generate-hmac.ts
21
+ import { webcrypto } from "crypto";
22
+ var generateHmac = async (key, data) => {
23
+ const hmac = await webcrypto.subtle.sign("HMAC", key, data);
24
+ return new Uint8Array(hmac);
25
+ };
26
+
27
+ export { createCounterBuffer, dynamicTruncation, generateHmac };
@@ -0,0 +1,41 @@
1
+ // @bun
2
+ // source/modules/typed-event-emitter/typed-event-emitter.ts
3
+ import { EventEmitter } from "events";
4
+
5
+ class TypedEventEmitter extends EventEmitter {
6
+ emit(event, ...args) {
7
+ return super.emit(event, ...args);
8
+ }
9
+ on(event, listener) {
10
+ return super.on(event, listener);
11
+ }
12
+ once(event, listener) {
13
+ return super.once(event, listener);
14
+ }
15
+ addListener(event, listener) {
16
+ return super.addListener(event, listener);
17
+ }
18
+ removeListener(event, listener) {
19
+ return super.removeListener(event, listener);
20
+ }
21
+ off(event, listener) {
22
+ return super.off(event, listener);
23
+ }
24
+ listenerCount(event) {
25
+ return super.listenerCount(event);
26
+ }
27
+ listeners(event) {
28
+ return super.listeners(event);
29
+ }
30
+ rawListeners(event) {
31
+ return super.rawListeners(event);
32
+ }
33
+ prependListener(event, listener) {
34
+ return super.prependListener(event, listener);
35
+ }
36
+ prependOnceListener(event, listener) {
37
+ return super.prependOnceListener(event, listener);
38
+ }
39
+ }
40
+
41
+ export { TypedEventEmitter };
@@ -0,0 +1,7 @@
1
+ // @bun
2
+ // source/shared/enums/utils-error-keys.ts
3
+ var UTILS_ERROR_KEYS = {
4
+ INVALID_ENVIRONMENT: "mrx-core.utils.error.invalid_environment"
5
+ };
6
+
7
+ export { UTILS_ERROR_KEYS };
@@ -0,0 +1,365 @@
1
+ // @bun
2
+ import {
3
+ flatten
4
+ } from "./chunk-9dzsj7f2.js";
5
+ import {
6
+ filterByKeyExclusionRecursive
7
+ } from "./chunk-gtn1kn0z.js";
8
+
9
+ // source/modules/elysia/crud/utils/create-count-response-200-schema.ts
10
+ import { t } from "elysia";
11
+ var createCountResponse200Schema = () => t.Object({
12
+ message: t.String(),
13
+ content: t.Number()
14
+ });
15
+
16
+ // source/modules/elysia/crud/utils/is-date-from-elysia-typebox.ts
17
+ import { KindGuard } from "@sinclair/typebox";
18
+ var isDateFromElysiaTypeBox = (schema) => KindGuard.IsUnion(schema) && schema.anyOf.length === 4 && schema.anyOf.some((item) => KindGuard.IsDate(item)) && schema.anyOf.some((item) => KindGuard.IsString(item) && item.format === "date-time") && schema.anyOf.some((item) => KindGuard.IsString(item) && item.format === "date") && schema.anyOf.some((item) => KindGuard.IsNumber(item));
19
+
20
+ // source/modules/elysia/crud/utils/create-adaptive-where-clause-schema.ts
21
+ import { KindGuard as KindGuard2 } from "@sinclair/typebox/type";
22
+ import { t as t2 } from "elysia";
23
+ var createAdaptiveWhereClauseSchema = (schema) => {
24
+ const common = {
25
+ $eq: schema,
26
+ $neq: schema,
27
+ $isNull: t2.Boolean()
28
+ };
29
+ const strNumDate = KindGuard2.IsString(schema) || KindGuard2.IsNumber(schema) || isDateFromElysiaTypeBox(schema) ? {
30
+ $in: t2.Array(schema, { minItems: 1, uniqueItems: true }),
31
+ $nin: t2.Array(schema, { minItems: 1, uniqueItems: true }),
32
+ $like: t2.String(),
33
+ $nlike: t2.String()
34
+ } : {};
35
+ const numDate = KindGuard2.IsNumber(schema) || isDateFromElysiaTypeBox(schema) ? {
36
+ $lt: schema,
37
+ $lte: schema,
38
+ $gt: schema,
39
+ $gte: schema,
40
+ $between: t2.Tuple([schema, schema]),
41
+ $nbetween: t2.Tuple([schema, schema])
42
+ } : {};
43
+ return t2.Partial(t2.Object({ ...common, ...strNumDate, ...numDate }));
44
+ };
45
+
46
+ // source/modules/elysia/crud/utils/create-properties-schema.ts
47
+ import { t as t3 } from "elysia";
48
+ var createPropertiesSchema = (schema) => {
49
+ const { properties } = schema;
50
+ const clauseSchema = {};
51
+ for (const [key, propertySchema] of Object.entries(properties))
52
+ clauseSchema[key] = flatten(t3.Union([
53
+ createAdaptiveWhereClauseSchema(propertySchema),
54
+ propertySchema
55
+ ]));
56
+ return t3.Object(clauseSchema);
57
+ };
58
+
59
+ // source/modules/elysia/crud/utils/create-q-schema.ts
60
+ import { t as t4 } from "elysia/type-system";
61
+ var createQSchema = (schema) => t4.Union([
62
+ t4.Object({
63
+ selectedFields: t4.Union([
64
+ t4.KeyOf(schema),
65
+ t4.Array(t4.KeyOf(schema), {
66
+ minItems: 1,
67
+ uniqueItems: true
68
+ })
69
+ ]),
70
+ value: t4.Union([
71
+ t4.Number(),
72
+ t4.String()
73
+ ])
74
+ }),
75
+ t4.Number(),
76
+ t4.String()
77
+ ]);
78
+
79
+ // source/modules/elysia/crud/utils/create-filters-schema.ts
80
+ import { t as t5 } from "elysia";
81
+ var createFiltersSchema = (schema) => t5.Composite([
82
+ t5.Object({
83
+ $q: createQSchema(schema)
84
+ }),
85
+ createPropertiesSchema(schema)
86
+ ], {
87
+ minProperties: 1
88
+ });
89
+
90
+ // source/modules/elysia/crud/utils/create-count-schema.ts
91
+ import { t as t6 } from "elysia";
92
+ var createCountSchema = (schema) => {
93
+ const sanitizedSchema = filterByKeyExclusionRecursive(schema, [
94
+ "minLength",
95
+ "maxLength",
96
+ "pattern",
97
+ "minimum",
98
+ "maximum",
99
+ "exclusiveMinimum",
100
+ "exclusiveMaximum",
101
+ "multipleOf",
102
+ "minItems",
103
+ "maxItems",
104
+ "maxContains",
105
+ "minContains",
106
+ "minProperties",
107
+ "maxProperties",
108
+ "uniqueItems",
109
+ "minimumTimestamp",
110
+ "maximumTimestamp",
111
+ "exclusiveMinimumTimestamp",
112
+ "exclusiveMaximumTimestamp",
113
+ "multipleOfTimestamp",
114
+ "required",
115
+ "examples",
116
+ "example",
117
+ "default",
118
+ "title",
119
+ "description"
120
+ ]);
121
+ return t6.Partial(t6.Object({
122
+ queryOptions: t6.Partial(t6.Object({
123
+ filters: t6.Union([
124
+ t6.Partial(createFiltersSchema(sanitizedSchema)),
125
+ t6.Array(t6.Partial(createFiltersSchema(sanitizedSchema)))
126
+ ])
127
+ }))
128
+ }));
129
+ };
130
+
131
+ // source/modules/elysia/crud/utils/create-selected-fields-schema.ts
132
+ import { t as t7 } from "elysia/type-system";
133
+ var createSelectedFieldsSchema = (schema) => t7.Union([
134
+ t7.KeyOf(schema),
135
+ t7.Literal("*"),
136
+ t7.Array(t7.KeyOf(schema), {
137
+ minItems: 1,
138
+ uniqueItems: true
139
+ })
140
+ ]);
141
+
142
+ // source/modules/elysia/crud/utils/create-delete-schema.ts
143
+ import { t as t8 } from "elysia";
144
+ var createDeleteSchema = (schema) => {
145
+ const sanitizedSchema = filterByKeyExclusionRecursive(schema, [
146
+ "minLength",
147
+ "maxLength",
148
+ "pattern",
149
+ "minimum",
150
+ "maximum",
151
+ "exclusiveMinimum",
152
+ "exclusiveMaximum",
153
+ "multipleOf",
154
+ "minItems",
155
+ "maxItems",
156
+ "maxContains",
157
+ "minContains",
158
+ "minProperties",
159
+ "maxProperties",
160
+ "uniqueItems",
161
+ "minimumTimestamp",
162
+ "maximumTimestamp",
163
+ "exclusiveMinimumTimestamp",
164
+ "exclusiveMaximumTimestamp",
165
+ "multipleOfTimestamp",
166
+ "required",
167
+ "examples",
168
+ "example",
169
+ "default",
170
+ "title",
171
+ "description"
172
+ ]);
173
+ return t8.Object({
174
+ queryOptions: t8.Object({
175
+ selectedFields: t8.Optional(createSelectedFieldsSchema(sanitizedSchema)),
176
+ filters: t8.Union([
177
+ t8.Partial(createFiltersSchema(sanitizedSchema)),
178
+ t8.Array(t8.Partial(createFiltersSchema(sanitizedSchema)), { minItems: 1 })
179
+ ])
180
+ })
181
+ });
182
+ };
183
+
184
+ // source/modules/elysia/crud/utils/create-order-schema.ts
185
+ import { t as t9 } from "elysia/type-system";
186
+ var createOrderSchema = (schema) => t9.Union([
187
+ t9.Object({
188
+ selectedField: t9.KeyOf(schema),
189
+ direction: t9.Union([t9.Literal("asc"), t9.Literal("desc")])
190
+ }),
191
+ t9.Array(t9.Object({
192
+ selectedField: t9.KeyOf(schema),
193
+ direction: t9.Union([t9.Literal("asc"), t9.Literal("desc")])
194
+ }), {
195
+ minItems: 1,
196
+ uniqueItems: true
197
+ })
198
+ ]);
199
+
200
+ // source/modules/elysia/crud/utils/create-find-schema.ts
201
+ import { t as t10 } from "elysia";
202
+ var createFindSchema = (schema) => {
203
+ const sanitizedSchema = filterByKeyExclusionRecursive(schema, [
204
+ "minLength",
205
+ "maxLength",
206
+ "pattern",
207
+ "minimum",
208
+ "maximum",
209
+ "exclusiveMinimum",
210
+ "exclusiveMaximum",
211
+ "multipleOf",
212
+ "minItems",
213
+ "maxItems",
214
+ "maxContains",
215
+ "minContains",
216
+ "minProperties",
217
+ "maxProperties",
218
+ "uniqueItems",
219
+ "minimumTimestamp",
220
+ "maximumTimestamp",
221
+ "exclusiveMinimumTimestamp",
222
+ "exclusiveMaximumTimestamp",
223
+ "multipleOfTimestamp",
224
+ "required",
225
+ "examples",
226
+ "example",
227
+ "default",
228
+ "title",
229
+ "description"
230
+ ]);
231
+ return t10.Partial(t10.Object({
232
+ queryOptions: t10.Partial(t10.Object({
233
+ selectedFields: createSelectedFieldsSchema(sanitizedSchema),
234
+ orderBy: createOrderSchema(sanitizedSchema),
235
+ filters: t10.Union([
236
+ t10.Partial(createFiltersSchema(sanitizedSchema)),
237
+ t10.Array(t10.Partial(createFiltersSchema(sanitizedSchema)))
238
+ ]),
239
+ limit: t10.Number({
240
+ default: 100,
241
+ minimum: 1
242
+ }),
243
+ offset: t10.Number({
244
+ default: 0,
245
+ minimum: 0
246
+ })
247
+ }))
248
+ }));
249
+ };
250
+
251
+ // source/modules/elysia/crud/utils/create-id-param-schema.ts
252
+ import { t as t11 } from "elysia";
253
+ var createIdParamSchema = () => t11.Object({
254
+ id: t11.Union([
255
+ t11.String(),
256
+ t11.Number({
257
+ minimum: 1,
258
+ maximum: Number.MAX_SAFE_INTEGER
259
+ })
260
+ ])
261
+ });
262
+
263
+ // source/modules/elysia/crud/utils/create-insert-schema.ts
264
+ import { t as t12 } from "elysia";
265
+ var createInsertSchema = (schema) => t12.Object({
266
+ queryOptions: t12.Optional(t12.Object({
267
+ selectedFields: createSelectedFieldsSchema(schema)
268
+ })),
269
+ data: t12.Union([
270
+ schema,
271
+ t12.Array(schema, {
272
+ minItems: 1,
273
+ uniqueItems: true
274
+ })
275
+ ])
276
+ });
277
+
278
+ // source/modules/elysia/crud/utils/create-response-200-schema.ts
279
+ import { t as t13 } from "elysia";
280
+ var createResponse200Schema = (schema) => {
281
+ const sanitizedSchema = filterByKeyExclusionRecursive(schema, [
282
+ "minLength",
283
+ "maxLength",
284
+ "pattern",
285
+ "minimum",
286
+ "maximum",
287
+ "exclusiveMinimum",
288
+ "exclusiveMaximum",
289
+ "multipleOf",
290
+ "minItems",
291
+ "maxItems",
292
+ "maxContains",
293
+ "minContains",
294
+ "minProperties",
295
+ "maxProperties",
296
+ "uniqueItems",
297
+ "minimumTimestamp",
298
+ "maximumTimestamp",
299
+ "exclusiveMinimumTimestamp",
300
+ "exclusiveMaximumTimestamp",
301
+ "multipleOfTimestamp",
302
+ "required",
303
+ "default"
304
+ ]);
305
+ const { properties } = sanitizedSchema;
306
+ const responseSchema = {};
307
+ for (const key in properties)
308
+ responseSchema[key] = flatten(t13.Union([properties[key], t13.Null()]));
309
+ return t13.Object({
310
+ message: t13.String(),
311
+ content: t13.Array(t13.Partial(t13.Object(responseSchema)))
312
+ });
313
+ };
314
+
315
+ // source/modules/elysia/crud/utils/create-update-one-schema.ts
316
+ import { t as t14 } from "elysia";
317
+ var createUpdateOneSchema = (schema) => t14.Object({
318
+ data: t14.Partial(schema)
319
+ });
320
+
321
+ // source/modules/elysia/crud/utils/create-update-schema.ts
322
+ import { t as t15 } from "elysia";
323
+ var createUpdateSchema = (schema) => {
324
+ const sanitizedSchema = filterByKeyExclusionRecursive(schema, [
325
+ "minLength",
326
+ "maxLength",
327
+ "pattern",
328
+ "minimum",
329
+ "maximum",
330
+ "exclusiveMinimum",
331
+ "exclusiveMaximum",
332
+ "multipleOf",
333
+ "minItems",
334
+ "maxItems",
335
+ "maxContains",
336
+ "minContains",
337
+ "minProperties",
338
+ "maxProperties",
339
+ "uniqueItems",
340
+ "minimumTimestamp",
341
+ "maximumTimestamp",
342
+ "exclusiveMinimumTimestamp",
343
+ "exclusiveMaximumTimestamp",
344
+ "multipleOfTimestamp",
345
+ "required",
346
+ "examples",
347
+ "example",
348
+ "default",
349
+ "title",
350
+ "description"
351
+ ]);
352
+ schema.minProperties = 1;
353
+ return t15.Object({
354
+ queryOptions: t15.Object({
355
+ selectedFields: t15.Optional(createSelectedFieldsSchema(sanitizedSchema)),
356
+ filters: t15.Union([
357
+ t15.Partial(createFiltersSchema(sanitizedSchema)),
358
+ t15.Array(t15.Partial(createFiltersSchema(sanitizedSchema)), { minItems: 1 })
359
+ ])
360
+ }),
361
+ data: t15.Partial(schema)
362
+ });
363
+ };
364
+
365
+ export { createCountResponse200Schema, isDateFromElysiaTypeBox, createAdaptiveWhereClauseSchema, createPropertiesSchema, createQSchema, createFiltersSchema, createCountSchema, createSelectedFieldsSchema, createDeleteSchema, createOrderSchema, createFindSchema, createIdParamSchema, createInsertSchema, createResponse200Schema, createUpdateOneSchema, createUpdateSchema };