@gridsheet/functions 3.0.0-rc.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.
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +332 -0
- package/dist/information/index.d.ts +4 -0
- package/dist/information/index.d.ts.map +1 -0
- package/dist/information/isblank.d.ts +9 -0
- package/dist/information/isblank.d.ts.map +1 -0
- package/dist/information/isdate.d.ts +9 -0
- package/dist/information/isdate.d.ts.map +1 -0
- package/dist/information/isemail.d.ts +9 -0
- package/dist/information/isemail.d.ts.map +1 -0
- package/dist/information/iserr.d.ts +9 -0
- package/dist/information/iserr.d.ts.map +1 -0
- package/dist/information/iserror.d.ts +9 -0
- package/dist/information/iserror.d.ts.map +1 -0
- package/dist/information/isformula.d.ts +9 -0
- package/dist/information/isformula.d.ts.map +1 -0
- package/dist/information/islogical.d.ts +9 -0
- package/dist/information/islogical.d.ts.map +1 -0
- package/dist/information/isna.d.ts +9 -0
- package/dist/information/isna.d.ts.map +1 -0
- package/dist/information/isnontext.d.ts +9 -0
- package/dist/information/isnontext.d.ts.map +1 -0
- package/dist/information/isref.d.ts +9 -0
- package/dist/information/isref.d.ts.map +1 -0
- package/dist/information/istext.d.ts +9 -0
- package/dist/information/istext.d.ts.map +1 -0
- package/dist/information/n.d.ts +9 -0
- package/dist/information/n.d.ts.map +1 -0
- package/dist/information/na.d.ts +9 -0
- package/dist/information/na.d.ts.map +1 -0
- package/dist/information/sheets.d.ts +9 -0
- package/dist/information/sheets.d.ts.map +1 -0
- package/dist/logical/ifna.d.ts +10 -0
- package/dist/logical/ifna.d.ts.map +1 -0
- package/dist/logical/ifs.d.ts +11 -0
- package/dist/logical/ifs.d.ts.map +1 -0
- package/dist/logical/index.d.ts +4 -0
- package/dist/logical/index.d.ts.map +1 -0
- package/dist/logical/xor.d.ts +9 -0
- package/dist/logical/xor.d.ts.map +1 -0
- package/dist/lookup/column.d.ts +12 -0
- package/dist/lookup/column.d.ts.map +1 -0
- package/dist/lookup/columns.d.ts +9 -0
- package/dist/lookup/columns.d.ts.map +1 -0
- package/dist/lookup/hlookup.d.ts +10 -0
- package/dist/lookup/hlookup.d.ts.map +1 -0
- package/dist/lookup/index.d.ts +4 -0
- package/dist/lookup/index.d.ts.map +1 -0
- package/dist/lookup/index.js +377 -0
- package/dist/lookup/indexFn.d.ts +10 -0
- package/dist/lookup/indexFn.d.ts.map +1 -0
- package/dist/lookup/match.d.ts +10 -0
- package/dist/lookup/match.d.ts.map +1 -0
- package/dist/lookup/row.d.ts +12 -0
- package/dist/lookup/row.d.ts.map +1 -0
- package/dist/lookup/rows.d.ts +9 -0
- package/dist/lookup/rows.d.ts.map +1 -0
- package/dist/lookup/sheet.d.ts +9 -0
- package/dist/lookup/sheet.d.ts.map +1 -0
- package/dist/lookup/vlookup.d.ts +10 -0
- package/dist/lookup/vlookup.d.ts.map +1 -0
- package/dist/math/__matrix_base.d.ts +15 -0
- package/dist/math/__matrix_base.d.ts.map +1 -0
- package/dist/math/acos.d.ts +9 -0
- package/dist/math/acos.d.ts.map +1 -0
- package/dist/math/asin.d.ts +9 -0
- package/dist/math/asin.d.ts.map +1 -0
- package/dist/math/atan.d.ts +9 -0
- package/dist/math/atan.d.ts.map +1 -0
- package/dist/math/atan2.d.ts +9 -0
- package/dist/math/atan2.d.ts.map +1 -0
- package/dist/math/base.d.ts +10 -0
- package/dist/math/base.d.ts.map +1 -0
- package/dist/math/cos.d.ts +9 -0
- package/dist/math/cos.d.ts.map +1 -0
- package/dist/math/countif.d.ts +9 -0
- package/dist/math/countif.d.ts.map +1 -0
- package/dist/math/countifs.d.ts +10 -0
- package/dist/math/countifs.d.ts.map +1 -0
- package/dist/math/even.d.ts +9 -0
- package/dist/math/even.d.ts.map +1 -0
- package/dist/math/exp.d.ts +10 -0
- package/dist/math/exp.d.ts.map +1 -0
- package/dist/math/fact.d.ts +9 -0
- package/dist/math/fact.d.ts.map +1 -0
- package/dist/math/index.d.ts +4 -0
- package/dist/math/index.d.ts.map +1 -0
- package/dist/math/index.js +1019 -0
- package/dist/math/int.d.ts +9 -0
- package/dist/math/int.d.ts.map +1 -0
- package/dist/math/iseven.d.ts +9 -0
- package/dist/math/iseven.d.ts.map +1 -0
- package/dist/math/isodd.d.ts +9 -0
- package/dist/math/isodd.d.ts.map +1 -0
- package/dist/math/lcm.d.ts +10 -0
- package/dist/math/lcm.d.ts.map +1 -0
- package/dist/math/ln.d.ts +9 -0
- package/dist/math/ln.d.ts.map +1 -0
- package/dist/math/log.d.ts +9 -0
- package/dist/math/log.d.ts.map +1 -0
- package/dist/math/log10.d.ts +9 -0
- package/dist/math/log10.d.ts.map +1 -0
- package/dist/math/mdeterm.d.ts +11 -0
- package/dist/math/mdeterm.d.ts.map +1 -0
- package/dist/math/minverse.d.ts +12 -0
- package/dist/math/minverse.d.ts.map +1 -0
- package/dist/math/mmult.d.ts +11 -0
- package/dist/math/mmult.d.ts.map +1 -0
- package/dist/math/mod.d.ts +10 -0
- package/dist/math/mod.d.ts.map +1 -0
- package/dist/math/odd.d.ts +9 -0
- package/dist/math/odd.d.ts.map +1 -0
- package/dist/math/pi.d.ts +9 -0
- package/dist/math/pi.d.ts.map +1 -0
- package/dist/math/product.d.ts +10 -0
- package/dist/math/product.d.ts.map +1 -0
- package/dist/math/radians.d.ts +9 -0
- package/dist/math/radians.d.ts.map +1 -0
- package/dist/math/rand.d.ts +9 -0
- package/dist/math/rand.d.ts.map +1 -0
- package/dist/math/round.d.ts +9 -0
- package/dist/math/round.d.ts.map +1 -0
- package/dist/math/rounddown.d.ts +9 -0
- package/dist/math/rounddown.d.ts.map +1 -0
- package/dist/math/roundup.d.ts +9 -0
- package/dist/math/roundup.d.ts.map +1 -0
- package/dist/math/sequence.d.ts +11 -0
- package/dist/math/sequence.d.ts.map +1 -0
- package/dist/math/sign.d.ts +9 -0
- package/dist/math/sign.d.ts.map +1 -0
- package/dist/math/sin.d.ts +9 -0
- package/dist/math/sin.d.ts.map +1 -0
- package/dist/math/sqrt.d.ts +9 -0
- package/dist/math/sqrt.d.ts.map +1 -0
- package/dist/math/sumif.d.ts +9 -0
- package/dist/math/sumif.d.ts.map +1 -0
- package/dist/math/sumifs.d.ts +10 -0
- package/dist/math/sumifs.d.ts.map +1 -0
- package/dist/math/sumproduct.d.ts +10 -0
- package/dist/math/sumproduct.d.ts.map +1 -0
- package/dist/math/sumsq.d.ts +9 -0
- package/dist/math/sumsq.d.ts.map +1 -0
- package/dist/math/tan.d.ts +9 -0
- package/dist/math/tan.d.ts.map +1 -0
- package/dist/math/transpose.d.ts +11 -0
- package/dist/math/transpose.d.ts.map +1 -0
- package/dist/math/trunc.d.ts +9 -0
- package/dist/math/trunc.d.ts.map +1 -0
- package/dist/math/unaryPercent.d.ts +9 -0
- package/dist/math/unaryPercent.d.ts.map +1 -0
- package/dist/math/uplus.d.ts +9 -0
- package/dist/math/uplus.d.ts.map +1 -0
- package/dist/statistics/averageif.d.ts +9 -0
- package/dist/statistics/averageif.d.ts.map +1 -0
- package/dist/statistics/averageifs.d.ts +10 -0
- package/dist/statistics/averageifs.d.ts.map +1 -0
- package/dist/statistics/correl.d.ts +10 -0
- package/dist/statistics/correl.d.ts.map +1 -0
- package/dist/statistics/covariance_s.d.ts +10 -0
- package/dist/statistics/covariance_s.d.ts.map +1 -0
- package/dist/statistics/index.d.ts +4 -0
- package/dist/statistics/index.d.ts.map +1 -0
- package/dist/statistics/index.js +663 -0
- package/dist/statistics/median.d.ts +10 -0
- package/dist/statistics/median.d.ts.map +1 -0
- package/dist/statistics/mode_sngl.d.ts +10 -0
- package/dist/statistics/mode_sngl.d.ts.map +1 -0
- package/dist/statistics/percentile_inc.d.ts +10 -0
- package/dist/statistics/percentile_inc.d.ts.map +1 -0
- package/dist/statistics/quartile_inc.d.ts +10 -0
- package/dist/statistics/quartile_inc.d.ts.map +1 -0
- package/dist/statistics/rank_eq.d.ts +10 -0
- package/dist/statistics/rank_eq.d.ts.map +1 -0
- package/dist/statistics/rsq.d.ts +10 -0
- package/dist/statistics/rsq.d.ts.map +1 -0
- package/dist/statistics/stdev_p.d.ts +10 -0
- package/dist/statistics/stdev_p.d.ts.map +1 -0
- package/dist/statistics/stdev_s.d.ts +10 -0
- package/dist/statistics/stdev_s.d.ts.map +1 -0
- package/dist/statistics/t_test.d.ts +10 -0
- package/dist/statistics/t_test.d.ts.map +1 -0
- package/dist/statistics/var_p.d.ts +10 -0
- package/dist/statistics/var_p.d.ts.map +1 -0
- package/dist/statistics/var_s.d.ts +10 -0
- package/dist/statistics/var_s.d.ts.map +1 -0
- package/dist/text/char.d.ts +9 -0
- package/dist/text/char.d.ts.map +1 -0
- package/dist/text/clean.d.ts +9 -0
- package/dist/text/clean.d.ts.map +1 -0
- package/dist/text/concatenate.d.ts +9 -0
- package/dist/text/concatenate.d.ts.map +1 -0
- package/dist/text/exact.d.ts +9 -0
- package/dist/text/exact.d.ts.map +1 -0
- package/dist/text/index.d.ts +4 -0
- package/dist/text/index.d.ts.map +1 -0
- package/dist/text/index.js +261 -0
- package/dist/text/join.d.ts +10 -0
- package/dist/text/join.d.ts.map +1 -0
- package/dist/text/lenb.d.ts +9 -0
- package/dist/text/lenb.d.ts.map +1 -0
- package/dist/text/lower.d.ts +9 -0
- package/dist/text/lower.d.ts.map +1 -0
- package/dist/text/proper.d.ts +9 -0
- package/dist/text/proper.d.ts.map +1 -0
- package/dist/text/replace.d.ts +10 -0
- package/dist/text/replace.d.ts.map +1 -0
- package/dist/text/rept.d.ts +10 -0
- package/dist/text/rept.d.ts.map +1 -0
- package/dist/text/trim.d.ts +9 -0
- package/dist/text/trim.d.ts.map +1 -0
- package/dist/text/unichar.d.ts +9 -0
- package/dist/text/unichar.d.ts.map +1 -0
- package/dist/text/unicode.d.ts +9 -0
- package/dist/text/unicode.d.ts.map +1 -0
- package/dist/text/upper.d.ts +9 -0
- package/dist/text/upper.d.ts.map +1 -0
- package/dist/time/__utils.d.ts +6 -0
- package/dist/time/__utils.d.ts.map +1 -0
- package/dist/time/date.d.ts +9 -0
- package/dist/time/date.d.ts.map +1 -0
- package/dist/time/day.d.ts +9 -0
- package/dist/time/day.d.ts.map +1 -0
- package/dist/time/days.d.ts +9 -0
- package/dist/time/days.d.ts.map +1 -0
- package/dist/time/hour.d.ts +9 -0
- package/dist/time/hour.d.ts.map +1 -0
- package/dist/time/index.d.ts +4 -0
- package/dist/time/index.d.ts.map +1 -0
- package/dist/time/index.js +212 -0
- package/dist/time/minute.d.ts +9 -0
- package/dist/time/minute.d.ts.map +1 -0
- package/dist/time/month.d.ts +9 -0
- package/dist/time/month.d.ts.map +1 -0
- package/dist/time/second.d.ts +9 -0
- package/dist/time/second.d.ts.map +1 -0
- package/dist/time/time.d.ts +9 -0
- package/dist/time/time.d.ts.map +1 -0
- package/dist/time/today.d.ts +9 -0
- package/dist/time/today.d.ts.map +1 -0
- package/dist/time/workday.d.ts +9 -0
- package/dist/time/workday.d.ts.map +1 -0
- package/dist/time/year.d.ts +9 -0
- package/dist/time/year.d.ts.map +1 -0
- package/dist/types.d.ts +2 -0
- package/dist/types.d.ts.map +1 -0
- package/package.json +86 -0
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { BaseFunction, FunctionArgumentDefinition, FunctionCategory } from '@gridsheet/react-core';
|
|
2
|
+
export declare class DateFunction extends BaseFunction {
|
|
3
|
+
example: string;
|
|
4
|
+
description: string;
|
|
5
|
+
defs: FunctionArgumentDefinition[];
|
|
6
|
+
category: FunctionCategory;
|
|
7
|
+
protected main(year: number, month: number, day: number): Date;
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=date.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"date.d.ts","sourceRoot":"","sources":["../../src/time/date.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,KAAK,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AAEtF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAI9D,qBAAa,YAAa,SAAQ,YAAY;IAC5C,OAAO,SAAuB;IAC9B,WAAW,SAAe;IAC1B,IAAI,EAAE,0BAA0B,EAAE,CAQhC;IACF,QAAQ,EAAE,gBAAgB,CAAU;IAEpC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM;CAIxD"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { BaseFunction, FunctionArgumentDefinition, FunctionCategory } from '@gridsheet/react-core';
|
|
2
|
+
export declare class DayFunction extends BaseFunction {
|
|
3
|
+
example: string;
|
|
4
|
+
description: string;
|
|
5
|
+
defs: FunctionArgumentDefinition[];
|
|
6
|
+
category: FunctionCategory;
|
|
7
|
+
protected main(date: any): number;
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=day.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"day.d.ts","sourceRoot":"","sources":["../../src/time/day.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,KAAK,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AACtF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAK9D,qBAAa,WAAY,SAAQ,YAAY;IAC3C,OAAO,SAAa;IACpB,WAAW,SAAe;IAC1B,IAAI,EAAE,0BAA0B,EAAE,CAEhC;IACF,QAAQ,EAAE,gBAAgB,CAAU;IAEpC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG;CAGzB"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { BaseFunction, FunctionArgumentDefinition, FunctionCategory } from '@gridsheet/react-core';
|
|
2
|
+
export declare class DaysFunction extends BaseFunction {
|
|
3
|
+
example: string;
|
|
4
|
+
description: string;
|
|
5
|
+
defs: FunctionArgumentDefinition[];
|
|
6
|
+
category: FunctionCategory;
|
|
7
|
+
protected main(endDate: any, startDate: any): number;
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=days.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"days.d.ts","sourceRoot":"","sources":["../../src/time/days.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,KAAK,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AACtF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAO9D,qBAAa,YAAa,SAAQ,YAAY;IAC5C,OAAO,SAAkB;IACzB,WAAW,SAAe;IAC1B,IAAI,EAAE,0BAA0B,EAAE,CAGhC;IACF,QAAQ,EAAE,gBAAgB,CAAU;IAEpC,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG;CAK5C"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { BaseFunction, FunctionArgumentDefinition, FunctionCategory } from '@gridsheet/react-core';
|
|
2
|
+
export declare class HourFunction extends BaseFunction {
|
|
3
|
+
example: string;
|
|
4
|
+
description: string;
|
|
5
|
+
defs: FunctionArgumentDefinition[];
|
|
6
|
+
category: FunctionCategory;
|
|
7
|
+
protected main(time: any): number;
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=hour.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hour.d.ts","sourceRoot":"","sources":["../../src/time/hour.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,KAAK,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AACtF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAK9D,qBAAa,YAAa,SAAQ,YAAY;IAC5C,OAAO,SAAc;IACrB,WAAW,SAAe;IAC1B,IAAI,EAAE,0BAA0B,EAAE,CAMhC;IACF,QAAQ,EAAE,gBAAgB,CAAU;IAEpC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG;CAGzB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/time/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAa7D,eAAO,MAAM,aAAa,EAAE,eAY3B,CAAC;AAEF,eAAe,aAAa,CAAC"}
|
|
@@ -0,0 +1,212 @@
|
|
|
1
|
+
import { BaseFunction as s, Time as h, FormulaError as p, Table as g, solveTable as y } from "@gridsheet/react-core";
|
|
2
|
+
const f = "Returns the current date as a Date value.";
|
|
3
|
+
class l extends s {
|
|
4
|
+
constructor() {
|
|
5
|
+
super(...arguments), this.example = "TODAY()", this.description = f, this.defs = [], this.category = "time";
|
|
6
|
+
}
|
|
7
|
+
main() {
|
|
8
|
+
const e = /* @__PURE__ */ new Date();
|
|
9
|
+
return new Date(e.getFullYear(), e.getMonth(), e.getDate());
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
const T = "Returns a Date value representing the specified year, month, and day.";
|
|
13
|
+
class x extends s {
|
|
14
|
+
constructor() {
|
|
15
|
+
super(...arguments), this.example = "DATE(2024, 3, 15)", this.description = T, this.defs = [
|
|
16
|
+
{ name: "year", description: "The year component of the date.", acceptedTypes: ["number"] },
|
|
17
|
+
{
|
|
18
|
+
name: "month",
|
|
19
|
+
description: "The month component of the date (1=January, 12=December).",
|
|
20
|
+
acceptedTypes: ["number"]
|
|
21
|
+
},
|
|
22
|
+
{ name: "day", description: "The day component of the date.", acceptedTypes: ["number"] }
|
|
23
|
+
], this.category = "time";
|
|
24
|
+
}
|
|
25
|
+
main(e, n, a) {
|
|
26
|
+
return new Date(e, n - 1, a);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
const D = "Returns a Date value representing the specified hour, minute, and second (on the base date 1899-12-30).";
|
|
30
|
+
class b extends s {
|
|
31
|
+
constructor() {
|
|
32
|
+
super(...arguments), this.example = "TIME(13, 30, 0)", this.description = D, this.defs = [
|
|
33
|
+
{ name: "hour", description: "The hour component (0–23).", acceptedTypes: ["number"] },
|
|
34
|
+
{ name: "minute", description: "The minute component (0–59).", acceptedTypes: ["number"] },
|
|
35
|
+
{ name: "second", description: "The second component (0–59).", acceptedTypes: ["number"] }
|
|
36
|
+
], this.category = "time";
|
|
37
|
+
}
|
|
38
|
+
main(e, n, a) {
|
|
39
|
+
return h.create(e, n, a);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
function i(t) {
|
|
43
|
+
if (t instanceof Date)
|
|
44
|
+
return t;
|
|
45
|
+
if (typeof t == "number")
|
|
46
|
+
return new Date(t);
|
|
47
|
+
if (typeof t == "string") {
|
|
48
|
+
const e = new Date(t);
|
|
49
|
+
if (!isNaN(e.getTime()))
|
|
50
|
+
return e;
|
|
51
|
+
}
|
|
52
|
+
throw new p("#VALUE!", `${t} cannot be converted to a date`);
|
|
53
|
+
}
|
|
54
|
+
const w = 24 * 60 * 60 * 1e3, F = "Returns the number of days between two dates.";
|
|
55
|
+
class A extends s {
|
|
56
|
+
constructor() {
|
|
57
|
+
super(...arguments), this.example = "DAYS(A2, A1)", this.description = F, this.defs = [
|
|
58
|
+
{ name: "end_date", description: "The end date.", acceptedTypes: ["date", "string"] },
|
|
59
|
+
{ name: "start_date", description: "The start date.", acceptedTypes: ["date", "string"] }
|
|
60
|
+
], this.category = "time";
|
|
61
|
+
}
|
|
62
|
+
main(e, n) {
|
|
63
|
+
const a = i(e), o = i(n);
|
|
64
|
+
return Math.trunc((a.getTime() - o.getTime()) / w);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
const M = "Returns the day of the month for a given date (1–31).";
|
|
68
|
+
class R extends s {
|
|
69
|
+
constructor() {
|
|
70
|
+
super(...arguments), this.example = "DAY(A1)", this.description = M, this.defs = [
|
|
71
|
+
{ name: "date", description: "The date from which to extract the day.", acceptedTypes: ["date", "string"] }
|
|
72
|
+
], this.category = "time";
|
|
73
|
+
}
|
|
74
|
+
main(e) {
|
|
75
|
+
return i(e).getDate();
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
const $ = "Returns the month of a given date as a number (1=January, 12=December).";
|
|
79
|
+
class S extends s {
|
|
80
|
+
constructor() {
|
|
81
|
+
super(...arguments), this.example = "MONTH(A1)", this.description = $, this.defs = [
|
|
82
|
+
{ name: "date", description: "The date from which to extract the month.", acceptedTypes: ["date", "string"] }
|
|
83
|
+
], this.category = "time";
|
|
84
|
+
}
|
|
85
|
+
main(e) {
|
|
86
|
+
return i(e).getMonth() + 1;
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
const v = "Returns the year of a given date.";
|
|
90
|
+
class Y extends s {
|
|
91
|
+
constructor() {
|
|
92
|
+
super(...arguments), this.example = "YEAR(A1)", this.description = v, this.defs = [
|
|
93
|
+
{ name: "date", description: "The date from which to extract the year.", acceptedTypes: ["date", "string"] }
|
|
94
|
+
], this.category = "time";
|
|
95
|
+
}
|
|
96
|
+
main(e) {
|
|
97
|
+
return i(e).getFullYear();
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
const E = "Returns the hour component of a given time/date value (0–23).";
|
|
101
|
+
class k extends s {
|
|
102
|
+
constructor() {
|
|
103
|
+
super(...arguments), this.example = "HOUR(A1)", this.description = E, this.defs = [
|
|
104
|
+
{
|
|
105
|
+
name: "time",
|
|
106
|
+
description: "The time or date-time value from which to extract the hour.",
|
|
107
|
+
acceptedTypes: ["date", "string"]
|
|
108
|
+
}
|
|
109
|
+
], this.category = "time";
|
|
110
|
+
}
|
|
111
|
+
main(e) {
|
|
112
|
+
return i(e).getHours();
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
const O = "Returns the minute component of a given time/date value (0–59).";
|
|
116
|
+
class H extends s {
|
|
117
|
+
constructor() {
|
|
118
|
+
super(...arguments), this.example = "MINUTE(A1)", this.description = O, this.defs = [
|
|
119
|
+
{
|
|
120
|
+
name: "time",
|
|
121
|
+
description: "The time or date-time value from which to extract the minute.",
|
|
122
|
+
acceptedTypes: ["date", "string"]
|
|
123
|
+
}
|
|
124
|
+
], this.category = "time";
|
|
125
|
+
}
|
|
126
|
+
main(e) {
|
|
127
|
+
return i(e).getMinutes();
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
const N = "Returns the second component of a given time/date value (0–59).";
|
|
131
|
+
class _ extends s {
|
|
132
|
+
constructor() {
|
|
133
|
+
super(...arguments), this.example = "SECOND(A1)", this.description = N, this.defs = [
|
|
134
|
+
{
|
|
135
|
+
name: "time",
|
|
136
|
+
description: "The time or date-time value from which to extract the second.",
|
|
137
|
+
acceptedTypes: ["date", "string"]
|
|
138
|
+
}
|
|
139
|
+
], this.category = "time";
|
|
140
|
+
}
|
|
141
|
+
main(e) {
|
|
142
|
+
return i(e).getSeconds();
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
function U(t) {
|
|
146
|
+
const e = /* @__PURE__ */ new Set();
|
|
147
|
+
if (!t)
|
|
148
|
+
return e;
|
|
149
|
+
let n;
|
|
150
|
+
t instanceof g ? n = y({ table: t }).flat() : n = [t];
|
|
151
|
+
for (const a of n)
|
|
152
|
+
if (a)
|
|
153
|
+
try {
|
|
154
|
+
const o = i(a);
|
|
155
|
+
e.add(d(o));
|
|
156
|
+
} catch {
|
|
157
|
+
}
|
|
158
|
+
return e;
|
|
159
|
+
}
|
|
160
|
+
function d(t) {
|
|
161
|
+
return `${t.getFullYear()}-${String(t.getMonth() + 1).padStart(2, "0")}-${String(t.getDate()).padStart(2, "0")}`;
|
|
162
|
+
}
|
|
163
|
+
function W(t) {
|
|
164
|
+
const e = t.getDay();
|
|
165
|
+
return e === 0 || e === 6;
|
|
166
|
+
}
|
|
167
|
+
const I = `Returns the date that is a given number of working days (Mon–Fri) before or after a start date.
|
|
168
|
+
Optionally excludes a list of holiday dates.`;
|
|
169
|
+
class J extends s {
|
|
170
|
+
constructor() {
|
|
171
|
+
super(...arguments), this.example = "WORKDAY(A1, 5)", this.description = I, this.defs = [
|
|
172
|
+
{ name: "start_date", description: "The starting date.", acceptedTypes: ["date"] },
|
|
173
|
+
{
|
|
174
|
+
name: "days",
|
|
175
|
+
description: "The number of working days to add (positive) or subtract (negative).",
|
|
176
|
+
acceptedTypes: ["number", "string"]
|
|
177
|
+
},
|
|
178
|
+
{
|
|
179
|
+
name: "holidays",
|
|
180
|
+
description: "An optional list or range of dates to exclude as holidays.",
|
|
181
|
+
optional: !0,
|
|
182
|
+
takesMatrix: !0,
|
|
183
|
+
acceptedTypes: ["matrix", "date"]
|
|
184
|
+
}
|
|
185
|
+
], this.category = "time";
|
|
186
|
+
}
|
|
187
|
+
main(e, n, a) {
|
|
188
|
+
const o = i(e), m = U(a), u = n >= 0 ? 1 : -1;
|
|
189
|
+
let c = Math.abs(Math.trunc(n));
|
|
190
|
+
const r = new Date(o.getTime());
|
|
191
|
+
for (; c > 0; )
|
|
192
|
+
r.setDate(r.getDate() + u), !W(r) && !m.has(d(r)) && c--;
|
|
193
|
+
return new Date(r.getFullYear(), r.getMonth(), r.getDate());
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
const B = {
|
|
197
|
+
today: l,
|
|
198
|
+
date: x,
|
|
199
|
+
time: b,
|
|
200
|
+
days: A,
|
|
201
|
+
day: R,
|
|
202
|
+
month: S,
|
|
203
|
+
year: Y,
|
|
204
|
+
hour: k,
|
|
205
|
+
minute: H,
|
|
206
|
+
second: _,
|
|
207
|
+
workday: J
|
|
208
|
+
};
|
|
209
|
+
export {
|
|
210
|
+
B as default,
|
|
211
|
+
B as timeFunctions
|
|
212
|
+
};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { BaseFunction, FunctionArgumentDefinition, FunctionCategory } from '@gridsheet/react-core';
|
|
2
|
+
export declare class MinuteFunction extends BaseFunction {
|
|
3
|
+
example: string;
|
|
4
|
+
description: string;
|
|
5
|
+
defs: FunctionArgumentDefinition[];
|
|
6
|
+
category: FunctionCategory;
|
|
7
|
+
protected main(time: any): number;
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=minute.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"minute.d.ts","sourceRoot":"","sources":["../../src/time/minute.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,KAAK,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AACtF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAK9D,qBAAa,cAAe,SAAQ,YAAY;IAC9C,OAAO,SAAgB;IACvB,WAAW,SAAe;IAC1B,IAAI,EAAE,0BAA0B,EAAE,CAMhC;IACF,QAAQ,EAAE,gBAAgB,CAAU;IAEpC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG;CAGzB"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { BaseFunction, FunctionArgumentDefinition, FunctionCategory } from '@gridsheet/react-core';
|
|
2
|
+
export declare class MonthFunction extends BaseFunction {
|
|
3
|
+
example: string;
|
|
4
|
+
description: string;
|
|
5
|
+
defs: FunctionArgumentDefinition[];
|
|
6
|
+
category: FunctionCategory;
|
|
7
|
+
protected main(date: any): number;
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=month.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"month.d.ts","sourceRoot":"","sources":["../../src/time/month.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,KAAK,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AACtF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAK9D,qBAAa,aAAc,SAAQ,YAAY;IAC7C,OAAO,SAAe;IACtB,WAAW,SAAe;IAC1B,IAAI,EAAE,0BAA0B,EAAE,CAEhC;IACF,QAAQ,EAAE,gBAAgB,CAAU;IAEpC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG;CAGzB"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { BaseFunction, FunctionArgumentDefinition, FunctionCategory } from '@gridsheet/react-core';
|
|
2
|
+
export declare class SecondFunction extends BaseFunction {
|
|
3
|
+
example: string;
|
|
4
|
+
description: string;
|
|
5
|
+
defs: FunctionArgumentDefinition[];
|
|
6
|
+
category: FunctionCategory;
|
|
7
|
+
protected main(time: any): number;
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=second.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"second.d.ts","sourceRoot":"","sources":["../../src/time/second.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,KAAK,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AACtF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAK9D,qBAAa,cAAe,SAAQ,YAAY;IAC9C,OAAO,SAAgB;IACvB,WAAW,SAAe;IAC1B,IAAI,EAAE,0BAA0B,EAAE,CAMhC;IACF,QAAQ,EAAE,gBAAgB,CAAU;IAEpC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG;CAGzB"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { Time, BaseFunction, FunctionArgumentDefinition, FunctionCategory } from '@gridsheet/react-core';
|
|
2
|
+
export declare class TimeFunction extends BaseFunction {
|
|
3
|
+
example: string;
|
|
4
|
+
description: string;
|
|
5
|
+
defs: FunctionArgumentDefinition[];
|
|
6
|
+
category: FunctionCategory;
|
|
7
|
+
protected main(hour: number, minute: number, second: number): Time;
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=time.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"time.d.ts","sourceRoot":"","sources":["../../src/time/time.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,KAAK,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AAEtF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAI9D,qBAAa,YAAa,SAAQ,YAAY;IAC5C,OAAO,SAAqB;IAC5B,WAAW,SAAe;IAC1B,IAAI,EAAE,0BAA0B,EAAE,CAIhC;IACF,QAAQ,EAAE,gBAAgB,CAAU;IAEpC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;CAG5D"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { BaseFunction, FunctionArgumentDefinition, FunctionCategory } from '@gridsheet/react-core';
|
|
2
|
+
export declare class TodayFunction extends BaseFunction {
|
|
3
|
+
example: string;
|
|
4
|
+
description: string;
|
|
5
|
+
defs: FunctionArgumentDefinition[];
|
|
6
|
+
category: FunctionCategory;
|
|
7
|
+
protected main(): Date;
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=today.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"today.d.ts","sourceRoot":"","sources":["../../src/time/today.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,KAAK,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AACtF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAI9D,qBAAa,aAAc,SAAQ,YAAY;IAC7C,OAAO,SAAa;IACpB,WAAW,SAAe;IAC1B,IAAI,EAAE,0BAA0B,EAAE,CAAM;IACxC,QAAQ,EAAE,gBAAgB,CAAU;IAEpC,SAAS,CAAC,IAAI;CAIf"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { BaseFunction, FunctionArgumentDefinition, FunctionCategory } from '@gridsheet/react-core';
|
|
2
|
+
export declare class WorkdayFunction extends BaseFunction {
|
|
3
|
+
example: string;
|
|
4
|
+
description: string;
|
|
5
|
+
defs: FunctionArgumentDefinition[];
|
|
6
|
+
category: FunctionCategory;
|
|
7
|
+
protected main(startDate: any, days: number, holidays?: any): Date;
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=workday.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workday.d.ts","sourceRoot":"","sources":["../../src/time/workday.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,KAAK,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AAEtF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AA0C9D,qBAAa,eAAgB,SAAQ,YAAY;IAC/C,OAAO,SAAoB;IAC3B,WAAW,SAAe;IAC1B,IAAI,EAAE,0BAA0B,EAAE,CAchC;IACF,QAAQ,EAAE,gBAAgB,CAAU;IAEpC,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,GAAG;CAgB5D"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { BaseFunction, FunctionArgumentDefinition, FunctionCategory } from '@gridsheet/react-core';
|
|
2
|
+
export declare class YearFunction extends BaseFunction {
|
|
3
|
+
example: string;
|
|
4
|
+
description: string;
|
|
5
|
+
defs: FunctionArgumentDefinition[];
|
|
6
|
+
category: FunctionCategory;
|
|
7
|
+
protected main(date: any): number;
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=year.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"year.d.ts","sourceRoot":"","sources":["../../src/time/year.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,KAAK,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AACtF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAK9D,qBAAa,YAAa,SAAQ,YAAY;IAC5C,OAAO,SAAc;IACrB,WAAW,SAAe;IAC1B,IAAI,EAAE,0BAA0B,EAAE,CAEhC;IACF,QAAQ,EAAE,gBAAgB,CAAU;IAEpC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG;CAGzB"}
|
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,gBAAgB,GACxB,MAAM,GACN,YAAY,GACZ,MAAM,GACN,MAAM,GACN,QAAQ,GACR,aAAa,GACb,SAAS,GACT,aAAa,GACb,SAAS,GACT,OAAO,CAAC"}
|
package/package.json
ADDED
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@gridsheet/functions",
|
|
3
|
+
"version": "3.0.0-rc.2",
|
|
4
|
+
"description": "Extended formula functions for @gridsheet/react-core",
|
|
5
|
+
"main": "./dist/index.js",
|
|
6
|
+
"module": "./dist/index.js",
|
|
7
|
+
"types": "./dist/index.d.ts",
|
|
8
|
+
"exports": {
|
|
9
|
+
".": {
|
|
10
|
+
"types": "./dist/index.d.ts",
|
|
11
|
+
"import": "./dist/index.js",
|
|
12
|
+
"default": "./dist/index.js"
|
|
13
|
+
},
|
|
14
|
+
"./math": {
|
|
15
|
+
"types": "./dist/math/index.d.ts",
|
|
16
|
+
"import": "./dist/math/index.js",
|
|
17
|
+
"default": "./dist/math/index.js"
|
|
18
|
+
},
|
|
19
|
+
"./statistics": {
|
|
20
|
+
"types": "./dist/statistics/index.d.ts",
|
|
21
|
+
"import": "./dist/statistics/index.js",
|
|
22
|
+
"default": "./dist/statistics/index.js"
|
|
23
|
+
},
|
|
24
|
+
"./text": {
|
|
25
|
+
"types": "./dist/text/index.d.ts",
|
|
26
|
+
"import": "./dist/text/index.js",
|
|
27
|
+
"default": "./dist/text/index.js"
|
|
28
|
+
},
|
|
29
|
+
"./lookup": {
|
|
30
|
+
"types": "./dist/lookup/index.d.ts",
|
|
31
|
+
"import": "./dist/lookup/index.js",
|
|
32
|
+
"default": "./dist/lookup/index.js"
|
|
33
|
+
},
|
|
34
|
+
"./time": {
|
|
35
|
+
"types": "./dist/time/index.d.ts",
|
|
36
|
+
"import": "./dist/time/index.js",
|
|
37
|
+
"default": "./dist/time/index.js"
|
|
38
|
+
},
|
|
39
|
+
"./logical": {
|
|
40
|
+
"types": "./dist/logical/index.d.ts",
|
|
41
|
+
"import": "./dist/logical/index.js",
|
|
42
|
+
"default": "./dist/logical/index.js"
|
|
43
|
+
}
|
|
44
|
+
},
|
|
45
|
+
"scripts": {
|
|
46
|
+
"build": "rm -rf ./dist || true && vite build",
|
|
47
|
+
"typecheck": "tsc --noEmit",
|
|
48
|
+
"jest": "jest"
|
|
49
|
+
},
|
|
50
|
+
"repository": {
|
|
51
|
+
"type": "git",
|
|
52
|
+
"url": "git+https://github.com/walkframe/gridsheet.git"
|
|
53
|
+
},
|
|
54
|
+
"keywords": [
|
|
55
|
+
"spreadsheet",
|
|
56
|
+
"formula",
|
|
57
|
+
"functions"
|
|
58
|
+
],
|
|
59
|
+
"author": "righ",
|
|
60
|
+
"license": "Apache-2.0",
|
|
61
|
+
"files": [
|
|
62
|
+
"dist/",
|
|
63
|
+
"package.json",
|
|
64
|
+
"README.md"
|
|
65
|
+
],
|
|
66
|
+
"bugs": {
|
|
67
|
+
"url": "https://github.com/walkframe/gridsheet/issues"
|
|
68
|
+
},
|
|
69
|
+
"homepage": "https://gridsheet.walkframe.com/",
|
|
70
|
+
"packageManager": "pnpm@10.6.5",
|
|
71
|
+
"devDependencies": {
|
|
72
|
+
"typescript": "^5.8.2",
|
|
73
|
+
"vite": "^6.2.2",
|
|
74
|
+
"vite-plugin-dts": "^4.5.3",
|
|
75
|
+
"jest": "^29.4.3",
|
|
76
|
+
"@types/jest": "^29.4.0",
|
|
77
|
+
"@gridsheet/react-core": "workspace:*"
|
|
78
|
+
},
|
|
79
|
+
"peerDependencies": {
|
|
80
|
+
"@gridsheet/react-core": "^3.0.0-rc.2",
|
|
81
|
+
"dayjs": "^1.11.13"
|
|
82
|
+
},
|
|
83
|
+
"publishConfig": {
|
|
84
|
+
"access": "public"
|
|
85
|
+
}
|
|
86
|
+
}
|