test: unit test succeeds
fix: not quiting loop when releasing unexisting lock
refactor: pull wait() function into TimerUtils
feat: store all locks inside a single lock folder
feat: use md5 hashing for filepath hashes
test: coverage back to 100%
fix: store locks in proper .internal/locks folder
feat: reworked tryfn
test: coverage back to 100%
buidl: package json types next to lib
style: linting
dos: add more documentation to Locker classes
refactor: SingleThreadedResourceLocker -> MemoryResourceLocker
refactor: MultiThreadedResourceLocker -> FileSystemResourceLocker
feat: update all file-based backend configs to use the new FileSystemResourceLocker
feat: add warning on starting the MemoryResourceLocker in a worker process
test: coverage back to 100%
fix: finalizer of file.json was configured wrong
docs: updated release notes for 5.0.0
refactor: incorporated changes so far
refactor: retryFunctions are less complex now
test: jitter fix
refactor: more elegant way of providing default attemptSettings to constructor
style(jsdoc): rewording of jsdoc comment
fix: RegExp(/regex/) => /regex/
fix: Replace Error with InternalServerError
docs: jsdoc for RedisReadWriteLocker class
feat: make RedisReadWriteLocker a ResourceLocker too
test: coverage back to 100%
refactor: linting fix
style(jsdoc): Add explanation to tryRedisFn() method
refactor: remove RedisResourceLocker
fix: bug in lua script
chore(deps): update ioredis, remove redlock
refactor: removed RedisResourceLocker in favor of generic RedisLocker class
test: add redis lua scripts tests and integrate all 3 redis integration tests in 1
refactor: remove .vscode folder from index
refactor: Add some typing and change redis references to Redis in comments
refactor: more changes after PR review
refactor: remove redis.json
refactor: rename redis-rw.json to redis.json
docs: added readme and release notes
* refactor: move toCachedNamedNode (private)
* chore: only NamedNodes predicates in removes
* feat: enforce NamedNode predicates in most cases
* feat: getAll only accepts NamedNodes
* feat: toCachedNamedNode only accepts string arg
* tests: use NamedNodes for getAll calls
* test: remove unnecessary string check for coverage
* tests: fix NamedNodes in new tests after rebase
* feat: metadatawriters store NamedNodes
* refactor: toCachedNamedNode as utility function
* fix: double write of linkRelMap
* test: use the CONTENT_TYPE constant
Implemented new StringUtil helper functions: splitCommaSeparated, sanitizeUrlPart, isValidFileName.
Added helper functions to HeaderUtil: matchesAuthorizationScheme, hasScheme.
Added unit tests for the new helper functions.
Refactored codebase to use helper functions instead of regexes if applicable.
* feat: support storage and retrievel of content-type parameters
* test: extra unit tests for parseContentTypeWithParameters
* refactor: simplify set contentType()
Co-authored-by: Joachim Van Herwegen <joachimvh@gmail.com>
* refactor: simplify for loop because of unique blankNodes
Co-authored-by: Joachim Van Herwegen <joachimvh@gmail.com>
* refactor: ContentTypeParameter should be contentTypeParameter
Co-authored-by: Joachim Van Herwegen <joachimvh@gmail.com>
* refactor: remove undefined type in favor of var? syntax
Co-authored-by: Joachim Van Herwegen <joachimvh@gmail.com>
* refactor: use new parseContentType internally
* chore: remove commented code
* docs: code documentation line changed
Co-authored-by: Joachim Van Herwegen <joachimvh@gmail.com>
* refactor: Check for faulty metadata in contentType rdf structure
Co-authored-by: Joachim Van Herwegen <joachimvh@gmail.com>
* refactor: remove all instances of blanknodes
Co-authored-by: Joachim Van Herwegen <joachimvh@gmail.com>
* refactor: use full contentType when parsing header
Co-authored-by: Joachim Van Herwegen <joachimvh@gmail.com>
* refactor: use quads() method instead of store.getQuads()
* refactor: .value needed for type correctness
* feat: ReprMetadata constructor now supports full content-type string
Co-authored-by: Joachim Van Herwegen <joachimvh@gmail.com>
* Solution works but tests don't
* refactor(FetchUtil): use arrayifyStream
* refactor(FetchUtil): split fetchDataset into 2 separate functions
* style(FetchUtil): onelining instead of declaring new local var
* test: trying to mock rdfDereferencer
* refactor: promise can't have async function as arg
* test(FetchUtil): pass Quad array to mockDereference instead
* test: all tests should pass now and coverage is back to 100%
* style: comment typo
* chore: make package.json and package-lock.json compatible with main
* chore: fix package.json double entries
* chore: updated package.json to be alfabetical again
* refactor(AgentGroupAccessChecker): Remove converter from contructor and config
* refactor(TokenOwnerShipValidator): Remove converter from constructor and config
* refactor(FetchUtil): Return BadRequestHttpError instead of generic Error
* test(FetchUtil): return Response object instead of mocking fetch
* style: typos and newlines