@searchspring/snap-toolbox 0.20.2 → 0.20.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.
@@ -0,0 +1,3 @@
1
+ export declare type ParameterObject = Record<string, boolean | string | string[] | number | number[]>;
2
+ export declare function charsParams(params: ParameterObject): number;
3
+ //# sourceMappingURL=charsParams.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"charsParams.d.ts","sourceRoot":"","sources":["../../../src/charsParams/charsParams.ts"],"names":[],"mappings":"AAAA,oBAAY,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,MAAM,GAAG,MAAM,EAAE,CAAC,CAAC;AAE9F,wBAAgB,WAAW,CAAC,MAAM,EAAE,eAAe,GAAG,MAAM,CAqB3D"}
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.charsParams = void 0;
4
+ function charsParams(params) {
5
+ if (typeof params != 'object') {
6
+ throw new Error('function requires an object');
7
+ }
8
+ var count = Object.keys(params).reduce(function (count, key) {
9
+ var keyLength = key.length;
10
+ var value = params[key];
11
+ if (Array.isArray(value)) {
12
+ return (count +
13
+ value.reduce(function (length, val) {
14
+ return length + keyLength + 1 + ('' + val).length;
15
+ }, 0));
16
+ }
17
+ else {
18
+ return count + keyLength + 1 + ('' + value).length;
19
+ }
20
+ }, 1);
21
+ return count;
22
+ }
23
+ exports.charsParams = charsParams;
@@ -19,7 +19,7 @@ function getFlags(userAgent) {
19
19
  return !isIE() || isIE() >= 10;
20
20
  },
21
21
  cookies: function () {
22
- return window.navigator && window.navigator.cookieEnabled && !window.navigator.doNotTrack;
22
+ return window.navigator && window.navigator.cookieEnabled && !('doNotTrack' in window.navigator && window.navigator.doNotTrack === '1');
23
23
  },
