@effect-app/infra 3.0.4 → 3.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/dist/Emailer/service.d.ts +1 -1
  3. package/dist/MainFiberSet.d.ts +1 -1
  4. package/dist/Model/Repository/internal/internal.d.ts.map +1 -1
  5. package/dist/Model/Repository/internal/internal.js +2 -2
  6. package/dist/Model/query/new-kid-interpreter.d.ts +1 -1
  7. package/dist/Operations.d.ts +1 -1
  8. package/dist/QueueMaker/errors.d.ts +1 -1
  9. package/dist/QueueMaker/errors.d.ts.map +1 -1
  10. package/dist/RequestFiberSet.d.ts +1 -1
  11. package/dist/Store/service.d.ts +2 -2
  12. package/dist/adapters/SQL/Model.d.ts +6 -6
  13. package/dist/adapters/ServiceBus.d.ts +2 -2
  14. package/dist/adapters/memQueue.d.ts +1 -1
  15. package/dist/api/routing/middleware/RouterMiddleware.d.ts +2 -3
  16. package/dist/api/routing/middleware/RouterMiddleware.d.ts.map +1 -1
  17. package/dist/api/routing/middleware/middleware.d.ts +5 -5
  18. package/dist/api/routing/middleware/middleware.d.ts.map +1 -1
  19. package/dist/api/routing/middleware/middleware.js +6 -6
  20. package/dist/api/routing.d.ts +2 -2
  21. package/dist/api/routing.d.ts.map +1 -1
  22. package/dist/api/routing.js +2 -2
  23. package/package.json +6 -6
  24. package/src/Model/Repository/internal/internal.ts +1 -2
  25. package/src/api/routing/middleware/RouterMiddleware.ts +2 -3
  26. package/src/api/routing/middleware/middleware.ts +5 -5
  27. package/src/api/routing.ts +5 -5
  28. package/test/controller.test.ts +73 -63
  29. package/test/dist/controller/test2.test.d.ts.map +1 -0
  30. package/test/dist/controller.legacy2.test.d.ts.map +1 -0
  31. package/test/dist/controller.legacy3.test.d.ts.map +1 -0
  32. package/test/dist/controller.test copy.js +129 -0
  33. package/test/dist/controller.test.d.ts.map +1 -1
  34. package/test/dist/controller5.test.d.ts.map +1 -0
  35. package/test/dist/controller6.test.d.ts.map +1 -0
  36. package/test/dist/controller7.test.d.ts.map +1 -0
  37. package/test/dist/dynamicContext.test.d.ts.map +1 -0
  38. package/test/dist/filterApi.test.d.ts.map +1 -0
  39. package/test/dist/fixtures.d.ts +11 -10
  40. package/test/dist/fixtures.d.ts.map +1 -1
  41. package/test/dist/fixtures.js +6 -6
  42. package/test/dist/middleware-api.test.d.ts.map +1 -0
  43. package/test/dist/requires.d.ts +21 -0
  44. package/test/dist/requires.d.ts.map +1 -0
  45. package/test/dist/requires.js +27 -0
  46. package/test/dist/requires.test.d.ts.map +1 -1
  47. package/test/dist/rpc-multi-middleware.test.d.ts.map +1 -1
  48. package/test/fixtures.ts +5 -5
  49. package/test/rawQuery.test.ts +4 -4
  50. package/test/requires.test.ts +6 -5
  51. package/test/rpc-multi-middleware.test.ts +2 -1
  52. package/vitest.config.ts.timestamp-1711656440838-19c636fe320df.mjs +0 -0
  53. package/vitest.config.ts.timestamp-1711724061890-6ecedb0a07fdd.mjs +0 -0
  54. package/vitest.config.ts.timestamp-1711743489537-da8d9e5f66c9f.mjs +0 -0
  55. package/vitest.config.ts.timestamp-1711744615239-dcf257a844e01.mjs +37 -0
  56. package/wallaby.cjs +0 -1
