@mlightcad/common 1.1.1 → 1.1.2

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.
Files changed (58) hide show
  1. package/dist/common.js +201 -12
  2. package/lib/AcCmColor.d.ts +162 -3
  3. package/lib/AcCmColor.d.ts.map +1 -1
  4. package/lib/AcCmColor.js +187 -9
  5. package/lib/AcCmColor.js.map +1 -1
  6. package/lib/AcCmColorUtil.d.ts +35 -3
  7. package/lib/AcCmColorUtil.d.ts.map +1 -1
  8. package/lib/AcCmColorUtil.js +43 -7
  9. package/lib/AcCmColorUtil.js.map +1 -1
  10. package/lib/AcCmErrors.d.ts +33 -0
  11. package/lib/AcCmErrors.d.ts.map +1 -1
  12. package/lib/AcCmErrors.js +33 -0
  13. package/lib/AcCmErrors.js.map +1 -1
  14. package/lib/AcCmEventDispatcher.d.ts +53 -0
  15. package/lib/AcCmEventDispatcher.d.ts.map +1 -1
  16. package/lib/AcCmEventDispatcher.js +37 -0
  17. package/lib/AcCmEventDispatcher.js.map +1 -1
  18. package/lib/AcCmEventManager.d.ts +40 -1
  19. package/lib/AcCmEventManager.d.ts.map +1 -1
  20. package/lib/AcCmEventManager.js +40 -1
  21. package/lib/AcCmEventManager.js.map +1 -1
  22. package/lib/AcCmLodashUtils.d.ts +125 -18
  23. package/lib/AcCmLodashUtils.d.ts.map +1 -1
  24. package/lib/AcCmLodashUtils.js +127 -20
  25. package/lib/AcCmLodashUtils.js.map +1 -1
  26. package/lib/AcCmLogUtil.d.ts +51 -2
  27. package/lib/AcCmLogUtil.d.ts.map +1 -1
  28. package/lib/AcCmLogUtil.js +51 -2
  29. package/lib/AcCmLogUtil.js.map +1 -1
  30. package/lib/AcCmObject.d.ts +58 -4
  31. package/lib/AcCmObject.d.ts.map +1 -1
  32. package/lib/AcCmObject.js +31 -2
  33. package/lib/AcCmObject.js.map +1 -1
  34. package/lib/AcCmPerformanceCollector.d.ts +22 -1
  35. package/lib/AcCmPerformanceCollector.d.ts.map +1 -1
  36. package/lib/AcCmPerformanceCollector.js +9 -0
  37. package/lib/AcCmPerformanceCollector.js.map +1 -1
  38. package/lib/AcCmStringUtil.d.ts +37 -4
  39. package/lib/AcCmStringUtil.d.ts.map +1 -1
  40. package/lib/AcCmStringUtil.js +37 -4
  41. package/lib/AcCmStringUtil.js.map +1 -1
  42. package/lib/AcCmTaskScheduler.d.ts +84 -15
  43. package/lib/AcCmTaskScheduler.d.ts.map +1 -1
  44. package/lib/AcCmTaskScheduler.js +71 -7
  45. package/lib/AcCmTaskScheduler.js.map +1 -1
  46. package/lib/loader/AcCmFileLoader.d.ts +45 -8
  47. package/lib/loader/AcCmFileLoader.d.ts.map +1 -1
  48. package/lib/loader/AcCmFileLoader.js +52 -2
  49. package/lib/loader/AcCmFileLoader.js.map +1 -1
  50. package/lib/loader/AcCmLoader.d.ts +34 -1
  51. package/lib/loader/AcCmLoader.d.ts.map +1 -1
  52. package/lib/loader/AcCmLoader.js +29 -1
  53. package/lib/loader/AcCmLoader.js.map +1 -1
  54. package/lib/loader/AcCmLoadingManager.d.ts +64 -17
  55. package/lib/loader/AcCmLoadingManager.d.ts.map +1 -1
  56. package/lib/loader/AcCmLoadingManager.js +43 -4
  57. package/lib/loader/AcCmLoadingManager.js.map +1 -1
  58. package/package.json +1 -1
@@ -1,20 +1,73 @@
1
+ /**
2
+ * @fileoverview Event system implementation for the AutoCAD Common library.
3
+ *
4
+ * This module provides a type-safe event dispatcher system that allows objects to
5
+ * emit and listen to events with proper TypeScript typing support.
6
+ *
7
+ * @module AcCmEventDispatcher
8
+ * @version 1.0.0
9
+ */
1
10
  /**
2
11
  * The minimal basic Event that can be dispatched by a {@link AcCmEventDispatcher<>}.
12
+ *
13
+ * @template TEventType - The string literal type of the event.
3
14
  */
4
15
  export interface AcCmBaseEvent<TEventType extends string = string> {
16
+ /** The type identifier for this event. */
5
17
  readonly type: TEventType;
6
18
  }
7
19
  /**
8
20
  * The minimal expected contract of a fired Event that was dispatched by a {@link AcCmEventDispatcher<>}.
21
+ *
22
+ * @template TEventType - The string literal type of the event.
23
+ * @template TTarget - The type of the object that dispatched the event.
9
24
  */
