@zeltjs/testing 0.6.1 → 0.7.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.
@@ -1,2 +1,2 @@
1
- import { a as TestApp, c as getTestDefaults, i as shutdownAll, n as TestTargetResult, o as onTest, r as createTestTarget, s as configureTestDefaults, t as CreateTestTargetOptions } from "../index-BQPhTvBe.js";
2
- export { CreateTestTargetOptions, TestApp, TestTargetResult, configureTestDefaults, createTestTarget, getTestDefaults, onTest, shutdownAll };
1
+ import { a as shutdownAll, c as onTest, i as createTestTarget, l as configureTestDefaults, n as Override, o as TestApp, r as TestTargetResult, s as TestableApp, t as CreateTestTargetOptions, u as getTestDefaults } from "../index-Cq-a1i0M.js";
2
+ export { CreateTestTargetOptions, Override, TestApp, TestTargetResult, TestableApp, configureTestDefaults, createTestTarget, getTestDefaults, onTest, shutdownAll };
@@ -1,4 +1,4 @@
1
- import { a as getTestDefaults, i as configureTestDefaults, n as onTest, r as shutdownAll, t as createTestTarget } from "../src-CUYWocvI.js";
1
+ import { a as getTestDefaults, i as configureTestDefaults, n as onTest, r as shutdownAll, t as createTestTarget } from "../src-DlD8Mh2A.js";
2
2
  import { afterAll } from "bun:test";
3
3
  //#region src/adapters/bun.ts
4
4
  afterAll(shutdownAll);
@@ -1,2 +1,2 @@
1
- import { a as TestApp, c as getTestDefaults, i as shutdownAll, n as TestTargetResult, o as onTest, r as createTestTarget, s as configureTestDefaults, t as CreateTestTargetOptions } from "../index-BQPhTvBe.js";
2
- export { CreateTestTargetOptions, TestApp, TestTargetResult, configureTestDefaults, createTestTarget, getTestDefaults, onTest, shutdownAll };
1
+ import { a as shutdownAll, c as onTest, i as createTestTarget, l as configureTestDefaults, n as Override, o as TestApp, r as TestTargetResult, s as TestableApp, t as CreateTestTargetOptions, u as getTestDefaults } from "../index-Cq-a1i0M.js";
2
+ export { CreateTestTargetOptions, Override, TestApp, TestTargetResult, TestableApp, configureTestDefaults, createTestTarget, getTestDefaults, onTest, shutdownAll };
@@ -1,4 +1,4 @@
1
- import { a as getTestDefaults, i as configureTestDefaults, n as onTest, r as shutdownAll, t as createTestTarget } from "../src-CUYWocvI.js";
1
+ import { a as getTestDefaults, i as configureTestDefaults, n as onTest, r as shutdownAll, t as createTestTarget } from "../src-DlD8Mh2A.js";
2
2
  import { afterAll } from "@jest/globals";
3
3
  //#region src/adapters/jest.ts
4
4
  afterAll(shutdownAll);
@@ -1,2 +1,2 @@
1
- import { a as TestApp, c as getTestDefaults, i as shutdownAll, n as TestTargetResult, o as onTest, r as createTestTarget, s as configureTestDefaults, t as CreateTestTargetOptions } from "../index-BQPhTvBe.js";
2
- export { CreateTestTargetOptions, TestApp, TestTargetResult, configureTestDefaults, createTestTarget, getTestDefaults, onTest, shutdownAll };
1
+ import { a as shutdownAll, c as onTest, i as createTestTarget, l as configureTestDefaults, n as Override, o as TestApp, r as TestTargetResult, s as TestableApp, t as CreateTestTargetOptions, u as getTestDefaults } from "../index-Cq-a1i0M.js";
2
+ export { CreateTestTargetOptions, Override, TestApp, TestTargetResult, TestableApp, configureTestDefaults, createTestTarget, getTestDefaults, onTest, shutdownAll };
@@ -1,4 +1,4 @@
1
- import { a as getTestDefaults, i as configureTestDefaults, n as onTest, r as shutdownAll, t as createTestTarget } from "../src-CUYWocvI.js";
1
+ import { a as getTestDefaults, i as configureTestDefaults, n as onTest, r as shutdownAll, t as createTestTarget } from "../src-DlD8Mh2A.js";
2
2
  import { after } from "node:test";
