@bgord/bun 1.8.9 → 1.8.10

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,8 +1,12 @@
1
+ import type { CacheResolverStrategy } from "./cache-resolver.strategy";
1
2
  import type { ClockPort } from "./clock.port";
2
3
  import type { FileReaderJsonPort } from "./file-reader-json.port";
4
+ import type { HashContentStrategy } from "./hash-content.strategy";
3
5
  type Dependencies = {
4
6
  Clock: ClockPort;
5
7
  FileReaderJson: FileReaderJsonPort;
8
+ CacheResolver: CacheResolverStrategy;
9
+ HashContent: HashContentStrategy;
6
10
  };
7
11
  export declare class ApiVersion {
8
12
  static readonly HEADER_NAME = "api-version";
@@ -1 +1 @@
1
- {"version":3,"file":"api-version.middleware.d.ts","sourceRoot":"","sources":["../src/api-version.middleware.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAElE,KAAK,YAAY,GAAG;IAAE,KAAK,EAAE,SAAS,CAAC;IAAC,cAAc,EAAE,kBAAkB,CAAA;CAAE,CAAC;AAE7E,qBAAa,UAAU;IACrB,MAAM,CAAC,QAAQ,CAAC,WAAW,iBAAiB;IAC5C,MAAM,CAAC,QAAQ,CAAC,mBAAmB,aAAa;IAEhD,MAAM,CAAC,KAAK,GAAI,MAAM,YAAY,iEAK7B;CACN"}
1
+ {"version":3,"file":"api-version.middleware.d.ts","sourceRoot":"","sources":["../src/api-version.middleware.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAGvE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAEnE,KAAK,YAAY,GAAG;IAClB,KAAK,EAAE,SAAS,CAAC;IACjB,cAAc,EAAE,kBAAkB,CAAC;IACnC,aAAa,EAAE,qBAAqB,CAAC;IACrC,WAAW,EAAE,mBAAmB,CAAC;CAClC,CAAC;AAEF,qBAAa,UAAU;IACrB,MAAM,CAAC,QAAQ,CAAC,WAAW,iBAAiB;IAC5C,MAAM,CAAC,QAAQ,CAAC,mBAAmB,aAAa;IAEhD,MAAM,CAAC,KAAK,GAAI,MAAM,YAAY,iEAU7B;CACN"}
@@ -1,10 +1,14 @@
1
1
  import { createMiddleware } from "hono/factory";
2
2
  import { BuildInfoRepository } from "./build-info-repository.service";
3
+ import { CacheSubjectResolver } from "./cache-subject-resolver.vo";
4
+ import { CacheSubjectSegmentFixedStrategy } from "./cache-subject-segment-fixed.strategy";
3
5
  export class ApiVersion {
4
6
  static HEADER_NAME = "api-version";
5
7
  static DEFAULT_API_VERSION = "unknown";
6
8
  static build = (deps) => createMiddleware(async (c, next) => {
7
- const build = await BuildInfoRepository.extract(deps);
9
+ const resolver = new CacheSubjectResolver([new CacheSubjectSegmentFixedStrategy("api-version")], deps);
10
+ const subject = await resolver.resolve();
11
+ const build = await deps.CacheResolver.resolve(subject.hex, async () => BuildInfoRepository.extract(deps));
8
12
  c.res.headers.set(ApiVersion.HEADER_NAME, build.BUILD_VERSION ?? ApiVersion.DEFAULT_API_VERSION);
9
13
  await next();
10
14
  });
@@ -1 +1 @@
1
- {"version":3,"file":"api-version.middleware.js","sourceRoot":"","sources":["../src/api-version.middleware.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAMtE,MAAM,OAAO,UAAU;IACrB,MAAM,CAAU,WAAW,GAAG,aAAa,CAAC;IAC5C,MAAM,CAAU,mBAAmB,GAAG,SAAS,CAAC;IAEhD,MAAM,CAAC,KAAK,GAAG,CAAC,IAAkB,EAAE,EAAE,CACpC,gBAAgB,CAAC,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE;QACjC,MAAM,KAAK,GAAG,MAAM,mBAAmB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACtD,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,WAAW,EAAE,KAAK,CAAC,aAAa,IAAI,UAAU,CAAC,mBAAmB,CAAC,CAAC;QACjG,MAAM,IAAI,EAAE,CAAC;IACf,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"api-version.middleware.js","sourceRoot":"","sources":["../src/api-version.middleware.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAEtE,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,gCAAgC,EAAE,MAAM,wCAAwC,CAAC;AAY1F,MAAM,OAAO,UAAU;IACrB,MAAM,CAAU,WAAW,GAAG,aAAa,CAAC;IAC5C,MAAM,CAAU,mBAAmB,GAAG,SAAS,CAAC;IAEhD,MAAM,CAAC,KAAK,GAAG,CAAC,IAAkB,EAAE,EAAE,CACpC,gBAAgB,CAAC,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE;QACjC,MAAM,QAAQ,GAAG,IAAI,oBAAoB,CAAC,CAAC,IAAI,gCAAgC,CAAC,aAAa,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;QACvG,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,OAAO,EAAE,CAAC;QAEzC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,IAAI,EAAE,CACrE,mBAAmB,CAAC,OAAO,CAAC,IAAI,CAAC,CAClC,CAAC;QACF,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,WAAW,EAAE,KAAK,CAAC,aAAa,IAAI,UAAU,CAAC,mBAAmB,CAAC,CAAC;QACjG,MAAM,IAAI,EAAE,CAAC;IACf,CAAC,CAAC,CAAC"}
@@ -1,7 +1,9 @@
1
1
  import * as tools from "@bgord/tools";
2
2
  import { cors } from "hono/cors";
3
+ import type { CacheResolverStrategy } from "./cache-resolver.strategy";
3
4
  import type { ClockPort } from "./clock.port";
4
5
  import type { FileReaderJsonPort } from "./file-reader-json.port";
6
+ import type { HashContentStrategy } from "./hash-content.strategy";
5
7
  import { type HttpLoggerOptions } from "./http-logger.middleware";
6
8
  import type { I18nConfigType } from "./i18n.service";
7
9
  import type { IdProviderPort } from "./id-provider.port";
@@ -19,6 +21,8 @@ type Dependencies = {
19
21
  I18n: I18nConfigType;
20
22
  Clock: ClockPort;
21
23
  FileReaderJson: FileReaderJsonPort;
24
+ CacheResolver: CacheResolverStrategy;
25
+ HashContent: HashContentStrategy;
22
26
  };
23
27
  export declare class Setup {
24
28
  static essentials(deps: Dependencies, overrides?: SetupOverridesType): (import("hono").MiddlewareHandler<any, string, {}, Response> | import("hono").MiddlewareHandler<{
@@ -1 +1 @@
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;;;CAyDrE"}
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,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAI9C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AACnE,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;IACnC,aAAa,EAAE,qBAAqB,CAAC;IACrC,WAAW,EAAE,mBAAmB,CAAC;CAClC,CAAC;AAEF,qBAAa,KAAK;IAChB,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,YAAY,EAAE,SAAS,CAAC,EAAE,kBAAkB;;;CAyDrE"}
@@ -31,7 +31,7 @@ export class Setup {
31
31
  xFrameOptions: false,
32
32
  }),
33
33
  bodyLimit({ maxSize: BODY_LIMIT_MAX_SIZE.toBytes() }),
34
- ApiVersion.build({ Clock: deps.Clock, FileReaderJson: deps.FileReaderJson }),
34
+ ApiVersion.build(deps),
35
35
  cors({
36
36
  // Stryker disable all
37
37
  origin: (origin, c) => {
@@ -1 +1 @@
1
- {"version":3,"file":"setup.service.js","sourceRoot":"","sources":["../src/setup.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"setup.service.js","sourceRoot":"","sources":["../src/setup.service.ts"],"names":[],"mappings":"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"}