@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.
@@ -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: any);
4
- matcher(filterString: string): any;
6
+ constructor(data: data);
7
+ matcher(filterString: string): boolean;
5
8
  private applyBinaryExpressionFilter;
6
9
  private isNullorEmpty;
7
10
  private applyCallExpressionFilter;
8
- private applyAndBinaryExpressionFilter;
9
- private applyOrBinaryExpressionFilter;
11
+ private applyFilter;
10
12
  }
13
+ export {};
11
14
  //# sourceMappingURL=filter.d.ts.map
@@ -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,GAAG;IAKd,OAAO,CAAC,YAAY,EAAE,MAAM;IAyBnC,OAAO,CAAC,2BAA2B;IA6BnC,OAAO,CAAC,aAAa;IAiBrB,OAAO,CAAC,yBAAyB;IAwEjC,OAAO,CAAC,8BAA8B;IAuDtC,OAAO,CAAC,6BAA6B;CAyBtC"}
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"}
@@ -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 jsep = require("jsep");
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
- let filter = jsep(filterString);
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
- // check the type of the filter, which should be BinaryExpression for comparison
36
- if (filter.type === 'BinaryExpression') {
37
- const left = filter.left; // left part (field to compare)
38
- const right = filter.right; // right part (value to compare against)
39
- const operator = filter.operator; // comparison operator
40
- // retrieve the field value from the object (e.g., obj[firstName])
41
- const leftValue = this.data[left.name];
42
- switch (operator) {
43
- case '==': // equality check
44
- return leftValue == right.value;
45
- case '===': // strict equality check
46
- return leftValue === right.value;
47
- case '>': // greater than check
48
- return leftValue > right.value;
49
- case '<': // less than check
50
- return leftValue < right.value;
51
- case '>=': // greater than or equal check
52
- return leftValue >= right.value;
53
- case '<=': // less than or equal check
54
- return leftValue <= right.value;
55
- case '!=': // inequality check
56
- return leftValue != right.value;
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
- if (filter.type === 'CallExpression') {
80
- const callee = filter.callee; // the MemberExpression for the method call
81
- const objectName = callee.object.name; // the object name (e.g., 'email')
82
- const methodName = callee.property.name; // the method name (e.g., 'isNull')
83
- const args = filter.arguments;
84
- // check if the object in the filter matches the object's name in the input data
85
- if (this.data.hasOwnProperty(objectName)) {
86
- const value = this.data[objectName]; // get the value of the object (e.g., email)
87
- switch (methodName) {
88
- case 'isNull': // check if the method is `isNull` and apply it to the value
89
- return this.isNullorEmpty(value); // apply the isNull method
90
- case 'notNull': // check if the method is `notNull` and apply it to the value
91
- return !this.isNullorEmpty(value); // apply the notNull method
92
- case 'isEmpty': // check if the method is `isEmpty` and apply it to the value
93
- return this.isNullorEmpty(value); // apply the isEmpty method
94
- case 'notEmpty': // check if the method is `notEmpty` and apply it to the value
95
- return !this.isNullorEmpty(value); // apply the notEmpty method
96
- case 'startsWith': // check if the method is `startsWith` and apply it to the value
97
- return value.startsWith(args[0].value); // apply the startsWith method
98
- case 'endsWith': // check if the method is `endsWith` and apply it to the value
99
- return value.endsWith(args[0].value); // apply the endsWith method
100
- case 'startsWithIgnoreCase': // check if the method is `startsWithIgnoreCase` and apply it to the value
101
- return !value.startsWith(args[0].value); // apply the startsWithIgnoreCase method
102
- case 'endsWithIgnoreCase': // check if the method is `endsWithIgnoreCase` and apply it to the value
103
- return !value.endsWith(args[0].value); // apply the endsWithIgnoreCase method
104
- case 'contains': // check if the method is `contains` and apply it to the value
105
- return value.includes(args[0].value); // apply the contains method
106
- case 'containsIgnoreCase': // check if the method is `containsIgnoreCase` and apply it to the value
107
- return !value.includes(args[0].value); // apply the containsIgnoreCase method
108
- case 'containsAll': // Check if the method is `containsAll` and apply it to the value
109
- // ensure all values are present in the property
110
- return args.every((arg) => value.includes(arg.value)); // apply the containsAll method
111
- case 'containsAllIgnoreCase': // Check if the method is `containsAllIgnoreCase` and apply it to the value
112
- // ensure all values are present in the property
113
- return args.every((arg) => !value.includes(arg.value)); // apply the containsAllIgnoreCase method
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
- // Filter Evaluator Example for AND operation with multiple expressions:
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
- // type: 'BinaryExpression',
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: { type: 'Identifier', name: 'age' },
143
- // right: { type: 'Literal', value: null, raw: 'null' }
128
+ // left: [Object],
129
+ // right: [Object]
144
130
  // }
145
- // }
146
- // applyAndBinaryExpressionFilter applies AND BinaryExpression and CallExpression filters
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
- // type: 'BinaryExpression',
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
- // applyOrBinaryExpressionFilter applies OR BinaryExpression and CallExpression filters
201
- applyOrBinaryExpressionFilter(filter) {
202
- let currentFilter = filter;
203
- let rightValue = [];
204
- let leftValue = [];
205
- // keep processing the filter as long as we have '||' operators
206
- while (currentFilter.operator === '||') {
207
- if (currentFilter.right.type === 'BinaryExpression') {
208
- // evaluate the right part of the current '||' expression
209
- rightValue.push(this.applyBinaryExpressionFilter(currentFilter.right));
210
- currentFilter = currentFilter.left;
211
- if (currentFilter.operator !== '||' && currentFilter.type === 'BinaryExpression') {
212
- leftValue.push(this.applyBinaryExpressionFilter(currentFilter));
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
- else {
216
- // evaluate the right part of the current '||' expression
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 rightValue.some(Boolean) || leftValue.some(Boolean);
166
+ return true;
225
167
  }
226
168
  }
227
169
  exports.Filter = Filter;
@@ -1 +1 @@
1
- {"version":3,"file":"filter.js","sourceRoot":"","sources":["../../lib/filter.ts"],"names":[],"mappings":"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"}
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.18",
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.4.12",
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",