@almadar/std 1.0.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/LICENSE +72 -0
- package/dist/behaviors/action-affinity.d.ts +88 -0
- package/dist/behaviors/action-affinity.js +290 -0
- package/dist/behaviors/action-affinity.js.map +1 -0
- package/dist/behaviors/async.d.ts +20 -0
- package/dist/behaviors/async.js +542 -0
- package/dist/behaviors/async.js.map +1 -0
- package/dist/behaviors/data-management.d.ts +40 -0
- package/dist/behaviors/data-management.js +495 -0
- package/dist/behaviors/data-management.js.map +1 -0
- package/dist/behaviors/feedback.d.ts +18 -0
- package/dist/behaviors/feedback.js +307 -0
- package/dist/behaviors/feedback.js.map +1 -0
- package/dist/behaviors/game-core.d.ts +40 -0
- package/dist/behaviors/game-core.js +443 -0
- package/dist/behaviors/game-core.js.map +1 -0
- package/dist/behaviors/game-entity.d.ts +39 -0
- package/dist/behaviors/game-entity.js +643 -0
- package/dist/behaviors/game-entity.js.map +1 -0
- package/dist/behaviors/game-ui.d.ts +29 -0
- package/dist/behaviors/game-ui.js +493 -0
- package/dist/behaviors/game-ui.js.map +1 -0
- package/dist/behaviors/index.d.ts +11 -0
- package/dist/behaviors/index.js +4539 -0
- package/dist/behaviors/index.js.map +1 -0
- package/dist/behaviors/registry.d.ts +103 -0
- package/dist/behaviors/registry.js +4166 -0
- package/dist/behaviors/registry.js.map +1 -0
- package/dist/behaviors/types.d.ts +179 -0
- package/dist/behaviors/types.js +111 -0
- package/dist/behaviors/types.js.map +1 -0
- package/dist/behaviors/ui-interaction.d.ts +36 -0
- package/dist/behaviors/ui-interaction.js +1104 -0
- package/dist/behaviors/ui-interaction.js.map +1 -0
- package/dist/index.d.ts +195 -0
- package/dist/index.js +8209 -0
- package/dist/index.js.map +1 -0
- package/dist/modules/array.d.ts +28 -0
- package/dist/modules/array.js +556 -0
- package/dist/modules/array.js.map +1 -0
- package/dist/modules/async.d.ts +22 -0
- package/dist/modules/async.js +112 -0
- package/dist/modules/async.js.map +1 -0
- package/dist/modules/format.d.ts +21 -0
- package/dist/modules/format.js +129 -0
- package/dist/modules/format.js.map +1 -0
- package/dist/modules/index.d.ts +12 -0
- package/dist/modules/index.js +3131 -0
- package/dist/modules/index.js.map +1 -0
- package/dist/modules/math.d.ts +22 -0
- package/dist/modules/math.js +215 -0
- package/dist/modules/math.js.map +1 -0
- package/dist/modules/nn.d.ts +23 -0
- package/dist/modules/nn.js +189 -0
- package/dist/modules/nn.js.map +1 -0
- package/dist/modules/object.d.ts +22 -0
- package/dist/modules/object.js +257 -0
- package/dist/modules/object.js.map +1 -0
- package/dist/modules/str.d.ts +21 -0
- package/dist/modules/str.js +344 -0
- package/dist/modules/str.js.map +1 -0
- package/dist/modules/tensor.d.ts +23 -0
- package/dist/modules/tensor.js +427 -0
- package/dist/modules/tensor.js.map +1 -0
- package/dist/modules/time.d.ts +24 -0
- package/dist/modules/time.js +323 -0
- package/dist/modules/time.js.map +1 -0
- package/dist/modules/train.d.ts +23 -0
- package/dist/modules/train.js +308 -0
- package/dist/modules/train.js.map +1 -0
- package/dist/modules/validate.d.ts +23 -0
- package/dist/modules/validate.js +301 -0
- package/dist/modules/validate.js.map +1 -0
- package/dist/registry.d.ts +140 -0
- package/dist/registry.js +3240 -0
- package/dist/registry.js.map +1 -0
- package/dist/types-I95R8_FN.d.ts +91 -0
- package/package.json +59 -0
|
@@ -0,0 +1,301 @@
|
|
|
1
|
+
// modules/validate.ts
|
|
2
|
+
var VALIDATE_OPERATORS = {
|
|
3
|
+
"validate/required": {
|
|
4
|
+
module: "validate",
|
|
5
|
+
category: "std-validate",
|
|
6
|
+
minArity: 1,
|
|
7
|
+
maxArity: 1,
|
|
8
|
+
description: "Check if value is not null, undefined, or empty string",
|
|
9
|
+
hasSideEffects: false,
|
|
10
|
+
returnType: "boolean",
|
|
11
|
+
params: [{ name: "value", type: "any", description: "Value to check" }],
|
|
12
|
+
example: '["validate/required", "@payload.name"]'
|
|
13
|
+
},
|
|
14
|
+
"validate/string": {
|
|
15
|
+
module: "validate",
|
|
16
|
+
category: "std-validate",
|
|
17
|
+
minArity: 1,
|
|
18
|
+
maxArity: 1,
|
|
19
|
+
description: "Check if value is a string",
|
|
20
|
+
hasSideEffects: false,
|
|
21
|
+
returnType: "boolean",
|
|
22
|
+
params: [{ name: "value", type: "any", description: "Value to check" }],
|
|
23
|
+
example: '["validate/string", "@payload.name"]'
|
|
24
|
+
},
|
|
25
|
+
"validate/number": {
|
|
26
|
+
module: "validate",
|
|
27
|
+
category: "std-validate",
|
|
28
|
+
minArity: 1,
|
|
29
|
+
maxArity: 1,
|
|
30
|
+
description: "Check if value is a number",
|
|
31
|
+
hasSideEffects: false,
|
|
32
|
+
returnType: "boolean",
|
|
33
|
+
params: [{ name: "value", type: "any", description: "Value to check" }],
|
|
34
|
+
example: '["validate/number", "@payload.age"]'
|
|
35
|
+
},
|
|
36
|
+
"validate/boolean": {
|
|
37
|
+
module: "validate",
|
|
38
|
+
category: "std-validate",
|
|
39
|
+
minArity: 1,
|
|
40
|
+
maxArity: 1,
|
|
41
|
+
description: "Check if value is a boolean",
|
|
42
|
+
hasSideEffects: false,
|
|
43
|
+
returnType: "boolean",
|
|
44
|
+
params: [{ name: "value", type: "any", description: "Value to check" }],
|
|
45
|
+
example: '["validate/boolean", "@payload.active"]'
|
|
46
|
+
},
|
|
47
|
+
"validate/array": {
|
|
48
|
+
module: "validate",
|
|
49
|
+
category: "std-validate",
|
|
50
|
+
minArity: 1,
|
|
51
|
+
maxArity: 1,
|
|
52
|
+
description: "Check if value is an array",
|
|
53
|
+
hasSideEffects: false,
|
|
54
|
+
returnType: "boolean",
|
|
55
|
+
params: [{ name: "value", type: "any", description: "Value to check" }],
|
|
56
|
+
example: '["validate/array", "@payload.items"]'
|
|
57
|
+
},
|
|
58
|
+
"validate/object": {
|
|
59
|
+
module: "validate",
|
|
60
|
+
category: "std-validate",
|
|
61
|
+
minArity: 1,
|
|
62
|
+
maxArity: 1,
|
|
63
|
+
description: "Check if value is an object",
|
|
64
|
+
hasSideEffects: false,
|
|
65
|
+
returnType: "boolean",
|
|
66
|
+
params: [{ name: "value", type: "any", description: "Value to check" }],
|
|
67
|
+
example: '["validate/object", "@payload.data"]'
|
|
68
|
+
},
|
|
69
|
+
"validate/email": {
|
|
70
|
+
module: "validate",
|
|
71
|
+
category: "std-validate",
|
|
72
|
+
minArity: 1,
|
|
73
|
+
maxArity: 1,
|
|
74
|
+
description: "Check if value is a valid email format",
|
|
75
|
+
hasSideEffects: false,
|
|
76
|
+
returnType: "boolean",
|
|
77
|
+
params: [{ name: "value", type: "string", description: "Email to validate" }],
|
|
78
|
+
example: '["validate/email", "@payload.email"]'
|
|
79
|
+
},
|
|
80
|
+
"validate/url": {
|
|
81
|
+
module: "validate",
|
|
82
|
+
category: "std-validate",
|
|
83
|
+
minArity: 1,
|
|
84
|
+
maxArity: 1,
|
|
85
|
+
description: "Check if value is a valid URL format",
|
|
86
|
+
hasSideEffects: false,
|
|
87
|
+
returnType: "boolean",
|
|
88
|
+
params: [{ name: "value", type: "string", description: "URL to validate" }],
|
|
89
|
+
example: '["validate/url", "@payload.website"]'
|
|
90
|
+
},
|
|
91
|
+
"validate/uuid": {
|
|
92
|
+
module: "validate",
|
|
93
|
+
category: "std-validate",
|
|
94
|
+
minArity: 1,
|
|
95
|
+
maxArity: 1,
|
|
96
|
+
description: "Check if value is a valid UUID",
|
|
97
|
+
hasSideEffects: false,
|
|
98
|
+
returnType: "boolean",
|
|
99
|
+
params: [{ name: "value", type: "string", description: "UUID to validate" }],
|
|
100
|
+
example: '["validate/uuid", "@payload.id"]'
|
|
101
|
+
},
|
|
102
|
+
"validate/phone": {
|
|
103
|
+
module: "validate",
|
|
104
|
+
category: "std-validate",
|
|
105
|
+
minArity: 1,
|
|
106
|
+
maxArity: 1,
|
|
107
|
+
description: "Check if value is a valid phone number",
|
|
108
|
+
hasSideEffects: false,
|
|
109
|
+
returnType: "boolean",
|
|
110
|
+
params: [{ name: "value", type: "string", description: "Phone number to validate" }],
|
|
111
|
+
example: '["validate/phone", "@payload.phone"]'
|
|
112
|
+
},
|
|
113
|
+
"validate/creditCard": {
|
|
114
|
+
module: "validate",
|
|
115
|
+
category: "std-validate",
|
|
116
|
+
minArity: 1,
|
|
117
|
+
maxArity: 1,
|
|
118
|
+
description: "Check if value is a valid credit card number (Luhn algorithm)",
|
|
119
|
+
hasSideEffects: false,
|
|
120
|
+
returnType: "boolean",
|
|
121
|
+
params: [{ name: "value", type: "string", description: "Card number to validate" }],
|
|
122
|
+
example: '["validate/creditCard", "@payload.cardNumber"]'
|
|
123
|
+
},
|
|
124
|
+
"validate/date": {
|
|
125
|
+
module: "validate",
|
|
126
|
+
category: "std-validate",
|
|
127
|
+
minArity: 1,
|
|
128
|
+
maxArity: 1,
|
|
129
|
+
description: "Check if value is a valid date",
|
|
130
|
+
hasSideEffects: false,
|
|
131
|
+
returnType: "boolean",
|
|
132
|
+
params: [{ name: "value", type: "any", description: "Value to check" }],
|
|
133
|
+
example: '["validate/date", "@payload.birthDate"]'
|
|
134
|
+
},
|
|
135
|
+
"validate/minLength": {
|
|
136
|
+
module: "validate",
|
|
137
|
+
category: "std-validate",
|
|
138
|
+
minArity: 2,
|
|
139
|
+
maxArity: 2,
|
|
140
|
+
description: "Check if string/array has minimum length",
|
|
141
|
+
hasSideEffects: false,
|
|
142
|
+
returnType: "boolean",
|
|
143
|
+
params: [
|
|
144
|
+
{ name: "value", type: "string | array", description: "Value to check" },
|
|
145
|
+
{ name: "min", type: "number", description: "Minimum length" }
|
|
146
|
+
],
|
|
147
|
+
example: '["validate/minLength", "@payload.password", 8]'
|
|
148
|
+
},
|
|
149
|
+
"validate/maxLength": {
|
|
150
|
+
module: "validate",
|
|
151
|
+
category: "std-validate",
|
|
152
|
+
minArity: 2,
|
|
153
|
+
maxArity: 2,
|
|
154
|
+
description: "Check if string/array has maximum length",
|
|
155
|
+
hasSideEffects: false,
|
|
156
|
+
returnType: "boolean",
|
|
157
|
+
params: [
|
|
158
|
+
{ name: "value", type: "string | array", description: "Value to check" },
|
|
159
|
+
{ name: "max", type: "number", description: "Maximum length" }
|
|
160
|
+
],
|
|
161
|
+
example: '["validate/maxLength", "@payload.name", 50]'
|
|
162
|
+
},
|
|
163
|
+
"validate/length": {
|
|
164
|
+
module: "validate",
|
|
165
|
+
category: "std-validate",
|
|
166
|
+
minArity: 2,
|
|
167
|
+
maxArity: 2,
|
|
168
|
+
description: "Check if string/array has exact length",
|
|
169
|
+
hasSideEffects: false,
|
|
170
|
+
returnType: "boolean",
|
|
171
|
+
params: [
|
|
172
|
+
{ name: "value", type: "string | array", description: "Value to check" },
|
|
173
|
+
{ name: "exact", type: "number", description: "Required length" }
|
|
174
|
+
],
|
|
175
|
+
example: '["validate/length", "@payload.code", 6]'
|
|
176
|
+
},
|
|
177
|
+
"validate/min": {
|
|
178
|
+
module: "validate",
|
|
179
|
+
category: "std-validate",
|
|
180
|
+
minArity: 2,
|
|
181
|
+
maxArity: 2,
|
|
182
|
+
description: "Check if number is >= minimum",
|
|
183
|
+
hasSideEffects: false,
|
|
184
|
+
returnType: "boolean",
|
|
185
|
+
params: [
|
|
186
|
+
{ name: "value", type: "number", description: "Number to check" },
|
|
187
|
+
{ name: "min", type: "number", description: "Minimum value" }
|
|
188
|
+
],
|
|
189
|
+
example: '["validate/min", "@payload.age", 18]'
|
|
190
|
+
},
|
|
191
|
+
"validate/max": {
|
|
192
|
+
module: "validate",
|
|
193
|
+
category: "std-validate",
|
|
194
|
+
minArity: 2,
|
|
195
|
+
maxArity: 2,
|
|
196
|
+
description: "Check if number is <= maximum",
|
|
197
|
+
hasSideEffects: false,
|
|
198
|
+
returnType: "boolean",
|
|
199
|
+
params: [
|
|
200
|
+
{ name: "value", type: "number", description: "Number to check" },
|
|
201
|
+
{ name: "max", type: "number", description: "Maximum value" }
|
|
202
|
+
],
|
|
203
|
+
example: '["validate/max", "@payload.quantity", 100]'
|
|
204
|
+
},
|
|
205
|
+
"validate/range": {
|
|
206
|
+
module: "validate",
|
|
207
|
+
category: "std-validate",
|
|
208
|
+
minArity: 3,
|
|
209
|
+
maxArity: 3,
|
|
210
|
+
description: "Check if number is within range [min, max]",
|
|
211
|
+
hasSideEffects: false,
|
|
212
|
+
returnType: "boolean",
|
|
213
|
+
params: [
|
|
214
|
+
{ name: "value", type: "number", description: "Number to check" },
|
|
215
|
+
{ name: "min", type: "number", description: "Minimum value" },
|
|
216
|
+
{ name: "max", type: "number", description: "Maximum value" }
|
|
217
|
+
],
|
|
218
|
+
example: '["validate/range", "@payload.rating", 1, 5]'
|
|
219
|
+
},
|
|
220
|
+
"validate/pattern": {
|
|
221
|
+
module: "validate",
|
|
222
|
+
category: "std-validate",
|
|
223
|
+
minArity: 2,
|
|
224
|
+
maxArity: 2,
|
|
225
|
+
description: "Check if string matches regex pattern",
|
|
226
|
+
hasSideEffects: false,
|
|
227
|
+
returnType: "boolean",
|
|
228
|
+
params: [
|
|
229
|
+
{ name: "value", type: "string", description: "String to check" },
|
|
230
|
+
{ name: "regex", type: "string", description: "Regex pattern" }
|
|
231
|
+
],
|
|
232
|
+
example: '["validate/pattern", "@payload.code", "^[A-Z]{3}[0-9]{3}$"]'
|
|
233
|
+
},
|
|
234
|
+
"validate/oneOf": {
|
|
235
|
+
module: "validate",
|
|
236
|
+
category: "std-validate",
|
|
237
|
+
minArity: 2,
|
|
238
|
+
maxArity: 2,
|
|
239
|
+
description: "Check if value is in list of allowed values",
|
|
240
|
+
hasSideEffects: false,
|
|
241
|
+
returnType: "boolean",
|
|
242
|
+
params: [
|
|
243
|
+
{ name: "value", type: "any", description: "Value to check" },
|
|
244
|
+
{ name: "options", type: "array", description: "Allowed values" }
|
|
245
|
+
],
|
|
246
|
+
example: '["validate/oneOf", "@payload.role", ["admin", "user", "guest"]]'
|
|
247
|
+
},
|
|
248
|
+
"validate/noneOf": {
|
|
249
|
+
module: "validate",
|
|
250
|
+
category: "std-validate",
|
|
251
|
+
minArity: 2,
|
|
252
|
+
maxArity: 2,
|
|
253
|
+
description: "Check if value is not in list of disallowed values",
|
|
254
|
+
hasSideEffects: false,
|
|
255
|
+
returnType: "boolean",
|
|
256
|
+
params: [
|
|
257
|
+
{ name: "value", type: "any", description: "Value to check" },
|
|
258
|
+
{ name: "options", type: "array", description: "Disallowed values" }
|
|
259
|
+
],
|
|
260
|
+
example: '["validate/noneOf", "@payload.username", ["admin", "root", "system"]]'
|
|
261
|
+
},
|
|
262
|
+
"validate/equals": {
|
|
263
|
+
module: "validate",
|
|
264
|
+
category: "std-validate",
|
|
265
|
+
minArity: 2,
|
|
266
|
+
maxArity: 2,
|
|
267
|
+
description: "Deep equality check",
|
|
268
|
+
hasSideEffects: false,
|
|
269
|
+
returnType: "boolean",
|
|
270
|
+
params: [
|
|
271
|
+
{ name: "a", type: "any", description: "First value" },
|
|
272
|
+
{ name: "b", type: "any", description: "Second value" }
|
|
273
|
+
],
|
|
274
|
+
example: '["validate/equals", "@payload.password", "@payload.confirmPassword"]'
|
|
275
|
+
},
|
|
276
|
+
"validate/check": {
|
|
277
|
+
module: "validate",
|
|
278
|
+
category: "std-validate",
|
|
279
|
+
minArity: 2,
|
|
280
|
+
maxArity: 2,
|
|
281
|
+
description: "Run multiple validation rules, return { valid, errors }",
|
|
282
|
+
hasSideEffects: false,
|
|
283
|
+
returnType: "any",
|
|
284
|
+
params: [
|
|
285
|
+
{ name: "value", type: "any", description: "Value or object to validate" },
|
|
286
|
+
{ name: "rules", type: "object", description: "Validation rules by field" }
|
|
287
|
+
],
|
|
288
|
+
example: `["validate/check", "@payload.data", {
|
|
289
|
+
"name": [["required"], ["minLength", 2], ["maxLength", 50]],
|
|
290
|
+
"email": [["required"], ["email"]],
|
|
291
|
+
"age": [["number"], ["min", 18]]
|
|
292
|
+
}]`
|
|
293
|
+
}
|
|
294
|
+
};
|
|
295
|
+
function getValidateOperators() {
|
|
296
|
+
return Object.keys(VALIDATE_OPERATORS);
|
|
297
|
+
}
|
|
298
|
+
|
|
299
|
+
export { VALIDATE_OPERATORS, getValidateOperators };
|
|
300
|
+
//# sourceMappingURL=validate.js.map
|
|
301
|
+
//# sourceMappingURL=validate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../modules/validate.ts"],"names":[],"mappings":"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","file":"validate.js","sourcesContent":["/**\n * Validate Module - Input Validation\n *\n * Provides validation functions for form inputs and data.\n * Returns true/false for single validations.\n * validate/check returns { valid: boolean, errors: [...] } for multiple rules.\n *\n * @packageDocumentation\n */\n\nimport type { StdOperatorMeta } from '../types.js';\n\n/**\n * Validate module operators.\n * All operators return boolean or validation result objects and have no side effects.\n */\nexport const VALIDATE_OPERATORS: Record<string, StdOperatorMeta> = {\n 'validate/required': {\n module: 'validate',\n category: 'std-validate',\n minArity: 1,\n maxArity: 1,\n description: 'Check if value is not null, undefined, or empty string',\n hasSideEffects: false,\n returnType: 'boolean',\n params: [{ name: 'value', type: 'any', description: 'Value to check' }],\n example: '[\"validate/required\", \"@payload.name\"]',\n },\n 'validate/string': {\n module: 'validate',\n category: 'std-validate',\n minArity: 1,\n maxArity: 1,\n description: 'Check if value is a string',\n hasSideEffects: false,\n returnType: 'boolean',\n params: [{ name: 'value', type: 'any', description: 'Value to check' }],\n example: '[\"validate/string\", \"@payload.name\"]',\n },\n 'validate/number': {\n module: 'validate',\n category: 'std-validate',\n minArity: 1,\n maxArity: 1,\n description: 'Check if value is a number',\n hasSideEffects: false,\n returnType: 'boolean',\n params: [{ name: 'value', type: 'any', description: 'Value to check' }],\n example: '[\"validate/number\", \"@payload.age\"]',\n },\n 'validate/boolean': {\n module: 'validate',\n category: 'std-validate',\n minArity: 1,\n maxArity: 1,\n description: 'Check if value is a boolean',\n hasSideEffects: false,\n returnType: 'boolean',\n params: [{ name: 'value', type: 'any', description: 'Value to check' }],\n example: '[\"validate/boolean\", \"@payload.active\"]',\n },\n 'validate/array': {\n module: 'validate',\n category: 'std-validate',\n minArity: 1,\n maxArity: 1,\n description: 'Check if value is an array',\n hasSideEffects: false,\n returnType: 'boolean',\n params: [{ name: 'value', type: 'any', description: 'Value to check' }],\n example: '[\"validate/array\", \"@payload.items\"]',\n },\n 'validate/object': {\n module: 'validate',\n category: 'std-validate',\n minArity: 1,\n maxArity: 1,\n description: 'Check if value is an object',\n hasSideEffects: false,\n returnType: 'boolean',\n params: [{ name: 'value', type: 'any', description: 'Value to check' }],\n example: '[\"validate/object\", \"@payload.data\"]',\n },\n 'validate/email': {\n module: 'validate',\n category: 'std-validate',\n minArity: 1,\n maxArity: 1,\n description: 'Check if value is a valid email format',\n hasSideEffects: false,\n returnType: 'boolean',\n params: [{ name: 'value', type: 'string', description: 'Email to validate' }],\n example: '[\"validate/email\", \"@payload.email\"]',\n },\n 'validate/url': {\n module: 'validate',\n category: 'std-validate',\n minArity: 1,\n maxArity: 1,\n description: 'Check if value is a valid URL format',\n hasSideEffects: false,\n returnType: 'boolean',\n params: [{ name: 'value', type: 'string', description: 'URL to validate' }],\n example: '[\"validate/url\", \"@payload.website\"]',\n },\n 'validate/uuid': {\n module: 'validate',\n category: 'std-validate',\n minArity: 1,\n maxArity: 1,\n description: 'Check if value is a valid UUID',\n hasSideEffects: false,\n returnType: 'boolean',\n params: [{ name: 'value', type: 'string', description: 'UUID to validate' }],\n example: '[\"validate/uuid\", \"@payload.id\"]',\n },\n 'validate/phone': {\n module: 'validate',\n category: 'std-validate',\n minArity: 1,\n maxArity: 1,\n description: 'Check if value is a valid phone number',\n hasSideEffects: false,\n returnType: 'boolean',\n params: [{ name: 'value', type: 'string', description: 'Phone number to validate' }],\n example: '[\"validate/phone\", \"@payload.phone\"]',\n },\n 'validate/creditCard': {\n module: 'validate',\n category: 'std-validate',\n minArity: 1,\n maxArity: 1,\n description: 'Check if value is a valid credit card number (Luhn algorithm)',\n hasSideEffects: false,\n returnType: 'boolean',\n params: [{ name: 'value', type: 'string', description: 'Card number to validate' }],\n example: '[\"validate/creditCard\", \"@payload.cardNumber\"]',\n },\n 'validate/date': {\n module: 'validate',\n category: 'std-validate',\n minArity: 1,\n maxArity: 1,\n description: 'Check if value is a valid date',\n hasSideEffects: false,\n returnType: 'boolean',\n params: [{ name: 'value', type: 'any', description: 'Value to check' }],\n example: '[\"validate/date\", \"@payload.birthDate\"]',\n },\n 'validate/minLength': {\n module: 'validate',\n category: 'std-validate',\n minArity: 2,\n maxArity: 2,\n description: 'Check if string/array has minimum length',\n hasSideEffects: false,\n returnType: 'boolean',\n params: [\n { name: 'value', type: 'string | array', description: 'Value to check' },\n { name: 'min', type: 'number', description: 'Minimum length' },\n ],\n example: '[\"validate/minLength\", \"@payload.password\", 8]',\n },\n 'validate/maxLength': {\n module: 'validate',\n category: 'std-validate',\n minArity: 2,\n maxArity: 2,\n description: 'Check if string/array has maximum length',\n hasSideEffects: false,\n returnType: 'boolean',\n params: [\n { name: 'value', type: 'string | array', description: 'Value to check' },\n { name: 'max', type: 'number', description: 'Maximum length' },\n ],\n example: '[\"validate/maxLength\", \"@payload.name\", 50]',\n },\n 'validate/length': {\n module: 'validate',\n category: 'std-validate',\n minArity: 2,\n maxArity: 2,\n description: 'Check if string/array has exact length',\n hasSideEffects: false,\n returnType: 'boolean',\n params: [\n { name: 'value', type: 'string | array', description: 'Value to check' },\n { name: 'exact', type: 'number', description: 'Required length' },\n ],\n example: '[\"validate/length\", \"@payload.code\", 6]',\n },\n 'validate/min': {\n module: 'validate',\n category: 'std-validate',\n minArity: 2,\n maxArity: 2,\n description: 'Check if number is >= minimum',\n hasSideEffects: false,\n returnType: 'boolean',\n params: [\n { name: 'value', type: 'number', description: 'Number to check' },\n { name: 'min', type: 'number', description: 'Minimum value' },\n ],\n example: '[\"validate/min\", \"@payload.age\", 18]',\n },\n 'validate/max': {\n module: 'validate',\n category: 'std-validate',\n minArity: 2,\n maxArity: 2,\n description: 'Check if number is <= maximum',\n hasSideEffects: false,\n returnType: 'boolean',\n params: [\n { name: 'value', type: 'number', description: 'Number to check' },\n { name: 'max', type: 'number', description: 'Maximum value' },\n ],\n example: '[\"validate/max\", \"@payload.quantity\", 100]',\n },\n 'validate/range': {\n module: 'validate',\n category: 'std-validate',\n minArity: 3,\n maxArity: 3,\n description: 'Check if number is within range [min, max]',\n hasSideEffects: false,\n returnType: 'boolean',\n params: [\n { name: 'value', type: 'number', description: 'Number to check' },\n { name: 'min', type: 'number', description: 'Minimum value' },\n { name: 'max', type: 'number', description: 'Maximum value' },\n ],\n example: '[\"validate/range\", \"@payload.rating\", 1, 5]',\n },\n 'validate/pattern': {\n module: 'validate',\n category: 'std-validate',\n minArity: 2,\n maxArity: 2,\n description: 'Check if string matches regex pattern',\n hasSideEffects: false,\n returnType: 'boolean',\n params: [\n { name: 'value', type: 'string', description: 'String to check' },\n { name: 'regex', type: 'string', description: 'Regex pattern' },\n ],\n example: '[\"validate/pattern\", \"@payload.code\", \"^[A-Z]{3}[0-9]{3}$\"]',\n },\n 'validate/oneOf': {\n module: 'validate',\n category: 'std-validate',\n minArity: 2,\n maxArity: 2,\n description: 'Check if value is in list of allowed values',\n hasSideEffects: false,\n returnType: 'boolean',\n params: [\n { name: 'value', type: 'any', description: 'Value to check' },\n { name: 'options', type: 'array', description: 'Allowed values' },\n ],\n example: '[\"validate/oneOf\", \"@payload.role\", [\"admin\", \"user\", \"guest\"]]',\n },\n 'validate/noneOf': {\n module: 'validate',\n category: 'std-validate',\n minArity: 2,\n maxArity: 2,\n description: 'Check if value is not in list of disallowed values',\n hasSideEffects: false,\n returnType: 'boolean',\n params: [\n { name: 'value', type: 'any', description: 'Value to check' },\n { name: 'options', type: 'array', description: 'Disallowed values' },\n ],\n example: '[\"validate/noneOf\", \"@payload.username\", [\"admin\", \"root\", \"system\"]]',\n },\n 'validate/equals': {\n module: 'validate',\n category: 'std-validate',\n minArity: 2,\n maxArity: 2,\n description: 'Deep equality check',\n hasSideEffects: false,\n returnType: 'boolean',\n params: [\n { name: 'a', type: 'any', description: 'First value' },\n { name: 'b', type: 'any', description: 'Second value' },\n ],\n example: '[\"validate/equals\", \"@payload.password\", \"@payload.confirmPassword\"]',\n },\n 'validate/check': {\n module: 'validate',\n category: 'std-validate',\n minArity: 2,\n maxArity: 2,\n description: 'Run multiple validation rules, return { valid, errors }',\n hasSideEffects: false,\n returnType: 'any',\n params: [\n { name: 'value', type: 'any', description: 'Value or object to validate' },\n { name: 'rules', type: 'object', description: 'Validation rules by field' },\n ],\n example: `[\"validate/check\", \"@payload.data\", {\n \"name\": [[\"required\"], [\"minLength\", 2], [\"maxLength\", 50]],\n \"email\": [[\"required\"], [\"email\"]],\n \"age\": [[\"number\"], [\"min\", 18]]\n}]`,\n },\n};\n\n/**\n * Get all validate operator names.\n */\nexport function getValidateOperators(): string[] {\n return Object.keys(VALIDATE_OPERATORS);\n}\n"]}
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
import { OperatorMeta } from '@almadar/core/types';
|
|
2
|
+
import { a as StdOperatorMeta, S as StdModule } from './types-I95R8_FN.js';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Standard Library Registry
|
|
6
|
+
*
|
|
7
|
+
* Combined registry of all standard library operators.
|
|
8
|
+
* Provides lookup and validation functions for std/* operators.
|
|
9
|
+
*
|
|
10
|
+
* @packageDocumentation
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* Combined registry of all standard library operators.
|
|
15
|
+
*/
|
|
16
|
+
declare const STD_OPERATORS: Record<string, StdOperatorMeta>;
|
|
17
|
+
/**
|
|
18
|
+
* Module-specific operator registries.
|
|
19
|
+
*/
|
|
20
|
+
declare const STD_OPERATORS_BY_MODULE: Record<StdModule, Record<string, StdOperatorMeta>>;
|
|
21
|
+
/**
|
|
22
|
+
* Get std operator metadata by name.
|
|
23
|
+
*
|
|
24
|
+
* @param operator - Operator name (e.g., 'math/clamp')
|
|
25
|
+
* @returns Operator metadata or undefined if not found
|
|
26
|
+
*/
|
|
27
|
+
declare function getStdOperatorMeta(operator: string): StdOperatorMeta | undefined;
|
|
28
|
+
/**
|
|
29
|
+
* Check if an operator is a known std library operator.
|
|
30
|
+
*
|
|
31
|
+
* @param operator - Operator name
|
|
32
|
+
* @returns true if operator exists in std library
|
|
33
|
+
*/
|
|
34
|
+
declare function isKnownStdOperator(operator: string): boolean;
|
|
35
|
+
/**
|
|
36
|
+
* Get all operators for a specific module.
|
|
37
|
+
*
|
|
38
|
+
* @param module - Module name
|
|
39
|
+
* @returns Record of operators in that module
|
|
40
|
+
*/
|
|
41
|
+
declare function getModuleOperators(module: StdModule): Record<string, StdOperatorMeta>;
|
|
42
|
+
/**
|
|
43
|
+
* Get all std operator names.
|
|
44
|
+
*
|
|
45
|
+
* @returns Array of all std operator names
|
|
46
|
+
*/
|
|
47
|
+
declare function getAllStdOperators(): string[];
|
|
48
|
+
/**
|
|
49
|
+
* Get all std operator names for a specific module.
|
|
50
|
+
*
|
|
51
|
+
* @param module - Module name
|
|
52
|
+
* @returns Array of operator names in that module
|
|
53
|
+
*/
|
|
54
|
+
declare function getStdOperatorsByModule(module: StdModule): string[];
|
|
55
|
+
/**
|
|
56
|
+
* Get all std operators that accept lambda expressions.
|
|
57
|
+
*
|
|
58
|
+
* @returns Array of operator names that accept lambdas
|
|
59
|
+
*/
|
|
60
|
+
declare function getLambdaOperators(): string[];
|
|
61
|
+
/**
|
|
62
|
+
* Get all std operators with side effects.
|
|
63
|
+
*
|
|
64
|
+
* @returns Array of operator names with side effects
|
|
65
|
+
*/
|
|
66
|
+
declare function getStdEffectOperators(): string[];
|
|
67
|
+
/**
|
|
68
|
+
* Get all pure std operators (no side effects).
|
|
69
|
+
*
|
|
70
|
+
* @returns Array of operator names without side effects
|
|
71
|
+
*/
|
|
72
|
+
declare function getStdPureOperators(): string[];
|
|
73
|
+
/**
|
|
74
|
+
* Validate std operator arity.
|
|
75
|
+
*
|
|
76
|
+
* @param operator - Operator name
|
|
77
|
+
* @param argCount - Number of arguments provided
|
|
78
|
+
* @returns Error message if invalid, null if valid
|
|
79
|
+
*/
|
|
80
|
+
declare function validateStdOperatorArity(operator: string, argCount: number): string | null;
|
|
81
|
+
/**
|
|
82
|
+
* Check if a std operator is valid in guard context (no side effects).
|
|
83
|
+
*
|
|
84
|
+
* @param operator - Operator name
|
|
85
|
+
* @returns true if operator can be used in guards
|
|
86
|
+
*/
|
|
87
|
+
declare function isStdGuardOperator(operator: string): boolean;
|
|
88
|
+
/**
|
|
89
|
+
* Check if a std operator has side effects.
|
|
90
|
+
*
|
|
91
|
+
* @param operator - Operator name
|
|
92
|
+
* @returns true if operator has side effects
|
|
93
|
+
*/
|
|
94
|
+
declare function isStdEffectOperator(operator: string): boolean;
|
|
95
|
+
/**
|
|
96
|
+
* Get operator metadata, checking both core and std operators.
|
|
97
|
+
* This function integrates with the core operator system.
|
|
98
|
+
*
|
|
99
|
+
* @param operator - Operator name
|
|
100
|
+
* @param coreOperators - Core operator registry (OPERATORS from operators.ts)
|
|
101
|
+
* @returns Operator metadata or undefined
|
|
102
|
+
*/
|
|
103
|
+
declare function getOperatorMetaExtended(operator: string, coreOperators: Record<string, OperatorMeta>): OperatorMeta | StdOperatorMeta | undefined;
|
|
104
|
+
/**
|
|
105
|
+
* Check if an operator is known (core or std).
|
|
106
|
+
*
|
|
107
|
+
* @param operator - Operator name
|
|
108
|
+
* @param coreOperators - Core operator registry
|
|
109
|
+
* @returns true if operator exists
|
|
110
|
+
*/
|
|
111
|
+
declare function isKnownOperatorExtended(operator: string, coreOperators: Record<string, OperatorMeta>): boolean;
|
|
112
|
+
/**
|
|
113
|
+
* Validate operator arity (core or std).
|
|
114
|
+
*
|
|
115
|
+
* @param operator - Operator name
|
|
116
|
+
* @param argCount - Number of arguments
|
|
117
|
+
* @param coreOperators - Core operator registry
|
|
118
|
+
* @returns Error message or null
|
|
119
|
+
*/
|
|
120
|
+
declare function validateOperatorArityExtended(operator: string, argCount: number, coreOperators: Record<string, OperatorMeta>): string | null;
|
|
121
|
+
/**
|
|
122
|
+
* Check if an operator has side effects (core or std).
|
|
123
|
+
*
|
|
124
|
+
* @param operator - Operator name
|
|
125
|
+
* @param coreOperators - Core operator registry
|
|
126
|
+
* @returns true if operator has side effects
|
|
127
|
+
*/
|
|
128
|
+
declare function isEffectOperatorExtended(operator: string, coreOperators: Record<string, OperatorMeta>): boolean;
|
|
129
|
+
/**
|
|
130
|
+
* Get statistics about the standard library.
|
|
131
|
+
*/
|
|
132
|
+
declare function getStdLibStats(): {
|
|
133
|
+
totalOperators: number;
|
|
134
|
+
byModule: Record<StdModule, number>;
|
|
135
|
+
pureOperators: number;
|
|
136
|
+
effectOperators: number;
|
|
137
|
+
lambdaOperators: number;
|
|
138
|
+
};
|
|
139
|
+
|
|
140
|
+
export { STD_OPERATORS, STD_OPERATORS_BY_MODULE, getAllStdOperators, getLambdaOperators, getModuleOperators, getOperatorMetaExtended, getStdEffectOperators, getStdLibStats, getStdOperatorMeta, getStdOperatorsByModule, getStdPureOperators, isEffectOperatorExtended, isKnownOperatorExtended, isKnownStdOperator, isStdEffectOperator, isStdGuardOperator, validateOperatorArityExtended, validateStdOperatorArity };
|