@bgord/bun 1.8.0 → 1.8.2

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.
@@ -1,16 +1,13 @@
1
- import type { Invariant } from "./invariant.service";
1
+ import type { ContentfulStatusCode } from "hono/utils/http-status";
2
+ import { type Invariant } from "./invariant.service";
2
3
  type BaseInvariantType = Invariant<any>;
3
4
  type InvariantMessageType = BaseInvariantType["message"];
4
- type InvariantCodeType = BaseInvariantType["code"];
5
5
  type ErrorResponseTupleType = [{
6
6
  message: InvariantMessageType;
7
7
  _known: true;
8
- }, InvariantCodeType];
8
+ }, ContentfulStatusCode];
9
9
  export declare class InvariantErrorHandler {
10
- private readonly invariants;
11
- error: BaseInvariantType | undefined;
12
- constructor(invariants: BaseInvariantType[]);
13
- detect(error: unknown): this;
10
+ static detect(invariants: BaseInvariantType[], error: unknown): BaseInvariantType | undefined;
14
11
  static respond(error: BaseInvariantType): ErrorResponseTupleType;
15
12
  }
16
13
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"invariant-error-handler.service.d.ts","sourceRoot":"","sources":["../src/invariant-error-handler.service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAErD,KAAK,iBAAiB,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;AACxC,KAAK,oBAAoB,GAAG,iBAAiB,CAAC,SAAS,CAAC,CAAC;AACzD,KAAK,iBAAiB,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;AACnD,KAAK,sBAAsB,GAAG,CAAC;IAAE,OAAO,EAAE,oBAAoB,CAAC;IAAC,MAAM,EAAE,IAAI,CAAA;CAAE,EAAE,iBAAiB,CAAC,CAAC;AAEnG,qBAAa,qBAAqB;IAGpB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAFvC,KAAK,EAAE,iBAAiB,GAAG,SAAS,CAAa;gBAEpB,UAAU,EAAE,iBAAiB,EAAE;IAE5D,MAAM,CAAC,KAAK,EAAE,OAAO;IAKrB,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,iBAAiB,GAAG,sBAAsB;CAGjE"}
1
+ {"version":3,"file":"invariant-error-handler.service.d.ts","sourceRoot":"","sources":["../src/invariant-error-handler.service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AACnE,OAAO,EAAE,KAAK,SAAS,EAAwB,MAAM,qBAAqB,CAAC;AAE3E,KAAK,iBAAiB,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;AACxC,KAAK,oBAAoB,GAAG,iBAAiB,CAAC,SAAS,CAAC,CAAC;AACzD,KAAK,sBAAsB,GAAG,CAAC;IAAE,OAAO,EAAE,oBAAoB,CAAC;IAAC,MAAM,EAAE,IAAI,CAAA;CAAE,EAAE,oBAAoB,CAAC,CAAC;AAEtG,qBAAa,qBAAqB;IAChC,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,iBAAiB,EAAE,EAAE,KAAK,EAAE,OAAO,GAAG,iBAAiB,GAAG,SAAS;IAI7F,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,iBAAiB,GAAG,sBAAsB;CASjE"}
@@ -1,15 +1,15 @@
1
+ import { InvariantFailureKind } from "./invariant.service";
1
2
  export class InvariantErrorHandler {
2
- invariants;
3
- error = undefined;
4
- constructor(invariants) {
5
- this.invariants = invariants;
6
- }
7
- detect(error) {
8
- this.error = this.invariants.find((invariant) => error instanceof invariant.error);
9
- return this;
3
+ static detect(invariants, error) {
4
+ return invariants.find((invariant) => error instanceof invariant.error);
10
5
  }
11
6
  static respond(error) {
12
- return [{ message: error.message, _known: true }, error.code];
7
+ const code = {
8
+ [InvariantFailureKind.forbidden]: 403,
9
+ [InvariantFailureKind.not_found]: 404,
10
+ [InvariantFailureKind.precondition]: 400,
11
+ };
12
+ return [{ message: error.message, _known: true }, code[error.kind]];
13
13
  }
14
14
  }
15
15
  //# sourceMappingURL=invariant-error-handler.service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"invariant-error-handler.service.js","sourceRoot":"","sources":["../src/invariant-error-handler.service.ts"],"names":[],"mappings":"AAOA,MAAM,OAAO,qBAAqB;IAGH;IAF7B,KAAK,GAAkC,SAAS,CAAC;IAEjD,YAA6B,UAA+B;QAA/B,eAAU,GAAV,UAAU,CAAqB;IAAG,CAAC;IAEhE,MAAM,CAAC,KAAc;QACnB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,KAAK,YAAY,SAAS,CAAC,KAAK,CAAC,CAAC;QACnF,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,CAAC,OAAO,CAAC,KAAwB;QACrC,OAAO,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;IAChE,CAAC;CACF"}
1
+ {"version":3,"file":"invariant-error-handler.service.js","sourceRoot":"","sources":["../src/invariant-error-handler.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAkB,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAM3E,MAAM,OAAO,qBAAqB;IAChC,MAAM,CAAC,MAAM,CAAC,UAA+B,EAAE,KAAc;QAC3D,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,KAAK,YAAY,SAAS,CAAC,KAAK,CAAC,CAAC;IAC1E,CAAC;IAED,MAAM,CAAC,OAAO,CAAC,KAAwB;QACrC,MAAM,IAAI,GAAuD;YAC/D,CAAC,oBAAoB,CAAC,SAAS,CAAC,EAAE,GAAG;YACrC,CAAC,oBAAoB,CAAC,SAAS,CAAC,EAAE,GAAG;YACrC,CAAC,oBAAoB,CAAC,YAAY,CAAC,EAAE,GAAG;SACzC,CAAC;QAEF,OAAO,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;IACtE,CAAC;CACF"}
@@ -1,14 +1,17 @@
1
1
  import type { Constructor } from "@bgord/tools";
2
- import type { ContentfulStatusCode } from "hono/utils/http-status";
3
2
  type BaseInvariantConfig = Record<string, unknown>;
3
+ export declare enum InvariantFailureKind {
4
+ forbidden = "forbidden",
5
+ precondition = "precondition",
6
+ not_found = "not_found"
7
+ }
4
8
  export declare abstract class Invariant<T extends BaseInvariantConfig> {
5
- abstract fails(config: T): boolean;
9
+ abstract passes(config: T): boolean;
6
10
  abstract error: Constructor<Error>;
7
11
  abstract message: string;
8
- abstract code: ContentfulStatusCode;
12
+ abstract kind: InvariantFailureKind;
9
13
  throw(): void;
10
- perform(config: T): void;
11
- passes(config: T): boolean;
14
+ enforce(config: T): void;
12
15
  }
13
16
  export {};
14
17
  //# sourceMappingURL=invariant.service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"invariant.service.d.ts","sourceRoot":"","sources":["../src/invariant.service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAEnE,KAAK,mBAAmB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAEnD,8BAAsB,SAAS,CAAC,CAAC,SAAS,mBAAmB;IAC3D,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,GAAG,OAAO;IAElC,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC;IAEnC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAEzB,QAAQ,CAAC,IAAI,EAAE,oBAAoB,CAAC;IAEpC,KAAK;IAIL,OAAO,CAAC,MAAM,EAAE,CAAC;IAIjB,MAAM,CAAC,MAAM,EAAE,CAAC;CAGjB"}
1
+ {"version":3,"file":"invariant.service.d.ts","sourceRoot":"","sources":["../src/invariant.service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEhD,KAAK,mBAAmB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAEnD,oBAAY,oBAAoB;IAC9B,SAAS,cAAc;IACvB,YAAY,iBAAiB;IAC7B,SAAS,cAAc;CACxB;AAED,8BAAsB,SAAS,CAAC,CAAC,SAAS,mBAAmB;IAC3D,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,OAAO;IAEnC,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC;IAEnC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAEzB,QAAQ,CAAC,IAAI,EAAE,oBAAoB,CAAC;IAEpC,KAAK;IAIL,OAAO,CAAC,MAAM,EAAE,CAAC;CAGlB"}
@@ -1,13 +1,16 @@
1
+ export var InvariantFailureKind;
2
+ (function (InvariantFailureKind) {
3
+ InvariantFailureKind["forbidden"] = "forbidden";
4
+ InvariantFailureKind["precondition"] = "precondition";
5
+ InvariantFailureKind["not_found"] = "not_found";
6
+ })(InvariantFailureKind || (InvariantFailureKind = {}));
1
7
  export class Invariant {
2
8
  throw() {
3
9
  throw new this.error();
4
10
  }
5
- perform(config) {
6
- if (this.fails(config))
11
+ enforce(config) {
12
+ if (!this.passes(config))
7
13
  this.throw();
8
14
  }
9
- passes(config) {
10
- return !this.fails(config);
11
- }
12
15
  }
13
16
  //# sourceMappingURL=invariant.service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"invariant.service.js","sourceRoot":"","sources":["../src/invariant.service.ts"],"names":[],"mappings":"AAKA,MAAM,OAAgB,SAAS;IAS7B,KAAK;QACH,MAAM,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;IACzB,CAAC;IAED,OAAO,CAAC,MAAS;QACf,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;YAAE,IAAI,CAAC,KAAK,EAAE,CAAC;IACvC,CAAC;IAED,MAAM,CAAC,MAAS;QACd,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC7B,CAAC;CACF"}
1
+ {"version":3,"file":"invariant.service.js","sourceRoot":"","sources":["../src/invariant.service.ts"],"names":[],"mappings":"AAIA,MAAM,CAAN,IAAY,oBAIX;AAJD,WAAY,oBAAoB;IAC9B,+CAAuB,CAAA;IACvB,qDAA6B,CAAA;IAC7B,+CAAuB,CAAA;AACzB,CAAC,EAJW,oBAAoB,KAApB,oBAAoB,QAI/B;AAED,MAAM,OAAgB,SAAS;IAS7B,KAAK;QACH,MAAM,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;IACzB,CAAC;IAED,OAAO,CAAC,MAAS;QACf,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;YAAE,IAAI,CAAC,KAAK,EAAE,CAAC;IACzC,CAAC;CACF"}
@@ -4,7 +4,7 @@ import * as Invariants from "../invariants";
4
4
  export const handleSetUserLanguageCommand = (supported, deps) => async (command) => {
5
5
  const candidate = supported.ensure(command.payload.language);
6
6
  const current = await deps.UserLanguageQuery.get(command.payload.userId);
7
- if (Invariants.UserLanguageHasChanged.fails({ current, candidate: command.payload.language }))
7
+ if (!Invariants.UserLanguageHasChanged.passes({ current, candidate: command.payload.language }))
8
8
  return;
9
9
  const event = Events.UserLanguageSetEvent.parse({
10
10
  ...createEventEnvelope(`preferences_${command.payload.userId}`, deps),
@@ -1 +1 @@
1
- {"version":3,"file":"handleSetUserLanguageCommand.js","sourceRoot":"","sources":["../../../../src/modules/preferences/command-handlers/handleSetUserLanguageCommand.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAI9D,OAAO,KAAK,MAAM,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,UAAU,MAAM,eAAe,CAAC;AAa5C,MAAM,CAAC,MAAM,4BAA4B,GACvC,CAA0C,SAAsC,EAAE,IAAkB,EAAE,EAAE,CACxG,KAAK,EAAE,OAA4C,EAAE,EAAE;IACrD,MAAM,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC7D,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAEzE,IAAI,UAAU,CAAC,sBAAsB,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;QAAE,OAAO;IAEtG,MAAM,KAAK,GAAG,MAAM,CAAC,oBAAoB,CAAC,KAAK,CAAC;QAC9C,GAAG,mBAAmB,CAAC,eAAe,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC;QACrE,IAAI,EAAE,MAAM,CAAC,uBAAuB;QACpC,OAAO,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE;KACvB,CAAC,CAAC;IAE7C,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;AACtC,CAAC,CAAC"}
1
+ {"version":3,"file":"handleSetUserLanguageCommand.js","sourceRoot":"","sources":["../../../../src/modules/preferences/command-handlers/handleSetUserLanguageCommand.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAI9D,OAAO,KAAK,MAAM,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,UAAU,MAAM,eAAe,CAAC;AAa5C,MAAM,CAAC,MAAM,4BAA4B,GACvC,CAA0C,SAAsC,EAAE,IAAkB,EAAE,EAAE,CACxG,KAAK,EAAE,OAA4C,EAAE,EAAE;IACrD,MAAM,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC7D,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAEzE,IAAI,CAAC,UAAU,CAAC,sBAAsB,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;QAAE,OAAO;IAExG,MAAM,KAAK,GAAG,MAAM,CAAC,oBAAoB,CAAC,KAAK,CAAC;QAC9C,GAAG,mBAAmB,CAAC,eAAe,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC;QACrE,IAAI,EAAE,MAAM,CAAC,uBAAuB;QACpC,OAAO,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE;KACvB,CAAC,CAAC;IAE7C,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;AACtC,CAAC,CAAC"}
@@ -1,6 +1,5 @@
1
1
  import type * as tools from "@bgord/tools";
2
- import type { ContentfulStatusCode } from "hono/utils/http-status";
3
- import { Invariant } from "../../../invariant.service";
2
+ import { Invariant, InvariantFailureKind } from "../../../invariant.service";
4
3
  declare class UserLanguageHasChangedError extends Error {
5
4
  constructor();
6
5
  }
@@ -9,10 +8,10 @@ type UserLanguageHasChangedConfigType = {
9
8
  candidate: tools.LanguageType;
10
9
  };
11
10
  declare class UserLanguageHasChangedFactory extends Invariant<UserLanguageHasChangedConfigType> {
12
- fails(config: UserLanguageHasChangedConfigType): boolean;
11
+ passes(config: UserLanguageHasChangedConfigType): boolean;
13
12
  message: string;
13
+ kind: InvariantFailureKind;
14
14
  error: typeof UserLanguageHasChangedError;
15
- code: ContentfulStatusCode;
16
15
  }
17
16
  export declare const UserLanguageHasChanged: UserLanguageHasChangedFactory;
18
17
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"user-language-has-changed.d.ts","sourceRoot":"","sources":["../../../../src/modules/preferences/invariants/user-language-has-changed.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAEvD,cAAM,2BAA4B,SAAQ,KAAK;;CAK9C;AAED,KAAK,gCAAgC,GAAG;IACtC,OAAO,CAAC,EAAE,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC;IACpC,SAAS,EAAE,KAAK,CAAC,YAAY,CAAC;CAC/B,CAAC;AAEF,cAAM,6BAA8B,SAAQ,SAAS,CAAC,gCAAgC,CAAC;IACrF,KAAK,CAAC,MAAM,EAAE,gCAAgC;IAI9C,OAAO,SAA4B;IACnC,KAAK,qCAA+B;IACpC,IAAI,EAAU,oBAAoB,CAAC;CACpC;AAED,eAAO,MAAM,sBAAsB,+BAAsC,CAAC"}
1
+ {"version":3,"file":"user-language-has-changed.d.ts","sourceRoot":"","sources":["../../../../src/modules/preferences/invariants/user-language-has-changed.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAE7E,cAAM,2BAA4B,SAAQ,KAAK;;CAK9C;AAED,KAAK,gCAAgC,GAAG;IACtC,OAAO,CAAC,EAAE,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC;IACpC,SAAS,EAAE,KAAK,CAAC,YAAY,CAAC;CAC/B,CAAC;AAEF,cAAM,6BAA8B,SAAQ,SAAS,CAAC,gCAAgC,CAAC;IACrF,MAAM,CAAC,MAAM,EAAE,gCAAgC;IAI/C,OAAO,SAA+B;IACtC,IAAI,uBAAqC;IACzC,KAAK,qCAA+B;CACrC;AAED,eAAO,MAAM,sBAAsB,+BAAsC,CAAC"}
@@ -1,4 +1,4 @@
1
- import { Invariant } from "../../../invariant.service";
1
+ import { Invariant, InvariantFailureKind } from "../../../invariant.service";
2
2
  class UserLanguageHasChangedError extends Error {
3
3
  constructor() {
4
4
  super();
@@ -6,12 +6,12 @@ class UserLanguageHasChangedError extends Error {
6
6
  }
7
7
  }
8
8
  class UserLanguageHasChangedFactory extends Invariant {
9
- fails(config) {
10
- return config.current === config.candidate;
9
+ passes(config) {
10
+ return config.current !== config.candidate;
11
11
  }
12
- message = "UserLanguageHasChanged";
12
+ message = "user.language.has.changed";
13
+ kind = InvariantFailureKind.precondition;
13
14
  error = UserLanguageHasChangedError;
14
- code = 403;
15
15
  }
16
16
  export const UserLanguageHasChanged = new UserLanguageHasChangedFactory();
17
17
  //# sourceMappingURL=user-language-has-changed.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"user-language-has-changed.js","sourceRoot":"","sources":["../../../../src/modules/preferences/invariants/user-language-has-changed.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAEvD,MAAM,2BAA4B,SAAQ,KAAK;IAC7C;QACE,KAAK,EAAE,CAAC;QACR,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,2BAA2B,CAAC,SAAS,CAAC,CAAC;IACrE,CAAC;CACF;AAOD,MAAM,6BAA8B,SAAQ,SAA2C;IACrF,KAAK,CAAC,MAAwC;QAC5C,OAAO,MAAM,CAAC,OAAO,KAAK,MAAM,CAAC,SAAS,CAAC;IAC7C,CAAC;IAED,OAAO,GAAG,wBAAwB,CAAC;IACnC,KAAK,GAAG,2BAA2B,CAAC;IACpC,IAAI,GAAG,GAA2B,CAAC;CACpC;AAED,MAAM,CAAC,MAAM,sBAAsB,GAAG,IAAI,6BAA6B,EAAE,CAAC"}
1
+ {"version":3,"file":"user-language-has-changed.js","sourceRoot":"","sources":["../../../../src/modules/preferences/invariants/user-language-has-changed.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAE7E,MAAM,2BAA4B,SAAQ,KAAK;IAC7C;QACE,KAAK,EAAE,CAAC;QACR,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,2BAA2B,CAAC,SAAS,CAAC,CAAC;IACrE,CAAC;CACF;AAOD,MAAM,6BAA8B,SAAQ,SAA2C;IACrF,MAAM,CAAC,MAAwC;QAC7C,OAAO,MAAM,CAAC,OAAO,KAAK,MAAM,CAAC,SAAS,CAAC;IAC7C,CAAC;IAED,OAAO,GAAG,2BAA2B,CAAC;IACtC,IAAI,GAAG,oBAAoB,CAAC,YAAY,CAAC;IACzC,KAAK,GAAG,2BAA2B,CAAC;CACrC;AAED,MAAM,CAAC,MAAM,sBAAsB,GAAG,IAAI,6BAA6B,EAAE,CAAC"}
@@ -1,5 +1,5 @@
1
+ import * as tools from "@bgord/tools";
1
2
  import { cors } from "hono/cors";
2
- import { secureHeaders } from "hono/secure-headers";
3
3
  import type { ClockPort } from "./clock.port";
4
4
  import type { FileReaderJsonPort } from "./file-reader-json.port";
5
5
  import { type HttpLoggerOptions } from "./http-logger.middleware";
@@ -7,12 +7,11 @@ import type { I18nConfigType } from "./i18n.service";
7
7
  import type { IdProviderPort } from "./id-provider.port";
8
8
  import type { LoggerPort } from "./logger.port";
9
9
  import { type MaintenanceModeConfigType } from "./maintenance-mode.middleware";
10
- export declare const BODY_LIMIT_MAX_SIZE: number & import("zod").$brand<"SizeBytes">;
11
10
  type SetupOverridesType = {
12
11
  cors?: Parameters<typeof cors>[0];
13
- secureHeaders?: Parameters<typeof secureHeaders>[0];
14
12
  httpLogger?: HttpLoggerOptions;
15
13
  maintenanceMode?: MaintenanceModeConfigType;
14
+ BODY_LIMIT_MAX_SIZE?: tools.Size;
16
15
  };
17
16
  type Dependencies = {
18
17
  Logger: LoggerPort;
@@ -1 +1 @@
1
- {"version":3,"file":"setup.service.d.ts","sourceRoot":"","sources":["../src/setup.service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAGjC,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAGpD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAI9C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,EAAc,KAAK,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC9E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAmB,KAAK,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AAIhG,eAAO,MAAM,mBAAmB,4CAAmC,CAAC;AAEpE,KAAK,kBAAkB,GAAG;IACxB,IAAI,CAAC,EAAE,UAAU,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAClC,aAAa,CAAC,EAAE,UAAU,CAAC,OAAO,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;IACpD,UAAU,CAAC,EAAE,iBAAiB,CAAC;IAC/B,eAAe,CAAC,EAAE,yBAAyB,CAAC;CAC7C,CAAC;AAEF,KAAK,YAAY,GAAG;IAClB,MAAM,EAAE,UAAU,CAAC;IACnB,UAAU,EAAE,cAAc,CAAC;IAC3B,IAAI,EAAE,cAAc,CAAC;IACrB,KAAK,EAAE,SAAS,CAAC;IACjB,cAAc,EAAE,kBAAkB,CAAC;CACpC,CAAC;AAEF,qBAAa,KAAK;IAChB,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,YAAY,EAAE,SAAS,CAAC,EAAE,kBAAkB;;;CAqCrE"}
1
+ {"version":3,"file":"setup.service.d.ts","sourceRoot":"","sources":["../src/setup.service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAEtC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAMjC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAI9C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,EAAc,KAAK,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC9E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAmB,KAAK,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AAIhG,KAAK,kBAAkB,GAAG;IACxB,IAAI,CAAC,EAAE,UAAU,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAClC,UAAU,CAAC,EAAE,iBAAiB,CAAC;IAC/B,eAAe,CAAC,EAAE,yBAAyB,CAAC;IAC5C,mBAAmB,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC;CAClC,CAAC;AAEF,KAAK,YAAY,GAAG;IAClB,MAAM,EAAE,UAAU,CAAC;IACnB,UAAU,EAAE,cAAc,CAAC;IAC3B,IAAI,EAAE,cAAc,CAAC;IACrB,KAAK,EAAE,SAAS,CAAC;IACjB,cAAc,EAAE,kBAAkB,CAAC;CACpC,CAAC;AAEF,qBAAa,KAAK;IAChB,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,YAAY,EAAE,SAAS,CAAC,EAAE,kBAAkB;;;CAsCrE"}
@@ -13,34 +13,34 @@ import { HttpLogger } from "./http-logger.middleware";
13
13
  import { MaintenanceMode } from "./maintenance-mode.middleware";
14
14
  import { TimeZoneOffset } from "./time-zone-offset.middleware";
15
15
  import { WeakETagExtractor } from "./weak-etag-extractor.middleware";
16
- export const BODY_LIMIT_MAX_SIZE = tools.Size.fromKb(128).toBytes();
17
16
  export class Setup {
18
17
  static essentials(deps, overrides) {
19
- // Stryker disable all
20
- const corsOptions = overrides?.cors ?? { origin: "*" };
21
- // Stryker restore all
22
- const secureHeadersOptions = { crossOriginResourcePolicy: "cross-origin", ...overrides?.secureHeaders };
18
+ const BODY_LIMIT_MAX_SIZE = overrides?.BODY_LIMIT_MAX_SIZE ?? tools.Size.fromKb(128);
23
19
  return [
24
20
  MaintenanceMode.build(overrides?.maintenanceMode),
25
- secureHeaders(secureHeadersOptions),
26
- // Stryker disable all
27
- bodyLimit({ maxSize: BODY_LIMIT_MAX_SIZE }),
28
- // Stryker restore all
21
+ secureHeaders({
22
+ crossOriginResourcePolicy: "same-origin",
23
+ contentSecurityPolicy: {
24
+ defaultSrc: ["'none'"],
25
+ scriptSrc: ["'self'"],
26
+ styleSrc: ["'self'"],
27
+ imgSrc: ["'self'"],
28
+ },
29
+ }),
30
+ bodyLimit({ maxSize: BODY_LIMIT_MAX_SIZE.toBytes() }),
29
31
  ApiVersion.build({ Clock: deps.Clock, FileReaderJson: deps.FileReaderJson }),
30
- cors(corsOptions),
31
- // Stryker disable all
32
+ cors(overrides?.cors),
32
33
  languageDetector({
33
34
  supportedLanguages: Object.keys(deps.I18n.supportedLanguages),
34
35
  fallbackLanguage: deps.I18n.defaultLanguage,
36
+ // Stryker disable all
35
37
  caches: false,
38
+ // Stryker restore all
36
39
  }),
37
- // Stryker restore all
38
40
  requestId({
39
41
  limitLength: 36,
40
42
  headerName: "x-correlation-id",
41
- // Stryker disable all
42
43
  generator: () => deps.IdProvider.generate(),
43
- // Stryker restore all
44
44
  }),
45
45
  TimeZoneOffset.attach,
46
46
  Context.attach,
@@ -1 +1 @@
1
- {"version":3,"file":"setup.service.js","sourceRoot":"","sources":["../src/setup.service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAEtD,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAE5D,OAAO,EAAE,UAAU,EAA0B,MAAM,0BAA0B,CAAC;AAI9E,OAAO,EAAE,eAAe,EAAkC,MAAM,+BAA+B,CAAC;AAChG,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AAErE,MAAM,CAAC,MAAM,mBAAmB,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC;AAiBpE,MAAM,OAAO,KAAK;IAChB,MAAM,CAAC,UAAU,CAAC,IAAkB,EAAE,SAA8B;QAClE,sBAAsB;QACtB,MAAM,WAAW,GAAG,SAAS,EAAE,IAAI,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;QACvD,sBAAsB;QACtB,MAAM,oBAAoB,GAAG,EAAE,yBAAyB,EAAE,cAAc,EAAE,GAAG,SAAS,EAAE,aAAa,EAAE,CAAC;QAExG,OAAO;YACL,eAAe,CAAC,KAAK,CAAC,SAAS,EAAE,eAAe,CAAC;YACjD,aAAa,CAAC,oBAAoB,CAAC;YACnC,sBAAsB;YACtB,SAAS,CAAC,EAAE,OAAO,EAAE,mBAAmB,EAAE,CAAC;YAC3C,sBAAsB;YACtB,UAAU,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,cAAc,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC;YAC5E,IAAI,CAAC,WAAW,CAAC;YACjB,sBAAsB;YACtB,gBAAgB,CAAC;gBACf,kBAAkB,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC;gBAC7D,gBAAgB,EAAE,IAAI,CAAC,IAAI,CAAC,eAAe;gBAC3C,MAAM,EAAE,KAAK;aACd,CAAC;YACF,sBAAsB;YACtB,SAAS,CAAC;gBACR,WAAW,EAAE,EAAE;gBACf,UAAU,EAAE,kBAAkB;gBAC9B,sBAAsB;gBACtB,SAAS,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE;gBAC3C,sBAAsB;aACvB,CAAC;YACF,cAAc,CAAC,MAAM;YACrB,OAAO,CAAC,MAAM;YACd,iBAAiB,CAAC,MAAM;YACxB,aAAa,CAAC,MAAM;YACpB,UAAU,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,EAAE,UAAU,CAAC;YAC7C,MAAM,EAAE;YACR,kBAAkB,CAAC,MAAM,EAAE;SAC5B,CAAC;IACJ,CAAC;CACF"}
1
+ {"version":3,"file":"setup.service.js","sourceRoot":"","sources":["../src/setup.service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAEtD,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAE5D,OAAO,EAAE,UAAU,EAA0B,MAAM,0BAA0B,CAAC;AAI9E,OAAO,EAAE,eAAe,EAAkC,MAAM,+BAA+B,CAAC;AAChG,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AAiBrE,MAAM,OAAO,KAAK;IAChB,MAAM,CAAC,UAAU,CAAC,IAAkB,EAAE,SAA8B;QAClE,MAAM,mBAAmB,GAAG,SAAS,EAAE,mBAAmB,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAErF,OAAO;YACL,eAAe,CAAC,KAAK,CAAC,SAAS,EAAE,eAAe,CAAC;YACjD,aAAa,CAAC;gBACZ,yBAAyB,EAAE,aAAa;gBACxC,qBAAqB,EAAE;oBACrB,UAAU,EAAE,CAAC,QAAQ,CAAC;oBACtB,SAAS,EAAE,CAAC,QAAQ,CAAC;oBACrB,QAAQ,EAAE,CAAC,QAAQ,CAAC;oBACpB,MAAM,EAAE,CAAC,QAAQ,CAAC;iBACnB;aACF,CAAC;YACF,SAAS,CAAC,EAAE,OAAO,EAAE,mBAAmB,CAAC,OAAO,EAAE,EAAE,CAAC;YACrD,UAAU,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,cAAc,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC;YAC5E,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC;YACrB,gBAAgB,CAAC;gBACf,kBAAkB,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC;gBAC7D,gBAAgB,EAAE,IAAI,CAAC,IAAI,CAAC,eAAe;gBAC3C,sBAAsB;gBACtB,MAAM,EAAE,KAAK;gBACb,sBAAsB;aACvB,CAAC;YACF,SAAS,CAAC;gBACR,WAAW,EAAE,EAAE;gBACf,UAAU,EAAE,kBAAkB;gBAC9B,SAAS,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE;aAC5C,CAAC;YACF,cAAc,CAAC,MAAM;YACrB,OAAO,CAAC,MAAM;YACd,iBAAiB,CAAC,MAAM;YACxB,aAAa,CAAC,MAAM;YACpB,UAAU,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,EAAE,UAAU,CAAC;YAC7C,MAAM,EAAE;YACR,kBAAkB,CAAC,MAAM,EAAE;SAC5B,CAAC;IACJ,CAAC;CACF"}