24
24
  storage: function () {
25
25
  var test = 'ss-test';
@@ -1,6 +1,6 @@
1
1
  declare type ContextVariables = {
2
2
  [variable: string]: any;
3
3
  };
4
- export declare function getContext(evaluate: string[], script?: HTMLScriptElement | string): ContextVariables;
4
+ export declare function getContext(evaluate?: string[], script?: HTMLScriptElement | string): ContextVariables;
5
5
  export {};
6
6
  //# sourceMappingURL=getContext.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"getContext.d.ts","sourceRoot":"","sources":["../../../src/getContext/getContext.ts"],"names":[],"mappings":"AAAA,aAAK,gBAAgB,GAAG;IACvB,CAAC,QAAQ,EAAE,MAAM,GAAG,GAAG,CAAC;CACxB,CAAC;AAEF,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,MAAM,CAAC,EAAE,iBAAiB,GAAG,MAAM,GAAG,gBAAgB,CAuDpG"}
1
+ {"version":3,"file":"getContext.d.ts","sourceRoot":"","sources":["../../../src/getContext/getContext.ts"],"names":[],"mappings":"AAAA,aAAK,gBAAgB,GAAG;IACvB,CAAC,QAAQ,EAAE,MAAM,GAAG,GAAG,CAAC;CACxB,CAAC;AAEF,wBAAgB,UAAU,CAAC,QAAQ,GAAE,MAAM,EAAO,EAAE,MAAM,CAAC,EAAE,iBAAiB,GAAG,MAAM,GAAG,gBAAgB,CA0DzG"}
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getContext = void 0;
4
4
  function getContext(evaluate, script) {
5
5
  var _a, _b, _c;
6
+ if (evaluate === void 0) { evaluate = []; }
6
7
  if (!script || typeof script === 'string') {
7
8
  var scripts = Array.from(document.querySelectorAll(script || 'script[id^=searchspring], script[src*="snapui.searchspring.io"]'));
8
9
  script = scripts
@@ -26,21 +27,23 @@ function getContext(evaluate, script) {
26
27
  throw new Error('getContext: first parameter must be an array of strings');
27
28
  }
28
29
  var variables = {};
29
- // grab all element attributes and put into variables
30
+ // evaluate text and put into variables
31
+ evaluate === null || evaluate === void 0 ? void 0 : evaluate.forEach(function (name) {
32
+ var fn = new Function("\n\t\t\tvar ".concat(evaluate.join(', '), ";\n\t\t\t").concat(scriptElem.innerHTML, "\n\t\t\treturn ").concat(name, ";\n\t\t"));
33
+ variables[name] = fn();
34
+ });
35
+ // grab element attributes and put into variables
30
36
  Object.values(scriptElem.attributes).map(function (attr) {
31
- variables[attr.nodeName] = scriptElem.getAttribute(attr.nodeName);
37
+ var name = attr.nodeName;
38
+ if (evaluate.includes(name)) {
39
+ variables[name] = scriptElem.getAttribute(name);
40
+ }
41
+ });
42
+ // remove undefined entries
43
+ Object.keys(variables).forEach(function (key) {
44
+ if (typeof variables[key] === 'undefined')
45
+ delete variables[key];
32
46
  });
33
- try {
34
- // evaluate text and put into variables
35
- evaluate === null || evaluate === void 0 ? void 0 : evaluate.forEach(function (name) {
36
- var fn = new Function("\n\t\t\t\tvar ".concat(evaluate.join(', '), ";\n\t\t\t\t").concat(scriptElem.innerHTML, "\n\t\t\t\treturn ").concat(name, ";\n\t\t\t"));
37
- variables[name] = fn();
38
- });
39
- }
40
- catch (err) {
41
- console.error('getContext: failed to parse variables - error in context');
42
- throw err;
43
- }
44
47
  return variables;
45
48
  }
46
49
  exports.getContext = getContext;
@@ -5,4 +5,5 @@ export * from './cookies/cookies';
5
5
  export * from './getContext/getContext';
6
6
  export * from './url/url';
7
7
  export * from './version/version';
8
+ export * from './charsParams/charsParams';
8
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,mBAAmB,CAAC;AAC7C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC;AACxC,cAAc,WAAW,CAAC;AAC1B,cAAc,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,mBAAmB,CAAC;AAC7C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC;AACxC,cAAc,WAAW,CAAC;AAC1B,cAAc,mBAAmB,CAAC;AAClC,cAAc,2BAA2B,CAAC"}
package/dist/cjs/index.js CHANGED
@@ -30,3 +30,4 @@ __exportStar(require("./cookies/cookies"), exports);
30
30
  __exportStar(require("./getContext/getContext"), exports);
31
31
  __exportStar(require("./url/url"), exports);
32
32
  __exportStar(require("./version/version"), exports);
33
+ __exportStar(require("./charsParams/charsParams"), exports);
@@ -0,0 +1,3 @@
1
+ export declare type ParameterObject = Record<string, boolean | string | string[] | number | number[]>;
2
+ export declare function charsParams(params: ParameterObject): number;
3
+ //# sourceMappingURL=charsParams.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"charsParams.d.ts","sourceRoot":"","sources":["../../../src/charsParams/charsParams.ts"],"names":[],"mappings":"AAAA,oBAAY,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,MAAM,GAAG,MAAM,EAAE,CAAC,CAAC;AAE9F,wBAAgB,WAAW,CAAC,MAAM,EAAE,eAAe,GAAG,MAAM,CAqB3D"}
@@ -0,0 +1,19 @@
1
+ export function charsParams(params) {
2
+ if (typeof params != 'object') {
3
+ throw new Error('function requires an object');
4
+ }
5
+ const count = Object.keys(params).reduce((count, key) => {
6
+ const keyLength = key.length;
7
+ const value = params[key];
8
+ if (Array.isArray(value)) {
9
+ return (count +
10
+ value.reduce((length, val) => {
11
+ return length + keyLength + 1 + ('' + val).length;
12
+ }, 0));
13
+ }
14
+ else {
15
+ return count + keyLength + 1 + ('' + value).length;
16
+ }
17
+ }, 1);
18
+ return count;
19
+ }
@@ -15,7 +15,7 @@ export function getFlags(userAgent = '') {
15
15
  return !isIE() || isIE() >= 10;
16
16
  },
17
17
  cookies: function () {
18
- return window.navigator && window.navigator.cookieEnabled && !window.navigator.doNotTrack;
18
+ return window.navigator && window.navigator.cookieEnabled && !('doNotTrack' in window.navigator && window.navigator.doNotTrack === '1');
19
19
  },
20
20
  storage: function () {
21
21
  const test = 'ss-test';
@@ -1,6 +1,6 @@
1
1
  declare type ContextVariables = {
2
2
  [variable: string]: any;
3
3
  };
4
- export declare function getContext(evaluate: string[], script?: HTMLScriptElement | string): ContextVariables;
4
+ export declare function getContext(evaluate?: string[], script?: HTMLScriptElement | string): ContextVariables;
5
5
  export {};
6
6
  //# sourceMappingURL=getContext.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"getContext.d.ts","sourceRoot":"","sources":["../../../src/getContext/getContext.ts"],"names":[],"mappings":"AAAA,aAAK,gBAAgB,GAAG;IACvB,CAAC,QAAQ,EAAE,MAAM,GAAG,GAAG,CAAC;CACxB,CAAC;AAEF,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,MAAM,CAAC,EAAE,iBAAiB,GAAG,MAAM,GAAG,gBAAgB,CAuDpG"}
1
+ {"version":3,"file":"getContext.d.ts","sourceRoot":"","sources":["../../../src/getContext/getContext.ts"],"names":[],"mappings":"AAAA,aAAK,gBAAgB,GAAG;IACvB,CAAC,QAAQ,EAAE,MAAM,GAAG,GAAG,CAAC;CACxB,CAAC;AAEF,wBAAgB,UAAU,CAAC,QAAQ,GAAE,MAAM,EAAO,EAAE,MAAM,CAAC,EAAE,iBAAiB,GAAG,MAAM,GAAG,gBAAgB,CA0DzG"}
@@ -1,4 +1,4 @@
1
- export function getContext(evaluate, script) {
1
+ export function getContext(evaluate = [], script) {
2
2
  if (!script || typeof script === 'string') {
3
3
  const scripts = Array.from(document.querySelectorAll(script || 'script[id^=searchspring], script[src*="snapui.searchspring.io"]'));
4
4
  script = scripts
@@ -22,24 +22,26 @@ export function getContext(evaluate, script) {
22
22
  throw new Error('getContext: first parameter must be an array of strings');
23
23
  }
24
24
  const variables = {};
25
- // grab all element attributes and put into variables
25
+ // evaluate text and put into variables
26
+ evaluate?.forEach((name) => {
27
+ const fn = new Function(`
28
+ var ${evaluate.join(', ')};
29
+ ${scriptElem.innerHTML}
30
+ return ${name};
31
+ `);
32
+ variables[name] = fn();
33
+ });
34
+ // grab element attributes and put into variables
26
35
  Object.values(scriptElem.attributes).map((attr) => {
27
- variables[attr.nodeName] = scriptElem.getAttribute(attr.nodeName);
36
+ const name = attr.nodeName;
37
+ if (evaluate.includes(name)) {
38
+ variables[name] = scriptElem.getAttribute(name);
39
+ }
40
+ });
41
+ // remove undefined entries
42
+ Object.keys(variables).forEach((key) => {
43
+ if (typeof variables[key] === 'undefined')
44
+ delete variables[key];
28
45
  });
29
- try {
30
- // evaluate text and put into variables
31
- evaluate?.forEach((name) => {
32
- const fn = new Function(`
33
- var ${evaluate.join(', ')};
34
- ${scriptElem.innerHTML}
35
- return ${name};
36
- `);
37
- variables[name] = fn();
38
- });
39
- }
40
- catch (err) {
41
- console.error('getContext: failed to parse variables - error in context');
42
- throw err;
43
- }
44
46
  return variables;
45
47
  }
@@ -5,4 +5,5 @@ export * from './cookies/cookies';
5
5
  export * from './getContext/getContext';
6
6
  export * from './url/url';
7
7
  export * from './version/version';
8
+ export * from './charsParams/charsParams';
8
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,mBAAmB,CAAC;AAC7C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC;AACxC,cAAc,WAAW,CAAC;AAC1B,cAAc,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,mBAAmB,CAAC;AAC7C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC;AACxC,cAAc,WAAW,CAAC;AAC1B,cAAc,mBAAmB,CAAC;AAClC,cAAc,2BAA2B,CAAC"}
package/dist/esm/index.js CHANGED
@@ -5,3 +5,4 @@ export * from './cookies/cookies';
5
5
  export * from './getContext/getContext';
6
6
  export * from './url/url';
7
7
  export * from './version/version';
8
+ export * from './charsParams/charsParams';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@searchspring/snap-toolbox",
3
- "version": "0.20.2",
3
+ "version": "0.20.5",
4
4
  "description": "Snap Toolbox",
5
5
  "main": "dist/cjs/index.js",
6
6
  "module": "dist/esm/index.js",
@@ -23,5 +23,5 @@
23
23
  "files": [
24
24
  "dist/**/*"
25
25
  ],
26
- "gitHead": "4c39d68d003dc82072f8f1bddbbffd48682e3070"
26
+ "gitHead": "37807cdbe3906c03227d32023a119d0bf8892f84"
27
27
  }