New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@orbitalhq/orbital-client

Package Overview
Dependencies
Maintainers
2
Versions
4
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@orbitalhq/orbital-client - npm Package Compare versions

Comparing version 0.1.0-alpha.0 to 0.1.0-alpha.1

bin/orbital-generate.js

52

build/main/lib/client.d.ts

@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9jbGllbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNEJBQTBCLENBQUMsc0RBQXNEO0FBQ2pGLG1DQUFnQztBQUdoQyx5Q0FLb0I7QUFDcEIscUNBQThDO0FBRzlDLFNBQVMsT0FBTyxDQUFDLEtBQVU7SUFDekIsT0FBTyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQzlCLENBQUM7QUFJRCxTQUFnQixPQUFPLENBQVEsS0FBK0I7SUFDNUQsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ2pCLENBQUM7QUFGRCwwQkFFQztBQWVELFNBQVMsZ0JBQWdCO0lBQ3ZCLE9BQU8sSUFBQSxlQUFNLEdBQUUsQ0FBQztBQUNsQixDQUFDO0FBTUQsTUFBTSxjQUFjLEdBQTRCO0lBQzlDLE1BQU0sRUFBRSxtQkFBVTtDQUNuQixDQUFDO0FBUUYsU0FBZ0IsV0FBVyxDQUEwRixRQUFrQixFQUFFLFdBQXdCLEVBQUUsT0FBc0I7SUFDdkwsTUFBTSxhQUFhLG1DQUFRLGNBQWMsR0FBSyxPQUFPLENBQUUsQ0FBQztJQXFCeEQsU0FBUyxXQUFXLENBQUMsR0FBVztRQUM5QixNQUFNLFNBQVMsR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFFLEdBQUcsQ0FBQyxLQUFLLENBQVMsRUFBRSxRQUFRLENBQXNDLENBQUM7UUFDNUgsT0FBTyxTQUFTLENBQUMsSUFBSSxDQUFDO0lBQ3hCLENBQUM7SUFFRCxTQUFTLGFBQWEsQ0FBQyxjQUFxQztRQUMxRCxJQUFJLGNBQWMsS0FBSyxJQUFJLEVBQUU7WUFDM0IsT0FBTyxFQUFFLENBQUM7U0FDWDtRQUNELE1BQU0sVUFBVSxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDO2FBQzlD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

@@ -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);
```
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc