@gridsheet/functions 3.0.0-rc.2 → 3.0.0-rc.5

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 (261) hide show
  1. package/dist/index.d.ts +5 -1
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +102 -112
  4. package/dist/index.js.map +1 -0
  5. package/dist/information/isblank.spec.d.ts +2 -0
  6. package/dist/information/isblank.spec.d.ts.map +1 -0
  7. package/dist/information/isdate.spec.d.ts +2 -0
  8. package/dist/information/isdate.spec.d.ts.map +1 -0
  9. package/dist/information/isemail.spec.d.ts +2 -0
  10. package/dist/information/isemail.spec.d.ts.map +1 -0
  11. package/dist/information/iserr.spec.d.ts +2 -0
  12. package/dist/information/iserr.spec.d.ts.map +1 -0
  13. package/dist/information/iserror.spec.d.ts +2 -0
  14. package/dist/information/iserror.spec.d.ts.map +1 -0
  15. package/dist/information/isformula.d.ts +2 -2
  16. package/dist/information/isformula.spec.d.ts +2 -0
  17. package/dist/information/isformula.spec.d.ts.map +1 -0
  18. package/dist/information/islogical.spec.d.ts +2 -0
  19. package/dist/information/islogical.spec.d.ts.map +1 -0
  20. package/dist/information/isna.spec.d.ts +2 -0
  21. package/dist/information/isna.spec.d.ts.map +1 -0
  22. package/dist/information/isnontext.spec.d.ts +2 -0
  23. package/dist/information/isnontext.spec.d.ts.map +1 -0
  24. package/dist/information/isref.d.ts +2 -2
  25. package/dist/information/isref.spec.d.ts +2 -0
  26. package/dist/information/isref.spec.d.ts.map +1 -0
  27. package/dist/information/istext.spec.d.ts +2 -0
  28. package/dist/information/istext.spec.d.ts.map +1 -0
  29. package/dist/information/n.spec.d.ts +2 -0
  30. package/dist/information/n.spec.d.ts.map +1 -0
  31. package/dist/information/na.spec.d.ts +2 -0
  32. package/dist/information/na.spec.d.ts.map +1 -0
  33. package/dist/information/sheets.spec.d.ts +2 -0
  34. package/dist/information/sheets.spec.d.ts.map +1 -0
  35. package/dist/logical/ifs.d.ts +3 -4
  36. package/dist/logical/ifs.d.ts.map +1 -1
  37. package/dist/lookup/column.spec.d.ts +2 -0
  38. package/dist/lookup/column.spec.d.ts.map +1 -0
  39. package/dist/lookup/columns.spec.d.ts +2 -0
  40. package/dist/lookup/columns.spec.d.ts.map +1 -0
  41. package/dist/lookup/hlookup.d.ts +2 -3
  42. package/dist/lookup/hlookup.d.ts.map +1 -1
  43. package/dist/lookup/hlookup.spec.d.ts +2 -0
  44. package/dist/lookup/hlookup.spec.d.ts.map +1 -0
  45. package/dist/lookup/index.js +139 -156
  46. package/dist/lookup/index.js.map +1 -0
  47. package/dist/lookup/indexFn.d.ts +2 -2
  48. package/dist/lookup/indexFn.spec.d.ts +2 -0
  49. package/dist/lookup/indexFn.spec.d.ts.map +1 -0
  50. package/dist/lookup/match.d.ts +2 -2
  51. package/dist/lookup/match.d.ts.map +1 -1
  52. package/dist/lookup/match.spec.d.ts +2 -0
  53. package/dist/lookup/match.spec.d.ts.map +1 -0
  54. package/dist/lookup/row.spec.d.ts +2 -0
  55. package/dist/lookup/row.spec.d.ts.map +1 -0
  56. package/dist/lookup/rows.spec.d.ts +2 -0
  57. package/dist/lookup/rows.spec.d.ts.map +1 -0
  58. package/dist/lookup/sheet.d.ts +2 -2
  59. package/dist/lookup/sheet.spec.d.ts +2 -0
  60. package/dist/lookup/sheet.spec.d.ts.map +1 -0
  61. package/dist/lookup/vlookup.d.ts +2 -3
  62. package/dist/lookup/vlookup.d.ts.map +1 -1
  63. package/dist/lookup/vlookup.spec.d.ts +2 -0
  64. package/dist/lookup/vlookup.spec.d.ts.map +1 -0
  65. package/dist/math/__matrix_base.d.ts +1 -1
  66. package/dist/math/acos.spec.d.ts +2 -0
  67. package/dist/math/acos.spec.d.ts.map +1 -0
  68. package/dist/math/asin.spec.d.ts +2 -0
  69. package/dist/math/asin.spec.d.ts.map +1 -0
  70. package/dist/math/atan.spec.d.ts +2 -0
  71. package/dist/math/atan.spec.d.ts.map +1 -0
  72. package/dist/math/atan2.spec.d.ts +2 -0
  73. package/dist/math/atan2.spec.d.ts.map +1 -0
  74. package/dist/math/base.spec.d.ts +2 -0
  75. package/dist/math/base.spec.d.ts.map +1 -0
  76. package/dist/math/cos.spec.d.ts +2 -0
  77. package/dist/math/cos.spec.d.ts.map +1 -0
  78. package/dist/math/countif.d.ts +2 -2
  79. package/dist/math/countif.spec.d.ts +2 -0
  80. package/dist/math/countif.spec.d.ts.map +1 -0
  81. package/dist/math/countifs.spec.d.ts +2 -0
  82. package/dist/math/countifs.spec.d.ts.map +1 -0
  83. package/dist/math/even.d.ts.map +1 -1
  84. package/dist/math/even.spec.d.ts +2 -0
  85. package/dist/math/even.spec.d.ts.map +1 -0
  86. package/dist/math/exp.spec.d.ts +2 -0
  87. package/dist/math/exp.spec.d.ts.map +1 -0
  88. package/dist/math/fact.spec.d.ts +2 -0
  89. package/dist/math/fact.spec.d.ts.map +1 -0
  90. package/dist/math/index.js +208 -206
  91. package/dist/math/index.js.map +1 -0
  92. package/dist/math/int.d.ts.map +1 -1
  93. package/dist/math/int.spec.d.ts +2 -0
  94. package/dist/math/int.spec.d.ts.map +1 -0
  95. package/dist/math/iseven.d.ts.map +1 -1
  96. package/dist/math/iseven.spec.d.ts +2 -0
  97. package/dist/math/iseven.spec.d.ts.map +1 -0
  98. package/dist/math/isodd.d.ts.map +1 -1
  99. package/dist/math/isodd.spec.d.ts +2 -0
  100. package/dist/math/isodd.spec.d.ts.map +1 -0
  101. package/dist/math/lcm.spec.d.ts +2 -0
  102. package/dist/math/lcm.spec.d.ts.map +1 -0
  103. package/dist/math/ln.d.ts.map +1 -1
  104. package/dist/math/ln.spec.d.ts +2 -0
  105. package/dist/math/ln.spec.d.ts.map +1 -0
  106. package/dist/math/log.d.ts +1 -0
  107. package/dist/math/log.d.ts.map +1 -1
  108. package/dist/math/log.spec.d.ts +2 -0
  109. package/dist/math/log.spec.d.ts.map +1 -0
  110. package/dist/math/log10.d.ts.map +1 -1
  111. package/dist/math/log10.spec.d.ts +2 -0
  112. package/dist/math/log10.spec.d.ts.map +1 -0
  113. package/dist/math/mod.spec.d.ts +2 -0
  114. package/dist/math/mod.spec.d.ts.map +1 -0
  115. package/dist/math/odd.d.ts.map +1 -1
  116. package/dist/math/odd.spec.d.ts +2 -0
  117. package/dist/math/odd.spec.d.ts.map +1 -0
  118. package/dist/math/pi.d.ts.map +1 -1
  119. package/dist/math/pi.spec.d.ts +2 -0
  120. package/dist/math/pi.spec.d.ts.map +1 -0
  121. package/dist/math/product.d.ts +1 -2
  122. package/dist/math/product.d.ts.map +1 -1
  123. package/dist/math/product.spec.d.ts +2 -0
  124. package/dist/math/product.spec.d.ts.map +1 -0
  125. package/dist/math/radians.d.ts.map +1 -1
  126. package/dist/math/radians.spec.d.ts +2 -0
  127. package/dist/math/radians.spec.d.ts.map +1 -0
  128. package/dist/math/rand.d.ts.map +1 -1
  129. package/dist/math/rand.spec.d.ts +2 -0
  130. package/dist/math/rand.spec.d.ts.map +1 -0
  131. package/dist/math/round.d.ts.map +1 -1
  132. package/dist/math/round.spec.d.ts +2 -0
  133. package/dist/math/round.spec.d.ts.map +1 -0
  134. package/dist/math/rounddown.d.ts.map +1 -1
  135. package/dist/math/rounddown.spec.d.ts +2 -0
  136. package/dist/math/rounddown.spec.d.ts.map +1 -0
  137. package/dist/math/roundup.d.ts.map +1 -1
  138. package/dist/math/roundup.spec.d.ts +2 -0
  139. package/dist/math/roundup.spec.d.ts.map +1 -0
  140. package/dist/math/sequence.spec.d.ts +2 -0
  141. package/dist/math/sequence.spec.d.ts.map +1 -0
  142. package/dist/math/sign.d.ts.map +1 -1
  143. package/dist/math/sign.spec.d.ts +2 -0
  144. package/dist/math/sign.spec.d.ts.map +1 -0
  145. package/dist/math/sin.d.ts.map +1 -1
  146. package/dist/math/sin.spec.d.ts +2 -0
  147. package/dist/math/sin.spec.d.ts.map +1 -0
  148. package/dist/math/sqrt.d.ts.map +1 -1
  149. package/dist/math/sqrt.spec.d.ts +2 -0
  150. package/dist/math/sqrt.spec.d.ts.map +1 -0
  151. package/dist/math/sumif.d.ts +2 -2
  152. package/dist/math/sumif.d.ts.map +1 -1
  153. package/dist/math/sumifs.d.ts +2 -2
  154. package/dist/math/sumifs.d.ts.map +1 -1
  155. package/dist/math/sumifs.spec.d.ts +2 -0
  156. package/dist/math/sumifs.spec.d.ts.map +1 -0
  157. package/dist/math/sumsq.spec.d.ts +2 -0
  158. package/dist/math/sumsq.spec.d.ts.map +1 -0
  159. package/dist/math/tan.d.ts.map +1 -1
  160. package/dist/math/tan.spec.d.ts +2 -0
  161. package/dist/math/tan.spec.d.ts.map +1 -0
  162. package/dist/math/trunc.d.ts.map +1 -1
  163. package/dist/math/trunc.spec.d.ts +2 -0
  164. package/dist/math/trunc.spec.d.ts.map +1 -0
  165. package/dist/math/unaryPercent.d.ts.map +1 -1
  166. package/dist/math/unaryPercent.spec.d.ts +2 -0
  167. package/dist/math/unaryPercent.spec.d.ts.map +1 -0
  168. package/dist/math/uplus.d.ts.map +1 -1
  169. package/dist/math/uplus.spec.d.ts +2 -0
  170. package/dist/math/uplus.spec.d.ts.map +1 -0
  171. package/dist/statistics/averageif.d.ts +2 -2
  172. package/dist/statistics/averageif.d.ts.map +1 -1
  173. package/dist/statistics/averageifs.d.ts +2 -2
  174. package/dist/statistics/averageifs.d.ts.map +1 -1
  175. package/dist/statistics/averageifs.spec.d.ts +2 -0
  176. package/dist/statistics/averageifs.spec.d.ts.map +1 -0
  177. package/dist/statistics/correl.spec.d.ts +2 -0
  178. package/dist/statistics/correl.spec.d.ts.map +1 -0
  179. package/dist/statistics/covariance_p.d.ts +10 -0
  180. package/dist/statistics/covariance_p.d.ts.map +1 -0
  181. package/dist/statistics/covariance_p.spec.d.ts +2 -0
  182. package/dist/statistics/covariance_p.spec.d.ts.map +1 -0
  183. package/dist/statistics/covariance_s.spec.d.ts +2 -0
  184. package/dist/statistics/covariance_s.spec.d.ts.map +1 -0
  185. package/dist/statistics/index.d.ts.map +1 -1
  186. package/dist/statistics/index.js +154 -111
  187. package/dist/statistics/index.js.map +1 -0
  188. package/dist/statistics/median.spec.d.ts +2 -0
  189. package/dist/statistics/median.spec.d.ts.map +1 -0
  190. package/dist/statistics/mode_sngl.spec.d.ts +2 -0
  191. package/dist/statistics/mode_sngl.spec.d.ts.map +1 -0
  192. package/dist/statistics/percentile_inc.spec.d.ts +2 -0
  193. package/dist/statistics/percentile_inc.spec.d.ts.map +1 -0
  194. package/dist/statistics/quartile_inc.spec.d.ts +2 -0
  195. package/dist/statistics/quartile_inc.spec.d.ts.map +1 -0
  196. package/dist/statistics/rank_eq.spec.d.ts +2 -0
  197. package/dist/statistics/rank_eq.spec.d.ts.map +1 -0
  198. package/dist/statistics/rsq.spec.d.ts +2 -0
  199. package/dist/statistics/rsq.spec.d.ts.map +1 -0
  200. package/dist/statistics/stdev_p.spec.d.ts +2 -0
  201. package/dist/statistics/stdev_p.spec.d.ts.map +1 -0
  202. package/dist/statistics/stdev_s.spec.d.ts +2 -0
  203. package/dist/statistics/stdev_s.spec.d.ts.map +1 -0
  204. package/dist/statistics/t_test.spec.d.ts +2 -0
  205. package/dist/statistics/t_test.spec.d.ts.map +1 -0
  206. package/dist/statistics/var_p.spec.d.ts +2 -0
  207. package/dist/statistics/var_p.spec.d.ts.map +1 -0
  208. package/dist/statistics/var_s.spec.d.ts +2 -0
  209. package/dist/statistics/var_s.spec.d.ts.map +1 -0
  210. package/dist/text/char.spec.d.ts +2 -0
  211. package/dist/text/char.spec.d.ts.map +1 -0
  212. package/dist/text/clean.spec.d.ts +2 -0
  213. package/dist/text/clean.spec.d.ts.map +1 -0
  214. package/dist/text/concatenate.d.ts.map +1 -1
  215. package/dist/text/concatenate.spec.d.ts +2 -0
  216. package/dist/text/concatenate.spec.d.ts.map +1 -0
  217. package/dist/text/exact.d.ts.map +1 -1
  218. package/dist/text/exact.spec.d.ts +2 -0
  219. package/dist/text/exact.spec.d.ts.map +1 -0
  220. package/dist/text/index.js +66 -69
  221. package/dist/text/index.js.map +1 -0
  222. package/dist/text/join.d.ts.map +1 -1
  223. package/dist/text/join.spec.d.ts +2 -0
  224. package/dist/text/join.spec.d.ts.map +1 -0
  225. package/dist/text/lenb.d.ts.map +1 -1
  226. package/dist/text/lenb.spec.d.ts +2 -0
  227. package/dist/text/lenb.spec.d.ts.map +1 -0
  228. package/dist/text/lower.spec.d.ts +2 -0
  229. package/dist/text/lower.spec.d.ts.map +1 -0
  230. package/dist/text/proper.spec.d.ts +2 -0
  231. package/dist/text/proper.spec.d.ts.map +1 -0
  232. package/dist/text/replace.d.ts.map +1 -1
  233. package/dist/text/replace.spec.d.ts +2 -0
  234. package/dist/text/replace.spec.d.ts.map +1 -0
  235. package/dist/text/rept.spec.d.ts +2 -0
  236. package/dist/text/rept.spec.d.ts.map +1 -0
  237. package/dist/text/trim.d.ts.map +1 -1
  238. package/dist/text/trim.spec.d.ts +2 -0
  239. package/dist/text/trim.spec.d.ts.map +1 -0
  240. package/dist/text/unichar.d.ts.map +1 -1
  241. package/dist/text/unichar.spec.d.ts +2 -0
  242. package/dist/text/unichar.spec.d.ts.map +1 -0
  243. package/dist/text/unicode.spec.d.ts +2 -0
  244. package/dist/text/unicode.spec.d.ts.map +1 -0
  245. package/dist/text/upper.d.ts.map +1 -1
  246. package/dist/text/upper.spec.d.ts +2 -0
  247. package/dist/text/upper.spec.d.ts.map +1 -0
  248. package/dist/time/date.d.ts.map +1 -1
  249. package/dist/time/day.d.ts.map +1 -1
  250. package/dist/time/days.d.ts.map +1 -1
  251. package/dist/time/hour.d.ts.map +1 -1
  252. package/dist/time/index.js +74 -80
  253. package/dist/time/index.js.map +1 -0
  254. package/dist/time/minute.d.ts.map +1 -1
  255. package/dist/time/month.d.ts.map +1 -1
  256. package/dist/time/second.d.ts.map +1 -1
  257. package/dist/time/time.d.ts.map +1 -1
  258. package/dist/time/today.d.ts.map +1 -1
  259. package/dist/time/workday.d.ts.map +1 -1
  260. package/dist/time/year.d.ts.map +1 -1
  261. package/package.json +6 -6
