aboutsummaryrefslogtreecommitdiff
path: root/src/Utils.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/Utils.ts')
-rw-r--r--src/Utils.ts13
1 files changed, 11 insertions, 2 deletions
diff --git a/src/Utils.ts b/src/Utils.ts
index d653acd34..b7e6b83a0 100644
--- a/src/Utils.ts
+++ b/src/Utils.ts
@@ -117,13 +117,21 @@ export namespace Utils {
return { r: r, g: g, b: b, a: a };
}
+ const isTransparentFunctionHack = "isTransparent(__value__)";
+ const noRecursionHack = "__noRecursion";
+ export function IsRecursiveFilter(val: string) {
+ return !val.includes(noRecursionHack);
+ }
+ export function HasTransparencyFilter(val: string) {
+ return val.includes(isTransparentFunctionHack);
+ }
export function IsTransparentFilter() {
// bcz: isTransparent(__value__) is a hack. it would be nice to have acual functions be parsed, but now Doc.matchFieldValue is hardwired to recognize just this one
- return ["backgroundColor:isTransparent(__value__):check"];
+ return `backgroundColor:${isTransparentFunctionHack},${noRecursionHack}:check`;// bcz: hack. noRecursion should probably be either another ':' delimited field, or it should be a modifier to the comparision (eg., check, x, etc) field
}
export function IsOpaqueFilter() {
// bcz: isTransparent(__value__) is a hack. it would be nice to have acual functions be parsed, but now Doc.matchFieldValue is hardwired to recognize just this one
- return ["backgroundColor:isTransparent(__value__):x"];
+ return `backgroundColor:${isTransparentFunctionHack},${noRecursionHack}:x`;// bcz: hack. noRecursion should probably be either another ':' delimited field, or it should be a modifier to the comparision (eg., check, x, etc) field
}
@@ -450,6 +458,7 @@ export function emptyFunction() { }
export function unimplementedFunction() { throw new Error("This function is not implemented, but should be."); }
+
export type Without<T, K extends keyof T> = Pick<T, Exclude<keyof T, K>>;
export type Predicate<K, V> = (entry: [K, V]) => boolean;