@arrai-innovations/reactive-helpers 20.0.0 → 20.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@arrai-innovations/reactive-helpers",
3
- "version": "20.0.0",
3
+ "version": "20.0.1",
4
4
  "description": "VueJS 3 utility composition functions to help manipulate objects and lists.",
5
5
  "main": "index.js",
6
6
  "type": "module",
@@ -1 +1 @@
1
- {"version":3,"file":"objectInstance.d.ts","sourceRoot":"","sources":["../../use/objectInstance.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"objectInstance.d.ts","sourceRoot":"","sources":["../../use/objectInstance.js"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- export function refIfReactive<T, K extends keyof T>(source: (T & object) | undefined | null, property: K, defaultValue?: T[K]): import("vue").Ref<T[K]> | T[K] | undefined;
1
+ export function refIfReactive<T, K extends keyof T>(source: (T & object) | undefined | null, property: K, defaultValue?: T[K]): import("vue").ComputedRef<T[K]> | import("vue").Ref<T[K]>;
2
2
  //# sourceMappingURL=refIfReactive.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"refIfReactive.d.ts","sourceRoot":"","sources":["../../utils/refIfReactive.js"],"names":[],"mappings":"AAYO,8BAPM,CAAC,EACS,CAAC,SAAX,MAAO,CAAE,UACX,CAAA,CAAC,GAAG,MAAM,IAAG,SAAS,GAAG,IAAI,YAC7B,CAAC,iBACD,CAAC,CAAC,CAAC,CAAC,GACF,OAAO,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,CAOtD"}
1
+ {"version":3,"file":"refIfReactive.d.ts","sourceRoot":"","sources":["../../utils/refIfReactive.js"],"names":[],"mappings":"AAYO,8BAPM,CAAC,EACS,CAAC,SAAX,MAAO,CAAE,UACX,CAAA,CAAC,GAAG,MAAM,IAAG,SAAS,GAAG,IAAI,YAC7B,CAAC,iBACD,CAAC,CAAC,CAAC,CAAC,GACF,OAAO,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAOrE"}
@@ -3,7 +3,7 @@ import { assignReactiveObject } from "../utils/assignReactiveObject.js";
3
3
  import { getFakePk } from "../utils/getFakePk.js";
4
4
  import { useLoadingError } from "./loadingError.js";
5
5
  import inspect from "browser-util-inspect";
6
- import { computed, effectScope, nextTick, reactive, readonly, ref, shallowReactive, toRef, unref, watch } from "vue";
6
+ import { computed, effectScope, nextTick, reactive, readonly, ref, toRef, unref, watch } from "vue";
7
7
  import { CancellablePromise, wrapMaybeCancellable } from "../utils/cancellablePromise.js";
8
8
  import { refIfReactive } from "../utils/refIfReactive.js";
9
9
 
@@ -265,12 +265,12 @@ export function useListInstance({ props, handlers = {}, keepOldPages }) {
265
265
 
266
266
  // ### touching the _objectsMap or _objectsProxy directly will not trigger reactivity ###
267
267
  const state = reactive({
268
- crud: shallowReactive({
269
- args: reactive({}),
268
+ crud: {
269
+ args: {},
270
270
  list: defaultListCrud.list,
271
271
  bulkDelete: defaultListCrud.bulkDelete,
272
272
  executeAction: defaultListCrud.executeAction,
273
- }),
273
+ },
274
274
  pkKey: refIfReactive(props, "pkKey"),
275
275
  params: refIfReactive(props, "params", {}),
276
276
  /** @type {{[key: string]: ListObject}} */
@@ -1,7 +1,7 @@
1
1
  import { defaultObjectCrud, getObjectCrud } from "../config/objectCrud.js";
2
2
  import { assignReactiveObject } from "../utils/assignReactiveObject.js";
3
3
  import { useLoadingError } from "./loadingError.js";
4
- import { reactive, readonly, ref, shallowReactive } from "vue";
4
+ import { reactive, readonly, ref } from "vue";
5
5
  import { wrapMaybeCancellable } from "../utils/cancellablePromise.js";
6
6
  import { refIfReactive } from "../utils/refIfReactive.js";
7
7
 
@@ -212,19 +212,18 @@ export function useObjectInstance({ props, handlers = {} }) {
212
212
  const state = reactive(
213
213
  /** @type {ObjectInstanceRawState} */
214
214
  {
215
- crud: shallowReactive(
215
+ crud:
216
216
  /** @type {ObjectInstanceRawStateCrud} */
217
217
  {
218
- args: reactive({}),
218
+ args: {},
219
219
  create: defaultObjectCrud.create,
220
220
  retrieve: defaultObjectCrud.retrieve,
221
221
  update: defaultObjectCrud.update,
222
222
  delete: defaultObjectCrud.delete,
223
223
  patch: defaultObjectCrud.patch,
224
224
  subscribe: defaultObjectCrud.subscribe,
225
- }
226
- ),
227
- object: reactive({}),
225
+ },
226
+ object: {},
228
227
  pk: refIfReactive(props, "pk", null),
229
228
  pkKey: refIfReactive(props, "pkKey"),
230
229
  params: refIfReactive(props, "params", {}),
@@ -1,4 +1,4 @@
1
- import { isReactive, toRef, unref } from "vue";
1
+ import { computed, isReactive, toRef, unref } from "vue";
2
2
 
3
3
  /**
4
4
  * Returns a ref to a property if the source is reactive, otherwise returns the unrefed value.
@@ -8,11 +8,11 @@ import { isReactive, toRef, unref } from "vue";
8
8
  * @param {T & object | undefined | null} source - The source object.
9
9
  * @param {K} property - The property to access.
10
10
  * @param {T[K]} [defaultValue] - The default value to use if source or property is missing.
11
- * @returns {import('vue').Ref<T[K]> | T[K] | undefined} The ref to the property if the source is reactive, otherwise the unrefed value.
11
+ * @returns {import('vue').ComputedRef<T[K]> | import('vue').Ref<T[K]>} The ref to the property if the source is reactive, otherwise the unrefed value.
12
12
  */
13
13
  export const refIfReactive = (source, property, defaultValue) => {
14
14
  if (source && isReactive(source)) {
15
15
  return toRef(source, property);
16
16
  }
17
- return unref(source?.[property]) ?? defaultValue;
17
+ return computed(() => unref(source?.[property]) ?? defaultValue);
18
18
  };