| 12345678910111213141516171819202122232425262728293031323334 |
- import {Query} from "@vuex-orm/core";
- import {$objectProperties} from "~/services/utils/objectProperties";
- import {AnyJson} from "~/types/types";
- import {Collection, Item} from "@vuex-orm/core/dist/src/data/Data";
- class useQuery{
- public getEntry(query: Query, id:number): Item{
- return query.find(id);
- }
- public getEntries(query: Query):Collection{
- return query.get()
- }
- public getFlattenEntry(query: Query, id:number): AnyJson{
- return $objectProperties.cloneAndFlatten(this.getEntry(query, id) as AnyJson);
- }
- public getFlattenEntries(query: Query): Array<AnyJson>{
- const entries = this.getEntries(query)
- return entries.map((entry:AnyJson) => {
- return $objectProperties.cloneAndFlatten(entry)
- })
- }
- public getJsonEntry(query: Query, id:number): AnyJson{
- const entry = this.getEntry(query, id);
- if(entry)
- return entry.$toJson();
- return {}
- }
- }
- export const useQueryHelper = new useQuery()
|