resolve-eventstore-base
Advanced tools
Comparing version 0.27.12-alpha to 0.27.14-alpha
const hasType = (type, obj) => obj != null && obj.constructor === type; | ||
const isPositiveIntNumber = obj => { | ||
return typeof obj === 'number' && obj > 0 && obj === Math.floor(obj); | ||
}; | ||
const validateEventFilter = filter => { | ||
@@ -23,3 +27,3 @@ if (!hasType(Object, filter)) { | ||
errors.push(`Wrong field "${key}" in event filter`); | ||
} else if (numericFields.includes(key) && !hasType(Number, filter[key])) { | ||
} else if (numericFields.includes(key) && !isPositiveIntNumber(filter[key])) { | ||
errors.push(`Event filter field "${key}" should be number`); | ||
@@ -39,2 +43,8 @@ } else if (stringArrayFields.includes(key) && !(Array.isArray(filter[key]) && filter[key].every(hasType.bind(null, String)) || filter[key] == null)) { | ||
if (filter.startTime !== undefined && filter.finishTime !== undefined) { | ||
if (filter.startTime > filter.finishTime) { | ||
errors.push(`Event filter start time can't be larger than finishTime`); | ||
} | ||
} | ||
if (errors.length > 0) { | ||
@@ -41,0 +51,0 @@ throw new Error(errors.join('\n')); |
@@ -10,2 +10,6 @@ "use strict"; | ||
const isPositiveIntNumber = obj => { | ||
return typeof obj === 'number' && obj > 0 && obj === Math.floor(obj); | ||
}; | ||
const validateEventFilter = filter => { | ||
@@ -31,3 +35,3 @@ if (!hasType(Object, filter)) { | ||
errors.push(`Wrong field "${key}" in event filter`); | ||
} else if (numericFields.includes(key) && !hasType(Number, filter[key])) { | ||
} else if (numericFields.includes(key) && !isPositiveIntNumber(filter[key])) { | ||
errors.push(`Event filter field "${key}" should be number`); | ||
@@ -47,2 +51,8 @@ } else if (stringArrayFields.includes(key) && !(Array.isArray(filter[key]) && filter[key].every(hasType.bind(null, String)) || filter[key] == null)) { | ||
if (filter.startTime !== undefined && filter.finishTime !== undefined) { | ||
if (filter.startTime > filter.finishTime) { | ||
errors.push(`Event filter start time can't be larger than finishTime`); | ||
} | ||
} | ||
if (errors.length > 0) { | ||
@@ -49,0 +59,0 @@ throw new Error(errors.join('\n')); |
{ | ||
"name": "resolve-eventstore-base", | ||
"version": "0.27.12-alpha", | ||
"version": "0.27.14-alpha", | ||
"description": "A base for reSolve eventstore adapters", | ||
@@ -27,4 +27,4 @@ "keywords": [ | ||
"@babel/runtime": "7.9.6", | ||
"resolve-debug-levels": "0.27.12-alpha", | ||
"resolve-core": "0.27.12-alpha" | ||
"resolve-debug-levels": "0.27.14-alpha", | ||
"resolve-core": "0.27.14-alpha" | ||
}, | ||
@@ -31,0 +31,0 @@ "devDependencies": { |
@@ -15,3 +15,3 @@ /// <reference types="node" /> | ||
declare type ShapeEvent = (event: any, additionalFields?: any) => SavedEvent; | ||
export declare type ValidateEventFilter = (filter: any) => void; | ||
export declare type ValidateEventFilter = (filter: EventFilter) => void; | ||
export declare type GetNextCursor = (prevCursor: string | null, events: any[]) => string; | ||
@@ -159,3 +159,3 @@ export declare type EventsWithCursor = { | ||
exportEvents: (options?: Partial<ExportOptions>) => stream.Readable; | ||
getLatestEvent: (filter: EventFilter) => Promise<any>; | ||
getLatestEvent: (filter: EventFilter) => Promise<SavedEvent | null>; | ||
saveEvent: (event: InputEvent) => Promise<void>; | ||
@@ -169,5 +169,5 @@ init: () => Promise<void>; | ||
getSecretsManager: () => Promise<SecretsManager>; | ||
loadSnapshot: (snapshotKey: string) => Promise<any>; | ||
saveSnapshot: (snapshotKey: string, content: string) => Promise<any>; | ||
dropSnapshot: (snapshotKey: string) => Promise<any>; | ||
loadSnapshot: (snapshotKey: string) => Promise<string | null>; | ||
saveSnapshot: (snapshotKey: string, content: string) => Promise<void>; | ||
dropSnapshot: (snapshotKey: string) => Promise<void>; | ||
pushIncrementalImport: (events: InputEvent[], importId: string) => Promise<void>; | ||
@@ -174,0 +174,0 @@ beginIncrementalImport: () => Promise<string>; |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
320940
2796
+ Addedresolve-core@0.27.14-alpha(transitive)
+ Addedresolve-debug-levels@0.27.14-alpha(transitive)
- Removedresolve-core@0.27.12-alpha(transitive)
- Removedresolve-debug-levels@0.27.12-alpha(transitive)
Updatedresolve-core@0.27.14-alpha