import ArrayFormatters from "kinibind/ts/formatters/array-formatters"; import EntityAggregateArrayProxy from "../entity-aggregate-array-proxy"; let KinisiteDataFormatters = { /** * Get an item by Id * * @param value * @param format */ byId: function (value: any, id: any) { let items = ArrayFormatters.filter(value, "id", id); let values = ArrayFormatters.values(items); return ArrayFormatters.item(values, 0); }, /** * Get an item by path if possible * * @param value * @param format */ byPath: function (value: any, path: any) { let items = ArrayFormatters.filter(value, "path", path); let values = ArrayFormatters.values(items); return ArrayFormatters.item(values, 0); }, /** * Get all entity data items matching the * array of passed entity names * * @param entityNames */ allByName: function (entityNames: any) { // Ensure entity names has been returned as an array if (!(entityNames instanceof Array)) { entityNames = [entityNames]; } return new EntityAggregateArrayProxy(entityNames); } }; export default KinisiteDataFormatters;