3
3
  //#region src/adapters/node.ts
4
4
  after(shutdownAll);
@@ -1,2 +1,2 @@
1
- import { a as TestApp, c as getTestDefaults, i as shutdownAll, n as TestTargetResult, o as onTest, r as createTestTarget, s as configureTestDefaults, t as CreateTestTargetOptions } from "../index-BQPhTvBe.js";
2
- export { CreateTestTargetOptions, TestApp, TestTargetResult, configureTestDefaults, createTestTarget, getTestDefaults, onTest, shutdownAll };
1
+ import { a as shutdownAll, c as onTest, i as createTestTarget, l as configureTestDefaults, n as Override, o as TestApp, r as TestTargetResult, s as TestableApp, t as CreateTestTargetOptions, u as getTestDefaults } from "../index-Cq-a1i0M.js";
2
+ export { CreateTestTargetOptions, Override, TestApp, TestTargetResult, TestableApp, configureTestDefaults, createTestTarget, getTestDefaults, onTest, shutdownAll };
@@ -1,4 +1,4 @@
1
- import { a as getTestDefaults, i as configureTestDefaults, n as onTest, r as shutdownAll, t as createTestTarget } from "../src-CUYWocvI.js";
1
+ import { a as getTestDefaults, i as configureTestDefaults, n as onTest, r as shutdownAll, t as createTestTarget } from "../src-DlD8Mh2A.js";
2
2
  import { afterAll } from "vitest";
3
3
  //#region src/adapters/vitest.ts
4
4
  afterAll(shutdownAll);
