This package contains a bunch of functions used across Chego components.
npm install --save @chego/chego-tools
The functions included in this package have been separated from the core component, so that they can be used in database drivers without any unnecessary and heavy dependencies. As such, they should not be part of the official API.
To find out what Property, Table, SortingData, Alias, RowId, Limit, LogicalOperatorScope, FunctionData are, please check Chego API
Returns new Property object.
Returns new Table object.
Returns new Limit object.
newSortingData(property: Property = null, order: SortingOrderEnum = SortingOrderEnum.ASC): SortingData
Returns new SortingData object.
Returns new Property object with the defined type QuerySyntaxEnum.RowId.
Returns new Property object with the defined type QuerySyntaxEnum.Alias.
Returns label string of given property/table. If alias is set then it will return its value, otherwise it returns name of the property.
Function checks if a given key is a string, if so, it parses it to a Property object.
mergePropertiesWithLogicalAnd(properties: PropertyOrLogicalOperatorScope[], current: PropertyOrLogicalOperatorScope, i: number): PropertyOrLogicalOperatorScope[]
Array.reduce callback, which checks each element and wraps it within the logical operator scope.
pseudocode
select['foo','bar','baz', or('qux')] ---> select['foo',and('bar'),and('baz'), or('qux')]
newLogicalOperatorScope(type: QuerySyntaxEnum, properties?: PropertyOrLogicalOperatorScope[]): LogicalOperatorScope
Returns new LogicalOperatorScope object.
Checks if a given enum value is equal to And, Or or Not.
Checks if a given prop is a LogicalOperatorScope object.
Checks if a given prop is a function.
Performs a deep cloning of an object.
Checks if a given prop is a QuerySchemeElement object.
Executes Array.reduce callbacks - one by one - in a single iteration.
Converts given string to Table object.
Converts given string to Property object.
Checks if a given param is a string and matches pattern eg. superheros.name.
Checks if a given param is a string and matches pattern eg. writers.name AS author.
Checks if a given param is a Property object.
Checks if a given param is a Property object with defined type QuerySyntaxEnum.RowId.
Checks if a given param is a Property object with defined type QuerySyntaxEnum.Alias.
Checks if a given param is a FunctionData object.
Checks if a given param is a ItemWithCustomId object.
There is still a lot to do, so if you want to be part of the Chego project and make it better, it's great. Whether you find a bug or have a feature request, please contact us. With your help, we'll make it a great tool.
Follow our kanban boards to be up to date
Join the team, feel free to catch any task or suggest a new one.
Copyright (c) 2019 Chego Team
Licensed under the MIT license.