@searchspring/snap-url-manager 0.61.5 → 0.62.0

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 +1 @@
1
- {"version":3,"file":"UrlTranslator.d.ts","sourceRoot":"","sources":["../../../../src/Translators/Url/UrlTranslator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"UrlTranslator.d.ts","sourceRoot":"","sources":["../../../../src/Translators/Url/UrlTranslator.ts"],"names":[],"mappings":"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"}
@@ -106,27 +106,39 @@ var UrlTranslator = /** @class */ (function () {
106
106
  .split('&')
107
107
  .filter(function (v) { return v; })
108
108
  .map(function (kvPair) {
109
- var _a = kvPair.split('=').map(function (v) { return decodeURIComponent(v.replace(/\+/g, ' ')); }), key = _a[0], value = _a[1];
110
- return { key: key.split('.'), value: value, type: types_1.ParamLocationType.query };
109
+ try {
110
+ var _a = kvPair.split('=').map(function (v) { return decodeURIComponent(v.replace(/\+/g, ' ')); }), key = _a[0], value = _a[1];
111
+ return { key: key.split('.'), value: value, type: types_1.ParamLocationType.query };
112
+ }
113
+ catch (err) {
114
+ console.warn('Snap UrlTranslator: URI malformed - ignoring parameter', kvPair);
115
+ return { key: ['ss__delete'], value: 'ss__delete', type: types_1.ParamLocationType.query };
116
+ }
111
117
  })
112
118
  .filter(function (param) {
113
- // remove core fields that do not contain a value
119
+ // remove core fields that do not contain a value or had malformed data
114
120
  var isCoreField = _this.reverseMapping[param.key[0]];
115
- return !isCoreField || (isCoreField && param.value);
121
+ return param.value !== 'ss__delete' ? !isCoreField || (isCoreField && param.value) : '';
116
122
  });
117
123
  };
118
124
  UrlTranslator.prototype.parseHashString = function (hashString) {
119
125
  var _this = this;
120
126
  var params = [];
121
- var justHashString = hashString.split('#').join('/') || '';
127
+ var justHashString = hashString.split('#').pop() || '';
122
128
  justHashString
123
129
  .split('/')
124
130
  .filter(function (v) { return v; })
125
131
  .map(function (hashEntries) {
126
- return hashEntries.split(':').map(function (v) { return decodeHashComponent(v); });
132
+ try {
133
+ return hashEntries.split(':').map(function (v) { return decodeHashComponent(v); });
134
+ }
135
+ catch (err) {
136
+ console.warn('Snap UrlTranslator: URI malformed - ignoring parameter', hashEntries);
137
+ return [];
138
+ }
127
139
  })
128
140
  .filter(function (param) {
129
- // remove core fields that do not contain a value
141
+ // remove core fields that do not contain a value or had malformed data
130
142
  var key = param[0], value = param[1];
131
143
  var isCoreField = _this.reverseMapping[key];
132
144
  return !isCoreField || (isCoreField && value);
@@ -1 +1 @@
1
- {"version":3,"file":"UrlTranslator.d.ts","sourceRoot":"","sources":["../../../../src/Translators/Url/UrlTranslator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"UrlTranslator.d.ts","sourceRoot":"","sources":["../../../../src/Translators/Url/UrlTranslator.ts"],"names":[],"mappings":"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"}
@@ -76,26 +76,38 @@ export class UrlTranslator {
76
76
  .split('&')
77
77
  .filter((v) => v)
78
78
  .map((kvPair) => {
79
- const [key, value] = kvPair.split('=').map((v) => decodeURIComponent(v.replace(/\+/g, ' ')));
80
- return { key: key.split('.'), value, type: ParamLocationType.query };
79
+ try {
80
+ const [key, value] = kvPair.split('=').map((v) => decodeURIComponent(v.replace(/\+/g, ' ')));
81
+ return { key: key.split('.'), value, type: ParamLocationType.query };
82
+ }
83
+ catch (err) {
84
+ console.warn('Snap UrlTranslator: URI malformed - ignoring parameter', kvPair);
85
+ return { key: ['ss__delete'], value: 'ss__delete', type: ParamLocationType.query };
86
+ }
81
87
  })
82
88
  .filter((param) => {
83
- // remove core fields that do not contain a value
89
+ // remove core fields that do not contain a value or had malformed data
84
90
  const isCoreField = this.reverseMapping[param.key[0]];
85
- return !isCoreField || (isCoreField && param.value);
91
+ return param.value !== 'ss__delete' ? !isCoreField || (isCoreField && param.value) : '';
86
92
  });
87
93
  }
88
94
  parseHashString(hashString) {
89
95
  const params = [];
90
- const justHashString = hashString.split('#').join('/') || '';
96
+ const justHashString = hashString.split('#').pop() || '';
91
97
  justHashString
92
98
  .split('/')
93
99
  .filter((v) => v)
94
100
  .map((hashEntries) => {
95
- return hashEntries.split(':').map((v) => decodeHashComponent(v));
101
+ try {
102
+ return hashEntries.split(':').map((v) => decodeHashComponent(v));
103
+ }
104
+ catch (err) {
105
+ console.warn('Snap UrlTranslator: URI malformed - ignoring parameter', hashEntries);
106
+ return [];
107
+ }
96
108
  })
97
109
  .filter((param) => {
98
- // remove core fields that do not contain a value
110
+ // remove core fields that do not contain a value or had malformed data
99
111
  const [key, value] = param;
100
112
  const isCoreField = this.reverseMapping[key];
101
113
  return !isCoreField || (isCoreField && value);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@searchspring/snap-url-manager",
3
- "version": "0.61.5",
3
+ "version": "0.62.0",
4
4
  "description": "Snap URL Manager",
5
5
  "main": "dist/cjs/index.js",
6
6
  "module": "dist/esm/index.js",
@@ -30,5 +30,5 @@
30
30
  "files": [
31
31
  "dist/**/*"
32
32
  ],
33
- "gitHead": "bae1305742558d1736e535d77a76da7b845bc046"
33
+ "gitHead": "2c9561e8b0097a44c5587bc5629068b06041385f"
34
34
  }