@@ -0,0 +1,54 @@
1
+ import { App, ConfigClass, ReadyResult } from "@zeltjs/core";
2
+
3
+ //#region src/global-config.d.ts
4
+ type AnyConfigClass$2 = ConfigClass<object>;
5
+ type TestDefaults = {
6
+ readonly configs: readonly AnyConfigClass$2[];
7
+ };
8
+ type ConfigureOptions = {
9
+ readonly configs: readonly AnyConfigClass$2[];
10
+ };
11
+ declare const configureTestDefaults: (options: ConfigureOptions) => void;
12
+ declare const getTestDefaults: () => TestDefaults;
13
+ //#endregion
14
+ //#region src/on-test.d.ts
15
+ type AnyConfigClass$1 = ConfigClass<object>;
16
+ type OnTestOptions = {
17
+ readonly configs?: readonly AnyConfigClass$1[];
18
+ };
19
+ type TestableApp<T extends App> = T & Pick<ReadyResult, 'get'>;
20
+ /** @deprecated Use TestableApp<T> instead */
21
+ type TestApp = TestableApp<App & {
22
+ fetch: HttpAppMethods['fetch'];
23
+ request: HttpAppMethods['request'];
24
+ }>;
25
+ type HttpAppMethods = {
26
+ readonly fetch: (request: Request) => Promise<Response>;
27
+ readonly request: (input: string | Request, init?: RequestInit) => Promise<Response>;
28
+ };
29
+ declare const onTest: <T extends App>(app: T, options?: OnTestOptions) => Promise<TestableApp<T>>;
30
+ //#endregion
31
+ //#region src/shutdown-registry.d.ts
32
+ declare const shutdownAll: () => Promise<void>;
33
+ //#endregion
34
+ //#region src/test-target.d.ts
35
+ type AnyConfigClass = ConfigClass<object>;
36
+ type AnyClass = new (...args: never[]) => unknown;
37
+ type Override<T = unknown> = {
38
+ readonly provide: AnyClass & (new (...args: never[]) => T);
39
+ readonly useValue: T;
40
+ };
41
+ type CreateTestTargetOptions = {
42
+ readonly configs?: readonly AnyConfigClass[];
43
+ readonly overrides?: readonly Override[];
44
+ };
45
+ type TestTargetResult<T> = {
46
+ readonly target: T;
47
+ readonly get: <U extends object>(cls: new (...args: never[]) => U) => U;
48
+ readonly shutdown: () => Promise<void>;
49
+ };
50
+ /** @throws {ZeltLifecycleStateError} */
51
+ declare const createTestTarget: <T extends object>(targetClass: new (...args: never[]) => T, options?: CreateTestTargetOptions) => Promise<TestTargetResult<T>>;
52
+ //#endregion
53
+ export { shutdownAll as a, onTest as c, createTestTarget as i, configureTestDefaults as l, Override as n, TestApp as o, TestTargetResult as r, TestableApp as s, CreateTestTargetOptions as t, getTestDefaults as u };
54
+ //# sourceMappingURL=index-Cq-a1i0M.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-Cq-a1i0M.d.ts","names":[],"sources":["../src/global-config.ts","../src/on-test.ts","../src/shutdown-registry.ts","../src/test-target.ts"],"mappings":";;;KAEK,gBAAA,GAAiB,WAAA;AAAA,KAEjB,YAAA;EAAA,SACM,OAAA,WAAkB,gBAAA;AAAA;AAAA,KAGxB,gBAAA;EAAA,SACM,OAAA,WAAkB,gBAAA;AAAA;AAAA,cAKhB,qBAAA,GAAyB,OAAA,EAAS,gBAAA;AAAA,cAIlC,eAAA,QAAsB,YAAA;;;KCb9B,gBAAA,GAAiB,WAAA;AAAA,KAEjB,aAAA;EAAA,SACM,OAAA,YAAmB,gBAAA;AAAA;AAAA,KAGlB,WAAA,WAAsB,GAAA,IAAO,CAAA,GAAI,IAAA,CAAK,WAAA;;KAGtC,OAAA,GAAU,WAAA,CACpB,GAAA;EAAQ,KAAA,EAAO,cAAA;EAAyB,OAAA,EAAS,cAAA;AAAA;AAAA,KAG9C,cAAA;EAAA,SACM,KAAA,GAAQ,OAAA,EAAS,OAAA,KAAY,OAAA,CAAQ,QAAA;EAAA,SACrC,OAAA,GAAU,KAAA,WAAgB,OAAA,EAAS,IAAA,GAAO,WAAA,KAAgB,OAAA,CAAQ,QAAA;AAAA;AAAA,cAShE,MAAA,aAA0B,GAAA,EACrC,GAAA,EAAK,CAAA,EACL,OAAA,GAAS,aAAA,KACR,OAAA,CAAQ,WAAA,CAAY,CAAA;;;cCxBV,WAAA,QAAwB,OAAA;;;KCDhC,cAAA,GAAiB,WAAA;AAAA,KACjB,QAAA,WAAmB,IAAA;AAAA,KAEZ,QAAA;EAAA,SACD,OAAA,EAAS,QAAA,YAAoB,IAAA,cAAkB,CAAA;EAAA,SAC/C,QAAA,EAAU,CAAA;AAAA;AAAA,KAGT,uBAAA;EAAA,SACD,OAAA,YAAmB,cAAA;EAAA,SACnB,SAAA,YAAqB,QAAA;AAAA;AAAA,KAGpB,gBAAA;EAAA,SACD,MAAA,EAAQ,CAAA;EAAA,SACR,GAAA,qBAAwB,GAAA,UAAa,IAAA,cAAkB,CAAA,KAAM,CAAA;EAAA,SAC7D,QAAA,QAAgB,OAAA;AAAA;;cASd,gBAAA,qBACX,WAAA,UAAqB,IAAA,cAAkB,CAAA,EACvC,OAAA,GAAS,uBAAA,KACR,OAAA,CAAQ,gBAAA,CAAiB,CAAA"}
package/dist/index.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- import { a as TestApp, c as getTestDefaults, i as shutdownAll, n as TestTargetResult, o as onTest, r as createTestTarget, s as configureTestDefaults, t as CreateTestTargetOptions } from "./index-BQPhTvBe.js";
2
- export { CreateTestTargetOptions, TestApp, TestTargetResult, configureTestDefaults, createTestTarget, getTestDefaults, onTest, shutdownAll };
1
+ import { a as shutdownAll, c as onTest, i as createTestTarget, l as configureTestDefaults, n as Override, o as TestApp, r as TestTargetResult, s as TestableApp, t as CreateTestTargetOptions, u as getTestDefaults } from "./index-Cq-a1i0M.js";
2
+ export { CreateTestTargetOptions, Override, TestApp, TestTargetResult, TestableApp, configureTestDefaults, createTestTarget, getTestDefaults, onTest, shutdownAll };
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
- import { a as getTestDefaults, i as configureTestDefaults, n as onTest, r as shutdownAll, t as createTestTarget } from "./src-CUYWocvI.js";
1
+ import { a as getTestDefaults, i as configureTestDefaults, n as onTest, r as shutdownAll, t as createTestTarget } from "./src-DlD8Mh2A.js";
2
2
  export { configureTestDefaults, createTestTarget, getTestDefaults, onTest, shutdownAll };