10
25
  export interface AcCmEvent<TEventType extends string = string, TTarget = unknown> {
26
+ /** The type identifier for this event. */
11
27
  readonly type: TEventType;
28
+ /** The object that dispatched this event. */
12
29
  readonly target: TTarget;
13
30
  }
31
+ /**
32
+ * Type definition for event listener functions.
33
+ *
34
+ * @template TEventData - The data payload type for the event.
35
+ * @template TEventType - The string literal type of the event.
36
+ * @template TTarget - The type of the object that dispatched the event.
37
+ */
14
38
  export type AcCmEventListener<TEventData, TEventType extends string, TTarget> = (event: TEventData & AcCmEvent<TEventType, TTarget>) => void;
39
+ /**
40
+ * Type-safe event dispatcher implementation.
41
+ *
42
+ * Provides a robust event system that allows objects to emit and listen to events
43
+ * with full TypeScript type safety. Supports both typed event maps and dynamic events.
44
+ *
45
+ * @template TEventMap - A record type mapping event names to their data payloads.
46
+ *
47
+ * @example
48
+ * ```typescript
49
+ * // Define event types
50
+ * interface MyEvents {
51
+ * load: { url: string }
52
+ * error: { message: string }
53
+ * }
54
+ *
55
+ * // Create dispatcher
56
+ * const dispatcher = new AcCmEventDispatcher<MyEvents>()
57
+ *
58
+ * // Add listeners
59
+ * dispatcher.addEventListener('load', (event) => {
60
+ * console.log(`Loaded: ${event.url}`)
61
+ * })
62
+ *
63
+ * // Dispatch events
64
+ * dispatcher.dispatchEvent({ type: 'load', url: 'test.dwg' })
65
+ * ```
66
+ */
15
67
  export declare class AcCmEventDispatcher<TEventMap extends {} = {}> {
16
68
  /**
17
69
  * Index a record of all callback functions
70
+ * @private
18
71
  */
19
72
  private _listeners;
20
73
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"AcCmEventDispatcher.d.ts","sourceRoot":"","sources":["../src/AcCmEventDispatcher.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,aAAa,CAAC,UAAU,SAAS,MAAM,GAAG,MAAM;IAC/D,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAA;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,SAAS,CACxB,UAAU,SAAS,MAAM,GAAG,MAAM,EAClC,OAAO,GAAG,OAAO;IAEjB,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAA;IACzB,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;CACzB;AAED,MAAM,MAAM,iBAAiB,CAC3B,UAAU,EACV,UAAU,SAAS,MAAM,EACzB,OAAO,IACL,CAAC,KAAK,EAAE,UAAU,GAAG,SAAS,CAAC,UAAU,EAAE,OAAO,CAAC,KAAK,IAAI,CAAA;AAGhE,qBAAa,mBAAmB,CAAC,SAAS,SAAS,EAAE,GAAG,EAAE;IACxD;;OAEG;IACH,OAAO,CAAC,UAAU,CAGjB;IAED;;OAEG;;IAKH;;;;OAIG;IACH,gBAAgB,CAAC,CAAC,SAAS,OAAO,CAAC,MAAM,SAAS,EAAE,MAAM,CAAC,EACzD,IAAI,EAAE,CAAC,EACP,QAAQ,EAAE,iBAAiB,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,GACjD,IAAI;IAkBP;;;;OAIG;IACH,gBAAgB,CAAC,CAAC,SAAS,OAAO,CAAC,MAAM,SAAS,EAAE,MAAM,CAAC,EACzD,IAAI,EAAE,CAAC,EACP,QAAQ,EAAE,iBAAiB,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,GACjD,OAAO;IAcV;;;;OAIG;IACH,mBAAmB,CAAC,CAAC,SAAS,OAAO,CAAC,MAAM,SAAS,EAAE,MAAM,CAAC,EAC5D,IAAI,EAAE,CAAC,EACP,QAAQ,EAAE,iBAAiB,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,GACjD,IAAI;IAmBP;;;OAGG;IACH,aAAa,CAAC,CAAC,SAAS,OAAO,CAAC,MAAM,SAAS,EAAE,MAAM,CAAC,EACtD,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,GACrC,IAAI;CAkBR"}
1
+ {"version":3,"file":"AcCmEventDispatcher.d.ts","sourceRoot":"","sources":["../src/AcCmEventDispatcher.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH;;;;GAIG;AACH,MAAM,WAAW,aAAa,CAAC,UAAU,SAAS,MAAM,GAAG,MAAM;IAC/D,0CAA0C;IAC1C,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAA;CAC1B;AAED;;;;;GAKG;AACH,MAAM,WAAW,SAAS,CACxB,UAAU,SAAS,MAAM,GAAG,MAAM,EAClC,OAAO,GAAG,OAAO;IAEjB,0CAA0C;IAC1C,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAA;IACzB,6CAA6C;IAC7C,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;CACzB;AAED;;;;;;GAMG;AACH,MAAM,MAAM,iBAAiB,CAC3B,UAAU,EACV,UAAU,SAAS,MAAM,EACzB,OAAO,IACL,CAAC,KAAK,EAAE,UAAU,GAAG,SAAS,CAAC,UAAU,EAAE,OAAO,CAAC,KAAK,IAAI,CAAA;AAEhE;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,qBAAa,mBAAmB,CAAC,SAAS,SAAS,EAAE,GAAG,EAAE;IACxD;;;OAGG;IACH,OAAO,CAAC,UAAU,CAGjB;IAED;;OAEG;;IAKH;;;;OAIG;IACH,gBAAgB,CAAC,CAAC,SAAS,OAAO,CAAC,MAAM,SAAS,EAAE,MAAM,CAAC,EACzD,IAAI,EAAE,CAAC,EACP,QAAQ,EAAE,iBAAiB,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,GACjD,IAAI;IAkBP;;;;OAIG;IACH,gBAAgB,CAAC,CAAC,SAAS,OAAO,CAAC,MAAM,SAAS,EAAE,MAAM,CAAC,EACzD,IAAI,EAAE,CAAC,EACP,QAAQ,EAAE,iBAAiB,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,GACjD,OAAO;IAcV;;;;OAIG;IACH,mBAAmB,CAAC,CAAC,SAAS,OAAO,CAAC,MAAM,SAAS,EAAE,MAAM,CAAC,EAC5D,IAAI,EAAE,CAAC,EACP,QAAQ,EAAE,iBAAiB,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,GACjD,IAAI;IAmBP;;;OAGG;IACH,aAAa,CAAC,CAAC,SAAS,OAAO,CAAC,MAAM,SAAS,EAAE,MAAM,CAAC,EACtD,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,GACrC,IAAI;CAkBR"}
@@ -1,3 +1,40 @@
1
+ /**
2
+ * @fileoverview Event system implementation for the AutoCAD Common library.
3
+ *
4
+ * This module provides a type-safe event dispatcher system that allows objects to
5
+ * emit and listen to events with proper TypeScript typing support.
6
+ *
7
+ * @module AcCmEventDispatcher
8
+ * @version 1.0.0
9
+ */
10
+ /**
11
+ * Type-safe event dispatcher implementation.
12
+ *
13
+ * Provides a robust event system that allows objects to emit and listen to events
14
+ * with full TypeScript type safety. Supports both typed event maps and dynamic events.
15
+ *
16
+ * @template TEventMap - A record type mapping event names to their data payloads.
17
+ *
18
+ * @example
19
+ * ```typescript
20
+ * // Define event types
21
+ * interface MyEvents {
22
+ * load: { url: string }
23
+ * error: { message: string }
24
+ * }
25
+ *
26
+ * // Create dispatcher
27
+ * const dispatcher = new AcCmEventDispatcher<MyEvents>()
28
+ *
29
+ * // Add listeners
30
+ * dispatcher.addEventListener('load', (event) => {
31
+ * console.log(`Loaded: ${event.url}`)
32
+ * })
33
+ *
34
+ * // Dispatch events
35
+ * dispatcher.dispatchEvent({ type: 'load', url: 'test.dwg' })
36
+ * ```
37
+ */
1
38
  // eslint-disable-next-line
2
39
  var AcCmEventDispatcher = /** @class */ (function () {
3
40
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"AcCmEventDispatcher.js","sourceRoot":"","sources":["../src/AcCmEventDispatcher.ts"],"names":[],"mappings":"AAwBA,2BAA2B;AAC3B;IASE;;OAEG;IACH;QACE,IAAI,CAAC,UAAU,GAAG,EAAE,CAAA;IACtB,CAAC;IAWD,8CAAgB,GAAhB,UACE,IAAO,EACP,QAA4C;QAE5C,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS;YAAE,IAAI,CAAC,UAAU,GAAG,EAAE,CAAA;QAEvD,IAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAA;QAEjC,IAAI,SAAS,CAAC,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;YAClC,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,CAAA;QACtB,CAAC;QAED,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;YAC7C,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QAChC,CAAC;IACH,CAAC;IAWD,8CAAgB,GAAhB,UACE,IAAO,EACP,QAA4C;QAE5C,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS;YAAE,OAAO,KAAK,CAAA;QAE/C,IAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAA;QAEjC,OAAO,CACL,SAAS,CAAC,IAAI,CAAC,KAAK,SAAS,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAC1E,CAAA;IACH,CAAC;IAWD,iDAAmB,GAAnB,UACE,IAAO,EACP,QAA4C;QAE5C,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS;YAAE,OAAM;QAEzC,IAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAA;QACjC,IAAM,aAAa,GAAG,SAAS,CAAC,IAAI,CAAC,CAAA;QAErC,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;YAChC,IAAM,KAAK,GAAG,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;YAE7C,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;gBACjB,aAAa,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;YAChC,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,2CAAa,GAAb,UACE,KAAsC;QAEtC,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS;YAAE,OAAM;QAEzC,IAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAA;QACjC,IAAM,aAAa,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAE3C,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;YAChC,uCAAuC;YACvC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAA;YAEnB,8DAA8D;YAC9D,IAAM,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;YAEpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC7C,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;YAC5B,CAAC;QACH,CAAC;IACH,CAAC;IACH,0BAAC;AAAD,CAAC,AAnHD,IAmHC"}
1
+ {"version":3,"file":"AcCmEventDispatcher.js","sourceRoot":"","sources":["../src/AcCmEventDispatcher.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAyCH;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,2BAA2B;AAC3B;IAUE;;OAEG;IACH;QACE,IAAI,CAAC,UAAU,GAAG,EAAE,CAAA;IACtB,CAAC;IAWD,8CAAgB,GAAhB,UACE,IAAO,EACP,QAA4C;QAE5C,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS;YAAE,IAAI,CAAC,UAAU,GAAG,EAAE,CAAA;QAEvD,IAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAA;QAEjC,IAAI,SAAS,CAAC,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;YAClC,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,CAAA;QACtB,CAAC;QAED,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;YAC7C,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QAChC,CAAC;IACH,CAAC;IAWD,8CAAgB,GAAhB,UACE,IAAO,EACP,QAA4C;QAE5C,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS;YAAE,OAAO,KAAK,CAAA;QAE/C,IAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAA;QAEjC,OAAO,CACL,SAAS,CAAC,IAAI,CAAC,KAAK,SAAS,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAC1E,CAAA;IACH,CAAC;IAWD,iDAAmB,GAAnB,UACE,IAAO,EACP,QAA4C;QAE5C,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS;YAAE,OAAM;QAEzC,IAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAA;QACjC,IAAM,aAAa,GAAG,SAAS,CAAC,IAAI,CAAC,CAAA;QAErC,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;YAChC,IAAM,KAAK,GAAG,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;YAE7C,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;gBACjB,aAAa,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;YAChC,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,2CAAa,GAAb,UACE,KAAsC;QAEtC,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS;YAAE,OAAM;QAEzC,IAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAA;QACjC,IAAM,aAAa,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAE3C,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;YAChC,uCAAuC;YACvC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAA;YAEnB,8DAA8D;YAC9D,IAAM,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;YAEpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC7C,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;YAC5B,CAAC;QACH,CAAC;IACH,CAAC;IACH,0BAAC;AAAD,CAAC,AApHD,IAoHC"}
@@ -1,5 +1,44 @@
1
1
  /**
2
- * The class representing one event manager
2
+ * @fileoverview Simple event manager implementation for the AutoCAD Common library.
3
+ *
4
+ * This module provides a lightweight event management system for handling
5
+ * listeners and dispatching events with type-safe payload support.
6
+ *
7
+ * @module AcCmEventManager
8
+ * @version 1.0.0
9
+ */
10
+ /**
11
+ * Simple event manager for handling event listeners and dispatching events.
12
+ *
13
+ * Provides a lightweight alternative to the more complex AcCmEventDispatcher
14
+ * for cases where you need basic event handling with type-safe payloads.
15
+ *
16
+ * @template T - The type of the event payload.
17
+ *
18
+ * @example
19
+ * ```typescript
20
+ * // Create an event manager for string payloads
21
+ * const manager = new AcCmEventManager<string>()
22
+ *
23
+ * // Add a listener
24
+ * manager.addEventListener((message) => {
25
+ * console.log('Received:', message)
26
+ * })
27
+ *
28
+ * // Dispatch an event
29
+ * manager.dispatch('Hello, World!')
30
+ *
31
+ * // For complex payloads
32
+ * interface LoadEvent {
33
+ * url: string
34
+ * progress: number
35
+ * }
36
+ *
37
+ * const loadManager = new AcCmEventManager<LoadEvent>()
38
+ * loadManager.addEventListener(({ url, progress }) => {
39
+ * console.log(`Loading ${url}: ${progress}%`)
40
+ * })
41
+ * ```
3
42
  */
4
43
  export declare class AcCmEventManager<T = unknown> {
5
44
  private listeners;
@@ -1 +1 @@
1
- {"version":3,"file":"AcCmEventManager.d.ts","sourceRoot":"","sources":["../src/AcCmEventManager.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,qBAAa,gBAAgB,CAAC,CAAC,GAAG,OAAO;IACvC,OAAO,CAAC,SAAS,CAA+B;IAEhD;;;OAGG;IACI,gBAAgB,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,IAAI;IAItD;;;OAGG;IACI,mBAAmB,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,IAAI;IAIzD;;;OAGG;IACI,oBAAoB,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,IAAI;IAK1D;;;OAGG;IACI,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE;CAMhD"}
1
+ {"version":3,"file":"AcCmEventManager.d.ts","sourceRoot":"","sources":["../src/AcCmEventManager.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,qBAAa,gBAAgB,CAAC,CAAC,GAAG,OAAO;IACvC,OAAO,CAAC,SAAS,CAA+B;IAEhD;;;OAGG;IACI,gBAAgB,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,IAAI;IAItD;;;OAGG;IACI,mBAAmB,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,IAAI;IAIzD;;;OAGG;IACI,oBAAoB,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,IAAI;IAK1D;;;OAGG;IACI,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE;CAMhD"}
@@ -1,3 +1,12 @@
1
+ /**
2
+ * @fileoverview Simple event manager implementation for the AutoCAD Common library.
3
+ *
4
+ * This module provides a lightweight event management system for handling
5
+ * listeners and dispatching events with type-safe payload support.
6
+ *
7
+ * @module AcCmEventManager
8
+ * @version 1.0.0
9
+ */
1
10
  var __values = (this && this.__values) || function(o) {
2
11
  var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
3
12
  if (m) return m.call(o);
@@ -35,7 +44,37 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
35
44
  return to.concat(ar || Array.prototype.slice.call(from));
36
45
  };
37
46
  /**
38
- * The class representing one event manager
47
+ * Simple event manager for handling event listeners and dispatching events.
48
+ *
49
+ * Provides a lightweight alternative to the more complex AcCmEventDispatcher
50
+ * for cases where you need basic event handling with type-safe payloads.
51
+ *
52
+ * @template T - The type of the event payload.
53
+ *
54
+ * @example
55
+ * ```typescript
56
+ * // Create an event manager for string payloads
57
+ * const manager = new AcCmEventManager<string>()
58
+ *
59
+ * // Add a listener
60
+ * manager.addEventListener((message) => {
61
+ * console.log('Received:', message)
62
+ * })
63
+ *
64
+ * // Dispatch an event
65
+ * manager.dispatch('Hello, World!')
66
+ *
67
+ * // For complex payloads
68
+ * interface LoadEvent {
69
+ * url: string
70
+ * progress: number
71
+ * }
72
+ *
73
+ * const loadManager = new AcCmEventManager<LoadEvent>()
74
+ * loadManager.addEventListener(({ url, progress }) => {
75
+ * console.log(`Loading ${url}: ${progress}%`)
76
+ * })
77
+ * ```
39
78
  */
40
79
  var AcCmEventManager = /** @class */ (function () {
41
80
  function AcCmEventManager() {
@@ -1 +1 @@
1
- {"version":3,"file":"AcCmEventManager.js","sourceRoot":"","sources":["../src/AcCmEventManager.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;GAEG;AACH;IAAA;QACU,cAAS,GAA6B,EAAE,CAAA;IAqClD,CAAC;IAnCC;;;OAGG;IACI,2CAAgB,GAAvB,UAAwB,QAA8B;QACpD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IAC/B,CAAC;IAED;;;OAGG;IACI,8CAAmB,GAA1B,UAA2B,QAA8B;QACvD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,KAAK,QAAQ,EAAd,CAAc,CAAC,CAAA;IAC7D,CAAC;IAED;;;OAGG;IACI,+CAAoB,GAA3B,UAA4B,QAA8B;QACxD,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAA;QAClC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAA;IACjC,CAAC;IAED;;;OAGG;IACI,mCAAQ,GAAf,UAAgB,OAAW;;QAAE,cAAkB;aAAlB,UAAkB,EAAlB,qBAAkB,EAAlB,IAAkB;YAAlB,6BAAkB;;;YAC7C,KAAmB,IAAA,KAAA,SAAA,IAAI,CAAC,SAAS,CAAA,gBAAA,4BAAE,CAAC;gBAA/B,IAAM,IAAI,WAAA;gBACb,IAAM,QAAQ,GAAG,IAAoC,CAAA;gBACrD,QAAQ,CAAC,IAAI,OAAb,QAAQ,iBAAM,IAAI,EAAE,OAAO,UAAK,IAAI,WAAC;YACvC,CAAC;;;;;;;;;IACH,CAAC;IACH,uBAAC;AAAD,CAAC,AAtCD,IAsCC"}
1
+ {"version":3,"file":"AcCmEventManager.js","sourceRoot":"","sources":["../src/AcCmEventManager.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH;IAAA;QACU,cAAS,GAA6B,EAAE,CAAA;IAqClD,CAAC;IAnCC;;;OAGG;IACI,2CAAgB,GAAvB,UAAwB,QAA8B;QACpD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IAC/B,CAAC;IAED;;;OAGG;IACI,8CAAmB,GAA1B,UAA2B,QAA8B;QACvD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,KAAK,QAAQ,EAAd,CAAc,CAAC,CAAA;IAC7D,CAAC;IAED;;;OAGG;IACI,+CAAoB,GAA3B,UAA4B,QAA8B;QACxD,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAA;QAClC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAA;IACjC,CAAC;IAED;;;OAGG;IACI,mCAAQ,GAAf,UAAgB,OAAW;;QAAE,cAAkB;aAAlB,UAAkB,EAAlB,qBAAkB,EAAlB,IAAkB;YAAlB,6BAAkB;;;YAC7C,KAAmB,IAAA,KAAA,SAAA,IAAI,CAAC,SAAS,CAAA,gBAAA,4BAAE,CAAC;gBAA/B,IAAM,IAAI,WAAA;gBACb,IAAM,QAAQ,GAAG,IAAoC,CAAA;gBACrD,QAAQ,CAAC,IAAI,OAAb,QAAQ,iBAAM,IAAI,EAAE,OAAO,UAAK,IAAI,WAAC;YACvC,CAAC;;;;;;;;;IACH,CAAC;IACH,uBAAC;AAAD,CAAC,AAtCD,IAsCC"}
@@ -1,38 +1,145 @@
1
+ /**
2
+ * @fileoverview Lightweight utility functions inspired by lodash-es.
3
+ *
4
+ * This module provides simplified implementations of commonly used lodash functions
5
+ * to reduce bundle size while maintaining essential functionality for object manipulation,
6
+ * comparison, and validation operations.
7
+ *
8
+ * @module AcCmLodashUtils
9
+ * @version 1.0.0
10
+ */
1
11
  /**
2
12
  * Utility functions extracted from lodash-es to reduce bundle size
3
13
  * These are simplified implementations of commonly used lodash functions
4
14
  */
5
15
  /**
6
- * Creates a shallow clone of an object
7
- * @param obj The object to clone
8
- * @returns A shallow clone of the object
16
+ * Creates a shallow clone of an object or array.
17
+ *
18
+ * For primitive values, returns the value as-is. For objects and arrays,
19
+ * creates a new instance with the same properties or elements.
20
+ *
21
+ * @template T - The type of the object to clone.
22
+ * @param {T} obj - The object to clone.
23
+ * @returns {T} A shallow clone of the object.
24
+ *
25
+ * @example
26
+ * ```typescript
27
+ * import { clone } from './AcCmLodashUtils'
28
+ *
29
+ * const original = { a: 1, b: 2 }
30
+ * const cloned = clone(original)
31
+ * cloned.a = 3
32
+ * console.log(original.a) // 1 (unchanged)
33
+ * console.log(cloned.a) // 3
34
+ *
35
+ * const arr = [1, 2, 3]
36
+ * const clonedArr = clone(arr) // [1, 2, 3]
37
+ * ```
9
38
  */
10
39
  export declare function clone<T>(obj: T): T;
11
40
  /**
12
- * Assigns own enumerable properties of source objects to the destination object for all destination properties that resolve to undefined.
13
- * @param obj The destination object
14
- * @param sources The source objects
15
- * @returns The destination object
41
+ * Assigns own enumerable properties of source objects to the destination object
42
+ * for all destination properties that resolve to undefined.
43
+ *
44
+ * This function fills in undefined properties in an object with the first value
45
+ * present in any of the source objects. Source objects are applied from left to right.
46
+ *
47
+ * @param {Record<string, unknown>} obj - The destination object.
48
+ * @param {...Record<string, unknown>[]} sources - The source objects.
49
+ * @returns {Record<string, unknown>} The destination object.
50
+ *
51
+ * @example
52
+ * ```typescript
53
+ * import { defaults } from './AcCmLodashUtils'
54
+ *
55
+ * const object = { a: 1 }
56
+ * const result = defaults(object, { b: 2 }, { a: 3, c: 3 })
57
+ * console.log(result) // { a: 1, b: 2, c: 3 }
58
+ *
59
+ * // undefined properties are filled in
60
+ * const partial = { a: 1, b: undefined }
61
+ * defaults(partial, { b: 2, c: 3 })
62
+ * console.log(partial) // { a: 1, b: 2, c: 3 }
63
+ * ```
16
64
  */
17
65
  export declare function defaults(obj: Record<string, unknown>, ...sources: Record<string, unknown>[]): Record<string, unknown>;
18
66
  /**
19
- * Checks if path is a direct property of object
20
- * @param obj The object to query
21
- * @param path The path to check
22
- * @returns Returns true if path exists, else false
67
+ * Checks if path is a direct property of object.
68
+ *
69
+ * This function checks whether the specified property exists directly on the object
70
+ * (not inherited from its prototype chain).
71
+ *
72
+ * @param {Record<string, unknown>} obj - The object to query.
73
+ * @param {string} path - The path to check.
74
+ * @returns {boolean} Returns true if path exists, else false.
75
+ *
76
+ * @example
77
+ * ```typescript
78
+ * import { has } from './AcCmLodashUtils'
79
+ *
80
+ * const object = { a: 1, b: 2 }
81
+ * has(object, 'a') // true
82
+ * has(object, 'c') // false
83
+ * has(object, 'toString') // false (inherited property)
84
+ * ```
23
85
  */
24
86
  export declare function has(obj: Record<string, unknown>, path: string): boolean;
25
87
  /**
26
- * Checks if value is an empty object, collection, map, or set
27
- * @param value The value to check
28
- * @returns Returns true if value is empty, else false
88
+ * Checks if value is an empty object, collection, map, or set.
89
+ *
90
+ * Values are considered empty if they are:
91
+ * - null or undefined
92
+ * - Arrays or strings with length 0
93
+ * - Maps or Sets with size 0
94
+ * - Objects with no enumerable properties
95
+ *
96
+ * @param {unknown} value - The value to check.
97
+ * @returns {boolean} Returns true if value is empty, else false.
98
+ *
99
+ * @example
100
+ * ```typescript
101
+ * import { isEmpty } from './AcCmLodashUtils'
102
+ *
103
+ * isEmpty(null) // true
104
+ * isEmpty(undefined) // true
105
+ * isEmpty('') // true
106
+ * isEmpty([]) // true
107
+ * isEmpty({}) // true
108
+ * isEmpty(new Map()) // true
109
+ * isEmpty(new Set()) // true
110
+ * isEmpty('hello') // false
111
+ * isEmpty([1, 2, 3]) // false
112
+ * isEmpty({ a: 1 }) // false
113
+ * ```
29
114
  */
30
115
  export declare function isEmpty(value: unknown): boolean;
31
116
  /**
32
- * Performs a deep comparison between two values to determine if they are equivalent
33
- * @param value The value to compare
34
- * @param other The other value to compare
35
- * @returns Returns true if the values are equivalent, else false
117
+ * Performs a deep comparison between two values to determine if they are equivalent.
118
+ *
119
+ * This function recursively compares objects and arrays, checking that all nested
120
+ * properties and elements are equal. Handles null/undefined values, primitive types,
121
+ * arrays, and plain objects.
122
+ *
123
+ * @param {unknown} value - The value to compare.
124
+ * @param {unknown} other - The other value to compare.
125
+ * @returns {boolean} Returns true if the values are equivalent, else false.
126
+ *
127
+ * @example
128
+ * ```typescript
129
+ * import { isEqual } from './AcCmLodashUtils'
130
+ *
131
+ * isEqual(1, 1) // true
132
+ * isEqual('hello', 'hello') // true
133
+ * isEqual([1, 2], [1, 2]) // true
134
+ * isEqual({ a: 1 }, { a: 1 }) // true
135
+ * isEqual([1, 2], [2, 1]) // false
136
+ * isEqual({ a: 1 }, { a: 2 }) // false
137
+ *
138
+ * // Deep comparison
139
+ * const obj1 = { a: { b: 1 } }
140
+ * const obj2 = { a: { b: 1 } }
141
+ * isEqual(obj1, obj2) // true
142
+ * ```
36
143
  */
37
144
  export declare function isEqual(value: unknown, other: unknown): boolean;
38
145
  //# sourceMappingURL=AcCmLodashUtils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AcCmLodashUtils.d.ts","sourceRoot":"","sources":["../src/AcCmLodashUtils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;GAIG;AACH,wBAAgB,KAAK,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAUlC;AAED;;;;;GAKG;AACH,wBAAgB,QAAQ,CACtB,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5B,GAAG,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GACpC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAczB;AAED;;;;;GAKG;AACH,wBAAgB,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAEvE;AAED;;;;GAIG;AACH,wBAAgB,OAAO,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAkB/C;AAED;;;;;GAKG;AACH,wBAAgB,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAwD/D"}
1
+ {"version":3,"file":"AcCmLodashUtils.d.ts","sourceRoot":"","sources":["../src/AcCmLodashUtils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH;;;GAGG;AAEH;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,KAAK,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAUlC;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,QAAQ,CACtB,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5B,GAAG,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GACpC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAczB;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAEvE;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAgB,OAAO,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAkB/C;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAgB,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAwD/D"}
@@ -1,6 +1,12 @@
1
1
  /**
2
- * Utility functions extracted from lodash-es to reduce bundle size
3
- * These are simplified implementations of commonly used lodash functions
2
+ * @fileoverview Lightweight utility functions inspired by lodash-es.
3
+ *
4
+ * This module provides simplified implementations of commonly used lodash functions
5
+ * to reduce bundle size while maintaining essential functionality for object manipulation,
6
+ * comparison, and validation operations.
7
+ *
8
+ * @module AcCmLodashUtils
9
+ * @version 1.0.0
4
10
  */
5
11
  var __assign = (this && this.__assign) || function () {
6
12
  __assign = Object.assign || function(t) {
@@ -50,9 +56,32 @@ var __values = (this && this.__values) || function(o) {
50
56
  throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
51
57
  };
52
58
  /**
53
- * Creates a shallow clone of an object
54
- * @param obj The object to clone
55
- * @returns A shallow clone of the object
59
+ * Utility functions extracted from lodash-es to reduce bundle size
60
+ * These are simplified implementations of commonly used lodash functions
61
+ */
62
+ /**
63
+ * Creates a shallow clone of an object or array.
64
+ *
65
+ * For primitive values, returns the value as-is. For objects and arrays,
66
+ * creates a new instance with the same properties or elements.
67
+ *
68
+ * @template T - The type of the object to clone.
69
+ * @param {T} obj - The object to clone.
70
+ * @returns {T} A shallow clone of the object.
71
+ *
72
+ * @example
73
+ * ```typescript
74
+ * import { clone } from './AcCmLodashUtils'
75
+ *
76
+ * const original = { a: 1, b: 2 }
77
+ * const cloned = clone(original)
78
+ * cloned.a = 3
79
+ * console.log(original.a) // 1 (unchanged)
80
+ * console.log(cloned.a) // 3
81
+ *
82
+ * const arr = [1, 2, 3]
83
+ * const clonedArr = clone(arr) // [1, 2, 3]
84
+ * ```
56
85
  */
57
86
  export function clone(obj) {
58
87
  if (obj === null || typeof obj !== 'object') {
@@ -64,10 +93,29 @@ export function clone(obj) {
64
93
  return __assign({}, obj);
65
94
  }
66
95
  /**
67
- * Assigns own enumerable properties of source objects to the destination object for all destination properties that resolve to undefined.
68
- * @param obj The destination object
69
- * @param sources The source objects
70
- * @returns The destination object
96
+ * Assigns own enumerable properties of source objects to the destination object
97
+ * for all destination properties that resolve to undefined.
98
+ *
99
+ * This function fills in undefined properties in an object with the first value
100
+ * present in any of the source objects. Source objects are applied from left to right.
101
+ *
102
+ * @param {Record<string, unknown>} obj - The destination object.
103
+ * @param {...Record<string, unknown>[]} sources - The source objects.
104
+ * @returns {Record<string, unknown>} The destination object.
105
+ *
106
+ * @example
107
+ * ```typescript
108
+ * import { defaults } from './AcCmLodashUtils'
109
+ *
110
+ * const object = { a: 1 }
111
+ * const result = defaults(object, { b: 2 }, { a: 3, c: 3 })
112
+ * console.log(result) // { a: 1, b: 2, c: 3 }
113
+ *
114
+ * // undefined properties are filled in
115
+ * const partial = { a: 1, b: undefined }
116
+ * defaults(partial, { b: 2, c: 3 })
117
+ * console.log(partial) // { a: 1, b: 2, c: 3 }
118
+ * ```
71
119
  */
72
120
  export function defaults(obj) {
73
121
  var e_1, _a;
@@ -98,18 +146,55 @@ export function defaults(obj) {
98
146
  return obj;
99
147
  }
100
148
  /**
101
- * Checks if path is a direct property of object
102
- * @param obj The object to query
103
- * @param path The path to check
104
- * @returns Returns true if path exists, else false
149
+ * Checks if path is a direct property of object.
150
+ *
151
+ * This function checks whether the specified property exists directly on the object
152
+ * (not inherited from its prototype chain).
153
+ *
154
+ * @param {Record<string, unknown>} obj - The object to query.
155
+ * @param {string} path - The path to check.
156
+ * @returns {boolean} Returns true if path exists, else false.
157
+ *
158
+ * @example
159
+ * ```typescript
160
+ * import { has } from './AcCmLodashUtils'
161
+ *
162
+ * const object = { a: 1, b: 2 }
163
+ * has(object, 'a') // true
164
+ * has(object, 'c') // false
165
+ * has(object, 'toString') // false (inherited property)
166
+ * ```
105
167
  */
106
168
  export function has(obj, path) {
107
169
  return obj != null && Object.prototype.hasOwnProperty.call(obj, path);
108
170
  }
109
171
  /**
110
- * Checks if value is an empty object, collection, map, or set
111
- * @param value The value to check
112
- * @returns Returns true if value is empty, else false
172
+ * Checks if value is an empty object, collection, map, or set.
173
+ *
174
+ * Values are considered empty if they are:
175
+ * - null or undefined
176
+ * - Arrays or strings with length 0
177
+ * - Maps or Sets with size 0
178
+ * - Objects with no enumerable properties
179
+ *
180
+ * @param {unknown} value - The value to check.
181
+ * @returns {boolean} Returns true if value is empty, else false.
182
+ *
183
+ * @example
184
+ * ```typescript
185
+ * import { isEmpty } from './AcCmLodashUtils'
186
+ *
187
+ * isEmpty(null) // true
188
+ * isEmpty(undefined) // true
189
+ * isEmpty('') // true
190
+ * isEmpty([]) // true
191
+ * isEmpty({}) // true
192
+ * isEmpty(new Map()) // true
193
+ * isEmpty(new Set()) // true
194
+ * isEmpty('hello') // false
195
+ * isEmpty([1, 2, 3]) // false
196
+ * isEmpty({ a: 1 }) // false
197
+ * ```
113
198
  */
114
199
  export function isEmpty(value) {
115
200
  if (value == null) {
@@ -127,10 +212,32 @@ export function isEmpty(value) {
127
212
  return false;
128
213
  }
129
214
  /**
130
- * Performs a deep comparison between two values to determine if they are equivalent
131
- * @param value The value to compare
132
- * @param other The other value to compare
133
- * @returns Returns true if the values are equivalent, else false
215
+ * Performs a deep comparison between two values to determine if they are equivalent.
216
+ *
217
+ * This function recursively compares objects and arrays, checking that all nested
218
+ * properties and elements are equal. Handles null/undefined values, primitive types,
219
+ * arrays, and plain objects.
220
+ *
221
+ * @param {unknown} value - The value to compare.
222
+ * @param {unknown} other - The other value to compare.
223
+ * @returns {boolean} Returns true if the values are equivalent, else false.
224
+ *
225
+ * @example
226
+ * ```typescript
227
+ * import { isEqual } from './AcCmLodashUtils'
228
+ *
229
+ * isEqual(1, 1) // true
230
+ * isEqual('hello', 'hello') // true
231
+ * isEqual([1, 2], [1, 2]) // true
232
+ * isEqual({ a: 1 }, { a: 1 }) // true
233
+ * isEqual([1, 2], [2, 1]) // false
234
+ * isEqual({ a: 1 }, { a: 2 }) // false
235
+ *
236
+ * // Deep comparison
237
+ * const obj1 = { a: { b: 1 } }
238
+ * const obj2 = { a: { b: 1 } }
239
+ * isEqual(obj1, obj2) // true
240
+ * ```
134
241
  */
135
242
  export function isEqual(value, other) {
136
243
  var e_2, _a;
@@ -1 +1 @@
1
- {"version":3,"file":"AcCmLodashUtils.js","sourceRoot":"","sources":["../src/AcCmLodashUtils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AcCmLodashUtils.js","sourceRoot":"","sources":["../src/AcCmLodashUtils.ts"],"names":[],"mappings":"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"}