@memberjunction/version-history 6.1.0-edge.3 → 6.1.0-edge.5
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/constants.d.ts +11 -2
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +16 -10
- package/dist/constants.js.map +1 -1
- package/package.json +4 -4
package/dist/constants.d.ts
CHANGED
|
@@ -11,15 +11,24 @@ export declare const ENTITY_VERSION_LABEL_RESTORES = "MJ: Version Label Restores
|
|
|
11
11
|
export declare const ENTITY_RECORD_CHANGES = "MJ: Record Changes";
|
|
12
12
|
/**
|
|
13
13
|
* Escape a string value for safe inclusion in a SQL filter.
|
|
14
|
-
*
|
|
14
|
+
*
|
|
15
|
+
* @deprecated Import `EscapeSQLString` from `@memberjunction/global` instead — it is the one
|
|
16
|
+
* canonical escaper. This alias remains only so external callers do not break; it will be
|
|
17
|
+
* removed in the next major.
|
|
15
18
|
*/
|
|
16
|
-
export declare
|
|
19
|
+
export declare const escapeSqlString: (value: string | null | undefined) => string;
|
|
17
20
|
/**
|
|
18
21
|
* Build a safe SQL equality filter: FieldName = 'escapedValue'
|
|
19
22
|
*/
|
|
20
23
|
export declare function sqlEquals(fieldName: string, value: string): string;
|
|
21
24
|
/**
|
|
22
25
|
* Build a safe SQL LIKE filter: FieldName LIKE '%escapedValue%'
|
|
26
|
+
*
|
|
27
|
+
* NOTE: `EscapeSQLString` neutralises quotes but NOT LIKE metacharacters — a `value` containing
|
|
28
|
+
* `%`, `_` or `[` is still interpreted as a wildcard pattern rather than as literal text. That is
|
|
29
|
+
* the long-standing behaviour of this helper and callers depend on it. If you need a literal
|
|
30
|
+
* match, escape the metacharacters and add `ESCAPE '\'` (see `escapeLikeValue()` in
|
|
31
|
+
* `@memberjunction/core`, `generic/runQuerySQLFilterImplementations.ts`).
|
|
23
32
|
*/
|
|
24
33
|
export declare function sqlContains(fieldName: string, value: string): string;
|
|
25
34
|
/**
|
package/dist/constants.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AAQH,qCAAqC;AACrC,eAAO,MAAM,qBAAqB,uBAAuB,CAAC;AAE1D,0CAA0C;AAC1C,eAAO,MAAM,0BAA0B,4BAA4B,CAAC;AAEpE,6CAA6C;AAC7C,eAAO,MAAM,6BAA6B,+BAA+B,CAAC;AAE1E,qCAAqC;AACrC,eAAO,MAAM,qBAAqB,uBAAuB,CAAC;AAM1D;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,GAAI,OAAO,MAAM,GAAG,IAAI,GAAG,SAAS,KAAG,MAAgC,CAAC;AAEpG;;GAEG;AACH,wBAAgB,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAElE;AAED;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAEpE;AAED;;GAEG;AACH,wBAAgB,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,CAGjE;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,CAGpE;AAMD,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAEhE;;;GAGG;AACH,wBAAgB,2BAA2B,CACvC,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAChC,YAAY,CAMd;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAClC,UAAU,EAAE,UAAU,EACtB,KAAK,EAAE,MAAM,GACd,YAAY,CAKd;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,YAAY,CAEnD;AAMD,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAqB,QAAQ,EAAY,MAAM,sBAAsB,CAAC;AAE5G;;;;GAIG;AACH,wBAAsB,wBAAwB,CAC1C,cAAc,EAAE,MAAM,EACtB,WAAW,EAAE,QAAQ,GACtB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC,CA2BzC;AAED;;;GAGG;AACH,wBAAsB,cAAc,CAAC,CAAC,SAAS,UAAU,GAAG,UAAU,EAClE,UAAU,EAAE,MAAM,EAClB,EAAE,EAAE,MAAM,EACV,WAAW,EAAE,QAAQ,EACrB,QAAQ,CAAC,EAAE,iBAAiB,GAC7B,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CAanB"}
|
package/dist/constants.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Shared constants and utilities for the version-history package.
|
|
3
3
|
*/
|
|
4
|
+
import { EscapeSQLString } from '@memberjunction/global';
|
|
4
5
|
// ---------------------------------------------------------------------------
|
|
5
6
|
// Entity name constants
|
|
6
7
|
// ---------------------------------------------------------------------------
|
|
@@ -17,37 +18,42 @@ export const ENTITY_RECORD_CHANGES = 'MJ: Record Changes';
|
|
|
17
18
|
// ---------------------------------------------------------------------------
|
|
18
19
|
/**
|
|
19
20
|
* Escape a string value for safe inclusion in a SQL filter.
|
|
20
|
-
*
|
|
21
|
+
*
|
|
22
|
+
* @deprecated Import `EscapeSQLString` from `@memberjunction/global` instead — it is the one
|
|
23
|
+
* canonical escaper. This alias remains only so external callers do not break; it will be
|
|
24
|
+
* removed in the next major.
|
|
21
25
|
*/
|
|
22
|
-
export
|
|
23
|
-
if (value == null)
|
|
24
|
-
return '';
|
|
25
|
-
return String(value).replace(/'/g, "''");
|
|
26
|
-
}
|
|
26
|
+
export const escapeSqlString = (value) => EscapeSQLString(value);
|
|
27
27
|
/**
|
|
28
28
|
* Build a safe SQL equality filter: FieldName = 'escapedValue'
|
|
29
29
|
*/
|
|
30
30
|
export function sqlEquals(fieldName, value) {
|
|
31
|
-
return `${fieldName} = '${
|
|
31
|
+
return `${fieldName} = '${EscapeSQLString(value)}'`;
|
|
32
32
|
}
|
|
33
33
|
/**
|
|
34
34
|
* Build a safe SQL LIKE filter: FieldName LIKE '%escapedValue%'
|
|
35
|
+
*
|
|
36
|
+
* NOTE: `EscapeSQLString` neutralises quotes but NOT LIKE metacharacters — a `value` containing
|
|
37
|
+
* `%`, `_` or `[` is still interpreted as a wildcard pattern rather than as literal text. That is
|
|
38
|
+
* the long-standing behaviour of this helper and callers depend on it. If you need a literal
|
|
39
|
+
* match, escape the metacharacters and add `ESCAPE '\'` (see `escapeLikeValue()` in
|
|
40
|
+
* `@memberjunction/core`, `generic/runQuerySQLFilterImplementations.ts`).
|
|
35
41
|
*/
|
|
36
42
|
export function sqlContains(fieldName, value) {
|
|
37
|
-
return `${fieldName} LIKE '%${
|
|
43
|
+
return `${fieldName} LIKE '%${EscapeSQLString(value)}%'`;
|
|
38
44
|
}
|
|
39
45
|
/**
|
|
40
46
|
* Build a safe SQL IN filter: FieldName IN ('a','b','c')
|
|
41
47
|
*/
|
|
42
48
|
export function sqlIn(fieldName, values) {
|
|
43
|
-
const escaped = values.map(v => `'${
|
|
49
|
+
const escaped = values.map(v => `'${EscapeSQLString(v)}'`).join(', ');
|
|
44
50
|
return `${fieldName} IN (${escaped})`;
|
|
45
51
|
}
|
|
46
52
|
/**
|
|
47
53
|
* Build a safe SQL NOT IN filter: FieldName NOT IN ('a','b','c')
|
|
48
54
|
*/
|
|
49
55
|
export function sqlNotIn(fieldName, values) {
|
|
50
|
-
const escaped = values.map(v => `'${
|
|
56
|
+
const escaped = values.map(v => `'${EscapeSQLString(v)}'`).join(', ');
|
|
51
57
|
return `${fieldName} NOT IN (${escaped})`;
|
|
52
58
|
}
|
|
53
59
|
// ---------------------------------------------------------------------------
|
package/dist/constants.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,8EAA8E;AAC9E,wBAAwB;AACxB,8EAA8E;AAE9E,qCAAqC;AACrC,MAAM,CAAC,MAAM,qBAAqB,GAAG,oBAAoB,CAAC;AAE1D,0CAA0C;AAC1C,MAAM,CAAC,MAAM,0BAA0B,GAAG,yBAAyB,CAAC;AAEpE,6CAA6C;AAC7C,MAAM,CAAC,MAAM,6BAA6B,GAAG,4BAA4B,CAAC;AAE1E,qCAAqC;AACrC,MAAM,CAAC,MAAM,qBAAqB,GAAG,oBAAoB,CAAC;AAE1D,8EAA8E;AAC9E,uBAAuB;AACvB,8EAA8E;AAE9E
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@memberjunction/version-history",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "6.1.0-edge.
|
|
4
|
+
"version": "6.1.0-edge.5",
|
|
5
5
|
"description": "Server-side version history engine providing label-based versioning, dependency-graph snapshots, cross-entity diffs, and point-in-time restore for MemberJunction record changes",
|
|
6
6
|
"main": "dist/index.js",
|
|
7
7
|
"types": "dist/index.d.ts",
|
|
@@ -14,9 +14,9 @@
|
|
|
14
14
|
"typescript": "^5.9.3"
|
|
15
15
|
},
|
|
16
16
|
"dependencies": {
|
|
17
|
-
"@memberjunction/core": "6.1.0-edge.
|
|
18
|
-
"@memberjunction/core-entities": "6.1.0-edge.
|
|
19
|
-
"@memberjunction/global": "6.1.0-edge.
|
|
17
|
+
"@memberjunction/core": "6.1.0-edge.5",
|
|
18
|
+
"@memberjunction/core-entities": "6.1.0-edge.5",
|
|
19
|
+
"@memberjunction/global": "6.1.0-edge.5"
|
|
20
20
|
},
|
|
21
21
|
"repository": {
|
|
22
22
|
"type": "git",
|