c552eb618d20e6062b4651d0cba2398412de0383983a79fecc8f8dce50f1436d8ced3e8401f74e68a05757ef7da58f0a2384b8ed364d4f36490e44afb9131c 913 B

12345678910111213141516171819202122232425262728
  1. import { computed } from 'vue';
  2. import { usePropsAlias } from './use-props-alias.mjs';
  3. const useComputedData = (props) => {
  4. const propsAlias = usePropsAlias(props);
  5. const dataObj = computed(() => props.data.reduce((o, cur) => (o[cur[propsAlias.value.key]] = cur) && o, {}));
  6. const sourceData = computed(() => props.data.filter((item) => !props.modelValue.includes(item[propsAlias.value.key])));
  7. const targetData = computed(() => {
  8. if (props.targetOrder === "original") {
  9. return props.data.filter((item) => props.modelValue.includes(item[propsAlias.value.key]));
  10. } else {
  11. return props.modelValue.reduce((arr, cur) => {
  12. const val = dataObj.value[cur];
  13. if (val) {
  14. arr.push(val);
  15. }
  16. return arr;
  17. }, []);
  18. }
  19. });
  20. return {
  21. sourceData,
  22. targetData
  23. };
  24. };
  25. export { useComputedData };
  26. //# sourceMappingURL=use-computed-data.mjs.map