@orbitalhq/orbital-client
Advanced tools
Comparing version 0.1.0-alpha.0 to 0.1.0-alpha.1
@@ -12,3 +12,3 @@ import 'reflect-metadata'; | ||
} | ||
export declare type AnyDatatypeContainer = DatatypeContainer<unknown>; | ||
export declare type AnyDatatypeContainer = DatatypeContainer<any>; | ||
declare type DatatypeMapping = { | ||
@@ -23,34 +23,58 @@ [key: string]: DatatypeContainer<any>; | ||
} | ||
declare type ModelType = { | ||
[key: string]: string | number | boolean | AnyDatatypeContainer; | ||
}; | ||
declare type FindParam<M extends ModelType> = DatatypeContainer<M> | [DatatypeContainer<M>]; | ||
declare type FindParam<T, M extends DatatypeContainer<T>> = M | [M]; | ||
export declare function buildClient<TaxonomyMapping extends DatatypeMapping, Taxonomy extends TaxonomyType<TaxonomyMapping>>(taxonomy: Taxonomy, queryClient: QueryClient, options: ClientOptions): { | ||
given: (givenParams: Partial<{ [type in keyof Taxonomy]: Taxonomy[type]["value"] | ((criteriaBuilder: ComposingCriteriaBuilder<Taxonomy[type]["value"]>) => CriteriaElement); }>) => { | ||
find: <M extends ModelType>(findParameter: FindParam<M>) => { | ||
given: <K, T extends DatatypeContainer<K>>(type: T, criteria: T["value"] | ((criteriaBuilder: ComposingCriteriaBuilder<T>) => CriteriaElement)) => { | ||
find: <Type, Container extends DatatypeContainer<Type>, Param extends FindParam<Type, Container>>(findParameter: Param) => { | ||
as: <Mapping extends DatatypeMapping>(asParams: { [key in keyof Mapping]: Mapping[key]; }) => { | ||
execute: () => Observable<{ [field in keyof { [key in keyof Mapping]: Mapping[key]; }]: { [key in keyof Mapping]: Mapping[key]; }[field]["value"]; }>; | ||
toTaxiQl: () => string; | ||
}; | ||
execute: () => Observable<any>; | ||
execute: () => Observable<Param extends [Container] ? Param[0]["value"][] : Param extends Container ? Param["value"] : any>; | ||
toTaxiQl: () => string; | ||
}; | ||
stream: <M extends ModelType>(findParameter: FindParam<M>) => { | ||
stream: <Type, Container extends DatatypeContainer<Type>, Param extends FindParam<Type, Container>>(findParameter: Param) => { | ||
as: <Mapping extends DatatypeMapping>(asParams: { [key in keyof Mapping]: Mapping[key]; }) => { | ||
execute: () => Observable<{ [field in keyof { [key in keyof Mapping]: Mapping[key]; }]: { [key in keyof Mapping]: Mapping[key]; }[field]["value"]; }>; | ||
toTaxiQl: () => string; | ||
}; | ||
execute: () => Observable<any>; | ||
execute: () => Observable<Param extends [Container] ? Param[0]["value"][] : Param extends Container ? Param["value"] : any>; | ||
toTaxiQl: () => string; | ||
}; | ||
and: <K_1, T_1 extends DatatypeContainer<K_1>>(type: T_1, criteria: T_1["value"] | ((criteriaBuilder: ComposingCriteriaBuilder<T_1>) => CriteriaElement)) => { | ||
find: <Type, Container extends DatatypeContainer<Type>, Param extends FindParam<Type, Container>>(findParameter: Param) => { | ||
as: <Mapping extends DatatypeMapping>(asParams: { [key in keyof Mapping]: Mapping[key]; }) => { | ||
execute: () => Observable<{ [field in keyof { [key in keyof Mapping]: Mapping[key]; }]: { [key in keyof Mapping]: Mapping[key]; }[field]["value"]; }>; | ||
toTaxiQl: () => string; | ||
}; | ||
execute: () => Observable<Param extends [Container] ? Param[0]["value"][] : Param extends Container ? Param["value"] : any>; | ||
toTaxiQl: () => string; | ||
}; | ||
stream: <Type, Container extends DatatypeContainer<Type>, Param extends FindParam<Type, Container>>(findParameter: Param) => { | ||
as: <Mapping extends DatatypeMapping>(asParams: { [key in keyof Mapping]: Mapping[key]; }) => { | ||
execute: () => Observable<{ [field in keyof { [key in keyof Mapping]: Mapping[key]; }]: { [key in keyof Mapping]: Mapping[key]; }[field]["value"]; }>; | ||
toTaxiQl: () => string; | ||
}; | ||
execute: () => Observable<Param extends [Container] ? Param[0]["value"][] : Param extends Container ? Param["value"] : any>; | ||
toTaxiQl: () => string; | ||
}; | ||
and: any; | ||
}; | ||
}; | ||
find: <M extends ModelType>(findParameter: FindParam<M>) => { | ||
find: <Type, Container extends DatatypeContainer<Type>, Param extends FindParam<Type, Container>>(findParameter: Param) => { | ||
as: <Mapping extends DatatypeMapping>(asParams: { [key in keyof Mapping]: Mapping[key]; }) => { | ||
execute: () => Observable<{ [field in keyof { [key in keyof Mapping]: Mapping[key]; }]: { [key in keyof Mapping]: Mapping[key]; }[field]["value"]; }>; | ||
toTaxiQl: () => string; | ||
}; | ||
execute: () => Observable<any>; | ||
execute: () => Observable<Param extends [Container] ? Param[0]["value"][] : Param extends Container ? Param["value"] : any>; | ||
toTaxiQl: () => string; | ||
}; | ||
stream: <M extends ModelType>(findParameter: FindParam<M>) => { | ||
stream: <Type, Container extends DatatypeContainer<Type>, Param extends FindParam<Type, Container>>(findParameter: Param) => { | ||
as: <Mapping extends DatatypeMapping>(asParams: { [key in keyof Mapping]: Mapping[key]; }) => { | ||
execute: () => Observable<{ [field in keyof { [key in keyof Mapping]: Mapping[key]; }]: { [key in keyof Mapping]: Mapping[key]; }[field]["value"]; }>; | ||
toTaxiQl: () => string; | ||
}; | ||
execute: () => Observable<any>; | ||
execute: () => Observable<Param extends [Container] ? Param[0]["value"][] : Param extends Container ? Param["value"] : any>; | ||
toTaxiQl: () => string; | ||
}; | ||
}; | ||
export {}; |
@@ -23,4 +23,5 @@ "use strict"; | ||
const actualOptions = Object.assign(Object.assign({}, defaultOptions), options); | ||
function getMetadataType(key) { | ||
return Reflect.getMetadata('datatype', taxonomy, key); | ||
function getDatatype(key) { | ||
const container = key.split('.').reduce((obj, field) => obj[field], taxonomy); | ||
return container.name; | ||
} | ||
@@ -32,6 +33,6 @@ function generateGiven(criteriaParams) { | ||
const givenBlock = Object.entries(criteriaParams) | ||
.map(([key, value]) => [getMetadataType(key), value]) | ||
.map(([key, value]) => [getDatatype(key), value.value]) | ||
.map(([key, value]) => { | ||
if (typeof value !== 'function') { | ||
return `\t${(0, criteria_1.generateCriteriaString)(key, { operator: '=', value })}"`; | ||
return `\t${(0, criteria_1.generateCriteriaString)(key, { operator: '=', value })}`; | ||
} | ||
@@ -55,6 +56,7 @@ else { | ||
const given = generateGiven(givenParams); | ||
const as = generateAs(asParameters); | ||
const asBlock = generateAs(asParameters); | ||
const findBlock = isArray(findParameter) ? `${findParameter[0].name}[]` : findParameter.name; | ||
const arrayNotifier = isArray(findParameter) ? `[]` : ''; | ||
return `${given}${method === 'query' ? 'find' : 'stream'} { ${findBlock} }\n${as}${arrayNotifier}`; | ||
const asString = asParameters !== null ? `\n${asBlock}${arrayNotifier}` : ''; | ||
return `${given}${method === 'query' ? 'find' : 'stream'} { ${findBlock} }${asString}`; | ||
} | ||
@@ -68,3 +70,3 @@ function executeQuery(method, givenParams, findParameter, asParameters) { | ||
return function as(asParams) { | ||
const asParameters = Object.entries(asParams).map(([key, value]) => [key, getMetadataType(value.name)]); | ||
const asParameters = Object.entries(asParams).map(([key, value]) => [key, getDatatype(value.name)]); | ||
return { | ||
@@ -74,2 +76,5 @@ execute: function execute() { | ||
}, | ||
toTaxiQl: function toTaxiQl() { | ||
return generateQuery(method, givenParams, findParameter, asParameters); | ||
} | ||
}; | ||
@@ -82,15 +87,35 @@ }; | ||
as: buildAs(method, givenParams, findParameter), | ||
// TODO The return type here should be Param extends [Container] ? Type[] : Type but that yields an unknown type | ||
execute: function execute() { | ||
return executeQuery(method, givenParams, findParameter, null); | ||
}, | ||
toTaxiQl: function toTaxiQl() { | ||
return generateQuery(method, givenParams, findParameter, null); | ||
} | ||
}; | ||
}; | ||
} | ||
return { | ||
given: function given(givenParams) { | ||
function given(type, criteria) { | ||
function nextOptions(criteriaParams) { | ||
return { | ||
find: buildFind('query', givenParams), | ||
stream: buildFind('stream', givenParams), | ||
find: buildFind('query', criteriaParams), | ||
stream: buildFind('stream', criteriaParams), | ||
}; | ||
}, | ||
} | ||
function buildAnd(params) { | ||
return function and(type, criteria) { | ||
const newParams = Object.assign(Object.assign({}, params), { [type.name]: { typeContainer: type, value: criteria } }); | ||
return Object.assign({ and: buildAnd(newParams) }, nextOptions(newParams)); | ||
}; | ||
} | ||
const startingCriteriaParams = { | ||
[type.name]: { | ||
typeContainer: type, | ||
value: criteria, | ||
}, | ||
}; | ||
return Object.assign({ and: buildAnd(startingCriteriaParams) }, nextOptions(startingCriteriaParams)); | ||
} | ||
return { | ||
given, | ||
find: buildFind('query', null), | ||
@@ -101,2 +126,2 @@ stream: buildFind('stream', null), | ||
exports.buildClient = buildClient; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9jbGllbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNEJBQTBCLENBQUMsc0RBQXNEO0FBQ2pGLG1DQUFnQztBQUdoQyx5Q0FLb0I7QUFDcEIscUNBQThDO0FBRzlDLFNBQVMsT0FBTyxDQUFDLEtBQVU7SUFDekIsT0FBTyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQzlCLENBQUM7QUFJRCxTQUFnQixPQUFPLENBQVEsS0FBK0I7SUFDNUQsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ2pCLENBQUM7QUFGRCwwQkFFQztBQWVELFNBQVMsZ0JBQWdCO0lBQ3ZCLE9BQU8sSUFBQSxlQUFNLEdBQUUsQ0FBQztBQUNsQixDQUFDO0FBTUQsTUFBTSxjQUFjLEdBQTRCO0lBQzlDLE1BQU0sRUFBRSxtQkFBVTtDQUNuQixDQUFDO0FBVUYsU0FBZ0IsV0FBVyxDQUEwRixRQUFrQixFQUFFLFdBQXdCLEVBQUUsT0FBc0I7SUFDdkwsTUFBTSxhQUFhLG1DQUFRLGNBQWMsR0FBSyxPQUFPLENBQUUsQ0FBQztJQW1CeEQsU0FBUyxlQUFlLENBQUMsR0FBVztRQUNsQyxPQUFPLE9BQU8sQ0FBQyxXQUFXLENBQUMsVUFBVSxFQUFFLFFBQVEsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUN4RCxDQUFDO0lBRUQsU0FBUyxhQUFhLENBQUMsY0FBcUM7UUFDMUQsSUFBSSxjQUFjLEtBQUssSUFBSSxFQUFFO1lBQzNCLE9BQU8sRUFBRSxDQUFDO1NBQ1g7UUFDRCxNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQzthQUM5QyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUM7YUFDcEQs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 | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9jbGllbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNEJBQTBCLENBQUMsc0RBQXNEO0FBQ2pGLG1DQUFnQztBQUdoQyx5Q0FLb0I7QUFDcEIscUNBQThDO0FBRzlDLFNBQVMsT0FBTyxDQUFDLEtBQVU7SUFDekIsT0FBTyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQzlCLENBQUM7QUFJRCxTQUFnQixPQUFPLENBQVEsS0FBK0I7SUFDNUQsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ2pCLENBQUM7QUFGRCwwQkFFQztBQWVELFNBQVMsZ0JBQWdCO0lBQ3ZCLE9BQU8sSUFBQSxlQUFNLEdBQUUsQ0FBQztBQUNsQixDQUFDO0FBTUQsTUFBTSxjQUFjLEdBQTRCO0lBQzlDLE1BQU0sRUFBRSxtQkFBVTtDQUNuQixDQUFDO0FBUUYsU0FBZ0IsV0FBVyxDQUEwRixRQUFrQixFQUFFLFdBQXdCLEVBQUUsT0FBc0I7SUFDdkwsTUFBTSxhQUFhLG1DQUFRLGNBQWMsR0FBSyxPQUFPLENBQUUsQ0FBQztJQXFCeEQsU0FBUyxXQUFXLENBQUMsR0FBVztRQUM5QixNQUFNLFNBQVMsR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFFLEdBQUcsQ0FBQyxLQUFLLENBQVMsRUFBRSxRQUFRLENBQXNDLENBQUM7UUFDNUgsT0FBTyxTQUFTLENBQUMsSUFBSSxDQUFDO0lBQ3hCLENBQUM7SUFFRCxTQUFTLGFBQWEsQ0FBQyxjQUFxQztRQUMxRCxJQUFJLGNBQWMsS0FBSyxJQUFJLEVBQUU7WUFDM0IsT0FBTyxFQUFFLENBQUM7U0FDWDtRQUNELE1BQU0sVUFBVSxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDO2FBQzlDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsRUFBRSxLQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7YUFDdkQsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRTtZQUNwQixJQUFJLE9BQU8sS0FBSyxLQUFLLFVBQVUsRUFBRTtnQkFDL0IsT0FBTyxLQUFLLElBQUEsaUNBQXNCLEVBQUMsR0FBRyxFQUFFLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLENBQUM7YUFDckU7aUJBQU07Z0JBQ0wsTUFBTSxFQUFFLEdBQUcsS0FBd0MsQ0FBQztnQkFDcEQsTUFBTSxjQUFjLEdBQUcsSUFBQSxpQ0FBc0IsRUFBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLElBQUEsZ0NBQXFCLEdBQUUsQ0FBQyxDQUFDLENBQUM7Z0JBQ2hGLE9BQU8sS0FBSyxjQUFjLEVBQUUsQ0FBQzthQUM5QjtRQUNILENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNoQixPQUFPLFlBQVksVUFBVSxPQUFPLENBQUM7SUFDdkMsQ0FBQztJQUVELFNBQVMsVUFBVSxDQUFDLFlBQTZDO1FBQy9ELElBQUksWUFBWSxLQUFLLElBQUksRUFBRTtZQUN6QixPQUFPLEVBQUUsQ0FBQztTQUNYO1FBQ0QsTUFBTSxPQUFPLEdBQUcsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUUsQ0FBQyxLQUFLLEdBQUcsTUFBTSxLQUFLLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNyRixPQUFPLFNBQVMsT0FBTyxPQUFPLENBQUM7SUFDakMsQ0FBQztJQUVELFNBQVMsYUFBYSxDQUFvQyxNQUFtQixFQUFFLFdBQWtDLEVBQUUsYUFBOEIsRUFBRSxZQUE2QztRQUM5TCxNQUFNLEtBQUssR0FBRyxhQUFhLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDekMsTUFBTSxPQUFPLEdBQUcsVUFBVSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ3pDLE1BQU0sU0FBUyxHQUFHLE9BQU8sQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUM7UUFDN0YsTUFBTSxhQUFhLEdBQUcsT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUN6RCxNQUFNLFFBQVEsR0FBRyxZQUFZLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLE9BQU8sR0FBRyxhQUFhLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQzdFLE9BQU8sR0FBRyxLQUFLLEdBQUcsTUFBTSxLQUFLLE9BQU8sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxRQUFRLE1BQU0sU0FBUyxLQUFLLFFBQVEsRUFBRSxDQUFDO0lBQ3pGLENBQUM7SUFFRCxTQUFTLFlBQVksQ0FBZ0QsTUFBbUIsRUFBRSxXQUFrQyxFQUFFLGFBQThCLEVBQUUsWUFBNkM7UUFDek0sTUFBTSxLQUFLLEdBQUcsYUFBYSxDQUFDLE1BQU0sRUFBRSxXQUFXLEVBQUUsYUFBYSxFQUFFLFlBQVksQ0FBQyxDQUFDO1FBQzlFLGFBQWEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2pDLE9BQU8sV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFhLEtBQUssRUFBRSxnQkFBZ0IsRUFBRSxDQUFDLENBQUM7SUFDcEUsQ0FBQztJQUVELFNBQVMsT0FBTyxDQUFvQyxNQUFtQixFQUFFLFdBQWtDLEVBQUUsYUFBOEI7UUFDekksT0FBTyxTQUFTLEVBQUUsQ0FBa0MsUUFBMkI7WUFDN0UsTUFBTSxZQUFZLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFHLEVBQUUsV0FBVyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBcUIsQ0FBQyxDQUFDO1lBQ3hILE9BQU87Z0JBQ0wsT0FBTyxFQUFFLFNBQVMsT0FBTztvQkFDdkIsT0FBTyxZQUFZLENBQThCLE1BQU0sRUFBRSxXQUFXLEVBQUUsYUFBYSxFQUFFLFlBQVksQ0FBQyxDQUFDO2dCQUNyRyxDQUFDO2dCQUNELFFBQVEsRUFBRSxTQUFTLFFBQVE7b0JBQ3pCLE9BQU8sYUFBYSxDQUFDLE1BQU0sRUFBRSxXQUFXLEVBQUUsYUFBYSxFQUFFLFlBQVksQ0FBQyxDQUFDO2dCQUN6RSxDQUFDO2FBQ0YsQ0FBQztRQUNKLENBQUMsQ0FBQztJQUNKLENBQUM7SUFFRCxTQUFTLFNBQVMsQ0FBQyxNQUFtQixFQUFFLFdBQWtDO1FBQ3hFLE9BQU8sU0FBUyxJQUFJLENBQTRGLGFBQW9CO1lBQ2xJLE9BQU87Z0JBQ0wsRUFBRSxFQUFFLE9BQU8sQ0FBQyxNQUFNLEVBQUUsV0FBVyxFQUFFLGFBQWEsQ0FBQztnQkFDL0MsZ0hBQWdIO2dCQUNoSCxPQUFPLEVBQUUsU0FBUyxPQUFPO29CQUN2QixPQUFPLFlBQVksQ0FBQyxNQUFNLEVBQUUsV0FBVyxFQUFFLGFBQWEsRUFBRSxJQUFJLENBQUMsQ0FBQztnQkFDaEUsQ0FBQztnQkFDRCxRQUFRLEVBQUUsU0FBUyxRQUFRO29CQUN6QixPQUFPLGFBQWEsQ0FBQyxNQUFNLEVBQUUsV0FBVyxFQUFFLGFBQWEsRUFBRSxJQUFJLENBQUMsQ0FBQztnQkFDakUsQ0FBQzthQUNGLENBQUM7UUFDSixDQUFDLENBQUM7SUFDSixDQUFDO0lBRUQsU0FBUyxLQUFLLENBQW9DLElBQU8sRUFBRSxRQUFvRDtRQUM3RyxTQUFTLFdBQVcsQ0FBQyxjQUE4QjtZQUNqRCxPQUFPO2dCQUNMLElBQUksRUFBRSxTQUFTLENBQUMsT0FBTyxFQUFFLGNBQWMsQ0FBQztnQkFDeEMsTUFBTSxFQUFFLFNBQVMsQ0FBQyxRQUFRLEVBQUUsY0FBYyxDQUFDO2FBQzVDLENBQUM7UUFDSixDQUFDO1FBRUQsU0FBUyxRQUFRLENBQUMsTUFBc0I7WUFDdEMsT0FBTyxTQUFTLEdBQUcsQ0FBb0MsSUFBTyxFQUFFLFFBQW9EO2dCQUNsSCxNQUFNLFNBQVMsbUNBQ1YsTUFBTSxLQUNULENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsYUFBYSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLEdBQ3RELENBQUM7Z0JBQ0YsdUJBQ0UsR0FBRyxFQUFFLFFBQVEsQ0FBQyxTQUFTLENBQUMsSUFDckIsV0FBVyxDQUFDLFNBQVMsQ0FBQyxFQUN6QjtZQUNKLENBQUMsQ0FBQztRQUNKLENBQUM7UUFFRCxNQUFNLHNCQUFzQixHQUFtQjtZQUM3QyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRTtnQkFDWCxhQUFhLEVBQUUsSUFBSTtnQkFDbkIsS0FBSyxFQUFFLFFBQVE7YUFDaEI7U0FDRixDQUFDO1FBQ0YsdUJBQ0UsR0FBRyxFQUFFLFFBQVEsQ0FBQyxzQkFBc0IsQ0FBQyxJQUNsQyxXQUFXLENBQUMsc0JBQXNCLENBQUMsRUFDdEM7SUFDSixDQUFDO0lBRUQsT0FBTztRQUNMLEtBQUs7UUFDTCxJQUFJLEVBQUUsU0FBUyxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUM7UUFDOUIsTUFBTSxFQUFFLFNBQVMsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDO0tBQ2xDLENBQUM7QUFDSixDQUFDO0FBdklELGtDQXVJQyJ9 |
@@ -18,11 +18,11 @@ import { DatatypeContainer } from './client'; | ||
export interface ComposingCriteriaBuilder<T extends DatatypeContainer<unknown>> { | ||
eq: (value: T) => CriteriaPredicate; | ||
notEq: (value: T) => CriteriaPredicate; | ||
gt: (value: T) => CriteriaPredicate; | ||
gte: (value: T) => CriteriaPredicate; | ||
lt: (value: T) => CriteriaPredicate; | ||
lte: (value: T) => CriteriaPredicate; | ||
in: (values: T[]) => CriteriaPredicate; | ||
notIn: (values: T[]) => CriteriaPredicate; | ||
like: (value: T) => CriteriaPredicate; | ||
eq: (value: T['value']) => CriteriaPredicate; | ||
notEq: (value: T['value']) => CriteriaPredicate; | ||
gt: (value: T['value']) => CriteriaPredicate; | ||
gte: (value: T['value']) => CriteriaPredicate; | ||
lt: (value: T['value']) => CriteriaPredicate; | ||
lte: (value: T['value']) => CriteriaPredicate; | ||
in: (values: T['value'][]) => CriteriaPredicate; | ||
notIn: (values: T['value'][]) => CriteriaPredicate; | ||
like: (value: T['value']) => CriteriaPredicate; | ||
and: (...items: CriteriaElement[]) => CriteriaComposition; | ||
@@ -29,0 +29,0 @@ or: (...items: CriteriaElement[]) => CriteriaComposition; |
import { Observable } from 'rxjs'; | ||
export interface QueryClient { | ||
readonly query: (query: string, clientQueryId: string) => Observable<any>; | ||
readonly stream: (query: string, clientQueryId: string) => Observable<any>; | ||
query<T>(query: string, clientQueryId: string): Observable<T>; | ||
stream<T>(query: string, clientQueryId: string): Observable<T>; | ||
} | ||
@@ -9,4 +9,4 @@ export declare class HttpQueryClient implements QueryClient { | ||
constructor(host: string); | ||
query(query: string, clientQueryId: string): Observable<any>; | ||
stream(query: string, clientQueryId: string): Observable<any>; | ||
query<T>(query: string, clientQueryId: string): Observable<T>; | ||
stream<T>(query: string, clientQueryId: string): Observable<T>; | ||
} |
@@ -54,2 +54,2 @@ "use strict"; | ||
exports.HttpQueryClient = HttpQueryClient; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktY2xpZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9xdWVyeS1jbGllbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsa0RBQTBCO0FBQzFCLCtCQUFrRTtBQU9sRSxNQUFhLGVBQWU7SUFDMUIsWUFBNkIsSUFBWTtRQUFaLFNBQUksR0FBSixJQUFJLENBQVE7SUFDekMsQ0FBQztJQUVELEtBQUssQ0FBQyxLQUFhLEVBQUUsYUFBcUI7UUFDeEMsT0FBTyxJQUFBLFdBQUksRUFBQyxlQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksNENBQTRDLGFBQWEsRUFBRSxFQUFFLEtBQUssRUFBRTtZQUNyRyxPQUFPLEVBQUU7Z0JBQ1AsY0FBYyxFQUFFLFlBQVk7Z0JBQzVCLFFBQVEsRUFBRSxrQkFBa0I7YUFDN0I7U0FDRixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQ04sSUFBQSxVQUFHLEVBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQzlCLElBQUEsaUJBQVUsRUFBQyxLQUFLLENBQUMsRUFBRTtZQUNqQixPQUFPLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUEsU0FBRSxFQUFDO2dCQUN6QixLQUFLLEVBQUUsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJO2dCQUMxQixLQUFLO2FBQ04sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFBLFNBQUUsRUFBQyxFQUFFLEtBQUssRUFBRSxlQUFlLEVBQUUsQ0FBQyxDQUFDO1FBQ3RDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDUixDQUFDO0lBRUQsMEJBQTBCO0lBQzFCLE1BQU0sQ0FBQyxLQUFhLEVBQUUsYUFBcUI7UUFDekMsTUFBTSxJQUFJLEdBQUcsSUFBQSxXQUFJLEVBQUMsZUFBSyxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUFJLDRDQUE0QyxhQUFhLEVBQUUsRUFBRSxLQUFLLEVBQUU7WUFDM0csT0FBTyxFQUFFO2dCQUNQLGNBQWMsRUFBRSxZQUFZO2dCQUM1QixRQUFRLEVBQUUsa0JBQWtCO2FBQzdCO1NBQ0YsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUNOLElBQUEsVUFBRyxFQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUM5QixJQUFBLGlCQUFVLEVBQUMsS0FBSyxDQUFDLEVBQUU7WUFDakIsT0FBTyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFBLFNBQUUsRUFBQztnQkFDekIsS0FBSyxFQUFFLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSTtnQkFDMUIsS0FBSzthQUNOLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBQSxTQUFFLEVBQUMsRUFBRSxLQUFLLEVBQUUsZUFBZSxFQUFFLENBQUMsQ0FBQztRQUN0QyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ04sTUFBTSxJQUFJLEdBQUcsSUFBQSxXQUFJLEVBQUMsZUFBSyxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUFJLDRDQUE0QyxhQUFhLEVBQUUsRUFBRSxLQUFLLEVBQUU7WUFDM0csT0FBTyxFQUFFO2dCQUNQLGNBQWMsRUFBRSxZQUFZO2dCQUM1QixRQUFRLEVBQUUsa0JBQWtCO2FBQzdCO1NBQ0YsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUNOLElBQUEsVUFBRyxFQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUM5QixJQUFBLGlCQUFVLEVBQUMsS0FBSyxDQUFDLEVBQUU7WUFDakIsT0FBTyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFBLFNBQUUsRUFBQztnQkFDekIsS0FBSyxFQUFFLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSTtnQkFDMUIsS0FBSzthQUNOLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBQSxTQUFFLEVBQUMsRUFBRSxLQUFLLEVBQUUsZUFBZSxFQUFFLENBQUMsQ0FBQztRQUN0QyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ04sT0FBTyxJQUFBLFVBQUcsRUFBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDekIsQ0FBQztDQUNGO0FBbERELDBDQWtEQyJ9 | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktY2xpZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9xdWVyeS1jbGllbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsa0RBQTBCO0FBQzFCLCtCQUFrRTtBQVFsRSxNQUFhLGVBQWU7SUFDMUIsWUFBNkIsSUFBWTtRQUFaLFNBQUksR0FBSixJQUFJLENBQVE7SUFDekMsQ0FBQztJQUVELEtBQUssQ0FBSSxLQUFhLEVBQUUsYUFBcUI7UUFDM0MsT0FBTyxJQUFBLFdBQUksRUFBQyxlQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksNENBQTRDLGFBQWEsRUFBRSxFQUFFLEtBQUssRUFBRTtZQUNyRyxPQUFPLEVBQUU7Z0JBQ1AsY0FBYyxFQUFFLFlBQVk7Z0JBQzVCLFFBQVEsRUFBRSxrQkFBa0I7YUFDN0I7U0FDRixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQ04sSUFBQSxVQUFHLEVBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQzlCLElBQUEsaUJBQVUsRUFBQyxLQUFLLENBQUMsRUFBRTtZQUNqQixPQUFPLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUEsU0FBRSxFQUFDO2dCQUN6QixLQUFLLEVBQUUsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJO2dCQUMxQixLQUFLO2FBQ04sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFBLFNBQUUsRUFBQyxFQUFFLEtBQUssRUFBRSxlQUFlLEVBQUUsQ0FBQyxDQUFDO1FBQ3RDLENBQUMsQ0FBQyxDQUFrQixDQUFDO0lBQ3pCLENBQUM7SUFFRCwwQkFBMEI7SUFDMUIsTUFBTSxDQUFJLEtBQWEsRUFBRSxhQUFxQjtRQUM1QyxNQUFNLElBQUksR0FBRyxJQUFBLFdBQUksRUFBQyxlQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksNENBQTRDLGFBQWEsRUFBRSxFQUFFLEtBQUssRUFBRTtZQUMzRyxPQUFPLEVBQUU7Z0JBQ1AsY0FBYyxFQUFFLFlBQVk7Z0JBQzVCLFFBQVEsRUFBRSxrQkFBa0I7YUFDN0I7U0FDRixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQ04sSUFBQSxVQUFHLEVBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQzlCLElBQUEsaUJBQVUsRUFBQyxLQUFLLENBQUMsRUFBRTtZQUNqQixPQUFPLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUEsU0FBRSxFQUFDO2dCQUN6QixLQUFLLEVBQUUsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJO2dCQUMxQixLQUFLO2FBQ04sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFBLFNBQUUsRUFBQyxFQUFFLEtBQUssRUFBRSxlQUFlLEVBQUUsQ0FBQyxDQUFDO1FBQ3RDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDTixNQUFNLElBQUksR0FBRyxJQUFBLFdBQUksRUFBQyxlQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksNENBQTRDLGFBQWEsRUFBRSxFQUFFLEtBQUssRUFBRTtZQUMzRyxPQUFPLEVBQUU7Z0JBQ1AsY0FBYyxFQUFFLFlBQVk7Z0JBQzVCLFFBQVEsRUFBRSxrQkFBa0I7YUFDN0I7U0FDRixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQ04sSUFBQSxVQUFHLEVBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQzlCLElBQUEsaUJBQVUsRUFBQyxLQUFLLENBQUMsRUFBRTtZQUNqQixPQUFPLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUEsU0FBRSxFQUFDO2dCQUN6QixLQUFLLEVBQUUsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJO2dCQUMxQixLQUFLO2FBQ04sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFBLFNBQUUsRUFBQyxFQUFFLEtBQUssRUFBRSxlQUFlLEVBQUUsQ0FBQyxDQUFDO1FBQ3RDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDTixPQUFPLElBQUEsVUFBRyxFQUFDLElBQUksRUFBRSxJQUFJLENBQW9CLENBQUM7SUFDNUMsQ0FBQztDQUNGO0FBbERELDBDQWtEQyJ9 |
{ | ||
"name": "@orbitalhq/orbital-client", | ||
"version": "0.1.0-alpha.0", | ||
"version": "0.1.0-alpha.1", | ||
"description": "A library to execute TaxiQL queries against the Orbital query server", | ||
@@ -13,3 +13,3 @@ "main": "build/main/index.js", | ||
"build": "run-p build:*", | ||
"build:main": "tsc -p tsconfig.json", | ||
"build:main": "cp -r bin/ build/bin && tsc -p tsconfig.json", | ||
"build:module": "tsc -p tsconfig.module.json", | ||
@@ -40,4 +40,3 @@ "fix": "run-s fix:*", | ||
"prepare-release": "run-s reset-hard test cov:check doc:html version doc:publish", | ||
"release:private": "npm publish --access private", | ||
"release:public": "npm publish --access public" | ||
"release": "npm publish --access public" | ||
}, | ||
@@ -50,3 +49,2 @@ "engines": { | ||
"nanoid": "^3.3.4", | ||
"reflect-metadata": "^0.1.13", | ||
"rxjs": "^7.5.5" | ||
@@ -84,3 +82,4 @@ }, | ||
"LICENSE", | ||
"README.md" | ||
"README.md", | ||
"bin/orbital-generate.js" | ||
], | ||
@@ -112,3 +111,6 @@ "ava": { | ||
] | ||
}, | ||
"bin": { | ||
"orbital-generate": "bin/orbital-generate.js" | ||
} | ||
} |
# Orbital TypeScript client | ||
A library to execute TaxiQL queries against the Orbital query server. | ||
## Getting started | ||
Install the dependency with | ||
```bash | ||
npm install @orbitalhq/orbital-client | ||
``` | ||
and create a file called `orbital.config.json` to the same folder that contains `package.json` with the following | ||
content: | ||
```json | ||
{ | ||
"schemaServerUrl": "<SCHEMA_SERVER_URL>" | ||
} | ||
``` | ||
where you replace `<SCHEMA_SERVER_URL>` with the URL of the schema server | ||
like `http://schema-server.orbital.example.com`. | ||
Finally, run | ||
```bash | ||
npm run orbital:taxonomy:generate | ||
``` | ||
This will generate a taxonomy file called `taxonomy.ts` next to `package.json`. This file should be committed to version | ||
control and be updated (by re-running `npm run orbital:taxonomy:generate`) whenever the schema changes. | ||
Once the taxonomy file is generated, you can initialize the client: | ||
```typescript | ||
import { asArray, buildClient, consoleLogger, HttpQueryClient } from 'orbital-client'; | ||
import { taxonomy } from './taxonomy'; | ||
const client = buildClient<{}, typeof taxonomy>( | ||
taxonomy, | ||
new HttpQueryClient('http://localhost:9022'), | ||
{ | ||
logger: consoleLogger, | ||
}, | ||
); | ||
``` | ||
and start executing queries | ||
```typescript | ||
client | ||
.given(taxonomy.people.FirstName, 'John') | ||
.find(asArray(taxonomy.people.Person)) | ||
.execute() | ||
.subscribe((result) => console.log(result[0].firstName)); | ||
``` | ||
which sends the following TaxiQL query to be executed on the Orbital server: | ||
``` | ||
given { | ||
people.FirstName = "John" | ||
} | ||
find { people.Person[] } | ||
``` | ||
You can also access this query by calling `.toTaxiQL()` on the query builder. | ||
```typescript | ||
const query = client | ||
.given(taxonomy.people.FirstName, 'John') | ||
.find(asArray(taxonomy.people.Person)) | ||
.toTaxiQl(); | ||
console.log(query); | ||
``` |
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
Dynamic require
Supply chain riskDynamic require can indicate the package is performing dangerous or unsafe dynamic code execution.
Found 1 instance in 1 package
Filesystem access
Supply chain riskAccesses the file system, and could potentially read sensitive data.
Found 1 instance in 1 package
68844
3
24
804
77
3
1
+ Addedform-data@4.0.1(transitive)
- Removedreflect-metadata@^0.1.13
- Removedcall-bind-apply-helpers@1.0.2(transitive)
- Removeddunder-proto@1.0.1(transitive)
- Removedes-define-property@1.0.1(transitive)
- Removedes-errors@1.3.0(transitive)
- Removedes-object-atoms@1.1.1(transitive)
- Removedes-set-tostringtag@2.1.0(transitive)
- Removedform-data@4.0.2(transitive)
- Removedfunction-bind@1.1.2(transitive)
- Removedget-intrinsic@1.2.7(transitive)
- Removedget-proto@1.0.1(transitive)
- Removedgopd@1.2.0(transitive)
- Removedhas-symbols@1.1.0(transitive)
- Removedhas-tostringtag@1.0.2(transitive)
- Removedhasown@2.0.2(transitive)
- Removedmath-intrinsics@1.1.0(transitive)
- Removedreflect-metadata@0.1.14(transitive)