@starklabs/forge 2.0.1 → 2.0.2-oops.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.
@@ -11,10 +11,11 @@ export declare const isEmailAction: (a: Action) => a is Extract<Action, {
11
11
  * Runs the `actions.before` / `actions.after` hooks of a route.
12
12
  *
13
13
  * - `before` actions run in order and may abort the request by throwing.
14
+ * A `customAction` that returns a value replaces the action data.
14
15
  * - `after` actions run once the data is already saved, so a failing hook is
15
16
  * logged instead of reporting a failure for work that actually succeeded.
16
17
  * A `customAction` that returns a value replaces the response data.
17
- * - Every action is awaited (1.x let rejected promises escape and crash the process).
18
+ * - Every action is awaited.
18
19
  */
19
20
  export declare class ActionRunner {
20
21
  private readonly emails;
@@ -22,7 +23,8 @@ export declare class ActionRunner {
22
23
  constructor(emails: EmailService, logger: Logger);
23
24
  /** Fail fast at startup if a hook has an unknown shape. */
24
25
  assertValid(actions: readonly Action[] | undefined, where: string): void;
25
- runBefore(actions: readonly Action[] | undefined, context: ActionContext): Promise<void>;
26
+ /** Returns the replacement data, if any before action produced one. */
27
+ runBefore(actions: readonly Action[] | undefined, context: ActionContext): Promise<unknown>;
26
28
  /** Returns the replacement response data, if any action produced one. */
27
29
  runAfter(actions: readonly Action[] | undefined, context: ActionContext): Promise<unknown>;
28
30
  private execute;
@@ -1 +1 @@
1
- {"version":3,"file":"ActionRunner.d.ts","sourceRoot":"","sources":["../../src/core/ActionRunner.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAEjD,eAAO,MAAM,cAAc,MAAO,MAAM,KAAG,CAAC,IAAI,OAAO,CAAC,MAAM,EAAE;IAAE,YAAY,EAAE,OAAO,CAAA;CAAE,CAC0C,CAAC;AAEpI,eAAO,MAAM,aAAa,MAAO,MAAM,KAAG,CAAC,IAAI,OAAO,CAAC,MAAM,EAAE;IAAE,WAAW,EAAE,OAAO,CAAA;CAAE,CACuC,CAAC;AAE/H;;;;;;;;GAQG;AACH,qBAAa,YAAY;IAErB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,MAAM;IAFzB,YACmB,MAAM,EAAE,YAAY,EACpB,MAAM,EAAE,MAAM,EAC7B;IAEJ,2DAA2D;IAC3D,WAAW,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CASvE;IAEK,SAAS,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAE7F;IAED,yEAAyE;IACnE,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,CAa/F;YAEa,OAAO;CAKtB"}
1
+ {"version":3,"file":"ActionRunner.d.ts","sourceRoot":"","sources":["../../src/core/ActionRunner.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAEjD,eAAO,MAAM,cAAc,MACtB,MAAM,KACR,CAAC,IAAI,OAAO,CAAC,MAAM,EAAE;IAAE,YAAY,EAAE,OAAO,CAAA;CAAE,CAIoB,CAAC;AAEtE,eAAO,MAAM,aAAa,MACrB,MAAM,KACR,CAAC,IAAI,OAAO,CAAC,MAAM,EAAE;IAAE,WAAW,EAAE,OAAO,CAAA;CAAE,CAIiB,CAAC;AAElE;;;;;;;;;GASG;AACH,qBAAa,YAAY;IAErB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,MAAM;IAFzB,YACmB,MAAM,EAAE,YAAY,EACpB,MAAM,EAAE,MAAM,EAC7B;IAEJ,2DAA2D;IAC3D,WAAW,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CASvE;IAED,uEAAuE;IACjE,SAAS,CACb,OAAO,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,EACtC,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,OAAO,CAAC,CAelB;IAED,yEAAyE;IACnE,QAAQ,CACZ,OAAO,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,EACtC,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,OAAO,CAAC,CAsBlB;YAEa,OAAO;CAStB"}
@@ -1,14 +1,21 @@
1
1
  import { ConfigurationError, ErrorCode } from "../errors/index.js";
2
- export const isCustomAction = (a) => typeof a === "object" && a !== null && "customAction" in a && typeof a.customAction === "function";
3
- export const isEmailAction = (a) => typeof a === "object" && a !== null && "emailAction" in a && typeof a.emailAction === "object";
2
+ export const isCustomAction = (a) => typeof a === "object" &&
3
+ a !== null &&
4
+ "customAction" in a &&
5
+ typeof a.customAction === "function";
6
+ export const isEmailAction = (a) => typeof a === "object" &&
7
+ a !== null &&
8
+ "emailAction" in a &&
9
+ typeof a.emailAction === "object";
4
10
  /**
5
11
  * Runs the `actions.before` / `actions.after` hooks of a route.
6
12
  *
7
13
  * - `before` actions run in order and may abort the request by throwing.
14
+ * A `customAction` that returns a value replaces the action data.
8
15
  * - `after` actions run once the data is already saved, so a failing hook is
9
16
  * logged instead of reporting a failure for work that actually succeeded.
10
17
  * A `customAction` that returns a value replaces the response data.
11
- * - Every action is awaited (1.x let rejected promises escape and crash the process).
18
+ * - Every action is awaited.
12
19
  */
13
20
  export class ActionRunner {
14
21
  emails;
@@ -28,16 +35,29 @@ export class ActionRunner {
28
35
  }
29
36
  }
30
37
  }
38
+ /** Returns the replacement data, if any before action produced one. */
31
39
  async runBefore(actions, context) {
32
- for (const action of actions ?? [])
33
- await this.execute(action, context);
40
+ let merge;
41
+ for (const action of actions ?? []) {
42
+ const result = await this.execute(action, {
43
+ ...context,
44
+ result: merge !== undefined ? merge : context.result,
45
+ });
46
+ if (result !== undefined) {
47
+ merge = result;
48
+ }
49
+ }
50
+ return merge;
34
51
  }
35
52
  /** Returns the replacement response data, if any action produced one. */
36
53
  async runAfter(actions, context) {
37
54
  let replacement;
38
55
  for (const action of actions ?? []) {
39
56
  try {
40
- const result = await this.execute(action, { ...context, result: replacement ?? context.result });
57
+ const result = await this.execute(action, {
58
+ ...context,
59
+ result: replacement !== undefined ? replacement : context.result,
60
+ });
41
61
  if (result !== undefined)
42
62
  replacement = result;
43
63
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ActionRunner.js","sourceRoot":"","sources":["../../src/core/ActionRunner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAKnE,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAS,EAAmD,EAAE,CAC3F,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,IAAI,cAAc,IAAI,CAAC,IAAI,OAAQ,CAA+B,CAAC,YAAY,KAAK,UAAU,CAAC;AAEpI,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAS,EAAkD,EAAE,CACzF,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,IAAI,aAAa,IAAI,CAAC,IAAI,OAAQ,CAA8B,CAAC,WAAW,KAAK,QAAQ,CAAC;AAE/H;;;;;;;;GAQG;AACH,MAAM,OAAO,YAAY;IAEJ,MAAM;IACN,MAAM;IAFzB,YACmB,MAAoB,EACpB,MAAc;sBADd,MAAM;sBACN,MAAM;IACtB,CAAC;IAEJ,2DAA2D;IAC3D,WAAW,CAAC,OAAsC,EAAE,KAAa;QAC/D,KAAK,MAAM,MAAM,IAAI,OAAO,IAAI,EAAE,EAAE,CAAC;YACnC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC;gBACtD,MAAM,IAAI,kBAAkB,CAAC;oBAC3B,OAAO,EAAE,GAAG,KAAK,qEAAqE;oBACtF,IAAI,EAAE,SAAS,CAAC,mBAAmB;iBACpC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,OAAsC,EAAE,OAAsB;QAC5E,KAAK,MAAM,MAAM,IAAI,OAAO,IAAI,EAAE;YAAE,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC1E,CAAC;IAED,yEAAyE;IACzE,KAAK,CAAC,QAAQ,CAAC,OAAsC,EAAE,OAAsB;QAC3E,IAAI,WAAoB,CAAC;QACzB,KAAK,MAAM,MAAM,IAAI,OAAO,IAAI,EAAE,EAAE,CAAC;YACnC,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,WAAW,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;gBACjG,IAAI,MAAM,KAAK,SAAS;oBAAE,WAAW,GAAG,MAAM,CAAC;YACjD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,+BAA+B,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,SAAS,GAAG,EAAE;oBACtF,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;iBAC9D,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QACD,OAAO,WAAW,CAAC;IACrB,CAAC;IAEO,KAAK,CAAC,OAAO,CAAC,MAAc,EAAE,OAAsB;QAC1D,IAAI,cAAc,CAAC,MAAM,CAAC;YAAE,OAAO,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QAChE,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QAC1D,OAAO,SAAS,CAAC;IACnB,CAAC;CACF"}
1
+ {"version":3,"file":"ActionRunner.js","sourceRoot":"","sources":["../../src/core/ActionRunner.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Forge.d.ts","sourceRoot":"","sources":["../../src/core/Forge.ts"],"names":[],"mappings":"AAGA,OAAgB,EAAE,KAAK,OAAO,EAAE,MAAM,SAAS,CAAC;AAEhD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAMxC,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAS9D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,qBAAqB,CAAC;AAE7B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAkB,KAAK,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAI7E;;;;;;;;;;GAUG;AACH,qBAAa,KAAK;IAChB,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAa;IAElC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAoC;IAC5D,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAe;IAC9C,OAAO,CAAC,MAAM,CAAqB;IACnC,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,cAAc,CAA2C;IAEjE,YAAY,OAAO,GAAE,YAAiB,EAAE,YAAY,GAAE,iBAAsB,EAqB3E;IAED,4FAA4F;IAC5F,MAAM,CAAC,WAAW,EAAE,KAAK,GAAG,SAAS,CAAC;IAEtC,kEAAkE;IAClE,GAAG,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI,CAI/B;IAED,IAAI,WAAW,IAAI,SAAS,UAAU,EAAE,CAEvC;IAED,+FAA+F;IAC/F,KAAK,IAAI,OAAO,CA8Bf;IAEK,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC,CAiB7B;IAED,2FAA2F;IACrF,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAa1B;IAED,OAAO,CAAC,gBAAgB;IAwBxB,OAAO,CAAC,SAAS;IAWjB,OAAO,CAAC,WAAW;IAQnB,OAAO,CAAC,cAAc;IAUtB,OAAO,CAAC,qBAAqB;CAgB9B"}
1
+ {"version":3,"file":"Forge.d.ts","sourceRoot":"","sources":["../../src/core/Forge.ts"],"names":[],"mappings":"AAGA,OAAgB,EAAE,KAAK,OAAO,EAAE,MAAM,SAAS,CAAC;AAEhD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAMxC,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAS9D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,qBAAqB,CAAC;AAE7B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAkB,KAAK,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAI7E;;;;;;;;;;GAUG;AACH,qBAAa,KAAK;IAChB,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAa;IAElC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAoC;IAC5D,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAe;IAC9C,OAAO,CAAC,MAAM,CAAqB;IACnC,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,cAAc,CAA2C;IAEjE,YACE,OAAO,GAAE,YAAiB,EAC1B,YAAY,GAAE,iBAAsB,EAuBrC;IAED,4FAA4F;IAC5F,MAAM,CAAC,WAAW,EAAE,KAAK,GAAG,SAAS,CAAC;IAEtC,kEAAkE;IAClE,GAAG,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI,CAO/B;IAED,IAAI,WAAW,IAAI,SAAS,UAAU,EAAE,CAEvC;IAED,+FAA+F;IAC/F,KAAK,IAAI,OAAO,CAkCf;IAEK,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC,CAuB7B;IAED,2FAA2F;IACrF,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAc1B;IAED,OAAO,CAAC,gBAAgB;IA0BxB,OAAO,CAAC,SAAS;IAWjB,OAAO,CAAC,WAAW;IAUnB,OAAO,CAAC,cAAc;IAUtB,OAAO,CAAC,qBAAqB;CAkB9B"}
@@ -65,7 +65,9 @@ export class Forge {
65
65
  /** Add a custom collection type, or replace a built-in module. */
66
66
  use(module) {
67
67
  if (this.built)
68
- throw new ConfigurationError({ message: "Call use() before build() / start()." });
68
+ throw new ConfigurationError({
69
+ message: "Call use() before build() / start().",
70
+ });
69
71
  this.modules.set(module.type, module);
70
72
  return this;
71
73
  }
@@ -84,7 +86,9 @@ export class Forge {
84
86
  app.use(helmet());
85
87
  app.use(cors(this.corsOptions()));
86
88
  if (config.logRequests) {
87
- app.use(morgan("tiny", { stream: { write: (line) => services.logger.info(line.trim()) } }));
89
+ app.use(morgan("tiny", {
90
+ stream: { write: (line) => services.logger.info(line.trim()) },
91
+ }));
88
92
  }
89
93
  app.use(compression());
90
94
  app.use(services.limiters.global());
@@ -106,7 +110,7 @@ export class Forge {
106
110
  await this.services.data.connect();
107
111
  // Express 5 hands listen errors (EADDRINUSE...) to this callback instead of throwing.
108
112
  const server = await new Promise((resolve, reject) => {
109
- const s = this.app.listen(this.config.port, (error) => (error ? reject(error) : resolve(s)));
113
+ const s = this.app.listen(this.config.port, (error) => error ? reject(error) : resolve(s));
110
114
  });
111
115
  this.server = server;
112
116
  if (this.config.logRequests) {
@@ -168,7 +172,9 @@ export class Forge {
168
172
  return config.corsConfig;
169
173
  const origins = config.frontendOrigins;
170
174
  // Without configured front-end origins, cross-origin browser access is not allowed.
171
- return origins.length > 0 ? { origin: [...origins], credentials: true } : { origin: false };
175
+ return origins.length > 0
176
+ ? { origin: [...origins], credentials: true }
177
+ : { origin: false };
172
178
  }
173
179
  allowedOrigins() {
174
180
  const configured = this.config.corsConfig?.origin;
@@ -184,7 +190,9 @@ export class Forge {
184
190
  const handler = () => {
185
191
  this.services.logger.info(`${signal} received: shutting down.`);
186
192
  this.stop().then(() => process.exit(0), (error) => {
187
- this.services.logger.error("Shutdown failed.", { error: String(error) });
193
+ this.services.logger.error("Shutdown failed.", {
194
+ error: String(error),
195
+ });
188
196
  process.exit(1);
189
197
  });
190
198
  };
@@ -1 +1 @@
1
- {"version":3,"file":"Forge.js","sourceRoot":"","sources":["../../src/core/Forge.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Forge.js","sourceRoot":"","sources":["../../src/core/Forge.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"CrudController.d.ts","sourceRoot":"","sources":["../../src/crud/CrudController.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAEjD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAGpD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAO/C,iHAAiH;AACjH,qBAAa,cAAc;IAGb,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAFrC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAc;IAEtC,YAA6B,QAAQ,EAAE,QAAQ,EAE9C;IAED,IAAI,QAAe,OAAO,OAAO,QAAQ,OAAO,YAAY,KAAG,OAAO,CAAC,IAAI,CAAC,CAW1E;IAEF,OAAO,QAAe,OAAO,OAAO,QAAQ,OAAO,YAAY,KAAG,OAAO,CAAC,IAAI,CAAC,CAsB7E;IAEF,MAAM,QAAe,OAAO,OAAO,QAAQ,OAAO,YAAY,KAAG,OAAO,CAAC,IAAI,CAAC,CAsB5E;IAEF,UAAU,QAAe,OAAO,OAAO,QAAQ,OAAO,YAAY,KAAG,OAAO,CAAC,IAAI,CAAC,CA2BhF;IAEF,MAAM,QAAe,OAAO,OAAO,QAAQ,OAAO,YAAY,KAAG,OAAO,CAAC,IAAI,CAAC,CA+B5E;IAEF,MAAM,QAAe,OAAO,OAAO,QAAQ,OAAO,YAAY,KAAG,OAAO,CAAC,IAAI,CAAC,CAe5E;IAEF,cAAc,QAAe,OAAO,OAAO,QAAQ,OAAO,YAAY,KAAG,OAAO,CAAC,IAAI,CAAC,CAuBpF;IAEF,SAAS,QAAe,OAAO,OAAO,QAAQ,OAAO,YAAY,KAAG,OAAO,CAAC,IAAI,CAAC,CAc/E;IAEF,yFAAyF;IACzF,eAAe,CAAC,KAAK,EAAE,YAAY,CAAC,OAAO,CAAC,GAAG,MAAM,EAAE,CAKtD;IAED;;;;OAIG;IACH,cAAc,CAAC,UAAU,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,GAAG,MAAM,EAAE,CAiC7D;IAED,OAAO,CAAC,SAAS;IAOjB;;;;OAIG;YACW,kBAAkB;YAIlB,aAAa;IAO3B,OAAO,CAAC,UAAU;CAMnB"}
1
+ {"version":3,"file":"CrudController.d.ts","sourceRoot":"","sources":["../../src/crud/CrudController.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAEjD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAGpD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAO/C,iHAAiH;AACjH,qBAAa,cAAc;IAGb,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAFrC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAc;IAEtC,YAA6B,QAAQ,EAAE,QAAQ,EAE9C;IAED,IAAI,QACG,OAAO,OACP,QAAQ,OACR,YAAY,KAChB,OAAO,CAAC,IAAI,CAAC,CAiBd;IAEF,OAAO,QACA,OAAO,OACP,QAAQ,OACR,YAAY,KAChB,OAAO,CAAC,IAAI,CAAC,CAiCd;IAEF,MAAM,QACC,OAAO,OACP,QAAQ,OACR,YAAY,KAChB,OAAO,CAAC,IAAI,CAAC,CAyDd;IAEF,UAAU,QACH,OAAO,OACP,QAAQ,OACR,YAAY,KAChB,OAAO,CAAC,IAAI,CAAC,CA6Cd;IAEF,MAAM,QACC,OAAO,OACP,QAAQ,OACR,YAAY,KAChB,OAAO,CAAC,IAAI,CAAC,CA4Dd;IAEF,MAAM,QACC,OAAO,OACP,QAAQ,OACR,YAAY,KAChB,OAAO,CAAC,IAAI,CAAC,CAqBd;IAEF,cAAc,QACP,OAAO,OACP,QAAQ,OACR,YAAY,KAChB,OAAO,CAAC,IAAI,CAAC,CA6Cd;IAEF,SAAS,QACF,OAAO,OACP,QAAQ,OACR,YAAY,KAChB,OAAO,CAAC,IAAI,CAAC,CA0Bd;IAEF,yFAAyF;IACzF,eAAe,CAAC,KAAK,EAAE,YAAY,CAAC,OAAO,CAAC,GAAG,MAAM,EAAE,CAUtD;IAED;;;;OAIG;IACH,cAAc,CAAC,UAAU,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,GAAG,MAAM,EAAE,CAuD7D;IAED,OAAO,CAAC,SAAS;IAWjB;;;;OAIG;YACW,kBAAkB;YASlB,aAAa;IAc3B,OAAO,CAAC,UAAU;CAanB"}
@@ -17,7 +17,10 @@ export class CrudController {
17
17
  const doc = await this.support.load(ctx, req);
18
18
  const item = await this.support.present(ctx, doc);
19
19
  const replaced = await this.services.actions.runAfter(ctx.route.actions?.after, { ...ctx.actionContext(req, "read"), item, result: item });
20
- this.services.responses.success(res, { message: `${ctx.modelName} fetched successfully.`, data: replaced ?? item });
20
+ this.services.responses.success(res, {
21
+ message: `${ctx.modelName} fetched successfully.`,
22
+ data: replaced ?? item,
23
+ });
21
24
  };
22
25
  readAll = async (req, res, ctx) => {
23
26
  await this.services.actions.runBefore(ctx.route.actions?.before, ctx.actionContext(req, "readAll"));
@@ -25,7 +28,12 @@ export class CrudController {
25
28
  const page = this.services.pagination.parse(req, this.support.sortable(ctx));
26
29
  const filter = this.services.access.scopeFilter(ctx.route, req.user);
27
30
  const [docs, total] = await Promise.all([
28
- repo.find(filter, { populate: this.support.populate(ctx), sort: page.sort, skip: page.skip, limit: page.limit }),
31
+ repo.find(filter, {
32
+ populate: this.support.populate(ctx),
33
+ sort: page.sort,
34
+ skip: page.skip,
35
+ limit: page.limit,
36
+ }),
29
37
  repo.count(filter),
30
38
  ]);
31
39
  const items = await this.support.presentMany(ctx, docs);
@@ -37,17 +45,37 @@ export class CrudController {
37
45
  });
38
46
  };
39
47
  create = async (req, res, ctx) => {
40
- await this.services.actions.runBefore(ctx.route.actions?.before, ctx.actionContext(req, "create"));
48
+ const beforeResult = await this.services.actions.runBefore(ctx.route.actions?.before, ctx.actionContext(req, "create"));
49
+ if (beforeResult !== undefined &&
50
+ typeof beforeResult === "object" &&
51
+ beforeResult !== null &&
52
+ !Array.isArray(beforeResult)) {
53
+ req.body = {
54
+ ...req.body,
55
+ ...beforeResult,
56
+ };
57
+ }
41
58
  let body = this.services.access.writableBody(ctx.parseBody(req.body), req.user);
42
- const stored = ctx.route.files?.length ? await this.services.uploads.store(req, ctx.route.files) : {};
59
+ const stored = ctx.route.files?.length
60
+ ? await this.services.uploads.store(req, ctx.route.files)
61
+ : {};
43
62
  body = { ...body, ...stored };
44
63
  try {
45
64
  const encrypted = await this.services.transformer.encrypt(body, ctx.route.encryptedFields);
46
65
  const hashed = await this.services.transformer.hash(encrypted, ctx.route.hashedFields);
47
- const doc = await this.support.repo(ctx).create(this.withOwner(ctx, hashed, req));
66
+ const doc = await this.support
67
+ .repo(ctx)
68
+ .create(this.withOwner(ctx, hashed, req));
48
69
  const item = await this.support.present(ctx, doc);
49
- const replaced = await this.services.actions.runAfter(ctx.route.actions?.after, { ...ctx.actionContext(req, "create", { body, files: stored }), item, result: item });
50
- this.services.responses.created(res, { message: `${ctx.modelName} created successfully.`, data: replaced ?? item });
70
+ const replaced = await this.services.actions.runAfter(ctx.route.actions?.after, {
71
+ ...ctx.actionContext(req, "create", { body, files: stored }),
72
+ item,
73
+ result: item,
74
+ });
75
+ this.services.responses.created(res, {
76
+ message: `${ctx.modelName} created successfully.`,
77
+ data: replaced ?? item,
78
+ });
51
79
  }
52
80
  catch (error) {
53
81
  await this.discardStored(ctx, stored);
@@ -57,11 +85,17 @@ export class CrudController {
57
85
  createBulk = async (req, res, ctx) => {
58
86
  await this.services.actions.runBefore(ctx.route.actions?.before, ctx.actionContext(req, "createBulk"));
59
87
  if (!Array.isArray(req.body) || req.body.length === 0) {
60
- throw new BadRequestError({ message: "Send a non-empty JSON array.", code: ErrorCode.BAD_REQUEST });
88
+ throw new BadRequestError({
89
+ message: "Send a non-empty JSON array.",
90
+ code: ErrorCode.BAD_REQUEST,
91
+ });
61
92
  }
62
93
  const max = ctx.route.config?.maxBulkSize ?? DEFAULT_MAX_BULK;
63
94
  if (req.body.length > max) {
64
- throw new BadRequestError({ message: `You can create at most ${max} items at once.`, code: ErrorCode.BAD_REQUEST });
95
+ throw new BadRequestError({
96
+ message: `You can create at most ${max} items at once.`,
97
+ code: ErrorCode.BAD_REQUEST,
98
+ });
65
99
  }
66
100
  const rows = [];
67
101
  for (const parsed of ctx.parseEach(req.body)) {
@@ -73,26 +107,43 @@ export class CrudController {
73
107
  const docs = await this.support.repo(ctx).createMany(rows);
74
108
  const items = await this.support.presentMany(ctx, docs);
75
109
  const replaced = await this.services.actions.runAfter(ctx.route.actions?.after, { ...ctx.actionContext(req, "createBulk"), item: items, result: items });
76
- this.services.responses.created(res, { message: `${items.length} ${ctx.modelName} items created successfully.`, data: replaced ?? items });
110
+ this.services.responses.created(res, {
111
+ message: `${items.length} ${ctx.modelName} items created successfully.`,
112
+ data: replaced ?? items,
113
+ });
77
114
  };
78
115
  update = async (req, res, ctx) => {
79
116
  await this.services.actions.runBefore(ctx.route.actions?.before, ctx.actionContext(req, "update"));
80
117
  const existing = await this.support.load(ctx, req);
81
118
  let body = this.services.access.writableBody(ctx.parseBody(req.body), req.user);
82
- const stored = ctx.route.files?.length ? await this.services.uploads.store(req, ctx.route.files) : {};
119
+ const stored = ctx.route.files?.length
120
+ ? await this.services.uploads.store(req, ctx.route.files)
121
+ : {};
83
122
  body = { ...body, ...stored };
84
123
  try {
85
124
  const encrypted = await this.services.transformer.encrypt(body, ctx.route.encryptedFields);
86
125
  const hashed = await this.services.transformer.hash(encrypted, ctx.route.hashedFields);
87
- const updated = await this.support.repo(ctx).updateById(existing._id, hashed);
126
+ const updated = await this.support
127
+ .repo(ctx)
128
+ .updateById(existing._id, hashed);
88
129
  if (!updated)
89
130
  throw this.support.notFound(ctx);
90
131
  // Files that were replaced are no longer referenced: remove them from storage.
91
132
  const replacedFields = new Set(Object.keys(stored));
92
- await this.services.uploads.discard(this.support.filesOf(ctx, existing).filter(({ file }) => replacedFields.size > 0 && this.isReplaced(existing, replacedFields, file.storageKey)));
133
+ await this.services.uploads.discard(this.support
134
+ .filesOf(ctx, existing)
135
+ .filter(({ file }) => replacedFields.size > 0 &&
136
+ this.isReplaced(existing, replacedFields, file.storageKey)));
93
137
  const item = await this.support.present(ctx, updated);
94
- const replaced = await this.services.actions.runAfter(ctx.route.actions?.after, { ...ctx.actionContext(req, "update", { body, files: stored }), item, result: item });
95
- this.services.responses.success(res, { message: `${ctx.modelName} updated successfully.`, data: replaced ?? item });
138
+ const replaced = await this.services.actions.runAfter(ctx.route.actions?.after, {
139
+ ...ctx.actionContext(req, "update", { body, files: stored }),
140
+ item,
141
+ result: item,
142
+ });
143
+ this.services.responses.success(res, {
144
+ message: `${ctx.modelName} updated successfully.`,
145
+ data: replaced ?? item,
146
+ });
96
147
  }
97
148
  catch (error) {
98
149
  await this.discardStored(ctx, stored);
@@ -108,25 +159,41 @@ export class CrudController {
108
159
  await this.services.uploads.discard(this.support.filesOf(ctx, removed));
109
160
  const item = await this.support.present(ctx, removed);
110
161
  const replaced = await this.services.actions.runAfter(ctx.route.actions?.after, { ...ctx.actionContext(req, "remove"), item, result: item });
111
- this.services.responses.success(res, { message: `${ctx.modelName} deleted successfully.`, data: replaced ?? item });
162
+ this.services.responses.success(res, {
163
+ message: `${ctx.modelName} deleted successfully.`,
164
+ data: replaced ?? item,
165
+ });
112
166
  };
113
167
  removeMultiple = async (req, res, ctx) => {
114
168
  await this.services.actions.runBefore(ctx.route.actions?.before, ctx.actionContext(req, "removeMultiple"));
115
169
  const field = ctx.route.config?.targetField ?? "ids";
116
170
  const ids = req.body?.[field];
117
- if (!Array.isArray(ids) || ids.length === 0 || ids.length > MAX_BATCH_DELETE || !ids.every(isObjectId)) {
171
+ if (!Array.isArray(ids) ||
172
+ ids.length === 0 ||
173
+ ids.length > MAX_BATCH_DELETE ||
174
+ !ids.every(isObjectId)) {
118
175
  throw new BadRequestError({
119
176
  message: `'${field}' must be an array of 1-${MAX_BATCH_DELETE} valid ids.`,
120
177
  code: ErrorCode.INVALID_OBJECT_ID,
121
178
  });
122
179
  }
123
180
  const repo = this.support.repo(ctx);
124
- const filter = { ...this.services.access.scopeFilter(ctx.route, req.user), _id: { $in: [...new Set(ids)] } };
181
+ const filter = {
182
+ ...this.services.access.scopeFilter(ctx.route, req.user),
183
+ _id: { $in: [...new Set(ids)] },
184
+ };
125
185
  const docs = await this.documentsWithFiles(ctx, filter);
126
186
  const deleted = await repo.deleteMany(filter);
127
187
  await this.services.uploads.discard(docs.flatMap((doc) => this.support.filesOf(ctx, doc)));
128
- const replaced = await this.services.actions.runAfter(ctx.route.actions?.after, { ...ctx.actionContext(req, "removeMultiple"), item: { deleted }, result: { deleted } });
129
- this.services.responses.success(res, { message: `${deleted} ${ctx.modelName} items deleted.`, data: replaced ?? { deleted } });
188
+ const replaced = await this.services.actions.runAfter(ctx.route.actions?.after, {
189
+ ...ctx.actionContext(req, "removeMultiple"),
190
+ item: { deleted },
191
+ result: { deleted },
192
+ });
193
+ this.services.responses.success(res, {
194
+ message: `${deleted} ${ctx.modelName} items deleted.`,
195
+ data: replaced ?? { deleted },
196
+ });
130
197
  };
131
198
  removeAll = async (req, res, ctx) => {
132
199
  await this.services.actions.runBefore(ctx.route.actions?.before, ctx.actionContext(req, "removeAll"));
@@ -135,13 +202,23 @@ export class CrudController {
135
202
  const docs = await this.documentsWithFiles(ctx, filter);
136
203
  const deleted = await repo.deleteMany(filter);
137
204
  await this.services.uploads.discard(docs.flatMap((doc) => this.support.filesOf(ctx, doc)));
138
- const replaced = await this.services.actions.runAfter(ctx.route.actions?.after, { ...ctx.actionContext(req, "removeAll"), item: { deleted }, result: { deleted } });
139
- this.services.responses.success(res, { message: `${deleted} ${ctx.modelName} items deleted.`, data: replaced ?? { deleted } });
205
+ const replaced = await this.services.actions.runAfter(ctx.route.actions?.after, {
206
+ ...ctx.actionContext(req, "removeAll"),
207
+ item: { deleted },
208
+ result: { deleted },
209
+ });
210
+ this.services.responses.success(res, {
211
+ message: `${deleted} ${ctx.modelName} items deleted.`,
212
+ data: replaced ?? { deleted },
213
+ });
140
214
  };
141
215
  /** Startup check: `removeAll` on an open route would let anyone empty the collection. */
142
216
  assertSafeRoute(route) {
143
- if (route.handler === "removeAll" && (route.auth === "public" || route.auth === "authenticated")) {
144
- return ["'removeAll' must use auth 'admin' or 'admin-or-owner' - otherwise any caller could wipe the whole collection."];
217
+ if (route.handler === "removeAll" &&
218
+ (route.auth === "public" || route.auth === "authenticated")) {
219
+ return [
220
+ "'removeAll' must use auth 'admin' or 'admin-or-owner' - otherwise any caller could wipe the whole collection.",
221
+ ];
145
222
  }
146
223
  return [];
147
224
  }
@@ -156,7 +233,9 @@ export class CrudController {
156
233
  return [];
157
234
  const names = typeof populate === "string" ? populate.split(/\s+/).filter(Boolean) : [];
158
235
  if (names.length === 0)
159
- return ["'populate' must be the name of a field of the schema (or false)."];
236
+ return [
237
+ "'populate' must be the name of a field of the schema (or false).",
238
+ ];
160
239
  const problems = [];
161
240
  const schema = collection.schema ?? {};
162
241
  for (const name of names) {
@@ -171,12 +250,15 @@ export class CrudController {
171
250
  if (!reference) {
172
251
  problems.push(`'populate' names '${name}', which is not a reference. Declare it with a ref, for example { type: "ObjectId", ref: "User" }.`);
173
252
  }
174
- else if (typeof reference.ref === "string" && !this.services.data.has(reference.ref)) {
253
+ else if (typeof reference.ref === "string" &&
254
+ !this.services.data.has(reference.ref)) {
175
255
  problems.push(`'populate' names '${name}', which refers to the model '${reference.ref}'. No collection or sign-in configuration declares a model with that name.`);
176
256
  }
177
257
  }
178
258
  if (populateSelect !== undefined) {
179
- const fieldNames = typeof populateSelect === "string" ? populateSelect.split(/\s+/).filter(Boolean) : [];
259
+ const fieldNames = typeof populateSelect === "string"
260
+ ? populateSelect.split(/\s+/).filter(Boolean)
261
+ : [];
180
262
  if (fieldNames.length === 0) {
181
263
  problems.push("'populateSelect' must list the fields to return, for example \"_id name\". Empty, it would return every field.");
182
264
  }
@@ -198,7 +280,9 @@ export class CrudController {
198
280
  * collection into memory just to delete it.
199
281
  */
200
282
  async documentsWithFiles(ctx, filter) {
201
- return this.support.fileFields(ctx).length > 0 ? [...(await this.support.repo(ctx).find(filter))] : [];
283
+ return this.support.fileFields(ctx).length > 0
284
+ ? [...(await this.support.repo(ctx).find(filter))]
285
+ : [];
202
286
  }
203
287
  async discardStored(ctx, stored) {
204
288
  const providers = new Map((ctx.route.files ?? []).map((f) => [f.schemaField, f.provider]));
@@ -207,7 +291,8 @@ export class CrudController {
207
291
  isReplaced(existing, replacedFields, storageKey) {
208
292
  return [...replacedFields].some((field) => {
209
293
  const list = existing[field];
210
- return Array.isArray(list) && list.some((f) => f.storageKey === storageKey);
294
+ return (Array.isArray(list) &&
295
+ list.some((f) => f.storageKey === storageKey));
211
296
  });
212
297
  }
213
298
  }
@@ -1 +1 @@
1
- {"version":3,"file":"CrudController.js","sourceRoot":"","sources":["../../src/crud/CrudController.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CrudController.js","sourceRoot":"","sources":["../../src/crud/CrudController.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAIhE,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAGpD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,MAAM,gBAAgB,GAAG,GAAG,CAAC;AAC7B,MAAM,gBAAgB,GAAG,GAAG,CAAC;AAE7B,iHAAiH;AACjH,MAAM,OAAO,cAAc;IAGI,QAAQ;IAFpB,OAAO,CAAc;IAEtC,YAA6B,QAAkB;wBAAlB,QAAQ;QACnC,IAAI,CAAC,OAAO,GAAG,IAAI,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC3C,CAAC;IAED,IAAI,GAAG,KAAK,EACV,GAAY,EACZ,GAAa,EACb,GAAiB,EACF,EAAE;QACjB,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CACnC,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,EACzB,GAAG,CAAC,aAAa,CAAC,GAAG,EAAE,MAAM,CAAC,CAC/B,CAAC;QAEF,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAC9C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAElD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CACnD,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,EACxB,EAAE,GAAG,GAAG,CAAC,aAAa,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAC1D,CAAC;QACF,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,EAAE;YACnC,OAAO,EAAE,GAAG,GAAG,CAAC,SAAS,wBAAwB;YACjD,IAAI,EAAE,QAAQ,IAAI,IAAI;SACvB,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,OAAO,GAAG,KAAK,EACb,GAAY,EACZ,GAAa,EACb,GAAiB,EACF,EAAE;QACjB,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CACnC,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,EACzB,GAAG,CAAC,aAAa,CAAC,GAAG,EAAE,SAAS,CAAC,CAClC,CAAC;QAEF,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACpC,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CACzC,GAAG,EACH,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAC3B,CAAC;QACF,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;QAErE,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACtC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;gBAChB,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC;gBACpC,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,KAAK,EAAE,IAAI,CAAC,KAAK;aAClB,CAAC;YACF,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;SACnB,CAAC,CAAC;QACH,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAExD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CACnD,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,EACxB,EAAE,GAAG,GAAG,CAAC,aAAa,CAAC,GAAG,EAAE,SAAS,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CACrE,CAAC;QACF,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,EAAE;YACnC,OAAO,EAAE,GAAG,GAAG,CAAC,SAAS,6BAA6B;YACtD,IAAI,EAAE,QAAQ,IAAI,KAAK;YACvB,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC;SACjD,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,MAAM,GAAG,KAAK,EACZ,GAAY,EACZ,GAAa,EACb,GAAiB,EACF,EAAE;QACjB,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CACxD,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,EACzB,GAAG,CAAC,aAAa,CAAC,GAAG,EAAE,QAAQ,CAAC,CACjC,CAAC;QAEF,IACE,YAAY,KAAK,SAAS;YAC1B,OAAO,YAAY,KAAK,QAAQ;YAChC,YAAY,KAAK,IAAI;YACrB,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,EAC5B,CAAC;YACD,GAAG,CAAC,IAAI,GAAG;gBACT,GAAG,GAAG,CAAC,IAAI;gBACX,GAAG,YAAY;aAChB,CAAC;QACJ,CAAC;QAED,IAAI,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,YAAY,CAC1C,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EACvB,GAAG,CAAC,IAAI,CACT,CAAC;QACF,MAAM,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM;YACpC,CAAC,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC;YACzD,CAAC,CAAC,EAAE,CAAC;QACP,IAAI,GAAG,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,EAAE,CAAC;QAE9B,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,OAAO,CACvD,IAAI,EACJ,GAAG,CAAC,KAAK,CAAC,eAAe,CAC1B,CAAC;YACF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CACjD,SAAS,EACT,GAAG,CAAC,KAAK,CAAC,YAAY,CACvB,CAAC;YACF,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,OAAO;iBAC3B,IAAI,CAAC,GAAG,CAAC;iBACT,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;YAC5C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YAElD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CACnD,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,EACxB;gBACE,GAAG,GAAG,CAAC,aAAa,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;gBAC5D,IAAI;gBACJ,MAAM,EAAE,IAAI;aACb,CACF,CAAC;YACF,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,EAAE;gBACnC,OAAO,EAAE,GAAG,GAAG,CAAC,SAAS,wBAAwB;gBACjD,IAAI,EAAE,QAAQ,IAAI,IAAI;aACvB,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;YACtC,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC,CAAC;IAEF,UAAU,GAAG,KAAK,EAChB,GAAY,EACZ,GAAa,EACb,GAAiB,EACF,EAAE;QACjB,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CACnC,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,EACzB,GAAG,CAAC,aAAa,CAAC,GAAG,EAAE,YAAY,CAAC,CACrC,CAAC;QAEF,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtD,MAAM,IAAI,eAAe,CAAC;gBACxB,OAAO,EAAE,8BAA8B;gBACvC,IAAI,EAAE,SAAS,CAAC,WAAW;aAC5B,CAAC,CAAC;QACL,CAAC;QACD,MAAM,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,WAAW,IAAI,gBAAgB,CAAC;QAC9D,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;YAC1B,MAAM,IAAI,eAAe,CAAC;gBACxB,OAAO,EAAE,0BAA0B,GAAG,iBAAiB;gBACvD,IAAI,EAAE,SAAS,CAAC,WAAW;aAC5B,CAAC,CAAC;QACL,CAAC;QAED,MAAM,IAAI,GAA8B,EAAE,CAAC;QAC3C,KAAK,MAAM,MAAM,IAAI,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7C,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;YACrE,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,OAAO,CACvD,QAAQ,EACR,GAAG,CAAC,KAAK,CAAC,eAAe,CAC1B,CAAC;YACF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CACjD,SAAS,EACT,GAAG,CAAC,KAAK,CAAC,YAAY,CACvB,CAAC;YACF,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;QAC9C,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAC3D,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAExD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CACnD,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,EACxB,EAAE,GAAG,GAAG,CAAC,aAAa,CAAC,GAAG,EAAE,YAAY,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CACxE,CAAC;QACF,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,EAAE;YACnC,OAAO,EAAE,GAAG,KAAK,CAAC,MAAM,IAAI,GAAG,CAAC,SAAS,8BAA8B;YACvE,IAAI,EAAE,QAAQ,IAAI,KAAK;SACxB,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,MAAM,GAAG,KAAK,EACZ,GAAY,EACZ,GAAa,EACb,GAAiB,EACF,EAAE;QACjB,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CACnC,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,EACzB,GAAG,CAAC,aAAa,CAAC,GAAG,EAAE,QAAQ,CAAC,CACjC,CAAC;QAEF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAEnD,IAAI,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,YAAY,CAC1C,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EACvB,GAAG,CAAC,IAAI,CACT,CAAC;QACF,MAAM,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM;YACpC,CAAC,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC;YACzD,CAAC,CAAC,EAAE,CAAC;QACP,IAAI,GAAG,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,EAAE,CAAC;QAE9B,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,OAAO,CACvD,IAAI,EACJ,GAAG,CAAC,KAAK,CAAC,eAAe,CAC1B,CAAC;YACF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CACjD,SAAS,EACT,GAAG,CAAC,KAAK,CAAC,YAAY,CACvB,CAAC;YACF,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO;iBAC/B,IAAI,CAAC,GAAG,CAAC;iBACT,UAAU,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;YACpC,IAAI,CAAC,OAAO;gBAAE,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YAE/C,+EAA+E;YAC/E,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;YACpD,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CACjC,IAAI,CAAC,OAAO;iBACT,OAAO,CAAC,GAAG,EAAE,QAAQ,CAAC;iBACtB,MAAM,CACL,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CACX,cAAc,CAAC,IAAI,GAAG,CAAC;gBACvB,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,cAAc,EAAE,IAAI,CAAC,UAAU,CAAC,CAC7D,CACJ,CAAC;YAEF,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;YACtD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CACnD,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,EACxB;gBACE,GAAG,GAAG,CAAC,aAAa,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;gBAC5D,IAAI;gBACJ,MAAM,EAAE,IAAI;aACb,CACF,CAAC;YACF,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,EAAE;gBACnC,OAAO,EAAE,GAAG,GAAG,CAAC,SAAS,wBAAwB;gBACjD,IAAI,EAAE,QAAQ,IAAI,IAAI;aACvB,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;YACtC,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,GAAG,KAAK,EACZ,GAAY,EACZ,GAAa,EACb,GAAiB,EACF,EAAE;QACjB,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CACnC,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,EACzB,GAAG,CAAC,aAAa,CAAC,GAAG,EAAE,QAAQ,CAAC,CACjC,CAAC;QAEF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACnD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QACtE,IAAI,CAAC,OAAO;YAAE,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAE/C,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC;QACxE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAEtD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CACnD,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,EACxB,EAAE,GAAG,GAAG,CAAC,aAAa,CAAC,GAAG,EAAE,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAC5D,CAAC;QACF,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,EAAE;YACnC,OAAO,EAAE,GAAG,GAAG,CAAC,SAAS,wBAAwB;YACjD,IAAI,EAAE,QAAQ,IAAI,IAAI;SACvB,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,cAAc,GAAG,KAAK,EACpB,GAAY,EACZ,GAAa,EACb,GAAiB,EACF,EAAE;QACjB,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CACnC,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,EACzB,GAAG,CAAC,aAAa,CAAC,GAAG,EAAE,gBAAgB,CAAC,CACzC,CAAC;QAEF,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,WAAW,IAAI,KAAK,CAAC;QACrD,MAAM,GAAG,GAAa,GAAG,CAAC,IAA4C,EAAE,CACtE,KAAK,CACN,CAAC;QACF,IACE,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;YACnB,GAAG,CAAC,MAAM,KAAK,CAAC;YAChB,GAAG,CAAC,MAAM,GAAG,gBAAgB;YAC7B,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,EACtB,CAAC;YACD,MAAM,IAAI,eAAe,CAAC;gBACxB,OAAO,EAAE,IAAI,KAAK,2BAA2B,gBAAgB,aAAa;gBAC1E,IAAI,EAAE,SAAS,CAAC,iBAAiB;aAClC,CAAC,CAAC;QACL,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACpC,MAAM,MAAM,GAAG;YACb,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC;YACxD,GAAG,EAAE,EAAE,GAAG,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE;SAChC,CAAC;QACF,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QACxD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAC9C,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CACjC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CACtD,CAAC;QAEF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CACnD,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,EACxB;YACE,GAAG,GAAG,CAAC,aAAa,CAAC,GAAG,EAAE,gBAAgB,CAAC;YAC3C,IAAI,EAAE,EAAE,OAAO,EAAE;YACjB,MAAM,EAAE,EAAE,OAAO,EAAE;SACpB,CACF,CAAC;QACF,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,EAAE;YACnC,OAAO,EAAE,GAAG,OAAO,IAAI,GAAG,CAAC,SAAS,iBAAiB;YACrD,IAAI,EAAE,QAAQ,IAAI,EAAE,OAAO,EAAE;SAC9B,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,SAAS,GAAG,KAAK,EACf,GAAY,EACZ,GAAa,EACb,GAAiB,EACF,EAAE;QACjB,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CACnC,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,EACzB,GAAG,CAAC,aAAa,CAAC,GAAG,EAAE,WAAW,CAAC,CACpC,CAAC;QAEF,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACpC,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;QACrE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QACxD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAC9C,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CACjC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CACtD,CAAC;QAEF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CACnD,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,EACxB;YACE,GAAG,GAAG,CAAC,aAAa,CAAC,GAAG,EAAE,WAAW,CAAC;YACtC,IAAI,EAAE,EAAE,OAAO,EAAE;YACjB,MAAM,EAAE,EAAE,OAAO,EAAE;SACpB,CACF,CAAC;QACF,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,EAAE;YACnC,OAAO,EAAE,GAAG,OAAO,IAAI,GAAG,CAAC,SAAS,iBAAiB;YACrD,IAAI,EAAE,QAAQ,IAAI,EAAE,OAAO,EAAE;SAC9B,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,yFAAyF;IACzF,eAAe,CAAC,KAA4B;QAC1C,IACE,KAAK,CAAC,OAAO,KAAK,WAAW;YAC7B,CAAC,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,KAAK,eAAe,CAAC,EAC3D,CAAC;YACD,OAAO;gBACL,+GAA+G;aAChH,CAAC;QACJ,CAAC;QACD,OAAO,EAAE,CAAC;IACZ,CAAC;IAED;;;;OAIG;IACH,cAAc,CAAC,UAAsB,EAAE,KAAY;QACjD,MAAM,EAAE,QAAQ,EAAE,cAAc,EAAE,GAAG,KAAK,CAAC,MAAM,IAAI,EAAE,CAAC;QACxD,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,KAAK;YAAE,OAAO,EAAE,CAAC;QAE5D,MAAM,KAAK,GACT,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5E,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YACpB,OAAO;gBACL,kEAAkE;aACnE,CAAC;QAEJ,MAAM,QAAQ,GAAa,EAAE,CAAC;QAC9B,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,IAAI,EAAE,CAAC;QACvC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,CAAC,IAAI,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACpC,IAAI,CAAC,CAAC,IAAI,IAAI,MAAM,CAAC,EAAE,CAAC;gBACtB,QAAQ,CAAC,IAAI,CACX,qBAAqB,IAAI,wCAAwC,CAClE,CAAC;gBACF,SAAS;YACX,CAAC;YACD,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;gBAAE,SAAS,CAAC,oDAAoD;YACtF,MAAM,SAAS,GAAG,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;YAC5C,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,QAAQ,CAAC,IAAI,CACX,qBAAqB,IAAI,oGAAoG,CAC9H,CAAC;YACJ,CAAC;iBAAM,IACL,OAAO,SAAS,CAAC,GAAG,KAAK,QAAQ;gBACjC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,EACtC,CAAC;gBACD,QAAQ,CAAC,IAAI,CACX,qBAAqB,IAAI,iCAAiC,SAAS,CAAC,GAAG,4EAA4E,CACpJ,CAAC;YACJ,CAAC;QACH,CAAC;QAED,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;YACjC,MAAM,UAAU,GACd,OAAO,cAAc,KAAK,QAAQ;gBAChC,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;gBAC7C,CAAC,CAAC,EAAE,CAAC;YACT,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC5B,QAAQ,CAAC,IAAI,CACX,gHAAgH,CACjH,CAAC;YACJ,CAAC;iBAAM,IACL,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,EAC9D,CAAC;gBACD,QAAQ,CAAC,IAAI,CACX,kKAAkK,CACnK,CAAC;YACJ,CAAC;QACH,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEO,SAAS,CACf,GAAiB,EACjB,IAA6B,EAC7B,GAAY;QAEZ,wEAAwE;QACxE,OAAO,GAAG,CAAC,UAAU,CAAC,MAAM,IAAI,OAAO,IAAI,GAAG,CAAC,UAAU,CAAC,MAAM;YAC9D,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;YAC3D,CAAC,CAAC,IAAI,CAAC;IACX,CAAC;IAED;;;;OAIG;IACK,KAAK,CAAC,kBAAkB,CAC9B,GAAiB,EACjB,MAAc;QAEd,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC;YAC5C,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;YAClD,CAAC,CAAC,EAAE,CAAC;IACT,CAAC;IAEO,KAAK,CAAC,aAAa,CACzB,GAAiB,EACjB,MAAyD;QAEzD,MAAM,SAAS,GAAG,IAAI,GAAG,CACvB,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAChE,CAAC;QACF,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CACjC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE,CAChD,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAChE,CACF,CAAC;IACJ,CAAC;IAEO,UAAU,CAChB,QAAa,EACb,cAA2B,EAC3B,UAAkB;QAElB,OAAO,CAAC,GAAG,cAAc,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE;YACxC,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;YAC7B,OAAO,CACL,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;gBACnB,IAAI,CAAC,IAAI,CAAC,CAAC,CAA0B,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,UAAU,CAAC,CACvE,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;CACF"}
package/dist/index.d.ts CHANGED
@@ -7,16 +7,16 @@ export type { Services } from "./core/Services.js";
7
7
  export type { ForgeDependencies } from "./core/ServiceFactory.js";
8
8
  export { RouteContext } from "./core/RouteContext.js";
9
9
  export { ForgeConfig, Duration } from "./config/index.js";
10
- export type { ForgeOptions, AuthConfig, AuthMode, DurationType, OtpOptions, CookieOptions } from "./config/index.js";
10
+ export type { ForgeOptions, AuthConfig, AuthMode, DurationType, OtpOptions, CookieOptions, } from "./config/index.js";
11
11
  export * from "./errors/index.js";
12
- export type { Repository, DataSource, Doc, Filter, ModelDefinition } from "./data/Repository.js";
12
+ export type { Repository, DataSource, Doc, Filter, ModelDefinition, } from "./data/Repository.js";
13
13
  export { MongooseDataSource } from "./data/MongooseDataSource.js";
14
- export { OAuthProvider, GoogleProvider, GitHubProvider, OAuthProviderRegistry } from "./oauth/index.js";
15
- export type { OAuthClientOptions, OAuthProfile, OAuthProviderConfig, OAuthProviderEntry, TokenSet, AuthorizationParams } from "./oauth/index.js";
16
- export type { OAuthOptions, AccountLinking, MagicLinkOptions, MfaOptions } from "./config/ForgeOptions.js";
14
+ export { OAuthProvider, GoogleProvider, GitHubProvider, OAuthProviderRegistry, } from "./oauth/index.js";
15
+ export type { OAuthClientOptions, OAuthProfile, OAuthProviderConfig, OAuthProviderEntry, TokenSet, AuthorizationParams, } from "./oauth/index.js";
16
+ export type { OAuthOptions, AccountLinking, MagicLinkOptions, MfaOptions, } from "./config/ForgeOptions.js";
17
17
  export type { EmailProvider, OutgoingEmail } from "./email/EmailProvider.js";
18
- export type { StorageProvider, IncomingFile } from "./upload/StorageProvider.js";
19
- export { generateJWTSecret, generateMasterKey } from "./security/CryptoVault.js";
18
+ export type { StorageProvider, IncomingFile, } from "./upload/StorageProvider.js";
19
+ export { generateJWTSecret, generateMasterKey, } from "./security/CryptoVault.js";
20
20
  export { Totp, base32 } from "./security/Totp.js";
21
21
  export { PasswordHasher } from "./security/PasswordHasher.js";
22
22
  export { default as fields } from "./fields/unified.fields.js";
@@ -25,7 +25,7 @@ export { default as zodFields } from "./fields/zod.fields.js";
25
25
  export type { Collection, CollectionType, Route } from "./types/Collection.js";
26
26
  export type { RouteMethod, AccessLevel, AuthRole } from "./types/Route.js";
27
27
  export type { Upload, UploadType, UploadProvider } from "./types/upload.js";
28
- export type { Action, ActionContext, CustomAction, EmailAction } from "./types/ActionHandler.js";
28
+ export type { Action, ActionContext, CustomAction, EmailAction, } from "./types/ActionHandler.js";
29
29
  export type { StoreFile } from "./types/StoreFile.js";
30
30
  export type { AuthenticatedUser } from "./types/AuthenticatedUser.js";
31
31
  export type { EmailTemplate } from "./types/email.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACxC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAG9C,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,KAAK,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACxE,YAAY,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACnD,YAAY,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAGtD,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC1D,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,QAAQ,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAGrH,cAAc,mBAAmB,CAAC;AAGlC,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACjG,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAGlE,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACxG,YAAY,EAAE,kBAAkB,EAAE,YAAY,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,QAAQ,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACjJ,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAG3G,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC7E,YAAY,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAGjF,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACjF,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAG9D,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAG9D,YAAY,EAAE,UAAU,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAC/E,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC3E,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAC5E,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACjG,YAAY,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACtD,YAAY,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACtE,YAAY,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEtD,+EAA+E;AAC/E,eAAO,MAAM,UAAU,WAAY,UAAU,KAAG,UAAoB,CAAC;AAErE,yEAAyE;AACzE,eAAO,MAAM,YAAY,WAAY,KAAK,EAAE,KAAG,KAAK,EAAY,CAAC;AAEjE;;;GAGG;AACH,qBAAa,UAAW,SAAQ,KAAK;CAAG;AAExC,wFAAwF;AACxF,eAAO,MAAM,WAAW,QAAa,OAAO,CAAC,IAAI,CAGhD,CAAC;eAEa,KAAK"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACxC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAG9C,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,KAAK,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACxE,YAAY,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACnD,YAAY,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAGtD,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC1D,YAAY,EACV,YAAY,EACZ,UAAU,EACV,QAAQ,EACR,YAAY,EACZ,UAAU,EACV,aAAa,GACd,MAAM,mBAAmB,CAAC;AAG3B,cAAc,mBAAmB,CAAC;AAGlC,YAAY,EACV,UAAU,EACV,UAAU,EACV,GAAG,EACH,MAAM,EACN,eAAe,GAChB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAGlE,OAAO,EACL,aAAa,EACb,cAAc,EACd,cAAc,EACd,qBAAqB,GACtB,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EACV,kBAAkB,EAClB,YAAY,EACZ,mBAAmB,EACnB,kBAAkB,EAClB,QAAQ,EACR,mBAAmB,GACpB,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EACV,YAAY,EACZ,cAAc,EACd,gBAAgB,EAChB,UAAU,GACX,MAAM,0BAA0B,CAAC;AAGlC,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC7E,YAAY,EACV,eAAe,EACf,YAAY,GACb,MAAM,6BAA6B,CAAC;AAGrC,OAAO,EACL,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAG9D,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAG9D,YAAY,EAAE,UAAU,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAC/E,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC3E,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAC5E,YAAY,EACV,MAAM,EACN,aAAa,EACb,YAAY,EACZ,WAAW,GACZ,MAAM,0BAA0B,CAAC;AAClC,YAAY,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACtD,YAAY,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACtE,YAAY,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEtD,+EAA+E;AAC/E,eAAO,MAAM,UAAU,WAAY,UAAU,KAAG,UAAoB,CAAC;AAErE,yEAAyE;AACzE,eAAO,MAAM,YAAY,WAAY,KAAK,EAAE,KAAG,KAAK,EAAY,CAAC;AAEjE;;;GAGG;AACH,qBAAa,UAAW,SAAQ,KAAK;CAAG;AAExC,wFAAwF;AACxF,eAAO,MAAM,WAAW,QAAa,OAAO,CAAC,IAAI,CAIhD,CAAC;eAEa,KAAK"}
package/dist/index.js CHANGED
@@ -9,9 +9,9 @@ export { ForgeConfig, Duration } from "./config/index.js";
9
9
  export * from "./errors/index.js";
10
10
  export { MongooseDataSource } from "./data/MongooseDataSource.js";
11
11
  // ── Social sign-in ───────────────────────────────────────────────────────────
12
- export { OAuthProvider, GoogleProvider, GitHubProvider, OAuthProviderRegistry } from "./oauth/index.js";
12
+ export { OAuthProvider, GoogleProvider, GitHubProvider, OAuthProviderRegistry, } from "./oauth/index.js";
13
13
  // ── Security helpers ─────────────────────────────────────────────────────────
14
- export { generateJWTSecret, generateMasterKey } from "./security/CryptoVault.js";
14
+ export { generateJWTSecret, generateMasterKey, } from "./security/CryptoVault.js";
15
15
  export { Totp, base32 } from "./security/Totp.js";
16
16
  export { PasswordHasher } from "./security/PasswordHasher.js";
17
17
  // ── Field helpers ────────────────────────────────────────────────────────────
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAIxC,gFAAgF;AAChF,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACxC,OAAO,EAAE,aAAa,EAAkB,MAAM,yBAAyB,CAAC;AAGxE,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAEtD,gFAAgF;AAChF,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAG1D,gFAAgF;AAChF,cAAc,mBAAmB,CAAC;AAIlC,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAElE,gFAAgF;AAChF,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAQxG,gFAAgF;AAChF,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACjF,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAE9D,gFAAgF;AAChF,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAW9D,+EAA+E;AAC/E,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,MAAkB,EAAc,EAAE,CAAC,MAAM,CAAC;AAErE,yEAAyE;AACzE,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,MAAe,EAAW,EAAE,CAAC,MAAM,CAAC;AAEjE;;;GAGG;AACH,MAAM,OAAO,UAAW,SAAQ,KAAK;CAAG;AAExC,wFAAwF;AACxF,MAAM,CAAC,MAAM,WAAW,GAAG,KAAK,IAAmB,EAAE;IACnD,IAAI,CAAC,KAAK,CAAC,WAAW;QAAE,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;IAC5F,MAAM,KAAK,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;AAClC,CAAC,CAAC;AAEF,eAAe,KAAK,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAIxC,gFAAgF;AAChF,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACxC,OAAO,EAAE,aAAa,EAAkB,MAAM,yBAAyB,CAAC;AAGxE,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAEtD,gFAAgF;AAChF,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAU1D,gFAAgF;AAChF,cAAc,mBAAmB,CAAC;AAUlC,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAElE,gFAAgF;AAChF,OAAO,EACL,aAAa,EACb,cAAc,EACd,cAAc,EACd,qBAAqB,GACtB,MAAM,kBAAkB,CAAC;AAuB1B,gFAAgF;AAChF,OAAO,EACL,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAE9D,gFAAgF;AAChF,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAgB9D,+EAA+E;AAC/E,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,MAAkB,EAAc,EAAE,CAAC,MAAM,CAAC;AAErE,yEAAyE;AACzE,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,MAAe,EAAW,EAAE,CAAC,MAAM,CAAC;AAEjE;;;GAGG;AACH,MAAM,OAAO,UAAW,SAAQ,KAAK;CAAG;AAExC,wFAAwF;AACxF,MAAM,CAAC,MAAM,WAAW,GAAG,KAAK,IAAmB,EAAE;IACnD,IAAI,CAAC,KAAK,CAAC,WAAW;QACpB,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;IACtE,MAAM,KAAK,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;AAClC,CAAC,CAAC;AAEF,eAAe,KAAK,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@starklabs/forge",
3
- "version": "2.0.1",
3
+ "version": "2.0.2-oops.0",
4
4
  "description": "An object-oriented, TypeScript-first Express framework for building production-ready APIs with zero boilerplate.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",