├── .editorconfig ├── .eslintignore ├── .eslintrc ├── .gitignore ├── .npmignore ├── .tachikoma.yml ├── .travis.yml ├── README.md ├── index.js ├── lib ├── definitionBase.js ├── definitions │ ├── collection.js │ ├── eventExtender.js │ ├── preEventExtender.js │ └── viewBuilder.js ├── denormalizer.js ├── errors │ ├── alreadyDenormalizedError.js │ ├── alreadyDenormalizingError.js │ └── concurrencyError.js ├── eventDispatcher.js ├── orderQueue.js ├── replayHandler.js ├── revisionGuard.js ├── revisionGuardStore │ ├── base.js │ ├── databases │ │ ├── dynamodb.js │ │ ├── inmemory.js │ │ ├── mongodb.js │ │ ├── redis.js │ │ └── tingodb.js │ └── index.js └── structure │ ├── customLoader.js │ ├── structureLoader.js │ ├── structureParser.js │ └── treeExtender.js ├── licence ├── package.json ├── releasenotes.md └── test ├── .eslintrc ├── integration ├── fixture │ ├── set1 │ │ ├── eventExtender.js │ │ ├── person │ │ │ ├── collection.js │ │ │ ├── eventExtenders │ │ │ │ ├── enteredNewPerson.js │ │ │ │ └── enteredNewPerson_preExt.js │ │ │ └── viewBuilders │ │ │ │ ├── enteredNewPerson.js │ │ │ │ ├── personLeaved.js │ │ │ │ └── registeredEMailAddress.js │ │ └── personDetail │ │ │ ├── collection.js │ │ │ └── viewBuilders │ │ │ ├── blockedEmail.js │ │ │ ├── enteredNewPerson.js │ │ │ ├── exitedPerson.js │ │ │ └── registeredEMailAddress.js │ └── set2 │ │ ├── eventExtender.js │ │ ├── person │ │ ├── collection.js │ │ ├── eventExtenders │ │ │ └── enteredNewPerson.js │ │ └── viewBuilders │ │ │ └── enteredNewPerson.js │ │ └── personDetail │ │ ├── collection.js │ │ └── viewBuilders │ │ ├── enteredNewPerson.js │ │ └── registeredEMailAddress.js ├── integrationTest.js └── mocha.opts ├── mocha.opts └── unit ├── definitions ├── collectionTest.js ├── definitionBaseTest.js ├── eventExtenderTest.js ├── preEventExtenderTest.js └── viewBuilderTest.js ├── denormalizerTest.js ├── eventDispatcherTest.js ├── mocha.opts ├── orderQueueTest.js ├── replayHandlerTest.js ├── revisionGuardStoreTest.js └── revisionGuardTest.js /.editorconfig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thenativeweb/node-cqrs-eventdenormalizer/HEAD/.editorconfig -------------------------------------------------------------------------------- /.eslintignore: -------------------------------------------------------------------------------- 1 | test/* 2 | -------------------------------------------------------------------------------- /.eslintrc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thenativeweb/node-cqrs-eventdenormalizer/HEAD/.eslintrc -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thenativeweb/node-cqrs-eventdenormalizer/HEAD/.gitignore -------------------------------------------------------------------------------- /.npmignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thenativeweb/node-cqrs-eventdenormalizer/HEAD/.npmignore -------------------------------------------------------------------------------- /.tachikoma.yml: -------------------------------------------------------------------------------- 1 | #.tachikoma.yml 2 | strategy: 'david' 3 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thenativeweb/node-cqrs-eventdenormalizer/HEAD/.travis.yml -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thenativeweb/node-cqrs-eventdenormalizer/HEAD/README.md -------------------------------------------------------------------------------- /index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thenativeweb/node-cqrs-eventdenormalizer/HEAD/index.js -------------------------------------------------------------------------------- /lib/definitionBase.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thenativeweb/node-cqrs-eventdenormalizer/HEAD/lib/definitionBase.js -------------------------------------------------------------------------------- /lib/definitions/collection.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thenativeweb/node-cqrs-eventdenormalizer/HEAD/lib/definitions/collection.js -------------------------------------------------------------------------------- /lib/definitions/eventExtender.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thenativeweb/node-cqrs-eventdenormalizer/HEAD/lib/definitions/eventExtender.js -------------------------------------------------------------------------------- /lib/definitions/preEventExtender.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thenativeweb/node-cqrs-eventdenormalizer/HEAD/lib/definitions/preEventExtender.js -------------------------------------------------------------------------------- /lib/definitions/viewBuilder.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thenativeweb/node-cqrs-eventdenormalizer/HEAD/lib/definitions/viewBuilder.js -------------------------------------------------------------------------------- /lib/denormalizer.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thenativeweb/node-cqrs-eventdenormalizer/HEAD/lib/denormalizer.js -------------------------------------------------------------------------------- /lib/errors/alreadyDenormalizedError.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thenativeweb/node-cqrs-eventdenormalizer/HEAD/lib/errors/alreadyDenormalizedError.js -------------------------------------------------------------------------------- /lib/errors/alreadyDenormalizingError.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thenativeweb/node-cqrs-eventdenormalizer/HEAD/lib/errors/alreadyDenormalizingError.js -------------------------------------------------------------------------------- /lib/errors/concurrencyError.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thenativeweb/node-cqrs-eventdenormalizer/HEAD/lib/errors/concurrencyError.js -------------------------------------------------------------------------------- /lib/eventDispatcher.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thenativeweb/node-cqrs-eventdenormalizer/HEAD/lib/eventDispatcher.js -------------------------------------------------------------------------------- /lib/orderQueue.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thenativeweb/node-cqrs-eventdenormalizer/HEAD/lib/orderQueue.js -------------------------------------------------------------------------------- /lib/replayHandler.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thenativeweb/node-cqrs-eventdenormalizer/HEAD/lib/replayHandler.js -------------------------------------------------------------------------------- /lib/revisionGuard.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thenativeweb/node-cqrs-eventdenormalizer/HEAD/lib/revisionGuard.js -------------------------------------------------------------------------------- /lib/revisionGuardStore/base.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thenativeweb/node-cqrs-eventdenormalizer/HEAD/lib/revisionGuardStore/base.js -------------------------------------------------------------------------------- /lib/revisionGuardStore/databases/dynamodb.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thenativeweb/node-cqrs-eventdenormalizer/HEAD/lib/revisionGuardStore/databases/dynamodb.js -------------------------------------------------------------------------------- /lib/revisionGuardStore/databases/inmemory.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thenativeweb/node-cqrs-eventdenormalizer/HEAD/lib/revisionGuardStore/databases/inmemory.js -------------------------------------------------------------------------------- /lib/revisionGuardStore/databases/mongodb.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thenativeweb/node-cqrs-eventdenormalizer/HEAD/lib/revisionGuardStore/databases/mongodb.js -------------------------------------------------------------------------------- /lib/revisionGuardStore/databases/redis.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thenativeweb/node-cqrs-eventdenormalizer/HEAD/lib/revisionGuardStore/databases/redis.js -------------------------------------------------------------------------------- /lib/revisionGuardStore/databases/tingodb.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thenativeweb/node-cqrs-eventdenormalizer/HEAD/lib/revisionGuardStore/databases/tingodb.js -------------------------------------------------------------------------------- /lib/revisionGuardStore/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thenativeweb/node-cqrs-eventdenormalizer/HEAD/lib/revisionGuardStore/index.js -------------------------------------------------------------------------------- /lib/structure/customLoader.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thenativeweb/node-cqrs-eventdenormalizer/HEAD/lib/structure/customLoader.js -------------------------------------------------------------------------------- /lib/structure/structureLoader.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thenativeweb/node-cqrs-eventdenormalizer/HEAD/lib/structure/structureLoader.js -------------------------------------------------------------------------------- /lib/structure/structureParser.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thenativeweb/node-cqrs-eventdenormalizer/HEAD/lib/structure/structureParser.js -------------------------------------------------------------------------------- /lib/structure/treeExtender.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thenativeweb/node-cqrs-eventdenormalizer/HEAD/lib/structure/treeExtender.js -------------------------------------------------------------------------------- /licence: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thenativeweb/node-cqrs-eventdenormalizer/HEAD/licence -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thenativeweb/node-cqrs-eventdenormalizer/HEAD/package.json -------------------------------------------------------------------------------- /releasenotes.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thenativeweb/node-cqrs-eventdenormalizer/HEAD/releasenotes.md -------------------------------------------------------------------------------- /test/.eslintrc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thenativeweb/node-cqrs-eventdenormalizer/HEAD/test/.eslintrc -------------------------------------------------------------------------------- /test/integration/fixture/set1/eventExtender.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thenativeweb/node-cqrs-eventdenormalizer/HEAD/test/integration/fixture/set1/eventExtender.js -------------------------------------------------------------------------------- /test/integration/fixture/set1/person/collection.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thenativeweb/node-cqrs-eventdenormalizer/HEAD/test/integration/fixture/set1/person/collection.js -------------------------------------------------------------------------------- /test/integration/fixture/set1/person/eventExtenders/enteredNewPerson.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thenativeweb/node-cqrs-eventdenormalizer/HEAD/test/integration/fixture/set1/person/eventExtenders/enteredNewPerson.js -------------------------------------------------------------------------------- /test/integration/fixture/set1/person/eventExtenders/enteredNewPerson_preExt.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thenativeweb/node-cqrs-eventdenormalizer/HEAD/test/integration/fixture/set1/person/eventExtenders/enteredNewPerson_preExt.js -------------------------------------------------------------------------------- /test/integration/fixture/set1/person/viewBuilders/enteredNewPerson.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thenativeweb/node-cqrs-eventdenormalizer/HEAD/test/integration/fixture/set1/person/viewBuilders/enteredNewPerson.js -------------------------------------------------------------------------------- /test/integration/fixture/set1/person/viewBuilders/personLeaved.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thenativeweb/node-cqrs-eventdenormalizer/HEAD/test/integration/fixture/set1/person/viewBuilders/personLeaved.js -------------------------------------------------------------------------------- /test/integration/fixture/set1/person/viewBuilders/registeredEMailAddress.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thenativeweb/node-cqrs-eventdenormalizer/HEAD/test/integration/fixture/set1/person/viewBuilders/registeredEMailAddress.js -------------------------------------------------------------------------------- /test/integration/fixture/set1/personDetail/collection.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thenativeweb/node-cqrs-eventdenormalizer/HEAD/test/integration/fixture/set1/personDetail/collection.js -------------------------------------------------------------------------------- /test/integration/fixture/set1/personDetail/viewBuilders/blockedEmail.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thenativeweb/node-cqrs-eventdenormalizer/HEAD/test/integration/fixture/set1/personDetail/viewBuilders/blockedEmail.js -------------------------------------------------------------------------------- /test/integration/fixture/set1/personDetail/viewBuilders/enteredNewPerson.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thenativeweb/node-cqrs-eventdenormalizer/HEAD/test/integration/fixture/set1/personDetail/viewBuilders/enteredNewPerson.js -------------------------------------------------------------------------------- /test/integration/fixture/set1/personDetail/viewBuilders/exitedPerson.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thenativeweb/node-cqrs-eventdenormalizer/HEAD/test/integration/fixture/set1/personDetail/viewBuilders/exitedPerson.js -------------------------------------------------------------------------------- /test/integration/fixture/set1/personDetail/viewBuilders/registeredEMailAddress.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thenativeweb/node-cqrs-eventdenormalizer/HEAD/test/integration/fixture/set1/personDetail/viewBuilders/registeredEMailAddress.js -------------------------------------------------------------------------------- /test/integration/fixture/set2/eventExtender.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thenativeweb/node-cqrs-eventdenormalizer/HEAD/test/integration/fixture/set2/eventExtender.js -------------------------------------------------------------------------------- /test/integration/fixture/set2/person/collection.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thenativeweb/node-cqrs-eventdenormalizer/HEAD/test/integration/fixture/set2/person/collection.js -------------------------------------------------------------------------------- /test/integration/fixture/set2/person/eventExtenders/enteredNewPerson.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thenativeweb/node-cqrs-eventdenormalizer/HEAD/test/integration/fixture/set2/person/eventExtenders/enteredNewPerson.js -------------------------------------------------------------------------------- /test/integration/fixture/set2/person/viewBuilders/enteredNewPerson.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thenativeweb/node-cqrs-eventdenormalizer/HEAD/test/integration/fixture/set2/person/viewBuilders/enteredNewPerson.js -------------------------------------------------------------------------------- /test/integration/fixture/set2/personDetail/collection.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thenativeweb/node-cqrs-eventdenormalizer/HEAD/test/integration/fixture/set2/personDetail/collection.js -------------------------------------------------------------------------------- /test/integration/fixture/set2/personDetail/viewBuilders/enteredNewPerson.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thenativeweb/node-cqrs-eventdenormalizer/HEAD/test/integration/fixture/set2/personDetail/viewBuilders/enteredNewPerson.js -------------------------------------------------------------------------------- /test/integration/fixture/set2/personDetail/viewBuilders/registeredEMailAddress.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thenativeweb/node-cqrs-eventdenormalizer/HEAD/test/integration/fixture/set2/personDetail/viewBuilders/registeredEMailAddress.js -------------------------------------------------------------------------------- /test/integration/integrationTest.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thenativeweb/node-cqrs-eventdenormalizer/HEAD/test/integration/integrationTest.js -------------------------------------------------------------------------------- /test/integration/mocha.opts: -------------------------------------------------------------------------------- 1 | -R spec -------------------------------------------------------------------------------- /test/mocha.opts: -------------------------------------------------------------------------------- 1 | -R spec -t 6000 2 | -------------------------------------------------------------------------------- /test/unit/definitions/collectionTest.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thenativeweb/node-cqrs-eventdenormalizer/HEAD/test/unit/definitions/collectionTest.js -------------------------------------------------------------------------------- /test/unit/definitions/definitionBaseTest.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thenativeweb/node-cqrs-eventdenormalizer/HEAD/test/unit/definitions/definitionBaseTest.js -------------------------------------------------------------------------------- /test/unit/definitions/eventExtenderTest.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thenativeweb/node-cqrs-eventdenormalizer/HEAD/test/unit/definitions/eventExtenderTest.js -------------------------------------------------------------------------------- /test/unit/definitions/preEventExtenderTest.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thenativeweb/node-cqrs-eventdenormalizer/HEAD/test/unit/definitions/preEventExtenderTest.js -------------------------------------------------------------------------------- /test/unit/definitions/viewBuilderTest.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thenativeweb/node-cqrs-eventdenormalizer/HEAD/test/unit/definitions/viewBuilderTest.js -------------------------------------------------------------------------------- /test/unit/denormalizerTest.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thenativeweb/node-cqrs-eventdenormalizer/HEAD/test/unit/denormalizerTest.js -------------------------------------------------------------------------------- /test/unit/eventDispatcherTest.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thenativeweb/node-cqrs-eventdenormalizer/HEAD/test/unit/eventDispatcherTest.js -------------------------------------------------------------------------------- /test/unit/mocha.opts: -------------------------------------------------------------------------------- 1 | -R spec 2 | --recursive -------------------------------------------------------------------------------- /test/unit/orderQueueTest.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thenativeweb/node-cqrs-eventdenormalizer/HEAD/test/unit/orderQueueTest.js -------------------------------------------------------------------------------- /test/unit/replayHandlerTest.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thenativeweb/node-cqrs-eventdenormalizer/HEAD/test/unit/replayHandlerTest.js -------------------------------------------------------------------------------- /test/unit/revisionGuardStoreTest.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thenativeweb/node-cqrs-eventdenormalizer/HEAD/test/unit/revisionGuardStoreTest.js -------------------------------------------------------------------------------- /test/unit/revisionGuardTest.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thenativeweb/node-cqrs-eventdenormalizer/HEAD/test/unit/revisionGuardTest.js --------------------------------------------------------------------------------