@sailpoint/connector-sdk 1.1.18 → 1.1.20
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/lib/filter.d.ts +7 -4
- package/dist/lib/filter.d.ts.map +1 -1
- package/dist/lib/filter.js +107 -165
- package/dist/lib/filter.js.map +1 -1
- package/package.json +2 -2
package/dist/lib/filter.d.ts
CHANGED
|
@@ -1,11 +1,14 @@
|
|
|
1
|
+
type data = {
|
|
2
|
+
[key: string]: boolean | string | string[] | number | number[] | any;
|
|
3
|
+
};
|
|
1
4
|
export declare class Filter {
|
|
2
5
|
private data;
|
|
3
|
-
constructor(data:
|
|
4
|
-
matcher(filterString: string):
|
|
6
|
+
constructor(data: data);
|
|
7
|
+
matcher(filterString: string): boolean;
|
|
5
8
|
private applyBinaryExpressionFilter;
|
|
6
9
|
private isNullorEmpty;
|
|
7
10
|
private applyCallExpressionFilter;
|
|
8
|
-
private
|
|
9
|
-
private applyOrBinaryExpressionFilter;
|
|
11
|
+
private applyFilter;
|
|
10
12
|
}
|
|
13
|
+
export {};
|
|
11
14
|
//# sourceMappingURL=filter.d.ts.map
|
package/dist/lib/filter.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filter.d.ts","sourceRoot":"","sources":["../../lib/filter.ts"],"names":[],"mappings":"AAEA,qBAAa,MAAM;IACjB,OAAO,CAAC,IAAI,CAAM;gBAEN,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"filter.d.ts","sourceRoot":"","sources":["../../lib/filter.ts"],"names":[],"mappings":"AAEA,KAAK,IAAI,GAAG;IACX,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,GAAG,CAAA;CACpE,CAAA;AACD,qBAAa,MAAM;IACjB,OAAO,CAAC,IAAI,CAAM;gBAEN,IAAI,EAAE,IAAI;IAKf,OAAO,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO;IAa7C,OAAO,CAAC,2BAA2B;IA6BnC,OAAO,CAAC,aAAa;IAiBrB,OAAO,CAAC,yBAAyB;IA2EjC,OAAO,CAAC,WAAW;CA6BpB"}
|
package/dist/lib/filter.js
CHANGED
|
@@ -1,26 +1,17 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
2
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
6
|
exports.Filter = void 0;
|
|
4
|
-
const
|
|
7
|
+
const jsep_1 = __importDefault(require("jsep"));
|
|
5
8
|
class Filter {
|
|
6
9
|
constructor(data) {
|
|
7
10
|
this.data = data;
|
|
8
11
|
}
|
|
9
12
|
// matcher decides which operation to be performed based on resource object based on the provided filter object
|
|
10
13
|
matcher(filterString) {
|
|
11
|
-
|
|
12
|
-
switch (true) {
|
|
13
|
-
case (filter.type === 'BinaryExpression' && filter.operator !== '&&' && filter.operator !== '||'):
|
|
14
|
-
return this.applyBinaryExpressionFilter(filter);
|
|
15
|
-
case (filter.type === 'CallExpression' && filter.operator !== '&&' && filter.operator !== '||'):
|
|
16
|
-
return this.applyCallExpressionFilter(filter);
|
|
17
|
-
case (filter.operator === '!'):
|
|
18
|
-
return !this.applyBinaryExpressionFilter(filter.argument);
|
|
19
|
-
case (filter.operator === '&&'):
|
|
20
|
-
return this.applyAndBinaryExpressionFilter(filter);
|
|
21
|
-
case (filter.operator === '||'):
|
|
22
|
-
return this.applyOrBinaryExpressionFilter(filter);
|
|
23
|
-
}
|
|
14
|
+
return this.applyFilter((0, jsep_1.default)(filterString));
|
|
24
15
|
}
|
|
25
16
|
// filterString Example: (age > 20)
|
|
26
17
|
// Filter evaluter Example :
|
|
@@ -32,32 +23,31 @@ class Filter {
|
|
|
32
23
|
//};
|
|
33
24
|
// applyBinaryExpressionFilter applies binarry filters on an objects
|
|
34
25
|
applyBinaryExpressionFilter(filter) {
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
26
|
+
const binaryExpression = filter; // type assertion
|
|
27
|
+
const left = binaryExpression.left;
|
|
28
|
+
const right = binaryExpression.right;
|
|
29
|
+
const operator = binaryExpression.operator;
|
|
30
|
+
const leftValue = left.type === 'Identifier' ? this.data[`${left.name}`] : left.value;
|
|
31
|
+
const rightValue = right.type === 'Identifier' ? this.data[`${right.name}`] : right.value;
|
|
32
|
+
switch (operator) {
|
|
33
|
+
case '==':
|
|
34
|
+
return leftValue == rightValue;
|
|
35
|
+
case '===':
|
|
36
|
+
return leftValue === rightValue;
|
|
37
|
+
case '>':
|
|
38
|
+
return leftValue > rightValue;
|
|
39
|
+
case '<':
|
|
40
|
+
return leftValue < rightValue;
|
|
41
|
+
case '>=':
|
|
42
|
+
return leftValue >= rightValue;
|
|
43
|
+
case '<=':
|
|
44
|
+
return leftValue <= rightValue;
|
|
45
|
+
case '!=':
|
|
46
|
+
return leftValue != rightValue;
|
|
47
|
+
default:
|
|
48
|
+
return true;
|
|
58
49
|
}
|
|
59
50
|
}
|
|
60
|
-
// a mock of the isNull method that could be attached to an object like 'email' 'name' etc..
|
|
61
51
|
isNullorEmpty(value) {
|
|
62
52
|
return value === null || value === undefined || value === '';
|
|
63
53
|
}
|
|
@@ -76,152 +66,104 @@ class Filter {
|
|
|
76
66
|
// applyCallExpressionFilte applies filter based on CallExpression
|
|
77
67
|
applyCallExpressionFilter(filter) {
|
|
78
68
|
// check if the filter is a CallExpression
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
69
|
+
const callExpression = filter;
|
|
70
|
+
const callee = callExpression.callee;
|
|
71
|
+
const object = callee.object;
|
|
72
|
+
const property = callee.property;
|
|
73
|
+
const args = callExpression.arguments;
|
|
74
|
+
// check if the object in the filter matches the object's name in the input data
|
|
75
|
+
if (this.data.hasOwnProperty(`${object.name}`)) {
|
|
76
|
+
const value = this.data[`${object.name}`]; // get the value of the object (e.g., email)
|
|
77
|
+
switch (`${property.name}`) {
|
|
78
|
+
case 'isNull': // check if the method is `isNull` and apply it to the value
|
|
79
|
+
return this.isNullorEmpty(value); // apply the isNull method
|
|
80
|
+
case 'notNull': // check if the method is `notNull` and apply it to the value
|
|
81
|
+
return !this.isNullorEmpty(value); // apply the notNull method
|
|
82
|
+
case 'isEmpty': // check if the method is `isEmpty` and apply it to the value
|
|
83
|
+
return this.isNullorEmpty(value); // apply the isEmpty method
|
|
84
|
+
case 'notEmpty': // check if the method is `notEmpty` and apply it to the value
|
|
85
|
+
return !this.isNullorEmpty(value); // apply the notEmpty method
|
|
86
|
+
case 'startsWith': // check if the method is `startsWith` and apply it to the value
|
|
87
|
+
return value.startsWith(args[0].value); // apply the startsWith method
|
|
88
|
+
case 'endsWith': // check if the method is `endsWith` and apply it to the value
|
|
89
|
+
return value.endsWith(args[0].value); // apply the endsWith method
|
|
90
|
+
case 'startsWithIgnoreCase': // check if the method is `startsWithIgnoreCase` and apply it to the value
|
|
91
|
+
return !value.startsWith(args[0].value); // apply the startsWithIgnoreCase method
|
|
92
|
+
case 'endsWithIgnoreCase': // check if the method is `endsWithIgnoreCase` and apply it to the value
|
|
93
|
+
return !value.endsWith(args[0].value); // apply the endsWithIgnoreCase method
|
|
94
|
+
case 'contains': // check if the method is `contains` and apply it to the value
|
|
95
|
+
return value.includes(args[0].value); // apply the contains method
|
|
96
|
+
case 'containsIgnoreCase': // check if the method is `containsIgnoreCase` and apply it to the value
|
|
97
|
+
return !value.includes(args[0].value); // apply the containsIgnoreCase method
|
|
98
|
+
case 'containsAll': // Check if the method is `containsAll` and apply it to the value
|
|
99
|
+
// ensure all values are present in the property
|
|
100
|
+
return args.every((arg => value.includes(arg.value))); // apply the containsAll method
|
|
101
|
+
case 'containsAllIgnoreCase': // Check if the method is `containsAllIgnoreCase` and apply it to the value
|
|
102
|
+
// ensure all values are present in the property
|
|
103
|
+
return args.every((arg => !value.includes(arg.value))); // apply the containsAllIgnoreCase method
|
|
104
|
+
default:
|
|
105
|
+
return true;
|
|
115
106
|
}
|
|
116
107
|
}
|
|
108
|
+
return true;
|
|
117
109
|
}
|
|
118
|
-
// filterString Example: ( type == "Employee" && location == "Austin" )
|
|
119
|
-
//
|
|
110
|
+
// // filterString Example 1: ( type == "Employee" && location == "Austin" )
|
|
111
|
+
// filterString Example 2: (((login == \"integrations-shtarko\" && name.isNull()) && company == \"sailpoint\") || city == \"pune\")
|
|
112
|
+
// Filter evaluter output Example :
|
|
120
113
|
// {
|
|
114
|
+
// type: 'BinaryExpression',
|
|
115
|
+
// operator: '||',
|
|
116
|
+
// left: {
|
|
121
117
|
// type: 'BinaryExpression',
|
|
122
118
|
// operator: '&&',
|
|
123
119
|
// left: {
|
|
124
120
|
// type: 'BinaryExpression',
|
|
125
121
|
// operator: '&&',
|
|
126
|
-
// left:
|
|
127
|
-
//
|
|
128
|
-
// operator: '==',
|
|
129
|
-
// left: [Object],
|
|
130
|
-
// right: [Object]
|
|
131
|
-
// },
|
|
132
|
-
// right: {
|
|
133
|
-
// type: 'BinaryExpression',
|
|
134
|
-
// operator: '==',
|
|
135
|
-
// left: [Object],
|
|
136
|
-
// right: [Object]
|
|
137
|
-
// }
|
|
122
|
+
// left: [Object],
|
|
123
|
+
// right: [Object]
|
|
138
124
|
// },
|
|
139
125
|
// right: {
|
|
140
126
|
// type: 'BinaryExpression',
|
|
141
127
|
// operator: '==',
|
|
142
|
-
// left:
|
|
143
|
-
// right:
|
|
128
|
+
// left: [Object],
|
|
129
|
+
// right: [Object]
|
|
144
130
|
// }
|
|
145
|
-
// }
|
|
146
|
-
//
|
|
147
|
-
applyAndBinaryExpressionFilter(filter) {
|
|
148
|
-
let currentFilter = filter;
|
|
149
|
-
let rightValue = [];
|
|
150
|
-
let leftValue = [];
|
|
151
|
-
// keep processing the filter as long as we have '&&' operators
|
|
152
|
-
while (currentFilter.operator === '&&') {
|
|
153
|
-
if (currentFilter.right.type === 'BinaryExpression') {
|
|
154
|
-
// evaluate the right part of the current '&&' expression
|
|
155
|
-
rightValue.push(this.applyBinaryExpressionFilter(currentFilter.right));
|
|
156
|
-
currentFilter = currentFilter.left;
|
|
157
|
-
if (currentFilter.operator !== '&&' && currentFilter.type === 'BinaryExpression') {
|
|
158
|
-
leftValue.push(this.applyBinaryExpressionFilter(currentFilter));
|
|
159
|
-
}
|
|
160
|
-
}
|
|
161
|
-
else {
|
|
162
|
-
// evaluate the right part of the current '&&' expression
|
|
163
|
-
rightValue.push(this.applyCallExpressionFilter(currentFilter.right));
|
|
164
|
-
currentFilter = currentFilter.left;
|
|
165
|
-
if (currentFilter.operator !== '&&' && currentFilter.type === 'CallExpression') {
|
|
166
|
-
leftValue.push(this.applyCallExpressionFilter(currentFilter));
|
|
167
|
-
}
|
|
168
|
-
}
|
|
169
|
-
}
|
|
170
|
-
return rightValue.every(Boolean) && leftValue.every(Boolean);
|
|
171
|
-
}
|
|
172
|
-
// filterString Example: ( type == "Employee" || location == "Austin" )
|
|
173
|
-
// Filter Evaluator Example for OR operation with multiple expressions:
|
|
174
|
-
// {
|
|
131
|
+
// },
|
|
132
|
+
// right: {
|
|
175
133
|
// type: 'BinaryExpression',
|
|
176
|
-
// operator: '
|
|
177
|
-
// left: {
|
|
178
|
-
//
|
|
179
|
-
// operator: '||',
|
|
180
|
-
// left: {
|
|
181
|
-
// type: 'BinaryExpression',
|
|
182
|
-
// operator: '==',
|
|
183
|
-
// left: [Object],
|
|
184
|
-
// right: [Object]
|
|
185
|
-
// },
|
|
186
|
-
// right: {
|
|
187
|
-
// type: 'BinaryExpression',
|
|
188
|
-
// operator: '==',
|
|
189
|
-
// left: [Object],
|
|
190
|
-
// right: [Object]
|
|
191
|
-
// }
|
|
192
|
-
// },
|
|
193
|
-
// right: {
|
|
194
|
-
// type: 'BinaryExpression',
|
|
195
|
-
// operator: '==',
|
|
196
|
-
// left: { type: 'Identifier', name: 'age' },
|
|
197
|
-
// right: { type: 'Literal', value: null, raw: 'null' }
|
|
198
|
-
// }
|
|
134
|
+
// operator: '==',
|
|
135
|
+
// left: { type: 'Identifier', name: 'city' },
|
|
136
|
+
// right: { type: 'Literal', value: 'punee', raw: '"punee"' }
|
|
199
137
|
// }
|
|
200
|
-
//
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
138
|
+
// }
|
|
139
|
+
// applyFilter applies filter based on BinaryExpression, CallExpression, UnaryExpression filters on simple and complex filter string
|
|
140
|
+
applyFilter(filter) {
|
|
141
|
+
if (filter.type === 'UnaryExpression' && ['!'].includes(`${filter.operator}`)) {
|
|
142
|
+
let filterArg = filter.argument;
|
|
143
|
+
return !this.applyBinaryExpressionFilter(filterArg);
|
|
144
|
+
}
|
|
145
|
+
// if the current expression is a comparison
|
|
146
|
+
if (filter.type === 'BinaryExpression' && ['==', '===', '!=', '!==', '<', '>', '<=', '>='].includes(`${filter.operator}`)) {
|
|
147
|
+
return this.applyBinaryExpressionFilter(filter);
|
|
148
|
+
}
|
|
149
|
+
if (filter.type === 'CallExpression') {
|
|
150
|
+
return this.applyCallExpressionFilter(filter);
|
|
151
|
+
}
|
|
152
|
+
// if the current expression is a logical operator (e.g., ||, &&)
|
|
153
|
+
if (filter.type === 'BinaryExpression' && ['||', '&&'].includes(`${filter.operator}`)) {
|
|
154
|
+
const leftFilter = filter.left;
|
|
155
|
+
const rightFilter = filter.right;
|
|
156
|
+
const leftResult = this.applyFilter(leftFilter); // apply to the left side
|
|
157
|
+
const rightResult = this.applyFilter(rightFilter); // apply to the right side
|
|
158
|
+
// combine the results if both sides are processed
|
|
159
|
+
if (filter.operator === '||') {
|
|
160
|
+
return leftResult || rightResult; // logical OR
|
|
214
161
|
}
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
rightValue.push(this.applyCallExpressionFilter(currentFilter.right));
|
|
218
|
-
currentFilter = currentFilter.left;
|
|
219
|
-
if (currentFilter.operator !== '||' && currentFilter.type === 'CallExpression') {
|
|
220
|
-
leftValue.push(this.applyCallExpressionFilter(currentFilter));
|
|
221
|
-
}
|
|
162
|
+
if (filter.operator === '&&') {
|
|
163
|
+
return leftResult && rightResult; // logical AND
|
|
222
164
|
}
|
|
223
165
|
}
|
|
224
|
-
return
|
|
166
|
+
return true;
|
|
225
167
|
}
|
|
226
168
|
}
|
|
227
169
|
exports.Filter = Filter;
|
package/dist/lib/filter.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filter.js","sourceRoot":"","sources":["../../lib/filter.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"filter.js","sourceRoot":"","sources":["../../lib/filter.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sailpoint/connector-sdk",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.20",
|
|
4
4
|
"description": "JavaScript framework to build SailPoint Connectors",
|
|
5
5
|
"author": "SailPoint Technologies, Inc.",
|
|
6
6
|
"license": "Copyright (c) 2023. SailPoint Technologies, Inc. All rights reserved.",
|
|
@@ -39,7 +39,7 @@
|
|
|
39
39
|
"@types/archiver": "^6.0.2",
|
|
40
40
|
"@types/express": "^4.17.13",
|
|
41
41
|
"@types/jest": "^29.5.13",
|
|
42
|
-
"@types/node": "^16.
|
|
42
|
+
"@types/node": "^16.18.126",
|
|
43
43
|
"@types/semver": "^7.3.6",
|
|
44
44
|
"jest": "^29.7.0",
|
|
45
45
|
"mock-fs": "^5.1.0",
|