├── .codeclimate.yml ├── .codesandbox └── ci.json ├── .github └── workflows │ └── default.yml ├── .gitignore ├── .nvmrc ├── LICENSE ├── README.md ├── jest.config.js ├── package.json ├── src ├── Cache │ ├── Cache.test.ts │ ├── Cache.ts │ ├── CacheMissingPrimaryColumnValueError.ts │ ├── cacheDelete.ts │ ├── cacheRead.ts │ ├── cacheStabilize.ts │ ├── cacheSync.ts │ ├── cacheWrite.ts │ └── optimizeInstructions.ts ├── Column │ ├── Column.test.ts │ ├── Column.ts │ ├── IndexableColumn.test.ts │ ├── IndexableColumn.ts │ ├── PrimaryColumn.test.ts │ ├── PrimaryColumn.ts │ ├── UniqueColumn.test.ts │ ├── UniqueColumn.ts │ ├── columnGet.ts │ ├── columnMetadata.ts │ └── columnSet.ts ├── Datastore │ ├── Datastore.ts │ └── SearchStrategyError.ts ├── Entity │ ├── Entity.test.ts │ ├── Entity.ts │ └── entityMetadata.ts ├── Instruction │ ├── DeleteInstruction.test.ts │ ├── DeleteInstruction.ts │ ├── Instruction.ts │ ├── WriteInstruction.test.ts │ └── WriteInstruction.ts ├── MemoryDatastore │ ├── MemoryDatastore.test.ts │ └── MemoryDatastore.ts ├── Relationship │ ├── ToMany.test.ts │ ├── ToMany.ts │ ├── ToOne.test.ts │ ├── ToOne.ts │ ├── addTo.ts │ ├── relationshipMetadata.ts │ ├── removeFrom.ts │ ├── toManyChild.testhelpers.ts │ ├── toManyGet.ts │ ├── toManyParent.testhelpers.ts │ ├── toManySet.ts │ ├── toOneChild.testhelpers.ts │ ├── toOneGet.ts │ ├── toOneParent.testhelpers.ts │ └── toOneSet.ts ├── Repository │ ├── ColumnNotFindableError.ts │ ├── ColumnNotSearchableError.ts │ ├── EntityNotFoundError.ts │ ├── Repository.test.ts │ ├── Repository.ts │ ├── RepositoryFindError.ts │ ├── RepositoryLoadError.ts │ ├── repositoryDelete.ts │ ├── repositoryFind.ts │ ├── repositoryLoad.ts │ ├── repositorySave.ts │ └── repositorySearch.ts ├── __tests__ │ └── library │ │ ├── datastores │ │ └── libraryDatastore.testhelpers.ts │ │ ├── fixtures │ │ └── williamShakespeare.testhelpers.ts │ │ ├── index.test.ts │ │ └── models │ │ └── Author.testhelpers.ts ├── index.test.ts ├── index.ts ├── metadata.ts ├── types │ ├── columnType.test.ts │ ├── columnType.ts │ ├── toManyType.ts │ └── toOneType.ts └── utils │ ├── cache.ts │ ├── columns.test.ts │ ├── columns.ts │ ├── datastore.test.ts │ ├── datastore.ts │ ├── entities.ts │ ├── errors.ts │ ├── hydrate.ts │ ├── keyGeneration.test.ts │ ├── keyGeneration.ts │ ├── metadata.ts │ ├── relationships.test.ts │ └── relationships.ts └── tsconfig.json /.codeclimate.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kv-orm/core/HEAD/.codeclimate.yml -------------------------------------------------------------------------------- /.codesandbox/ci.json: -------------------------------------------------------------------------------- 1 | { 2 | "sandboxes": ["github/gregbrimble/kv-orm-cf-workers-example"] 3 | } 4 | -------------------------------------------------------------------------------- /.github/workflows/default.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kv-orm/core/HEAD/.github/workflows/default.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kv-orm/core/HEAD/.gitignore -------------------------------------------------------------------------------- /.nvmrc: -------------------------------------------------------------------------------- 1 | v13.13.0 2 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kv-orm/core/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kv-orm/core/HEAD/README.md -------------------------------------------------------------------------------- /jest.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kv-orm/core/HEAD/jest.config.js -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kv-orm/core/HEAD/package.json -------------------------------------------------------------------------------- /src/Cache/Cache.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kv-orm/core/HEAD/src/Cache/Cache.test.ts -------------------------------------------------------------------------------- /src/Cache/Cache.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kv-orm/core/HEAD/src/Cache/Cache.ts -------------------------------------------------------------------------------- /src/Cache/CacheMissingPrimaryColumnValueError.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kv-orm/core/HEAD/src/Cache/CacheMissingPrimaryColumnValueError.ts -------------------------------------------------------------------------------- /src/Cache/cacheDelete.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kv-orm/core/HEAD/src/Cache/cacheDelete.ts -------------------------------------------------------------------------------- /src/Cache/cacheRead.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kv-orm/core/HEAD/src/Cache/cacheRead.ts -------------------------------------------------------------------------------- /src/Cache/cacheStabilize.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kv-orm/core/HEAD/src/Cache/cacheStabilize.ts -------------------------------------------------------------------------------- /src/Cache/cacheSync.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kv-orm/core/HEAD/src/Cache/cacheSync.ts -------------------------------------------------------------------------------- /src/Cache/cacheWrite.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kv-orm/core/HEAD/src/Cache/cacheWrite.ts -------------------------------------------------------------------------------- /src/Cache/optimizeInstructions.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kv-orm/core/HEAD/src/Cache/optimizeInstructions.ts -------------------------------------------------------------------------------- /src/Column/Column.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kv-orm/core/HEAD/src/Column/Column.test.ts -------------------------------------------------------------------------------- /src/Column/Column.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kv-orm/core/HEAD/src/Column/Column.ts -------------------------------------------------------------------------------- /src/Column/IndexableColumn.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kv-orm/core/HEAD/src/Column/IndexableColumn.test.ts -------------------------------------------------------------------------------- /src/Column/IndexableColumn.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kv-orm/core/HEAD/src/Column/IndexableColumn.ts -------------------------------------------------------------------------------- /src/Column/PrimaryColumn.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kv-orm/core/HEAD/src/Column/PrimaryColumn.test.ts -------------------------------------------------------------------------------- /src/Column/PrimaryColumn.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kv-orm/core/HEAD/src/Column/PrimaryColumn.ts -------------------------------------------------------------------------------- /src/Column/UniqueColumn.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kv-orm/core/HEAD/src/Column/UniqueColumn.test.ts -------------------------------------------------------------------------------- /src/Column/UniqueColumn.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kv-orm/core/HEAD/src/Column/UniqueColumn.ts -------------------------------------------------------------------------------- /src/Column/columnGet.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kv-orm/core/HEAD/src/Column/columnGet.ts -------------------------------------------------------------------------------- /src/Column/columnMetadata.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kv-orm/core/HEAD/src/Column/columnMetadata.ts -------------------------------------------------------------------------------- /src/Column/columnSet.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kv-orm/core/HEAD/src/Column/columnSet.ts -------------------------------------------------------------------------------- /src/Datastore/Datastore.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kv-orm/core/HEAD/src/Datastore/Datastore.ts -------------------------------------------------------------------------------- /src/Datastore/SearchStrategyError.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kv-orm/core/HEAD/src/Datastore/SearchStrategyError.ts -------------------------------------------------------------------------------- /src/Entity/Entity.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kv-orm/core/HEAD/src/Entity/Entity.test.ts -------------------------------------------------------------------------------- /src/Entity/Entity.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kv-orm/core/HEAD/src/Entity/Entity.ts -------------------------------------------------------------------------------- /src/Entity/entityMetadata.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kv-orm/core/HEAD/src/Entity/entityMetadata.ts -------------------------------------------------------------------------------- /src/Instruction/DeleteInstruction.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kv-orm/core/HEAD/src/Instruction/DeleteInstruction.test.ts -------------------------------------------------------------------------------- /src/Instruction/DeleteInstruction.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kv-orm/core/HEAD/src/Instruction/DeleteInstruction.ts -------------------------------------------------------------------------------- /src/Instruction/Instruction.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kv-orm/core/HEAD/src/Instruction/Instruction.ts -------------------------------------------------------------------------------- /src/Instruction/WriteInstruction.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kv-orm/core/HEAD/src/Instruction/WriteInstruction.test.ts -------------------------------------------------------------------------------- /src/Instruction/WriteInstruction.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kv-orm/core/HEAD/src/Instruction/WriteInstruction.ts -------------------------------------------------------------------------------- /src/MemoryDatastore/MemoryDatastore.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kv-orm/core/HEAD/src/MemoryDatastore/MemoryDatastore.test.ts -------------------------------------------------------------------------------- /src/MemoryDatastore/MemoryDatastore.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kv-orm/core/HEAD/src/MemoryDatastore/MemoryDatastore.ts -------------------------------------------------------------------------------- /src/Relationship/ToMany.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kv-orm/core/HEAD/src/Relationship/ToMany.test.ts -------------------------------------------------------------------------------- /src/Relationship/ToMany.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kv-orm/core/HEAD/src/Relationship/ToMany.ts -------------------------------------------------------------------------------- /src/Relationship/ToOne.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kv-orm/core/HEAD/src/Relationship/ToOne.test.ts -------------------------------------------------------------------------------- /src/Relationship/ToOne.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kv-orm/core/HEAD/src/Relationship/ToOne.ts -------------------------------------------------------------------------------- /src/Relationship/addTo.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kv-orm/core/HEAD/src/Relationship/addTo.ts -------------------------------------------------------------------------------- /src/Relationship/relationshipMetadata.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kv-orm/core/HEAD/src/Relationship/relationshipMetadata.ts -------------------------------------------------------------------------------- /src/Relationship/removeFrom.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kv-orm/core/HEAD/src/Relationship/removeFrom.ts -------------------------------------------------------------------------------- /src/Relationship/toManyChild.testhelpers.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kv-orm/core/HEAD/src/Relationship/toManyChild.testhelpers.ts -------------------------------------------------------------------------------- /src/Relationship/toManyGet.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kv-orm/core/HEAD/src/Relationship/toManyGet.ts -------------------------------------------------------------------------------- /src/Relationship/toManyParent.testhelpers.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kv-orm/core/HEAD/src/Relationship/toManyParent.testhelpers.ts -------------------------------------------------------------------------------- /src/Relationship/toManySet.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kv-orm/core/HEAD/src/Relationship/toManySet.ts -------------------------------------------------------------------------------- /src/Relationship/toOneChild.testhelpers.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kv-orm/core/HEAD/src/Relationship/toOneChild.testhelpers.ts -------------------------------------------------------------------------------- /src/Relationship/toOneGet.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kv-orm/core/HEAD/src/Relationship/toOneGet.ts -------------------------------------------------------------------------------- /src/Relationship/toOneParent.testhelpers.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kv-orm/core/HEAD/src/Relationship/toOneParent.testhelpers.ts -------------------------------------------------------------------------------- /src/Relationship/toOneSet.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kv-orm/core/HEAD/src/Relationship/toOneSet.ts -------------------------------------------------------------------------------- /src/Repository/ColumnNotFindableError.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kv-orm/core/HEAD/src/Repository/ColumnNotFindableError.ts -------------------------------------------------------------------------------- /src/Repository/ColumnNotSearchableError.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kv-orm/core/HEAD/src/Repository/ColumnNotSearchableError.ts -------------------------------------------------------------------------------- /src/Repository/EntityNotFoundError.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kv-orm/core/HEAD/src/Repository/EntityNotFoundError.ts -------------------------------------------------------------------------------- /src/Repository/Repository.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kv-orm/core/HEAD/src/Repository/Repository.test.ts -------------------------------------------------------------------------------- /src/Repository/Repository.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kv-orm/core/HEAD/src/Repository/Repository.ts -------------------------------------------------------------------------------- /src/Repository/RepositoryFindError.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kv-orm/core/HEAD/src/Repository/RepositoryFindError.ts -------------------------------------------------------------------------------- /src/Repository/RepositoryLoadError.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kv-orm/core/HEAD/src/Repository/RepositoryLoadError.ts -------------------------------------------------------------------------------- /src/Repository/repositoryDelete.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kv-orm/core/HEAD/src/Repository/repositoryDelete.ts -------------------------------------------------------------------------------- /src/Repository/repositoryFind.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kv-orm/core/HEAD/src/Repository/repositoryFind.ts -------------------------------------------------------------------------------- /src/Repository/repositoryLoad.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kv-orm/core/HEAD/src/Repository/repositoryLoad.ts -------------------------------------------------------------------------------- /src/Repository/repositorySave.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kv-orm/core/HEAD/src/Repository/repositorySave.ts -------------------------------------------------------------------------------- /src/Repository/repositorySearch.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kv-orm/core/HEAD/src/Repository/repositorySearch.ts -------------------------------------------------------------------------------- /src/__tests__/library/datastores/libraryDatastore.testhelpers.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kv-orm/core/HEAD/src/__tests__/library/datastores/libraryDatastore.testhelpers.ts -------------------------------------------------------------------------------- /src/__tests__/library/fixtures/williamShakespeare.testhelpers.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kv-orm/core/HEAD/src/__tests__/library/fixtures/williamShakespeare.testhelpers.ts -------------------------------------------------------------------------------- /src/__tests__/library/index.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kv-orm/core/HEAD/src/__tests__/library/index.test.ts -------------------------------------------------------------------------------- /src/__tests__/library/models/Author.testhelpers.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kv-orm/core/HEAD/src/__tests__/library/models/Author.testhelpers.ts -------------------------------------------------------------------------------- /src/index.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kv-orm/core/HEAD/src/index.test.ts -------------------------------------------------------------------------------- /src/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kv-orm/core/HEAD/src/index.ts -------------------------------------------------------------------------------- /src/metadata.ts: -------------------------------------------------------------------------------- 1 | import "reflect-metadata"; 2 | -------------------------------------------------------------------------------- /src/types/columnType.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kv-orm/core/HEAD/src/types/columnType.test.ts -------------------------------------------------------------------------------- /src/types/columnType.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kv-orm/core/HEAD/src/types/columnType.ts -------------------------------------------------------------------------------- /src/types/toManyType.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kv-orm/core/HEAD/src/types/toManyType.ts -------------------------------------------------------------------------------- /src/types/toOneType.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kv-orm/core/HEAD/src/types/toOneType.ts -------------------------------------------------------------------------------- /src/utils/cache.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kv-orm/core/HEAD/src/utils/cache.ts -------------------------------------------------------------------------------- /src/utils/columns.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kv-orm/core/HEAD/src/utils/columns.test.ts -------------------------------------------------------------------------------- /src/utils/columns.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kv-orm/core/HEAD/src/utils/columns.ts -------------------------------------------------------------------------------- /src/utils/datastore.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kv-orm/core/HEAD/src/utils/datastore.test.ts -------------------------------------------------------------------------------- /src/utils/datastore.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kv-orm/core/HEAD/src/utils/datastore.ts -------------------------------------------------------------------------------- /src/utils/entities.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kv-orm/core/HEAD/src/utils/entities.ts -------------------------------------------------------------------------------- /src/utils/errors.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kv-orm/core/HEAD/src/utils/errors.ts -------------------------------------------------------------------------------- /src/utils/hydrate.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kv-orm/core/HEAD/src/utils/hydrate.ts -------------------------------------------------------------------------------- /src/utils/keyGeneration.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kv-orm/core/HEAD/src/utils/keyGeneration.test.ts -------------------------------------------------------------------------------- /src/utils/keyGeneration.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kv-orm/core/HEAD/src/utils/keyGeneration.ts -------------------------------------------------------------------------------- /src/utils/metadata.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kv-orm/core/HEAD/src/utils/metadata.ts -------------------------------------------------------------------------------- /src/utils/relationships.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kv-orm/core/HEAD/src/utils/relationships.test.ts -------------------------------------------------------------------------------- /src/utils/relationships.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kv-orm/core/HEAD/src/utils/relationships.ts -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kv-orm/core/HEAD/tsconfig.json --------------------------------------------------------------------------------