@splitsoftware/splitio-commons 1.9.2-rc.0 → 1.9.2-rc.1

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.
@@ -27,6 +27,7 @@ exports.codesWarn = error_1.codesError.concat([
27
27
  [c.WARN_NOT_EXISTENT_SPLIT, '%s: feature flag "%s" does not exist in this environment. Please double check what feature flags exist in the Split user interface.'],
28
28
  [c.WARN_LOWERCASE_TRAFFIC_TYPE, '%s: traffic_type_name should be all lowercase - converting string to lowercase.'],
29
29
  [c.WARN_NOT_EXISTENT_TT, '%s: traffic type "%s" does not have any corresponding feature flag in this environment, make sure you\'re tracking your events to a valid traffic type defined in the Split user interface.'],
30
+ [c.WARN_FLAGSET_NOT_CONFIGURED, '%s: : you passed %s wich is not part of the configured FlagSetsFilter, ignoring Flag Set.'],
30
31
  // initialization / settings validation
31
32
  [c.WARN_INTEGRATION_INVALID, c.LOG_PREFIX_SETTINGS + ': %s integration item(s) at settings is invalid. %s'],
32
33
  [c.WARN_SPLITS_FILTER_IGNORED, c.LOG_PREFIX_SETTINGS + ': feature flag filters have been configured but will have no effect if mode is not "%s", since synchronization is being deferred to an external tool.'],
@@ -180,19 +180,14 @@ function validateSplitFilters(log, maybeSplitFilters, mode) {
180
180
  }
181
181
  exports.validateSplitFilters = validateSplitFilters;
182
182
  function flagSetsAreValid(log, method, flagSets, flagSetsInConfig) {
183
- var toReturn = [];
184
- if (flagSets.length === 0) {
185
- log.error(constants_2.ERROR_EMPTY_ARRAY, [method, 'flagSets']);
186
- return toReturn;
187
- }
188
183
  var sets = (0, splits_1.validateSplits)(log, flagSets, method, 'flag sets', 'flag set');
189
- toReturn = sets ? sanitizeFlagSets(log, sets) : [];
184
+ var toReturn = sets ? sanitizeFlagSets(log, sets) : [];
190
185
  if (flagSetsInConfig.length > 0) {
191
186
  toReturn = toReturn.filter(function (flagSet) {
192
187
  if (flagSetsInConfig.indexOf(flagSet) > -1) {
193
188
  return true;
194
189
  }
195
- log.warn(constants_2.WARN_FLAGSET_NOT_CONFIGURED, [flagSet]);
190
+ log.warn(constants_2.WARN_FLAGSET_NOT_CONFIGURED, [method, flagSet]);
196
191
  return false;
197
192
  });
198
193
  }
@@ -23,6 +23,7 @@ export var codesWarn = codesError.concat([
23
23
  [c.WARN_NOT_EXISTENT_SPLIT, '%s: feature flag "%s" does not exist in this environment. Please double check what feature flags exist in the Split user interface.'],
24
24
  [c.WARN_LOWERCASE_TRAFFIC_TYPE, '%s: traffic_type_name should be all lowercase - converting string to lowercase.'],
25
25
  [c.WARN_NOT_EXISTENT_TT, '%s: traffic type "%s" does not have any corresponding feature flag in this environment, make sure you\'re tracking your events to a valid traffic type defined in the Split user interface.'],
26
+ [c.WARN_FLAGSET_NOT_CONFIGURED, '%s: : you passed %s wich is not part of the configured FlagSetsFilter, ignoring Flag Set.'],
26
27
  // initialization / settings validation
27
28
  [c.WARN_INTEGRATION_INVALID, c.LOG_PREFIX_SETTINGS + ': %s integration item(s) at settings is invalid. %s'],
28
29
  [c.WARN_SPLITS_FILTER_IGNORED, c.LOG_PREFIX_SETTINGS + ': feature flag filters have been configured but will have no effect if mode is not "%s", since synchronization is being deferred to an external tool.'],
@@ -1,6 +1,6 @@
1
1
  import { STANDALONE_MODE } from '../constants';
2
2
  import { validateSplits } from '../inputValidation/splits';
3
- import { WARN_SPLITS_FILTER_IGNORED, WARN_SPLITS_FILTER_EMPTY, WARN_SPLITS_FILTER_INVALID, SETTINGS_SPLITS_FILTER, LOG_PREFIX_SETTINGS, ERROR_SETS_FILTER_EXCLUSIVE, WARN_SPLITS_FILTER_LOWERCASE_SET, WARN_SPLITS_FILTER_INVALID_SET, ERROR_EMPTY_ARRAY, WARN_FLAGSET_NOT_CONFIGURED } from '../../logger/constants';
3
+ import { WARN_SPLITS_FILTER_IGNORED, WARN_SPLITS_FILTER_EMPTY, WARN_SPLITS_FILTER_INVALID, SETTINGS_SPLITS_FILTER, LOG_PREFIX_SETTINGS, ERROR_SETS_FILTER_EXCLUSIVE, WARN_SPLITS_FILTER_LOWERCASE_SET, WARN_SPLITS_FILTER_INVALID_SET, WARN_FLAGSET_NOT_CONFIGURED } from '../../logger/constants';
4
4
  import { objectAssign } from '../lang/objectAssign';
5
5
  import { find, uniq } from '../lang';
6
6
  // Split filters metadata.
@@ -176,19 +176,14 @@ export function validateSplitFilters(log, maybeSplitFilters, mode) {
176
176
  return res;
177
177
  }
178
178
  export function flagSetsAreValid(log, method, flagSets, flagSetsInConfig) {
179
- var toReturn = [];
180
- if (flagSets.length === 0) {
181
- log.error(ERROR_EMPTY_ARRAY, [method, 'flagSets']);
182
- return toReturn;
183
- }
184
179
  var sets = validateSplits(log, flagSets, method, 'flag sets', 'flag set');
185
- toReturn = sets ? sanitizeFlagSets(log, sets) : [];
180
+ var toReturn = sets ? sanitizeFlagSets(log, sets) : [];
186
181
  if (flagSetsInConfig.length > 0) {
187
182
  toReturn = toReturn.filter(function (flagSet) {
188
183
  if (flagSetsInConfig.indexOf(flagSet) > -1) {
189
184
  return true;
190
185
  }
191
- log.warn(WARN_FLAGSET_NOT_CONFIGURED, [flagSet]);
186
+ log.warn(WARN_FLAGSET_NOT_CONFIGURED, [method, flagSet]);
192
187
  return false;
193
188
  });
194
189
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@splitsoftware/splitio-commons",
3
- "version": "1.9.2-rc.0",
3
+ "version": "1.9.2-rc.1",
4
4
  "description": "Split Javascript SDK common components",
5
5
  "main": "cjs/index.js",
6
6
  "module": "esm/index.js",
@@ -24,6 +24,7 @@ export const codesWarn: [number, string][] = codesError.concat([
24
24
  [c.WARN_NOT_EXISTENT_SPLIT, '%s: feature flag "%s" does not exist in this environment. Please double check what feature flags exist in the Split user interface.'],
25
25
  [c.WARN_LOWERCASE_TRAFFIC_TYPE, '%s: traffic_type_name should be all lowercase - converting string to lowercase.'],
26
26
  [c.WARN_NOT_EXISTENT_TT, '%s: traffic type "%s" does not have any corresponding feature flag in this environment, make sure you\'re tracking your events to a valid traffic type defined in the Split user interface.'],
27
+ [c.WARN_FLAGSET_NOT_CONFIGURED, '%s: : you passed %s wich is not part of the configured FlagSetsFilter, ignoring Flag Set.'],
27
28
  // initialization / settings validation
28
29
  [c.WARN_INTEGRATION_INVALID, c.LOG_PREFIX_SETTINGS+': %s integration item(s) at settings is invalid. %s'],
29
30
  [c.WARN_SPLITS_FILTER_IGNORED, c.LOG_PREFIX_SETTINGS+': feature flag filters have been configured but will have no effect if mode is not "%s", since synchronization is being deferred to an external tool.'],
@@ -31,7 +31,7 @@ export function clientInputValidationDecorator<TClient extends SplitIO.IClient |
31
31
  /**
32
32
  * Avoid repeating this validations code
33
33
  */
34
- function validateEvaluationParams(maybeKey: SplitIO.SplitKey, maybeFeatureFlagNameOrNames: string | string[] | undefined, maybeAttributes: SplitIO.Attributes | undefined, methodName: string, maybeFlagSetNameOrNames?: string[] | undefined) {
34
+ function validateEvaluationParams(maybeKey: SplitIO.SplitKey, maybeFeatureFlagNameOrNames: string | string[] | undefined, maybeAttributes: SplitIO.Attributes | undefined, methodName: string, maybeFlagSetNameOrNames?: string[]) {
35
35
  const multi = startsWith(methodName, 'getTreatments');
36
36
  const key = validateKey(log, maybeKey, methodName);
37
37
  let splitOrSplits: string | string[] | false = false;
@@ -3,7 +3,7 @@ import { validateSplits } from '../inputValidation/splits';
3
3
  import { ISplitFiltersValidation } from '../../dtos/types';
4
4
  import { SplitIO } from '../../types';
5
5
  import { ILogger } from '../../logger/types';
6
- import { WARN_SPLITS_FILTER_IGNORED, WARN_SPLITS_FILTER_EMPTY, WARN_SPLITS_FILTER_INVALID, SETTINGS_SPLITS_FILTER, LOG_PREFIX_SETTINGS, ERROR_SETS_FILTER_EXCLUSIVE, WARN_SPLITS_FILTER_LOWERCASE_SET, WARN_SPLITS_FILTER_INVALID_SET, ERROR_EMPTY_ARRAY, WARN_FLAGSET_NOT_CONFIGURED } from '../../logger/constants';
6
+ import { WARN_SPLITS_FILTER_IGNORED, WARN_SPLITS_FILTER_EMPTY, WARN_SPLITS_FILTER_INVALID, SETTINGS_SPLITS_FILTER, LOG_PREFIX_SETTINGS, ERROR_SETS_FILTER_EXCLUSIVE, WARN_SPLITS_FILTER_LOWERCASE_SET, WARN_SPLITS_FILTER_INVALID_SET, WARN_FLAGSET_NOT_CONFIGURED } from '../../logger/constants';
7
7
  import { objectAssign } from '../lang/objectAssign';
8
8
  import { find, uniq } from '../lang';
9
9
 
@@ -189,19 +189,14 @@ export function validateSplitFilters(log: ILogger, maybeSplitFilters: any, mode:
189
189
  }
190
190
 
191
191
  export function flagSetsAreValid(log: ILogger, method: string, flagSets: string[], flagSetsInConfig: string[]): string[] {
192
- let toReturn: string[] = [];
193
- if (flagSets.length === 0) {
194
- log.error(ERROR_EMPTY_ARRAY, [method, 'flagSets']);
195
- return toReturn;
196
- }
197
192
  const sets = validateSplits(log, flagSets, method, 'flag sets', 'flag set');
198
- toReturn = sets ? sanitizeFlagSets(log, sets) : [];
193
+ let toReturn = sets ? sanitizeFlagSets(log, sets) : [];
199
194
  if (flagSetsInConfig.length > 0) {
200
195
  toReturn = toReturn.filter(flagSet => {
201
196
  if (flagSetsInConfig.indexOf(flagSet) > -1) {
202
197
  return true;
203
198
  }
204
- log.warn(WARN_FLAGSET_NOT_CONFIGURED, [flagSet]);
199
+ log.warn(WARN_FLAGSET_NOT_CONFIGURED, [method, flagSet]);
205
200
  return false;
206
201
  });
207
202
  }
package/cjs/myLogger.js DELETED
@@ -1,34 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.myLogger = void 0;
4
- // get the Console class
5
- // const { Console } = require('console');
6
- // get fs module for creating write streams
7
- var fs = require('fs');
8
- var pjson = require('../package.json');
9
- //@ts-ignore
10
- var pad = function (value) { return ('00' + value).slice(-2); };
11
- var getDate = function () {
12
- var date = new Date();
13
- return date.getFullYear() + "-" + pad(date.getMonth() + 1) + "-" + pad(date.getDate()) + "_" + pad(date.getHours()) + ":" + pad(date.getMinutes()) + ":" + pad(date.getSeconds());
14
- };
15
- //@ts-ignore
16
- var logToFile = function (file, msg) {
17
- //@ts-ignore
18
- fs.appendFileSync(file, msg + "\n", function (err) {
19
- if (err) {
20
- return console.log(err);
21
- }
22
- });
23
- };
24
- // make a new logger
25
- var version = pjson.version.replace('.', '').replace('.', '');
26
- var filePath = "logs/" + version + "_" + getDate();
27
- exports.myLogger = {
28
- //@ts-ignore
29
- log: function (msg) { return logToFile(filePath, msg); },
30
- //@ts-ignore
31
- logCsv: function (msg) { return logToFile(filePath + ".csv", msg); },
32
- //@ts-ignore
33
- logToFile: function (file, msg) { return logToFile("logs/" + file, msg); },
34
- };
package/esm/myLogger.js DELETED
@@ -1,31 +0,0 @@
1
- // get the Console class
2
- // const { Console } = require('console');
3
- // get fs module for creating write streams
4
- var fs = require('fs');
5
- var pjson = require('../package.json');
6
- //@ts-ignore
7
- var pad = function (value) { return ('00' + value).slice(-2); };
8
- var getDate = function () {
9
- var date = new Date();
10
- return date.getFullYear() + "-" + pad(date.getMonth() + 1) + "-" + pad(date.getDate()) + "_" + pad(date.getHours()) + ":" + pad(date.getMinutes()) + ":" + pad(date.getSeconds());
11
- };
12
- //@ts-ignore
13
- var logToFile = function (file, msg) {
14
- //@ts-ignore
15
- fs.appendFileSync(file, msg + "\n", function (err) {
16
- if (err) {
17
- return console.log(err);
18
- }
19
- });
20
- };
21
- // make a new logger
22
- var version = pjson.version.replace('.', '').replace('.', '');
23
- var filePath = "logs/" + version + "_" + getDate();
24
- export var myLogger = {
25
- //@ts-ignore
26
- log: function (msg) { return logToFile(filePath, msg); },
27
- //@ts-ignore
28
- logCsv: function (msg) { return logToFile(filePath + ".csv", msg); },
29
- //@ts-ignore
30
- logToFile: function (file, msg) { return logToFile("logs/" + file, msg); },
31
- };
package/src/myLogger.ts DELETED
@@ -1,36 +0,0 @@
1
- // get the Console class
2
- // const { Console } = require('console');
3
- // get fs module for creating write streams
4
- const fs = require('fs');
5
- var pjson = require('../package.json');
6
-
7
- //@ts-ignore
8
- const pad = (value) => ('00'+value).slice(-2);
9
- const getDate = () => {
10
- const date = new Date();
11
- return `${date.getFullYear()}-${pad(date.getMonth()+1)}-${pad(date.getDate())}_${pad(date.getHours())}:${pad(date.getMinutes())}:${pad(date.getSeconds())}`;
12
- };
13
-
14
- //@ts-ignore
15
-
16
- const logToFile = (file, msg) => {
17
- //@ts-ignore
18
- fs.appendFileSync(file, `${msg}\n`, (err) => {
19
- if (err) {
20
- return console.log(err);
21
- }
22
- });
23
- };
24
-
25
- // make a new logger
26
- const version = pjson.version.replace('.','').replace('.','');
27
- const filePath = `logs/${version}_${getDate()}`;
28
- export const myLogger = {
29
- //@ts-ignore
30
- log: (msg) => logToFile(filePath, msg),
31
- //@ts-ignore
32
- logCsv: (msg) => logToFile(`${filePath}.csv`, msg),
33
- //@ts-ignore
34
- logToFile: (file, msg) => logToFile(`logs/${file}`, msg),
35
- };
36
-