@neovici/cosmoz-form 2.5.0 → 2.6.0

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.
@@ -392,4 +392,5 @@ suite('useItems with context', () => {
392
392
  }));
393
393
  assert.equal(result.current.items[0].nameLength, 5);
394
394
  });
395
+ // TODO: add tests for append and prepend
395
396
  });
@@ -14,6 +14,7 @@ export type UseItemsCore<T extends object> = {
14
14
  updateAll: (updateOrFn: Partial<T> | ((i: T) => Partial<T>)) => void;
15
15
  remove: (index: number) => void;
16
16
  append: (items: T[]) => void;
17
+ prepend: (items: T[]) => void;
17
18
  reset: () => void;
18
19
  clear: () => void;
19
20
  load: (items: T[], rulesOverride?: ItemRule<T>[]) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"use-items.d.ts","sourceRoot":"","sources":["../../src/use-items/use-items.ts"],"names":[],"mappings":"AACA,OAAO,EACN,YAAY,EAMZ,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAc,QAAQ,EAAE,MAAM,eAAe,CAAC;AAErD,UAAU,KAAK,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,MAAM,GAAG,MAAM;IAC1D,OAAO,EAAE,CAAC,EAAE,CAAC;IACb,KAAK,CAAC,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;IACzB,OAAO,CAAC,EAAE,CAAC,CAAC;IACZ,OAAO,CAAC,EAAE,OAAO,CAAC;CAClB;AAYD,MAAM,MAAM,YAAY,CAAC,CAAC,SAAS,MAAM,IAAI;IAC5C,KAAK,EAAE,CAAC,EAAE,CAAC;IACX,QAAQ,EAAE,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,CACP,cAAc,EAAE,MAAM,GAAG,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,EACxD,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,KACd,IAAI,CAAC;IACV,SAAS,EAAE,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;IACrE,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,IAAI,CAAC;IAC7B,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,aAAa,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC;CAC1D,CAAC;AAEF,eAAO,MAAM,YAAY,GAAI,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,MAAM,GAAG,MAAM,EAAE,yEAOvE,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG;IAChB,KAAK,EAAE,CAAC,EAAE,CAAC;IACX,QAAQ,EAAE,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC;CAC5B,KAAG,YAAY,CAAC,CAAC,CAmIjB,CAAC;AAEF,eAAO,MAAM,QAAQ,GAAI,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,MAAM,GAAG,MAAM,EAAE,uCAKnE,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,oBAkBb,CAAC"}
1
+ {"version":3,"file":"use-items.d.ts","sourceRoot":"","sources":["../../src/use-items/use-items.ts"],"names":[],"mappings":"AACA,OAAO,EACN,YAAY,EAMZ,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAc,QAAQ,EAAE,MAAM,eAAe,CAAC;AAErD,UAAU,KAAK,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,MAAM,GAAG,MAAM;IAC1D,OAAO,EAAE,CAAC,EAAE,CAAC;IACb,KAAK,CAAC,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;IACzB,OAAO,CAAC,EAAE,CAAC,CAAC;IACZ,OAAO,CAAC,EAAE,OAAO,CAAC;CAClB;AAYD,MAAM,MAAM,YAAY,CAAC,CAAC,SAAS,MAAM,IAAI;IAC5C,KAAK,EAAE,CAAC,EAAE,CAAC;IACX,QAAQ,EAAE,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,CACP,cAAc,EAAE,MAAM,GAAG,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,EACxD,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,KACd,IAAI,CAAC;IACV,SAAS,EAAE,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;IACrE,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,IAAI,CAAC;IAC7B,OAAO,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,IAAI,CAAC;IAC9B,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,aAAa,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC;CAC1D,CAAC;AAEF,eAAO,MAAM,YAAY,GAAI,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,MAAM,GAAG,MAAM,EAAE,yEAOvE,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG;IAChB,KAAK,EAAE,CAAC,EAAE,CAAC;IACX,QAAQ,EAAE,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC;CAC5B,KAAG,YAAY,CAAC,CAAC,CA6JjB,CAAC;AAEF,eAAO,MAAM,QAAQ,GAAI,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,MAAM,GAAG,MAAM,EAAE,uCAKnE,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,oBAkBb,CAAC"}
@@ -68,6 +68,22 @@ export const useItemsCore = ({ items, setItems, initial, rules, context, touched
68
68
  index: index + items.length,
69
69
  context,
70
70
  }))))), [rules, context]),
71
+ prepend: useCallback((prependedItems) => setItems((items = []) => touch([
72
+ ...prependedItems.map((item, index) => applyRules({
73
+ rules,
74
+ newItem: item,
75
+ index,
76
+ context,
77
+ })),
78
+ ...items.map((item, index) => applyRules({
79
+ rules,
80
+ newItem: item,
81
+ oldItem: item,
82
+ index: index + prependedItems.length,
83
+ oldIndex: index,
84
+ context,
85
+ })),
86
+ ])), [rules, context]),
71
87
  reset: useCallback(() => setItems(initial), [initial]),
72
88
  clear: useCallback(() => setItems(touch([])), []),
73
89
  load: useCallback((items, rulesOverride) => setItems(items.map((newItem, index) => applyRules({
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@neovici/cosmoz-form",
3
- "version": "2.5.0",
3
+ "version": "2.6.0",
4
4
  "description": "A pionjs component",
5
5
  "keywords": [
6
6
  "web-components",