package/dist/index.d.ts CHANGED
@@ -1,5 +1,9 @@
1
- import { FunctionMapping } from '@gridsheet/react-core';
1
+ import { FunctionMapping, RegistryProps } from '@gridsheet/react-core';
2
2
  /** All extended functions combined into a single FunctionMapping. */
3
3
  export declare const allFunctions: FunctionMapping;
4
+ /** useBook with all extended functions pre-loaded. User-supplied additionalFunctions are merged on top. */
5
+ export declare const useSpellbook: ({ additionalFunctions, ...rest }?: RegistryProps) => import('@gridsheet/react-core').BookType;
6
+ /** createBook with all extended functions pre-loaded. User-supplied additionalFunctions are merged on top. */
7
+ export declare const createSpellbook: ({ additionalFunctions, ...rest }?: RegistryProps) => import('@gridsheet/react-core').BookType;
4
8
  export default allFunctions;
5
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAS7D,qEAAqE;AACrE,eAAO,MAAM,YAAY,EAAE,eAQ1B,CAAC;AAEF,eAAe,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAU5E,qEAAqE;AACrE,eAAO,MAAM,YAAY,EAAE,eAQ1B,CAAC;AAEF,2GAA2G;AAC3G,eAAO,MAAM,YAAY,GAAI,mCAAkC,aAAkB,6CACO,CAAC;AAEzF,8GAA8G;AAC9G,eAAO,MAAM,eAAe,GAAI,mCAAkC,aAAkB,6CACO,CAAC;AAE5F,eAAe,YAAY,CAAC"}
package/dist/index.js CHANGED
@@ -1,14 +1,14 @@
1
- import { mathFunctions as l } from "./math/index.js";
2
- import { statisticsFunctions as d } from "./statistics/index.js";
3
- import { textFunctions as p } from "./text/index.js";
4
- import { lookupFunctions as h } from "./lookup/index.js";
5
- import { timeFunctions as m } from "./time/index.js";
6
- import { BaseFunction as t, FormulaError as s, ensureBoolean as f, stripTable as c, Table as g, ensureNumber as y } from "@gridsheet/react-core";
7
- const T = `Returns TRUE if an odd number of the arguments are logically true.
1
+ import { BaseFunction as r, FormulaError as s, ensureBoolean as u, Sheet as l, ensureNumber as d, useBook as p, createBook as h } from "@gridsheet/react-core";
2
+ import { mathFunctions as m } from "./math/index.js";
3
+ import { statisticsFunctions as f } from "./statistics/index.js";
4
+ import { textFunctions as g } from "./text/index.js";
5
+ import { lookupFunctions as T } from "./lookup/index.js";
6
+ import { timeFunctions as y } from "./time/index.js";
7
+ const x = `Returns TRUE if an odd number of the arguments are logically true.
8
8
  Returns FALSE if an even number of the arguments are logically true.`;
9
- class A extends t {
9
+ class A extends r {
10
10
  constructor() {
11
- super(...arguments), this.example = "XOR(A1=1, A2=2)", this.description = T, this.defs = [
11
+ super(...arguments), this.example = "XOR(A1=1, A2=2)", this.description = x, this.defs = [
12
12
  { name: "expression", description: "Logical expressions to evaluate.", acceptedTypes: ["boolean"], variadic: !0 }
13
13
  ], this.category = "logical";
14
14
  }
@@ -16,9 +16,9 @@ class A extends t {
16
16
  return e.reduce((n, i) => n !== i, !1);
17
17
  }
18
18
  }
19
- const x = "Returns the first argument if it is not a #N/A error, otherwise returns the second argument.", a = class a extends t {
19
+ const v = "Returns the first argument if it is not a #N/A error, otherwise returns the second argument.", a = class a extends r {
20
20
  constructor() {
21
- super(...arguments), this.example = 'IFNA(A1, "N/A error occurred")', this.description = x, this.defs = [
21
+ super(...arguments), this.example = 'IFNA(A1, "N/A error occurred")', this.description = v, this.defs = [
22
22
  {
23
23
  name: "value",
24
24
  description: "The value to return if it is not a #N/A error.",
@@ -39,50 +39,37 @@ const x = "Returns the first argument if it is not a #N/A error, otherwise retur
39
39
  };
40
40
  a.__name = "IFNA";
41
41
  let o = a;
42
- const v = `Evaluates multiple conditions and returns the value corresponding to the first TRUE condition.
42
+ const R = `Evaluates multiple conditions and returns the value corresponding to the first TRUE condition.
43
43
  Arguments must be supplied in (condition, value) pairs.`;
