hexok 1.0.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.
- package/dist/app/api-use-case.d.ts +52 -0
- package/dist/app/api-use-case.d.ts.map +1 -0
- package/dist/app/api-use-case.js +59 -0
- package/dist/app/api-use-case.js.map +1 -0
- package/dist/app/callable-use-case.d.ts +34 -0
- package/dist/app/callable-use-case.d.ts.map +1 -0
- package/dist/app/callable-use-case.js +41 -0
- package/dist/app/callable-use-case.js.map +1 -0
- package/dist/app/contract.d.ts +46 -0
- package/dist/app/contract.d.ts.map +1 -0
- package/dist/app/contract.js +28 -0
- package/dist/app/contract.js.map +1 -0
- package/dist/app/error-factory.d.ts +9 -0
- package/dist/app/error-factory.d.ts.map +1 -0
- package/dist/app/error-factory.js +30 -0
- package/dist/app/error-factory.js.map +1 -0
- package/dist/app/event-channel.d.ts +133 -0
- package/dist/app/event-channel.d.ts.map +1 -0
- package/dist/app/event-channel.js +49 -0
- package/dist/app/event-channel.js.map +1 -0
- package/dist/app/event-use-case.d.ts +47 -0
- package/dist/app/event-use-case.d.ts.map +1 -0
- package/dist/app/event-use-case.js +54 -0
- package/dist/app/event-use-case.js.map +1 -0
- package/dist/app/execute-ctx.d.ts +92 -0
- package/dist/app/execute-ctx.d.ts.map +1 -0
- package/dist/app/execute-ctx.js +2 -0
- package/dist/app/execute-ctx.js.map +1 -0
- package/dist/app/external-use-case.d.ts +25 -0
- package/dist/app/external-use-case.d.ts.map +1 -0
- package/dist/app/external-use-case.js +25 -0
- package/dist/app/external-use-case.js.map +1 -0
- package/dist/app/index.d.ts +9 -0
- package/dist/app/index.d.ts.map +1 -0
- package/dist/app/index.js +8 -0
- package/dist/app/index.js.map +1 -0
- package/dist/app/internal-use-case.d.ts +26 -0
- package/dist/app/internal-use-case.d.ts.map +1 -0
- package/dist/app/internal-use-case.js +26 -0
- package/dist/app/internal-use-case.js.map +1 -0
- package/dist/app/nest.d.ts +9 -0
- package/dist/app/nest.d.ts.map +1 -0
- package/dist/app/nest.js +28 -0
- package/dist/app/nest.js.map +1 -0
- package/dist/app/types.d.ts +153 -0
- package/dist/app/types.d.ts.map +1 -0
- package/dist/app/types.js +17 -0
- package/dist/app/types.js.map +1 -0
- package/dist/core/coded-error.d.ts +24 -0
- package/dist/core/coded-error.d.ts.map +1 -0
- package/dist/core/coded-error.js +32 -0
- package/dist/core/coded-error.js.map +1 -0
- package/dist/core/error-map.d.ts +21 -0
- package/dist/core/error-map.d.ts.map +1 -0
- package/dist/core/error-map.js +5 -0
- package/dist/core/error-map.js.map +1 -0
- package/dist/core/index.d.ts +6 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/index.js +5 -0
- package/dist/core/index.js.map +1 -0
- package/dist/core/result.d.ts +23 -0
- package/dist/core/result.d.ts.map +1 -0
- package/dist/core/result.js +11 -0
- package/dist/core/result.js.map +1 -0
- package/dist/core/schema.d.ts +19 -0
- package/dist/core/schema.d.ts.map +1 -0
- package/dist/core/schema.js +28 -0
- package/dist/core/schema.js.map +1 -0
- package/dist/core/standard-schema.d.ts +51 -0
- package/dist/core/standard-schema.d.ts.map +1 -0
- package/dist/core/standard-schema.js +2 -0
- package/dist/core/standard-schema.js.map +1 -0
- package/dist/domain/capabilities.d.ts +42 -0
- package/dist/domain/capabilities.d.ts.map +1 -0
- package/dist/domain/capabilities.js +2 -0
- package/dist/domain/capabilities.js.map +1 -0
- package/dist/domain/catalog.d.ts +46 -0
- package/dist/domain/catalog.d.ts.map +1 -0
- package/dist/domain/catalog.js +114 -0
- package/dist/domain/catalog.js.map +1 -0
- package/dist/domain/channel.d.ts +36 -0
- package/dist/domain/channel.d.ts.map +1 -0
- package/dist/domain/channel.js +2 -0
- package/dist/domain/channel.js.map +1 -0
- package/dist/domain/cow-draft.d.ts +10 -0
- package/dist/domain/cow-draft.d.ts.map +1 -0
- package/dist/domain/cow-draft.js +147 -0
- package/dist/domain/cow-draft.js.map +1 -0
- package/dist/domain/entity.d.ts +120 -0
- package/dist/domain/entity.d.ts.map +1 -0
- package/dist/domain/entity.js +263 -0
- package/dist/domain/entity.js.map +1 -0
- package/dist/domain/envelope.d.ts +59 -0
- package/dist/domain/envelope.d.ts.map +1 -0
- package/dist/domain/envelope.js +2 -0
- package/dist/domain/envelope.js.map +1 -0
- package/dist/domain/event.d.ts +44 -0
- package/dist/domain/event.d.ts.map +1 -0
- package/dist/domain/event.js +21 -0
- package/dist/domain/event.js.map +1 -0
- package/dist/domain/index.d.ts +8 -0
- package/dist/domain/index.d.ts.map +1 -0
- package/dist/domain/index.js +5 -0
- package/dist/domain/index.js.map +1 -0
- package/dist/domain/port.d.ts +45 -0
- package/dist/domain/port.d.ts.map +1 -0
- package/dist/domain/port.js +41 -0
- package/dist/domain/port.js.map +1 -0
- package/dist/infra/adapter.d.ts +22 -0
- package/dist/infra/adapter.d.ts.map +1 -0
- package/dist/infra/adapter.js +18 -0
- package/dist/infra/adapter.js.map +1 -0
- package/dist/infra/index.d.ts +3 -0
- package/dist/infra/index.d.ts.map +1 -0
- package/dist/infra/index.js +3 -0
- package/dist/infra/index.js.map +1 -0
- package/dist/infra/mapper.d.ts +48 -0
- package/dist/infra/mapper.d.ts.map +1 -0
- package/dist/infra/mapper.js +77 -0
- package/dist/infra/mapper.js.map +1 -0
- package/dist/runtime/app.d.ts +100 -0
- package/dist/runtime/app.d.ts.map +1 -0
- package/dist/runtime/app.js +292 -0
- package/dist/runtime/app.js.map +1 -0
- package/dist/runtime/channel.d.ts +34 -0
- package/dist/runtime/channel.d.ts.map +1 -0
- package/dist/runtime/channel.js +110 -0
- package/dist/runtime/channel.js.map +1 -0
- package/dist/runtime/client.d.ts +21 -0
- package/dist/runtime/client.d.ts.map +1 -0
- package/dist/runtime/client.js +2 -0
- package/dist/runtime/client.js.map +1 -0
- package/dist/runtime/completeness.d.ts +89 -0
- package/dist/runtime/completeness.d.ts.map +1 -0
- package/dist/runtime/completeness.js +2 -0
- package/dist/runtime/completeness.js.map +1 -0
- package/dist/runtime/envelope.d.ts +7 -0
- package/dist/runtime/envelope.d.ts.map +1 -0
- package/dist/runtime/envelope.js +69 -0
- package/dist/runtime/envelope.js.map +1 -0
- package/dist/runtime/events.d.ts +6 -0
- package/dist/runtime/events.d.ts.map +1 -0
- package/dist/runtime/events.js +48 -0
- package/dist/runtime/events.js.map +1 -0
- package/dist/runtime/http-status.d.ts +3 -0
- package/dist/runtime/http-status.d.ts.map +1 -0
- package/dist/runtime/http-status.js +11 -0
- package/dist/runtime/http-status.js.map +1 -0
- package/dist/runtime/http.d.ts +4 -0
- package/dist/runtime/http.d.ts.map +1 -0
- package/dist/runtime/http.js +58 -0
- package/dist/runtime/http.js.map +1 -0
- package/dist/runtime/index.d.ts +10 -0
- package/dist/runtime/index.d.ts.map +1 -0
- package/dist/runtime/index.js +6 -0
- package/dist/runtime/index.js.map +1 -0
- package/dist/runtime/interceptor.d.ts +61 -0
- package/dist/runtime/interceptor.d.ts.map +1 -0
- package/dist/runtime/interceptor.js +7 -0
- package/dist/runtime/interceptor.js.map +1 -0
- package/dist/runtime/invoke.d.ts +34 -0
- package/dist/runtime/invoke.d.ts.map +1 -0
- package/dist/runtime/invoke.js +235 -0
- package/dist/runtime/invoke.js.map +1 -0
- package/dist/runtime/middleware.d.ts +20 -0
- package/dist/runtime/middleware.d.ts.map +1 -0
- package/dist/runtime/middleware.js +2 -0
- package/dist/runtime/middleware.js.map +1 -0
- package/dist/runtime/rpc.d.ts +24 -0
- package/dist/runtime/rpc.d.ts.map +1 -0
- package/dist/runtime/rpc.js +16 -0
- package/dist/runtime/rpc.js.map +1 -0
- package/dist/testing/app-test.d.ts +77 -0
- package/dist/testing/app-test.d.ts.map +1 -0
- package/dist/testing/app-test.js +109 -0
- package/dist/testing/app-test.js.map +1 -0
- package/dist/testing/in-memory-broker.d.ts +18 -0
- package/dist/testing/in-memory-broker.d.ts.map +1 -0
- package/dist/testing/in-memory-broker.js +42 -0
- package/dist/testing/in-memory-broker.js.map +1 -0
- package/dist/testing/in-memory-bus.d.ts +19 -0
- package/dist/testing/in-memory-bus.d.ts.map +1 -0
- package/dist/testing/in-memory-bus.js +31 -0
- package/dist/testing/in-memory-bus.js.map +1 -0
- package/dist/testing/in-memory-channel.d.ts +32 -0
- package/dist/testing/in-memory-channel.d.ts.map +1 -0
- package/dist/testing/in-memory-channel.js +65 -0
- package/dist/testing/in-memory-channel.js.map +1 -0
- package/dist/testing/in-memory-queue.d.ts +24 -0
- package/dist/testing/in-memory-queue.d.ts.map +1 -0
- package/dist/testing/in-memory-queue.js +66 -0
- package/dist/testing/in-memory-queue.js.map +1 -0
- package/dist/testing/in-memory-repository.d.ts +44 -0
- package/dist/testing/in-memory-repository.d.ts.map +1 -0
- package/dist/testing/in-memory-repository.js +60 -0
- package/dist/testing/in-memory-repository.js.map +1 -0
- package/dist/testing/index.d.ts +6 -0
- package/dist/testing/index.d.ts.map +1 -0
- package/dist/testing/index.js +6 -0
- package/dist/testing/index.js.map +1 -0
- package/package.json +60 -0
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import type { CrudRepository, Entity, PortToken } from '../domain/index.js';
|
|
2
|
+
type CrudKeys = 'get' | 'save' | 'list' | 'delete';
|
|
3
|
+
type ExtraKeys<I> = Exclude<keyof I, CrudKeys | 'bindTo' | 'fork'>;
|
|
4
|
+
type ExtraOption<I> = [ExtraKeys<I>] extends [never] ? unknown : {
|
|
5
|
+
extra: Pick<I, ExtraKeys<I>>;
|
|
6
|
+
};
|
|
7
|
+
type RepoEntity<I> = I extends {
|
|
8
|
+
get: (id: string) => Promise<infer E>;
|
|
9
|
+
} ? NonNullable<E> : Entity<Record<string, unknown>>;
|
|
10
|
+
type EntityKey<E> = E extends {
|
|
11
|
+
toProps(): infer P;
|
|
12
|
+
} ? P extends object ? keyof P & string : string : string;
|
|
13
|
+
type AssertCrud<I> = 'get' | 'save' extends keyof I ? I : `hexok: InMemoryRepository.of expects a CRUD repository port`;
|
|
14
|
+
/**
|
|
15
|
+
* In-memory fake for the standard CRUD port `{ get, save, list, delete }`.
|
|
16
|
+
* Clones on get/save so tests do not mutate the store by accident.
|
|
17
|
+
*
|
|
18
|
+
* ```ts
|
|
19
|
+
* .provide(IncidentRepository, InMemoryRepository.of(IncidentRepository, {
|
|
20
|
+
* keyBy: 'id',
|
|
21
|
+
* seed: [Incident.open('1')],
|
|
22
|
+
* }))
|
|
23
|
+
* ```
|
|
24
|
+
*/
|
|
25
|
+
export declare class InMemoryRepository<E extends Entity<Record<string, unknown>>> implements CrudRepository<E> {
|
|
26
|
+
#private;
|
|
27
|
+
private constructor();
|
|
28
|
+
/** Fake a CRUD port. Extra methods beyond get/save/list/delete go in `extra`. */
|
|
29
|
+
static of<I>(_token: [AssertCrud<I>] extends [I] ? PortToken<I> : AssertCrud<I>, options: {
|
|
30
|
+
keyBy: EntityKey<RepoEntity<I>>;
|
|
31
|
+
seed?: RepoEntity<I>[];
|
|
32
|
+
} & ExtraOption<I>): I;
|
|
33
|
+
/** Clone of the stored entity, or `null`. */
|
|
34
|
+
get(id: string): Promise<E | null>;
|
|
35
|
+
/** Clone into the store and `commit()` the working entity. */
|
|
36
|
+
save(entity: E): Promise<void>;
|
|
37
|
+
/** Clones of every stored entity. */
|
|
38
|
+
list(): Promise<E[]>;
|
|
39
|
+
/** Remove by id. No-op if missing. */
|
|
40
|
+
delete(id: string): Promise<void>;
|
|
41
|
+
private keyOf;
|
|
42
|
+
}
|
|
43
|
+
export {};
|
|
44
|
+
//# sourceMappingURL=in-memory-repository.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"in-memory-repository.d.ts","sourceRoot":"","sources":["../../src/testing/in-memory-repository.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,MAAM,EAEN,SAAS,EACV,MAAM,oBAAoB,CAAC;AAE5B,KAAK,QAAQ,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,QAAQ,CAAC;AAEnD,KAAK,SAAS,CAAC,CAAC,IAAI,OAAO,CAAC,MAAM,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,MAAM,CAAC,CAAC;AAEnE,KAAK,WAAW,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,GAChD,OAAO,GACP;IAAE,KAAK,EAAE,IAAI,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAA;CAAE,CAAC;AAErC,KAAK,UAAU,CAAC,CAAC,IAAI,CAAC,SAAS;IAC7B,GAAG,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;CACvC,GACG,WAAW,CAAC,CAAC,CAAC,GACd,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;AAEpC,KAAK,SAAS,CAAC,CAAC,IAAI,CAAC,SAAS;IAAE,OAAO,IAAI,MAAM,CAAC,CAAA;CAAE,GAChD,CAAC,SAAS,MAAM,GACd,MAAM,CAAC,GAAG,MAAM,GAChB,MAAM,GACR,MAAM,CAAC;AAEX,KAAK,UAAU,CAAC,CAAC,IAAI,KAAK,GAAG,MAAM,SAAS,MAAM,CAAC,GAC/C,CAAC,GACD,6DAA6D,CAAC;AAElE;;;;;;;;;;GAUG;AACH,qBAAa,kBAAkB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CACvE,YAAW,cAAc,CAAC,CAAC,CAAC;;IAK5B,OAAO;IAOP,iFAAiF;IACjF,MAAM,CAAC,EAAE,CAAC,CAAC,EACT,MAAM,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,EAClE,OAAO,EAAE;QACP,KAAK,EAAE,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;QAChC,IAAI,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;KACxB,GAAG,WAAW,CAAC,CAAC,CAAC,GACjB,CAAC;IAWJ,6CAA6C;IACvC,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;IAKxC,8DAA8D;IACxD,IAAI,CAAC,MAAM,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAKpC,qCAAqC;IAC/B,IAAI,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC;IAI1B,sCAAsC;IAChC,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIvC,OAAO,CAAC,KAAK;CAUd"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* In-memory fake for the standard CRUD port `{ get, save, list, delete }`.
|
|
3
|
+
* Clones on get/save so tests do not mutate the store by accident.
|
|
4
|
+
*
|
|
5
|
+
* ```ts
|
|
6
|
+
* .provide(IncidentRepository, InMemoryRepository.of(IncidentRepository, {
|
|
7
|
+
* keyBy: 'id',
|
|
8
|
+
* seed: [Incident.open('1')],
|
|
9
|
+
* }))
|
|
10
|
+
* ```
|
|
11
|
+
*/
|
|
12
|
+
export class InMemoryRepository {
|
|
13
|
+
#keyBy;
|
|
14
|
+
#store = new Map();
|
|
15
|
+
constructor(keyBy, seed) {
|
|
16
|
+
this.#keyBy = keyBy;
|
|
17
|
+
for (const entity of seed) {
|
|
18
|
+
this.#store.set(this.keyOf(entity), cloneEntity(entity));
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
/** Fake a CRUD port. Extra methods beyond get/save/list/delete go in `extra`. */
|
|
22
|
+
static of(_token, options) {
|
|
23
|
+
const repo = new InMemoryRepository(options.keyBy, (options.seed ?? []));
|
|
24
|
+
if ('extra' in options && options.extra !== undefined) {
|
|
25
|
+
return Object.assign(repo, options.extra);
|
|
26
|
+
}
|
|
27
|
+
return repo;
|
|
28
|
+
}
|
|
29
|
+
/** Clone of the stored entity, or `null`. */
|
|
30
|
+
async get(id) {
|
|
31
|
+
const found = this.#store.get(id);
|
|
32
|
+
return found ? cloneEntity(found) : null;
|
|
33
|
+
}
|
|
34
|
+
/** Clone into the store and `commit()` the working entity. */
|
|
35
|
+
async save(entity) {
|
|
36
|
+
this.#store.set(this.keyOf(entity), cloneEntity(entity));
|
|
37
|
+
entity.commit();
|
|
38
|
+
}
|
|
39
|
+
/** Clones of every stored entity. */
|
|
40
|
+
async list() {
|
|
41
|
+
return [...this.#store.values()].map((entity) => cloneEntity(entity));
|
|
42
|
+
}
|
|
43
|
+
/** Remove by id. No-op if missing. */
|
|
44
|
+
async delete(id) {
|
|
45
|
+
this.#store.delete(id);
|
|
46
|
+
}
|
|
47
|
+
keyOf(entity) {
|
|
48
|
+
const props = entity.toProps();
|
|
49
|
+
const key = props[this.#keyBy];
|
|
50
|
+
if (typeof key !== 'string') {
|
|
51
|
+
throw new Error(`hexok: InMemoryRepository keyBy "${this.#keyBy}" is not a string`);
|
|
52
|
+
}
|
|
53
|
+
return key;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
function cloneEntity(entity) {
|
|
57
|
+
const Ctor = entity.constructor;
|
|
58
|
+
return Ctor.restore(entity.toProps());
|
|
59
|
+
}
|
|
60
|
+
//# sourceMappingURL=in-memory-repository.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"in-memory-repository.js","sourceRoot":"","sources":["../../src/testing/in-memory-repository.ts"],"names":[],"mappings":"AA+BA;;;;;;;;;;GAUG;AACH,MAAM,OAAO,kBAAkB;IAGpB,MAAM,CAAS;IACf,MAAM,GAAG,IAAI,GAAG,EAAa,CAAC;IAEvC,YAAoB,KAAa,EAAE,IAAS;QAC1C,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,KAAK,MAAM,MAAM,IAAI,IAAI,EAAE,CAAC;YAC1B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;QAC3D,CAAC;IACH,CAAC;IAED,iFAAiF;IACjF,MAAM,CAAC,EAAE,CACP,MAAkE,EAClE,OAGkB;QAElB,MAAM,IAAI,GAAG,IAAI,kBAAkB,CACjC,OAAO,CAAC,KAAK,EACb,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,CAAsC,CAC1D,CAAC;QACF,IAAI,OAAO,IAAI,OAAO,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YACtD,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,KAAK,CAAiB,CAAC;QAC5D,CAAC;QACD,OAAO,IAAoB,CAAC;IAC9B,CAAC;IAED,6CAA6C;IAC7C,KAAK,CAAC,GAAG,CAAC,EAAU;QAClB,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAClC,OAAO,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC3C,CAAC;IAED,8DAA8D;IAC9D,KAAK,CAAC,IAAI,CAAC,MAAS;QAClB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;QACzD,MAAM,CAAC,MAAM,EAAE,CAAC;IAClB,CAAC;IAED,qCAAqC;IACrC,KAAK,CAAC,IAAI;QACR,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;IACxE,CAAC;IAED,sCAAsC;IACtC,KAAK,CAAC,MAAM,CAAC,EAAU;QACrB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACzB,CAAC;IAEO,KAAK,CAAC,MAAS;QACrB,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,EAA6B,CAAC;QAC1D,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC/B,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CACb,oCAAoC,IAAI,CAAC,MAAM,mBAAmB,CACnE,CAAC;QACJ,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;CACF;AAED,SAAS,WAAW,CAA4C,MAAS;IACvE,MAAM,IAAI,GAAG,MAAM,CAAC,WAEnB,CAAC;IACF,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;AACxC,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export { App, TestAppBuilder, type TestAppInstance } from './app-test.js';
|
|
2
|
+
export { InMemoryBus } from './in-memory-bus.js';
|
|
3
|
+
export { InMemoryChannel } from './in-memory-channel.js';
|
|
4
|
+
export { InMemoryQueue } from './in-memory-queue.js';
|
|
5
|
+
export { InMemoryRepository } from './in-memory-repository.js';
|
|
6
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/testing/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,cAAc,EAAE,KAAK,eAAe,EAAE,MAAM,eAAe,CAAC;AAC1E,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export { App, TestAppBuilder } from './app-test.js';
|
|
2
|
+
export { InMemoryBus } from './in-memory-bus.js';
|
|
3
|
+
export { InMemoryChannel } from './in-memory-channel.js';
|
|
4
|
+
export { InMemoryQueue } from './in-memory-queue.js';
|
|
5
|
+
export { InMemoryRepository } from './in-memory-repository.js';
|
|
6
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/testing/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,cAAc,EAAwB,MAAM,eAAe,CAAC;AAC1E,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC"}
|
package/package.json
ADDED
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "hexok",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "A TypeScript kit for writing a clean-architecture backend as ordinary classes.",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"license": "MIT",
|
|
7
|
+
"sideEffects": false,
|
|
8
|
+
"repository": {
|
|
9
|
+
"type": "git",
|
|
10
|
+
"url": "git+https://github.com/crobinson42/hexok.git",
|
|
11
|
+
"directory": "packages/hexok"
|
|
12
|
+
},
|
|
13
|
+
"homepage": "https://github.com/crobinson42/hexok#readme",
|
|
14
|
+
"bugs": {
|
|
15
|
+
"url": "https://github.com/crobinson42/hexok/issues"
|
|
16
|
+
},
|
|
17
|
+
"publishConfig": {
|
|
18
|
+
"access": "public"
|
|
19
|
+
},
|
|
20
|
+
"exports": {
|
|
21
|
+
"./core": {
|
|
22
|
+
"types": "./dist/core/index.d.ts",
|
|
23
|
+
"import": "./dist/core/index.js"
|
|
24
|
+
},
|
|
25
|
+
"./domain": {
|
|
26
|
+
"types": "./dist/domain/index.d.ts",
|
|
27
|
+
"import": "./dist/domain/index.js"
|
|
28
|
+
},
|
|
29
|
+
"./app": {
|
|
30
|
+
"types": "./dist/app/index.d.ts",
|
|
31
|
+
"import": "./dist/app/index.js"
|
|
32
|
+
},
|
|
33
|
+
"./infra": {
|
|
34
|
+
"types": "./dist/infra/index.d.ts",
|
|
35
|
+
"import": "./dist/infra/index.js"
|
|
36
|
+
},
|
|
37
|
+
"./runtime": {
|
|
38
|
+
"types": "./dist/runtime/index.d.ts",
|
|
39
|
+
"import": "./dist/runtime/index.js"
|
|
40
|
+
},
|
|
41
|
+
"./testing": {
|
|
42
|
+
"types": "./dist/testing/index.d.ts",
|
|
43
|
+
"import": "./dist/testing/index.js"
|
|
44
|
+
},
|
|
45
|
+
"./package.json": "./package.json"
|
|
46
|
+
},
|
|
47
|
+
"files": [
|
|
48
|
+
"dist"
|
|
49
|
+
],
|
|
50
|
+
"scripts": {
|
|
51
|
+
"build": "tsc -b",
|
|
52
|
+
"test": "vitest run",
|
|
53
|
+
"type-check": "tsc --noEmit -p tsconfig.check.json",
|
|
54
|
+
"lint": "biome check .",
|
|
55
|
+
"clean": "rm -rf dist *.tsbuildinfo"
|
|
56
|
+
},
|
|
57
|
+
"devDependencies": {
|
|
58
|
+
"zod": "^4.1.5"
|
|
59
|
+
}
|
|
60
|
+
}
|