@event-driven-io/emmett 0.10.0 → 0.11.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/{chunk-T44377V3.js → chunk-7ZSJY377.js} +2 -2
- package/dist/{chunk-NBYRSAVT.mjs → chunk-EYIJ7ZKY.mjs} +2 -2
- package/dist/{chunk-4LWGKY3J.js → chunk-G6LPI3PA.js} +2 -2
- package/dist/chunk-N6X7QWHP.mjs +2 -0
- package/dist/chunk-N6X7QWHP.mjs.map +1 -0
- package/dist/{chunk-7JNETS5J.js → chunk-OIDX2JMH.js} +2 -2
- package/dist/{chunk-RNVC3XMR.mjs → chunk-TKIRQ76T.mjs} +2 -2
- package/dist/chunk-TNX525X5.js +2 -0
- package/dist/chunk-TNX525X5.js.map +1 -0
- package/dist/{chunk-WQKN6JXB.js → chunk-VCCKNYOY.js} +4 -4
- package/dist/chunk-VCCKNYOY.js.map +1 -0
- package/dist/{chunk-OLRYVGRO.mjs → chunk-ZFBWMZ55.mjs} +4 -4
- package/dist/chunk-ZFBWMZ55.mjs.map +1 -0
- package/dist/{chunk-QI3RQAAN.mjs → chunk-ZV7YVTI7.mjs} +2 -2
- package/dist/index.d.mts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/index.mjs +1 -1
- package/dist/streaming/decoders/composite.js +1 -1
- package/dist/streaming/decoders/composite.mjs +1 -1
- package/dist/streaming/decoders/index.js +1 -1
- package/dist/streaming/decoders/index.mjs +1 -1
- package/dist/streaming/index.js +1 -1
- package/dist/streaming/index.mjs +1 -1
- package/dist/streaming/restream.js +1 -1
- package/dist/streaming/restream.mjs +1 -1
- package/dist/testing/assertions.js +1 -1
- package/dist/testing/assertions.mjs +1 -1
- package/dist/testing/deciderSpecification.js +1 -1
- package/dist/testing/deciderSpecification.mjs +1 -1
- package/dist/testing/features.js +1 -1
- package/dist/testing/features.mjs +1 -1
- package/dist/testing/index.d.mts +2 -1
- package/dist/testing/index.d.ts +2 -1
- package/dist/testing/index.js +1 -1
- package/dist/testing/index.mjs +1 -1
- package/dist/testing/wrapEventStore.d.mts +19 -0
- package/dist/testing/wrapEventStore.d.ts +19 -0
- package/dist/testing/wrapEventStore.js +2 -0
- package/dist/testing/wrapEventStore.js.map +1 -0
- package/dist/testing/wrapEventStore.mjs +2 -0
- package/dist/testing/wrapEventStore.mjs.map +1 -0
- package/dist/utils/index.js +1 -1
- package/dist/utils/index.mjs +1 -1
- package/package.json +1 -1
- package/dist/chunk-OLRYVGRO.mjs.map +0 -1
- package/dist/chunk-WQKN6JXB.js.map +0 -1
- /package/dist/{chunk-T44377V3.js.map → chunk-7ZSJY377.js.map} +0 -0
- /package/dist/{chunk-NBYRSAVT.mjs.map → chunk-EYIJ7ZKY.mjs.map} +0 -0
- /package/dist/{chunk-4LWGKY3J.js.map → chunk-G6LPI3PA.js.map} +0 -0
- /package/dist/{chunk-7JNETS5J.js.map → chunk-OIDX2JMH.js.map} +0 -0
- /package/dist/{chunk-RNVC3XMR.mjs.map → chunk-TKIRQ76T.mjs.map} +0 -0
- /package/dist/{chunk-QI3RQAAN.mjs.map → chunk-ZV7YVTI7.mjs.map} +0 -0
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }var
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }var _chunkG6LPI3PAjs = require('./chunk-G6LPI3PA.js');var _asyncretry = require('async-retry'); var _asyncretry2 = _interopRequireDefault(_asyncretry);var _webstreamspolyfill = require('web-streams-polyfill');var b=(t,o=r=>r,a={forever:!0,minTimeout:25},e=new _chunkG6LPI3PAjs.b)=>new (0, _webstreamspolyfill.TransformStream)({start(r){_asyncretry2.default.call(void 0, ()=>u(t,r,o,e),a).catch(n=>{r.error(n)})}}).readable,u=async(t,o,a,e)=>{let n=t().getReader();try{let m;do m=await S(n,o,a,e);while(!m)}finally{n.releaseLock()}},S=async(t,o,a,e)=>{let{done:r,value:n}=await t.read();return n&&e.addToBuffer(n),!r&&!e.hasCompleteMessage()?!1:(f(e,a,o),r&&o.terminate(),r)},f=(t,o,a)=>{try{let e=t.decode();if(!e)return;let r=o(e);a.enqueue(r)}catch(e){a.error(new Error(`Decoding error: ${_optionalChain([e, 'optionalAccess', _ => _.toString, 'call', _2 => _2()])}`))}};exports.a = b;
|
|
2
|
+
//# sourceMappingURL=chunk-7ZSJY377.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as i,e as E,i as t}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as i,e as E,i as t}from"./chunk-ZFBWMZ55.mjs";import{j as s}from"./chunk-KLLSLLHN.mjs";var y={for:o=>n=>({when:c=>{let a=()=>{let r=(Array.isArray(n)?n:[n]).reduce(o.evolve,o.initialState());return o.decide(c,r)};return{then:e=>{let r=a(),d=Array.isArray(r)?r:[r],h=Array.isArray(e)?e:[e];E(d,h)},thenThrows:(...e)=>{try{throw a(),new i("Handler did not fail as expected")}catch(r){if(r instanceof i)throw r;if(e.length===0)return;if(!s(e[0])){t(e[0](r),`Error didn't match the error condition: ${r?.toString()}`);return}t(r instanceof e[0],`Caught error is not an instance of the expected type: ${r?.toString()}`),e[1]&&t(e[1](r),`Error didn't match the error condition: ${r?.toString()}`)}}}}})};export{y as a};
|
|
2
|
+
//# sourceMappingURL=chunk-EYIJ7ZKY.mjs.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }var
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }var _chunk2E7KSKKIjs = require('./chunk-2E7KSKKI.js');var _chunk5JZKD7CBjs = require('./chunk-5JZKD7CB.js');var _chunkZIBX4FPGjs = require('./chunk-ZIBX4FPG.js');var d=class{constructor(e){this.decoders=e}decoderFor(e){let o=this.decoders.find(u=>u[0](e));return o?o[1]:null}addToBuffer(e){_optionalChain([this, 'access', _ => _.decoderFor, 'call', _2 => _2(e), 'optionalAccess', _3 => _3.addToBuffer, 'call', _4 => _4(e)])}clearBuffer(){for(let e of this.decoders.map(o=>o[1]))e.clearBuffer()}hasCompleteMessage(){return this.decoders.some(e=>e[1].hasCompleteMessage())}decode(){return _nullishCoalesce(_optionalChain([this, 'access', _5 => _5.decoders, 'access', _6 => _6.map, 'call', _7 => _7(o=>o[1]), 'access', _8 => _8.find, 'call', _9 => _9(o=>o.hasCompleteMessage()), 'optionalAccess', _10 => _10.decode, 'call', _11 => _11()]), () => (null))}},s= exports.b =class extends d{constructor(){super([[e=>typeof e=="string",new _chunk5JZKD7CBjs.a],[e=>e instanceof Uint8Array,new _chunk2E7KSKKIjs.a],[e=>typeof e=="object",new _chunkZIBX4FPGjs.a]])}};exports.a = d; exports.b = s;
|
|
2
|
+
//# sourceMappingURL=chunk-G6LPI3PA.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
var S=r=>{let n=new Map;return{async aggregateStream(e,t){return r.aggregateStream(e,t)},readStream(e,t){return r.readStream(e,t)},appendToStream:async(e,t,a)=>{let s=await r.appendToStream(e,t,a),p=n.get(e)??[e,[]];return n.set(e,[e,[...p[1],...t]]),s},appendedEvents:n,setup:async(e,t)=>r.appendToStream(e,t)}};export{S as a};
|
|
2
|
+
//# sourceMappingURL=chunk-N6X7QWHP.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/testing/wrapEventStore.ts"],"sourcesContent":["import type {\n AggregateStreamOptions,\n AggregateStreamResult,\n AppendToStreamOptions,\n AppendToStreamResult,\n DefaultStreamVersionType,\n EventStore,\n ReadStreamOptions,\n ReadStreamResult,\n} from '../eventStore';\nimport { type Event } from '../typing';\n\nexport type TestEventStream<EventType extends Event = Event> = [\n string,\n EventType[],\n];\n\nexport const WrapEventStore = <StreamVersion = DefaultStreamVersionType>(\n eventStore: EventStore<StreamVersion>,\n): EventStore<StreamVersion> & {\n appendedEvents: Map<string, TestEventStream>;\n setup<EventType extends Event>(\n streamName: string,\n events: EventType[],\n ): Promise<AppendToStreamResult<StreamVersion>>;\n} => {\n const appendedEvents = new Map<string, TestEventStream>();\n\n return {\n async aggregateStream<State, EventType extends Event>(\n streamName: string,\n options: AggregateStreamOptions<State, EventType, StreamVersion>,\n ): Promise<AggregateStreamResult<State, StreamVersion> | null> {\n return eventStore.aggregateStream(streamName, options);\n },\n\n readStream<EventType extends Event>(\n streamName: string,\n options?: ReadStreamOptions<StreamVersion>,\n ): Promise<ReadStreamResult<EventType, StreamVersion>> {\n return eventStore.readStream(streamName, options);\n },\n\n appendToStream: async <EventType extends Event>(\n streamName: string,\n events: EventType[],\n options?: AppendToStreamOptions<StreamVersion>,\n ): Promise<AppendToStreamResult<StreamVersion>> => {\n const result = await eventStore.appendToStream(\n streamName,\n events,\n options,\n );\n\n const currentStream = appendedEvents.get(streamName) ?? [streamName, []];\n\n appendedEvents.set(streamName, [\n streamName,\n [...currentStream[1], ...events],\n ]);\n\n return result;\n },\n\n appendedEvents,\n\n setup: async <EventType extends Event>(\n streamName: string,\n events: EventType[],\n ): Promise<AppendToStreamResult<StreamVersion>> => {\n return eventStore.appendToStream(streamName, events);\n },\n };\n};\n"],"mappings":"AAiBO,IAAMA,EACXC,GAOG,CACH,IAAMC,EAAiB,IAAI,IAE3B,MAAO,CACL,MAAM,gBACJC,EACAC,EAC6D,CAC7D,OAAOH,EAAW,gBAAgBE,EAAYC,CAAO,CACvD,EAEA,WACED,EACAC,EACqD,CACrD,OAAOH,EAAW,WAAWE,EAAYC,CAAO,CAClD,EAEA,eAAgB,MACdD,EACAE,EACAD,IACiD,CACjD,IAAME,EAAS,MAAML,EAAW,eAC9BE,EACAE,EACAD,CACF,EAEMG,EAAgBL,EAAe,IAAIC,CAAU,GAAK,CAACA,EAAY,CAAC,CAAC,EAEvE,OAAAD,EAAe,IAAIC,EAAY,CAC7BA,EACA,CAAC,GAAGI,EAAc,CAAC,EAAG,GAAGF,CAAM,CACjC,CAAC,EAEMC,CACT,EAEA,eAAAJ,EAEA,MAAO,MACLC,EACAE,IAEOJ,EAAW,eAAeE,EAAYE,CAAM,CAEvD,CACF","names":["WrapEventStore","eventStore","appendedEvents","streamName","options","events","result","currentStream"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }var
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }var _chunkVCCKNYOYjs = require('./chunk-VCCKNYOY.js');var _chunkE7KI3V22js = require('./chunk-E7KI3V22.js');var y={for:o=>n=>({when:c=>{let a=()=>{let r=(Array.isArray(n)?n:[n]).reduce(o.evolve,o.initialState());return o.decide(c,r)};return{then:e=>{let r=a(),d=Array.isArray(r)?r:[r],h=Array.isArray(e)?e:[e];_chunkVCCKNYOYjs.e.call(void 0, d,h)},thenThrows:(...e)=>{try{throw a(),new (0, _chunkVCCKNYOYjs.a)("Handler did not fail as expected")}catch(r){if(r instanceof _chunkVCCKNYOYjs.a)throw r;if(e.length===0)return;if(!_chunkE7KI3V22js.j.call(void 0, e[0])){_chunkVCCKNYOYjs.i.call(void 0, e[0](r),`Error didn't match the error condition: ${_optionalChain([r, 'optionalAccess', _ => _.toString, 'call', _2 => _2()])}`);return}_chunkVCCKNYOYjs.i.call(void 0, r instanceof e[0],`Caught error is not an instance of the expected type: ${_optionalChain([r, 'optionalAccess', _3 => _3.toString, 'call', _4 => _4()])}`),e[1]&&_chunkVCCKNYOYjs.i.call(void 0, e[1](r),`Error didn't match the error condition: ${_optionalChain([r, 'optionalAccess', _5 => _5.toString, 'call', _6 => _6()])}`)}}}}})};exports.a = y;
|
|
2
|
+
//# sourceMappingURL=chunk-OIDX2JMH.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as r}from"./chunk-HKNRGZN2.mjs";import{a as n}from"./chunk-MR2WVMFM.mjs";import{a as c}from"./chunk-S3C5CKD5.mjs";var d=class{constructor(e){this.decoders=e}decoderFor(e){let o=this.decoders.find(u=>u[0](e));return o?o[1]:null}addToBuffer(e){this.decoderFor(e)?.addToBuffer(e)}clearBuffer(){for(let e of this.decoders.map(o=>o[1]))e.clearBuffer()}hasCompleteMessage(){return this.decoders.some(e=>e[1].hasCompleteMessage())}decode(){return this.decoders.map(o=>o[1]).find(o=>o.hasCompleteMessage())?.decode()??null}},s=class extends d{constructor(){super([[e=>typeof e=="string",new n],[e=>e instanceof Uint8Array,new r],[e=>typeof e=="object",new c]])}};export{d as a,s as b};
|
|
2
|
+
//# sourceMappingURL=chunk-TKIRQ76T.mjs.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } }var S=r=>{let n=new Map;return{async aggregateStream(e,t){return r.aggregateStream(e,t)},readStream(e,t){return r.readStream(e,t)},appendToStream:async(e,t,a)=>{let s=await r.appendToStream(e,t,a),p=_nullishCoalesce(n.get(e), () => ([e,[]]));return n.set(e,[e,[...p[1],...t]]),s},appendedEvents:n,setup:async(e,t)=>r.appendToStream(e,t)}};exports.a = S;
|
|
2
|
+
//# sourceMappingURL=chunk-TNX525X5.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/testing/wrapEventStore.ts"],"names":["WrapEventStore","eventStore","appendedEvents","streamName","options","events","result","currentStream"],"mappings":"AAiBO,IAAMA,EACXC,GAOG,CACH,IAAMC,EAAiB,IAAI,IAE3B,MAAO,CACL,MAAM,gBACJC,EACAC,EAC6D,CAC7D,OAAOH,EAAW,gBAAgBE,EAAYC,CAAO,CACvD,EAEA,WACED,EACAC,EACqD,CACrD,OAAOH,EAAW,WAAWE,EAAYC,CAAO,CAClD,EAEA,eAAgB,MACdD,EACAE,EACAD,IACiD,CACjD,IAAME,EAAS,MAAML,EAAW,eAC9BE,EACAE,EACAD,CACF,EAEMG,EAAgBL,EAAe,IAAIC,CAAU,GAAK,CAACA,EAAY,CAAC,CAAC,EAEvE,OAAAD,EAAe,IAAIC,EAAY,CAC7BA,EACA,CAAC,GAAGI,EAAc,CAAC,EAAG,GAAGF,CAAM,CACjC,CAAC,EAEMC,CACT,EAEA,eAAAJ,EAEA,MAAO,MACLC,EACAE,IAEOJ,EAAW,eAAeE,EAAYE,CAAM,CAEvD,CACF","sourcesContent":["import type {\n AggregateStreamOptions,\n AggregateStreamResult,\n AppendToStreamOptions,\n AppendToStreamResult,\n DefaultStreamVersionType,\n EventStore,\n ReadStreamOptions,\n ReadStreamResult,\n} from '../eventStore';\nimport { type Event } from '../typing';\n\nexport type TestEventStream<EventType extends Event = Event> = [\n string,\n EventType[],\n];\n\nexport const WrapEventStore = <StreamVersion = DefaultStreamVersionType>(\n eventStore: EventStore<StreamVersion>,\n): EventStore<StreamVersion> & {\n appendedEvents: Map<string, TestEventStream>;\n setup<EventType extends Event>(\n streamName: string,\n events: EventType[],\n ): Promise<AppendToStreamResult<StreamVersion>>;\n} => {\n const appendedEvents = new Map<string, TestEventStream>();\n\n return {\n async aggregateStream<State, EventType extends Event>(\n streamName: string,\n options: AggregateStreamOptions<State, EventType, StreamVersion>,\n ): Promise<AggregateStreamResult<State, StreamVersion> | null> {\n return eventStore.aggregateStream(streamName, options);\n },\n\n readStream<EventType extends Event>(\n streamName: string,\n options?: ReadStreamOptions<StreamVersion>,\n ): Promise<ReadStreamResult<EventType, StreamVersion>> {\n return eventStore.readStream(streamName, options);\n },\n\n appendToStream: async <EventType extends Event>(\n streamName: string,\n events: EventType[],\n options?: AppendToStreamOptions<StreamVersion>,\n ): Promise<AppendToStreamResult<StreamVersion>> => {\n const result = await eventStore.appendToStream(\n streamName,\n events,\n options,\n );\n\n const currentStream = appendedEvents.get(streamName) ?? [streamName, []];\n\n appendedEvents.set(streamName, [\n streamName,\n [...currentStream[1], ...events],\n ]);\n\n return result;\n },\n\n appendedEvents,\n\n setup: async <EventType extends Event>(\n streamName: string,\n events: EventType[],\n ): Promise<AppendToStreamResult<StreamVersion>> => {\n return eventStore.appendToStream(streamName, events);\n },\n };\n};\n"]}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }var _chunkPVFUNWT6js = require('./chunk-PVFUNWT6.js');var r=class extends Error{constructor(e){super(e)}},
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }var _chunkPVFUNWT6js = require('./chunk-PVFUNWT6.js');var r=class extends Error{constructor(e){super(e)}},a= exports.b =(n,e)=>{let t=n,s=e;return u(t),u(s),Object.keys(s).every(c=>typeof s[c]=="object"?a(t[c],s[c]):s[c]===t[c])},d= exports.c =()=>{throw new r("That should not ever happened, right?")},T= exports.d =(n,e)=>{try{throw n(),new r("Function didn't throw expected error")}catch(t){e&&o(e(t))}},k= exports.e =(n,e,t)=>{if(!a(n,e))throw new r(_nullishCoalesce(t, () => (`subObj:
|
|
2
2
|
${JSON.stringify(e)}
|
|
3
3
|
is not subset of
|
|
4
4
|
${JSON.stringify(n)}`)))},f= exports.f =(n,e,t)=>{if(!_chunkPVFUNWT6js.a.call(void 0, n,e))throw new r(_nullishCoalesce(t, () => (`subObj:
|
|
5
5
|
${JSON.stringify(e)}
|
|
6
6
|
is equals to
|
|
7
|
-
${JSON.stringify(n)}`)))},p= exports.g =n=>({isEqualTo:e=>o(_chunkPVFUNWT6js.a.call(void 0, n,e))});function
|
|
7
|
+
${JSON.stringify(n)}`)))},p= exports.g =n=>({isEqualTo:e=>o(_chunkPVFUNWT6js.a.call(void 0, n,e))});function g(n,e){if(n)throw new r(_nullishCoalesce(e, () => ("Condition is false")))}function o(n,e){if(!n)throw new r(_nullishCoalesce(e, () => ("Condition is false")))}function u(n,e){if(!n)throw new r(_nullishCoalesce(e, () => ("Condition is not truthy")))}function i(n,e,t){if(n!==e)throw new r(_nullishCoalesce(t, () => (`Objects are not equal:
|
|
8
8
|
${JSON.stringify(n)}
|
|
9
9
|
compared:
|
|
10
|
-
${JSON.stringify(e)}`)))}function m(n,e,t){if(n===e)throw new r(_nullishCoalesce(t, () => (`Objects are equal: ${JSON.stringify(n)}`)))}function w(n){m(n,null),
|
|
11
|
-
//# sourceMappingURL=chunk-
|
|
10
|
+
${JSON.stringify(e)}`)))}function m(n,e,t){if(n===e)throw new r(_nullishCoalesce(t, () => (`Objects are equal: ${JSON.stringify(n)}`)))}function w(n){m(n,null),u(n)}function x(n){i(n,null)}var b=n=>e=>_chunkPVFUNWT6js.a.call(void 0, e,n),O= exports.p =n=>e=>n(e);function y(n){return{calledTimes:e=>{i(_optionalChain([n, 'access', _ => _.mock, 'optionalAccess', _2 => _2.calls, 'optionalAccess', _3 => _3.length]),e)},notCalled:()=>{i(_optionalChain([n, 'optionalAccess', _4 => _4.mock, 'optionalAccess', _5 => _5.calls, 'optionalAccess', _6 => _6.length]),0)},called:()=>{o(_optionalChain([n, 'access', _7 => _7.mock, 'optionalAccess', _8 => _8.calls, 'access', _9 => _9.length])!==void 0&&n.mock.calls.length>0)},calledWith:(...e)=>{o(_optionalChain([n, 'access', _10 => _10.mock, 'optionalAccess', _11 => _11.calls, 'access', _12 => _12.length])!==void 0&&n.mock.calls.length>=1&&n.mock.calls.some(t=>_chunkPVFUNWT6js.a.call(void 0, t.arguments,e)))},calledOnceWith:(...e)=>{o(_optionalChain([n, 'access', _13 => _13.mock, 'optionalAccess', _14 => _14.calls, 'access', _15 => _15.length])!==void 0&&n.mock.calls.length===1&&n.mock.calls.some(t=>_chunkPVFUNWT6js.a.call(void 0, t.arguments,e)))},calledWithArgumentMatching:(...e)=>{o(_optionalChain([n, 'access', _16 => _16.mock, 'optionalAccess', _17 => _17.calls, 'access', _18 => _18.length])!==void 0&&n.mock.calls.length>=1),o(_optionalChain([n, 'access', _19 => _19.mock, 'optionalAccess', _20 => _20.calls, 'access', _21 => _21.length])!==void 0&&n.mock.calls.length>=1&&n.mock.calls.some(t=>t.arguments&&t.arguments.length>=e.length&&e.every((s,c)=>s(t.arguments[c]))))},notCalledWithArgumentMatching:(...e)=>{g(_optionalChain([n, 'access', _22 => _22.mock, 'optionalAccess', _23 => _23.calls, 'access', _24 => _24.length])!==void 0&&n.mock.calls.length>=1&&n.mock.calls[0].arguments&&n.mock.calls[0].arguments.length>=e.length&&e.every((t,s)=>t(n.mock.calls[0].arguments[s])))}}}var E=n=>({isEmpty:()=>i(n.length,0),hasSize:e=>i(n.length,e),containsElements:(...e)=>{o(e.every(t=>e.some(s=>_chunkPVFUNWT6js.a.call(void 0, t,s))))},containsExactlyInAnyOrder:(...e)=>{i(n.length,e.length),o(n.every(t=>e.some(s=>_chunkPVFUNWT6js.a.call(void 0, t,s))))},containsExactlyInAnyOrderElementsOf:e=>{i(n.length,e.length),o(n.every(t=>e.some(s=>_chunkPVFUNWT6js.a.call(void 0, t,s))))},containsExactlyElementsOf:e=>{i(n.length,e.length);for(let t=0;t<n.length;t++)o(_chunkPVFUNWT6js.a.call(void 0, n[t],e[t]))},containsExactly:e=>{i(n.length,1),o(_chunkPVFUNWT6js.a.call(void 0, n[0],e))},contains:e=>{o(n.some(t=>_chunkPVFUNWT6js.a.call(void 0, t,e)))},containsOnlyOnceElementsOf:e=>{o(e.map(t=>n.filter(s=>_chunkPVFUNWT6js.a.call(void 0, s,t)).length).filter(t=>t===1).length===e.length)},containsAnyOf:(...e)=>{o(n.some(t=>e.some(s=>_chunkPVFUNWT6js.a.call(void 0, t,s))))},allMatch:e=>{o(n.every(e))},anyMatches:e=>{o(n.some(e))},allMatchAsync:async e=>{for(let t of n)o(await e(t))}});exports.a = r; exports.b = a; exports.c = d; exports.d = T; exports.e = k; exports.f = f; exports.g = p; exports.h = g; exports.i = o; exports.j = u; exports.k = i; exports.l = m; exports.m = w; exports.n = x; exports.o = b; exports.p = O; exports.q = y; exports.r = E;
|
|
11
|
+
//# sourceMappingURL=chunk-VCCKNYOY.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/testing/assertions.ts"],"names":["AssertionError","message","isSubset","superObj","subObj","sup","sub","assertOk","ele","assertFails","assertThrows","fun","errorCheck","error","assertTrue","assertMatches","actual","expected","assertDeepEqual","deepEquals","assertThat","item","other","assertFalse","condition","obj","assertEqual","assertNotEqual","assertIsNotNull","result","assertIsNull","argValue","value","arg","argMatches","matches","verifyThat","fn","times","args","call","match","index","assertThatArray","array","length","ts","o","i","elem","a"],"mappings":"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","sourcesContent":["import type { DefaultRecord } from '../typing';\nimport { deepEquals } from '../utils';\n\nexport class AssertionError extends Error {\n constructor(message: string) {\n super(message);\n }\n}\nexport const isSubset = (superObj: unknown, subObj: unknown): boolean => {\n const sup = superObj as DefaultRecord;\n const sub = subObj as DefaultRecord;\n\n assertOk(sup);\n assertOk(sub);\n\n return Object.keys(sub).every((ele: string) => {\n if (typeof sub[ele] == 'object') {\n return isSubset(sup[ele], sub[ele]);\n }\n return sub[ele] === sup[ele];\n });\n};\n\nexport const assertFails = () => {\n throw new AssertionError('That should not ever happened, right?');\n};\n\nexport const assertThrows = (\n fun: () => void,\n errorCheck?: (error: Error) => boolean,\n) => {\n try {\n fun();\n throw new AssertionError(\"Function didn't throw expected error\");\n } catch (error) {\n if (errorCheck) assertTrue(errorCheck(error as Error));\n }\n};\n\nexport const assertMatches = (\n actual: unknown,\n expected: unknown,\n message?: string,\n) => {\n if (!isSubset(actual, expected))\n throw new AssertionError(\n message ??\n `subObj:\\n${JSON.stringify(expected)}\\nis not subset of\\n${JSON.stringify(actual)}`,\n );\n};\n\nexport const assertDeepEqual = (\n actual: unknown,\n expected: unknown,\n message?: string,\n) => {\n if (!deepEquals(actual, expected))\n throw new AssertionError(\n message ??\n `subObj:\\n${JSON.stringify(expected)}\\nis equals to\\n${JSON.stringify(actual)}`,\n );\n};\n\nexport const assertThat = <T>(item: T) => {\n return {\n isEqualTo: (other: T) => assertTrue(deepEquals(item, other)),\n };\n};\n\nexport function assertFalse(\n condition: boolean,\n message?: string,\n): asserts condition is false {\n if (condition) throw new AssertionError(message ?? `Condition is false`);\n}\n\nexport function assertTrue(\n condition: boolean,\n message?: string,\n): asserts condition is true {\n if (!condition) throw new AssertionError(message ?? `Condition is false`);\n}\n\nexport function assertOk<T>(\n obj: T | null | undefined,\n message?: string,\n): asserts obj is T {\n if (!obj) throw new AssertionError(message ?? `Condition is not truthy`);\n}\n\nexport function assertEqual<T>(\n obj: T | null | undefined,\n other: T | null | undefined,\n message?: string,\n): void {\n if (obj !== other)\n throw new AssertionError(\n message ??\n `Objects are not equal:\\n ${JSON.stringify(obj)}\\ncompared:\\n${JSON.stringify(other)}`,\n );\n}\n\nexport function assertNotEqual<T>(\n obj: T | null | undefined,\n other: T | null | undefined,\n message?: string,\n): void {\n if (obj === other)\n throw new AssertionError(\n message ?? `Objects are equal: ${JSON.stringify(obj)}`,\n );\n}\n\nexport function assertIsNotNull<T extends object>(\n result: T | null,\n): asserts result is T {\n assertNotEqual(result, null);\n assertOk(result);\n}\n\nexport function assertIsNull<T extends object>(\n result: T | null,\n): asserts result is null {\n assertEqual(result, null);\n}\n\ntype Call = {\n arguments: unknown[];\n result: unknown;\n target: unknown;\n this: unknown;\n};\n\nexport type ArgumentMatcher = (arg: unknown) => boolean;\n\nexport const argValue =\n <T>(value: T): ArgumentMatcher =>\n (arg) =>\n deepEquals(arg, value);\n\nexport const argMatches =\n <T>(matches: (arg: T) => boolean): ArgumentMatcher =>\n (arg) =>\n matches(arg as T);\n\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport type MockedFunction = Function & { mock?: { calls: Call[] } };\n\nexport function verifyThat(fn: MockedFunction) {\n return {\n calledTimes: (times: number) => {\n assertEqual(fn.mock?.calls?.length, times);\n },\n notCalled: () => {\n assertEqual(fn?.mock?.calls?.length, 0);\n },\n called: () => {\n assertTrue(\n fn.mock?.calls.length !== undefined && fn.mock.calls.length > 0,\n );\n },\n calledWith: (...args: unknown[]) => {\n assertTrue(\n fn.mock?.calls.length !== undefined &&\n fn.mock.calls.length >= 1 &&\n fn.mock.calls.some((call) => deepEquals(call.arguments, args)),\n );\n },\n calledOnceWith: (...args: unknown[]) => {\n assertTrue(\n fn.mock?.calls.length !== undefined &&\n fn.mock.calls.length === 1 &&\n fn.mock.calls.some((call) => deepEquals(call.arguments, args)),\n );\n },\n calledWithArgumentMatching: (...matches: ArgumentMatcher[]) => {\n assertTrue(\n fn.mock?.calls.length !== undefined && fn.mock.calls.length >= 1,\n );\n assertTrue(\n fn.mock?.calls.length !== undefined &&\n fn.mock.calls.length >= 1 &&\n fn.mock.calls.some(\n (call) =>\n call.arguments &&\n call.arguments.length >= matches.length &&\n matches.every((match, index) => match(call.arguments[index])),\n ),\n );\n },\n notCalledWithArgumentMatching: (...matches: ArgumentMatcher[]) => {\n assertFalse(\n fn.mock?.calls.length !== undefined &&\n fn.mock.calls.length >= 1 &&\n fn.mock.calls[0]!.arguments &&\n fn.mock.calls[0]!.arguments.length >= matches.length &&\n matches.every((match, index) =>\n match(fn.mock!.calls[0]!.arguments[index]),\n ),\n );\n },\n };\n}\n\nexport const assertThatArray = <T>(array: T[]) => {\n return {\n isEmpty: () => assertEqual(array.length, 0),\n hasSize: (length: number) => assertEqual(array.length, length),\n containsElements: (...other: T[]) => {\n assertTrue(other.every((ts) => other.some((o) => deepEquals(ts, o))));\n },\n containsExactlyInAnyOrder: (...other: T[]) => {\n assertEqual(array.length, other.length);\n assertTrue(array.every((ts) => other.some((o) => deepEquals(ts, o))));\n },\n containsExactlyInAnyOrderElementsOf: (other: T[]) => {\n assertEqual(array.length, other.length);\n assertTrue(array.every((ts) => other.some((o) => deepEquals(ts, o))));\n },\n containsExactlyElementsOf: (other: T[]) => {\n assertEqual(array.length, other.length);\n for (let i = 0; i < array.length; i++) {\n assertTrue(deepEquals(array[i], other[i]));\n }\n },\n containsExactly: (elem: T) => {\n assertEqual(array.length, 1);\n assertTrue(deepEquals(array[0], elem));\n },\n contains: (elem: T) => {\n assertTrue(array.some((a) => deepEquals(a, elem)));\n },\n containsOnlyOnceElementsOf: (other: T[]) => {\n assertTrue(\n other\n .map((o) => array.filter((a) => deepEquals(a, o)).length)\n .filter((a) => a === 1).length === other.length,\n );\n },\n containsAnyOf: (...other: T[]) => {\n assertTrue(array.some((a) => other.some((o) => deepEquals(a, o))));\n },\n allMatch: (matches: (item: T) => boolean) => {\n assertTrue(array.every(matches));\n },\n anyMatches: (matches: (item: T) => boolean) => {\n assertTrue(array.some(matches));\n },\n allMatchAsync: async (\n matches: (item: T) => Promise<boolean>,\n ): Promise<void> => {\n for (const item of array) {\n assertTrue(await matches(item));\n }\n },\n };\n};\n"]}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import{a as l}from"./chunk-B7NWWHCY.mjs";var r=class extends Error{constructor(e){super(e)}},
|
|
1
|
+
import{a as l}from"./chunk-B7NWWHCY.mjs";var r=class extends Error{constructor(e){super(e)}},a=(n,e)=>{let t=n,s=e;return u(t),u(s),Object.keys(s).every(c=>typeof s[c]=="object"?a(t[c],s[c]):s[c]===t[c])},d=()=>{throw new r("That should not ever happened, right?")},T=(n,e)=>{try{throw n(),new r("Function didn't throw expected error")}catch(t){e&&o(e(t))}},k=(n,e,t)=>{if(!a(n,e))throw new r(t??`subObj:
|
|
2
2
|
${JSON.stringify(e)}
|
|
3
3
|
is not subset of
|
|
4
4
|
${JSON.stringify(n)}`)},f=(n,e,t)=>{if(!l(n,e))throw new r(t??`subObj:
|
|
5
5
|
${JSON.stringify(e)}
|
|
6
6
|
is equals to
|
|
7
|
-
${JSON.stringify(n)}`)},p=n=>({isEqualTo:e=>o(l(n,e))});function
|
|
7
|
+
${JSON.stringify(n)}`)},p=n=>({isEqualTo:e=>o(l(n,e))});function g(n,e){if(n)throw new r(e??"Condition is false")}function o(n,e){if(!n)throw new r(e??"Condition is false")}function u(n,e){if(!n)throw new r(e??"Condition is not truthy")}function i(n,e,t){if(n!==e)throw new r(t??`Objects are not equal:
|
|
8
8
|
${JSON.stringify(n)}
|
|
9
9
|
compared:
|
|
10
|
-
${JSON.stringify(e)}`)}function m(n,e,t){if(n===e)throw new r(t??`Objects are equal: ${JSON.stringify(n)}`)}function w(n){m(n,null),
|
|
11
|
-
//# sourceMappingURL=chunk-
|
|
10
|
+
${JSON.stringify(e)}`)}function m(n,e,t){if(n===e)throw new r(t??`Objects are equal: ${JSON.stringify(n)}`)}function w(n){m(n,null),u(n)}function x(n){i(n,null)}var b=n=>e=>l(e,n),O=n=>e=>n(e);function y(n){return{calledTimes:e=>{i(n.mock?.calls?.length,e)},notCalled:()=>{i(n?.mock?.calls?.length,0)},called:()=>{o(n.mock?.calls.length!==void 0&&n.mock.calls.length>0)},calledWith:(...e)=>{o(n.mock?.calls.length!==void 0&&n.mock.calls.length>=1&&n.mock.calls.some(t=>l(t.arguments,e)))},calledOnceWith:(...e)=>{o(n.mock?.calls.length!==void 0&&n.mock.calls.length===1&&n.mock.calls.some(t=>l(t.arguments,e)))},calledWithArgumentMatching:(...e)=>{o(n.mock?.calls.length!==void 0&&n.mock.calls.length>=1),o(n.mock?.calls.length!==void 0&&n.mock.calls.length>=1&&n.mock.calls.some(t=>t.arguments&&t.arguments.length>=e.length&&e.every((s,c)=>s(t.arguments[c]))))},notCalledWithArgumentMatching:(...e)=>{g(n.mock?.calls.length!==void 0&&n.mock.calls.length>=1&&n.mock.calls[0].arguments&&n.mock.calls[0].arguments.length>=e.length&&e.every((t,s)=>t(n.mock.calls[0].arguments[s])))}}}var E=n=>({isEmpty:()=>i(n.length,0),hasSize:e=>i(n.length,e),containsElements:(...e)=>{o(e.every(t=>e.some(s=>l(t,s))))},containsExactlyInAnyOrder:(...e)=>{i(n.length,e.length),o(n.every(t=>e.some(s=>l(t,s))))},containsExactlyInAnyOrderElementsOf:e=>{i(n.length,e.length),o(n.every(t=>e.some(s=>l(t,s))))},containsExactlyElementsOf:e=>{i(n.length,e.length);for(let t=0;t<n.length;t++)o(l(n[t],e[t]))},containsExactly:e=>{i(n.length,1),o(l(n[0],e))},contains:e=>{o(n.some(t=>l(t,e)))},containsOnlyOnceElementsOf:e=>{o(e.map(t=>n.filter(s=>l(s,t)).length).filter(t=>t===1).length===e.length)},containsAnyOf:(...e)=>{o(n.some(t=>e.some(s=>l(t,s))))},allMatch:e=>{o(n.every(e))},anyMatches:e=>{o(n.some(e))},allMatchAsync:async e=>{for(let t of n)o(await e(t))}});export{r as a,a as b,d as c,T as d,k as e,f,p as g,g as h,o as i,u as j,i as k,m as l,w as m,x as n,b as o,O as p,y as q,E as r};
|
|
11
|
+
//# sourceMappingURL=chunk-ZFBWMZ55.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/testing/assertions.ts"],"sourcesContent":["import type { DefaultRecord } from '../typing';\nimport { deepEquals } from '../utils';\n\nexport class AssertionError extends Error {\n constructor(message: string) {\n super(message);\n }\n}\nexport const isSubset = (superObj: unknown, subObj: unknown): boolean => {\n const sup = superObj as DefaultRecord;\n const sub = subObj as DefaultRecord;\n\n assertOk(sup);\n assertOk(sub);\n\n return Object.keys(sub).every((ele: string) => {\n if (typeof sub[ele] == 'object') {\n return isSubset(sup[ele], sub[ele]);\n }\n return sub[ele] === sup[ele];\n });\n};\n\nexport const assertFails = () => {\n throw new AssertionError('That should not ever happened, right?');\n};\n\nexport const assertThrows = (\n fun: () => void,\n errorCheck?: (error: Error) => boolean,\n) => {\n try {\n fun();\n throw new AssertionError(\"Function didn't throw expected error\");\n } catch (error) {\n if (errorCheck) assertTrue(errorCheck(error as Error));\n }\n};\n\nexport const assertMatches = (\n actual: unknown,\n expected: unknown,\n message?: string,\n) => {\n if (!isSubset(actual, expected))\n throw new AssertionError(\n message ??\n `subObj:\\n${JSON.stringify(expected)}\\nis not subset of\\n${JSON.stringify(actual)}`,\n );\n};\n\nexport const assertDeepEqual = (\n actual: unknown,\n expected: unknown,\n message?: string,\n) => {\n if (!deepEquals(actual, expected))\n throw new AssertionError(\n message ??\n `subObj:\\n${JSON.stringify(expected)}\\nis equals to\\n${JSON.stringify(actual)}`,\n );\n};\n\nexport const assertThat = <T>(item: T) => {\n return {\n isEqualTo: (other: T) => assertTrue(deepEquals(item, other)),\n };\n};\n\nexport function assertFalse(\n condition: boolean,\n message?: string,\n): asserts condition is false {\n if (condition) throw new AssertionError(message ?? `Condition is false`);\n}\n\nexport function assertTrue(\n condition: boolean,\n message?: string,\n): asserts condition is true {\n if (!condition) throw new AssertionError(message ?? `Condition is false`);\n}\n\nexport function assertOk<T>(\n obj: T | null | undefined,\n message?: string,\n): asserts obj is T {\n if (!obj) throw new AssertionError(message ?? `Condition is not truthy`);\n}\n\nexport function assertEqual<T>(\n obj: T | null | undefined,\n other: T | null | undefined,\n message?: string,\n): void {\n if (obj !== other)\n throw new AssertionError(\n message ??\n `Objects are not equal:\\n ${JSON.stringify(obj)}\\ncompared:\\n${JSON.stringify(other)}`,\n );\n}\n\nexport function assertNotEqual<T>(\n obj: T | null | undefined,\n other: T | null | undefined,\n message?: string,\n): void {\n if (obj === other)\n throw new AssertionError(\n message ?? `Objects are equal: ${JSON.stringify(obj)}`,\n );\n}\n\nexport function assertIsNotNull<T extends object>(\n result: T | null,\n): asserts result is T {\n assertNotEqual(result, null);\n assertOk(result);\n}\n\nexport function assertIsNull<T extends object>(\n result: T | null,\n): asserts result is null {\n assertEqual(result, null);\n}\n\ntype Call = {\n arguments: unknown[];\n result: unknown;\n target: unknown;\n this: unknown;\n};\n\nexport type ArgumentMatcher = (arg: unknown) => boolean;\n\nexport const argValue =\n <T>(value: T): ArgumentMatcher =>\n (arg) =>\n deepEquals(arg, value);\n\nexport const argMatches =\n <T>(matches: (arg: T) => boolean): ArgumentMatcher =>\n (arg) =>\n matches(arg as T);\n\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport type MockedFunction = Function & { mock?: { calls: Call[] } };\n\nexport function verifyThat(fn: MockedFunction) {\n return {\n calledTimes: (times: number) => {\n assertEqual(fn.mock?.calls?.length, times);\n },\n notCalled: () => {\n assertEqual(fn?.mock?.calls?.length, 0);\n },\n called: () => {\n assertTrue(\n fn.mock?.calls.length !== undefined && fn.mock.calls.length > 0,\n );\n },\n calledWith: (...args: unknown[]) => {\n assertTrue(\n fn.mock?.calls.length !== undefined &&\n fn.mock.calls.length >= 1 &&\n fn.mock.calls.some((call) => deepEquals(call.arguments, args)),\n );\n },\n calledOnceWith: (...args: unknown[]) => {\n assertTrue(\n fn.mock?.calls.length !== undefined &&\n fn.mock.calls.length === 1 &&\n fn.mock.calls.some((call) => deepEquals(call.arguments, args)),\n );\n },\n calledWithArgumentMatching: (...matches: ArgumentMatcher[]) => {\n assertTrue(\n fn.mock?.calls.length !== undefined && fn.mock.calls.length >= 1,\n );\n assertTrue(\n fn.mock?.calls.length !== undefined &&\n fn.mock.calls.length >= 1 &&\n fn.mock.calls.some(\n (call) =>\n call.arguments &&\n call.arguments.length >= matches.length &&\n matches.every((match, index) => match(call.arguments[index])),\n ),\n );\n },\n notCalledWithArgumentMatching: (...matches: ArgumentMatcher[]) => {\n assertFalse(\n fn.mock?.calls.length !== undefined &&\n fn.mock.calls.length >= 1 &&\n fn.mock.calls[0]!.arguments &&\n fn.mock.calls[0]!.arguments.length >= matches.length &&\n matches.every((match, index) =>\n match(fn.mock!.calls[0]!.arguments[index]),\n ),\n );\n },\n };\n}\n\nexport const assertThatArray = <T>(array: T[]) => {\n return {\n isEmpty: () => assertEqual(array.length, 0),\n hasSize: (length: number) => assertEqual(array.length, length),\n containsElements: (...other: T[]) => {\n assertTrue(other.every((ts) => other.some((o) => deepEquals(ts, o))));\n },\n containsExactlyInAnyOrder: (...other: T[]) => {\n assertEqual(array.length, other.length);\n assertTrue(array.every((ts) => other.some((o) => deepEquals(ts, o))));\n },\n containsExactlyInAnyOrderElementsOf: (other: T[]) => {\n assertEqual(array.length, other.length);\n assertTrue(array.every((ts) => other.some((o) => deepEquals(ts, o))));\n },\n containsExactlyElementsOf: (other: T[]) => {\n assertEqual(array.length, other.length);\n for (let i = 0; i < array.length; i++) {\n assertTrue(deepEquals(array[i], other[i]));\n }\n },\n containsExactly: (elem: T) => {\n assertEqual(array.length, 1);\n assertTrue(deepEquals(array[0], elem));\n },\n contains: (elem: T) => {\n assertTrue(array.some((a) => deepEquals(a, elem)));\n },\n containsOnlyOnceElementsOf: (other: T[]) => {\n assertTrue(\n other\n .map((o) => array.filter((a) => deepEquals(a, o)).length)\n .filter((a) => a === 1).length === other.length,\n );\n },\n containsAnyOf: (...other: T[]) => {\n assertTrue(array.some((a) => other.some((o) => deepEquals(a, o))));\n },\n allMatch: (matches: (item: T) => boolean) => {\n assertTrue(array.every(matches));\n },\n anyMatches: (matches: (item: T) => boolean) => {\n assertTrue(array.some(matches));\n },\n allMatchAsync: async (\n matches: (item: T) => Promise<boolean>,\n ): Promise<void> => {\n for (const item of array) {\n assertTrue(await matches(item));\n }\n },\n };\n};\n"],"mappings":"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","names":["AssertionError","message","isSubset","superObj","subObj","sup","sub","assertOk","ele","assertFails","assertThrows","fun","errorCheck","error","assertTrue","assertMatches","actual","expected","assertDeepEqual","deepEquals","assertThat","item","other","assertFalse","condition","obj","assertEqual","assertNotEqual","assertIsNotNull","result","assertIsNull","argValue","value","arg","argMatches","matches","verifyThat","fn","times","args","call","match","index","assertThatArray","array","length","ts","o","i","elem","a"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{b as s}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{b as s}from"./chunk-TKIRQ76T.mjs";import d from"async-retry";import{TransformStream as c}from"web-streams-polyfill";var b=(t,o=r=>r,a={forever:!0,minTimeout:25},e=new s)=>new c({start(r){d(()=>u(t,r,o,e),a).catch(n=>{r.error(n)})}}).readable,u=async(t,o,a,e)=>{let n=t().getReader();try{let m;do m=await S(n,o,a,e);while(!m)}finally{n.releaseLock()}},S=async(t,o,a,e)=>{let{done:r,value:n}=await t.read();return n&&e.addToBuffer(n),!r&&!e.hasCompleteMessage()?!1:(f(e,a,o),r&&o.terminate(),r)},f=(t,o,a)=>{try{let e=t.decode();if(!e)return;let r=o(e);a.enqueue(r)}catch(e){a.error(new Error(`Decoding error: ${e?.toString()}`))}};export{b as a};
|
|
2
|
+
//# sourceMappingURL=chunk-ZV7YVTI7.mjs.map
|
package/dist/index.d.mts
CHANGED
|
@@ -6,7 +6,7 @@ export { EventHandler, getInMemoryEventStore } from './eventStore/inMemoryEventS
|
|
|
6
6
|
export { JSONParser, Mapper, MapperArgs, ParseError, ParseOptions, StringifyOptions } from './serialization/json/JSONParser.mjs';
|
|
7
7
|
export { ArgumentMatcher, AssertionError, MockedFunction, argMatches, argValue, assertDeepEqual, assertEqual, assertFails, assertFalse, assertIsNotNull, assertIsNull, assertMatches, assertNotEqual, assertOk, assertThat, assertThatArray, assertThrows, assertTrue, isSubset, verifyThat } from './testing/assertions.mjs';
|
|
8
8
|
export { DeciderSpecfication, DeciderSpecification, ThenThrows } from './testing/deciderSpecification.mjs';
|
|
9
|
-
export {
|
|
9
|
+
export { TestEventStream, WrapEventStore } from './testing/wrapEventStore.mjs';
|
|
10
10
|
export { Brand, Command, CommandDataOf, CommandMetaDataOf, CommandTypeOf, CreateCommandType, CreateEventType, Decider, DefaultCommandMetadata, DefaultRecord, Event, EventDataOf, EventMetaDataOf, EventTypeOf, Flavour, ReadEvent, ReadEventMetadata, ReadEventMetadataWithGlobalPosition, Workflow, WorkflowCommand, WorkflowEvent, WorkflowOutput, accept, command, complete, error, event, ignore, publish, reply, schedule, send } from './typing/index.mjs';
|
|
11
11
|
export { Equatable, deepEquals, isEquatable } from './utils/deepEquals.mjs';
|
|
12
12
|
export { sum } from './utils/iterators.mjs';
|
package/dist/index.d.ts
CHANGED
|
@@ -6,7 +6,7 @@ export { EventHandler, getInMemoryEventStore } from './eventStore/inMemoryEventS
|
|
|
6
6
|
export { JSONParser, Mapper, MapperArgs, ParseError, ParseOptions, StringifyOptions } from './serialization/json/JSONParser.js';
|
|
7
7
|
export { ArgumentMatcher, AssertionError, MockedFunction, argMatches, argValue, assertDeepEqual, assertEqual, assertFails, assertFalse, assertIsNotNull, assertIsNull, assertMatches, assertNotEqual, assertOk, assertThat, assertThatArray, assertThrows, assertTrue, isSubset, verifyThat } from './testing/assertions.js';
|
|
8
8
|
export { DeciderSpecfication, DeciderSpecification, ThenThrows } from './testing/deciderSpecification.js';
|
|
9
|
-
export {
|
|
9
|
+
export { TestEventStream, WrapEventStore } from './testing/wrapEventStore.js';
|
|
10
10
|
export { Brand, Command, CommandDataOf, CommandMetaDataOf, CommandTypeOf, CreateCommandType, CreateEventType, Decider, DefaultCommandMetadata, DefaultRecord, Event, EventDataOf, EventMetaDataOf, EventTypeOf, Flavour, ReadEvent, ReadEventMetadata, ReadEventMetadataWithGlobalPosition, Workflow, WorkflowCommand, WorkflowEvent, WorkflowOutput, accept, command, complete, error, event, ignore, publish, reply, schedule, send } from './typing/index.js';
|
|
11
11
|
export { Equatable, deepEquals, isEquatable } from './utils/deepEquals.js';
|
|
12
12
|
export { sum } from './utils/iterators.js';
|
package/dist/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});require('./chunk-BNCTLP4B.js');var
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});require('./chunk-BNCTLP4B.js');var _chunkTNX525X5js = require('./chunk-TNX525X5.js');var _chunkOIDX2JMHjs = require('./chunk-OIDX2JMH.js');var _chunkVCCKNYOYjs = require('./chunk-VCCKNYOY.js');require('./chunk-6IATZUYD.js');var _chunkPVFUNWT6js = require('./chunk-PVFUNWT6.js');var _chunkFE73T2NSjs = require('./chunk-FE73T2NS.js');var _chunk3JE5DUJ2js = require('./chunk-3JE5DUJ2.js');require('./chunk-ZLASBJGR.js');var _chunkMHB2JU4Ujs = require('./chunk-MHB2JU4U.js');require('./chunk-7FJXUW3D.js');require('./chunk-5BGN2FV4.js');var _chunkKQAFRLJ2js = require('./chunk-KQAFRLJ2.js');var _chunkUFUSYJWUjs = require('./chunk-UFUSYJWU.js');require('./chunk-LOJ6A4AJ.js');require('./chunk-AU2WZCER.js');var _chunkLYKEARRWjs = require('./chunk-LYKEARRW.js');require('./chunk-F7QRI2VL.js');var _chunkTNJCS5RVjs = require('./chunk-TNJCS5RV.js');var _chunkPRYQOCWYjs = require('./chunk-PRYQOCWY.js');require('./chunk-2452BJTJ.js');var _chunk74HCODMEjs = require('./chunk-74HCODME.js');require('./chunk-IJGC6SHP.js');var _chunkVY2C2KCWjs = require('./chunk-VY2C2KCW.js');var _chunkE7KI3V22js = require('./chunk-E7KI3V22.js');exports.AssertionError = _chunkVCCKNYOYjs.a; exports.CommandHandler = _chunkPRYQOCWYjs.a; exports.ConcurrencyError = _chunkE7KI3V22js.l; exports.DeciderCommandHandler = _chunkTNJCS5RVjs.a; exports.DeciderSpecification = _chunkOIDX2JMHjs.a; exports.EmmettError = _chunkE7KI3V22js.k; exports.ExpectedVersionConflictError = _chunkVY2C2KCWjs.f; exports.IllegalStateError = _chunkE7KI3V22js.n; exports.JSONParser = _chunkLYKEARRWjs.b; exports.NO_CONCURRENCY_CHECK = _chunkVY2C2KCWjs.c; exports.NotFoundError = _chunkE7KI3V22js.o; exports.ParseError = _chunkLYKEARRWjs.a; exports.STREAM_DOES_NOT_EXIST = _chunkVY2C2KCWjs.b; exports.STREAM_EXISTS = _chunkVY2C2KCWjs.a; exports.ValidationError = _chunkE7KI3V22js.m; exports.ValidationErrors = _chunkE7KI3V22js.d; exports.WrapEventStore = _chunkTNX525X5js.a; exports.accept = _chunkUFUSYJWUjs.h; exports.argMatches = _chunkVCCKNYOYjs.p; exports.argValue = _chunkVCCKNYOYjs.o; exports.assertDeepEqual = _chunkVCCKNYOYjs.f; exports.assertEqual = _chunkVCCKNYOYjs.k; exports.assertExpectedVersionMatchesCurrent = _chunkVY2C2KCWjs.e; exports.assertFails = _chunkVCCKNYOYjs.c; exports.assertFalse = _chunkVCCKNYOYjs.h; exports.assertIsNotNull = _chunkVCCKNYOYjs.m; exports.assertIsNull = _chunkVCCKNYOYjs.n; exports.assertMatches = _chunkVCCKNYOYjs.e; exports.assertNotEmptyString = _chunkE7KI3V22js.g; exports.assertNotEqual = _chunkVCCKNYOYjs.l; exports.assertOk = _chunkVCCKNYOYjs.j; exports.assertPositiveNumber = _chunkE7KI3V22js.h; exports.assertThat = _chunkVCCKNYOYjs.g; exports.assertThatArray = _chunkVCCKNYOYjs.r; exports.assertThrows = _chunkVCCKNYOYjs.d; exports.assertTrue = _chunkVCCKNYOYjs.i; exports.assertUnsignedBigInt = _chunkE7KI3V22js.i; exports.command = _chunkMHB2JU4Ujs.a; exports.complete = _chunkUFUSYJWUjs.e; exports.deepEquals = _chunkPVFUNWT6js.a; exports.error = _chunkUFUSYJWUjs.g; exports.event = _chunkKQAFRLJ2js.a; exports.formatDateToUtcYYYYMMDD = _chunkE7KI3V22js.a; exports.getInMemoryEventStore = _chunk74HCODMEjs.a; exports.ignore = _chunkUFUSYJWUjs.f; exports.isEquatable = _chunkPVFUNWT6js.b; exports.isErrorConstructor = _chunkE7KI3V22js.j; exports.isNumber = _chunkE7KI3V22js.e; exports.isString = _chunkE7KI3V22js.f; exports.isSubset = _chunkVCCKNYOYjs.b; exports.isValidYYYYMMDD = _chunkE7KI3V22js.b; exports.matchesExpectedVersion = _chunkVY2C2KCWjs.d; exports.merge = _chunk3JE5DUJ2js.a; exports.parseDateFromUtcYYYYMMDD = _chunkE7KI3V22js.c; exports.publish = _chunkUFUSYJWUjs.c; exports.reply = _chunkUFUSYJWUjs.a; exports.schedule = _chunkUFUSYJWUjs.d; exports.send = _chunkUFUSYJWUjs.b; exports.sum = _chunkFE73T2NSjs.a; exports.verifyThat = _chunkVCCKNYOYjs.q;
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
package/dist/index.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import"./chunk-AHXBZPOE.mjs";import{a as
|
|
1
|
+
import"./chunk-AHXBZPOE.mjs";import{a as po}from"./chunk-N6X7QWHP.mjs";import{a as W}from"./chunk-EYIJ7ZKY.mjs";import{a as E,b as F,c as G,d as H,e as I,f as J,g as K,h as L,i as M,j as N,k as O,l as P,m as Q,n as R,o as S,p as T,q as U,r as V}from"./chunk-ZFBWMZ55.mjs";import"./chunk-3DH3DSMC.mjs";import{a as A,b as B}from"./chunk-B7NWWHCY.mjs";import{a as C}from"./chunk-OBA6MZMG.mjs";import{a as D}from"./chunk-YKFEDBH4.mjs";import"./chunk-YWRV75GA.mjs";import{a as X}from"./chunk-JDYZZRJE.mjs";import"./chunk-3LYVXI5R.mjs";import"./chunk-DOHUIBZQ.mjs";import{a as Y}from"./chunk-YGYVF7JI.mjs";import{a as Z,b as _,c as $,d as oo,e as ro,f as eo,g as fo,h as mo}from"./chunk-GNUOGYD6.mjs";import"./chunk-DIW552TK.mjs";import"./chunk-7JLAVMM3.mjs";import{a as y,b as z}from"./chunk-PKL7KGJ3.mjs";import"./chunk-XLZS42HB.mjs";import{a as w}from"./chunk-NXFNVBXL.mjs";import{a as v}from"./chunk-POWQ3BZ6.mjs";import"./chunk-45ODDXOQ.mjs";import{a as u}from"./chunk-JVPAJ3FU.mjs";import"./chunk-D24KLTN5.mjs";import{a as j,b as k,c as l,d as n,e as q,f as s}from"./chunk-HKDMOB55.mjs";import{a as o,b as r,c as e,d as f,e as m,f as p,g as t,h as x,i as a,j as b,k as c,l as d,m as g,n as h,o as i}from"./chunk-KLLSLLHN.mjs";export{E as AssertionError,v as CommandHandler,d as ConcurrencyError,w as DeciderCommandHandler,W as DeciderSpecification,c as EmmettError,s as ExpectedVersionConflictError,h as IllegalStateError,z as JSONParser,l as NO_CONCURRENCY_CHECK,i as NotFoundError,y as ParseError,k as STREAM_DOES_NOT_EXIST,j as STREAM_EXISTS,g as ValidationError,f as ValidationErrors,po as WrapEventStore,mo as accept,T as argMatches,S as argValue,J as assertDeepEqual,O as assertEqual,q as assertExpectedVersionMatchesCurrent,G as assertFails,L as assertFalse,Q as assertIsNotNull,R as assertIsNull,I as assertMatches,t as assertNotEmptyString,P as assertNotEqual,N as assertOk,x as assertPositiveNumber,K as assertThat,V as assertThatArray,H as assertThrows,M as assertTrue,a as assertUnsignedBigInt,X as command,ro as complete,A as deepEquals,fo as error,Y as event,o as formatDateToUtcYYYYMMDD,u as getInMemoryEventStore,eo as ignore,B as isEquatable,b as isErrorConstructor,m as isNumber,p as isString,F as isSubset,r as isValidYYYYMMDD,n as matchesExpectedVersion,D as merge,e as parseDateFromUtcYYYYMMDD,$ as publish,Z as reply,oo as schedule,_ as send,C as sum,U as verifyThat};
|
|
2
2
|
//# sourceMappingURL=index.mjs.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkG6LPI3PAjs = require('../../chunk-G6LPI3PA.js');require('../../chunk-2E7KSKKI.js');require('../../chunk-5JZKD7CB.js');require('../../chunk-ZIBX4FPG.js');require('../../chunk-FNYJ62RO.js');require('../../chunk-4K5I5WJG.js');exports.CompositeDecoder = _chunkG6LPI3PAjs.a; exports.DefaultDecoder = _chunkG6LPI3PAjs.b;
|
|
2
2
|
//# sourceMappingURL=composite.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a,b}from"../../chunk-
|
|
1
|
+
import{a,b}from"../../chunk-TKIRQ76T.mjs";import"../../chunk-HKNRGZN2.mjs";import"../../chunk-MR2WVMFM.mjs";import"../../chunk-S3C5CKD5.mjs";import"../../chunk-VTWTSAHB.mjs";import"../../chunk-WCQF2QY4.mjs";export{a as CompositeDecoder,b as DefaultDecoder};
|
|
2
2
|
//# sourceMappingURL=composite.mjs.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});require('../../chunk-BP5RXRGL.js');var
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});require('../../chunk-BP5RXRGL.js');var _chunkG6LPI3PAjs = require('../../chunk-G6LPI3PA.js');var _chunk2E7KSKKIjs = require('../../chunk-2E7KSKKI.js');var _chunk5JZKD7CBjs = require('../../chunk-5JZKD7CB.js');var _chunkZIBX4FPGjs = require('../../chunk-ZIBX4FPG.js');var _chunkFNYJ62ROjs = require('../../chunk-FNYJ62RO.js');require('../../chunk-4K5I5WJG.js');exports.BinaryJsonDecoder = _chunk2E7KSKKIjs.a; exports.CompositeDecoder = _chunkG6LPI3PAjs.a; exports.DefaultDecoder = _chunkG6LPI3PAjs.b; exports.JsonDecoder = _chunk5JZKD7CBjs.a; exports.ObjectDecoder = _chunkZIBX4FPGjs.a; exports.StringDecoder = _chunkFNYJ62ROjs.a;
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import"../../chunk-FVA6ACSC.mjs";import{a as e,b as f}from"../../chunk-
|
|
1
|
+
import"../../chunk-FVA6ACSC.mjs";import{a as e,b as f}from"../../chunk-TKIRQ76T.mjs";import{a}from"../../chunk-HKNRGZN2.mjs";import{a as c}from"../../chunk-MR2WVMFM.mjs";import{a as d}from"../../chunk-S3C5CKD5.mjs";import{a as b}from"../../chunk-VTWTSAHB.mjs";import"../../chunk-WCQF2QY4.mjs";export{a as BinaryJsonDecoder,e as CompositeDecoder,f as DefaultDecoder,c as JsonDecoder,d as ObjectDecoder,b as StringDecoder};
|
|
2
2
|
//# sourceMappingURL=index.mjs.map
|
package/dist/streaming/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});require('../chunk-BP5RXRGL.js');var
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});require('../chunk-BP5RXRGL.js');var _chunk7ZSJY377js = require('../chunk-7ZSJY377.js');var _chunkG6LPI3PAjs = require('../chunk-G6LPI3PA.js');var _chunk2E7KSKKIjs = require('../chunk-2E7KSKKI.js');var _chunk5JZKD7CBjs = require('../chunk-5JZKD7CB.js');var _chunkZIBX4FPGjs = require('../chunk-ZIBX4FPG.js');var _chunkFNYJ62ROjs = require('../chunk-FNYJ62RO.js');var _chunk4K5I5WJGjs = require('../chunk-4K5I5WJG.js');var _chunkUHJAD4TUjs = require('../chunk-UHJAD4TU.js');exports.BinaryJsonDecoder = _chunk2E7KSKKIjs.a; exports.CompositeDecoder = _chunkG6LPI3PAjs.a; exports.DefaultDecoder = _chunkG6LPI3PAjs.b; exports.JsonDecoder = _chunk5JZKD7CBjs.a; exports.ObjectDecoder = _chunkZIBX4FPGjs.a; exports.StringDecoder = _chunkFNYJ62ROjs.a; exports.collectStream = _chunkUHJAD4TUjs.a; exports.concatUint8Arrays = _chunk4K5I5WJGjs.a; exports.restream = _chunk7ZSJY377js.a;
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
package/dist/streaming/index.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import"../chunk-FVA6ACSC.mjs";import{a
|
|
1
|
+
import"../chunk-FVA6ACSC.mjs";import{a}from"../chunk-ZV7YVTI7.mjs";import{a as t,b as x}from"../chunk-TKIRQ76T.mjs";import{a as e}from"../chunk-HKNRGZN2.mjs";import{a as m}from"../chunk-MR2WVMFM.mjs";import{a as p}from"../chunk-S3C5CKD5.mjs";import{a as f}from"../chunk-VTWTSAHB.mjs";import{a as o}from"../chunk-WCQF2QY4.mjs";import{a as r}from"../chunk-7LENV63T.mjs";export{e as BinaryJsonDecoder,t as CompositeDecoder,x as DefaultDecoder,m as JsonDecoder,p as ObjectDecoder,f as StringDecoder,r as collectStream,o as concatUint8Arrays,a as restream};
|
|
2
2
|
//# sourceMappingURL=index.mjs.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunk7ZSJY377js = require('../chunk-7ZSJY377.js');require('../chunk-G6LPI3PA.js');require('../chunk-2E7KSKKI.js');require('../chunk-5JZKD7CB.js');require('../chunk-ZIBX4FPG.js');require('../chunk-FNYJ62RO.js');require('../chunk-4K5I5WJG.js');exports.restream = _chunk7ZSJY377js.a;
|
|
2
2
|
//# sourceMappingURL=restream.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a}from"../chunk-
|
|
1
|
+
import{a}from"../chunk-ZV7YVTI7.mjs";import"../chunk-TKIRQ76T.mjs";import"../chunk-HKNRGZN2.mjs";import"../chunk-MR2WVMFM.mjs";import"../chunk-S3C5CKD5.mjs";import"../chunk-VTWTSAHB.mjs";import"../chunk-WCQF2QY4.mjs";export{a as restream};
|
|
2
2
|
//# sourceMappingURL=restream.mjs.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkVCCKNYOYjs = require('../chunk-VCCKNYOY.js');require('../chunk-6IATZUYD.js');require('../chunk-PVFUNWT6.js');require('../chunk-FE73T2NS.js');require('../chunk-3JE5DUJ2.js');exports.AssertionError = _chunkVCCKNYOYjs.a; exports.argMatches = _chunkVCCKNYOYjs.p; exports.argValue = _chunkVCCKNYOYjs.o; exports.assertDeepEqual = _chunkVCCKNYOYjs.f; exports.assertEqual = _chunkVCCKNYOYjs.k; exports.assertFails = _chunkVCCKNYOYjs.c; exports.assertFalse = _chunkVCCKNYOYjs.h; exports.assertIsNotNull = _chunkVCCKNYOYjs.m; exports.assertIsNull = _chunkVCCKNYOYjs.n; exports.assertMatches = _chunkVCCKNYOYjs.e; exports.assertNotEqual = _chunkVCCKNYOYjs.l; exports.assertOk = _chunkVCCKNYOYjs.j; exports.assertThat = _chunkVCCKNYOYjs.g; exports.assertThatArray = _chunkVCCKNYOYjs.r; exports.assertThrows = _chunkVCCKNYOYjs.d; exports.assertTrue = _chunkVCCKNYOYjs.i; exports.isSubset = _chunkVCCKNYOYjs.b; exports.verifyThat = _chunkVCCKNYOYjs.q;
|
|
2
2
|
//# sourceMappingURL=assertions.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r}from"../chunk-
|
|
1
|
+
import{a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r}from"../chunk-ZFBWMZ55.mjs";import"../chunk-3DH3DSMC.mjs";import"../chunk-B7NWWHCY.mjs";import"../chunk-OBA6MZMG.mjs";import"../chunk-YKFEDBH4.mjs";export{a as AssertionError,p as argMatches,o as argValue,f as assertDeepEqual,k as assertEqual,c as assertFails,h as assertFalse,m as assertIsNotNull,n as assertIsNull,e as assertMatches,l as assertNotEqual,j as assertOk,g as assertThat,r as assertThatArray,d as assertThrows,i as assertTrue,b as isSubset,q as verifyThat};
|
|
2
2
|
//# sourceMappingURL=assertions.mjs.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkOIDX2JMHjs = require('../chunk-OIDX2JMH.js');require('../chunk-VCCKNYOY.js');require('../chunk-6IATZUYD.js');require('../chunk-PVFUNWT6.js');require('../chunk-FE73T2NS.js');require('../chunk-3JE5DUJ2.js');require('../chunk-E7KI3V22.js');exports.DeciderSpecification = _chunkOIDX2JMHjs.a;
|
|
2
2
|
//# sourceMappingURL=deciderSpecification.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a}from"../chunk-
|
|
1
|
+
import{a}from"../chunk-EYIJ7ZKY.mjs";import"../chunk-ZFBWMZ55.mjs";import"../chunk-3DH3DSMC.mjs";import"../chunk-B7NWWHCY.mjs";import"../chunk-OBA6MZMG.mjs";import"../chunk-YKFEDBH4.mjs";import"../chunk-KLLSLLHN.mjs";export{a as DeciderSpecification};
|
|
2
2
|
//# sourceMappingURL=deciderSpecification.mjs.map
|
package/dist/testing/features.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunk7BR3VBVDjs = require('../chunk-7BR3VBVD.js');var
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunk7BR3VBVDjs = require('../chunk-7BR3VBVD.js');var _chunkVCCKNYOYjs = require('../chunk-VCCKNYOY.js');require('../chunk-6IATZUYD.js');require('../chunk-PVFUNWT6.js');require('../chunk-FE73T2NS.js');require('../chunk-3JE5DUJ2.js');require('../chunk-ZLASBJGR.js');require('../chunk-MHB2JU4U.js');require('../chunk-7FJXUW3D.js');require('../chunk-5BGN2FV4.js');require('../chunk-KQAFRLJ2.js');require('../chunk-UFUSYJWU.js');var _crypto = require('crypto');var _test = require('test');async function C(g,r={getInitialIndex:()=>1n}){return _test.describe.call(void 0, "aggregateStream",async()=>{let t,u=[{evolve:_chunk7BR3VBVDjs.a,info:"evolve with raw event"},{evolve:_chunk7BR3VBVDjs.b,info:"evolve with event and metadata"}];_test.before.call(void 0, async()=>{t=await g()}),_test.after.call(void 0, async()=>{let e=r.teardownHook;e&&await e()});for(let e of u)await _test.it.call(void 0, `When called with 'to' allows time traveling using ${e.info}`,async()=>{let a={productId:"123",quantity:10,price:3},S=10,o=_crypto.randomUUID.call(void 0, );await t.appendToStream(o,[{type:"ProductItemAdded",data:{productItem:a}}]),await t.appendToStream(o,[{type:"ProductItemAdded",data:{productItem:a}}]),await t.appendToStream(o,[{type:"DiscountApplied",data:{percent:S}}]);let p=await t.aggregateStream(o,{evolve:e.evolve,initialState:_chunk7BR3VBVDjs.c,read:{to:1n}}),v=await t.aggregateStream(o,{evolve:e.evolve,initialState:_chunk7BR3VBVDjs.c,read:{to:2n}}),c=await t.aggregateStream(o,{evolve:e.evolve,initialState:_chunk7BR3VBVDjs.c,read:{to:3n}});_chunkVCCKNYOYjs.j.call(void 0, p),_chunkVCCKNYOYjs.j.call(void 0, v),_chunkVCCKNYOYjs.j.call(void 0, c),_chunkVCCKNYOYjs.k.call(void 0, p.currentStreamVersion,r.getInitialIndex()),_chunkVCCKNYOYjs.f.call(void 0, p.state,{productItems:[a],totalAmount:30}),_chunkVCCKNYOYjs.k.call(void 0, v.currentStreamVersion,r.getInitialIndex()+1n),_chunkVCCKNYOYjs.f.call(void 0, v.state,{productItems:[a,a],totalAmount:60}),_chunkVCCKNYOYjs.k.call(void 0, c.currentStreamVersion,r.getInitialIndex()+2n),_chunkVCCKNYOYjs.f.call(void 0, c.state,{productItems:[a,a],totalAmount:54})})})}exports.testAggregateStream = C;
|
|
2
2
|
//# sourceMappingURL=features.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as m,b as l,c as d}from"../chunk-WB5PNUKG.mjs";import{f as n,j as i,k as s}from"../chunk-
|
|
1
|
+
import{a as m,b as l,c as d}from"../chunk-WB5PNUKG.mjs";import{f as n,j as i,k as s}from"../chunk-ZFBWMZ55.mjs";import"../chunk-3DH3DSMC.mjs";import"../chunk-B7NWWHCY.mjs";import"../chunk-OBA6MZMG.mjs";import"../chunk-YKFEDBH4.mjs";import"../chunk-YWRV75GA.mjs";import"../chunk-JDYZZRJE.mjs";import"../chunk-3LYVXI5R.mjs";import"../chunk-DOHUIBZQ.mjs";import"../chunk-YGYVF7JI.mjs";import"../chunk-GNUOGYD6.mjs";import{randomUUID as I}from"node:crypto";import{after as w,before as y,describe as f,it as E}from"node:test";async function C(g,r={getInitialIndex:()=>1n}){return f("aggregateStream",async()=>{let t,u=[{evolve:m,info:"evolve with raw event"},{evolve:l,info:"evolve with event and metadata"}];y(async()=>{t=await g()}),w(async()=>{let e=r.teardownHook;e&&await e()});for(let e of u)await E(`When called with 'to' allows time traveling using ${e.info}`,async()=>{let a={productId:"123",quantity:10,price:3},S=10,o=I();await t.appendToStream(o,[{type:"ProductItemAdded",data:{productItem:a}}]),await t.appendToStream(o,[{type:"ProductItemAdded",data:{productItem:a}}]),await t.appendToStream(o,[{type:"DiscountApplied",data:{percent:S}}]);let p=await t.aggregateStream(o,{evolve:e.evolve,initialState:d,read:{to:1n}}),v=await t.aggregateStream(o,{evolve:e.evolve,initialState:d,read:{to:2n}}),c=await t.aggregateStream(o,{evolve:e.evolve,initialState:d,read:{to:3n}});i(p),i(v),i(c),s(p.currentStreamVersion,r.getInitialIndex()),n(p.state,{productItems:[a],totalAmount:30}),s(v.currentStreamVersion,r.getInitialIndex()+1n),n(v.state,{productItems:[a,a],totalAmount:60}),s(c.currentStreamVersion,r.getInitialIndex()+2n),n(c.state,{productItems:[a,a],totalAmount:54})})})}export{C as testAggregateStream};
|
|
2
2
|
//# sourceMappingURL=features.mjs.map
|
package/dist/testing/index.d.mts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
export { ArgumentMatcher, AssertionError, MockedFunction, argMatches, argValue, assertDeepEqual, assertEqual, assertFails, assertFalse, assertIsNotNull, assertIsNull, assertMatches, assertNotEqual, assertOk, assertThat, assertThatArray, assertThrows, assertTrue, isSubset, verifyThat } from './assertions.mjs';
|
|
2
2
|
export { DeciderSpecfication, DeciderSpecification, ThenThrows } from './deciderSpecification.mjs';
|
|
3
|
-
export {
|
|
3
|
+
export { TestEventStream, WrapEventStore } from './wrapEventStore.mjs';
|
|
4
4
|
import '../errors/index.mjs';
|
|
5
|
+
import '../eventStore-CdmvM2NC.mjs';
|
|
5
6
|
import '../typing/index.mjs';
|
|
6
7
|
import '../typing/deepReadonly.mjs';
|
package/dist/testing/index.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
export { ArgumentMatcher, AssertionError, MockedFunction, argMatches, argValue, assertDeepEqual, assertEqual, assertFails, assertFalse, assertIsNotNull, assertIsNull, assertMatches, assertNotEqual, assertOk, assertThat, assertThatArray, assertThrows, assertTrue, isSubset, verifyThat } from './assertions.js';
|
|
2
2
|
export { DeciderSpecfication, DeciderSpecification, ThenThrows } from './deciderSpecification.js';
|
|
3
|
-
export {
|
|
3
|
+
export { TestEventStream, WrapEventStore } from './wrapEventStore.js';
|
|
4
4
|
import '../errors/index.js';
|
|
5
|
+
import '../eventStore-BovqZT1r.js';
|
|
5
6
|
import '../typing/index.js';
|
|
6
7
|
import '../typing/deepReadonly.js';
|
package/dist/testing/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});require('../chunk-BNCTLP4B.js');var
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});require('../chunk-BNCTLP4B.js');var _chunkTNX525X5js = require('../chunk-TNX525X5.js');var _chunkOIDX2JMHjs = require('../chunk-OIDX2JMH.js');var _chunkVCCKNYOYjs = require('../chunk-VCCKNYOY.js');require('../chunk-6IATZUYD.js');require('../chunk-PVFUNWT6.js');require('../chunk-FE73T2NS.js');require('../chunk-3JE5DUJ2.js');require('../chunk-ZLASBJGR.js');require('../chunk-MHB2JU4U.js');require('../chunk-7FJXUW3D.js');require('../chunk-5BGN2FV4.js');require('../chunk-KQAFRLJ2.js');require('../chunk-UFUSYJWU.js');require('../chunk-E7KI3V22.js');exports.AssertionError = _chunkVCCKNYOYjs.a; exports.DeciderSpecification = _chunkOIDX2JMHjs.a; exports.WrapEventStore = _chunkTNX525X5js.a; exports.argMatches = _chunkVCCKNYOYjs.p; exports.argValue = _chunkVCCKNYOYjs.o; exports.assertDeepEqual = _chunkVCCKNYOYjs.f; exports.assertEqual = _chunkVCCKNYOYjs.k; exports.assertFails = _chunkVCCKNYOYjs.c; exports.assertFalse = _chunkVCCKNYOYjs.h; exports.assertIsNotNull = _chunkVCCKNYOYjs.m; exports.assertIsNull = _chunkVCCKNYOYjs.n; exports.assertMatches = _chunkVCCKNYOYjs.e; exports.assertNotEqual = _chunkVCCKNYOYjs.l; exports.assertOk = _chunkVCCKNYOYjs.j; exports.assertThat = _chunkVCCKNYOYjs.g; exports.assertThatArray = _chunkVCCKNYOYjs.r; exports.assertThrows = _chunkVCCKNYOYjs.d; exports.assertTrue = _chunkVCCKNYOYjs.i; exports.isSubset = _chunkVCCKNYOYjs.b; exports.verifyThat = _chunkVCCKNYOYjs.q;
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
package/dist/testing/index.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import"../chunk-AHXBZPOE.mjs";import{a as
|
|
1
|
+
import"../chunk-AHXBZPOE.mjs";import{a as t}from"../chunk-N6X7QWHP.mjs";import{a as s}from"../chunk-EYIJ7ZKY.mjs";import{a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r}from"../chunk-ZFBWMZ55.mjs";import"../chunk-3DH3DSMC.mjs";import"../chunk-B7NWWHCY.mjs";import"../chunk-OBA6MZMG.mjs";import"../chunk-YKFEDBH4.mjs";import"../chunk-YWRV75GA.mjs";import"../chunk-JDYZZRJE.mjs";import"../chunk-3LYVXI5R.mjs";import"../chunk-DOHUIBZQ.mjs";import"../chunk-YGYVF7JI.mjs";import"../chunk-GNUOGYD6.mjs";import"../chunk-KLLSLLHN.mjs";export{a as AssertionError,s as DeciderSpecification,t as WrapEventStore,p as argMatches,o as argValue,f as assertDeepEqual,k as assertEqual,c as assertFails,h as assertFalse,m as assertIsNotNull,n as assertIsNull,e as assertMatches,l as assertNotEqual,j as assertOk,g as assertThat,r as assertThatArray,d as assertThrows,i as assertTrue,b as isSubset,q as verifyThat};
|
|
2
2
|
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { E as EventStore, d as AppendToStreamResult } from '../eventStore-CdmvM2NC.mjs';
|
|
2
|
+
import { Event } from '../typing/index.mjs';
|
|
3
|
+
import '../errors/index.mjs';
|
|
4
|
+
import '../typing/deepReadonly.mjs';
|
|
5
|
+
|
|
6
|
+
type TestEventStream<EventType extends Event = Event> = [
|
|
7
|
+
string,
|
|
8
|
+
EventType[]
|
|
9
|
+
];
|
|
10
|
+
declare const WrapEventStore: <StreamVersion = bigint>(eventStore: EventStore<StreamVersion>) => EventStore<StreamVersion, Readonly<{
|
|
11
|
+
eventId: string;
|
|
12
|
+
streamPosition: bigint;
|
|
13
|
+
streamName: string;
|
|
14
|
+
}>> & {
|
|
15
|
+
appendedEvents: Map<string, TestEventStream>;
|
|
16
|
+
setup<EventType extends Event>(streamName: string, events: EventType[]): Promise<AppendToStreamResult<StreamVersion>>;
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
export { type TestEventStream, WrapEventStore };
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { E as EventStore, d as AppendToStreamResult } from '../eventStore-BovqZT1r.js';
|
|
2
|
+
import { Event } from '../typing/index.js';
|
|
3
|
+
import '../errors/index.js';
|
|
4
|
+
import '../typing/deepReadonly.js';
|
|
5
|
+
|
|
6
|
+
type TestEventStream<EventType extends Event = Event> = [
|
|
7
|
+
string,
|
|
8
|
+
EventType[]
|
|
9
|
+
];
|
|
10
|
+
declare const WrapEventStore: <StreamVersion = bigint>(eventStore: EventStore<StreamVersion>) => EventStore<StreamVersion, Readonly<{
|
|
11
|
+
eventId: string;
|
|
12
|
+
streamPosition: bigint;
|
|
13
|
+
streamName: string;
|
|
14
|
+
}>> & {
|
|
15
|
+
appendedEvents: Map<string, TestEventStream>;
|
|
16
|
+
setup<EventType extends Event>(streamName: string, events: EventType[]): Promise<AppendToStreamResult<StreamVersion>>;
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
export { type TestEventStream, WrapEventStore };
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkTNX525X5js = require('../chunk-TNX525X5.js');require('../chunk-ZLASBJGR.js');require('../chunk-MHB2JU4U.js');require('../chunk-7FJXUW3D.js');require('../chunk-5BGN2FV4.js');require('../chunk-KQAFRLJ2.js');require('../chunk-UFUSYJWU.js');exports.WrapEventStore = _chunkTNX525X5js.a;
|
|
2
|
+
//# sourceMappingURL=wrapEventStore.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{a}from"../chunk-N6X7QWHP.mjs";import"../chunk-YWRV75GA.mjs";import"../chunk-JDYZZRJE.mjs";import"../chunk-3LYVXI5R.mjs";import"../chunk-DOHUIBZQ.mjs";import"../chunk-YGYVF7JI.mjs";import"../chunk-GNUOGYD6.mjs";export{a as WrapEventStore};
|
|
2
|
+
//# sourceMappingURL=wrapEventStore.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
package/dist/utils/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunk6IATZUYDjs = require('../chunk-6IATZUYD.js');var
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunk6IATZUYDjs = require('../chunk-6IATZUYD.js');var _chunkPVFUNWT6js = require('../chunk-PVFUNWT6.js');var _chunkFE73T2NSjs = require('../chunk-FE73T2NS.js');var _chunk3JE5DUJ2js = require('../chunk-3JE5DUJ2.js');exports.deepEquals = _chunkPVFUNWT6js.a; exports.default = _chunk6IATZUYDjs.a; exports.isEquatable = _chunkPVFUNWT6js.b; exports.merge = _chunk3JE5DUJ2js.a; exports.sum = _chunkFE73T2NSjs.a;
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
package/dist/utils/index.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as e}from"../chunk-3DH3DSMC.mjs";import{a
|
|
1
|
+
import{a as e}from"../chunk-3DH3DSMC.mjs";import{a,b}from"../chunk-B7NWWHCY.mjs";import{a as c}from"../chunk-OBA6MZMG.mjs";import{a as d}from"../chunk-YKFEDBH4.mjs";export{a as deepEquals,e as default,b as isEquatable,d as merge,c as sum};
|
|
2
2
|
//# sourceMappingURL=index.mjs.map
|
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/testing/assertions.ts"],"sourcesContent":["import type { DefaultRecord } from '../typing';\nimport { deepEquals } from '../utils';\n\nexport class AssertionError extends Error {\n constructor(message: string) {\n super(message);\n }\n}\nexport const isSubset = (superObj: unknown, subObj: unknown): boolean => {\n const sup = superObj as DefaultRecord;\n const sub = subObj as DefaultRecord;\n\n return Object.keys(sub).every((ele: string) => {\n if (typeof sub[ele] == 'object') {\n return isSubset(sup[ele], sub[ele]);\n }\n return sub[ele] === sup[ele];\n });\n};\n\nexport const assertFails = () => {\n throw new AssertionError('That should not ever happened, right?');\n};\n\nexport const assertThrows = (\n fun: () => void,\n errorCheck?: (error: Error) => boolean,\n) => {\n try {\n fun();\n throw new AssertionError(\"Function didn't throw expected error\");\n } catch (error) {\n if (errorCheck) assertTrue(errorCheck(error as Error));\n }\n};\n\nexport const assertMatches = (\n actual: unknown,\n expected: unknown,\n message?: string,\n) => {\n if (!isSubset(actual, expected))\n throw new AssertionError(\n message ??\n `subObj:\\n${JSON.stringify(expected)}\\nis not subset of\\n${JSON.stringify(actual)}`,\n );\n};\n\nexport const assertDeepEqual = (\n actual: unknown,\n expected: unknown,\n message?: string,\n) => {\n if (!deepEquals(actual, expected))\n throw new AssertionError(\n message ??\n `subObj:\\n${JSON.stringify(expected)}\\nis equals to\\n${JSON.stringify(actual)}`,\n );\n};\n\nexport const assertThat = <T>(item: T) => {\n return {\n isEqualTo: (other: T) => assertTrue(deepEquals(item, other)),\n };\n};\n\nexport function assertFalse(\n condition: boolean,\n message?: string,\n): asserts condition is false {\n if (condition) throw new AssertionError(message ?? `Condition is false`);\n}\n\nexport function assertTrue(\n condition: boolean,\n message?: string,\n): asserts condition is true {\n if (!condition) throw new AssertionError(message ?? `Condition is false`);\n}\n\nexport function assertOk<T>(\n obj: T | null | undefined,\n message?: string,\n): asserts obj is T {\n if (!obj) throw new AssertionError(message ?? `Condition is not truthy`);\n}\n\nexport function assertEqual<T>(\n obj: T | null | undefined,\n other: T | null | undefined,\n message?: string,\n): void {\n if (obj !== other)\n throw new AssertionError(\n message ??\n `Objects are not equal:\\n ${JSON.stringify(obj)}\\ncompared:\\n${JSON.stringify(other)}`,\n );\n}\n\nexport function assertNotEqual<T>(\n obj: T | null | undefined,\n other: T | null | undefined,\n message?: string,\n): void {\n if (obj === other)\n throw new AssertionError(\n message ?? `Objects are equal: ${JSON.stringify(obj)}`,\n );\n}\n\nexport function assertIsNotNull<T extends object>(\n result: T | null,\n): asserts result is T {\n assertNotEqual(result, null);\n assertOk(result);\n}\n\nexport function assertIsNull<T extends object>(\n result: T | null,\n): asserts result is null {\n assertEqual(result, null);\n}\n\ntype Call = {\n arguments: unknown[];\n result: unknown;\n target: unknown;\n this: unknown;\n};\n\nexport type ArgumentMatcher = (arg: unknown) => boolean;\n\nexport const argValue =\n <T>(value: T): ArgumentMatcher =>\n (arg) =>\n deepEquals(arg, value);\n\nexport const argMatches =\n <T>(matches: (arg: T) => boolean): ArgumentMatcher =>\n (arg) =>\n matches(arg as T);\n\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport type MockedFunction = Function & { mock?: { calls: Call[] } };\n\nexport function verifyThat(fn: MockedFunction) {\n return {\n calledTimes: (times: number) => {\n assertEqual(fn.mock?.calls?.length, times);\n },\n notCalled: () => {\n assertEqual(fn?.mock?.calls?.length, 0);\n },\n called: () => {\n assertTrue(\n fn.mock?.calls.length !== undefined && fn.mock.calls.length > 0,\n );\n },\n calledWith: (...args: unknown[]) => {\n assertTrue(\n fn.mock?.calls.length !== undefined &&\n fn.mock.calls.length >= 1 &&\n fn.mock.calls.some((call) => deepEquals(call.arguments, args)),\n );\n },\n calledOnceWith: (...args: unknown[]) => {\n assertTrue(\n fn.mock?.calls.length !== undefined &&\n fn.mock.calls.length === 1 &&\n fn.mock.calls.some((call) => deepEquals(call.arguments, args)),\n );\n },\n calledWithArgumentMatching: (...matches: ArgumentMatcher[]) => {\n assertTrue(\n fn.mock?.calls.length !== undefined && fn.mock.calls.length >= 1,\n );\n assertTrue(\n fn.mock?.calls.length !== undefined &&\n fn.mock.calls.length >= 1 &&\n fn.mock.calls.some(\n (call) =>\n call.arguments &&\n call.arguments.length >= matches.length &&\n matches.every((match, index) => match(call.arguments[index])),\n ),\n );\n },\n notCalledWithArgumentMatching: (...matches: ArgumentMatcher[]) => {\n assertFalse(\n fn.mock?.calls.length !== undefined &&\n fn.mock.calls.length >= 1 &&\n fn.mock.calls[0]!.arguments &&\n fn.mock.calls[0]!.arguments.length >= matches.length &&\n matches.every((match, index) =>\n match(fn.mock!.calls[0]!.arguments[index]),\n ),\n );\n },\n };\n}\n\nexport const assertThatArray = <T>(array: T[]) => {\n return {\n isEmpty: () => assertEqual(array.length, 0),\n hasSize: (length: number) => assertEqual(array.length, length),\n containsElements: (...other: T[]) => {\n assertTrue(other.every((ts) => other.some((o) => deepEquals(ts, o))));\n },\n containsExactlyInAnyOrder: (...other: T[]) => {\n assertEqual(array.length, other.length);\n assertTrue(array.every((ts) => other.some((o) => deepEquals(ts, o))));\n },\n containsExactlyInAnyOrderElementsOf: (other: T[]) => {\n assertEqual(array.length, other.length);\n assertTrue(array.every((ts) => other.some((o) => deepEquals(ts, o))));\n },\n containsExactlyElementsOf: (other: T[]) => {\n assertEqual(array.length, other.length);\n for (let i = 0; i < array.length; i++) {\n assertTrue(deepEquals(array[i], other[i]));\n }\n },\n containsExactly: (elem: T) => {\n assertEqual(array.length, 1);\n assertTrue(deepEquals(array[0], elem));\n },\n contains: (elem: T) => {\n assertTrue(array.some((a) => deepEquals(a, elem)));\n },\n containsOnlyOnceElementsOf: (other: T[]) => {\n assertTrue(\n other\n .map((o) => array.filter((a) => deepEquals(a, o)).length)\n .filter((a) => a === 1).length === other.length,\n );\n },\n containsAnyOf: (...other: T[]) => {\n assertTrue(array.some((a) => other.some((o) => deepEquals(a, o))));\n },\n allMatch: (matches: (item: T) => boolean) => {\n assertTrue(array.every(matches));\n },\n anyMatches: (matches: (item: T) => boolean) => {\n assertTrue(array.some(matches));\n },\n allMatchAsync: async (\n matches: (item: T) => Promise<boolean>,\n ): Promise<void> => {\n for (const item of array) {\n assertTrue(await matches(item));\n }\n },\n };\n};\n"],"mappings":"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","names":["AssertionError","message","isSubset","superObj","subObj","sup","sub","ele","assertFails","assertThrows","fun","errorCheck","error","assertTrue","assertMatches","actual","expected","assertDeepEqual","deepEquals","assertThat","item","other","assertFalse","condition","assertOk","obj","assertEqual","assertNotEqual","assertIsNotNull","result","assertIsNull","argValue","value","arg","argMatches","matches","verifyThat","fn","times","args","call","match","index","assertThatArray","array","length","ts","o","i","elem","a"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/testing/assertions.ts"],"names":["AssertionError","message","isSubset","superObj","subObj","sup","sub","ele","assertFails","assertThrows","fun","errorCheck","error","assertTrue","assertMatches","actual","expected","assertDeepEqual","deepEquals","assertThat","item","other","assertFalse","condition","assertOk","obj","assertEqual","assertNotEqual","assertIsNotNull","result","assertIsNull","argValue","value","arg","argMatches","matches","verifyThat","fn","times","args","call","match","index","assertThatArray","array","length","ts","o","i","elem","a"],"mappings":"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","sourcesContent":["import type { DefaultRecord } from '../typing';\nimport { deepEquals } from '../utils';\n\nexport class AssertionError extends Error {\n constructor(message: string) {\n super(message);\n }\n}\nexport const isSubset = (superObj: unknown, subObj: unknown): boolean => {\n const sup = superObj as DefaultRecord;\n const sub = subObj as DefaultRecord;\n\n return Object.keys(sub).every((ele: string) => {\n if (typeof sub[ele] == 'object') {\n return isSubset(sup[ele], sub[ele]);\n }\n return sub[ele] === sup[ele];\n });\n};\n\nexport const assertFails = () => {\n throw new AssertionError('That should not ever happened, right?');\n};\n\nexport const assertThrows = (\n fun: () => void,\n errorCheck?: (error: Error) => boolean,\n) => {\n try {\n fun();\n throw new AssertionError(\"Function didn't throw expected error\");\n } catch (error) {\n if (errorCheck) assertTrue(errorCheck(error as Error));\n }\n};\n\nexport const assertMatches = (\n actual: unknown,\n expected: unknown,\n message?: string,\n) => {\n if (!isSubset(actual, expected))\n throw new AssertionError(\n message ??\n `subObj:\\n${JSON.stringify(expected)}\\nis not subset of\\n${JSON.stringify(actual)}`,\n );\n};\n\nexport const assertDeepEqual = (\n actual: unknown,\n expected: unknown,\n message?: string,\n) => {\n if (!deepEquals(actual, expected))\n throw new AssertionError(\n message ??\n `subObj:\\n${JSON.stringify(expected)}\\nis equals to\\n${JSON.stringify(actual)}`,\n );\n};\n\nexport const assertThat = <T>(item: T) => {\n return {\n isEqualTo: (other: T) => assertTrue(deepEquals(item, other)),\n };\n};\n\nexport function assertFalse(\n condition: boolean,\n message?: string,\n): asserts condition is false {\n if (condition) throw new AssertionError(message ?? `Condition is false`);\n}\n\nexport function assertTrue(\n condition: boolean,\n message?: string,\n): asserts condition is true {\n if (!condition) throw new AssertionError(message ?? `Condition is false`);\n}\n\nexport function assertOk<T>(\n obj: T | null | undefined,\n message?: string,\n): asserts obj is T {\n if (!obj) throw new AssertionError(message ?? `Condition is not truthy`);\n}\n\nexport function assertEqual<T>(\n obj: T | null | undefined,\n other: T | null | undefined,\n message?: string,\n): void {\n if (obj !== other)\n throw new AssertionError(\n message ??\n `Objects are not equal:\\n ${JSON.stringify(obj)}\\ncompared:\\n${JSON.stringify(other)}`,\n );\n}\n\nexport function assertNotEqual<T>(\n obj: T | null | undefined,\n other: T | null | undefined,\n message?: string,\n): void {\n if (obj === other)\n throw new AssertionError(\n message ?? `Objects are equal: ${JSON.stringify(obj)}`,\n );\n}\n\nexport function assertIsNotNull<T extends object>(\n result: T | null,\n): asserts result is T {\n assertNotEqual(result, null);\n assertOk(result);\n}\n\nexport function assertIsNull<T extends object>(\n result: T | null,\n): asserts result is null {\n assertEqual(result, null);\n}\n\ntype Call = {\n arguments: unknown[];\n result: unknown;\n target: unknown;\n this: unknown;\n};\n\nexport type ArgumentMatcher = (arg: unknown) => boolean;\n\nexport const argValue =\n <T>(value: T): ArgumentMatcher =>\n (arg) =>\n deepEquals(arg, value);\n\nexport const argMatches =\n <T>(matches: (arg: T) => boolean): ArgumentMatcher =>\n (arg) =>\n matches(arg as T);\n\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport type MockedFunction = Function & { mock?: { calls: Call[] } };\n\nexport function verifyThat(fn: MockedFunction) {\n return {\n calledTimes: (times: number) => {\n assertEqual(fn.mock?.calls?.length, times);\n },\n notCalled: () => {\n assertEqual(fn?.mock?.calls?.length, 0);\n },\n called: () => {\n assertTrue(\n fn.mock?.calls.length !== undefined && fn.mock.calls.length > 0,\n );\n },\n calledWith: (...args: unknown[]) => {\n assertTrue(\n fn.mock?.calls.length !== undefined &&\n fn.mock.calls.length >= 1 &&\n fn.mock.calls.some((call) => deepEquals(call.arguments, args)),\n );\n },\n calledOnceWith: (...args: unknown[]) => {\n assertTrue(\n fn.mock?.calls.length !== undefined &&\n fn.mock.calls.length === 1 &&\n fn.mock.calls.some((call) => deepEquals(call.arguments, args)),\n );\n },\n calledWithArgumentMatching: (...matches: ArgumentMatcher[]) => {\n assertTrue(\n fn.mock?.calls.length !== undefined && fn.mock.calls.length >= 1,\n );\n assertTrue(\n fn.mock?.calls.length !== undefined &&\n fn.mock.calls.length >= 1 &&\n fn.mock.calls.some(\n (call) =>\n call.arguments &&\n call.arguments.length >= matches.length &&\n matches.every((match, index) => match(call.arguments[index])),\n ),\n );\n },\n notCalledWithArgumentMatching: (...matches: ArgumentMatcher[]) => {\n assertFalse(\n fn.mock?.calls.length !== undefined &&\n fn.mock.calls.length >= 1 &&\n fn.mock.calls[0]!.arguments &&\n fn.mock.calls[0]!.arguments.length >= matches.length &&\n matches.every((match, index) =>\n match(fn.mock!.calls[0]!.arguments[index]),\n ),\n );\n },\n };\n}\n\nexport const assertThatArray = <T>(array: T[]) => {\n return {\n isEmpty: () => assertEqual(array.length, 0),\n hasSize: (length: number) => assertEqual(array.length, length),\n containsElements: (...other: T[]) => {\n assertTrue(other.every((ts) => other.some((o) => deepEquals(ts, o))));\n },\n containsExactlyInAnyOrder: (...other: T[]) => {\n assertEqual(array.length, other.length);\n assertTrue(array.every((ts) => other.some((o) => deepEquals(ts, o))));\n },\n containsExactlyInAnyOrderElementsOf: (other: T[]) => {\n assertEqual(array.length, other.length);\n assertTrue(array.every((ts) => other.some((o) => deepEquals(ts, o))));\n },\n containsExactlyElementsOf: (other: T[]) => {\n assertEqual(array.length, other.length);\n for (let i = 0; i < array.length; i++) {\n assertTrue(deepEquals(array[i], other[i]));\n }\n },\n containsExactly: (elem: T) => {\n assertEqual(array.length, 1);\n assertTrue(deepEquals(array[0], elem));\n },\n contains: (elem: T) => {\n assertTrue(array.some((a) => deepEquals(a, elem)));\n },\n containsOnlyOnceElementsOf: (other: T[]) => {\n assertTrue(\n other\n .map((o) => array.filter((a) => deepEquals(a, o)).length)\n .filter((a) => a === 1).length === other.length,\n );\n },\n containsAnyOf: (...other: T[]) => {\n assertTrue(array.some((a) => other.some((o) => deepEquals(a, o))));\n },\n allMatch: (matches: (item: T) => boolean) => {\n assertTrue(array.every(matches));\n },\n anyMatches: (matches: (item: T) => boolean) => {\n assertTrue(array.some(matches));\n },\n allMatchAsync: async (\n matches: (item: T) => Promise<boolean>,\n ): Promise<void> => {\n for (const item of array) {\n assertTrue(await matches(item));\n }\n },\n };\n};\n"]}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|