@warlock.js/core 4.0.131 → 4.0.133

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 (86) hide show
  1. package/esm/cli/commands/create-database.command.d.ts +2 -0
  2. package/esm/cli/commands/create-database.command.d.ts.map +1 -0
  3. package/esm/cli/commands/create-database.command.js +18 -0
  4. package/esm/cli/commands/create-database.command.js.map +1 -0
  5. package/esm/cli/commands/generate/generate.command.d.ts +10 -0
  6. package/esm/cli/commands/generate/generate.command.d.ts.map +1 -0
  7. package/esm/cli/commands/generate/generate.command.js +167 -0
  8. package/esm/cli/commands/generate/generate.command.js.map +1 -0
  9. package/esm/cli/commands/generate/generators/controller.generator.d.ts +3 -0
  10. package/esm/cli/commands/generate/generators/controller.generator.d.ts.map +1 -0
  11. package/esm/cli/commands/generate/generators/controller.generator.js +51 -0
  12. package/esm/cli/commands/generate/generators/controller.generator.js.map +1 -0
  13. package/esm/cli/commands/generate/generators/migration.generator.d.ts +13 -0
  14. package/esm/cli/commands/generate/generators/migration.generator.d.ts.map +1 -0
  15. package/esm/cli/commands/generate/generators/migration.generator.js +42 -0
  16. package/esm/cli/commands/generate/generators/migration.generator.js.map +1 -0
  17. package/esm/cli/commands/generate/generators/model.generator.d.ts +3 -0
  18. package/esm/cli/commands/generate/generators/model.generator.d.ts.map +1 -0
  19. package/esm/cli/commands/generate/generators/model.generator.js +56 -0
  20. package/esm/cli/commands/generate/generators/model.generator.js.map +1 -0
  21. package/esm/cli/commands/generate/generators/module.generator.d.ts +3 -0
  22. package/esm/cli/commands/generate/generators/module.generator.d.ts.map +1 -0
  23. package/esm/cli/commands/generate/generators/module.generator.js +156 -0
  24. package/esm/cli/commands/generate/generators/module.generator.js.map +1 -0
  25. package/esm/cli/commands/generate/generators/repository.generator.d.ts +3 -0
  26. package/esm/cli/commands/generate/generators/repository.generator.d.ts.map +1 -0
  27. package/esm/cli/commands/generate/generators/repository.generator.js +37 -0
  28. package/esm/cli/commands/generate/generators/repository.generator.js.map +1 -0
  29. package/esm/cli/commands/generate/generators/resource.generator.d.ts +3 -0
  30. package/esm/cli/commands/generate/generators/resource.generator.d.ts.map +1 -0
  31. package/esm/cli/commands/generate/generators/resource.generator.js +37 -0
  32. package/esm/cli/commands/generate/generators/resource.generator.js.map +1 -0
  33. package/esm/cli/commands/generate/generators/service.generator.d.ts +3 -0
  34. package/esm/cli/commands/generate/generators/service.generator.d.ts.map +1 -0
  35. package/esm/cli/commands/generate/generators/service.generator.js +37 -0
  36. package/esm/cli/commands/generate/generators/service.generator.js.map +1 -0
  37. package/esm/cli/commands/generate/generators/validation.generator.d.ts +3 -0
  38. package/esm/cli/commands/generate/generators/validation.generator.d.ts.map +1 -0
  39. package/esm/cli/commands/generate/generators/validation.generator.js +46 -0
  40. package/esm/cli/commands/generate/generators/validation.generator.js.map +1 -0
  41. package/esm/cli/commands/generate/templates/stubs.d.ts +111 -0
  42. package/esm/cli/commands/generate/templates/stubs.d.ts.map +1 -0
  43. package/esm/cli/commands/generate/templates/stubs.js +569 -0
  44. package/esm/cli/commands/generate/templates/stubs.js.map +1 -0
  45. package/esm/cli/commands/generate/types.d.ts +53 -0
  46. package/esm/cli/commands/generate/types.d.ts.map +1 -0
  47. package/esm/cli/commands/generate/utils/name-parser.d.ts +45 -0
  48. package/esm/cli/commands/generate/utils/name-parser.d.ts.map +1 -0
  49. package/esm/cli/commands/generate/utils/name-parser.js +76 -0
  50. package/esm/cli/commands/generate/utils/name-parser.js.map +1 -0
  51. package/esm/cli/commands/generate/utils/path-resolver.d.ts +30 -0
  52. package/esm/cli/commands/generate/utils/path-resolver.d.ts.map +1 -0
  53. package/esm/cli/commands/generate/utils/path-resolver.js +42 -0
  54. package/esm/cli/commands/generate/utils/path-resolver.js.map +1 -0
  55. package/esm/cli/commands/generate/utils/prompt.d.ts +13 -0
  56. package/esm/cli/commands/generate/utils/prompt.d.ts.map +1 -0
  57. package/esm/cli/framework-cli-commands.d.ts.map +1 -1
  58. package/esm/cli/framework-cli-commands.js +12 -1
  59. package/esm/cli/framework-cli-commands.js.map +1 -1
  60. package/esm/database/create-database-action.d.ts +3 -0
  61. package/esm/database/create-database-action.d.ts.map +1 -0
  62. package/esm/database/create-database-action.js +28 -0
  63. package/esm/database/create-database-action.js.map +1 -0
  64. package/esm/index.js +1 -1
  65. package/esm/resource/define-resource.d.ts.map +1 -1
  66. package/esm/resource/define-resource.js +6 -2
  67. package/esm/resource/define-resource.js.map +1 -1
  68. package/esm/resource/index.d.ts +1 -0
  69. package/esm/resource/index.d.ts.map +1 -1
  70. package/esm/resource/register-resource.d.ts +21 -0
  71. package/esm/resource/register-resource.d.ts.map +1 -0
  72. package/esm/resource/register-resource.js +23 -0
  73. package/esm/resource/register-resource.js.map +1 -0
  74. package/esm/resource/resource-field-builder.d.ts +22 -1
  75. package/esm/resource/resource-field-builder.d.ts.map +1 -1
  76. package/esm/resource/resource-field-builder.js +71 -14
  77. package/esm/resource/resource-field-builder.js.map +1 -1
  78. package/esm/resource/resource.d.ts +19 -8
  79. package/esm/resource/resource.d.ts.map +1 -1
  80. package/esm/resource/resource.js +59 -40
  81. package/esm/resource/resource.js.map +1 -1
  82. package/esm/resource/types.d.ts +25 -1
  83. package/esm/resource/types.d.ts.map +1 -1
  84. package/esm/router/types.d.ts +6 -0
  85. package/esm/router/types.d.ts.map +1 -1
  86. package/package.json +7 -7
