@mapples/inlang 1.1.2 → 1.6.0-beta.20260916105611
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/CHANGELOG.md +53 -0
- package/dist/state/conditions.d.ts +22 -0
- package/dist/state/conditions.d.ts.map +1 -1
- package/dist/state/conditions.js +54 -0
- package/dist/state/conditions.js.map +1 -1
- package/dist/state/types.d.ts +25 -1
- package/dist/state/types.d.ts.map +1 -1
- package/dist/state/types.js +27 -0
- package/dist/state/types.js.map +1 -1
- package/dist/state/utils.d.ts +2 -1
- package/dist/state/utils.d.ts.map +1 -1
- package/dist/state/utils.js +10 -2
- package/dist/state/utils.js.map +1 -1
- package/package.json +2 -2
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
# @mapples/inlang
|
|
2
|
+
|
|
3
|
+
## 1.6.0-beta.20260916105611
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- a6c5872: All `@mapples/*` runtime packages now share one version and are versioned and published together from `mapplesorg/mapples-kit`; `mapples-open-kit` is a read-only mirror of the source.
|
|
8
|
+
|
|
9
|
+
## 1.2.0
|
|
10
|
+
|
|
11
|
+
### Minor Changes
|
|
12
|
+
|
|
13
|
+
- 40751c7: Writable variables runtime: `@mapples/state` gains writable variables, action commands and `StateActionHandler` (and stops writing refs during render in `VariablesProvider`); `@mapples/types` adds API definition, variables types and their validators; `@mapples/render` supports the reserved `_visible` data binding for conditional visibility and wraps custom renderers in the state context; `@mapples/inlang` conditions accept numeric values.
|
|
14
|
+
|
|
15
|
+
## 1.1.2
|
|
16
|
+
|
|
17
|
+
### Patch Changes
|
|
18
|
+
|
|
19
|
+
- 6150aa1: Update typography handling logic and resolve minor isssue
|
|
20
|
+
|
|
21
|
+
## 1.1.1
|
|
22
|
+
|
|
23
|
+
### Patch Changes
|
|
24
|
+
|
|
25
|
+
- f2313c2: feat: introudce navigation component
|
|
26
|
+
|
|
27
|
+
## 1.1.0
|
|
28
|
+
|
|
29
|
+
### Minor Changes
|
|
30
|
+
|
|
31
|
+
- 8628ce2: Bump vesrions to match the system
|
|
32
|
+
|
|
33
|
+
## 1.0.2
|
|
34
|
+
|
|
35
|
+
### Patch Changes
|
|
36
|
+
|
|
37
|
+
- b39e19e: feat: do not ask user to put brackets for width/height value
|
|
38
|
+
|
|
39
|
+
## 1.0.1
|
|
40
|
+
|
|
41
|
+
### Patch Changes
|
|
42
|
+
|
|
43
|
+
- a1151e5: fix: resolve parsing issues
|
|
44
|
+
|
|
45
|
+
## 1.0.0
|
|
46
|
+
|
|
47
|
+
### Major Changes
|
|
48
|
+
|
|
49
|
+
- 53fb55e: Introduce inlang package
|
|
50
|
+
|
|
51
|
+
### Patch Changes
|
|
52
|
+
|
|
53
|
+
- 53fb55e: feat: introduce inlang feature\
|
|
@@ -3,6 +3,28 @@ import { ConditionFunc, Conditions } from './types';
|
|
|
3
3
|
export declare const eq: ConditionFunc;
|
|
4
4
|
/** Strict-inequality condition: returns `true` when `a !== b`. */
|
|
5
5
|
export declare const notEq: ConditionFunc;
|
|
6
|
+
/** Numeric `>` comparison; both operands are coerced via {@link asNumber}. */
|
|
7
|
+
export declare const gt: ConditionFunc;
|
|
8
|
+
/** Numeric `>=` comparison; both operands are coerced via {@link asNumber}. */
|
|
9
|
+
export declare const gte: ConditionFunc;
|
|
10
|
+
/** Numeric `<` comparison; both operands are coerced via {@link asNumber}. */
|
|
11
|
+
export declare const lt: ConditionFunc;
|
|
12
|
+
/** Numeric `<=` comparison; both operands are coerced via {@link asNumber}. */
|
|
13
|
+
export declare const lte: ConditionFunc;
|
|
14
|
+
/**
|
|
15
|
+
* Membership condition: array `a` includes `b`, or string `a` contains the
|
|
16
|
+
* substring `String(b)`. Non-string/array subjects are stringified.
|
|
17
|
+
*/
|
|
18
|
+
export declare const contains: ConditionFunc;
|
|
19
|
+
/** Negated {@link contains}. */
|
|
20
|
+
export declare const notContains: ConditionFunc;
|
|
21
|
+
/**
|
|
22
|
+
* Unary emptiness condition: `true` for null/undefined, `''`, empty arrays
|
|
23
|
+
* and plain objects with no keys. Numbers and booleans are never empty.
|
|
24
|
+
*/
|
|
25
|
+
export declare const isEmpty: ConditionFunc;
|
|
26
|
+
/** Negated {@link isEmpty}. */
|
|
27
|
+
export declare const isNotEmpty: ConditionFunc;
|
|
6
28
|
/**
|
|
7
29
|
* Lookup map from each {@link Conditions} operator to its corresponding
|
|
8
30
|
* {@link ConditionFunc} implementation.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conditions.d.ts","sourceRoot":"","sources":["../../src/state/conditions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAEpD,gEAAgE;AAChE,eAAO,MAAM,EAAE,EAAE,aAAiC,CAAC;AAEnD,kEAAkE;AAClE,eAAO,MAAM,KAAK,EAAE,aAAiC,CAAC;AAEtD;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,UAAU,EAAE,aAAa,
|
|
1
|
+
{"version":3,"file":"conditions.d.ts","sourceRoot":"","sources":["../../src/state/conditions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAEpD,gEAAgE;AAChE,eAAO,MAAM,EAAE,EAAE,aAAiC,CAAC;AAEnD,kEAAkE;AAClE,eAAO,MAAM,KAAK,EAAE,aAAiC,CAAC;AAUtD,8EAA8E;AAC9E,eAAO,MAAM,EAAE,EAAE,aAAmD,CAAC;AAErE,+EAA+E;AAC/E,eAAO,MAAM,GAAG,EAAE,aAAoD,CAAC;AAEvE,8EAA8E;AAC9E,eAAO,MAAM,EAAE,EAAE,aAAmD,CAAC;AAErE,+EAA+E;AAC/E,eAAO,MAAM,GAAG,EAAE,aAAoD,CAAC;AAEvE;;;GAGG;AACH,eAAO,MAAM,QAAQ,EAAE,aAItB,CAAC;AAEF,gCAAgC;AAChC,eAAO,MAAM,WAAW,EAAE,aAAyC,CAAC;AASpE;;;GAGG;AACH,eAAO,MAAM,OAAO,EAAE,aAA+B,CAAC;AAEtD,+BAA+B;AAC/B,eAAO,MAAM,UAAU,EAAE,aAAgC,CAAC;AAE1D;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,UAAU,EAAE,aAAa,CAW1D,CAAC"}
|
package/dist/state/conditions.js
CHANGED
|
@@ -3,6 +3,52 @@ import { Conditions } from './types';
|
|
|
3
3
|
export const eq = (a, b) => a === b;
|
|
4
4
|
/** Strict-inequality condition: returns `true` when `a !== b`. */
|
|
5
5
|
export const notEq = (a, b) => a !== b;
|
|
6
|
+
/** Coerce an arbitrary state value to a number for ordering comparisons. */
|
|
7
|
+
const asNumber = (value) => {
|
|
8
|
+
if (typeof value === 'number')
|
|
9
|
+
return value;
|
|
10
|
+
if (typeof value === 'boolean')
|
|
11
|
+
return value ? 1 : 0;
|
|
12
|
+
const parsed = Number(value ?? NaN);
|
|
13
|
+
return isNaN(parsed) ? 0 : parsed;
|
|
14
|
+
};
|
|
15
|
+
/** Numeric `>` comparison; both operands are coerced via {@link asNumber}. */
|
|
16
|
+
export const gt = (a, b) => asNumber(a) > asNumber(b);
|
|
17
|
+
/** Numeric `>=` comparison; both operands are coerced via {@link asNumber}. */
|
|
18
|
+
export const gte = (a, b) => asNumber(a) >= asNumber(b);
|
|
19
|
+
/** Numeric `<` comparison; both operands are coerced via {@link asNumber}. */
|
|
20
|
+
export const lt = (a, b) => asNumber(a) < asNumber(b);
|
|
21
|
+
/** Numeric `<=` comparison; both operands are coerced via {@link asNumber}. */
|
|
22
|
+
export const lte = (a, b) => asNumber(a) <= asNumber(b);
|
|
23
|
+
/**
|
|
24
|
+
* Membership condition: array `a` includes `b`, or string `a` contains the
|
|
25
|
+
* substring `String(b)`. Non-string/array subjects are stringified.
|
|
26
|
+
*/
|
|
27
|
+
export const contains = (a, b) => {
|
|
28
|
+
if (Array.isArray(a))
|
|
29
|
+
return a.includes(b);
|
|
30
|
+
if (a == null)
|
|
31
|
+
return false;
|
|
32
|
+
return String(a).includes(String(b));
|
|
33
|
+
};
|
|
34
|
+
/** Negated {@link contains}. */
|
|
35
|
+
export const notContains = (a, b) => !contains(a, b);
|
|
36
|
+
const empty = (a) => {
|
|
37
|
+
if (a == null || a === '')
|
|
38
|
+
return true;
|
|
39
|
+
if (Array.isArray(a))
|
|
40
|
+
return a.length === 0;
|
|
41
|
+
if (typeof a === 'object')
|
|
42
|
+
return Object.keys(a).length === 0;
|
|
43
|
+
return false;
|
|
44
|
+
};
|
|
45
|
+
/**
|
|
46
|
+
* Unary emptiness condition: `true` for null/undefined, `''`, empty arrays
|
|
47
|
+
* and plain objects with no keys. Numbers and booleans are never empty.
|
|
48
|
+
*/
|
|
49
|
+
export const isEmpty = (a) => empty(a);
|
|
50
|
+
/** Negated {@link isEmpty}. */
|
|
51
|
+
export const isNotEmpty = (a) => !empty(a);
|
|
6
52
|
/**
|
|
7
53
|
* Lookup map from each {@link Conditions} operator to its corresponding
|
|
8
54
|
* {@link ConditionFunc} implementation.
|
|
@@ -21,5 +67,13 @@ export const notEq = (a, b) => a !== b;
|
|
|
21
67
|
export const conditionMap = {
|
|
22
68
|
[Conditions.equals]: eq,
|
|
23
69
|
[Conditions.notEquals]: notEq,
|
|
70
|
+
[Conditions.greaterThan]: gt,
|
|
71
|
+
[Conditions.greaterOrEqual]: gte,
|
|
72
|
+
[Conditions.lessThan]: lt,
|
|
73
|
+
[Conditions.lessOrEqual]: lte,
|
|
74
|
+
[Conditions.contains]: contains,
|
|
75
|
+
[Conditions.notContains]: notContains,
|
|
76
|
+
[Conditions.isEmpty]: isEmpty,
|
|
77
|
+
[Conditions.isNotEmpty]: isNotEmpty,
|
|
24
78
|
};
|
|
25
79
|
//# sourceMappingURL=conditions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conditions.js","sourceRoot":"","sources":["../../src/state/conditions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,UAAU,EAAE,MAAM,SAAS,CAAC;AAEpD,gEAAgE;AAChE,MAAM,CAAC,MAAM,EAAE,GAAkB,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;AAEnD,kEAAkE;AAClE,MAAM,CAAC,MAAM,KAAK,GAAkB,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;AAEtD;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,YAAY,GAAsC;IAC7D,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,EAAE;IACvB,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,KAAK;
|
|
1
|
+
{"version":3,"file":"conditions.js","sourceRoot":"","sources":["../../src/state/conditions.ts"],"names":[],"mappings":"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"}
|
package/dist/state/types.d.ts
CHANGED
|
@@ -11,8 +11,32 @@ export declare enum Conditions {
|
|
|
11
11
|
/** Equality condition - checks if values are equal */
|
|
12
12
|
equals = "eq",
|
|
13
13
|
/** Not equals condition - checks if values are not equal */
|
|
14
|
-
notEquals = "neq"
|
|
14
|
+
notEquals = "neq",
|
|
15
|
+
/** Numeric greater-than comparison */
|
|
16
|
+
greaterThan = "gt",
|
|
17
|
+
/** Numeric greater-than-or-equal comparison */
|
|
18
|
+
greaterOrEqual = "gte",
|
|
19
|
+
/** Numeric less-than comparison */
|
|
20
|
+
lessThan = "lt",
|
|
21
|
+
/** Numeric less-than-or-equal comparison */
|
|
22
|
+
lessOrEqual = "lte",
|
|
23
|
+
/** Substring (strings) or membership (arrays) check */
|
|
24
|
+
contains = "contains",
|
|
25
|
+
/** Negated {@link Conditions.contains} */
|
|
26
|
+
notContains = "notContains",
|
|
27
|
+
/** Unary: value is null/undefined, '', an empty array or empty object */
|
|
28
|
+
isEmpty = "isEmpty",
|
|
29
|
+
/** Unary: negated {@link Conditions.isEmpty} */
|
|
30
|
+
isNotEmpty = "isNotEmpty"
|
|
15
31
|
}
|
|
32
|
+
/**
|
|
33
|
+
* Operators that take no comparison value — condition strings using them
|
|
34
|
+
* leave the value segment empty (e.g. `"vars.items::isEmpty::"`), and
|
|
35
|
+
* editors should hide the value input when one is selected.
|
|
36
|
+
*
|
|
37
|
+
* @public
|
|
38
|
+
*/
|
|
39
|
+
export declare const UnaryConditions: ReadonlySet<Conditions>;
|
|
16
40
|
/**
|
|
17
41
|
* Type representing a simple condition string.
|
|
18
42
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/state/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,oBAAY,UAAU;IACpB,sDAAsD;IACtD,MAAM,OAAO;IACb,4DAA4D;IAC5D,SAAS,QAAQ;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/state/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,oBAAY,UAAU;IACpB,sDAAsD;IACtD,MAAM,OAAO;IACb,4DAA4D;IAC5D,SAAS,QAAQ;IACjB,sCAAsC;IACtC,WAAW,OAAO;IAClB,+CAA+C;IAC/C,cAAc,QAAQ;IACtB,mCAAmC;IACnC,QAAQ,OAAO;IACf,4CAA4C;IAC5C,WAAW,QAAQ;IACnB,uDAAuD;IACvD,QAAQ,aAAa;IACrB,0CAA0C;IAC1C,WAAW,gBAAgB;IAC3B,yEAAyE;IACzE,OAAO,YAAY;IACnB,gDAAgD;IAChD,UAAU,eAAe;CAC1B;AAED;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,EAAE,WAAW,CAAC,UAAU,CAGlD,CAAC;AAEH;;;;;;;;GAQG;AACH,MAAM,MAAM,eAAe,GAAG,GAAG,MAAM,KAAK,UAAU,KAAK,MAAM,EAAE,CAAC;AAEpE;;;;;;;;GAQG;AACH,MAAM,MAAM,aAAa,GAAG,GAAG,MAAM,KAAK,UAAU,KAAK,MAAM,GAAG,OAAO,EAAE,CAAC;AAE5E;;;;;;;;;;GAUG;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC;AAEhE;;;;;GAKG;AACH,MAAM,MAAM,SAAS,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,UAAU,CAAC;AAErE;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,UAAU,CAAC;IACtB,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;IAC5B,SAAS,EAAE,SAAS,CAAC;CACtB"}
|
package/dist/state/types.js
CHANGED
|
@@ -13,5 +13,32 @@ export var Conditions;
|
|
|
13
13
|
Conditions["equals"] = "eq";
|
|
14
14
|
/** Not equals condition - checks if values are not equal */
|
|
15
15
|
Conditions["notEquals"] = "neq";
|
|
16
|
+
/** Numeric greater-than comparison */
|
|
17
|
+
Conditions["greaterThan"] = "gt";
|
|
18
|
+
/** Numeric greater-than-or-equal comparison */
|
|
19
|
+
Conditions["greaterOrEqual"] = "gte";
|
|
20
|
+
/** Numeric less-than comparison */
|
|
21
|
+
Conditions["lessThan"] = "lt";
|
|
22
|
+
/** Numeric less-than-or-equal comparison */
|
|
23
|
+
Conditions["lessOrEqual"] = "lte";
|
|
24
|
+
/** Substring (strings) or membership (arrays) check */
|
|
25
|
+
Conditions["contains"] = "contains";
|
|
26
|
+
/** Negated {@link Conditions.contains} */
|
|
27
|
+
Conditions["notContains"] = "notContains";
|
|
28
|
+
/** Unary: value is null/undefined, '', an empty array or empty object */
|
|
29
|
+
Conditions["isEmpty"] = "isEmpty";
|
|
30
|
+
/** Unary: negated {@link Conditions.isEmpty} */
|
|
31
|
+
Conditions["isNotEmpty"] = "isNotEmpty";
|
|
16
32
|
})(Conditions || (Conditions = {}));
|
|
33
|
+
/**
|
|
34
|
+
* Operators that take no comparison value — condition strings using them
|
|
35
|
+
* leave the value segment empty (e.g. `"vars.items::isEmpty::"`), and
|
|
36
|
+
* editors should hide the value input when one is selected.
|
|
37
|
+
*
|
|
38
|
+
* @public
|
|
39
|
+
*/
|
|
40
|
+
export const UnaryConditions = new Set([
|
|
41
|
+
Conditions.isEmpty,
|
|
42
|
+
Conditions.isNotEmpty,
|
|
43
|
+
]);
|
|
17
44
|
//# sourceMappingURL=types.js.map
|
package/dist/state/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/state/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,MAAM,CAAN,IAAY,
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/state/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,MAAM,CAAN,IAAY,UAqBX;AArBD,WAAY,UAAU;IACpB,sDAAsD;IACtD,2BAAa,CAAA;IACb,4DAA4D;IAC5D,+BAAiB,CAAA;IACjB,sCAAsC;IACtC,gCAAkB,CAAA;IAClB,+CAA+C;IAC/C,oCAAsB,CAAA;IACtB,mCAAmC;IACnC,6BAAe,CAAA;IACf,4CAA4C;IAC5C,iCAAmB,CAAA;IACnB,uDAAuD;IACvD,mCAAqB,CAAA;IACrB,0CAA0C;IAC1C,yCAA2B,CAAA;IAC3B,yEAAyE;IACzE,iCAAmB,CAAA;IACnB,gDAAgD;IAChD,uCAAyB,CAAA;AAC3B,CAAC,EArBW,UAAU,KAAV,UAAU,QAqBrB;AAED;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,eAAe,GAA4B,IAAI,GAAG,CAAC;IAC9D,UAAU,CAAC,OAAO;IAClB,UAAU,CAAC,UAAU;CACtB,CAAC,CAAC"}
|
package/dist/state/utils.d.ts
CHANGED
|
@@ -67,7 +67,8 @@ export declare const parseCondition: (value: SimpleCondition | BoolCondition) =>
|
|
|
67
67
|
* where:
|
|
68
68
|
* - `dataProp` is alphanumeric with dots and underscores
|
|
69
69
|
* - `condition` is alphanumeric with underscores
|
|
70
|
-
* - `value` can be a quoted string,
|
|
70
|
+
* - `value` can be a quoted string, an unquoted path/number, or empty
|
|
71
|
+
* (unary operators like `isEmpty` leave it empty)
|
|
71
72
|
*
|
|
72
73
|
* @param value - The value to check
|
|
73
74
|
* @returns True if the value is a valid condition string, false otherwise
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/state/utils.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,aAAa,EAEb,oBAAoB,EACpB,eAAe,EAEhB,MAAM,SAAS,CAAC;AAWjB;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,iBAAiB,GAAI,GAAG,QAAQ,MAAM,EAAE,WAEpD,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,oBAAoB,GAAI,OAAO,MAAM,KAAG,oBAWpD,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,cAAc,GACzB,OAAO,eAAe,GAAG,aAAa,KACrC,
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/state/utils.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,aAAa,EAEb,oBAAoB,EACpB,eAAe,EAEhB,MAAM,SAAS,CAAC;AAWjB;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,iBAAiB,GAAI,GAAG,QAAQ,MAAM,EAAE,WAEpD,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,oBAAoB,GAAI,OAAO,MAAM,KAAG,oBAWpD,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,cAAc,GACzB,OAAO,eAAe,GAAG,aAAa,KACrC,oBAwCF,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,WAAW,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,eAKrD,CAAC;AAEF;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,MAAM,GAAI,OAAO,MAAM,GAAG,OAAO,YAI7C,CAAC;AAEF;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,QAAQ,GAAI,OAAO,MAAM,GAAG,OAAO,WAU/C,CAAC;AAEF;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,SAAS,GAAI,MAAM,MAAM,yBAErC,CAAC"}
|
package/dist/state/utils.js
CHANGED
|
@@ -101,6 +101,13 @@ export const parseCondition = (value) => {
|
|
|
101
101
|
valueType: mapTypes[type] || 'string',
|
|
102
102
|
};
|
|
103
103
|
}
|
|
104
|
+
if (/^-?\d+(\.\d+)?$/.test(valueProp))
|
|
105
|
+
return {
|
|
106
|
+
dataProp,
|
|
107
|
+
condition: condition,
|
|
108
|
+
valueProp,
|
|
109
|
+
valueType: 'number',
|
|
110
|
+
};
|
|
104
111
|
return {
|
|
105
112
|
dataProp,
|
|
106
113
|
condition: condition,
|
|
@@ -115,7 +122,8 @@ export const parseCondition = (value) => {
|
|
|
115
122
|
* where:
|
|
116
123
|
* - `dataProp` is alphanumeric with dots and underscores
|
|
117
124
|
* - `condition` is alphanumeric with underscores
|
|
118
|
-
* - `value` can be a quoted string,
|
|
125
|
+
* - `value` can be a quoted string, an unquoted path/number, or empty
|
|
126
|
+
* (unary operators like `isEmpty` leave it empty)
|
|
119
127
|
*
|
|
120
128
|
* @param value - The value to check
|
|
121
129
|
* @returns True if the value is a valid condition string, false otherwise
|
|
@@ -132,7 +140,7 @@ export const parseCondition = (value) => {
|
|
|
132
140
|
*/
|
|
133
141
|
export const isCondition = (value) => {
|
|
134
142
|
return (typeof value === 'string' &&
|
|
135
|
-
/^[a-zA-Z0-9_.]+::[a-zA-Z0-9_]+::("[^"]*"
|
|
143
|
+
/^[a-zA-Z0-9_.]+::[a-zA-Z0-9_]+::("[^"]*"|-?[a-zA-Z0-9_.]*|)$/.test(value));
|
|
136
144
|
};
|
|
137
145
|
/**
|
|
138
146
|
* Converts a string or boolean value to a boolean.
|
package/dist/state/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/state/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE5C,OAAO,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AASjD,MAAM,QAAQ,GAAG;IACf,GAAG,EAAE,QAAQ;IACb,GAAG,EAAE,QAAQ;IACb,IAAI,EAAE,SAAS;IACf,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,SAAS;CACV,CAAC;AAEX;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,GAAG,MAAgB,EAAE,EAAE;IACvD,OAAO,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;AACnC,CAAC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,KAAa,EAAwB,EAAE;IAC1E,MAAM,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,CAAC,GAAG,KAAK;SAC3C,IAAI,EAAE;SACN,KAAK,CAAC,qBAAqB,CAAC,CAAC;IAEhC,OAAO;QACL,QAAQ;QACR,SAAS,EAAE,SAAuB;QAClC,SAAS,EAAE,SAAS;QACpB,SAAS,EAAE,QAAQ;KACpB,CAAC;AACJ,CAAC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAC5B,KAAsC,EAChB,EAAE;IACxB,MAAM,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,CAAC,GAAG,KAAK;SAC3C,IAAI,EAAE;SACN,KAAK,CAAC,qBAAqB,CAAC,CAAC;IAEhC,IAAI,SAAS,KAAK,MAAM,IAAI,SAAS,KAAK,OAAO;QAC/C,OAAO;YACL,QAAQ;YACR,SAAS,EAAE,SAAuB;YAClC,SAAS,EAAE,SAAS,KAAK,MAAM;YAC/B,SAAS,EAAE,SAAS;SACrB,CAAC;IAEJ,IAAI,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;QAChC,MAAM,WAAW,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC3C,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAEtD,OAAO;YACL,QAAQ;YACR,SAAS,EAAE,SAAuB;YAClC,SAAS,EAAE,KAAK;YAChB,SAAS,EACP,QAAQ,CAAC,IAA6B,CAAC,IAAK,QAAsB;SACrE,CAAC;IACJ,CAAC;IAED,OAAO;QACL,QAAQ;QACR,SAAS,EAAE,SAAuB;QAClC,SAAS;QACT,SAAS,EAAE,UAAU;KACtB,CAAC;AACJ,CAAC,CAAC;AAEF
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/state/utils.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED