@signaltree/ng-forms 5.1.6 → 6.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.
@@ -39,9 +39,13 @@ function createAuditTracker(tree, auditLog, config = {}) {
39
39
  };
40
40
  let unsubscribe;
41
41
  let pollingId;
42
- try {
43
- unsubscribe = tree.subscribe(handleChange);
44
- } catch {
42
+ if ('subscribe' in tree && typeof tree.subscribe === 'function') {
43
+ try {
44
+ unsubscribe = tree.subscribe(handleChange);
45
+ } catch {
46
+ pollingId = setInterval(handleChange, 100);
47
+ }
48
+ } else {
45
49
  pollingId = setInterval(handleChange, 100);
46
50
  }
47
51
  return () => {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@signaltree/ng-forms",
3
- "version": "5.1.6",
3
+ "version": "6.0.1",
4
4
  "description": "Complete Angular forms integration for SignalTree. FormTree creation, custom directives, validators, form state tracking, and RxJS bridge.",
5
5
  "type": "module",
6
6
  "sideEffects": false,
@@ -22,12 +22,12 @@
22
22
  "peerDependencies": {
23
23
  "@angular/core": "^20.0.0",
24
24
  "@angular/forms": "^20.0.0",
25
- "@signaltree/core": "^5.0.0",
25
+ "@signaltree/core": "^6.0.0",
26
26
  "rxjs": "^7.0.0"
27
27
  },
28
28
  "peerDependenciesMeta": {},
29
29
  "devDependencies": {
30
- "@signaltree/core": "workspace:*",
30
+ "@signaltree/core": "^6.0.0",
31
31
  "@signaltree/shared": "workspace:*",
32
32
  "jest-preset-angular": "^15.0.3"
33
33
  },
@@ -1,4 +1,4 @@
1
- import type { SignalTree } from '@signaltree/core';
1
+ import type { ISignalTree } from '@signaltree/core';
2
2
  export interface AuditEntry<T = unknown> {
3
3
  timestamp: number;
4
4
  changes: Partial<T>;
@@ -17,5 +17,5 @@ export interface AuditTrackerConfig<T> {
17
17
  filter?: (changes: Partial<T>) => boolean;
18
18
  maxEntries?: number;
19
19
  }
20
- export declare function createAuditTracker<T extends Record<string, unknown>>(tree: SignalTree<T>, auditLog: AuditEntry<T>[], config?: AuditTrackerConfig<T>): () => void;
20
+ export declare function createAuditTracker<T extends Record<string, unknown>>(tree: ISignalTree<T>, auditLog: AuditEntry<T>[], config?: AuditTrackerConfig<T>): () => void;
21
21
  export declare function createAuditCallback<T extends Record<string, unknown>>(auditLog: AuditEntry<T>[], getMetadata?: () => AuditMetadata): (previousState: T, currentState: T) => void;
@@ -1,7 +1,7 @@
1
1
  import { DestroyRef, EventEmitter, OnInit, Signal, WritableSignal } from '@angular/core';
2
2
  import { AbstractControl, ControlValueAccessor, FormArray, FormGroup } from '@angular/forms';
3
3
  import { Observable } from 'rxjs';
4
- import type { SignalTree, TreeConfig, TreeNode } from '@signaltree/core';
4
+ import type { ISignalTree, TreeConfig, TreeNode } from '@signaltree/core';
5
5
  export type FormTreeAsyncValidatorFn<T> = (value: T) => Observable<string | null> | Promise<string | null>;
6
6
  export type EnhancedArraySignal<T> = WritableSignal<T[]> & {
7
7
  push: (item: T) => void;
@@ -56,7 +56,7 @@ export type FormTree<T extends Record<string, unknown>> = {
56
56
  isFieldAsyncValidating(field: string): Signal<boolean | undefined>;
57
57
  fieldErrors: Record<string, Signal<string | undefined>>;
58
58
  fieldAsyncErrors: Record<string, Signal<string | undefined>>;
59
- values: SignalTree<T>;
59
+ values: ISignalTree<T>;
60
60
  destroy(): void;
61
61
  };
62
62
  export declare class FormValidationError extends Error {