@sheetxl/sdk 0.6.7 → 0.6.8

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 (86) hide show
  1. package/browser/cjs/{Ra_UMDM4oKBgU81z.cjs → BLMXRt9wwJiAFaI7.cjs} +1 -1
  2. package/browser/cjs/{BXS2RW3mnqWOUKpW.cjs → BTlFwdrDwZameLdv.cjs} +2 -2
  3. package/browser/cjs/{CKAFapZwCWRkxaQ8.cjs → BVDYBTtLB8ZsvUP4.cjs} +1 -1
  4. package/browser/cjs/{CFYIsMu8xxPDpDVp.cjs → BdX7STIJEyR-C9db.cjs} +1 -1
  5. package/browser/cjs/{CJkZ_0Q2bN-WjtJw.cjs → BrYJpuGpItHXDK3Q.cjs} +1 -1
  6. package/browser/cjs/{BMqcqI3WQfyq66jA.cjs → C9NesCgv9fmT5YZ4.cjs} +2 -2
  7. package/browser/cjs/{EFswV_PZDSjF9xhv.cjs → CI2-oD4G_tFYtFLa.cjs} +1 -1
  8. package/browser/cjs/{DqPG8lZP7OjVeCM6.cjs → CNLel5In1H4jwhCc.cjs} +1 -1
  9. package/browser/cjs/{xbLmOwSide13vKQF.cjs → CPrlT8ClOAOEVPLE.cjs} +1 -1
  10. package/browser/cjs/{CV_HRKeb86TvhDil.cjs → CQS0UR_lmBqd4JcZ.cjs} +1 -1
  11. package/browser/cjs/{Cc01p6tmJvG7SLzy.cjs → CQy7meDzNOoX_X46.cjs} +1 -1
  12. package/browser/cjs/{BpD_KdcfSCQGec7S.cjs → CeZnW6p71usfXr0J.cjs} +1 -1
  13. package/browser/cjs/{B8keb-2RLdorZhoO.cjs → ClYuPNQkQpHGHZ_T.cjs} +3 -3
  14. package/browser/cjs/{na0m_TtC1gCe38Kd.cjs → CrH5BaOboclMtZ4d.cjs} +1 -1
  15. package/browser/cjs/{BM_1D4HLOg_EW6Wa.cjs → CvxuA4OribKX0xTX.cjs} +1 -1
  16. package/browser/cjs/{Difi5xEsD76OucGs.cjs → D-w9RCUQTT6LzhPr.cjs} +1 -1
  17. package/browser/cjs/{Bltcyefci0ecaO5n.cjs → D50AwKqyBLJFX38-.cjs} +1 -1
  18. package/browser/cjs/{B1ayxODktwnUMFBC.cjs → DJrlrUIL2pZ9GHaE.cjs} +1 -1
  19. package/browser/cjs/{B8puumo3jyG_Kjf8.cjs → DM6oJfKGt7FrjrlU.cjs} +1 -1
  20. package/browser/cjs/{BkJ1y2dRScYQcQ5G.cjs → DrbQ1mluJfQa8dTN.cjs} +1 -1
  21. package/browser/cjs/{JJWDO0nDM9puhamP.cjs → DtCuUh-dGD4DoBwf.cjs} +1 -1
  22. package/browser/cjs/{D_n7IjyekPafY558.cjs → EC2RA6Oa6v29QDW7.cjs} +1 -1
  23. package/browser/cjs/FTRIxvYSSu0U-rq4.cjs +54 -0
  24. package/browser/cjs/index.cjs +2 -2
  25. package/browser/cjs/{CxoZgnrPmjVvCgae.cjs → tOGoeR9yufCdzeBK.cjs} +1 -1
  26. package/browser/cjs/{BHxMVsH_4O231uhJ.cjs → u2uBSZfQ54JOv_XF.cjs} +1 -1
  27. package/browser/cjs/{CSQnlsAXfMAS6ZLj.cjs → vlcPHzK2WPzV2Xgt.cjs} +1 -1
  28. package/browser/cjs/{DY8_VoO9kgRISK7u.cjs → y0ZuWWX8utA_EDbJ.cjs} +1 -1
  29. package/{node/esm/DprfVGZfh-nH6Oep.mjs → browser/esm/0S-AytvdRrcMKEfy.mjs} +1 -1
  30. package/browser/esm/{YFQpy5F5V1eQw0Kt.mjs → B37U-Nmjy_Ic6Bwd.mjs} +1 -1
  31. package/browser/esm/{Cyy8L1eyERo8ybk-.mjs → BJnrxMZrwq-ELXq2.mjs} +1 -1
  32. package/{node/esm/R5Xr0d0EgMhe-uWK.mjs → browser/esm/BLDUG5EtdEhw7UJ2.mjs} +1 -1
  33. package/browser/esm/{CWW_ZzclfqtbaF0y.mjs → BXeztFPb2KTw_Gwy.mjs} +2 -2
  34. package/{node/esm/Z8Nn-EsR2ghgWe-o.mjs → browser/esm/Bb_Ijj8onxi_-JZG.mjs} +1 -1
  35. package/browser/esm/{6HCVzxpqbh15xSiN.mjs → BdagunFigip5lLzW.mjs} +1 -1
  36. package/browser/esm/{wa0JB_y6NmzvoRKB.mjs → ByqDeR4kFnbAnomd.mjs} +1 -1
  37. package/browser/esm/{BQZ_QYQtTNMGNXwR.mjs → C0SYrcOWbCLV1hdr.mjs} +1 -1
  38. package/{node/esm/CR08yQcZqzfdqNsS.mjs → browser/esm/C15khDGhbvZW63CB.mjs} +1 -1
  39. package/browser/esm/{BvMY1tAbpkjZ5iy-.mjs → C4-W_la16cA9EfP9.mjs} +1 -1
  40. package/{node/esm/DmQt7hSOmsK8So0R.mjs → browser/esm/CFa1MRnHqQ9liVjH.mjs} +1 -1
  41. package/{node/esm/Cu-dFGbN6BqrD9vF.mjs → browser/esm/CXFmdl5K8RuBS3df.mjs} +1 -1
  42. package/browser/esm/{Rmuy-GhgJIZ92NYI.mjs → Cc3AJ1qo_oG7_L0E.mjs} +1 -1
  43. package/browser/esm/{CQQW2XjAcQLLG0t0.mjs → CchlWF0WIdpJ2ihz.mjs} +1 -1
  44. package/browser/esm/{BB2HQdoK-g7snVnO.mjs → Cy0d-pe4dHU9heyA.mjs} +1 -1
  45. package/browser/esm/{CRS6izrcfqnISEm9.mjs → DMSbBcnFJScK5nBu.mjs} +1 -1
  46. package/browser/esm/{BXszYvdrxd8oAzeU.mjs → DOBXCzRAmW5W3KmK.mjs} +2 -2
  47. package/browser/esm/{C-Hqvf7rGCWcO977.mjs → DQzF7RVKc8ppyxAD.mjs} +1 -1
  48. package/browser/esm/{gfO13QKh0RD_4pY6.mjs → DR1divTfq_TFCCXR.mjs} +1 -1
  49. package/browser/esm/{O4dySiWWqDoIKeeY.mjs → DU0ewPZTDuyBByJ3.mjs} +1 -1
  50. package/{node/esm/B3--elLaGJoBEY_L.mjs → browser/esm/Dexzv9NZGHABnlaC.mjs} +1 -1
  51. package/browser/esm/{UKDkYapuHOfa-hQG.mjs → Dt3Cgmgc9CXA0z7y.mjs} +4994 -4969
  52. package/browser/esm/{D38QRdiFDwf2Q7vd.mjs → ERFk7D1uArSqgAJy.mjs} +1 -1
  53. package/browser/esm/{AfWwLpjsZK3Xnefl.mjs → FwCG0LN3sx8EbAhe.mjs} +1 -1
  54. package/browser/esm/{V4iwvDP7NcKwlrBx.mjs → esqLrTm9jcVUtgzE.mjs} +1 -1
  55. package/browser/esm/index.mjs +2 -2
  56. package/browser/esm/{Nq7i1YKRWpP-JAJJ.mjs → qhxUd1U4-_uAr19o.mjs} +3 -3
  57. package/{browser/esm/DprfVGZfh-nH6Oep.mjs → node/esm/0S-AytvdRrcMKEfy.mjs} +1 -1
  58. package/node/esm/{DNlQg7Hxh_N16uoo.mjs → 7LDUCFFEjGMjdIeB.mjs} +1 -1
  59. package/node/esm/{0F_7Ra_Mg1rp_0x4.mjs → B7P-zw_wk4ERYAwf.mjs} +1 -1
  60. package/node/esm/{Cyy8L1eyERo8ybk-.mjs → BJnrxMZrwq-ELXq2.mjs} +1 -1
  61. package/{browser/esm/R5Xr0d0EgMhe-uWK.mjs → node/esm/BLDUG5EtdEhw7UJ2.mjs} +1 -1
  62. package/{browser/esm/Z8Nn-EsR2ghgWe-o.mjs → node/esm/Bb_Ijj8onxi_-JZG.mjs} +1 -1
  63. package/node/esm/{C94shI5CnIIJRtAo.mjs → BrV22-toqLYb5LkH.mjs} +1 -1
  64. package/node/esm/{CE2V9rdg6tG36hHp.mjs → ByYblFpwbl25hU7o.mjs} +1 -1
  65. package/node/esm/{wa0JB_y6NmzvoRKB.mjs → ByqDeR4kFnbAnomd.mjs} +1 -1
  66. package/{browser/esm/CR08yQcZqzfdqNsS.mjs → node/esm/C15khDGhbvZW63CB.mjs} +1 -1
  67. package/node/esm/{D2Mc05N33cJJIgFY.mjs → C6PjmXgRjFnuGT5_.mjs} +1 -1
  68. package/node/esm/{BIwraEgJzTzK01gQ.mjs → CEAukeJpSqsizA-i.mjs} +1 -1
  69. package/{browser/esm/DmQt7hSOmsK8So0R.mjs → node/esm/CFa1MRnHqQ9liVjH.mjs} +1 -1
  70. package/{browser/esm/Cu-dFGbN6BqrD9vF.mjs → node/esm/CXFmdl5K8RuBS3df.mjs} +1 -1
  71. package/node/esm/{Rmuy-GhgJIZ92NYI.mjs → Cc3AJ1qo_oG7_L0E.mjs} +1 -1
  72. package/node/esm/{CQQW2XjAcQLLG0t0.mjs → CchlWF0WIdpJ2ihz.mjs} +1 -1
  73. package/node/esm/{CRS6izrcfqnISEm9.mjs → DMSbBcnFJScK5nBu.mjs} +1 -1
  74. package/node/esm/{BOtOe-8nLAeM4o-4.mjs → DN_xpGsi7kf6YOuH.mjs} +2 -2
  75. package/node/esm/{gfO13QKh0RD_4pY6.mjs → DR1divTfq_TFCCXR.mjs} +1 -1
  76. package/{browser/esm/B3--elLaGJoBEY_L.mjs → node/esm/Dexzv9NZGHABnlaC.mjs} +1 -1
  77. package/node/esm/{D38QRdiFDwf2Q7vd.mjs → ERFk7D1uArSqgAJy.mjs} +1 -1
  78. package/node/esm/{AfWwLpjsZK3Xnefl.mjs → FwCG0LN3sx8EbAhe.mjs} +1 -1
  79. package/node/esm/{Dxkwp4gqxvOCj07H.mjs → KoFoApRQ-x4voQin.mjs} +1 -1
  80. package/node/esm/{V4iwvDP7NcKwlrBx.mjs → esqLrTm9jcVUtgzE.mjs} +1 -1
  81. package/node/esm/index.mjs +1287 -1252
  82. package/node/esm/{mLbyGFmnqVEUU5k1.mjs → lQwFvDr-SsCqhuIe.mjs} +1 -1
  83. package/package.json +4 -4
  84. package/types/index.d.ts +27 -8
  85. package/types/scripting.d.ts +42 -12
  86. package/browser/cjs/BQLOEqUTaStrh3PF.cjs +0 -54
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license @sheetxl/sdk - SDK - A high-performance, embeddable spreadsheet engine. - v0.6.7
2
+ * @license @sheetxl/sdk - SDK - A high-performance, embeddable spreadsheet engine. - v0.6.8
3
3
  *