@@ -1,4 +1,5 @@
1
- import { createTestTargetBase } from "@zeltjs/core/internal-bridge/testing";
1
+ import { createApp } from "@zeltjs/core";
2
+ import { override } from "@zeltjs/core/internal-bridge/testing";
2
3
  //#region src/global-config.ts
3
4
  const globalConfigs = [];
4
5
  const configureTestDefaults = (options) => {
@@ -23,12 +24,11 @@ const applyOverrides = (app, configs) => {
23
24
  const onTest = async (app, options = {}) => {
24
25
  applyOverrides(app, getTestDefaults().configs);
25
26
  applyOverrides(app, options.configs ?? []);
26
- await app.ready();
27
+ const { get } = await app.ready();
27
28
  registerShutdown(app.shutdown.bind(app));
28
29
  return {
29
- fetch: app.fetch.bind(app),
30
- request: app.request.bind(app),
31
- shutdown: app.shutdown.bind(app)
30
+ ...app,
31
+ get
32
32
  };
33
33
  };
34
34
  //#endregion
@@ -37,15 +37,17 @@ const mergeGlobalDefaults = (configs) => {
37
37
  return [...getTestDefaults().configs, ...configs];
38
38
  };
39
39
  /** @throws {ZeltLifecycleStateError} */ const createTestTarget = async (targetClass, options = {}) => {
40
- const mergedConfigs = mergeGlobalDefaults(options.configs ?? []);
41
- const result = await createTestTargetBase(targetClass, {
42
- ...options,
43
- configs: mergedConfigs
44
- });
45
- registerShutdown(result.shutdown);
46
- return result;
40
+ const app = createApp({ configs: mergeGlobalDefaults(options.configs ?? []) });
41
+ if (options.overrides?.length) override(app, options.overrides);
42
+ const { get } = await app.ready();
43
+ registerShutdown(app.shutdown.bind(app));
44
+ return {
45
+ target: get(targetClass),
46
+ get,
47
+ shutdown: app.shutdown.bind(app)
48
+ };
47
49
  };
48
50
  //#endregion
49
51
  export { getTestDefaults as a, configureTestDefaults as i, onTest as n, shutdownAll as r, createTestTarget as t };
50
52
 
51
- //# sourceMappingURL=src-CUYWocvI.js.map
53
+ //# sourceMappingURL=src-DlD8Mh2A.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"src-DlD8Mh2A.js","names":["globalConfigs","configureTestDefaults","options","push","configs","getTestDefaults","shutdownFns","registerShutdown","fn","push","shutdownAll","fns","splice","getTestDefaults","registerShutdown","applyOverrides","app","configs","configClass","overrideConfig","onTest","options","defaults","get","ready","shutdown","bind","createApp","override","getTestDefaults","registerShutdown","mergeGlobalDefaults","configs","defaults","createTestTarget","targetClass","options","mergedConfigs","app","overrides","length","get","ready","shutdown","bind","target"],"sources":["../src/global-config.ts","../src/shutdown-registry.ts","../src/on-test.ts","../src/test-target.ts"],"sourcesContent":["import type { ConfigClass } from '@zeltjs/core';\n\ntype AnyConfigClass = ConfigClass<object>;\n\ntype TestDefaults = {\n readonly configs: readonly AnyConfigClass[];\n};\n\ntype ConfigureOptions = {\n readonly configs: readonly AnyConfigClass[];\n};\n\nconst globalConfigs: AnyConfigClass[] = [];\n\nexport const configureTestDefaults = (options: ConfigureOptions): void => {\n globalConfigs.push(...options.configs);\n};\n\nexport const getTestDefaults = (): TestDefaults => ({ configs: globalConfigs });\n","type ShutdownFn = () => Promise<void>;\n\nconst shutdownFns: ShutdownFn[] = [];\n\nexport const registerShutdown = (fn: ShutdownFn): void => {\n shutdownFns.push(fn);\n};\n\nexport const shutdownAll = async (): Promise<void> => {\n const fns = shutdownFns.splice(0);\n for (const fn of fns) {\n await fn();\n }\n};\n","import type { App, ConfigClass, ReadyResult } from '@zeltjs/core';\n\nimport { getTestDefaults } from './global-config';\nimport { registerShutdown } from './shutdown-registry';\n\ntype AnyConfigClass = ConfigClass<object>;\n\ntype OnTestOptions = {\n readonly configs?: readonly AnyConfigClass[];\n};\n\nexport type TestableApp<T extends App> = T & Pick<ReadyResult, 'get'>;\n\n/** @deprecated Use TestableApp<T> instead */\nexport type TestApp = TestableApp<\n App & { fetch: HttpAppMethods['fetch']; request: HttpAppMethods['request'] }\n>;\n\ntype HttpAppMethods = {\n readonly fetch: (request: Request) => Promise<Response>;\n readonly request: (input: string | Request, init?: RequestInit) => Promise<Response>;\n};\n\nconst applyOverrides = (app: App, configs: readonly AnyConfigClass[]): void => {\n for (const configClass of configs) {\n app.overrideConfig(configClass);\n }\n};\n\nexport const onTest = async <T extends App>(\n app: T,\n options: OnTestOptions = {},\n): Promise<TestableApp<T>> => {\n const defaults = getTestDefaults();\n applyOverrides(app, defaults.configs);\n applyOverrides(app, options.configs ?? []);\n\n const { get } = await app.ready();\n registerShutdown(app.shutdown.bind(app));\n\n return { ...app, get };\n};\n","import type { ConfigClass } from '@zeltjs/core';\nimport { createApp } from '@zeltjs/core';\nimport { override } from '@zeltjs/core/internal-bridge/testing';\n\nimport { getTestDefaults } from './global-config';\nimport { registerShutdown } from './shutdown-registry';\n\ntype AnyConfigClass = ConfigClass<object>;\ntype AnyClass = new (...args: never[]) => unknown;\n\nexport type Override<T = unknown> = {\n readonly provide: AnyClass & (new (...args: never[]) => T);\n readonly useValue: T;\n};\n\nexport type CreateTestTargetOptions = {\n readonly configs?: readonly AnyConfigClass[];\n readonly overrides?: readonly Override[];\n};\n\nexport type TestTargetResult<T> = {\n readonly target: T;\n readonly get: <U extends object>(cls: new (...args: never[]) => U) => U;\n readonly shutdown: () => Promise<void>;\n};\n\nconst mergeGlobalDefaults = (configs: readonly AnyConfigClass[]): AnyConfigClass[] => {\n const defaults = getTestDefaults();\n return [...defaults.configs, ...configs];\n};\n\n/** @throws {ZeltLifecycleStateError} */\nexport const createTestTarget = async <T extends object>(\n targetClass: new (...args: never[]) => T,\n options: CreateTestTargetOptions = {},\n): Promise<TestTargetResult<T>> => {\n const mergedConfigs = mergeGlobalDefaults(options.configs ?? []);\n\n const app = createApp({ configs: mergedConfigs });\n\n if (options.overrides?.length) {\n override(app, options.overrides);\n }\n\n const { get } = await app.ready();\n registerShutdown(app.shutdown.bind(app));\n\n return {\n target: get(targetClass),\n get,\n shutdown: app.shutdown.bind(app),\n };\n};\n"],"mappings":";;;AAYA,MAAMA,gBAAkC,EAAE;AAE1C,MAAaC,yBAAyBC,YAAAA;AACpCF,eAAcG,KAAI,GAAID,QAAQE,QAAO;;AAGvC,MAAaC,yBAAuC,EAAED,SAASJ,eAAc;;;AChB7E,MAAMM,cAA4B,EAAE;AAEpC,MAAaC,oBAAoBC,OAAAA;AAC/BF,aAAYG,KAAKD,GAAAA;;AAGnB,MAAaE,cAAc,YAAA;CACzB,MAAMC,MAAML,YAAYM,OAAO,EAAA;AAC/B,MAAK,MAAMJ,MAAMG,IACf,OAAMH,IAAAA;;;;ACYV,MAAMO,kBAAkBC,KAAUC,YAAAA;AAChC,MAAK,MAAMC,eAAeD,QACxBD,KAAIG,eAAeD,YAAAA;;AAIvB,MAAaE,SAAS,OACpBJ,KACAK,UAAyB,EAAE,KAAA;AAG3BN,gBAAeC,KADEH,iBACGS,CAASL,QAAO;AACpCF,gBAAeC,KAAKK,QAAQJ,WAAW,EAAE,CAAA;CAEzC,MAAM,EAAEM,QAAQ,MAAMP,IAAIQ,OAAK;AAC/BV,kBAAiBE,IAAIS,SAASC,KAAKV,IAAAA,CAAAA;AAEnC,QAAO;EAAE,GAAGA;EAAKO;EAAI;;;;ACdvB,MAAMQ,uBAAuBC,YAAAA;AAE3B,QAAO,CAAA,GADUH,iBACNI,CAASD,SAAAA,GAAYA,QAAQ;;yCAI1C,MAAaE,mBAAmB,OAC9BC,aACAC,UAAmC,EAAE,KAAA;CAIrC,MAAME,MAAMX,UAAU,EAAEK,SAFFD,oBAAoBK,QAAQJ,WAAW,EAAE,CAE9BK,EAAc,CAAA;AAE/C,KAAID,QAAQG,WAAWC,OACrBZ,UAASU,KAAKF,QAAQG,UAAS;CAGjC,MAAM,EAAEE,QAAQ,MAAMH,IAAII,OAAK;AAC/BZ,kBAAiBQ,IAAIK,SAASC,KAAKN,IAAAA,CAAAA;AAEnC,QAAO;EACLO,QAAQJ,IAAIN,YAAAA;EACZM;EACAE,UAAUL,IAAIK,SAASC,KAAKN,IAAAA;EAC9B"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zeltjs/testing",
3
- "version": "0.6.1",
3
+ "version": "0.7.0",
4
4
  "type": "module",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -41,7 +41,7 @@
41
41
  "@jest/globals": ">=29",
42
42
  "bun-types": ">=1",
43
43
  "@types/node": ">=20",
44
- "@zeltjs/core": "0.6.1"
44
+ "@zeltjs/core": "0.7.0"
45
45
  },
46
46
  "peerDependenciesMeta": {
47
47
  "vitest": {
@@ -1,35 +0,0 @@
1
- import { CreateTestTargetOptions, CreateTestTargetOptions as CreateTestTargetOptions$1, TestTargetResult, TestTargetResult as TestTargetResult$1 } from "@zeltjs/core/internal-bridge/testing";
2
- import { ConfigClass, HttpApp } from "@zeltjs/core";
3
-
4
- //#region src/global-config.d.ts
5
- type AnyConfigClass$1 = ConfigClass<object>;
6
- type TestDefaults = {
7
- readonly configs: readonly AnyConfigClass$1[];
8
- };
9
- type ConfigureOptions = {
10
- readonly configs: readonly AnyConfigClass$1[];
11
- };
12
- declare const configureTestDefaults: (options: ConfigureOptions) => void;
13
- declare const getTestDefaults: () => TestDefaults;
14
- //#endregion
15
- //#region src/on-test.d.ts
16
- type AnyConfigClass = ConfigClass<object>;
17
- type OnTestOptions = {
18
- readonly configs?: readonly AnyConfigClass[];
19
- };
20
- type TestApp = {
21
- readonly fetch: (request: Request) => Promise<Response>;
22
- readonly request: (input: string | Request, init?: RequestInit) => Promise<Response>;
23
- readonly shutdown: () => Promise<void>;
24
- };
25
- declare const onTest: (app: HttpApp, options?: OnTestOptions) => Promise<TestApp>;
26
- //#endregion
27
- //#region src/shutdown-registry.d.ts
28
- declare const shutdownAll: () => Promise<void>;
29
- //#endregion
30
- //#region src/test-target.d.ts
31
- /** @throws {ZeltLifecycleStateError} */
32
- declare const createTestTarget: <T extends object>(targetClass: new (...args: never[]) => T, options?: CreateTestTargetOptions) => Promise<TestTargetResult<T>>;
33
- //#endregion
34
- export { TestApp as a, getTestDefaults as c, shutdownAll as i, TestTargetResult$1 as n, onTest as o, createTestTarget as r, configureTestDefaults as s, CreateTestTargetOptions$1 as t };
35
- //# sourceMappingURL=index-BQPhTvBe.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index-BQPhTvBe.d.ts","names":[],"sources":["../src/global-config.ts","../src/on-test.ts","../src/shutdown-registry.ts","../src/test-target.ts"],"mappings":";;;;KAEK,gBAAA,GAAiB,WAAA;AAAA,KAEjB,YAAA;EAAA,SACM,OAAA,WAAkB,gBAAA;AAAA;AAAA,KAGxB,gBAAA;EAAA,SACM,OAAA,WAAkB,gBAAA;AAAA;AAAA,cAKhB,qBAAA,GAAyB,OAAA,EAAS,gBAAA;AAAA,cAIlC,eAAA,QAAsB,YAAA;;;KCb9B,cAAA,GAAiB,WAAA;AAAA,KAEjB,aAAA;EAAA,SACM,OAAA,YAAmB,cAAA;AAAA;AAAA,KAGlB,OAAA;EAAA,SACD,KAAA,GAAQ,OAAA,EAAS,OAAA,KAAY,OAAA,CAAQ,QAAA;EAAA,SACrC,OAAA,GAAU,KAAA,WAAgB,OAAA,EAAS,IAAA,GAAO,WAAA,KAAgB,OAAA,CAAQ,QAAA;EAAA,SAClE,QAAA,QAAgB,OAAA;AAAA;AAAA,cASd,MAAA,GAAgB,GAAA,EAAK,OAAA,EAAS,OAAA,GAAS,aAAA,KAAqB,OAAA,CAAQ,OAAA;;;cCfpE,WAAA,QAAwB,OAAA;;;;cCcxB,gBAAA,qBACX,WAAA,UAAqB,IAAA,cAAkB,CAAA,EACvC,OAAA,GAAS,uBAAA,KACR,OAAA,CAAQ,gBAAA,CAAiB,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"src-CUYWocvI.js","names":["globalConfigs","configureTestDefaults","options","push","configs","getTestDefaults","shutdownFns","registerShutdown","fn","push","shutdownAll","fns","splice","getTestDefaults","registerShutdown","applyOverrides","app","configs","configClass","overrideConfig","onTest","options","defaults","ready","shutdown","bind","fetch","request","createTestTargetBase","getTestDefaults","registerShutdown","mergeGlobalDefaults","configs","defaults","createTestTarget","targetClass","options","mergedConfigs","result","shutdown"],"sources":["../src/global-config.ts","../src/shutdown-registry.ts","../src/on-test.ts","../src/test-target.ts"],"sourcesContent":["import type { ConfigClass } from '@zeltjs/core';\n\ntype AnyConfigClass = ConfigClass<object>;\n\ntype TestDefaults = {\n readonly configs: readonly AnyConfigClass[];\n};\n\ntype ConfigureOptions = {\n readonly configs: readonly AnyConfigClass[];\n};\n\nconst globalConfigs: AnyConfigClass[] = [];\n\nexport const configureTestDefaults = (options: ConfigureOptions): void => {\n globalConfigs.push(...options.configs);\n};\n\nexport const getTestDefaults = (): TestDefaults => ({ configs: globalConfigs });\n","type ShutdownFn = () => Promise<void>;\n\nconst shutdownFns: ShutdownFn[] = [];\n\nexport const registerShutdown = (fn: ShutdownFn): void => {\n shutdownFns.push(fn);\n};\n\nexport const shutdownAll = async (): Promise<void> => {\n const fns = shutdownFns.splice(0);\n for (const fn of fns) {\n await fn();\n }\n};\n","import type { ConfigClass, HttpApp } from '@zeltjs/core';\n\nimport { getTestDefaults } from './global-config';\nimport { registerShutdown } from './shutdown-registry';\n\ntype AnyConfigClass = ConfigClass<object>;\n\ntype OnTestOptions = {\n readonly configs?: readonly AnyConfigClass[];\n};\n\nexport type TestApp = {\n readonly fetch: (request: Request) => Promise<Response>;\n readonly request: (input: string | Request, init?: RequestInit) => Promise<Response>;\n readonly shutdown: () => Promise<void>;\n};\n\nconst applyOverrides = (app: HttpApp, configs: readonly AnyConfigClass[]): void => {\n for (const configClass of configs) {\n app.overrideConfig(configClass);\n }\n};\n\nexport const onTest = async (app: HttpApp, options: OnTestOptions = {}): Promise<TestApp> => {\n const defaults = getTestDefaults();\n applyOverrides(app, defaults.configs);\n applyOverrides(app, options.configs ?? []);\n\n await app.ready();\n registerShutdown(app.shutdown.bind(app));\n\n return {\n fetch: app.fetch.bind(app),\n request: app.request.bind(app),\n shutdown: app.shutdown.bind(app),\n };\n};\n","import type {\n CreateTestTargetOptions,\n TestTargetResult,\n} from '@zeltjs/core/internal-bridge/testing';\nimport { createTestTargetBase } from '@zeltjs/core/internal-bridge/testing';\n\nimport { getTestDefaults } from './global-config';\nimport { registerShutdown } from './shutdown-registry';\n\nexport type {\n CreateTestTargetOptions,\n TestTargetResult,\n} from '@zeltjs/core/internal-bridge/testing';\n\ntype AnyConstructor = new (...args: never[]) => unknown;\n\nconst mergeGlobalDefaults = (configs: readonly AnyConstructor[]): AnyConstructor[] => {\n const defaults = getTestDefaults();\n return [...defaults.configs, ...configs];\n};\n\n/** @throws {ZeltLifecycleStateError} */\nexport const createTestTarget = async <T extends object>(\n targetClass: new (...args: never[]) => T,\n options: CreateTestTargetOptions = {},\n): Promise<TestTargetResult<T>> => {\n const mergedConfigs = mergeGlobalDefaults(options.configs ?? []);\n const result = await createTestTargetBase(targetClass, {\n ...options,\n configs: mergedConfigs,\n });\n registerShutdown(result.shutdown);\n return result;\n};\n"],"mappings":";;AAYA,MAAMA,gBAAkC,EAAE;AAE1C,MAAaC,yBAAyBC,YAAAA;AACpCF,eAAcG,KAAI,GAAID,QAAQE,QAAO;;AAGvC,MAAaC,yBAAuC,EAAED,SAASJ,eAAc;;;AChB7E,MAAMM,cAA4B,EAAE;AAEpC,MAAaC,oBAAoBC,OAAAA;AAC/BF,aAAYG,KAAKD,GAAAA;;AAGnB,MAAaE,cAAc,YAAA;CACzB,MAAMC,MAAML,YAAYM,OAAO,EAAA;AAC/B,MAAK,MAAMJ,MAAMG,IACf,OAAMH,IAAAA;;;;ACMV,MAAMO,kBAAkBC,KAAcC,YAAAA;AACpC,MAAK,MAAMC,eAAeD,QACxBD,KAAIG,eAAeD,YAAAA;;AAIvB,MAAaE,SAAS,OAAOJ,KAAcK,UAAyB,EAAE,KAAA;AAEpEN,gBAAeC,KADEH,iBACGS,CAASL,QAAO;AACpCF,gBAAeC,KAAKK,QAAQJ,WAAW,EAAE,CAAA;AAEzC,OAAMD,IAAIO,OAAK;AACfT,kBAAiBE,IAAIQ,SAASC,KAAKT,IAAAA,CAAAA;AAEnC,QAAO;EACLU,OAAOV,IAAIU,MAAMD,KAAKT,IAAAA;EACtBW,SAASX,IAAIW,QAAQF,KAAKT,IAAAA;EAC1BQ,UAAUR,IAAIQ,SAASC,KAAKT,IAAAA;EAC9B;;;;ACnBF,MAAMe,uBAAuBC,YAAAA;AAE3B,QAAO,CAAA,GADUH,iBACNI,CAASD,SAAAA,GAAYA,QAAQ;;yCAI1C,MAAaE,mBAAmB,OAC9BC,aACAC,UAAmC,EAAE,KAAA;CAErC,MAAMC,gBAAgBN,oBAAoBK,QAAQJ,WAAW,EAAE,CAAA;CAC/D,MAAMM,SAAS,MAAMV,qBAAqBO,aAAa;EACrD,GAAGC;EACHJ,SAASK;EACX,CAAA;AACAP,kBAAiBQ,OAAOC,SAAQ;AAChC,QAAOD"}