@schemeless/event-store-react-native
Version:
React Native compatible build of the [`@schemeless/event-store`](../event-store) runtime. It mirrors the Node.js implementation but swaps the internal queue implementation to [`react-native-better-queue`](https://github.com/YahyaASadiq/react-native-better
60 lines (59 loc) • 2.42 kB
JavaScript
;
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.NestedTwiceEvent = void 0;
const NestedOnce_event_1 = require("./NestedOnce.event");
const mockStore_1 = require("./mockStore");
const testObject = {
sum: 0,
};
const DOMAIN = 'test';
const TYPE = 'nestedTwice';
exports.NestedTwiceEvent = {
domain: DOMAIN,
type: TYPE,
samplePayload: {
key: 's',
positiveNumber: 1,
},
validate(event) {
return __awaiter(this, void 0, void 0, function* () {
if (event.payload.positiveNumber < 0) {
throw new Error(`Invalid positive number`);
}
});
},
createConsequentEvents(causalEvent) {
const nestedOnceEvent = {
domain: NestedOnce_event_1.NestedOnceEvent.domain,
type: NestedOnce_event_1.NestedOnceEvent.type,
payload: {
key: causalEvent.payload.key,
positiveNumber: causalEvent.payload.positiveNumber - 1,
},
};
return [nestedOnceEvent, nestedOnceEvent];
},
apply(event) {
return __awaiter(this, void 0, void 0, function* () {
const num = (0, mockStore_1.storeGet)(event.payload.key) || 0;
(0, mockStore_1.storeSet)(event.payload.key, num + event.payload.positiveNumber);
});
},
cancelApply(event) {
const num = (0, mockStore_1.storeGet)(event.payload.key) || 0;
(0, mockStore_1.storeSet)(event.payload.key, num - event.payload.positiveNumber);
},
sideEffect(event) {
console.log('sideEffect called');
},
receive: (eventStore) => (eventInputArgs) => eventStore.receive(exports.NestedTwiceEvent)(eventInputArgs),
};