4
4
  * (C) 2025-present SheetXL Inc. & Michael T. Ford
5
5
  * License: The license can be found at https://www.sheetxl.com/license.
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@sheetxl/sdk",
3
3
  "description": "SDK - A high-performance, embeddable spreadsheet engine.",
4
- "version": "0.6.7",
4
+ "version": "0.6.8",
5
5
  "license": "SEE LICENSE IN <LICENSE>",
6
6
  "type": "module",
7
7
  "exports": {
@@ -31,9 +31,9 @@
31
31
  "automation"
32
32
  ],
33
33
  "dependencies": {
34
- "@sheetxl/primitives": "^0.6.7",
35
- "@sheetxl/scripting": "^0.6.7",
36
- "@sheetxl/utils": "^0.6.7",
34
+ "@sheetxl/primitives": "^0.6.8",
35
+ "@sheetxl/scripting": "^0.6.8",
36
+ "@sheetxl/utils": "^0.6.8",
37
37
  "bahttext": "^2.3.0",
38
38
  "bessel": "^1.0.2",
39
39
  "chalk": "^5.5.0",
package/types/index.d.ts CHANGED
@@ -615,6 +615,8 @@ export declare class Calculation extends AbstractModel<State_2, ICalculation.JSO
615
615
  stop(): Promise<void>;
616
616
  /** @inheritdoc ICalculation.getStatus */
617
617
  getStatus(): ICalculation.Status;
618
+ /** @inheritdoc ICalculation.waitForFinish */
619
+ waitForFinish(): Promise<void>;
618
620
  /** @inheritdoc ICalculation.getFunctions */
619
621
  getFunctions(): IFunctionCollection;
620
622
  /** @inheritdoc IFormulaContext.getRuntime */
@@ -2825,6 +2827,13 @@ export declare interface ICalculation extends IModel {
2825
2827
  getFunctions(): IFunctionCollection;
2826
2828
  /** @inheritdoc IFormulaContext.getRuntime */
2827
2829
  getRuntime(): IRuntime;
2830
+ /**
2831
+ * Waits for the calculation to finish.
2832
+ *
2833
+ * @remarks
2834
+ * This is useful when needing to ensure that the values in the calculation cycle are up-to-date.
2835
+ */
2836
+ waitForFinish(): Promise<void>;
2828
2837
  /**
2829
2838
  * Add Listeners.
2830
2839
  *
@@ -4569,6 +4578,13 @@ export declare interface ICellRange {
4569
4578
  * @param full If `true` then all formulas will be recalculated.
4570
4579
  */
4571
4580
  calculate(full?: boolean): this;
4581
+ /**
4582
+ * Waits for all calculations to finish.
4583
+ *
4584
+ * @remarks
4585
+ * Useful for ensuring that all calculations are complete before proceeding.
4586
+ */
4587
+ waitForCalcs(): Promise<this>;
4572
4588
  /**
4573
4589
  * Fill the range to a destination using an array of {@link IAutoFill.Filler}.
4574
4590
  *
@@ -8572,9 +8588,9 @@ export declare interface IFunctionCollection extends ICollection<IFunction> {
8572
8588
  *
8573
8589
  * If no filter criteria is provided, all items will be returned.
8574
8590
  *
8575
- * @param options {@link IFunctionCollection.GetItemsOptions}
8591
+ * @param options {@link IFunctionCollection.SearchOptions}
8576
8592
  */
8577
- getItems(options?: IFunctionCollection.GetItemsOptions): IFunction[];
8593
+ search(options?: IFunctionCollection.SearchOptions): Promise<IFunction[]>;
8578
8594
  /**
8579
8595
  * Convenience method for filter by name.
8580
8596
  * This is functionally equivalent to getItems({ name });
@@ -8595,7 +8611,7 @@ export declare namespace IFunctionCollection {
8595
8611
  /**
8596
8612
  * Options for searching a function in the collection.
8597
8613
  */
8598
- export interface GetItemsOptions {
8614
+ export interface SearchOptions {
8599
8615
  /**
8600
8616
  * Search with the given name. This is case insensitive.
8601
8617
  */
@@ -9479,6 +9495,10 @@ export declare interface IModule {
9479
9495
  */
9480
9496
  getLanguage(): string;
9481
9497
  getErrors(): any[];
9498
+ /**
9499
+ * The name of the module.
9500
+ */
9501
+ getName(): string;
9482
9502
  /**
9483
9503
  * Remove the module from the collection.
9484
9504
  */
@@ -11364,7 +11384,7 @@ export declare interface IScript {
11364
11384
  * @remarks
11365
11385
  * equivalent to `getModules().search( { type: 'macro', name } )`
11366
11386
  */
11367
- searchFunctions(options?: IScript.SearchFunctionsOptions): Promise<IFunction[]>;
11387
+ searchFunctions(options?: IScript.SearchOptions): Promise<IFunction[]>;
11368
11388
  /**
11369
11389
  * Add Listeners.
11370
11390
  *
@@ -11417,11 +11437,9 @@ export declare namespace IScript {
11417
11437
  params: any[];
11418
11438
  results: any;
11419
11439
  }
11420
- export interface SearchFunctionsOptions {
11421
- name?: string;
11422
- category?: string;
11423
- type?: string;
11440
+ export interface SearchOptions extends IFunctionCollection.SearchOptions {
11424
11441
  moduleName?: string;
11442
+ includeBuiltIn?: boolean;
11425
11443
  }
11426
11444
  }
11427
11445
 
@@ -18479,6 +18497,7 @@ export declare class Sheet implements ISheet {
18479
18497
  /* Excluded from this release type: _updateFormulaSpatial */
18480
18498
  /* Excluded from this release type: _realizeCalcedValues */
18481
18499
  /* Excluded from this release type: _calculate */
18500
+ /* Excluded from this release type: _waitForCalcs */
18482
18501
  /* Excluded from this release type: _calculateFull */
18483
18502
  /* Excluded from this release type: _setComments */
18484
18503
  /* Excluded from this release type: _clear */
@@ -9515,9 +9515,9 @@ declare module "script/IFunctionCollection" {
9515
9515
  *
9516
9516
  * If no filter criteria is provided, all items will be returned.
9517
9517
  *
9518
- * @param options {@link IFunctionCollection.GetItemsOptions}
9518
+ * @param options {@link IFunctionCollection.SearchOptions}
9519
9519
  */
9520
- getItems(options?: IFunctionCollection.GetItemsOptions): IFunction[];
9520
+ search(options?: IFunctionCollection.SearchOptions): Promise<IFunction[]>;
9521
9521
  /**
9522
9522
  * Convenience method for filter by name.
9523
9523
  * This is functionally equivalent to getItems({ name });
@@ -9537,7 +9537,7 @@ declare module "script/IFunctionCollection" {
9537
9537
  /**
9538
9538
  * Options for searching a function in the collection.
9539
9539
  */
9540
- interface GetItemsOptions {
9540
+ interface SearchOptions {
9541
9541
  /**
9542
9542
  * Search with the given name. This is case insensitive.
9543
9543
  */
@@ -9621,6 +9621,10 @@ declare module "script/IModule" {
9621
9621
  */
9622
9622
  getLanguage(): string;
9623
9623
  getErrors(): any[];
9624
+ /**
9625
+ * The name of the module.
9626
+ */
9627
+ getName(): string;
9624
9628
  /**
9625
9629
  * Remove the module from the collection.
9626
9630
  */
@@ -9744,6 +9748,7 @@ declare module "script/IModuleCollection" {
9744
9748
  declare module "script/IScript" {
9745
9749
  import type { IFunction } from '@sheetxl/primitives';
9746
9750
  import type { IListener } from "listener/index";
9751
+ import type { IFunctionCollection } from "script/IFunctionCollection";
9747
9752
  import type { IModule } from "script/IModule";
9748
9753
  import type { IModuleCollection } from "script/IModuleCollection";
9749
9754
  /**
@@ -9793,7 +9798,7 @@ declare module "script/IScript" {
9793
9798
  * @remarks
9794
9799
  * equivalent to `getModules().search( { type: 'macro', name } )`
9795
9800
  */
9796
- searchFunctions(options?: IScript.SearchFunctionsOptions): Promise<IFunction[]>;
9801
+ searchFunctions(options?: IScript.SearchOptions): Promise<IFunction[]>;
9797
9802
  /**
9798
9803
  * Add Listeners.
9799
9804
  *
@@ -9845,11 +9850,9 @@ declare module "script/IScript" {
9845
9850
  params: any[];
9846
9851
  results: any;
9847
9852
  }
9848
- interface SearchFunctionsOptions {
9849
- name?: string;
9850
- category?: string;
9851
- type?: string;
9853
+ interface SearchOptions extends IFunctionCollection.SearchOptions {
9852
9854
  moduleName?: string;
9855
+ includeBuiltIn?: boolean;
9853
9856
  }
9854
9857
  }
9855
9858
  }
@@ -9892,6 +9895,13 @@ declare module "calculation/ICalculation" {
9892
9895
  getFunctions(): IFunctionCollection;
9893
9896
  /** @inheritdoc IFormulaContext.getRuntime */
9894
9897
  getRuntime(): IRuntime;
9898
+ /**
9899
+ * Waits for the calculation to finish.
9900
+ *
9901
+ * @remarks
9902
+ * This is useful when needing to ensure that the values in the calculation cycle are up-to-date.
9903
+ */
9904
+ waitForFinish(): Promise<void>;
9895
9905
  /**
9896
9906
  * Add Listeners.
9897
9907
  *
@@ -15467,6 +15477,7 @@ declare module "script/FunctionCollection" {
15467
15477
  import type { IFunction, IFormulaContext } from '@sheetxl/primitives';
15468
15478
  import { type ITransaction } from "transaction/index";
15469
15479
  import type { IListener } from "listener/index";
15480
+ import type { ICollection } from "type/index";
15470
15481
  import { ListenerEmitter } from "listener/ListenerEmitter";
15471
15482
  import type { IFunctionCollection } from "script/IFunctionCollection";
15472
15483
  /**
@@ -15481,9 +15492,11 @@ declare module "script/FunctionCollection" {
15481
15492
  private _closed;
15482
15493
  constructor(options: ConstructorOptions);
15483
15494
  /** {@inheritDoc IFunctionCollection.getItems} */
15484
- getItems(options?: IFunctionCollection.GetItemsOptions): IFunction[];
15495
+ getItems(options?: ICollection.GetItemsOptions): IFunction[];
15485
15496
  /** {@inheritDoc IFunctionCollection.getByName} */
15486
15497
  getByName(name: string): IFunction | null;
15498
+ /** {@inheritDoc IFunctionCollection.search} */
15499
+ search(options?: IFunctionCollection.SearchOptions): Promise<IFunction[]>;
15487
15500
  /** {@inheritDoc ICollection.getCount} */
15488
15501
  getCount(): number;
15489
15502
  /** {@inheritDoc IFunctionCollection.validateName} */
@@ -15522,10 +15535,14 @@ declare module "script/Module" {
15522
15535
  protected _json: IModule.JSON;
15523
15536
  protected _functions: IFunctionCollection;
15524
15537
  protected _emitter: ListenerEmitter<IModule, IModule.IListeners>;
15538
+ protected _name?: string;
15525
15539
  constructor(options: {
15526
15540
  json: IModule.JSON;
15527
15541
  readonlyFunctions: Map<string, IFunction>;
15542
+ name: string;
15528
15543
  });
15544
+ /** {@inheritDoc IModule.getName} */
15545
+ getName(): string;
15529
15546
  /** {@inheritDoc IModule.getFunctions} */
15530
15547
  getFunctions(): IFunctionCollection;
15531
15548
  /** {@inheritDoc IModule.getSource} */
@@ -15544,7 +15561,7 @@ declare module "script/Module" {
15544
15561
  }
15545
15562
  declare module "script/_ModuleUtils" {
15546
15563
  import { IModule } from "script/IModule";
15547
- export const jsonToModule: (json: IModule.JSON, declarationsOnly?: boolean) => Promise<IModule>;
15564
+ export const jsonToModule: (name: string, json: IModule.JSON, declarationsOnly?: boolean) => Promise<IModule>;
15548
15565
  export function runAsyncGenerator<T>(generator: AsyncGenerator<any, T, any>): Promise<T>;
15549
15566
  }
15550
15567
  declare module "script/Scripts" {
@@ -15572,7 +15589,7 @@ declare module "script/Scripts" {
15572
15589
  /** {@inheritDoc IScript.search} */
15573
15590
  executeMacro(functionName: string, moduleId?: string): Promise<IScript.MacroResults>;
15574
15591
  /** {@inheritDoc IScript.searchFunctions} */
15575
- searchFunctions(options?: IScript.SearchFunctionsOptions): Promise<IFunction[]>;
15592
+ searchFunctions(options?: IScript.SearchOptions): Promise<IFunction[]>;
15576
15593
  /** {@inheritDoc IScript.start} */
15577
15594
  start(): Promise<void>;
15578
15595
  /** {@inheritDoc IListener.ISource.addListeners} */
@@ -15592,7 +15609,7 @@ declare module "script/Scripts" {
15592
15609
  workbook: IWorkbook;
15593
15610
  onRemove?: (moduleId: string, module: IModule) => void;
15594
15611
  onAdd?: (moduleId: string, module: IModule) => void;
15595
- getBuiltInFunctions?(): Promise<IFunctionCollection>;
15612
+ getBuiltInFunctions?(): IFunctionCollection;
15596
15613
  }
15597
15614
  }
15598
15615
  }
@@ -21775,6 +21792,8 @@ declare module "sheet/Sheet" {
21775
21792
  /** @internal */
21776
21793
  protected _calculate(ranges: ICellRanges.Coords, options?: ICalcGraph.CalculateOptions): void;
21777
21794
  /** @internal */
21795
+ protected _waitForCalcs(): Promise<void>;
21796
+ /** @internal */
21778
21797
  protected _calculateFull(): void;
21779
21798
  /** @internal */
21780
21799
  protected _setComments(ranges: readonly ISpatialMap.Entry<IComment.JSON>[], comments?: IComment.JSON, // we do this because updateTuples may update each
@@ -22111,6 +22130,8 @@ declare module "sheet/SheetRange" {
22111
22130
  getValue(options?: ICellRange.GetValuesOptions): Scalar | JSScalar;
22112
22131
  /** {@inheritDoc ICellRange.calculate} */
22113
22132
  calculate(full: boolean): this;
22133
+ /** {@inheritDoc ICellRange.waitForCalcs} */
22134
+ waitForCalcs(): Promise<this>;
22114
22135
  /** {@inheritDoc ICellRange.getCells} */
22115
22136
  getCells(options?: ICellRange.GetValuesOptions): ICell[][];
22116
22137
  /** {@inheritDoc ICellRange.getCell} */
@@ -29319,6 +29340,8 @@ declare module "calculation/Calculation" {
29319
29340
  stop(): Promise<void>;
29320
29341
  /** @inheritdoc ICalculation.getStatus */
29321
29342
  getStatus(): ICalculation.Status;
29343
+ /** @inheritdoc ICalculation.waitForFinish */
29344
+ waitForFinish(): Promise<void>;
29322
29345
  /** @inheritdoc ICalculation.getFunctions */
29323
29346
  getFunctions(): IFunctionCollection;
29324
29347
  /** @inheritdoc IFormulaContext.getRuntime */
@@ -32071,6 +32094,13 @@ declare module "cellRange/ICellRange" {
32071
32094
  * @param full If `true` then all formulas will be recalculated.
32072
32095
  */
32073
32096
  calculate(full?: boolean): this;
32097
+ /**
32098
+ * Waits for all calculations to finish.
32099
+ *
32100
+ * @remarks
32101
+ * Useful for ensuring that all calculations are complete before proceeding.
32102
+ */
32103
+ waitForCalcs(): Promise<this>;
32074
32104
  /**
32075
32105
  * Fill the range to a destination using an array of {@link IAutoFill.Filler}.
32076
32106
  *