@@ -14,10 +14,6 @@ export interface ResourceContract {
14
14
  * Resource final output
15
15
  */
16
16
  data: GenericObject;
17
- /**
18
- * Output shape
19
- */
20
- schema: ResourceSchema;
21
17
  /**
22
18
  * Convert resource to JSON
23
19
  */
@@ -92,9 +88,21 @@ export declare class Resource implements ResourceContract {
92
88
  */
93
89
  data: GenericObject;
94
90
  /**
95
- * Output shape
91
+ * Raw resource schema — field declarations as written by the developer.
92
+ * Used by doc generators for introspection.
93
+ */
94
+ static schema: ResourceSchema;
95
+ /**
96
+ * Normalized schema — all string cast types and tuples converted to
97
+ * ResourceFieldBuilder instances at definition time. Used by transformOutput at runtime.
98
+ */
99
+ static parsedSchema: Record<string, ResourceFieldConfig>;
100
+ /**
101
+ * Normalize a raw schema into parsedSchema.
102
+ * Converts string cast types (including suffixes) and tuples into pre-built builders.
103
+ * Other entry types (ResourceConstructor, resolver functions, ResourceArraySchema) are kept as-is.
96
104
  */
97
- schema: ResourceSchema;
105
+ static normalizeSchema(schema: ResourceSchema): Record<string, ResourceFieldConfig>;
98
106
  /**
99
107
  * Constructor
100
108
  */
@@ -109,7 +117,9 @@ export declare class Resource implements ResourceContract {
109
117
  */
110
118
  protected boot(): void;
111
119
  /**
112
- * Transform resource to output
120
+ * Transform resource to output using the pre-normalized parsedSchema.
121
+ * Builders handle their own array/nullable logic internally.
122
+ * ResourceConstructor and ResourceArraySchema handle arrays in transformValue.
113
123
  */
114
124
  protected transformOutput(): void;
115
125
  /**
@@ -117,7 +127,8 @@ export declare class Resource implements ResourceContract {
117
127
  */
118
128
  transform(value: any, type: ResourceOutputValueCastType, locale?: string): any;
119
129
  /**
120
- * Transform the given value for the given output
130
+ * Transform the given value for the given output setting.
131
+ * After normalization, string cast types no longer reach here — they are pre-converted to builders.
121
132
  */
122
133
  protected transformValue(value: any, outputSettings: ResourceFieldConfig, locale?: string): any;
123
134
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"resource.d.ts","sourceRoot":"","sources":["../../src/resource/resource.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resource.d.ts","sourceRoot":"","sources":["../../src/resource/resource.ts"],"names":[],"mappings":"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"}
@@ -9,9 +9,37 @@ import {get,set}from'@mongez/reinforcements';import {Model}from'@warlock.js/casc
9
9
  */
10
10
  data = {};
11
11
  /**
12
- * Output shape
12
+ * Raw resource schema — field declarations as written by the developer.
13
+ * Used by doc generators for introspection.
13
14
  */
14
- schema = {};
15
+ static schema = {};
16
+ /**
17
+ * Normalized schema — all string cast types and tuples converted to
18
+ * ResourceFieldBuilder instances at definition time. Used by transformOutput at runtime.
19
+ */
20
+ static parsedSchema = {};
21
+ /**
22
+ * Normalize a raw schema into parsedSchema.
23
+ * Converts string cast types (including suffixes) and tuples into pre-built builders.
24
+ * Other entry types (ResourceConstructor, resolver functions, ResourceArraySchema) are kept as-is.
25
+ */
26
+ static normalizeSchema(schema) {
27
+ const parsed = {};
28
+ for (const [key, value] of Object.entries(schema)) {
29
+ if (typeof value === "string") {
30
+ parsed[key] = ResourceFieldBuilder.fromCastType(value);
31
+ }
32
+ else if (Array.isArray(value) && value.length === 2 && typeof value[0] === "string") {
33
+ const builder = ResourceFieldBuilder.fromCastType(value[1]);
34
+ builder.setInputKey(value[0]);
35
+ parsed[key] = builder;
36
+ }
37
+ else {
38
+ parsed[key] = value;
39
+ }
40
+ }
41
+ return parsed;
42
+ }
15
43
  /**
16
44
  * Constructor
17
45
  */
@@ -44,32 +72,16 @@ import {get,set}from'@mongez/reinforcements';import {Model}from'@warlock.js/casc
44
72
  //
45
73
  }
46
74
  /**
47
- * Transform resource to output
75
+ * Transform resource to output using the pre-normalized parsedSchema.
76
+ * Builders handle their own array/nullable logic internally.
77
+ * ResourceConstructor and ResourceArraySchema handle arrays in transformValue.
48
78
  */
49
79
  transformOutput() {
50
80
  const localeCode = useRequestStore()?.request?.locale;
51
- for (const [outputKey, outputSettings] of Object.entries(this.schema)) {
52
- let fieldKey = outputKey;
53
- let valueTransformType = outputSettings;
54
- if (Array.isArray(outputSettings)) {
55
- fieldKey = outputSettings[0];
56
- valueTransformType = outputSettings[1];
57
- }
58
- const inputValue = this.get(fieldKey);
59
- let outputValue;
60
- if (Array.isArray(inputValue) && valueTransformType !== "array") {
61
- outputValue = inputValue
62
- .map((item) => {
63
- const outputValue = this.transformValue(item, valueTransformType, localeCode);
64
- if (outputValue !== undefined) {
65
- return outputValue;
66
- }
67
- })
68
- .filter((value) => value !== undefined);
69
- }
70
- else {
71
- outputValue = this.transformValue(inputValue, valueTransformType, localeCode);
72
- }
81
+ const parsedSchema = this.constructor.parsedSchema;
82
+ for (const [outputKey, outputSettings] of Object.entries(parsedSchema)) {
83
+ const inputValue = this.get(outputKey);
84
+ const outputValue = this.transformValue(inputValue, outputSettings, localeCode);
73
85
  if (outputValue !== undefined) {
74
86
  this.set(outputKey, outputValue);
75
87
  }
@@ -82,24 +94,28 @@ import {get,set}from'@mongez/reinforcements';import {Model}from'@warlock.js/casc
82
94
  return new ResourceFieldBuilder(type).transform(value, locale);
83
95
  }
84
96
  /**
85
- * Transform the given value for the given output
97
+ * Transform the given value for the given output setting.
98
+ * After normalization, string cast types no longer reach here — they are pre-converted to builders.
86
99
  */
87
100
  transformValue(value, outputSettings, locale) {
88
101
  let outputValue;
89
- // now check the value transform type
90
- // if it's prototype instanceof Resource, then it's a nested resource
91
- // if it's a function (but not a Resource class), then it's a resolver function
92
- // if it's an instance of ResourceFieldBuilder, then it's a field builder
93
- // if it's a ResourceArraySchema, then it's an array schema
94
- // if it's a string, then it's a field cast type
95
102
  if (typeof outputSettings === "function" && outputSettings.prototype instanceof Resource) {
96
- outputValue = new outputSettings(value).toJSON();
103
+ // Nested resource — handle both single and array values
104
+ if (Array.isArray(value)) {
105
+ outputValue = value
106
+ .map((item) => new outputSettings(item).toJSON())
107
+ .filter((v) => v !== undefined);
108
+ }
109
+ else {
110
+ outputValue = new outputSettings(value).toJSON();
111
+ }
97
112
  }
98
113
  else if (typeof outputSettings === "function") {
99
- // Handle resolver function - bind to Resource instance for access to this.get(), etc.
114
+ // Resolver function - bind to Resource instance for access to this.get(), etc.
100
115
  outputValue = outputSettings.call(this, value, this);
101
116
  }
102
117
  else if (outputSettings instanceof ResourceFieldBuilder) {
118
+ // Builder — handles array mapping and nullable internally via isArrayField
103
119
  const inputKey = outputSettings.getInputKey();
104
120
  outputValue = outputSettings.transform(inputKey ? this.get(inputKey) : value, locale);
105
121
  }
@@ -107,12 +123,15 @@ import {get,set}from'@mongez/reinforcements';import {Model}from'@warlock.js/casc
107
123
  outputSettings !== null &&
108
124
  "__type" in outputSettings &&
109
125
  outputSettings.__type === "arrayOf") {
110
- // Handle array schema - value here is a single array item, not the whole array
111
- // The parent transformOutput already handles the array mapping
112
- outputValue = this.transformArrayItem(value, outputSettings.schema, locale);
113
- }
114
- else if (typeof outputSettings === "string") {
115
- outputValue = new ResourceFieldBuilder(outputSettings).transform(value, locale);
126
+ // ResourceArraySchema structured array items with their own sub-schema
127
+ if (Array.isArray(value)) {
128
+ outputValue = value
129
+ .map((item) => this.transformArrayItem(item, outputSettings.schema, locale))
130
+ .filter((v) => v !== undefined);
131
+ }
132
+ else {
133
+ outputValue = this.transformArrayItem(value, outputSettings.schema, locale);
134
+ }
116
135
  }
117
136
  return outputValue;
118
137
  }
@@ -1 +1 @@
1
- {"version":3,"file":"resource.js","sources":["../../src/resource/resource.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resource.js","sources":["../../src/resource/resource.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { ResponseStatus } from "../http";
1
2
  import { type ResourceConstructor, type ResourceContract } from "./resource";
2
3
  import { type ResourceFieldBuilder } from "./resource-field-builder";
3
4
  export type ResourceOutputValueCastType = "string" | "number" | "date" | "localized" | "boolean" | "url" | "float" | "int" | "object" | "array" | "uploadsUrl"
@@ -5,11 +6,18 @@ export type ResourceOutputValueCastType = "string" | "number" | "date" | "locali
5
6
  * Storage url means the value will be generated using current storage.url method
6
7
  */
7
8
  | "storageUrl";
9
+ /**
10
+ * Cast type with modifier suffixes for use in resource schemas.
11
+ * - `[]` suffix declares the field as an array (e.g. "string[]")
12
+ * - `?` suffix declares the field as nullable — always present in output, value or null (e.g. "number?")
13
+ * - Combined: `[]` must come before `?` (e.g. "string[]?")
14
+ */
15
+ export type ResourceCastType = ResourceOutputValueCastType | `${ResourceOutputValueCastType}[]` | `${ResourceOutputValueCastType}?` | `${ResourceOutputValueCastType}[]?`;
8
16
  export type ResourceArraySchema = {
9
17
  __type: "arrayOf";
10
18
  schema: Record<string, ResourceFieldConfig>;
11
19
  };
12
- export type ResourceFieldConfig = ResourceOutputValueCastType | ResourceConstructor | [string, ResourceOutputValueCastType] | ResourceFieldBuilder | ResourceArraySchema | ((value: any, resource: ResourceContract) => any);
20
+ export type ResourceFieldConfig = ResourceCastType | ResourceConstructor | [string, ResourceCastType] | ResourceFieldBuilder | ResourceArraySchema | ((value: any, resource: ResourceContract) => any);
13
21
  export type ResourceSchema = Record<string, ResourceFieldConfig>;
14
22
  export type ResourceFieldBuilderDateOutputOptions = {
15
23
  /**
@@ -37,4 +45,20 @@ export type ResourceFieldBuilderDateOutputOptions = {
37
45
  */
38
46
  locale?: boolean;
39
47
  } | "format" | "timestamp" | "humanTime" | "locale";
48
+ /**
49
+ * Allowed value types in a response schema body.
50
+ * - Cast type string for primitive fields (e.g. "string", "number")
51
+ * - ResourceConstructor for a single nested resource object
52
+ * - [ResourceConstructor] (tuple) for an array of a nested resource
53
+ */
54
+ export type ResponseBodyValue = ResourceOutputValueCastType | ResourceConstructor | [ResourceConstructor];
55
+ /**
56
+ * Response schema for a controller — used for documentation / OpenAPI generation.
57
+ * Keyed by HTTP status code, each entry declares the expected response body shape.
58
+ */
59
+ export type ResponseSchema = {
60
+ [statusCode in ResponseStatus]?: {
61
+ body: Record<string, ResponseBodyValue>;
62
+ };
63
+ };
40
64
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/resource/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,mBAAmB,EAAE,KAAK,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC7E,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAErE,MAAM,MAAM,2BAA2B,GACnC,QAAQ,GACR,QAAQ,GACR,MAAM,GACN,WAAW,GACX,SAAS,GACT,KAAK,GACL,OAAO,GACP,KAAK,GACL,QAAQ,GACR,OAAO,GACP,YAAY;AACd;;GAEG;GACD,YAAY,CAAC;AAEjB,MAAM,MAAM,mBAAmB,GAAG;IAChC,MAAM,EAAE,SAAS,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;CAC7C,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAC3B,2BAA2B,GAC3B,mBAAmB,GACnB,CAAC,MAAM,EAAE,2BAA2B,CAAC,GACrC,oBAAoB,GACpB,mBAAmB,GACnB,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,gBAAgB,KAAK,GAAG,CAAC,CAAC;AAEtD,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;AAEjE,MAAM,MAAM,qCAAqC,GAC7C;IACE;;OAEG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;OAEG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;OAEG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,GACD,QAAQ,GACR,WAAW,GACX,WAAW,GACX,QAAQ,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/resource/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,EAAE,KAAK,mBAAmB,EAAE,KAAK,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC7E,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAErE,MAAM,MAAM,2BAA2B,GACnC,QAAQ,GACR,QAAQ,GACR,MAAM,GACN,WAAW,GACX,SAAS,GACT,KAAK,GACL,OAAO,GACP,KAAK,GACL,QAAQ,GACR,OAAO,GACP,YAAY;AACd;;GAEG;GACD,YAAY,CAAC;AAEjB;;;;;GAKG;AACH,MAAM,MAAM,gBAAgB,GACxB,2BAA2B,GAC3B,GAAG,2BAA2B,IAAI,GAClC,GAAG,2BAA2B,GAAG,GACjC,GAAG,2BAA2B,KAAK,CAAC;AAExC,MAAM,MAAM,mBAAmB,GAAG;IAChC,MAAM,EAAE,SAAS,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;CAC7C,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAC3B,gBAAgB,GAChB,mBAAmB,GACnB,CAAC,MAAM,EAAE,gBAAgB,CAAC,GAC1B,oBAAoB,GACpB,mBAAmB,GACnB,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,gBAAgB,KAAK,GAAG,CAAC,CAAC;AAEtD,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;AAEjE,MAAM,MAAM,qCAAqC,GAC7C;IACE;;OAEG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;OAEG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;OAEG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,GACD,QAAQ,GACR,WAAW,GACX,WAAW,GACX,QAAQ,CAAC;AAEb;;;;;GAKG;AACH,MAAM,MAAM,iBAAiB,GACzB,2BAA2B,GAC3B,mBAAmB,GACnB,CAAC,mBAAmB,CAAC,CAAC;AAE1B;;;GAGG;AACH,MAAM,MAAM,cAAc,GAAG;KAC1B,UAAU,IAAI,cAAc,CAAC,CAAC,EAAE;QAC/B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;KACzC;CACF,CAAC"}
@@ -2,6 +2,7 @@ import type { GenericObject } from "@mongez/reinforcements";
2
2
  import type { ObjectValidator } from "@warlock.js/seal";
3
3
  import type { RouteShorthandOptions } from "fastify";
4
4
  import type { Request, Response, ReturnedResponse } from "../http";
5
+ import type { ResponseSchema } from "../resource/types";
5
6
  /**
6
7
  * Middleware response
7
8
  */
@@ -71,6 +72,11 @@ export type RequestHandler<TRequest extends Request = Request> = {
71
72
  * Request Handler Description
72
73
  */
73
74
  description?: string;
75
+ /**
76
+ * Response schema for documentation / OpenAPI generation.
77
+ * Keyed by HTTP status code. Each entry declares the expected response body shape.
78
+ */
79
+ responseSchema?: ResponseSchema;
74
80
  };
75
81
  export interface RouteOptions {
76
82
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/router/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/router/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@warlock.js/core",
3
- "version": "4.0.131",
3
+ "version": "4.0.133",
4
4
  "description": "A robust nodejs framework for building blazing fast applications",
5
5
  "main": "./esm/index.js",
6
6
  "bin": {
@@ -27,12 +27,12 @@
27
27
  "@mongez/slug": "^1.0.7",
28
28
  "@mongez/supportive-is": "^2.0.4",
29
29
  "@mongez/time-wizard": "^1.0.6",
30
- "@warlock.js/auth": "4.0.131",
31
- "@warlock.js/cache": "4.0.131",
32
- "@warlock.js/cascade": "4.0.131",
33
- "@warlock.js/context": "4.0.131",
34
- "@warlock.js/logger": "4.0.131",
35
- "@warlock.js/seal": "4.0.131",
30
+ "@warlock.js/auth": "4.0.133",
31
+ "@warlock.js/cache": "4.0.133",
32
+ "@warlock.js/cascade": "4.0.133",
33
+ "@warlock.js/context": "4.0.133",
34
+ "@warlock.js/logger": "4.0.133",
35
+ "@warlock.js/seal": "4.0.133",
36
36
  "axios": "^1.7.9",
37
37
  "chokidar": "^5.0.0",
38
38
  "dayjs": "^1.11.19",