@@ -0,0 +1,27 @@
1
+ import { Array, Either } from "effect-app";
2
+ import { makeMiddleware } from "../src/api/routing.js";
3
+ export const makeNewMiddleware = () => {
4
+ const make = makeMiddleware();
5
+ let capturedMiddlewares = [];
6
+ const it = {
7
+ middleware: (...middlewares) => {
8
+ for (const mw of middlewares) {
9
+ capturedMiddlewares = [mw, ...capturedMiddlewares];
10
+ if (mw.dynamic) {
11
+ console.log("Adding dynamic middleware", mw.key, mw.dynamic.key);
12
+ }
13
+ else {
14
+ console.log("Adding generic middleware", mw.key);
15
+ }
16
+ }
17
+ const [genericMiddlewares, dyn] = Array.partitionMap(capturedMiddlewares, (mw) => "dynamic" in mw && mw.dynamic
18
+ ? Either.right(mw)
19
+ : Either.left(mw));
20
+ const dynamicMiddlewares = dyn.reduce((prev, cur) => ({ ...prev, [cur.dynamic.key]: cur }), {});
21
+ // TODO: support dynamic and generic intertwined. treat them as one
22
+ return Object.assign(make({ genericMiddlewares, dynamicMiddlewares }), it);
23
+ }
24
+ };
25
+ return it;
26
+ };
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWlyZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9yZXF1aXJlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLFlBQVksQ0FBQTtBQUUxQyxPQUFPLEVBQTRELGNBQWMsRUFBNEQsTUFBTSx1QkFBdUIsQ0FBQTtBQWtIMUssTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBRXlCLEdBQUcsRUFBRTtJQUMxRCxNQUFNLElBQUksR0FBRyxjQUFjLEVBQU8sQ0FBQTtJQUNsQyxJQUFJLG1CQUFtQixHQUE2RCxFQUFFLENBQUE7SUFDdEYsTUFBTSxFQUFFLEdBQUc7UUFDVCxVQUFVLEVBQUUsQ0FBQyxHQUFHLFdBQWtCLEVBQUUsRUFBRTtZQUNwQyxLQUFLLE1BQU0sRUFBRSxJQUFJLFdBQVcsRUFBRSxDQUFDO2dCQUM3QixtQkFBbUIsR0FBRyxDQUFDLEVBQUUsRUFBRSxHQUFHLG1CQUFtQixDQUFDLENBQUE7Z0JBQ2xELElBQUksRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDO29CQUNmLE9BQU8sQ0FBQyxHQUFHLENBQUMsMkJBQTJCLEVBQUUsRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFBO2dCQUNsRSxDQUFDO3FCQUFNLENBQUM7b0JBQ04sT0FBTyxDQUFDLEdBQUcsQ0FBQywyQkFBMkIsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUE7Z0JBQ2xELENBQUM7WUFDSCxDQUFDO1lBQ0QsTUFBTSxDQUFDLGtCQUFrQixFQUFFLEdBQUcsQ0FBQyxHQUFHLEtBQUssQ0FBQyxZQUFZLENBQ2xELG1CQUFtQixFQUNuQixDQUFDLEVBQUUsRUFBRSxFQUFFLENBQ0wsU0FBUyxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUMsT0FBTztnQkFDM0IsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBaUMsQ0FBQztnQkFDakQsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBNEIsQ0FBQyxDQUNoRCxDQUFBO1lBQ0QsTUFBTSxrQkFBa0IsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUNuQyxDQUFDLElBQUksRUFBRSxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxHQUFHLElBQUksRUFBRSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsRUFDcEQsRUFBeUIsQ0FDMUIsQ0FBQTtZQUNELG1FQUFtRTtZQUNuRSxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsa0JBQWtCLEVBQUUsa0JBQWtCLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFBO1FBQzVFLENBQUM7S0FDRixDQUFBO0lBQ0QsT0FBTyxFQUFTLENBQUE7QUFDbEIsQ0FBQyxDQUFBIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"requires.test.d.ts","sourceRoot":"","sources":["../requires.test.ts"],"names":[],"mappings":"AAGA,OAAO,EAA2B,KAAK,EAAE,CAAC,EAAE,MAAM,YAAY,CAAA;AAC9D,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAGvE,OAAO,EAAE,cAAc,EAAyC,YAAY,EAAoB,IAAI,EAAE,kBAAkB,EAA0B,cAAc,EAAmC,IAAI,EAAY,MAAM,eAAe,CAAA;;cAG/K,IAAI;;;;AAD7D,qBAAa,sBACX,SAAQ,2BASN;CAEH;AAkBD,eAAO,MAAM,eAAe;;;;;;;;;;SAKK,CAAA"}
1
+ {"version":3,"file":"requires.test.d.ts","sourceRoot":"","sources":["../requires.test.ts"],"names":[],"mappings":"AAGA,OAAO,EAA2B,KAAK,EAAE,CAAC,EAAE,MAAM,YAAY,CAAA;AAC9D,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAGvE,OAAO,EAAE,cAAc,EAAyC,YAAY,EAAoB,IAAI,EAAE,kBAAkB,EAA0B,cAAc,EAAmC,IAAI,EAAY,MAAM,eAAe,CAAA;;cAG9L,IAAI;;;;AAD9C,qBAAa,sBAAuB,SAAQ,2BAY3C;CACA;AAkBD,eAAO,MAAM,eAAe;;;;;;;;;;SAKK,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"rpc-multi-middleware.test.d.ts","sourceRoot":"","sources":["../rpc-multi-middleware.test.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAkD,MAAM,aAAa,CAAA;AAEvF,OAAO,EAA2B,KAAK,EAAE,MAAM,QAAQ,CAAA;AAOvD,OAAO,EAA4M,WAAW,EAAE,MAAM,eAAe,CAAA;AA4CrP,eAAO,MAAM,OAAO,uFAMhB,CAAA;AAiBJ,eAAO,MAAM,YAAY,yKAItB,CAAA;AAEH,eAAO,MAAM,YAAY,+FAgByB,CAAA"}
1
+ {"version":3,"file":"rpc-multi-middleware.test.d.ts","sourceRoot":"","sources":["../rpc-multi-middleware.test.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAkD,MAAM,aAAa,CAAA;AAEvF,OAAO,EAA2B,KAAK,EAAE,MAAM,QAAQ,CAAA;AAQvD,OAAO,EAA4M,WAAW,EAAE,MAAM,eAAe,CAAA;AA4CrP,eAAO,MAAM,OAAO,uFAMhB,CAAA;AAiBJ,eAAO,MAAM,YAAY,yKAItB,CAAA;AAEH,eAAO,MAAM,YAAY,+FAgByB,CAAA"}
package/test/fixtures.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { Context, Effect, Layer, S, Scope } from "effect-app"
2
- import { NotLoggedInError, RPCContextMap, UnauthorizedError } from "effect-app/client"
3
- import { contextMap, getConfig, Tag } from "effect-app/rpc"
2
+ import { NotLoggedInError, UnauthorizedError } from "effect-app/client"
3
+ import { contextMap, getConfig, RpcContextMap, Tag } from "effect-app/rpc"
4
4
  import { TaggedError } from "effect-app/Schema"
5
5
 
6
6
  export class UserProfile extends Context.assignTag<UserProfile, UserProfile>("UserProfile")(
@@ -50,9 +50,9 @@ const requestConfig = getConfig<RequestContextMap>()
50
50
  //
51
51
  // consider if we want to support Context of one Service
52
52
  export const RequestContextMap = {
53
- allowAnonymous: RPCContextMap.makeInverted([UserProfile], NotLoggedInError),
54
- requireRoles: RPCContextMap.makeCustom(null as never, UnauthorizedError, Array<string>()),
55
- test: RPCContextMap.make(null as never, S.Never)
53
+ allowAnonymous: RpcContextMap.makeInverted([UserProfile], NotLoggedInError),
54
+ requireRoles: RpcContextMap.makeCustom(null as never, UnauthorizedError, Array<string>()),
55
+ test: RpcContextMap.make(null as never, S.Never)
56
56
  } as const
57
57
 
58
58
  type _RequestContextMap = typeof RequestContextMap
@@ -137,7 +137,7 @@ describe("select first-level array fields", () => {
137
137
  })
138
138
  .pipe(setupRequestContextFromCurrent())
139
139
 
140
- it("works well in CosmosDB", () =>
140
+ it.skipIf(!process.env["STORAGE_URL"])("works well in CosmosDB", () =>
141
141
  test
142
142
  .pipe(Effect.provide(SomethingRepo.TestCosmos), rt.runPromise))
143
143
 
@@ -232,7 +232,7 @@ describe("filter first-level array fields as groups", () => {
232
232
  })
233
233
  .pipe(setupRequestContextFromCurrent())
234
234
 
235
- it("works well in CosmosDB", () =>
235
+ it.skipIf(!process.env["STORAGE_URL"])("works well in CosmosDB", () =>
236
236
  test
237
237
  .pipe(Effect.provide(SomethingRepo.TestCosmos), rt.runPromise))
238
238
 
@@ -302,7 +302,7 @@ describe("1", () => {
302
302
  })
303
303
  .pipe(setupRequestContextFromCurrent())
304
304
 
305
- it("works well in CosmosDB", () =>
305
+ it.skipIf(!process.env["STORAGE_URL"])("works well in CosmosDB", () =>
306
306
  test
307
307
  .pipe(Effect.provide(SomethingRepo.TestCosmos), rt.runPromise))
308
308
 
@@ -330,7 +330,7 @@ describe("multi-level", () => {
330
330
  })
331
331
  .pipe(setupRequestContextFromCurrent())
332
332
 
333
- it("works well in CosmosDB", () =>
333
+ it.skipIf(!process.env["STORAGE_URL"])("works well in CosmosDB", () =>
334
334
  test
335
335
  .pipe(Effect.provide(SomethingRepo.TestCosmos), rt.runPromise))
336
336
 
@@ -4,11 +4,12 @@ import { describe, expect, expectTypeOf, it } from "@effect/vitest"
4
4
  import { Context, Effect, Either, Layer, S } from "effect-app"
5
5
  import { NotLoggedInError, UnauthorizedError } from "effect-app/client"
6
6
  import { HttpHeaders } from "effect-app/http"
7
- import { makeMiddleware, TagService } from "effect-app/rpc"
7
+ import { makeMiddleware, Tag } from "effect-app/rpc"
8
8
  import { AllowAnonymous, AllowAnonymousLive, RequestContextMap, RequireRoles, RequireRolesLive, Some, SomeElseMiddleware, SomeElseMiddlewareLive, SomeMiddleware, SomeMiddlewareLive, SomeService, Test, TestLive } from "./fixtures.js"
9
9
 
10
- export class RequiresSomeMiddleware
11
- extends TagService<RequiresSomeMiddleware, { requires: Some }>()("RequiresSomeMiddleware", {})({
10
+ export class RequiresSomeMiddleware extends Context.DefineService(
11
+ Tag<RequiresSomeMiddleware, { requires: Some }>()("RequiresSomeMiddleware", {}),
12
+ {
12
13
  effect: Effect.gen(function*() {
13
14
  // yield* Effect.context<"test-dep">()
14
15
  return Effect.fnUntraced(function*(effect) {
@@ -17,8 +18,8 @@ export class RequiresSomeMiddleware
17
18
  return yield* effect
18
19
  })
19
20
  })
20
- })
21
- {
21
+ }
22
+ ) {
22
23
  }
23
24
 
24
25
  const middleware3 = makeMiddleware(RequestContextMap)
@@ -6,7 +6,8 @@ import { Console, Effect, Either, Layer } from "effect"
6
6
  import { S } from "effect-app"
7
7
  import { NotLoggedInError } from "effect-app/client"
8
8
  import { HttpLayerRouter } from "effect-app/http"
9
- import { DefaultGenericMiddlewares, makeMiddleware, middlewareGroup } from "effect-app/rpc"
9
+ import { DefaultGenericMiddlewares } from "effect-app/middleware"
10
+ import { makeMiddleware, middlewareGroup } from "effect-app/rpc"
10
11
  import { createServer } from "http"
11
12
  import { DefaultGenericMiddlewaresLive } from "../src/api/routing.js"
12
13
  import { AllowAnonymous, AllowAnonymousLive, RequestContextMap, RequireRoles, RequireRolesLive, Some, SomeElseMiddleware, SomeElseMiddlewareLive, SomeMiddleware, SomeMiddlewareLive, SomeService, Test, TestLive, UserProfile } from "./fixtures.js"
@@ -0,0 +1,37 @@
1
+ // packages/infra/vitest.config.ts
2
+ import { defineConfig } from "file:///Users/patrickroza/pj/effect-app/libs/node_modules/.pnpm/vite@5.2.6_@types+node@20.11.30/node_modules/vite/dist/node/index.js";
3
+
4
+ // vite.config.base.ts
5
+ import path from "path";
6
+ import fs from "fs";
7
+ var __vite_injected_original_dirname = "/Users/patrickroza/pj/effect-app/libs";
8
+ function makeConfig(dirName) {
9
+ const prefix = path.resolve(__vite_injected_original_dirname, "packages");
10
+ const packages = fs.readdirSync(prefix).map((f) => prefix + "/" + f).filter((f) => fs.lstatSync(f).isDirectory());
11
+ const cfg = {
12
+ // eslint-disable-next-line @typescript-eslint/no-var-requires
13
+ //plugins: [autoImport],
14
+ test: {
15
+ include: ["./test/**/*.test.{js,mjs,cjs,ts,mts,cts,jsx,tsx}"],
16
+ reporters: "verbose",
17
+ globals: true
18
+ },
19
+ resolve: {
20
+ alias: packages.reduce((acc, cur) => {
21
+ acc[JSON.parse(fs.readFileSync(cur + "/package.json", "utf-8")).name] = path.resolve(cur, cur.endsWith("core") ? "dist" : "src");
22
+ return acc;
23
+ }, {})
24
+ // "@effect-app/core/Prelude": path.join(__dirname, "packages/core/src/Prelude.code.ts")
25
+ }
26
+ };
27
+ console.log(cfg);
28
+ return cfg;
29
+ }
30
+
31
+ // packages/infra/vitest.config.ts
32
+ var __vite_injected_original_dirname2 = "/Users/patrickroza/pj/effect-app/libs/packages/infra";
33
+ var vitest_config_default = defineConfig(makeConfig(__vite_injected_original_dirname2));
34
+ export {
35
+ vitest_config_default as default
36
+ };
37
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsicGFja2FnZXMvaW5mcmEvdml0ZXN0LmNvbmZpZy50cyIsICJ2aXRlLmNvbmZpZy5iYXNlLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJjb25zdCBfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfZGlybmFtZSA9IFwiL1VzZXJzL3BhdHJpY2tyb3phL3BqL2VmZmVjdC1hcHAvbGlicy9wYWNrYWdlcy9pbmZyYVwiO2NvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9maWxlbmFtZSA9IFwiL1VzZXJzL3BhdHJpY2tyb3phL3BqL2VmZmVjdC1hcHAvbGlicy9wYWNrYWdlcy9pbmZyYS92aXRlc3QuY29uZmlnLnRzXCI7Y29uc3QgX192aXRlX2luamVjdGVkX29yaWdpbmFsX2ltcG9ydF9tZXRhX3VybCA9IFwiZmlsZTovLy9Vc2Vycy9wYXRyaWNrcm96YS9wai9lZmZlY3QtYXBwL2xpYnMvcGFja2FnZXMvaW5mcmEvdml0ZXN0LmNvbmZpZy50c1wiOy8vLyA8cmVmZXJlbmNlIHR5cGVzPVwidml0ZXN0XCIgLz5cbmltcG9ydCB7IGRlZmluZUNvbmZpZyB9IGZyb20gXCJ2aXRlXCJcbmltcG9ydCBtYWtlQ29uZmlnIGZyb20gXCIuLi8uLi92aXRlLmNvbmZpZy5iYXNlXCJcblxuZXhwb3J0IGRlZmF1bHQgZGVmaW5lQ29uZmlnKG1ha2VDb25maWcoX19kaXJuYW1lKSlcbiIsICJjb25zdCBfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfZGlybmFtZSA9IFwiL1VzZXJzL3BhdHJpY2tyb3phL3BqL2VmZmVjdC1hcHAvbGlic1wiO2NvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9maWxlbmFtZSA9IFwiL1VzZXJzL3BhdHJpY2tyb3phL3BqL2VmZmVjdC1hcHAvbGlicy92aXRlLmNvbmZpZy5iYXNlLnRzXCI7Y29uc3QgX192aXRlX2luamVjdGVkX29yaWdpbmFsX2ltcG9ydF9tZXRhX3VybCA9IFwiZmlsZTovLy9Vc2Vycy9wYXRyaWNrcm96YS9wai9lZmZlY3QtYXBwL2xpYnMvdml0ZS5jb25maWcuYmFzZS50c1wiOy8vLyA8cmVmZXJlbmNlIHR5cGVzPVwidml0ZXN0XCIgLz5cbmltcG9ydCBwYXRoIGZyb20gXCJwYXRoXCJcbmltcG9ydCBmcyBmcm9tIFwiZnNcIlxuaW1wb3J0IEF1dG9JbXBvcnQgZnJvbSBcInVucGx1Z2luLWF1dG8taW1wb3J0L3ZpdGVcIlxuaW1wb3J0IHsgZGVmaW5lQ29uZmlnIH0gZnJvbSBcInZpdGVzdC9jb25maWdcIlxuXG4vLyBjb25zdCBhdXRvSW1wb3J0ID0gQXV0b0ltcG9ydCh7XG4vLyAgIGR0czogXCIuL3Rlc3QvYXV0by1pbXBvcnRzLmQudHNcIixcbi8vICAgLy8gaW5jbHVkZTogW1xuLy8gICAvLyAgIC9cXC50ZXN0XFwuW3RqXXN4PyQvIC8vIC50cywgLnRzeCwgLmpzLCAuanN4XG4vLyAgIC8vIF0sXG4vLyAgIGltcG9ydHM6IFtcbi8vICAgICBcInZpdGVzdFwiXG4vLyAgIF1cbi8vIH0pXG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIG1ha2VDb25maWcoZGlyTmFtZT86IHN0cmluZykge1xuICBjb25zdCBwcmVmaXggPSBwYXRoLnJlc29sdmUoX19kaXJuYW1lLCBcInBhY2thZ2VzXCIpXG4gIGNvbnN0IHBhY2thZ2VzID0gZnMucmVhZGRpclN5bmMocHJlZml4KS5tYXAoZiA9PiBwcmVmaXggKyBcIi9cIiArIGYpLmZpbHRlcihmID0+IGZzLmxzdGF0U3luYyhmKS5pc0RpcmVjdG9yeSgpIClcbiAgY29uc3QgY2ZnID0ge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdmFyLXJlcXVpcmVzXG4gICAgLy9wbHVnaW5zOiBbYXV0b0ltcG9ydF0sXG4gICAgdGVzdDoge1xuICAgICAgaW5jbHVkZTogIFtcIi4vdGVzdC8qKi8qLnRlc3Que2pzLG1qcyxjanMsdHMsbXRzLGN0cyxqc3gsdHN4fVwiXSxcbiAgICAgIHJlcG9ydGVyczogXCJ2ZXJib3NlXCIsXG4gICAgICBnbG9iYWxzOiB0cnVlXG4gICAgfSxcbiAgICByZXNvbHZlOiB7XG4gICAgICBhbGlhczogcGFja2FnZXMucmVkdWNlKChhY2MsIGN1cikgPT4geyAvLyB3b3JrYXJvdW5kIGZvciAvUHJlbHVkZSBpc3N1ZVxuICAgICAgYWNjW0pTT04ucGFyc2UoZnMucmVhZEZpbGVTeW5jKGN1ciArIFwiL3BhY2thZ2UuanNvblwiLCBcInV0Zi04XCIpKS5uYW1lXSA9IHBhdGgucmVzb2x2ZShjdXIsIGN1ci5lbmRzV2l0aChcImNvcmVcIikgPyBcImRpc3RcIiA6IFwic3JjXCIpXG4gICAgICByZXR1cm4gYWNjXG4gICAgfSwgeyB9KSAvLyBcIkBlZmZlY3QtYXBwL2NvcmUvUHJlbHVkZVwiOiBwYXRoLmpvaW4oX19kaXJuYW1lLCBcInBhY2thZ2VzL2NvcmUvc3JjL1ByZWx1ZGUuY29kZS50c1wiKVxuICB9XG4gIH1cbiAgY29uc29sZS5sb2coY2ZnKVxuICByZXR1cm4gY2ZnXG59XG4iXSwKICAibWFwcGluZ3MiOiAiO0FBQ0EsU0FBUyxvQkFBb0I7OztBQ0E3QixPQUFPLFVBQVU7QUFDakIsT0FBTyxRQUFRO0FBRmYsSUFBTSxtQ0FBbUM7QUFnQjFCLFNBQVIsV0FBNEIsU0FBa0I7QUFDbkQsUUFBTSxTQUFTLEtBQUssUUFBUSxrQ0FBVyxVQUFVO0FBQ2pELFFBQU0sV0FBVyxHQUFHLFlBQVksTUFBTSxFQUFFLElBQUksT0FBSyxTQUFTLE1BQU0sQ0FBQyxFQUFFLE9BQU8sT0FBSyxHQUFHLFVBQVUsQ0FBQyxFQUFFLFlBQVksQ0FBRTtBQUM3RyxRQUFNLE1BQU07QUFBQTtBQUFBO0FBQUEsSUFHVixNQUFNO0FBQUEsTUFDSixTQUFVLENBQUMsa0RBQWtEO0FBQUEsTUFDN0QsV0FBVztBQUFBLE1BQ1gsU0FBUztBQUFBLElBQ1g7QUFBQSxJQUNBLFNBQVM7QUFBQSxNQUNQLE9BQU8sU0FBUyxPQUFPLENBQUMsS0FBSyxRQUFRO0FBQ3JDLFlBQUksS0FBSyxNQUFNLEdBQUcsYUFBYSxNQUFNLGlCQUFpQixPQUFPLENBQUMsRUFBRSxJQUFJLElBQUksS0FBSyxRQUFRLEtBQUssSUFBSSxTQUFTLE1BQU0sSUFBSSxTQUFTLEtBQUs7QUFDL0gsZUFBTztBQUFBLE1BQ1QsR0FBRyxDQUFFLENBQUM7QUFBQTtBQUFBLElBQ1I7QUFBQSxFQUNBO0FBQ0EsVUFBUSxJQUFJLEdBQUc7QUFDZixTQUFPO0FBQ1Q7OztBRHBDQSxJQUFNQSxvQ0FBbUM7QUFJekMsSUFBTyx3QkFBUSxhQUFhLFdBQVdDLGlDQUFTLENBQUM7IiwKICAibmFtZXMiOiBbIl9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9kaXJuYW1lIiwgIl9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9kaXJuYW1lIl0KfQo=
package/wallaby.cjs DELETED
@@ -1 +0,0 @@
1
- module.exports = require("../../wallaby.base.cjs")