vintasend-managed-templates 1.0.0-alpha2 → 1.0.0-alpha3
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/filters.d.ts.map +1 -1
- package/dist/filters.js +23 -6
- package/package.json +2 -2
package/dist/filters.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filters.d.ts","sourceRoot":"","sources":["../src/filters.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAE5D,8DAA8D;AAC9D,MAAM,MAAM,SAAS,GAAG;IACtB,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,EAAE,CAAC,EAAE,IAAI,CAAC;CACX,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,MAAM,EAAE,OAAO,GAAG,YAAY,GAAG,UAAU,GAAG,UAAU,CAAC;IACzD,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB,CAAC;AAEF,uDAAuD;AACvD,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,kBAAkB,CAAC;AAE5D,MAAM,MAAM,mBAAmB,GAAG;IAChC,MAAM,EAAE,IAAI,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,CAAC;IACpC,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,MAAM,GAAG,mBAAmB,CAAC;AAE9D,MAAM,MAAM,2BAA2B,GACnC,qBAAqB,GACrB;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,qBAAqB,CAAA;CAAE,GACjD;IAAE,MAAM,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,qBAAqB,EAAE,CAAA;CAAE,CAAC;AAErD;;;;;;;GAOG;AACH,MAAM,MAAM,eAAe,GAAG,MAAM,EAAE,CAAC;AAEvC;;GAEG;AACH,MAAM,MAAM,2BAA2B,GAAG;IACxC,IAAI,CAAC,EAAE,iBAAiB,CAAC;IACzB,WAAW,CAAC,EAAE,iBAAiB,CAAC;IAChC,GAAG,CAAC,EAAE,iBAAiB,CAAC;IACxB,OAAO,CAAC,EAAE,kBAAkB,CAAC;IAC7B,sBAAsB,CAAC,EAAE,iBAAiB,CAAC;IAC3C,MAAM,CAAC,EAAE,2BAA2B,CAAC;IACrC,cAAc,CAAC,EAAE,SAAS,CAAC;IAC3B,cAAc,CAAC,EAAE,SAAS,CAAC;IAC3B;;;;;OAKG;IACH,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,iBAAiB,CAAC,EAAE,eAAe,CAAC;IACpC;;;;;;;;;OASG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;;;;;;OASG;IACH,uBAAuB,CAAC,EAAE,OAAO,CAAC;CACnC,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAC7B,2BAA2B,GAC3B;IAAE,GAAG,EAAE,qBAAqB,EAAE,CAAA;CAAE,GAChC;IAAE,EAAE,EAAE,qBAAqB,EAAE,CAAA;CAAE,GAC/B;IAAE,GAAG,EAAE,qBAAqB,CAAA;CAAE,CAAC;AAEnC;;;;;;GAMG;AACH,eAAO,MAAM,mBAAmB,6MAamC,CAAC;AAepE,wFAAwF;AACxF,eAAO,MAAM,iBAAiB,mDAAoD,CAAC;AAEnF,uDAAuD;AACvD,eAAO,MAAM,kBAAkB,oDAAqD,CAAC;
|
|
1
|
+
{"version":3,"file":"filters.d.ts","sourceRoot":"","sources":["../src/filters.ts"],"names":[],"mappings":"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"}
|
package/dist/filters.js
CHANGED
|
@@ -33,6 +33,21 @@ void _allFilterFieldsListed;
|
|
|
33
33
|
export const TAG_FILTER_FIELDS = ['includesAllTags', 'includesAnyOfTags'];
|
|
34
34
|
/** The filter fields whose value is a bare boolean. */
|
|
35
35
|
export const FLAG_FILTER_FIELDS = ['mostRecentActiveVersion', 'isAbstract'];
|
|
36
|
+
/**
|
|
37
|
+
* The filter fields whose value is a string match rather than a token, a range or a flag — the
|
|
38
|
+
* only ones the `stringLookups.*` capabilities have anything to say about.
|
|
39
|
+
*
|
|
40
|
+
* `status` is deliberately absent. It is a string union, so it passes `typeof value === 'string'`
|
|
41
|
+
* and `isStringFilterLookup`, but it is matched as a token — `matchesStatus`, not `matchesString`
|
|
42
|
+
* — and no string-comparison capability constrains it. Gating on the field name rather than on the
|
|
43
|
+
* value's shape is what keeps the pruner agreeing with the evaluator.
|
|
44
|
+
*/
|
|
45
|
+
const STRING_LOOKUP_FIELDS = [
|
|
46
|
+
'name',
|
|
47
|
+
'description',
|
|
48
|
+
'key',
|
|
49
|
+
'templateManagedBackend',
|
|
50
|
+
];
|
|
36
51
|
const LOGICAL_KEYS = ['and', 'or', 'not'];
|
|
37
52
|
const STRING_LOOKUPS = ['exact', 'startsWith', 'endsWith', 'includes'];
|
|
38
53
|
const NUMERIC_LOOKUPS = ['gt', 'gte', 'lt', 'lte'];
|
|
@@ -223,12 +238,14 @@ function pruneFields(fields, can) {
|
|
|
223
238
|
continue;
|
|
224
239
|
if (!can(`fields.${field}`))
|
|
225
240
|
continue;
|
|
226
|
-
if (
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
241
|
+
if (STRING_LOOKUP_FIELDS.includes(field)) {
|
|
242
|
+
if (isStringFilterLookup(value) && !supportedStringLookup(value, can))
|
|
243
|
+
continue;
|
|
244
|
+
// A bare string means exact and case-sensitive.
|
|
245
|
+
if (typeof value === 'string' &&
|
|
246
|
+
!(can('stringLookups.exact') && can('stringLookups.caseSensitive'))) {
|
|
247
|
+
continue;
|
|
248
|
+
}
|
|
232
249
|
}
|
|
233
250
|
kept[field] = value;
|
|
234
251
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "vintasend-managed-templates",
|
|
3
|
-
"version": "1.0.0-
|
|
3
|
+
"version": "1.0.0-alpha3",
|
|
4
4
|
"description": "Database-backed notification templates for VintaSend: versioning, a draft/active/inactive/archived lifecycle with an audit trail, tags, composition and filtering — on top of a storage seam you implement.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
"url": "git+https://github.com/vintasoftware/vintasend-ts-managed-templates.git"
|
|
27
27
|
},
|
|
28
28
|
"dependencies": {
|
|
29
|
-
"vintasend": "^1.0.0-
|
|
29
|
+
"vintasend": "^1.0.0-alpha3"
|
|
30
30
|
},
|
|
31
31
|
"devDependencies": {
|
|
32
32
|
"@biomejs/biome": "^2.5.10",
|