@reforma/components 0.1.5 → 0.2.0
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/Scrollable/Scrollable.d.ts +1 -2
- package/dist/Scrollable/Scrollable.d.ts.map +1 -1
- package/dist/Scrollable/Scrollable.js +45 -38
- package/dist/Scrollable/Scrollable.js.map +1 -1
- package/dist/Scrollable/useScrollChrome.d.ts +1 -2
- package/dist/Scrollable/useScrollChrome.d.ts.map +1 -1
- package/dist/Scrollable/useScrollChrome.js +125 -110
- package/dist/Scrollable/useScrollChrome.js.map +1 -1
- package/dist/chat/ComposerBanner/ComposerBanner.d.ts +2 -1
- package/dist/chat/ComposerBanner/ComposerBanner.d.ts.map +1 -1
- package/dist/chat/ComposerBanner/ComposerBanner.js +37 -29
- package/dist/chat/ComposerBanner/ComposerBanner.js.map +1 -1
- package/dist/chat/ComposerBanner/ComposerBanner.module.css +1 -1
- package/dist/chat/ComposerBanner/ComposerBanner.module.css.js +5 -3
- package/dist/chat/ComposerBanner/ComposerBanner.module.css.js.map +1 -1
- package/dist/chat/Tool/agent/AgentTool.d.ts.map +1 -1
- package/dist/chat/Tool/agent/AgentTool.js +89 -90
- package/dist/chat/Tool/agent/AgentTool.js.map +1 -1
- package/dist/chat/Tool/edit/EditTool.js +1 -1
- package/dist/chat/Tool/edit/EditTool.js.map +1 -1
- package/dist/node_modules/zod/v4/classic/errors.js +38 -0
- package/dist/node_modules/zod/v4/classic/errors.js.map +1 -0
- package/dist/node_modules/zod/v4/classic/parse.js +21 -0
- package/dist/node_modules/zod/v4/classic/parse.js.map +1 -0
- package/dist/node_modules/zod/v4/classic/schemas.js +822 -0
- package/dist/node_modules/zod/v4/classic/schemas.js.map +1 -0
- package/dist/node_modules/zod/v4/core/api.js +561 -0
- package/dist/node_modules/zod/v4/core/api.js.map +1 -0
- package/dist/node_modules/zod/v4/core/checks.js +262 -0
- package/dist/node_modules/zod/v4/core/checks.js.map +1 -0
- package/dist/node_modules/zod/v4/core/core.js +97 -0
- package/dist/node_modules/zod/v4/core/core.js.map +1 -0
- package/dist/node_modules/zod/v4/core/doc.js +35 -0
- package/dist/node_modules/zod/v4/core/doc.js.map +1 -0
- package/dist/node_modules/zod/v4/core/errors.js +79 -0
- package/dist/node_modules/zod/v4/core/errors.js.map +1 -0
- package/dist/node_modules/zod/v4/core/json-schema-processors.js +308 -0
- package/dist/node_modules/zod/v4/core/json-schema-processors.js.map +1 -0
- package/dist/node_modules/zod/v4/core/memoizer.js +203 -0
- package/dist/node_modules/zod/v4/core/memoizer.js.map +1 -0
- package/dist/node_modules/zod/v4/core/parse.js +113 -0
- package/dist/node_modules/zod/v4/core/parse.js.map +1 -0
- package/dist/node_modules/zod/v4/core/regexes.js +59 -0
- package/dist/node_modules/zod/v4/core/regexes.js.map +1 -0
- package/dist/node_modules/zod/v4/core/registries.js +41 -0
- package/dist/node_modules/zod/v4/core/registries.js.map +1 -0
- package/dist/node_modules/zod/v4/core/schemas.js +1104 -0
- package/dist/node_modules/zod/v4/core/schemas.js.map +1 -0
- package/dist/node_modules/zod/v4/core/to-json-schema.js +380 -0
- package/dist/node_modules/zod/v4/core/to-json-schema.js.map +1 -0
- package/dist/node_modules/zod/v4/core/util.js +465 -0
- package/dist/node_modules/zod/v4/core/util.js.map +1 -0
- package/dist/node_modules/zod/v4/core/versions.js +9 -0
- package/dist/node_modules/zod/v4/core/versions.js.map +1 -0
- package/dist/node_modules/zod/v4/locales/en.js +97 -0
- package/dist/node_modules/zod/v4/locales/en.js.map +1 -0
- package/dist/openui/actions.d.ts +16 -0
- package/dist/openui/actions.d.ts.map +1 -0
- package/dist/openui/actions.js +58 -0
- package/dist/openui/actions.js.map +1 -0
- package/dist/openui/components/controls.d.ts +34 -0
- package/dist/openui/components/controls.d.ts.map +1 -0
- package/dist/openui/components/controls.js +40 -0
- package/dist/openui/components/controls.js.map +1 -0
- package/dist/openui/components/layout.d.ts +74 -0
- package/dist/openui/components/layout.d.ts.map +1 -0
- package/dist/openui/components/layout.js +154 -0
- package/dist/openui/components/layout.js.map +1 -0
- package/dist/openui/components/list.d.ts +17 -0
- package/dist/openui/components/list.d.ts.map +1 -0
- package/dist/openui/components/list.js +96 -0
- package/dist/openui/components/list.js.map +1 -0
- package/dist/openui/components/svg.d.ts +100 -0
- package/dist/openui/components/svg.d.ts.map +1 -0
- package/dist/openui/components/svg.js +246 -0
- package/dist/openui/components/svg.js.map +1 -0
- package/dist/openui/components/table.d.ts +6 -0
- package/dist/openui/components/table.d.ts.map +1 -0
- package/dist/openui/components/table.js +54 -0
- package/dist/openui/components/table.js.map +1 -0
- package/dist/openui/components/text.d.ts +89 -0
- package/dist/openui/components/text.d.ts.map +1 -0
- package/dist/openui/components/text.js +181 -0
- package/dist/openui/components/text.js.map +1 -0
- package/dist/openui/functions/colors.d.ts +12 -0
- package/dist/openui/functions/colors.d.ts.map +1 -0
- package/dist/openui/functions/colors.js +32 -0
- package/dist/openui/functions/colors.js.map +1 -0
- package/dist/openui/functions/data.d.ts +170 -0
- package/dist/openui/functions/data.d.ts.map +1 -0
- package/dist/openui/functions/data.js +308 -0
- package/dist/openui/functions/data.js.map +1 -0
- package/dist/openui/functions/dates.d.ts +57 -0
- package/dist/openui/functions/dates.d.ts.map +1 -0
- package/dist/openui/functions/dates.js +184 -0
- package/dist/openui/functions/dates.js.map +1 -0
- package/dist/openui/functions/index.d.ts +136 -0
- package/dist/openui/functions/index.d.ts.map +1 -0
- package/dist/openui/functions/index.js +11 -0
- package/dist/openui/functions/index.js.map +1 -0
- package/dist/openui/functions/lists.d.ts +102 -0
- package/dist/openui/functions/lists.d.ts.map +1 -0
- package/dist/openui/functions/lists.js +305 -0
- package/dist/openui/functions/lists.js.map +1 -0
- package/dist/openui/functions/numbers.d.ts +72 -0
- package/dist/openui/functions/numbers.d.ts.map +1 -0
- package/dist/openui/functions/numbers.js +201 -0
- package/dist/openui/functions/numbers.js.map +1 -0
- package/dist/openui/functions/shared.d.ts +28 -0
- package/dist/openui/functions/shared.d.ts.map +1 -0
- package/dist/openui/functions/shared.js +69 -0
- package/dist/openui/functions/shared.js.map +1 -0
- package/dist/openui/functions/text.d.ts +97 -0
- package/dist/openui/functions/text.d.ts.map +1 -0
- package/dist/openui/functions/text.js +223 -0
- package/dist/openui/functions/text.js.map +1 -0
- package/dist/openui/index.d.ts +5 -0
- package/dist/openui/index.d.ts.map +1 -0
- package/dist/openui/index.js +14 -0
- package/dist/openui/index.js.map +1 -0
- package/dist/openui/library.d.ts +8 -0
- package/dist/openui/library.d.ts.map +1 -0
- package/dist/openui/library.js +37 -0
- package/dist/openui/library.js.map +1 -0
- package/dist/openui/schema.d.ts +36 -0
- package/dist/openui/schema.d.ts.map +1 -0
- package/dist/openui/schema.js +24 -0
- package/dist/openui/schema.js.map +1 -0
- package/package.json +4 -2
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generic functions the model calls as @Name(args) to compute inside a page:
|
|
3
|
+
* edit lists held in $variables, do the math, format text and dates, and
|
|
4
|
+
* shape Query rows for charts. They are pure except @Random, @Pick, @Shuffle
|
|
5
|
+
* and @Now. Bad arguments, or a throw, make a call evaluate to null.
|
|
6
|
+
*/
|
|
7
|
+
export declare const functions: (import("@openuidev/lang-core").DefinedFunction<import("zod/v4").ZodObject<{
|
|
8
|
+
list: import("zod/v4").ZodUnion<readonly [import("zod/v4").ZodArray<import("zod/v4").ZodAny>, import("zod/v4").ZodString]>;
|
|
9
|
+
item: import("zod/v4").ZodAny;
|
|
10
|
+
}, import("zod/v4/core").$strip>, import("zod/v4").ZodBoolean> | import("@openuidev/lang-core").DefinedFunction<import("zod/v4").ZodObject<{
|
|
11
|
+
list: import("zod/v4").ZodArray<import("zod/v4").ZodAny>;
|
|
12
|
+
item: import("zod/v4").ZodAny;
|
|
13
|
+
}, import("zod/v4/core").$strip>, import("zod/v4").ZodNumber> | import("@openuidev/lang-core").DefinedFunction<import("zod/v4").ZodObject<{
|
|
14
|
+
list: import("zod/v4").ZodUnion<readonly [import("zod/v4").ZodArray<import("zod/v4").ZodAny>, import("zod/v4").ZodString]>;
|
|
15
|
+
start: import("zod/v4").ZodNumber;
|
|
16
|
+
end: import("zod/v4").ZodOptional<import("zod/v4").ZodNumber>;
|
|
17
|
+
}, import("zod/v4/core").$strip>, import("zod/v4").ZodUnion<readonly [import("zod/v4").ZodArray<import("zod/v4").ZodAny>, import("zod/v4").ZodString]>> | import("@openuidev/lang-core").DefinedFunction<import("zod/v4").ZodObject<{
|
|
18
|
+
list: import("zod/v4").ZodArray<import("zod/v4").ZodAny>;
|
|
19
|
+
}, import("zod/v4/core").$strip>, import("zod/v4").ZodArray<import("zod/v4").ZodAny>> | import("@openuidev/lang-core").DefinedFunction<import("zod/v4").ZodObject<{
|
|
20
|
+
start: import("zod/v4").ZodNumber;
|
|
21
|
+
end: import("zod/v4").ZodNumber;
|
|
22
|
+
step: import("zod/v4").ZodOptional<import("zod/v4").ZodNumber>;
|
|
23
|
+
}, import("zod/v4/core").$strip>, import("zod/v4").ZodArray<import("zod/v4").ZodNumber>> | import("@openuidev/lang-core").DefinedFunction<import("zod/v4").ZodObject<{
|
|
24
|
+
list: import("zod/v4").ZodArray<import("zod/v4").ZodAny>;
|
|
25
|
+
}, import("zod/v4/core").$strip>, import("zod/v4").ZodAny> | import("@openuidev/lang-core").DefinedFunction<import("zod/v4").ZodObject<{
|
|
26
|
+
list: import("zod/v4").ZodArray<import("zod/v4").ZodAny>;
|
|
27
|
+
size: import("zod/v4").ZodNumber;
|
|
28
|
+
}, import("zod/v4/core").$strip>, import("zod/v4").ZodArray<import("zod/v4").ZodArray<import("zod/v4").ZodAny>>> | import("@openuidev/lang-core").DefinedFunction<import("zod/v4").ZodObject<{
|
|
29
|
+
base: import("zod/v4").ZodNumber;
|
|
30
|
+
exponent: import("zod/v4").ZodNumber;
|
|
31
|
+
}, import("zod/v4/core").$strip>, import("zod/v4").ZodNumber> | import("@openuidev/lang-core").DefinedFunction<import("zod/v4").ZodObject<{
|
|
32
|
+
number: import("zod/v4").ZodNumber;
|
|
33
|
+
}, import("zod/v4/core").$strip>, import("zod/v4").ZodNumber> | import("@openuidev/lang-core").DefinedFunction<import("zod/v4").ZodObject<{
|
|
34
|
+
min: import("zod/v4").ZodNumber;
|
|
35
|
+
max: import("zod/v4").ZodNumber;
|
|
36
|
+
integer: import("zod/v4").ZodOptional<import("zod/v4").ZodBoolean>;
|
|
37
|
+
}, import("zod/v4/core").$strip>, import("zod/v4").ZodNumber> | import("@openuidev/lang-core").DefinedFunction<import("zod/v4").ZodObject<{
|
|
38
|
+
part: import("zod/v4").ZodNumber;
|
|
39
|
+
total: import("zod/v4").ZodNumber;
|
|
40
|
+
}, import("zod/v4/core").$strip>, import("zod/v4").ZodNumber> | import("@openuidev/lang-core").DefinedFunction<import("zod/v4").ZodObject<{
|
|
41
|
+
a: import("zod/v4").ZodNumber;
|
|
42
|
+
b: import("zod/v4").ZodNumber;
|
|
43
|
+
t: import("zod/v4").ZodNumber;
|
|
44
|
+
}, import("zod/v4/core").$strip>, import("zod/v4").ZodNumber> | import("@openuidev/lang-core").DefinedFunction<import("zod/v4").ZodObject<{
|
|
45
|
+
total: import("zod/v4").ZodNumber;
|
|
46
|
+
weights: import("zod/v4").ZodArray<import("zod/v4").ZodNumber>;
|
|
47
|
+
decimals: import("zod/v4").ZodOptional<import("zod/v4").ZodNumber>;
|
|
48
|
+
}, import("zod/v4/core").$strip>, import("zod/v4").ZodArray<import("zod/v4").ZodNumber>> | import("@openuidev/lang-core").DefinedFunction<import("zod/v4").ZodObject<{
|
|
49
|
+
principal: import("zod/v4").ZodNumber;
|
|
50
|
+
rate: import("zod/v4").ZodNumber;
|
|
51
|
+
periods: import("zod/v4").ZodNumber;
|
|
52
|
+
}, import("zod/v4/core").$strip>, import("zod/v4").ZodNumber> | import("@openuidev/lang-core").DefinedFunction<import("zod/v4").ZodObject<{
|
|
53
|
+
value: import("zod/v4").ZodNumber;
|
|
54
|
+
from: import("zod/v4").ZodString;
|
|
55
|
+
to: import("zod/v4").ZodString;
|
|
56
|
+
}, import("zod/v4/core").$strip>, import("zod/v4").ZodNumber> | import("@openuidev/lang-core").DefinedFunction<import("zod/v4").ZodObject<{
|
|
57
|
+
text: import("zod/v4").ZodString;
|
|
58
|
+
sep: import("zod/v4").ZodOptional<import("zod/v4").ZodString>;
|
|
59
|
+
}, import("zod/v4/core").$strip>, import("zod/v4").ZodArray<import("zod/v4").ZodString>> | import("@openuidev/lang-core").DefinedFunction<import("zod/v4").ZodObject<{
|
|
60
|
+
value: import("zod/v4").ZodOptional<import("zod/v4").ZodAny>;
|
|
61
|
+
fallback: import("zod/v4").ZodAny;
|
|
62
|
+
}, import("zod/v4/core").$strip>, import("zod/v4").ZodAny> | import("@openuidev/lang-core").DefinedFunction<import("zod/v4").ZodObject<{}, import("zod/v4/core").$strip>, import("zod/v4").ZodString> | import("@openuidev/lang-core").DefinedFunction<import("zod/v4").ZodObject<{
|
|
63
|
+
from: import("zod/v4").ZodUnion<readonly [import("zod/v4").ZodString, import("zod/v4").ZodNumber]>;
|
|
64
|
+
to: import("zod/v4").ZodUnion<readonly [import("zod/v4").ZodString, import("zod/v4").ZodNumber]>;
|
|
65
|
+
}, import("zod/v4/core").$strip>, import("zod/v4").ZodNumber> | import("@openuidev/lang-core").DefinedFunction<import("zod/v4").ZodObject<{
|
|
66
|
+
rows: import("zod/v4").ZodArray<import("zod/v4").ZodAny>;
|
|
67
|
+
key: import("zod/v4").ZodString;
|
|
68
|
+
field: import("zod/v4").ZodOptional<import("zod/v4").ZodString>;
|
|
69
|
+
agg: import("zod/v4").ZodOptional<import("zod/v4").ZodEnum<{
|
|
70
|
+
avg: "avg";
|
|
71
|
+
count: "count";
|
|
72
|
+
max: "max";
|
|
73
|
+
min: "min";
|
|
74
|
+
sum: "sum";
|
|
75
|
+
}>>;
|
|
76
|
+
}, import("zod/v4/core").$strip>, import("zod/v4").ZodArray<import("zod/v4").ZodObject<{
|
|
77
|
+
key: import("zod/v4").ZodUnion<readonly [import("zod/v4").ZodString, import("zod/v4").ZodNumber]>;
|
|
78
|
+
value: import("zod/v4").ZodNumber;
|
|
79
|
+
}, import("zod/v4/core").$strip>>> | import("@openuidev/lang-core").DefinedFunction<import("zod/v4").ZodObject<{
|
|
80
|
+
rows: import("zod/v4").ZodArray<import("zod/v4").ZodAny>;
|
|
81
|
+
rowKey: import("zod/v4").ZodString;
|
|
82
|
+
colKey: import("zod/v4").ZodString;
|
|
83
|
+
field: import("zod/v4").ZodOptional<import("zod/v4").ZodString>;
|
|
84
|
+
agg: import("zod/v4").ZodOptional<import("zod/v4").ZodEnum<{
|
|
85
|
+
avg: "avg";
|
|
86
|
+
count: "count";
|
|
87
|
+
max: "max";
|
|
88
|
+
min: "min";
|
|
89
|
+
sum: "sum";
|
|
90
|
+
}>>;
|
|
91
|
+
}, import("zod/v4/core").$strip>, import("zod/v4").ZodArray<import("zod/v4").ZodRecord<import("zod/v4").ZodString, import("zod/v4").ZodUnion<readonly [import("zod/v4").ZodString, import("zod/v4").ZodNumber]>>>> | import("@openuidev/lang-core").DefinedFunction<import("zod/v4").ZodObject<{
|
|
92
|
+
rows: import("zod/v4").ZodArray<import("zod/v4").ZodAny>;
|
|
93
|
+
dateField: import("zod/v4").ZodString;
|
|
94
|
+
unit: import("zod/v4").ZodEnum<{
|
|
95
|
+
day: "day";
|
|
96
|
+
month: "month";
|
|
97
|
+
week: "week";
|
|
98
|
+
}>;
|
|
99
|
+
field: import("zod/v4").ZodOptional<import("zod/v4").ZodString>;
|
|
100
|
+
agg: import("zod/v4").ZodOptional<import("zod/v4").ZodEnum<{
|
|
101
|
+
avg: "avg";
|
|
102
|
+
count: "count";
|
|
103
|
+
max: "max";
|
|
104
|
+
min: "min";
|
|
105
|
+
sum: "sum";
|
|
106
|
+
}>>;
|
|
107
|
+
}, import("zod/v4/core").$strip>, import("zod/v4").ZodArray<import("zod/v4").ZodObject<{
|
|
108
|
+
key: import("zod/v4").ZodUnion<readonly [import("zod/v4").ZodString, import("zod/v4").ZodNumber]>;
|
|
109
|
+
value: import("zod/v4").ZodNumber;
|
|
110
|
+
}, import("zod/v4/core").$strip>>> | import("@openuidev/lang-core").DefinedFunction<import("zod/v4").ZodObject<{
|
|
111
|
+
rows: import("zod/v4").ZodArray<import("zod/v4").ZodAny>;
|
|
112
|
+
field: import("zod/v4").ZodString;
|
|
113
|
+
}, import("zod/v4/core").$strip>, import("zod/v4").ZodArray<import("zod/v4").ZodAny>> | import("@openuidev/lang-core").DefinedFunction<import("zod/v4").ZodObject<{
|
|
114
|
+
current: import("zod/v4").ZodNumber;
|
|
115
|
+
previous: import("zod/v4").ZodNumber;
|
|
116
|
+
}, import("zod/v4/core").$strip>, import("zod/v4").ZodNullable<import("zod/v4").ZodNumber>> | import("@openuidev/lang-core").DefinedFunction<import("zod/v4").ZodObject<{
|
|
117
|
+
values: import("zod/v4").ZodArray<import("zod/v4").ZodNumber>;
|
|
118
|
+
bins: import("zod/v4").ZodNumber;
|
|
119
|
+
min: import("zod/v4").ZodOptional<import("zod/v4").ZodNumber>;
|
|
120
|
+
max: import("zod/v4").ZodOptional<import("zod/v4").ZodNumber>;
|
|
121
|
+
}, import("zod/v4/core").$strip>, import("zod/v4").ZodArray<import("zod/v4").ZodObject<{
|
|
122
|
+
key: import("zod/v4").ZodString;
|
|
123
|
+
value: import("zod/v4").ZodNumber;
|
|
124
|
+
start: import("zod/v4").ZodNumber;
|
|
125
|
+
end: import("zod/v4").ZodNumber;
|
|
126
|
+
}, import("zod/v4/core").$strip>>> | import("@openuidev/lang-core").DefinedFunction<import("zod/v4").ZodObject<{
|
|
127
|
+
values: import("zod/v4").ZodArray<import("zod/v4").ZodNumber>;
|
|
128
|
+
}, import("zod/v4/core").$strip>, import("zod/v4").ZodObject<{
|
|
129
|
+
count: import("zod/v4").ZodNumber;
|
|
130
|
+
min: import("zod/v4").ZodNumber;
|
|
131
|
+
max: import("zod/v4").ZodNumber;
|
|
132
|
+
mean: import("zod/v4").ZodNumber;
|
|
133
|
+
median: import("zod/v4").ZodNumber;
|
|
134
|
+
stdev: import("zod/v4").ZodNumber;
|
|
135
|
+
}, import("zod/v4/core").$strip>>)[];
|
|
136
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/openui/functions/index.ts"],"names":[],"mappings":"AAOA;;;;;GAKG;AACH,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oCAAkH,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { colorFunctions as o } from "./colors.js";
|
|
2
|
+
import { dataFunctions as t } from "./data.js";
|
|
3
|
+
import { dateFunctions as n } from "./dates.js";
|
|
4
|
+
import { listFunctions as r } from "./lists.js";
|
|
5
|
+
import { numberFunctions as i } from "./numbers.js";
|
|
6
|
+
import { textFunctions as m } from "./text.js";
|
|
7
|
+
const e = [...r, ...i, ...m, ...o, ...n, ...t];
|
|
8
|
+
export {
|
|
9
|
+
e as functions
|
|
10
|
+
};
|
|
11
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/openui/functions/index.ts"],"sourcesContent":["import { colorFunctions } from \"./colors\";\nimport { dataFunctions } from \"./data\";\nimport { dateFunctions } from \"./dates\";\nimport { listFunctions } from \"./lists\";\nimport { numberFunctions } from \"./numbers\";\nimport { textFunctions } from \"./text\";\n\n/**\n * Generic functions the model calls as @Name(args) to compute inside a page:\n * edit lists held in $variables, do the math, format text and dates, and\n * shape Query rows for charts. They are pure except @Random, @Pick, @Shuffle\n * and @Now. Bad arguments, or a throw, make a call evaluate to null.\n */\nexport const functions = [...listFunctions, ...numberFunctions, ...textFunctions, ...colorFunctions, ...dateFunctions, ...dataFunctions];\n"],"names":["functions","listFunctions","numberFunctions","textFunctions","colorFunctions","dateFunctions","dataFunctions"],"mappings":";;;;;;AAaO,MAAMA,IAAY,CAAC,GAAGC,GAAe,GAAGC,GAAiB,GAAGC,GAAe,GAAGC,GAAgB,GAAGC,GAAe,GAAGC,CAAa;"}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
import { z } from "zod/v4";
|
|
2
|
+
export declare const Append: import("@openuidev/lang-core").DefinedFunction<z.ZodObject<{
|
|
3
|
+
list: z.ZodArray<z.ZodAny>;
|
|
4
|
+
item: z.ZodAny;
|
|
5
|
+
}, z.core.$strip>, z.ZodArray<z.ZodAny>>;
|
|
6
|
+
export declare const Prepend: import("@openuidev/lang-core").DefinedFunction<z.ZodObject<{
|
|
7
|
+
list: z.ZodArray<z.ZodAny>;
|
|
8
|
+
item: z.ZodAny;
|
|
9
|
+
}, z.core.$strip>, z.ZodArray<z.ZodAny>>;
|
|
10
|
+
export declare const Concat: import("@openuidev/lang-core").DefinedFunction<z.ZodObject<{
|
|
11
|
+
list: z.ZodArray<z.ZodAny>;
|
|
12
|
+
more: z.ZodArray<z.ZodAny>;
|
|
13
|
+
}, z.core.$strip>, z.ZodArray<z.ZodAny>>;
|
|
14
|
+
export declare const Remove: import("@openuidev/lang-core").DefinedFunction<z.ZodObject<{
|
|
15
|
+
list: z.ZodArray<z.ZodAny>;
|
|
16
|
+
field: z.ZodString;
|
|
17
|
+
value: z.ZodAny;
|
|
18
|
+
}, z.core.$strip>, z.ZodArray<z.ZodAny>>;
|
|
19
|
+
export declare const RemoveAt: import("@openuidev/lang-core").DefinedFunction<z.ZodObject<{
|
|
20
|
+
list: z.ZodArray<z.ZodAny>;
|
|
21
|
+
index: z.ZodNumber;
|
|
22
|
+
}, z.core.$strip>, z.ZodArray<z.ZodAny>>;
|
|
23
|
+
export declare const Update: import("@openuidev/lang-core").DefinedFunction<z.ZodObject<{
|
|
24
|
+
list: z.ZodArray<z.ZodAny>;
|
|
25
|
+
field: z.ZodString;
|
|
26
|
+
value: z.ZodAny;
|
|
27
|
+
setField: z.ZodString;
|
|
28
|
+
setValue: z.ZodAny;
|
|
29
|
+
}, z.core.$strip>, z.ZodArray<z.ZodAny>>;
|
|
30
|
+
export declare const Toggle: import("@openuidev/lang-core").DefinedFunction<z.ZodObject<{
|
|
31
|
+
list: z.ZodArray<z.ZodAny>;
|
|
32
|
+
item: z.ZodAny;
|
|
33
|
+
}, z.core.$strip>, z.ZodArray<z.ZodAny>>;
|
|
34
|
+
export declare const Includes: import("@openuidev/lang-core").DefinedFunction<z.ZodObject<{
|
|
35
|
+
list: z.ZodUnion<readonly [z.ZodArray<z.ZodAny>, z.ZodString]>;
|
|
36
|
+
item: z.ZodAny;
|
|
37
|
+
}, z.core.$strip>, z.ZodBoolean>;
|
|
38
|
+
export declare const Find: import("@openuidev/lang-core").DefinedFunction<z.ZodObject<{
|
|
39
|
+
list: z.ZodArray<z.ZodAny>;
|
|
40
|
+
field: z.ZodString;
|
|
41
|
+
value: z.ZodAny;
|
|
42
|
+
}, z.core.$strip>, z.ZodAny>;
|
|
43
|
+
export declare const IndexOf: import("@openuidev/lang-core").DefinedFunction<z.ZodObject<{
|
|
44
|
+
list: z.ZodArray<z.ZodAny>;
|
|
45
|
+
item: z.ZodAny;
|
|
46
|
+
}, z.core.$strip>, z.ZodNumber>;
|
|
47
|
+
export declare const Take: import("@openuidev/lang-core").DefinedFunction<z.ZodObject<{
|
|
48
|
+
list: z.ZodArray<z.ZodAny>;
|
|
49
|
+
n: z.ZodNumber;
|
|
50
|
+
}, z.core.$strip>, z.ZodArray<z.ZodAny>>;
|
|
51
|
+
export declare const Slice: import("@openuidev/lang-core").DefinedFunction<z.ZodObject<{
|
|
52
|
+
list: z.ZodUnion<readonly [z.ZodArray<z.ZodAny>, z.ZodString]>;
|
|
53
|
+
start: z.ZodNumber;
|
|
54
|
+
end: z.ZodOptional<z.ZodNumber>;
|
|
55
|
+
}, z.core.$strip>, z.ZodUnion<readonly [z.ZodArray<z.ZodAny>, z.ZodString]>>;
|
|
56
|
+
export declare const Unique: import("@openuidev/lang-core").DefinedFunction<z.ZodObject<{
|
|
57
|
+
list: z.ZodArray<z.ZodAny>;
|
|
58
|
+
}, z.core.$strip>, z.ZodArray<z.ZodAny>>;
|
|
59
|
+
export declare const Reverse: import("@openuidev/lang-core").DefinedFunction<z.ZodObject<{
|
|
60
|
+
list: z.ZodArray<z.ZodAny>;
|
|
61
|
+
}, z.core.$strip>, z.ZodArray<z.ZodAny>>;
|
|
62
|
+
export declare const Range: import("@openuidev/lang-core").DefinedFunction<z.ZodObject<{
|
|
63
|
+
start: z.ZodNumber;
|
|
64
|
+
end: z.ZodNumber;
|
|
65
|
+
step: z.ZodOptional<z.ZodNumber>;
|
|
66
|
+
}, z.core.$strip>, z.ZodArray<z.ZodNumber>>;
|
|
67
|
+
export declare const Pick: import("@openuidev/lang-core").DefinedFunction<z.ZodObject<{
|
|
68
|
+
list: z.ZodArray<z.ZodAny>;
|
|
69
|
+
}, z.core.$strip>, z.ZodAny>;
|
|
70
|
+
export declare const Shuffle: import("@openuidev/lang-core").DefinedFunction<z.ZodObject<{
|
|
71
|
+
list: z.ZodArray<z.ZodAny>;
|
|
72
|
+
}, z.core.$strip>, z.ZodArray<z.ZodAny>>;
|
|
73
|
+
export declare const Flatten: import("@openuidev/lang-core").DefinedFunction<z.ZodObject<{
|
|
74
|
+
list: z.ZodArray<z.ZodAny>;
|
|
75
|
+
}, z.core.$strip>, z.ZodArray<z.ZodAny>>;
|
|
76
|
+
export declare const Chunk: import("@openuidev/lang-core").DefinedFunction<z.ZodObject<{
|
|
77
|
+
list: z.ZodArray<z.ZodAny>;
|
|
78
|
+
size: z.ZodNumber;
|
|
79
|
+
}, z.core.$strip>, z.ZodArray<z.ZodArray<z.ZodAny>>>;
|
|
80
|
+
export declare const listFunctions: (import("@openuidev/lang-core").DefinedFunction<z.ZodObject<{
|
|
81
|
+
list: z.ZodUnion<readonly [z.ZodArray<z.ZodAny>, z.ZodString]>;
|
|
82
|
+
item: z.ZodAny;
|
|
83
|
+
}, z.core.$strip>, z.ZodBoolean> | import("@openuidev/lang-core").DefinedFunction<z.ZodObject<{
|
|
84
|
+
list: z.ZodArray<z.ZodAny>;
|
|
85
|
+
item: z.ZodAny;
|
|
86
|
+
}, z.core.$strip>, z.ZodNumber> | import("@openuidev/lang-core").DefinedFunction<z.ZodObject<{
|
|
87
|
+
list: z.ZodUnion<readonly [z.ZodArray<z.ZodAny>, z.ZodString]>;
|
|
88
|
+
start: z.ZodNumber;
|
|
89
|
+
end: z.ZodOptional<z.ZodNumber>;
|
|
90
|
+
}, z.core.$strip>, z.ZodUnion<readonly [z.ZodArray<z.ZodAny>, z.ZodString]>> | import("@openuidev/lang-core").DefinedFunction<z.ZodObject<{
|
|
91
|
+
list: z.ZodArray<z.ZodAny>;
|
|
92
|
+
}, z.core.$strip>, z.ZodArray<z.ZodAny>> | import("@openuidev/lang-core").DefinedFunction<z.ZodObject<{
|
|
93
|
+
start: z.ZodNumber;
|
|
94
|
+
end: z.ZodNumber;
|
|
95
|
+
step: z.ZodOptional<z.ZodNumber>;
|
|
96
|
+
}, z.core.$strip>, z.ZodArray<z.ZodNumber>> | import("@openuidev/lang-core").DefinedFunction<z.ZodObject<{
|
|
97
|
+
list: z.ZodArray<z.ZodAny>;
|
|
98
|
+
}, z.core.$strip>, z.ZodAny> | import("@openuidev/lang-core").DefinedFunction<z.ZodObject<{
|
|
99
|
+
list: z.ZodArray<z.ZodAny>;
|
|
100
|
+
size: z.ZodNumber;
|
|
101
|
+
}, z.core.$strip>, z.ZodArray<z.ZodArray<z.ZodAny>>>)[];
|
|
102
|
+
//# sourceMappingURL=lists.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lists.d.ts","sourceRoot":"","sources":["../../../src/openui/functions/lists.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAK3B,eAAO,MAAM,MAAM;;;wCAMjB,CAAC;AAEH,eAAO,MAAM,OAAO;;;wCAMlB,CAAC;AAEH,eAAO,MAAM,MAAM;;;wCASjB,CAAC;AAEH,eAAO,MAAM,MAAM;;;;wCAMjB,CAAC;AAEH,eAAO,MAAM,QAAQ;;;wCASnB,CAAC;AAEH,eAAO,MAAM,MAAM;;;;;;wCAWjB,CAAC;AAEH,eAAO,MAAM,MAAM;;;wCAMjB,CAAC;AAEH,eAAO,MAAM,QAAQ;;;gCAOnB,CAAC;AAEH,eAAO,MAAM,IAAI;;;;4BAMf,CAAC;AAEH,eAAO,MAAM,OAAO;;;+BAMlB,CAAC;AAEH,eAAO,MAAM,IAAI;;;wCASf,CAAC;AAEH,eAAO,MAAM,KAAK;;;;4EAShB,CAAC;AAEH,eAAO,MAAM,MAAM;;wCAcjB,CAAC;AAEH,eAAO,MAAM,OAAO;;wCAMlB,CAAC;AAEH,eAAO,MAAM,KAAK;;;;2CAahB,CAAC;AAEH,eAAO,MAAM,IAAI;;4BAMf,CAAC;AAEH,eAAO,MAAM,OAAO;;wCAalB,CAAC;AAEH,eAAO,MAAM,OAAO;;wCAUlB,CAAC;AAEH,eAAO,MAAM,KAAK;;;oDAYhB,CAAC;AAEH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;uDAGzB,CAAC"}
|
|
@@ -0,0 +1,305 @@
|
|
|
1
|
+
import { defineFunction as i } from "@openuidev/react-lang";
|
|
2
|
+
import { list as r, MAX_ITEMS as f, same as u, read as h } from "./shared.js";
|
|
3
|
+
import { object as o, boolean as y, union as p, any as a, number as c, array as w, string as d } from "../../node_modules/zod/v4/classic/schemas.js";
|
|
4
|
+
const v = (e, t) => e < 0 ? t + e : e, b = i({
|
|
5
|
+
name: "Append",
|
|
6
|
+
description: "Copy of the list with item added at the end",
|
|
7
|
+
params: o({
|
|
8
|
+
list: r(),
|
|
9
|
+
item: a()
|
|
10
|
+
}),
|
|
11
|
+
returns: r(),
|
|
12
|
+
fn: ({
|
|
13
|
+
list: e,
|
|
14
|
+
item: t
|
|
15
|
+
}) => [...e, t]
|
|
16
|
+
}), M = i({
|
|
17
|
+
name: "Prepend",
|
|
18
|
+
description: "Copy of the list with item added at the start",
|
|
19
|
+
params: o({
|
|
20
|
+
list: r(),
|
|
21
|
+
item: a()
|
|
22
|
+
}),
|
|
23
|
+
returns: r(),
|
|
24
|
+
fn: ({
|
|
25
|
+
list: e,
|
|
26
|
+
item: t
|
|
27
|
+
}) => [t, ...e]
|
|
28
|
+
}), x = i({
|
|
29
|
+
name: "Concat",
|
|
30
|
+
description: "Joins two lists",
|
|
31
|
+
params: o({
|
|
32
|
+
list: r(),
|
|
33
|
+
more: r()
|
|
34
|
+
}),
|
|
35
|
+
returns: r(),
|
|
36
|
+
fn: ({
|
|
37
|
+
list: e,
|
|
38
|
+
more: t
|
|
39
|
+
}) => {
|
|
40
|
+
if (e.length + t.length > f) throw new Error(`more than ${f} items`);
|
|
41
|
+
return [...e, ...t];
|
|
42
|
+
}
|
|
43
|
+
}), A = i({
|
|
44
|
+
name: "Remove",
|
|
45
|
+
description: 'Copy without the items whose field equals value; field "" compares the items themselves',
|
|
46
|
+
params: o({
|
|
47
|
+
list: r(),
|
|
48
|
+
field: d(),
|
|
49
|
+
value: a()
|
|
50
|
+
}),
|
|
51
|
+
returns: r(),
|
|
52
|
+
fn: ({
|
|
53
|
+
list: e,
|
|
54
|
+
field: t,
|
|
55
|
+
value: n
|
|
56
|
+
}) => e.filter((s) => !u(h(s, t), n))
|
|
57
|
+
}), C = i({
|
|
58
|
+
name: "RemoveAt",
|
|
59
|
+
description: "Copy without the item at index (0-based; negative counts from the end)",
|
|
60
|
+
params: o({
|
|
61
|
+
list: r(),
|
|
62
|
+
index: c()
|
|
63
|
+
}),
|
|
64
|
+
returns: r(),
|
|
65
|
+
fn: ({
|
|
66
|
+
list: e,
|
|
67
|
+
index: t
|
|
68
|
+
}) => {
|
|
69
|
+
const n = v(Math.trunc(t), e.length);
|
|
70
|
+
return e.filter((s, l) => l !== n);
|
|
71
|
+
}
|
|
72
|
+
}), S = i({
|
|
73
|
+
name: "Update",
|
|
74
|
+
description: "Copy where items whose field equals value get setField set to setValue",
|
|
75
|
+
params: o({
|
|
76
|
+
list: r(),
|
|
77
|
+
field: d(),
|
|
78
|
+
value: a(),
|
|
79
|
+
setField: d(),
|
|
80
|
+
setValue: a()
|
|
81
|
+
}),
|
|
82
|
+
returns: r(),
|
|
83
|
+
fn: ({
|
|
84
|
+
list: e,
|
|
85
|
+
field: t,
|
|
86
|
+
value: n,
|
|
87
|
+
setField: s,
|
|
88
|
+
setValue: l
|
|
89
|
+
}) => e.map((m) => m && typeof m == "object" && !Array.isArray(m) && u(h(m, t), n) ? {
|
|
90
|
+
...m,
|
|
91
|
+
[s]: l
|
|
92
|
+
} : m)
|
|
93
|
+
}), k = i({
|
|
94
|
+
name: "Toggle",
|
|
95
|
+
description: "Adds item if missing, removes it if present (a set of strings or numbers)",
|
|
96
|
+
params: o({
|
|
97
|
+
list: r(),
|
|
98
|
+
item: a()
|
|
99
|
+
}),
|
|
100
|
+
returns: r(),
|
|
101
|
+
fn: ({
|
|
102
|
+
list: e,
|
|
103
|
+
item: t
|
|
104
|
+
}) => e.some((n) => u(n, t)) ? e.filter((n) => !u(n, t)) : [...e, t]
|
|
105
|
+
}), F = i({
|
|
106
|
+
name: "Includes",
|
|
107
|
+
description: "True if the list has item, or the text contains it",
|
|
108
|
+
params: o({
|
|
109
|
+
list: p([r(), d()]),
|
|
110
|
+
item: a()
|
|
111
|
+
}),
|
|
112
|
+
returns: y(),
|
|
113
|
+
fn: ({
|
|
114
|
+
list: e,
|
|
115
|
+
item: t
|
|
116
|
+
}) => typeof e == "string" ? t != null && e.includes(String(t)) : e.some((n) => u(n, t))
|
|
117
|
+
}), I = i({
|
|
118
|
+
name: "Find",
|
|
119
|
+
description: "First item whose field equals value, or null",
|
|
120
|
+
params: o({
|
|
121
|
+
list: r(),
|
|
122
|
+
field: d(),
|
|
123
|
+
value: a()
|
|
124
|
+
}),
|
|
125
|
+
returns: a(),
|
|
126
|
+
fn: ({
|
|
127
|
+
list: e,
|
|
128
|
+
field: t,
|
|
129
|
+
value: n
|
|
130
|
+
}) => e.find((s) => u(h(s, t), n)) ?? null
|
|
131
|
+
}), R = i({
|
|
132
|
+
name: "IndexOf",
|
|
133
|
+
description: "Index of item in the list, or -1",
|
|
134
|
+
params: o({
|
|
135
|
+
list: r(),
|
|
136
|
+
item: a()
|
|
137
|
+
}),
|
|
138
|
+
returns: c(),
|
|
139
|
+
fn: ({
|
|
140
|
+
list: e,
|
|
141
|
+
item: t
|
|
142
|
+
}) => e.findIndex((n) => u(n, t))
|
|
143
|
+
}), T = i({
|
|
144
|
+
name: "Take",
|
|
145
|
+
description: "The first n items; a negative n takes the last n",
|
|
146
|
+
params: o({
|
|
147
|
+
list: r(),
|
|
148
|
+
n: c()
|
|
149
|
+
}),
|
|
150
|
+
returns: r(),
|
|
151
|
+
fn: ({
|
|
152
|
+
list: e,
|
|
153
|
+
n: t
|
|
154
|
+
}) => {
|
|
155
|
+
const n = Math.trunc(t);
|
|
156
|
+
return n >= 0 ? e.slice(0, n) : e.slice(n);
|
|
157
|
+
}
|
|
158
|
+
}), E = i({
|
|
159
|
+
name: "Slice",
|
|
160
|
+
description: "Items, or characters of text, from start up to end (not included); negative counts from the end",
|
|
161
|
+
params: o({
|
|
162
|
+
list: p([r(), d()]),
|
|
163
|
+
start: c(),
|
|
164
|
+
end: c().optional()
|
|
165
|
+
}),
|
|
166
|
+
returns: p([r(), d()]),
|
|
167
|
+
fn: ({
|
|
168
|
+
list: e,
|
|
169
|
+
start: t,
|
|
170
|
+
end: n
|
|
171
|
+
}) => {
|
|
172
|
+
const s = n === void 0 ? void 0 : Math.trunc(n);
|
|
173
|
+
return e.slice(Math.trunc(t), s);
|
|
174
|
+
}
|
|
175
|
+
}), N = i({
|
|
176
|
+
name: "Unique",
|
|
177
|
+
description: "Distinct items in first-seen order",
|
|
178
|
+
params: o({
|
|
179
|
+
list: r()
|
|
180
|
+
}),
|
|
181
|
+
returns: r(),
|
|
182
|
+
fn: ({
|
|
183
|
+
list: e
|
|
184
|
+
}) => {
|
|
185
|
+
const t = /* @__PURE__ */ new Set();
|
|
186
|
+
return e.filter((n) => {
|
|
187
|
+
const s = n !== null && typeof n == "object" ? `o:${JSON.stringify(n)}` : `p:${String(n)}`;
|
|
188
|
+
return t.has(s) ? !1 : (t.add(s), !0);
|
|
189
|
+
});
|
|
190
|
+
}
|
|
191
|
+
}), q = i({
|
|
192
|
+
name: "Reverse",
|
|
193
|
+
description: "Copy in reverse order",
|
|
194
|
+
params: o({
|
|
195
|
+
list: r()
|
|
196
|
+
}),
|
|
197
|
+
returns: r(),
|
|
198
|
+
fn: ({
|
|
199
|
+
list: e
|
|
200
|
+
}) => [...e].reverse()
|
|
201
|
+
}), P = i({
|
|
202
|
+
name: "Range",
|
|
203
|
+
description: "Numbers from start up to end (not included) by step (default 1), e.g. @Range(0, 3) is [0, 1, 2]",
|
|
204
|
+
params: o({
|
|
205
|
+
start: c(),
|
|
206
|
+
end: c(),
|
|
207
|
+
step: c().optional()
|
|
208
|
+
}),
|
|
209
|
+
returns: w(c()),
|
|
210
|
+
fn: ({
|
|
211
|
+
start: e,
|
|
212
|
+
end: t,
|
|
213
|
+
step: n = 1
|
|
214
|
+
}) => {
|
|
215
|
+
if (n === 0 || !Number.isFinite(n)) throw new Error("step must be a non-zero number");
|
|
216
|
+
const s = Math.max(0, Math.ceil((t - e) / n));
|
|
217
|
+
if (s > f) throw new Error(`more than ${f} items`);
|
|
218
|
+
const l = Number.isInteger(e) && Number.isInteger(n);
|
|
219
|
+
return Array.from({
|
|
220
|
+
length: s
|
|
221
|
+
}, (m, g) => l ? e + g * n : Number((e + g * n).toPrecision(12)));
|
|
222
|
+
}
|
|
223
|
+
}), $ = i({
|
|
224
|
+
name: "Pick",
|
|
225
|
+
description: "A random item, or null for an empty list; draws anew each time, so call it inside @Set",
|
|
226
|
+
params: o({
|
|
227
|
+
list: r()
|
|
228
|
+
}),
|
|
229
|
+
returns: a(),
|
|
230
|
+
fn: ({
|
|
231
|
+
list: e
|
|
232
|
+
}) => e.length ? e[Math.floor(Math.random() * e.length)] : null
|
|
233
|
+
}), j = i({
|
|
234
|
+
name: "Shuffle",
|
|
235
|
+
description: "Copy in random order; call it inside @Set",
|
|
236
|
+
params: o({
|
|
237
|
+
list: r()
|
|
238
|
+
}),
|
|
239
|
+
returns: r(),
|
|
240
|
+
fn: ({
|
|
241
|
+
list: e
|
|
242
|
+
}) => {
|
|
243
|
+
const t = [...e];
|
|
244
|
+
for (let n = t.length - 1; n > 0; n--) {
|
|
245
|
+
const s = Math.floor(Math.random() * (n + 1));
|
|
246
|
+
[t[n], t[s]] = [t[s], t[n]];
|
|
247
|
+
}
|
|
248
|
+
return t;
|
|
249
|
+
}
|
|
250
|
+
}), z = i({
|
|
251
|
+
name: "Flatten",
|
|
252
|
+
description: "One list from a list of lists, e.g. [[1, 2], [3]] is [1, 2, 3]",
|
|
253
|
+
params: o({
|
|
254
|
+
list: r()
|
|
255
|
+
}),
|
|
256
|
+
returns: r(),
|
|
257
|
+
fn: ({
|
|
258
|
+
list: e
|
|
259
|
+
}) => {
|
|
260
|
+
const t = e.flatMap((n) => Array.isArray(n) ? n : [n]);
|
|
261
|
+
if (t.length > f) throw new Error(`more than ${f} items`);
|
|
262
|
+
return t;
|
|
263
|
+
}
|
|
264
|
+
}), O = i({
|
|
265
|
+
name: "Chunk",
|
|
266
|
+
description: "The list cut into lists of size items, e.g. for weeks of 7 days or pages",
|
|
267
|
+
params: o({
|
|
268
|
+
list: r(),
|
|
269
|
+
size: c()
|
|
270
|
+
}),
|
|
271
|
+
returns: w(r()),
|
|
272
|
+
fn: ({
|
|
273
|
+
list: e,
|
|
274
|
+
size: t
|
|
275
|
+
}) => {
|
|
276
|
+
const n = Math.trunc(t);
|
|
277
|
+
if (n < 1) throw new Error("size must be 1 or more");
|
|
278
|
+
const s = [];
|
|
279
|
+
for (let l = 0; l < e.length; l += n) s.push(e.slice(l, l + n));
|
|
280
|
+
return s;
|
|
281
|
+
}
|
|
282
|
+
}), V = [b, M, x, A, C, S, k, F, I, R, T, E, N, q, P, $, j, z, O];
|
|
283
|
+
export {
|
|
284
|
+
b as Append,
|
|
285
|
+
O as Chunk,
|
|
286
|
+
x as Concat,
|
|
287
|
+
I as Find,
|
|
288
|
+
z as Flatten,
|
|
289
|
+
F as Includes,
|
|
290
|
+
R as IndexOf,
|
|
291
|
+
$ as Pick,
|
|
292
|
+
M as Prepend,
|
|
293
|
+
P as Range,
|
|
294
|
+
A as Remove,
|
|
295
|
+
C as RemoveAt,
|
|
296
|
+
q as Reverse,
|
|
297
|
+
j as Shuffle,
|
|
298
|
+
E as Slice,
|
|
299
|
+
T as Take,
|
|
300
|
+
k as Toggle,
|
|
301
|
+
N as Unique,
|
|
302
|
+
S as Update,
|
|
303
|
+
V as listFunctions
|
|
304
|
+
};
|
|
305
|
+
//# sourceMappingURL=lists.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lists.js","sources":["../../../src/openui/functions/lists.ts"],"sourcesContent":["import { defineFunction } from \"@openuidev/react-lang\";\nimport { z } from \"zod/v4\";\nimport { list, MAX_ITEMS, read, same } from \"./shared\";\n\nconst index = (i: number, length: number) => (i < 0 ? length + i : i);\n\nexport const Append = defineFunction({\n name: \"Append\",\n description: \"Copy of the list with item added at the end\",\n params: z.object({ list: list(), item: z.any() }),\n returns: list(),\n fn: ({ list, item }) => [...list, item],\n});\n\nexport const Prepend = defineFunction({\n name: \"Prepend\",\n description: \"Copy of the list with item added at the start\",\n params: z.object({ list: list(), item: z.any() }),\n returns: list(),\n fn: ({ list, item }) => [item, ...list],\n});\n\nexport const Concat = defineFunction({\n name: \"Concat\",\n description: \"Joins two lists\",\n params: z.object({ list: list(), more: list() }),\n returns: list(),\n fn: ({ list, more }) => {\n if (list.length + more.length > MAX_ITEMS) throw new Error(`more than ${MAX_ITEMS} items`);\n return [...list, ...more];\n },\n});\n\nexport const Remove = defineFunction({\n name: \"Remove\",\n description: 'Copy without the items whose field equals value; field \"\" compares the items themselves',\n params: z.object({ list: list(), field: z.string(), value: z.any() }),\n returns: list(),\n fn: ({ list, field, value }) => list.filter((item) => !same(read(item, field), value)),\n});\n\nexport const RemoveAt = defineFunction({\n name: \"RemoveAt\",\n description: \"Copy without the item at index (0-based; negative counts from the end)\",\n params: z.object({ list: list(), index: z.number() }),\n returns: list(),\n fn: ({ list, index: at }) => {\n const i = index(Math.trunc(at), list.length);\n return list.filter((_, j) => j !== i);\n },\n});\n\nexport const Update = defineFunction({\n name: \"Update\",\n description: \"Copy where items whose field equals value get setField set to setValue\",\n params: z.object({ list: list(), field: z.string(), value: z.any(), setField: z.string(), setValue: z.any() }),\n returns: list(),\n fn: ({ list, field, value, setField, setValue }) =>\n list.map((item) =>\n item && typeof item === \"object\" && !Array.isArray(item) && same(read(item, field), value)\n ? { ...item, [setField]: setValue }\n : item,\n ),\n});\n\nexport const Toggle = defineFunction({\n name: \"Toggle\",\n description: \"Adds item if missing, removes it if present (a set of strings or numbers)\",\n params: z.object({ list: list(), item: z.any() }),\n returns: list(),\n fn: ({ list, item }) => (list.some((x) => same(x, item)) ? list.filter((x) => !same(x, item)) : [...list, item]),\n});\n\nexport const Includes = defineFunction({\n name: \"Includes\",\n description: \"True if the list has item, or the text contains it\",\n params: z.object({ list: z.union([list(), z.string()]), item: z.any() }),\n returns: z.boolean(),\n fn: ({ list, item }) =>\n typeof list === \"string\" ? item != null && list.includes(String(item)) : list.some((x) => same(x, item)),\n});\n\nexport const Find = defineFunction({\n name: \"Find\",\n description: \"First item whose field equals value, or null\",\n params: z.object({ list: list(), field: z.string(), value: z.any() }),\n returns: z.any(),\n fn: ({ list, field, value }) => list.find((item) => same(read(item, field), value)) ?? null,\n});\n\nexport const IndexOf = defineFunction({\n name: \"IndexOf\",\n description: \"Index of item in the list, or -1\",\n params: z.object({ list: list(), item: z.any() }),\n returns: z.number(),\n fn: ({ list, item }) => list.findIndex((x) => same(x, item)),\n});\n\nexport const Take = defineFunction({\n name: \"Take\",\n description: \"The first n items; a negative n takes the last n\",\n params: z.object({ list: list(), n: z.number() }),\n returns: list(),\n fn: ({ list, n }) => {\n const k = Math.trunc(n);\n return k >= 0 ? list.slice(0, k) : list.slice(k);\n },\n});\n\nexport const Slice = defineFunction({\n name: \"Slice\",\n description: \"Items, or characters of text, from start up to end (not included); negative counts from the end\",\n params: z.object({ list: z.union([list(), z.string()]), start: z.number(), end: z.number().optional() }),\n returns: z.union([list(), z.string()]),\n fn: ({ list, start, end }) => {\n const to = end === undefined ? undefined : Math.trunc(end);\n return typeof list === \"string\" ? list.slice(Math.trunc(start), to) : list.slice(Math.trunc(start), to);\n },\n});\n\nexport const Unique = defineFunction({\n name: \"Unique\",\n description: \"Distinct items in first-seen order\",\n params: z.object({ list: list() }),\n returns: list(),\n fn: ({ list }) => {\n const seen = new Set<string>();\n return list.filter((item) => {\n const key = item !== null && typeof item === \"object\" ? `o:${JSON.stringify(item)}` : `p:${String(item)}`;\n if (seen.has(key)) return false;\n seen.add(key);\n return true;\n });\n },\n});\n\nexport const Reverse = defineFunction({\n name: \"Reverse\",\n description: \"Copy in reverse order\",\n params: z.object({ list: list() }),\n returns: list(),\n fn: ({ list }) => [...list].reverse(),\n});\n\nexport const Range = defineFunction({\n name: \"Range\",\n description: \"Numbers from start up to end (not included) by step (default 1), e.g. @Range(0, 3) is [0, 1, 2]\",\n params: z.object({ start: z.number(), end: z.number(), step: z.number().optional() }),\n returns: z.array(z.number()),\n fn: ({ start, end, step = 1 }) => {\n if (step === 0 || !Number.isFinite(step)) throw new Error(\"step must be a non-zero number\");\n const count = Math.max(0, Math.ceil((end - start) / step));\n if (count > MAX_ITEMS) throw new Error(`more than ${MAX_ITEMS} items`);\n const whole = Number.isInteger(start) && Number.isInteger(step);\n // Rounding keeps fractional steps clean: 0.1 * 3 is 0.30000000000000004\n return Array.from({ length: count }, (_, i) => (whole ? start + i * step : Number((start + i * step).toPrecision(12))));\n },\n});\n\nexport const Pick = defineFunction({\n name: \"Pick\",\n description: \"A random item, or null for an empty list; draws anew each time, so call it inside @Set\",\n params: z.object({ list: list() }),\n returns: z.any(),\n fn: ({ list }) => (list.length ? list[Math.floor(Math.random() * list.length)] : null),\n});\n\nexport const Shuffle = defineFunction({\n name: \"Shuffle\",\n description: \"Copy in random order; call it inside @Set\",\n params: z.object({ list: list() }),\n returns: list(),\n fn: ({ list }) => {\n const out = [...list];\n for (let i = out.length - 1; i > 0; i--) {\n const j = Math.floor(Math.random() * (i + 1));\n [out[i], out[j]] = [out[j], out[i]];\n }\n return out;\n },\n});\n\nexport const Flatten = defineFunction({\n name: \"Flatten\",\n description: \"One list from a list of lists, e.g. [[1, 2], [3]] is [1, 2, 3]\",\n params: z.object({ list: list() }),\n returns: list(),\n fn: ({ list }) => {\n const out = list.flatMap((item) => (Array.isArray(item) ? item : [item]));\n if (out.length > MAX_ITEMS) throw new Error(`more than ${MAX_ITEMS} items`);\n return out;\n },\n});\n\nexport const Chunk = defineFunction({\n name: \"Chunk\",\n description: \"The list cut into lists of size items, e.g. for weeks of 7 days or pages\",\n params: z.object({ list: list(), size: z.number() }),\n returns: z.array(list()),\n fn: ({ list, size }) => {\n const n = Math.trunc(size);\n if (n < 1) throw new Error(\"size must be 1 or more\");\n const out: unknown[][] = [];\n for (let i = 0; i < list.length; i += n) out.push(list.slice(i, i + n));\n return out;\n },\n});\n\nexport const listFunctions = [\n Append, Prepend, Concat, Remove, RemoveAt, Update, Toggle, Includes, Find, IndexOf,\n Take, Slice, Unique, Reverse, Range, Pick, Shuffle, Flatten, Chunk,\n];\n"],"names":["index","i","length","Append","defineFunction","z.object","list","z.any","item","Prepend","Concat","more","MAX_ITEMS","Remove","z.string","field","value","same","read","RemoveAt","z.number","at","_","j","Update","setField","setValue","Toggle","x","Includes","z.union","z.boolean","Find","IndexOf","Take","n","k","Slice","start","end","to","Unique","seen","key","Reverse","Range","z.array","step","count","whole","Pick","Shuffle","out","Flatten","Chunk","size","listFunctions"],"mappings":"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"}
|