UNPKG

@lightningkite/ktor-batteries

Version:
258 lines (212 loc) 19.2 kB
// Package: com.lightningkite.ktordb // Generated by Khrysalis - this file will be overwritten. import { Condition } from './Condition' import { Modification } from './Modification' import { Comparable, TProperty1 } from '@lightningkite/khrysalis-runtime' import { map as iMap } from 'iter-tools-es' //! Declares com.lightningkite.ktordb.startChain export function startChain<T extends any>(): PropChain<T, T> { return new PropChain<T, T>((it: Condition<T>): Condition<T> => (it), (it: Modification<T>): Modification<T> => (it)); } //! Declares com.lightningkite.ktordb.PropChain export class PropChain<From extends any, To extends any> { public constructor(public readonly mapCondition: ((a: Condition<To>) => Condition<From>), public readonly mapModification: ((a: Modification<To>) => Modification<From>)) { } public get<V extends any>(prop: TProperty1<To, V>): PropChain<From, V> { return new PropChain<From, V>((it: Condition<V>): Condition<From> => (this.mapCondition(new Condition.OnField<To, V>(prop, it))), (it: Modification<V>): Modification<From> => (this.mapModification(new Modification.OnField<To, V>(prop, it)))); } // override fun hashCode(): Int = mapCondition(Condition.Always()).hashCode() public toString(): string { return `PropChain(${this.mapCondition(new Condition.Always<To>())})`; } // @Suppress("UNCHECKED_CAST") // override fun equals(other: Any?): Boolean = other is PropChain<*, *> && mapCondition(Condition.Always()) == (other as PropChain<Any?, Any?>).mapCondition(Condition.Always()) } //! Declares com.lightningkite.ktordb.condition export function condition<T extends any>(setup: ((a: PropChain<T, T>) => Condition<T>)): Condition<T> { return (setup)(startChain<T>()); } //! Declares com.lightningkite.ktordb.modification export function modification<T extends any>(setup: ((a: PropChain<T, T>) => Modification<T>)): Modification<T> { return (setup)(startChain<T>()); } //! Declares com.lightningkite.ktordb.always>com.lightningkite.ktordb.PropChaincom.lightningkite.ktordb.always.K, com.lightningkite.ktordb.always.K export function xPropChainAlwaysGet<K extends any>(this_: PropChain<K, K>): Condition<K> { return new Condition.Always<K>(); } //! Declares com.lightningkite.ktordb.never>com.lightningkite.ktordb.PropChaincom.lightningkite.ktordb.never.K, com.lightningkite.ktordb.never.K export function xPropChainNeverGet<K extends any>(this_: PropChain<K, K>): Condition<K> { return new Condition.Never<K>(); } //! Declares com.lightningkite.ktordb.eq>com.lightningkite.ktordb.PropChaincom.lightningkite.ktordb.eq.K, com.lightningkite.ktordb.eq.T export function xPropChainEq<K extends any, T extends any>(this_: PropChain<K, T>, value: T): Condition<K> { return this_.mapCondition(new Condition.Equal<T>(value)); } //! Declares com.lightningkite.ktordb.neq>com.lightningkite.ktordb.PropChaincom.lightningkite.ktordb.neq.K, com.lightningkite.ktordb.neq.T export function xPropChainNeq<K extends any, T extends any>(this_: PropChain<K, T>, value: T): Condition<K> { return this_.mapCondition(new Condition.NotEqual<T>(value)); } //! Declares com.lightningkite.ktordb.ne>com.lightningkite.ktordb.PropChaincom.lightningkite.ktordb.ne.K, com.lightningkite.ktordb.ne.T export function xPropChainNe<K extends any, T extends any>(this_: PropChain<K, T>, value: T): Condition<K> { return this_.mapCondition(new Condition.NotEqual<T>(value)); } //! Declares com.lightningkite.ktordb.inside>com.lightningkite.ktordb.PropChaincom.lightningkite.ktordb.inside.K, com.lightningkite.ktordb.inside.T export function xPropChainInside<K extends any, T extends any>(this_: PropChain<K, T>, values: Array<T>): Condition<K> { return this_.mapCondition(new Condition.Inside<T>(values)); } //! Declares com.lightningkite.ktordb.nin>com.lightningkite.ktordb.PropChaincom.lightningkite.ktordb.nin.K, com.lightningkite.ktordb.nin.T export function xPropChainNin<K extends any, T extends any>(this_: PropChain<K, T>, values: Array<T>): Condition<K> { return this_.mapCondition(new Condition.NotInside<T>(values)); } //! Declares com.lightningkite.ktordb.notIn>com.lightningkite.ktordb.PropChaincom.lightningkite.ktordb.notIn.K, com.lightningkite.ktordb.notIn.T export function xPropChainNotIn<K extends any, T extends any>(this_: PropChain<K, T>, values: Array<T>): Condition<K> { return this_.mapCondition(new Condition.NotInside<T>(values)); } //! Declares com.lightningkite.ktordb.gt>com.lightningkite.ktordb.PropChaincom.lightningkite.ktordb.gt.K, com.lightningkite.ktordb.gt.T export function xPropChainGt<K extends any, T extends any>(this_: PropChain<K, T>, value: T): Condition<K> { return this_.mapCondition(new Condition.GreaterThan<T>(value)); } //! Declares com.lightningkite.ktordb.lt>com.lightningkite.ktordb.PropChaincom.lightningkite.ktordb.lt.K, com.lightningkite.ktordb.lt.T export function xPropChainLt<K extends any, T extends any>(this_: PropChain<K, T>, value: T): Condition<K> { return this_.mapCondition(new Condition.LessThan<T>(value)); } //! Declares com.lightningkite.ktordb.gte>com.lightningkite.ktordb.PropChaincom.lightningkite.ktordb.gte.K, com.lightningkite.ktordb.gte.T export function xPropChainGte<K extends any, T extends any>(this_: PropChain<K, T>, value: T): Condition<K> { return this_.mapCondition(new Condition.GreaterThanOrEqual<T>(value)); } //! Declares com.lightningkite.ktordb.lte>com.lightningkite.ktordb.PropChaincom.lightningkite.ktordb.lte.K, com.lightningkite.ktordb.lte.T export function xPropChainLte<K extends any, T extends any>(this_: PropChain<K, T>, value: T): Condition<K> { return this_.mapCondition(new Condition.LessThanOrEqual<T>(value)); } //! Declares com.lightningkite.ktordb.allClear>com.lightningkite.ktordb.PropChaincom.lightningkite.ktordb.allClear.K, kotlin.Int export function xPropChainAllClear<K extends any>(this_: PropChain<K, number>, mask: number): Condition<K> { return this_.mapCondition(new Condition.IntBitsClear(mask)); } //! Declares com.lightningkite.ktordb.allSet>com.lightningkite.ktordb.PropChaincom.lightningkite.ktordb.allSet.K, kotlin.Int export function xPropChainAllSet<K extends any>(this_: PropChain<K, number>, mask: number): Condition<K> { return this_.mapCondition(new Condition.IntBitsSet(mask)); } //! Declares com.lightningkite.ktordb.anyClear>com.lightningkite.ktordb.PropChaincom.lightningkite.ktordb.anyClear.K, kotlin.Int export function xPropChainAnyClear<K extends any>(this_: PropChain<K, number>, mask: number): Condition<K> { return this_.mapCondition(new Condition.IntBitsAnyClear(mask)); } //! Declares com.lightningkite.ktordb.anySet>com.lightningkite.ktordb.PropChaincom.lightningkite.ktordb.anySet.K, kotlin.Int export function xPropChainAnySet<K extends any>(this_: PropChain<K, number>, mask: number): Condition<K> { return this_.mapCondition(new Condition.IntBitsAnySet(mask)); } //! Declares com.lightningkite.ktordb.contains>com.lightningkite.ktordb.PropChaincom.lightningkite.ktordb.contains.K, kotlin.String export function xPropChainContains<K extends any>(this_: PropChain<K, string>, value: string): Condition<K> { return this_.mapCondition(new Condition.StringContains(value, true)); } //! Declares com.lightningkite.ktordb.contains>com.lightningkite.ktordb.PropChaincom.lightningkite.ktordb.contains.K, kotlin.String export function xPropChainContainsCased<K extends any>(this_: PropChain<K, string>, value: string, ignoreCase: boolean): Condition<K> { return this_.mapCondition(new Condition.StringContains(value, ignoreCase)); } //! Declares com.lightningkite.ktordb.fullTextSearch>com.lightningkite.ktordb.PropChaincom.lightningkite.ktordb.fullTextSearch.K, com.lightningkite.ktordb.fullTextSearch.V export function xPropChainFullTextSearch<K extends any, V extends any>(this_: PropChain<K, V>, value: string, ignoreCase: boolean): Condition<K> { return this_.mapCondition(new Condition.FullTextSearch<V>(value, ignoreCase)); } //! Declares com.lightningkite.ktordb.all>com.lightningkite.ktordb.PropChaincom.lightningkite.ktordb.all.K, kotlin.collections.Listcom.lightningkite.ktordb.all.T export function xPropChainAll<K extends any, T extends any>(this_: PropChain<K, Array<T>>, condition: ((a: PropChain<T, T>) => Condition<T>)): Condition<K> { return this_.mapCondition(new Condition.AllElements<T>((condition)(startChain<T>()))); } //! Declares com.lightningkite.ktordb.any>com.lightningkite.ktordb.PropChaincom.lightningkite.ktordb.any.K, kotlin.collections.Listcom.lightningkite.ktordb.any.T export function xPropChainAny<K extends any, T extends any>(this_: PropChain<K, Array<T>>, condition: ((a: PropChain<T, T>) => Condition<T>)): Condition<K> { return this_.mapCondition(new Condition.AnyElements<T>((condition)(startChain<T>()))); } //! Declares com.lightningkite.ktordb.sizesEquals>com.lightningkite.ktordb.PropChaincom.lightningkite.ktordb.sizesEquals.K, kotlin.collections.Listcom.lightningkite.ktordb.sizesEquals.T export function xPropChainSizesEquals<K extends any, T extends any>(this_: PropChain<K, Array<T>>, count: number): Condition<K> { return this_.mapCondition(new Condition.SizesEquals<T>(count)); } //! Declares com.lightningkite.ktordb.containsKey>com.lightningkite.ktordb.PropChaincom.lightningkite.ktordb.containsKey.K, kotlin.collections.Mapkotlin.String, com.lightningkite.ktordb.containsKey.T export function xPropChainContainsKey<K extends any, T extends any>(this_: PropChain<K, Map<string, T>>, key: string): Condition<K> { return this_.mapCondition(new Condition.Exists<T>(key)); } //! Declares com.lightningkite.ktordb.notNull>com.lightningkite.ktordb.PropChaincom.lightningkite.ktordb.notNull.K, com.lightningkite.ktordb.notNull.T export function xPropChainNotNullGet<K extends any, T extends any>(this_: PropChain<K, (T | null)>): PropChain<K, T> { return new PropChain<K, T>((it: Condition<T>): Condition<K> => (this_.mapCondition(new Condition.IfNotNull<T>(it))), (it: Modification<T>): Modification<K> => (this_.mapModification(new Modification.IfNotNull<T>(it)))); } //! Declares com.lightningkite.ktordb.get>com.lightningkite.ktordb.PropChaincom.lightningkite.ktordb.get.K, kotlin.collections.Mapkotlin.String, com.lightningkite.ktordb.get.T export function xPropChainGet<K extends any, T extends any>(this_: PropChain<K, Map<string, T>>, key: string): PropChain<K, T> { return new PropChain<K, T>((it: Condition<T>): Condition<K> => (this_.mapCondition(new Condition.OnKey<T>(key, it))), (it: Modification<T>): Modification<K> => (this_.mapModification(new Modification.ModifyByKey<T>(new Map([[key, it]]))))); } //! Declares com.lightningkite.ktordb.condition>com.lightningkite.ktordb.PropChaincom.lightningkite.ktordb.condition.K, com.lightningkite.ktordb.condition.T export function xPropChainCondition<K extends any, T extends any>(this_: PropChain<K, T>, make: ((a: PropChain<T, T>) => Condition<T>)): Condition<K> { return this_.mapCondition(make(startChain<T>())); } //! Declares com.lightningkite.ktordb.modification>com.lightningkite.ktordb.PropChaincom.lightningkite.ktordb.modification.K, com.lightningkite.ktordb.modification.T export function xPropChainModification<K extends any, T extends any>(this_: PropChain<K, T>, make: ((a: PropChain<T, T>) => Modification<T>)): Modification<K> { return this_.mapModification(make(startChain<T>())); } //! Declares com.lightningkite.ktordb.assign>com.lightningkite.ktordb.PropChaincom.lightningkite.ktordb.assign.K, com.lightningkite.ktordb.assign.T export function xPropChainAssign<K extends any, T extends any>(this_: PropChain<K, T>, value: T): Modification<K> { return this_.mapModification(new Modification.Assign<T>(value)); } //! Declares com.lightningkite.ktordb.coerceAtMost>com.lightningkite.ktordb.PropChaincom.lightningkite.ktordb.coerceAtMost.K, com.lightningkite.ktordb.coerceAtMost.T export function xPropChainCoerceAtMost<K extends any, T extends Comparable<T>>(this_: PropChain<K, T>, value: T): Modification<K> { return this_.mapModification(new Modification.CoerceAtMost<T>(value)); } //! Declares com.lightningkite.ktordb.coerceAtLeast>com.lightningkite.ktordb.PropChaincom.lightningkite.ktordb.coerceAtLeast.K, com.lightningkite.ktordb.coerceAtLeast.T export function xPropChainCoerceAtLeast<K extends any, T extends Comparable<T>>(this_: PropChain<K, T>, value: T): Modification<K> { return this_.mapModification(new Modification.CoerceAtLeast<T>(value)); } //! Declares com.lightningkite.ktordb.plus>com.lightningkite.ktordb.PropChaincom.lightningkite.ktordb.plus.K, com.lightningkite.ktordb.plus.T export function xPropChainPlusNumber<K extends any, T extends number>(this_: PropChain<K, T>, by: T): Modification<K> { return this_.mapModification(new Modification.Increment<T>(by)); } //! Declares com.lightningkite.ktordb.times>com.lightningkite.ktordb.PropChaincom.lightningkite.ktordb.times.K, com.lightningkite.ktordb.times.T export function xPropChainTimes<K extends any, T extends number>(this_: PropChain<K, T>, by: T): Modification<K> { return this_.mapModification(new Modification.Multiply<T>(by)); } //! Declares com.lightningkite.ktordb.plus>com.lightningkite.ktordb.PropChaincom.lightningkite.ktordb.plus.K, kotlin.String export function xPropChainPlusString<K extends any>(this_: PropChain<K, string>, value: string): Modification<K> { return this_.mapModification(new Modification.AppendString(value)); } //! Declares com.lightningkite.ktordb.plus>com.lightningkite.ktordb.PropChaincom.lightningkite.ktordb.plus.K, kotlin.collections.Listcom.lightningkite.ktordb.plus.T export function xPropChainPlusItems<K extends any, T>(this_: PropChain<K, Array<T>>, items: Array<T>): Modification<K> { return this_.mapModification(new Modification.AppendList<T>(items)); } //! Declares com.lightningkite.ktordb.plus>com.lightningkite.ktordb.PropChaincom.lightningkite.ktordb.plus.K, kotlin.collections.Listcom.lightningkite.ktordb.plus.T export function xPropChainPlusItem<K extends any, T>(this_: PropChain<K, Array<T>>, item: T): Modification<K> { return this_.mapModification(new Modification.AppendList<T>([item])); } //! Declares com.lightningkite.ktordb.addAll>com.lightningkite.ktordb.PropChaincom.lightningkite.ktordb.addAll.K, kotlin.collections.Listcom.lightningkite.ktordb.addAll.T export function xPropChainAddAll<K extends any, T extends any>(this_: PropChain<K, Array<T>>, items: Array<T>): Modification<K> { return this_.mapModification(new Modification.AppendList<T>(items)); } //! Declares com.lightningkite.ktordb.addUnique>com.lightningkite.ktordb.PropChaincom.lightningkite.ktordb.addUnique.K, kotlin.collections.Listcom.lightningkite.ktordb.addUnique.T export function xPropChainAddUnique<K extends any, T extends any>(this_: PropChain<K, Array<T>>, items: Array<T>): Modification<K> { return this_.mapModification(new Modification.AppendSet<T>(items)); } //! Declares com.lightningkite.ktordb.removeAll>com.lightningkite.ktordb.PropChaincom.lightningkite.ktordb.removeAll.K, kotlin.collections.Listcom.lightningkite.ktordb.removeAll.T export function xPropChainRemoveAll<K extends any, T extends any>(this_: PropChain<K, Array<T>>, condition: ((a: PropChain<T, T>) => Condition<T>)): Modification<K> { return this_.mapModification(new Modification.Remove<T>((condition)(startChain<T>()))); } //! Declares com.lightningkite.ktordb.removeAll>com.lightningkite.ktordb.PropChaincom.lightningkite.ktordb.removeAll.K, kotlin.collections.Listcom.lightningkite.ktordb.removeAll.T export function xPropChainRemoveList<K extends any, T extends any>(this_: PropChain<K, Array<T>>, items: Array<T>): Modification<K> { return this_.mapModification(new Modification.RemoveInstances<T>(items)); } //! Declares com.lightningkite.ktordb.dropLast>com.lightningkite.ktordb.PropChaincom.lightningkite.ktordb.dropLast.K, kotlin.collections.Listcom.lightningkite.ktordb.dropLast.T export function xPropChainDropLast<K extends any, T extends any>(this_: PropChain<K, Array<T>>): Modification<K> { return this_.mapModification(new Modification.DropLast<T>()); } //! Declares com.lightningkite.ktordb.dropFirst>com.lightningkite.ktordb.PropChaincom.lightningkite.ktordb.dropFirst.K, kotlin.collections.Listcom.lightningkite.ktordb.dropFirst.T export function xPropChainDropFirst<K extends any, T extends any>(this_: PropChain<K, Array<T>>): Modification<K> { return this_.mapModification(new Modification.DropFirst<T>()); } //! Declares com.lightningkite.ktordb.map>com.lightningkite.ktordb.PropChaincom.lightningkite.ktordb.map.K, kotlin.collections.Listcom.lightningkite.ktordb.map.T export function xPropChainMap<K extends any, T extends any>(this_: PropChain<K, Array<T>>, modification: ((a: PropChain<T, T>) => Modification<T>)): Modification<K> { return this_.mapModification(new Modification.PerElement<T>(new Condition.Always<T>(), (modification)(startChain<T>()))); } //! Declares com.lightningkite.ktordb.mapIf>com.lightningkite.ktordb.PropChaincom.lightningkite.ktordb.mapIf.K, kotlin.collections.Listcom.lightningkite.ktordb.mapIf.T export function xPropChainMapIf<K extends any, T extends any>(this_: PropChain<K, Array<T>>, condition: ((a: PropChain<T, T>) => Condition<T>), modification: ((a: PropChain<T, T>) => Modification<T>)): Modification<K> { return this_.mapModification( new Modification.PerElement<T>((condition)(startChain<T>()), (modification)(startChain<T>())) ); } //! Declares com.lightningkite.ktordb.plus>com.lightningkite.ktordb.PropChaincom.lightningkite.ktordb.plus.K, kotlin.collections.Mapkotlin.String, com.lightningkite.ktordb.plus.T export function xPropChainPlusMap<K extends any, T extends any>(this_: PropChain<K, Map<string, T>>, map: Map<string, T>): Modification<K> { return this_.mapModification(new Modification.Combine<T>(map)); } //! Declares com.lightningkite.ktordb.modifyByKey>com.lightningkite.ktordb.PropChaincom.lightningkite.ktordb.modifyByKey.K, kotlin.collections.Mapkotlin.String, com.lightningkite.ktordb.modifyByKey.T export function xPropChainModifyByKey<K extends any, T extends any>(this_: PropChain<K, Map<string, T>>, map: Map<string, ((a: PropChain<T, T>) => Modification<T>)>): Modification<K> { return this_.mapModification(new Modification.ModifyByKey<T>(new Map(iMap(x => [x[0], ((it: [string, (a: PropChain<T, T>) => Modification<T>]): Modification<T> => ((it[1])(startChain<T>())))(x)], map.entries())))); } //! Declares com.lightningkite.ktordb.removeKeys>com.lightningkite.ktordb.PropChaincom.lightningkite.ktordb.removeKeys.K, kotlin.collections.Mapkotlin.String, com.lightningkite.ktordb.removeKeys.T export function xPropChainRemoveKeys<K extends any, T extends any>(this_: PropChain<K, Map<string, T>>, fields: Set<string>): Modification<K> { return this_.mapModification(new Modification.RemoveKeys<T>(fields)); }