44
- class R extends t {
45
- constructor(e) {
46
- super(e), this.example = 'IFS(A1>90, "A", A1>70, "B", A1>50, "C")', this.description = v, this.defs = [
47
- { name: "condition1", description: "First condition to evaluate.", acceptedTypes: ["boolean"] },
48
- { name: "value1", description: "Value to return if condition1 is TRUE.", acceptedTypes: ["any"] },
49
- {
50
- name: "condition2",
51
- description: "Additional conditions.",
52
- acceptedTypes: ["boolean"],
53
- optional: !0,
54
- variadic: !0
55
- },
56
- {
57
- name: "value2",
58
- description: "Additional values.",
59
- acceptedTypes: ["any"],
60
- optional: !0,
61
- variadic: !0
62
- }
63
- ], this.category = "logical", this.lazyArgs = e.args;
44
+ class E extends r {
45
+ constructor() {
46
+ super(...arguments), this.example = 'IFS(A1>90, "A", A1>70, "B", A1>50, "C")', this.description = R, this.defs = [
47
+ { name: "condition", description: "Condition to evaluate.", acceptedTypes: ["boolean"], variadic: !0 },
48
+ { name: "value", description: "Value to return if condition is TRUE.", acceptedTypes: ["any"], variadic: !0 }
49
+ ], this.category = "logical";
64
50
  }
65
- call() {
66
- if (this.lazyArgs.length < 2)
51
+ validate(e) {
52
+ if (e.length < 2)
67
53
  throw new s("#N/A", "IFS requires at least one condition-value pair.");
68
- if (this.lazyArgs.length % 2 !== 0)
54
+ if (e.length % 2 !== 0)
69
55
  throw new s("#N/A", "IFS requires an even number of arguments (condition, value) pairs.");
70
- for (let e = 0; e < this.lazyArgs.length; e += 2) {
71
- const n = this.lazyArgs[e], i = this.lazyArgs[e + 1], u = n.evaluate({ table: this.table });
72
- if (f(c({ value: u })))
73
- return c({ value: i.evaluate({ table: this.table }) });
74
- }
56
+ for (let n = 0; n < e.length; n += 2)
57
+ if (u(e[n]))
58
+ return [e[n + 1]];
75
59
  throw new s("#N/A", "No condition in IFS was met.");
76
60
  }
61
+ main(e) {
62
+ return e;
63
+ }
77
64
  }
78
- const E = {
65
+ const F = {
79
66
  xor: A,
80
67
  ifna: o,
81
- ifs: R
82
- }, F = "Returns TRUE if the referenced cell contains a formula.";
83
- class N extends t {
68
+ ifs: E
69
+ }, N = "Returns TRUE if the referenced cell contains a formula.";
70
+ class I extends r {
84
71
  constructor() {
85
- super(...arguments), this.example = "ISFORMULA(A1)", this.description = F, this.defs = [
72
+ super(...arguments), this.example = "ISFORMULA(A1)", this.description = N, this.defs = [
86
73
  {
87
74
  name: "reference",
88
75
  description: "The cell reference to check for a formula.",
@@ -93,14 +80,14 @@ class N extends t {
93
80
  ], this.category = "information";
94
81
  }
95
82
  main(e) {
96
- const n = e.getCellByPoint({ y: e.top, x: e.left }, "SYSTEM"), i = n == null ? void 0 : n.value;
83
+ const n = e.getCell({ y: e.top, x: e.left }, { resolution: "SYSTEM" }), i = n == null ? void 0 : n.value;
97
84
  return typeof i == "string" && i.startsWith("=");
98
85
  }
99
86
  }
100
- const I = "Returns TRUE if the referenced cell is empty.";
101
- class b extends t {
87
+ const S = "Returns TRUE if the referenced cell is empty.";
88
+ class b extends r {
102
89
  constructor() {
103
- super(...arguments), this.example = "ISBLANK(A1)", this.description = I, this.defs = [
90
+ super(...arguments), this.example = "ISBLANK(A1)", this.description = S, this.defs = [
104
91
  {
105
92
  name: "value",
106
93
  description: "A reference to a cell to check for emptiness.",
@@ -113,10 +100,10 @@ class b extends t {
113
100
  return e == null || e === "";
114
101
  }
115
102
  }
116
- const S = "Returns TRUE if the value is any error other than #N/A.";
117
- class U extends t {
103
+ const k = "Returns TRUE if the value is any error other than #N/A.";
104
+ class U extends r {
118
105
  constructor() {
119
- super(...arguments), this.example = "ISERR(A1)", this.description = S, this.defs = [
106
+ super(...arguments), this.example = "ISERR(A1)", this.description = k, this.defs = [
120
107
  {
121
108
  name: "value",
122
109
  description: "The value to check for a non-#N/A error.",
@@ -129,10 +116,10 @@ class U extends t {
129
116
  return e instanceof Error ? !0 : s.is(e) && e.code !== "#N/A";
130
117
  }
131
118
  }
132
- const k = "Returns TRUE if the value is any error value.";
133
- class $ extends t {
119
+ const $ = "Returns TRUE if the value is any error value.";
120
+ class w extends r {
134
121
  constructor() {
135
- super(...arguments), this.example = "ISERROR(A1)", this.description = k, this.defs = [
122
+ super(...arguments), this.example = "ISERROR(A1)", this.description = $, this.defs = [
136
123
  {
137
124
  name: "value",
138
125
  description: "The value to check for an error.",
@@ -145,10 +132,10 @@ class $ extends t {
145
132
  return s.is(e) || e instanceof Error;
146
133
  }
147
134
  }
148
- const w = "Returns TRUE if the value is TRUE or FALSE.";
149
- class L extends t {
135
+ const L = "Returns TRUE if the value is TRUE or FALSE.";
136
+ class B extends r {
150
137
  constructor() {
151
- super(...arguments), this.example = "ISLOGICAL(TRUE)", this.description = w, this.defs = [
138
+ super(...arguments), this.example = "ISLOGICAL(TRUE)", this.description = L, this.defs = [
152
139
  {
153
140
  name: "value",
154
141
  description: "The value to check for being logical (TRUE or FALSE).",
@@ -161,10 +148,10 @@ class L extends t {
161
148
  return typeof e == "boolean";
162
149
  }
163
150
  }
164
- const B = "Returns TRUE if the value is the #N/A error value.";
165
- class z extends t {
151
+ const M = "Returns TRUE if the value is the #N/A error value.";
152
+ class O extends r {
166
153
  constructor() {
167
- super(...arguments), this.example = "ISNA(A1)", this.description = B, this.defs = [
154
+ super(...arguments), this.example = "ISNA(A1)", this.description = M, this.defs = [
168
155
  {
169
156
  name: "value",
170
157
  description: "The value to check for the #N/A error.",
@@ -177,10 +164,10 @@ class z extends t {
177
164
  return s.is(e) && e.code === "#N/A";
178
165
  }
179
166
  }
180
- const M = "Returns TRUE if the value is not a text string.";
181
- class O extends t {
167
+ const X = "Returns TRUE if the value is not a text string.";
168
+ class C extends r {
182
169
  constructor() {
183
- super(...arguments), this.example = "ISNONTEXT(A1)", this.description = M, this.defs = [
170
+ super(...arguments), this.example = "ISNONTEXT(A1)", this.description = X, this.defs = [
184
171
  {
185
172
  name: "value",
186
173
  description: "The value to check for being non-text.",
@@ -193,10 +180,10 @@ class O extends t {
193
180
  return typeof e != "string";
194
181
  }
195
182
  }
196
- const X = "Returns TRUE if the value is a text string.";
197
- class _ extends t {
183
+ const _ = "Returns TRUE if the value is a text string.";
184
+ class D extends r {
198
185
  constructor() {
199
- super(...arguments), this.example = "ISTEXT(A1)", this.description = X, this.defs = [
186
+ super(...arguments), this.example = "ISTEXT(A1)", this.description = _, this.defs = [
200
187
  {
201
188
  name: "value",
202
189
  description: "The value to check for being text.",
@@ -209,10 +196,10 @@ class _ extends t {
209
196
  return typeof e == "string";
210
197
  }
211
198
  }
212
- const C = "Returns TRUE if the value is a valid cell reference.";
213
- class D extends t {
199
+ const q = "Returns TRUE if the value is a valid cell reference.";
200
+ class G extends r {
214
201
  constructor() {
215
- super(...arguments), this.example = "ISREF(A1)", this.description = C, this.defs = [
202
+ super(...arguments), this.example = "ISREF(A1)", this.description = q, this.defs = [
216
203
  {
217
204
  name: "value",
218
205
  description: "The value to check for being a cell reference.",
@@ -223,13 +210,13 @@ class D extends t {
223
210
  ], this.category = "information";
224
211
  }
225
212
  main(e) {
226
- return g.is(e);
213
+ return l.is(e);
227
214
  }
228
215
  }
229
- const q = "Returns the argument provided as a number.";
230
- class G extends t {
216
+ const j = "Returns the argument provided as a number.";
217
+ class H extends r {
231
218
  constructor() {
232
- super(...arguments), this.example = "N(A1)", this.description = q, this.defs = [
219
+ super(...arguments), this.example = "N(A1)", this.description = j, this.defs = [
233
220
  {
234
221
  name: "value",
235
222
  description: "The value to convert to a number.",
@@ -245,25 +232,25 @@ class G extends t {
245
232
  if (e == null || e === "")
246
233
  return 0;
247
234
  try {
248
- return y(e);
235
+ return d(e);
249
236
  } catch {
250
237
  return 0;
251
238
  }
252
239
  }
253
240
  }
254
- const j = 'Returns the error value #N/A, meaning "value not available".';
255
- class H extends t {
241
+ const K = 'Returns the error value #N/A, meaning "value not available".';
242
+ class V extends r {
256
243
  constructor() {
257
- super(...arguments), this.example = "NA()", this.description = j, this.defs = [], this.category = "information";
244
+ super(...arguments), this.example = "NA()", this.description = K, this.defs = [], this.category = "information";
258
245
  }
259
246
  main() {
260
247
  throw new s("#N/A", "N/A");
261
248
  }
262
249
  }
263
- const K = "Returns TRUE if the value is a date.";
264
- class P extends t {
250
+ const W = "Returns TRUE if the value is a date.";
251
+ class Y extends r {
265
252
  constructor() {
266
- super(...arguments), this.example = "ISDATE(A1)", this.description = K, this.defs = [
253
+ super(...arguments), this.example = "ISDATE(A1)", this.description = W, this.defs = [
267
254
  {
268
255
  name: "value",
269
256
  description: "The value to check for being a date.",
@@ -276,10 +263,10 @@ class P extends t {
276
263
  return e instanceof Date && !isNaN(e.getTime());
277
264
  }
278
265
  }
279
- const V = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, W = "Returns TRUE if the value is a valid email address.";
280
- class Y extends t {
266
+ const z = /^[^\s@]+@[^\s@]+\.[^\s@]+$/, J = "Returns TRUE if the value is a valid email address.";
267
+ class P extends r {
281
268
  constructor() {
282
- super(...arguments), this.example = "ISEMAIL(A1)", this.description = W, this.defs = [
269
+ super(...arguments), this.example = "ISEMAIL(A1)", this.description = J, this.defs = [
283
270
  {
284
271
  name: "value",
285
272
  description: "The value to check for being a valid email address.",
@@ -289,44 +276,47 @@ class Y extends t {
289
276
  ], this.category = "information";
290
277
  }
291
278
  main(e) {
292
- return typeof e != "string" ? !1 : V.test(e);
279
+ return typeof e != "string" ? !1 : z.test(e);
293
280
  }
294
281
  }
295
- const J = "Returns the total number of sheets in the spreadsheet.";
296
- class Q extends t {
282
+ const Q = "Returns the total number of sheets in the spreadsheet.";
283
+ class Z extends r {
297
284
  constructor() {
298
- super(...arguments), this.example = "SHEETS()", this.description = J, this.defs = [], this.category = "information";
285
+ super(...arguments), this.example = "SHEETS()", this.description = Q, this.defs = [], this.category = "information";
299
286
  }
300
287
  main() {
301
- const e = this.table.wire.sheetIdsByName, n = Object.keys(e).length;
288
+ const e = this.sheet.registry.sheetIdsByName, n = Object.keys(e).length;
302
289
  return n === 0 ? 1 : n;
303
290
  }
304
291
  }
305
- const Z = {
306
- isformula: N,
292
+ const ee = {
293
+ isformula: I,
307
294
  isblank: b,
308
295
  iserr: U,
309
- iserror: $,
310
- islogical: L,
311
- isna: z,
312
- isnontext: O,
313
- istext: _,
314
- isref: D,
315
- n: G,
316
- na: H,
317
- isdate: P,
318
- isemail: Y,
319
- sheets: Q
320
- }, ae = {
321
- ...l,
322
- ...d,
323
- ...p,
324
- ...h,
296
+ iserror: w,
297
+ islogical: B,
298
+ isna: O,
299
+ isnontext: C,
300
+ istext: D,
301
+ isref: G,
302
+ n: H,
303
+ na: V,
304
+ isdate: Y,
305
+ isemail: P,
306
+ sheets: Z
307
+ }, c = {
325
308
  ...m,
326
- ...E,
327
- ...Z
328
- };
309
+ ...f,
310
+ ...g,
311
+ ...T,
312
+ ...y,
313
+ ...F,
314
+ ...ee
315
+ }, ae = ({ additionalFunctions: t, ...e } = {}) => p({ ...e, additionalFunctions: { ...c, ...t } }), ce = ({ additionalFunctions: t, ...e } = {}) => h({ ...e, additionalFunctions: { ...c, ...t } });
329
316
  export {
330
- ae as allFunctions,
331
- ae as default
317
+ c as allFunctions,
318
+ ce as createSpellbook,
319
+ c as default,
320
+ ae as useSpellbook
332
321
  };
322
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../src/logical/xor.ts","../src/logical/ifna.ts","../src/logical/ifs.ts","../src/logical/index.ts","../src/information/isformula.ts","../src/information/isblank.ts","../src/information/iserr.ts","../src/information/iserror.ts","../src/information/islogical.ts","../src/information/isna.ts","../src/information/isnontext.ts","../src/information/istext.ts","../src/information/isref.ts","../src/information/n.ts","../src/information/na.ts","../src/information/isdate.ts","../src/information/isemail.ts","../src/information/sheets.ts","../src/information/index.ts","../src/index.ts"],"sourcesContent":["import { FormulaError } from '@gridsheet/react-core';\nimport { BaseFunction, type FunctionArgumentDefinition } from '@gridsheet/react-core';\nimport { ensureBoolean } from '@gridsheet/react-core';\nimport type { FunctionCategory } from '@gridsheet/react-core';\n\nconst description = `Returns TRUE if an odd number of the arguments are logically true.\nReturns FALSE if an even number of the arguments are logically true.`;\n\nexport class XorFunction extends BaseFunction {\n example = 'XOR(A1=1, A2=2)';\n description = description;\n defs: FunctionArgumentDefinition[] = [\n { name: 'expression', description: 'Logical expressions to evaluate.', acceptedTypes: ['boolean'], variadic: true },\n ];\n category: FunctionCategory = 'logical';\n\n protected main(...values: boolean[]) {\n // XOR is true when an odd number of arguments are true\n return values.reduce((acc, val) => acc !== val, false as boolean);\n }\n}\n","import { BaseFunction, FormulaError } from '@gridsheet/react-core';\nimport { type FunctionArgumentDefinition } from '@gridsheet/react-core';\n\nconst description = `Returns the first argument if it is not a #N/A error, otherwise returns the second argument.`;\n\nexport class IfnaFunction extends BaseFunction {\n static __name = 'IFNA';\n example = 'IFNA(A1, \"N/A error occurred\")';\n description = description;\n defs: FunctionArgumentDefinition[] = [\n {\n name: 'value',\n description: 'The value to return if it is not a #N/A error.',\n acceptedTypes: ['any'],\n errorTolerant: true,\n },\n {\n name: 'value_if_na',\n description: 'The value to return if the first argument is a #N/A error.',\n optional: true,\n acceptedTypes: ['any'],\n },\n ];\n\n category = 'logical' as const;\n\n protected main(value: any, valueIfNa?: any) {\n if (FormulaError.is(value) && value.code === '#N/A') {\n return valueIfNa;\n }\n return value;\n }\n}\n","import { BaseFunction, FormulaError } from '@gridsheet/react-core';\nimport { type FunctionArgumentDefinition } from '@gridsheet/react-core';\nimport { ensureBoolean } from '@gridsheet/react-core';\n\nconst description = `Evaluates multiple conditions and returns the value corresponding to the first TRUE condition.\nArguments must be supplied in (condition, value) pairs.`;\n\nexport class IfsFunction extends BaseFunction {\n example = 'IFS(A1>90, \"A\", A1>70, \"B\", A1>50, \"C\")';\n description = description;\n defs: FunctionArgumentDefinition[] = [\n { name: 'condition', description: 'Condition to evaluate.', acceptedTypes: ['boolean'], variadic: true },\n { name: 'value', description: 'Value to return if condition is TRUE.', acceptedTypes: ['any'], variadic: true },\n ];\n category = 'logical' as const;\n\n protected validate(args: any[]): any[] {\n if (args.length < 2) {\n throw new FormulaError('#N/A', 'IFS requires at least one condition-value pair.');\n }\n if (args.length % 2 !== 0) {\n throw new FormulaError('#N/A', 'IFS requires an even number of arguments (condition, value) pairs.');\n }\n for (let i = 0; i < args.length; i += 2) {\n if (ensureBoolean(args[i])) {\n return [args[i + 1]];\n }\n }\n throw new FormulaError('#N/A', 'No condition in IFS was met.');\n }\n\n protected main(result: any) {\n return result;\n }\n}\n","import type { FunctionMapping } from '@gridsheet/react-core';\nimport { XorFunction } from './xor';\nimport { IfnaFunction } from './ifna';\nimport { IfsFunction } from './ifs';\n\nexport const logicalFunctions: FunctionMapping = {\n xor: XorFunction,\n ifna: IfnaFunction,\n ifs: IfsFunction,\n};\n\nexport default logicalFunctions;\n","import { BaseFunction, type FunctionArgumentDefinition } from '@gridsheet/react-core';\nimport { Sheet } from '@gridsheet/react-core';\nimport type { FunctionCategory } from '@gridsheet/react-core';\n\nconst description = `Returns TRUE if the referenced cell contains a formula.`;\n\nexport class IsformulaFunction extends BaseFunction {\n example = 'ISFORMULA(A1)';\n description = description;\n defs: FunctionArgumentDefinition[] = [\n {\n name: 'reference',\n description: 'The cell reference to check for a formula.',\n acceptedTypes: ['reference'],\n takesMatrix: true,\n errorTolerant: true,\n },\n ];\n category: FunctionCategory = 'information';\n\n protected main(ref: Sheet) {\n const cell = ref.getCell({ y: ref.top, x: ref.left }, { resolution: 'SYSTEM' });\n const raw = cell?.value;\n return typeof raw === 'string' && raw.startsWith('=');\n }\n}\n","import { BaseFunction, type FunctionArgumentDefinition } from '@gridsheet/react-core';\nimport type { FunctionCategory } from '@gridsheet/react-core';\n\nconst description = `Returns TRUE if the referenced cell is empty.`;\n\nexport class IsblankFunction extends BaseFunction {\n example = 'ISBLANK(A1)';\n description = description;\n defs: FunctionArgumentDefinition[] = [\n {\n name: 'value',\n description: 'A reference to a cell to check for emptiness.',\n acceptedTypes: ['any'],\n errorTolerant: true,\n },\n ];\n category: FunctionCategory = 'information';\n\n protected main(value: any) {\n return value === null || value === undefined || value === '';\n }\n}\n","import { BaseFunction, FormulaError } from '@gridsheet/react-core';\nimport type { FunctionArgumentDefinition, FunctionProps } from '@gridsheet/react-core';\nimport type { FunctionCategory } from '@gridsheet/react-core';\nimport { Sheet } from '@gridsheet/react-core';\n\nconst description = `Returns TRUE if the value is any error other than #N/A.`;\n\nexport class IserrFunction extends BaseFunction {\n example = 'ISERR(A1)';\n description = description;\n defs: FunctionArgumentDefinition[] = [\n {\n name: 'value',\n description: 'The value to check for a non-#N/A error.',\n acceptedTypes: ['any'],\n errorTolerant: true,\n },\n ];\n category: FunctionCategory = 'information';\n\n protected main(value: any) {\n if (value instanceof Error) {\n return true;\n }\n return FormulaError.is(value) && value.code !== '#N/A';\n }\n}\n","import { BaseFunction, FormulaError } from '@gridsheet/react-core';\nimport type { FunctionArgumentDefinition, FunctionProps } from '@gridsheet/react-core';\nimport type { FunctionCategory } from '@gridsheet/react-core';\n\nconst description = `Returns TRUE if the value is any error value.`;\n\nexport class IserrorFunction extends BaseFunction {\n example = 'ISERROR(A1)';\n description = description;\n defs: FunctionArgumentDefinition[] = [\n {\n name: 'value',\n description: 'The value to check for an error.',\n acceptedTypes: ['any'],\n errorTolerant: true,\n },\n ];\n category: FunctionCategory = 'information';\n\n protected main(value: any) {\n return FormulaError.is(value) || value instanceof Error;\n }\n}\n","import { FormulaError } from '@gridsheet/react-core';\nimport { BaseFunction, type FunctionArgumentDefinition } from '@gridsheet/react-core';\nimport type { FunctionCategory } from '@gridsheet/react-core';\n\nconst description = `Returns TRUE if the value is TRUE or FALSE.`;\n\nexport class IslogicalFunction extends BaseFunction {\n example = 'ISLOGICAL(TRUE)';\n description = description;\n defs: FunctionArgumentDefinition[] = [\n {\n name: 'value',\n description: 'The value to check for being logical (TRUE or FALSE).',\n acceptedTypes: ['any'],\n errorTolerant: true,\n },\n ];\n category: FunctionCategory = 'information';\n\n protected main(value: any) {\n return typeof value === 'boolean';\n }\n}\n","import { BaseFunction, FormulaError } from '@gridsheet/react-core';\nimport type { FunctionArgumentDefinition, FunctionProps } from '@gridsheet/react-core';\nimport type { FunctionCategory } from '@gridsheet/react-core';\nimport { Sheet } from '@gridsheet/react-core';\n\nconst description = `Returns TRUE if the value is the #N/A error value.`;\n\nexport class IsnaFunction extends BaseFunction {\n example = 'ISNA(A1)';\n description = description;\n defs: FunctionArgumentDefinition[] = [\n {\n name: 'value',\n description: 'The value to check for the #N/A error.',\n acceptedTypes: ['any'],\n errorTolerant: true,\n },\n ];\n category: FunctionCategory = 'information';\n\n protected main(value: any) {\n return FormulaError.is(value) && value.code === '#N/A';\n }\n}\n","import { FormulaError } from '@gridsheet/react-core';\nimport { BaseFunction, type FunctionArgumentDefinition } from '@gridsheet/react-core';\nimport type { FunctionCategory } from '@gridsheet/react-core';\n\nconst description = `Returns TRUE if the value is not a text string.`;\n\nexport class IsnontextFunction extends BaseFunction {\n example = 'ISNONTEXT(A1)';\n description = description;\n defs: FunctionArgumentDefinition[] = [\n {\n name: 'value',\n description: 'The value to check for being non-text.',\n acceptedTypes: ['any'],\n errorTolerant: true,\n },\n ];\n category: FunctionCategory = 'information';\n\n protected main(value: any) {\n return typeof value !== 'string';\n }\n}\n","import { FormulaError } from '@gridsheet/react-core';\nimport { BaseFunction, type FunctionArgumentDefinition } from '@gridsheet/react-core';\nimport type { FunctionCategory } from '@gridsheet/react-core';\n\nconst description = `Returns TRUE if the value is a text string.`;\n\nexport class IstextFunction extends BaseFunction {\n example = 'ISTEXT(A1)';\n description = description;\n defs: FunctionArgumentDefinition[] = [\n {\n name: 'value',\n description: 'The value to check for being text.',\n acceptedTypes: ['any'],\n errorTolerant: true,\n },\n ];\n category: FunctionCategory = 'information';\n\n protected main(value: any) {\n return typeof value === 'string';\n }\n}\n","import { BaseFunction, type FunctionArgumentDefinition } from '@gridsheet/react-core';\nimport { Sheet } from '@gridsheet/react-core';\nimport type { FunctionCategory } from '@gridsheet/react-core';\n\nconst description = `Returns TRUE if the value is a valid cell reference.`;\n\nexport class IsrefFunction extends BaseFunction {\n example = 'ISREF(A1)';\n description = description;\n defs: FunctionArgumentDefinition[] = [\n {\n name: 'value',\n description: 'The value to check for being a cell reference.',\n acceptedTypes: ['any'],\n takesMatrix: true,\n errorTolerant: true,\n },\n ];\n category: FunctionCategory = 'information';\n\n protected main(value: any) {\n return Sheet.is(value);\n }\n}\n","import { BaseFunction, type FunctionArgumentDefinition } from '@gridsheet/react-core';\nimport { ensureNumber } from '@gridsheet/react-core';\nimport type { FunctionCategory } from '@gridsheet/react-core';\n\nconst description = `Returns the argument provided as a number.`;\n\nexport class NFunction extends BaseFunction {\n example = 'N(A1)';\n description = description;\n defs: FunctionArgumentDefinition[] = [\n {\n name: 'value',\n description: 'The value to convert to a number.',\n acceptedTypes: ['any'],\n },\n ];\n category: FunctionCategory = 'information';\n\n protected main(value: any) {\n if (typeof value === 'boolean') {\n return value ? 1 : 0;\n }\n if (value instanceof Date) {\n return value.getTime();\n }\n if (value === null || value === undefined || value === '') {\n return 0;\n }\n try {\n return ensureNumber(value);\n } catch {\n return 0;\n }\n }\n}\n","import { FormulaError } from '@gridsheet/react-core';\nimport { BaseFunction, type FunctionArgumentDefinition } from '@gridsheet/react-core';\nimport type { FunctionCategory } from '@gridsheet/react-core';\n\nconst description = `Returns the error value #N/A, meaning \"value not available\".`;\n\nexport class NaFunction extends BaseFunction {\n example = 'NA()';\n description = description;\n defs: FunctionArgumentDefinition[] = [];\n category: FunctionCategory = 'information';\n\n protected main() {\n throw new FormulaError('#N/A', 'N/A');\n }\n}\n","import { FormulaError } from '@gridsheet/react-core';\nimport { BaseFunction, type FunctionArgumentDefinition } from '@gridsheet/react-core';\nimport type { FunctionCategory } from '@gridsheet/react-core';\n\nconst description = `Returns TRUE if the value is a date.`;\n\nexport class IsdateFunction extends BaseFunction {\n example = 'ISDATE(A1)';\n description = description;\n defs: FunctionArgumentDefinition[] = [\n {\n name: 'value',\n description: 'The value to check for being a date.',\n acceptedTypes: ['any'],\n errorTolerant: true,\n },\n ];\n category: FunctionCategory = 'information';\n\n protected main(value: any) {\n return value instanceof Date && !isNaN(value.getTime());\n }\n}\n","import { FormulaError } from '@gridsheet/react-core';\nimport { BaseFunction, type FunctionArgumentDefinition } from '@gridsheet/react-core';\nimport type { FunctionCategory } from '@gridsheet/react-core';\n\nconst EMAIL_REGEX = /^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/;\n\nconst description = `Returns TRUE if the value is a valid email address.`;\n\nexport class IsemailFunction extends BaseFunction {\n example = 'ISEMAIL(A1)';\n description = description;\n defs: FunctionArgumentDefinition[] = [\n {\n name: 'value',\n description: 'The value to check for being a valid email address.',\n acceptedTypes: ['any'],\n errorTolerant: true,\n },\n ];\n category: FunctionCategory = 'information';\n\n protected main(value: any) {\n if (typeof value !== 'string') {\n return false;\n }\n return EMAIL_REGEX.test(value);\n }\n}\n","import { FormulaError } from '@gridsheet/react-core';\nimport { BaseFunction, type FunctionArgumentDefinition } from '@gridsheet/react-core';\nimport type { FunctionCategory } from '@gridsheet/react-core';\n\nconst description = `Returns the total number of sheets in the spreadsheet.`;\n\nexport class SheetsFunction extends BaseFunction {\n example = 'SHEETS()';\n description = description;\n defs: FunctionArgumentDefinition[] = [];\n category: FunctionCategory = 'information';\n\n protected main() {\n const sheetIdsByName = this.sheet.registry.sheetIdsByName;\n const count = Object.keys(sheetIdsByName).length;\n // If wire has no registered sheets (e.g. standalone sheet), return 1\n return count === 0 ? 1 : count;\n }\n}\n","import type { FunctionMapping } from '@gridsheet/react-core';\nimport { IsformulaFunction } from './isformula';\nimport { IsblankFunction } from './isblank';\nimport { IserrFunction } from './iserr';\nimport { IserrorFunction } from './iserror';\nimport { IslogicalFunction } from './islogical';\nimport { IsnaFunction } from './isna';\nimport { IsnontextFunction } from './isnontext';\nimport { IstextFunction } from './istext';\nimport { IsrefFunction } from './isref';\nimport { NFunction } from './n';\nimport { NaFunction } from './na';\nimport { IsdateFunction } from './isdate';\nimport { IsemailFunction } from './isemail';\nimport { SheetsFunction } from './sheets';\n\nexport const informationFunctions: FunctionMapping = {\n isformula: IsformulaFunction,\n isblank: IsblankFunction,\n iserr: IserrFunction,\n iserror: IserrorFunction,\n islogical: IslogicalFunction,\n isna: IsnaFunction,\n isnontext: IsnontextFunction,\n istext: IstextFunction,\n isref: IsrefFunction,\n n: NFunction,\n na: NaFunction,\n isdate: IsdateFunction,\n isemail: IsemailFunction,\n sheets: SheetsFunction,\n};\n\nexport default informationFunctions;\n","import type { FunctionMapping, RegistryProps } from '@gridsheet/react-core';\nimport { useBook, createBook } from '@gridsheet/react-core';\nimport { mathFunctions } from './math';\nimport { statisticsFunctions } from './statistics';\nimport { textFunctions } from './text';\nimport { lookupFunctions } from './lookup';\nimport { timeFunctions } from './time';\nimport { logicalFunctions } from './logical';\nimport { informationFunctions } from './information';\n\n/** All extended functions combined into a single FunctionMapping. */\nexport const allFunctions: FunctionMapping = {\n ...mathFunctions,\n ...statisticsFunctions,\n ...textFunctions,\n ...lookupFunctions,\n ...timeFunctions,\n ...logicalFunctions,\n ...informationFunctions,\n};\n\n/** useBook with all extended functions pre-loaded. User-supplied additionalFunctions are merged on top. */\nexport const useSpellbook = ({ additionalFunctions, ...rest }: RegistryProps = {}) =>\n useBook({ ...rest, additionalFunctions: { ...allFunctions, ...additionalFunctions } });\n\n/** createBook with all extended functions pre-loaded. User-supplied additionalFunctions are merged on top. */\nexport const createSpellbook = ({ additionalFunctions, ...rest }: RegistryProps = {}) =>\n createBook({ ...rest, additionalFunctions: { ...allFunctions, ...additionalFunctions } });\n\nexport default allFunctions;\n"],"names":["description","XorFunction","BaseFunction","values","acc","val","_IfnaFunction","value","valueIfNa","FormulaError","IfnaFunction","IfsFunction","args","i","ensureBoolean","result","logicalFunctions","IsformulaFunction","ref","cell","raw","IsblankFunction","IserrFunction","IserrorFunction","IslogicalFunction","IsnaFunction","IsnontextFunction","IstextFunction","IsrefFunction","Sheet","NFunction","ensureNumber","NaFunction","IsdateFunction","EMAIL_REGEX","IsemailFunction","SheetsFunction","sheetIdsByName","count","informationFunctions","allFunctions","mathFunctions","statisticsFunctions","textFunctions","lookupFunctions","timeFunctions","useSpellbook","additionalFunctions","rest","useBook","createSpellbook","createBook"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=isblank.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isblank.spec.d.ts","sourceRoot":"","sources":["../../src/information/isblank.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=isdate.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isdate.spec.d.ts","sourceRoot":"","sources":["../../src/information/isdate.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=isemail.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isemail.spec.d.ts","sourceRoot":"","sources":["../../src/information/isemail.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=iserr.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"iserr.spec.d.ts","sourceRoot":"","sources":["../../src/information/iserr.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=iserror.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"iserror.spec.d.ts","sourceRoot":"","sources":["../../src/information/iserror.spec.ts"],"names":[],"mappings":""}
@@ -1,9 +1,9 @@
1
- import { BaseFunction, FunctionArgumentDefinition, Table, FunctionCategory } from '@gridsheet/react-core';
1
+ import { BaseFunction, FunctionArgumentDefinition, Sheet, FunctionCategory } from '@gridsheet/react-core';
2
2
  export declare class IsformulaFunction extends BaseFunction {
3
3
  example: string;
4
4
  description: string;
5
5
  defs: FunctionArgumentDefinition[];
6
6
  category: FunctionCategory;
7
- protected main(ref: Table): boolean;
7
+ protected main(ref: Sheet): boolean;
8
8
  }
9
9
  //# sourceMappingURL=isformula.d.ts.map
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=isformula.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isformula.spec.d.ts","sourceRoot":"","sources":["../../src/information/isformula.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=islogical.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"islogical.spec.d.ts","sourceRoot":"","sources":["../../src/information/islogical.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=isna.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isna.spec.d.ts","sourceRoot":"","sources":["../../src/information/isna.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=isnontext.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isnontext.spec.d.ts","sourceRoot":"","sources":["../../src/information/isnontext.spec.ts"],"names":[],"mappings":""}
@@ -1,9 +1,9 @@
1
- import { BaseFunction, FunctionArgumentDefinition, Table, FunctionCategory } from '@gridsheet/react-core';
1
+ import { BaseFunction, FunctionArgumentDefinition, Sheet, FunctionCategory } from '@gridsheet/react-core';
2
2
  export declare class IsrefFunction extends BaseFunction {
3
3
  example: string;
4
4
  description: string;
5
5
  defs: FunctionArgumentDefinition[];
6
6
  category: FunctionCategory;
7
- protected main(value: any): value is Table;
7
+ protected main(value: any): value is Sheet;
8
8
  }
9
9
  //# sourceMappingURL=isref.d.ts.map
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=isref.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isref.spec.d.ts","sourceRoot":"","sources":["../../src/information/isref.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=istext.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"istext.spec.d.ts","sourceRoot":"","sources":["../../src/information/istext.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=n.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"n.spec.d.ts","sourceRoot":"","sources":["../../src/information/n.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=na.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"na.spec.d.ts","sourceRoot":"","sources":["../../src/information/na.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=sheets.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sheets.spec.d.ts","sourceRoot":"","sources":["../../src/information/sheets.spec.ts"],"names":[],"mappings":""}
@@ -1,11 +1,10 @@
1
- import { BaseFunction, FunctionProps, FunctionArgumentDefinition } from '@gridsheet/react-core';
1
+ import { BaseFunction, FunctionArgumentDefinition } from '@gridsheet/react-core';
2
2
  export declare class IfsFunction extends BaseFunction {
3
3
  example: string;
4
4
  description: string;
5
5
  defs: FunctionArgumentDefinition[];
6
6
  category: "logical";
7
- private lazyArgs;
8
- constructor(props: FunctionProps);
9
- call(): any;
7
+ protected validate(args: any[]): any[];
8
+ protected main(result: any): any;
10
9
  }
11
10
  //# sourceMappingURL=ifs.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ifs.d.ts","sourceRoot":"","sources":["../../src/logical/ifs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAgB,MAAM,uBAAuB,CAAC;AACnE,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AAO5F,qBAAa,WAAY,SAAQ,YAAY;IAC3C,OAAO,SAA6C;IACpD,WAAW,SAAe;IAC1B,IAAI,EAAE,0BAA0B,EAAE,CAiBhC;IACF,QAAQ,EAAG,SAAS,CAAU;IAG9B,OAAO,CAAC,QAAQ,CAAwB;gBAE5B,KAAK,EAAE,aAAa;IAKzB,IAAI;CAsBZ"}
1
+ {"version":3,"file":"ifs.d.ts","sourceRoot":"","sources":["../../src/logical/ifs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAgB,MAAM,uBAAuB,CAAC;AACnE,OAAO,EAAE,KAAK,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AAMxE,qBAAa,WAAY,SAAQ,YAAY;IAC3C,OAAO,SAA6C;IACpD,WAAW,SAAe;IAC1B,IAAI,EAAE,0BAA0B,EAAE,CAGhC;IACF,QAAQ,EAAG,SAAS,CAAU;IAE9B,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE;IAetC,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG;CAG3B"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=column.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"column.spec.d.ts","sourceRoot":"","sources":["../../src/lookup/column.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=columns.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"columns.spec.d.ts","sourceRoot":"","sources":["../../src/lookup/columns.spec.ts"],"names":[],"mappings":""}