@searchspring/snap-url-manager 0.31.0 → 0.34.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.
package/README.md CHANGED
@@ -62,17 +62,17 @@ const newManager = urlManager.remove('page');
62
62
  Setting a value in a longer, nested path would look like this:
63
63
 
64
64
  ```js
65
- const newManager = urlManager.set('facets.color', 'blue');
65
+ const newManager = urlManager.set('filter.color', 'blue');
66
66
  ```
67
67
 
68
- This will produce 1 value for `facets.color` and remove any others.
68
+ This will produce 1 value for `filter.color` and remove any others.
69
69
 
70
70
  For multiple values:
71
71
 
72
72
  ```js
73
73
  const newManager = urlManager
74
- .merge('facets.color', 'blue')
75
- .merge('facets.color', 'red');
74
+ .merge('filter.color', 'blue')
75
+ .merge('filter.color', 'red');
76
76
  ```
77
77
 
78
78
  ## `href` property
@@ -93,7 +93,7 @@ const facetValuesWithUrls = (facet, facetValues) => {
93
93
  return facetValues.map((facetValue) => {
94
94
  return {
95
95
  ...facetValue,
96
- url: urlManager.merge(['facet', facet.field], facetValue.value),
96
+ url: urlManager.merge(['filter', facet.field], facetValue.value),
97
97
  };
98
98
  });
99
99
  };
@@ -1,19 +1,20 @@
1
- import { UrlState, Translator, TranslatorConfig } from '../../types';
2
1
  import type { ImmutableObject } from 'seamless-immutable';
2
+ import type { UrlState, Translator, TranslatorConfig } from '../../types';
3
3
  declare type QueryParameter = {
4
4
  key: Array<string>;
5
5
  value: string;
6
6
  };
7
- declare type Config = {
8
- queryParameter: string;
7
+ export declare type QueryStringTranslatorConfig = Partial<QueryStringTranslatorConfigFull>;
8
+ declare type QueryStringTranslatorConfigFull = TranslatorConfig & {
9
9
  urlRoot: string;
10
+ queryParameter: string;
10
11
  };
11
12
  export declare class QueryStringTranslator implements Translator {
12
- protected config: ImmutableObject<Config>;
13
+ protected config: ImmutableObject<QueryStringTranslatorConfigFull>;
13
14
  constructor(config?: TranslatorConfig);
14
15
  bindExternalEvents(update: () => void): void;
15
16
  getCurrentUrl(): string;
16
- getConfig(): Config;
17
+ getConfig(): QueryStringTranslatorConfigFull;
17
18
  protected parseQueryString(queryString: string): Array<QueryParameter>;
18
19
  protected generateQueryString(params: Array<QueryParameter>): string;
19
20
  protected parsePage(queryParams: Array<QueryParameter>): UrlState;
@@ -1 +1 @@
1
- {"version":3,"file":"QueryStringTranslator.d.ts","sourceRoot":"","sources":["../../../../src/Translators/QueryString/QueryStringTranslator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,gBAAgB,EAA4C,MAAM,aAAa,CAAC;AAG/G,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAE1D,aAAK,cAAc,GAAG;IACrB,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,aAAK,MAAM,GAAG;IACb,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,qBAAa,qBAAsB,YAAW,UAAU;IACvD,SAAS,CAAC,MAAM,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC;gBAE9B,MAAM,GAAE,gBAAqB;IAQzC,kBAAkB,CAAC,MAAM,EAAE,MAAM,IAAI,GAAG,IAAI;IAI5C,aAAa,IAAI,MAAM;IAIvB,SAAS,IAAI,MAAM;IAInB,SAAS,CAAC,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,KAAK,CAAC,cAAc,CAAC;IAYtE,SAAS,CAAC,mBAAmB,CAAC,MAAM,EAAE,KAAK,CAAC,cAAc,CAAC,GAAG,MAAM;IAmBpE,SAAS,CAAC,SAAS,CAAC,WAAW,EAAE,KAAK,CAAC,cAAc,CAAC,GAAG,QAAQ;IAYjE,SAAS,CAAC,SAAS,CAAC,WAAW,EAAE,KAAK,CAAC,cAAc,CAAC,GAAG,QAAQ;IAejE,SAAS,CAAC,UAAU,CAAC,WAAW,EAAE,KAAK,CAAC,cAAc,CAAC,EAAE,MAAM,GAAE,KAAK,CAAC,MAAM,CAAM,GAAG,QAAQ;IA4B9F,SAAS,CAAC,UAAU,CAAC,WAAW,EAAE,KAAK,CAAC,cAAc,CAAC,GAAG,QAAQ;IAQlE,SAAS,CAAC,WAAW,CAAC,WAAW,EAAE,KAAK,CAAC,cAAc,CAAC,GAAG,QAAQ;IA2DnE,SAAS,CAAC,UAAU,CAAC,KAAK,EAAE,QAAQ,GAAG,KAAK,CAAC,cAAc,CAAC;IAQ5D,SAAS,CAAC,WAAW,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,GAAE,KAAK,CAAC,MAAM,CAAM,GAAG,KAAK,CAAC,cAAc,CAAC;IA6BzF,SAAS,CAAC,WAAW,CAAC,KAAK,EAAE,QAAQ,GAAG,KAAK,CAAC,cAAc,CAAC;IAa7D,SAAS,CAAC,UAAU,CAAC,KAAK,EAAE,QAAQ,GAAG,KAAK,CAAC,cAAc,CAAC;IAa5D,SAAS,CAAC,YAAY,CAAC,KAAK,EAAE,QAAQ,GAAG,KAAK,CAAC,cAAc,CAAC;IA0C9D,SAAS,CAAC,kBAAkB,CAAC,WAAW,EAAE,KAAK,CAAC,cAAc,CAAC,GAAG,QAAQ;IAW1E,SAAS,CAAC,kBAAkB,CAAC,KAAK,GAAE,QAAa,GAAG,KAAK,CAAC,cAAc,CAAC;IAUzE,SAAS,CAAC,KAAK,EAAE,QAAQ,GAAG,MAAM;IAMlC,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ;IAQlC,EAAE,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;CAGrB"}
1
+ {"version":3,"file":"QueryStringTranslator.d.ts","sourceRoot":"","sources":["../../../../src/Translators/QueryString/QueryStringTranslator.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAE1D,OAAO,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,gBAAgB,EAAsB,MAAM,aAAa,CAAC;AAE9F,aAAK,cAAc,GAAG;IACrB,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,oBAAY,2BAA2B,GAAG,OAAO,CAAC,+BAA+B,CAAC,CAAC;AAEnF,aAAK,+BAA+B,GAAG,gBAAgB,GAAG;IACzD,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;CACvB,CAAC;AAUF,qBAAa,qBAAsB,YAAW,UAAU;IACvD,SAAS,CAAC,MAAM,EAAE,eAAe,CAAC,+BAA+B,CAAC,CAAC;gBAEvD,MAAM,GAAE,gBAAqB;IAIzC,kBAAkB,CAAC,MAAM,EAAE,MAAM,IAAI,GAAG,IAAI;IAI5C,aAAa,IAAI,MAAM;IAIvB,SAAS,IAAI,+BAA+B;IAI5C,SAAS,CAAC,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,KAAK,CAAC,cAAc,CAAC;IAYtE,SAAS,CAAC,mBAAmB,CAAC,MAAM,EAAE,KAAK,CAAC,cAAc,CAAC,GAAG,MAAM;IAmBpE,SAAS,CAAC,SAAS,CAAC,WAAW,EAAE,KAAK,CAAC,cAAc,CAAC,GAAG,QAAQ;IAYjE,SAAS,CAAC,SAAS,CAAC,WAAW,EAAE,KAAK,CAAC,cAAc,CAAC,GAAG,QAAQ;IAejE,SAAS,CAAC,UAAU,CAAC,WAAW,EAAE,KAAK,CAAC,cAAc,CAAC,EAAE,MAAM,GAAE,KAAK,CAAC,MAAM,CAAM,GAAG,QAAQ;IA4B9F,SAAS,CAAC,UAAU,CAAC,WAAW,EAAE,KAAK,CAAC,cAAc,CAAC,GAAG,QAAQ;IAQlE,SAAS,CAAC,WAAW,CAAC,WAAW,EAAE,KAAK,CAAC,cAAc,CAAC,GAAG,QAAQ;IA2DnE,SAAS,CAAC,UAAU,CAAC,KAAK,EAAE,QAAQ,GAAG,KAAK,CAAC,cAAc,CAAC;IAQ5D,SAAS,CAAC,WAAW,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,GAAE,KAAK,CAAC,MAAM,CAAM,GAAG,KAAK,CAAC,cAAc,CAAC;IA6BzF,SAAS,CAAC,WAAW,CAAC,KAAK,EAAE,QAAQ,GAAG,KAAK,CAAC,cAAc,CAAC;IAa7D,SAAS,CAAC,UAAU,CAAC,KAAK,EAAE,QAAQ,GAAG,KAAK,CAAC,cAAc,CAAC;IAa5D,SAAS,CAAC,YAAY,CAAC,KAAK,EAAE,QAAQ,GAAG,KAAK,CAAC,cAAc,CAAC;IA0C9D,SAAS,CAAC,kBAAkB,CAAC,WAAW,EAAE,KAAK,CAAC,cAAc,CAAC,GAAG,QAAQ;IAW1E,SAAS,CAAC,kBAAkB,CAAC,KAAK,GAAE,QAAa,GAAG,KAAK,CAAC,cAAc,CAAC;IAUzE,SAAS,CAAC,KAAK,EAAE,QAAQ,GAAG,MAAM;IAMlC,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ;IAQlC,EAAE,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;CAGrB"}
@@ -24,12 +24,20 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
24
24
  };
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
26
  exports.QueryStringTranslator = void 0;
27
- var types_1 = require("../../types");
27
+ var deepmerge_1 = __importDefault(require("deepmerge"));
28
28
  var seamless_immutable_1 = __importDefault(require("seamless-immutable"));
29
+ var types_1 = require("../../types");
30
+ var defaultConfig = {
31
+ urlRoot: '',
32
+ queryParameter: 'q',
33
+ settings: {
34
+ serializeUrlRoot: true,
35
+ },
36
+ };
29
37
  var QueryStringTranslator = /** @class */ (function () {
30
38
  function QueryStringTranslator(config) {
31
39
  if (config === void 0) { config = {}; }
32
- this.config = (0, seamless_immutable_1.default)(__assign(__assign({}, config), { urlRoot: typeof config.urlRoot == 'string' ? config.urlRoot.replace(/\/$/, '') : '', queryParameter: typeof config.queryParameter == 'string' ? config.queryParameter : 'q' }));
40
+ this.config = (0, seamless_immutable_1.default)((0, deepmerge_1.default)(defaultConfig, config));
33
41
  }
34
42
  QueryStringTranslator.prototype.bindExternalEvents = function (update) {
35
43
  window.addEventListener('popstate', update);
@@ -251,7 +259,7 @@ var QueryStringTranslator = /** @class */ (function () {
251
259
  };
252
260
  QueryStringTranslator.prototype.stateToQueryParams = function (state) {
253
261
  if (state === void 0) { state = {}; }
254
- return __spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray([], this.encodeQuery(state), true), this.encodePage(state), true), this.encodeFilter(state), true), this.encodeSort(state), true), this.encodeOther(state, ['page', 'query', 'filter', 'sort', this.getConfig().queryParameter]), true);
262
+ return __spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray([], this.encodeOther(state, ['page', 'query', 'filter', 'sort', this.getConfig().queryParameter]), true), this.encodeQuery(state), true), this.encodePage(state), true), this.encodeFilter(state), true), this.encodeSort(state), true);
255
263
  };
256
264
  QueryStringTranslator.prototype.serialize = function (state) {
257
265
  var queryParams = this.stateToQueryParams(state);
@@ -1,4 +1,4 @@
1
- import { UrlState, Translator, ParamLocationType } from '../../types';
1
+ import { UrlState, Translator, TranslatorConfig, ParamLocationType } from '../../types';
2
2
  declare type UrlParameter = {
3
3
  key: Array<string>;
4
4
  value: string;
@@ -28,7 +28,7 @@ export declare type UrlTranslatorParametersConfig = {
28
28
  core: CoreMap;
29
29
  custom: CustomMap;
30
30
  };
31
- declare type UrlTranslatorConfigFull = {
31
+ declare type UrlTranslatorConfigFull = TranslatorConfig & {
32
32
  urlRoot: string;
33
33
  settings: UrlTranslatorSettingsConfig;
34
34
  parameters: UrlTranslatorParametersConfig;
@@ -38,7 +38,7 @@ export declare type UrlTranslatorSettingsConfig = {
38
38
  corePrefix: string;
39
39
  coreType?: keyof typeof ParamLocationType;
40
40
  customType: keyof typeof ParamLocationType;
41
- rootParams: boolean;
41
+ serializeUrlRoot: boolean;
42
42
  };
43
43
  declare type DeepPartial<T> = Partial<{
44
44
  [P in keyof T]: DeepPartial<T[P]>;
@@ -46,7 +46,7 @@ declare type DeepPartial<T> = Partial<{
46
46
  export declare class UrlTranslator implements Translator {
47
47
  protected config: UrlTranslatorConfigFull;
48
48
  protected reverseMapping: Record<string, string>;
49
- constructor(config?: DeepPartial<UrlTranslatorConfigFull>);
49
+ constructor(config?: UrlTranslatorConfig);
50
50
  bindExternalEvents(update: () => void): void;
51
51
  getCurrentUrl(): string;
52
52
  getConfig(): UrlTranslatorConfigFull;
@@ -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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"}
@@ -30,8 +30,8 @@ var defaultConfig = {
30
30
  urlRoot: '',
31
31
  settings: {
32
32
  corePrefix: '',
33
- customType: types_1.ParamLocationType.hash,
34
- rootParams: true,
33
+ customType: types_1.ParamLocationType.query,
34
+ serializeUrlRoot: true,
35
35
  },
36
36
  parameters: {
37
37
  core: {
@@ -287,9 +287,7 @@ var UrlTranslator = /** @class */ (function () {
287
287
  : this.config.urlRoot.includes('#')
288
288
  ? this.config.urlRoot.split('#')[0]
289
289
  : this.config.urlRoot || window.location.pathname;
290
- var rootUrlParams = this.config.settings.rootParams ? this.parseUrlParams(this.config.urlRoot) : [];
291
- var stateParams = this.stateToParams(state);
292
- var params = __spreadArray(__spreadArray([], rootUrlParams, true), stateParams, true);
290
+ var params = this.stateToParams(state);
293
291
  var queryParams = params.filter(function (p) { return p.type == types_1.ParamLocationType.query; });
294
292
  var hashParams = params.filter(function (p) { return p.type == types_1.ParamLocationType.hash; });
295
293
  var queryParamString = queryParams.length
@@ -316,7 +314,7 @@ var UrlTranslator = /** @class */ (function () {
316
314
  };
317
315
  // encode state into params
318
316
  UrlTranslator.prototype.stateToParams = function (state) {
319
- return __spreadArray(__spreadArray(__spreadArray(__spreadArray([], this.encodeCoreOther(state, ['filter', 'sort']), true), this.encodeCoreFilters(state), true), this.encodeCoreSorts(state), true), this.encodeOther(state), true);
317
+ return __spreadArray(__spreadArray(__spreadArray(__spreadArray([], this.encodeOther(state), true), this.encodeCoreOther(state, ['filter', 'sort']), true), this.encodeCoreFilters(state), true), this.encodeCoreSorts(state), true);
320
318
  };
321
319
  UrlTranslator.prototype.encodeCoreFilters = function (state) {
322
320
  var filterConfig = this.config.parameters.core.filter;
@@ -1,4 +1,4 @@
1
- import { Translator, UrlState } from '../types';
1
+ import { Translator, TranslatorConfig, UrlState } from '../types';
2
2
  import type { ImmutableObject } from 'seamless-immutable';
3
3
  declare type omission = {
4
4
  path: Array<string>;
@@ -36,8 +36,8 @@ export declare class UrlManager {
36
36
  remove(_path: Array<string> | string, values?: Array<any> | any): UrlManager;
37
37
  reset(): UrlManager;
38
38
  withConfig(config: Record<string, unknown> | ((config: Record<string, unknown>) => Record<string, unknown>)): UrlManager;
39
- withGlobals(globals: UrlState | ImmutableObject<UrlState>): UrlManager;
40
- getTranslatorConfig(): Record<string, unknown>;
39
+ withGlobals(globals: UrlState): UrlManager;
40
+ getTranslatorConfig(): TranslatorConfig;
41
41
  get href(): string;
42
42
  go(config?: {
43
43
  [any: string]: unknown;
@@ -1 +1 @@
1
- {"version":3,"file":"UrlManager.d.ts","sourceRoot":"","sources":["../../../src/UrlManager/UrlManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAGhD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAE1D,aAAK,QAAQ,GAAG;IACf,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACpB,MAAM,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;CACpB,CAAC;AAEF,cAAM,WAAW;IAChB,OAAO,CAAC,SAAS,CAAyB;;IAM1C,SAAS,CAAC,EAAE,EAAE,MAAM,IAAI;IAMxB,MAAM;CAGN;AAED,qBAAa,UAAU;IAcd,MAAM,CAAC,gBAAe,UAAU,KAAK,OAAO,MAAM,EAAE,OAAO,CAAC;IAInE,OAAO,CAAC,SAAS;IACV,QAAQ,CAAC;aAAS,MAAM;;IAlBhC,OAAO,CAAC,UAAU,CAAa;IAE/B,OAAO,CAAC,QAAQ,CAAyE;IACzF,OAAO,CAAC,WAAW,CAAyE;IAC5F,OAAO,CAAC,UAAU,CAAyE;IAC3F,OAAO,CAAC,WAAW,CAAyE;IAE5F,OAAO,CAAC,SAAS,CAAC,CAA4B;IAE9C,OAAO,CAAC,WAAW,CAAc;gBAGhC,UAAU,EAAE,UAAU,EACf,MAAM,CAAC,gBAAe,UAAU,KAAK,OAAO,MAAM,EAAE,OAAO,CAAC,aAAA,EACnE,WAAW,CAAC,EAAE,QAAQ,GAAG,eAAe,CAAC,QAAQ,CAAC,EAClD,UAAU,CAAC,EAAE,QAAQ,GAAG,eAAe,CAAC,QAAQ,CAAC,EACjD,WAAW,CAAC,EAAE,WAAW,EACjB,SAAS,GAAE,KAAK,CAAC,QAAQ,CAAM,EAChC,QAAQ,CAAC;aAAS,MAAM;iBAAE;IAwBlC,OAAO,CAAC,OAAO;IAkDf,OAAO,CAAC,gBAAgB;IAQxB,OAAO,IAAI,IAAI;IAiBf,IAAI,KAAK,IAAI,eAAe,CAAC,QAAQ,CAAC,CAErC;IAED,OAAO,CAAC,kBAAkB;IAQ1B,GAAG,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,UAAU;IAWxC,KAAK,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,UAAU;IAgC1C,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,MAAM,EAAE,MAAM,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,UAAU;IAU5E,KAAK,IAAI,UAAU;IAYnB,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,UAAU;IAgBxH,WAAW,CAAC,OAAO,EAAE,QAAQ,GAAG,eAAe,CAAC,QAAQ,CAAC,GAAG,UAAU;IAItE,mBAAmB,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAI9C,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,EAAE,CAAC,MAAM,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,GAAG,IAAI;IAU7C,MAAM,CAAC,KAAK,UAAQ,GAAG,UAAU;IAMjC,IAAI,IAAI,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAM9B;IAED,SAAS,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,eAAe,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,EAAE,eAAe,CAAC,QAAQ,CAAC,KAAK,IAAI,GAAG,MAAM,IAAI;CAQvG"}
1
+ {"version":3,"file":"UrlManager.d.ts","sourceRoot":"","sources":["../../../src/UrlManager/UrlManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAGlE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAE1D,aAAK,QAAQ,GAAG;IACf,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACpB,MAAM,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;CACpB,CAAC;AAEF,cAAM,WAAW;IAChB,OAAO,CAAC,SAAS,CAAyB;;IAM1C,SAAS,CAAC,EAAE,EAAE,MAAM,IAAI;IAMxB,MAAM;CAGN;AAED,qBAAa,UAAU;IAcd,MAAM,CAAC,gBAAe,UAAU,KAAK,OAAO,MAAM,EAAE,OAAO,CAAC;IAInE,OAAO,CAAC,SAAS;IACV,QAAQ,CAAC;aAAS,MAAM;;IAlBhC,OAAO,CAAC,UAAU,CAAa;IAE/B,OAAO,CAAC,QAAQ,CAAyE;IACzF,OAAO,CAAC,WAAW,CAAyE;IAC5F,OAAO,CAAC,UAAU,CAAyE;IAC3F,OAAO,CAAC,WAAW,CAAyE;IAE5F,OAAO,CAAC,SAAS,CAAC,CAA4B;IAE9C,OAAO,CAAC,WAAW,CAAc;gBAGhC,UAAU,EAAE,UAAU,EACf,MAAM,CAAC,gBAAe,UAAU,KAAK,OAAO,MAAM,EAAE,OAAO,CAAC,aAAA,EACnE,WAAW,CAAC,EAAE,QAAQ,GAAG,eAAe,CAAC,QAAQ,CAAC,EAClD,UAAU,CAAC,EAAE,QAAQ,GAAG,eAAe,CAAC,QAAQ,CAAC,EACjD,WAAW,CAAC,EAAE,WAAW,EACjB,SAAS,GAAE,KAAK,CAAC,QAAQ,CAAM,EAChC,QAAQ,CAAC;aAAS,MAAM;iBAAE;IAiClC,OAAO,CAAC,OAAO;IAkDf,OAAO,CAAC,gBAAgB;IAQxB,OAAO,IAAI,IAAI;IAiBf,IAAI,KAAK,IAAI,eAAe,CAAC,QAAQ,CAAC,CAErC;IAED,OAAO,CAAC,kBAAkB;IAQ1B,GAAG,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,UAAU;IAWxC,KAAK,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,UAAU;IAgC1C,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,MAAM,EAAE,MAAM,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,UAAU;IAU5E,KAAK,IAAI,UAAU;IAiBnB,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,UAAU;IAgBxH,WAAW,CAAC,OAAO,EAAE,QAAQ,GAAG,UAAU;IAS1C,mBAAmB,IAAI,gBAAgB;IAIvC,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,EAAE,CAAC,MAAM,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,GAAG,IAAI;IAU7C,MAAM,CAAC,KAAK,UAAQ,GAAG,UAAU;IAMjC,IAAI,IAAI,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAM9B;IAED,SAAS,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,eAAe,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,EAAE,eAAe,CAAC,QAAQ,CAAC,KAAK,IAAI,GAAG,MAAM,IAAI;CAQvG"}
@@ -33,6 +33,7 @@ var UrlManager = /** @class */ (function () {
33
33
  function UrlManager(translator, linker, globalState, localState, watcherPool, omissions, detached) {
34
34
  if (omissions === void 0) { omissions = []; }
35
35
  var _this = this;
36
+ var _a;
36
37
  this.linker = linker;
37
38
  this.omissions = omissions;
38
39
  this.detached = detached;
@@ -43,6 +44,14 @@ var UrlManager = /** @class */ (function () {
43
44
  this.localState = (0, seamless_immutable_1.default)(localState || {});
44
45
  this.globalState = (0, seamless_immutable_1.default)(globalState || {});
45
46
  this.translator = translator;
47
+ // set globals based on urlRoot of translator config when serializeUrlRoot is set
48
+ var translatorConfig = this.getTranslatorConfig();
49
+ if (translatorConfig.urlRoot && ((_a = translatorConfig.settings) === null || _a === void 0 ? void 0 : _a.serializeUrlRoot)) {
50
+ this.globalState = this.globalState.merge((0, seamless_immutable_1.default)(this.translator.deserialize(translatorConfig.urlRoot)), {
51
+ deep: true,
52
+ merger: arrayConcatMerger,
53
+ });
54
+ }
46
55
  if (watcherPool) {
47
56
  this.watcherPool = watcherPool;
48
57
  }
@@ -181,6 +190,10 @@ var UrlManager = /** @class */ (function () {
181
190
  return new UrlManager(this.translator, this.linker, this.globalState, without, this.watcherPool, omissions, this.detached);
182
191
  };
183
192
  UrlManager.prototype.reset = function () {
193
+ // reset detached url
194
+ if (this.detached) {
195
+ this.detached.url = '';
196
+ }
184
197
  return new UrlManager(this.translator, this.linker, this.globalState, {}, this.watcherPool, Object.keys(this.urlState).map(function (k) { return ({ path: [k] }); }), this.detached);
185
198
  };
186
199
  UrlManager.prototype.withConfig = function (config) {
@@ -190,7 +203,11 @@ var UrlManager = /** @class */ (function () {
190
203
  return new UrlManager(new (Object.getPrototypeOf(this.translator).constructor)(config), this.linker, this.globalState, this.localState, this.watcherPool, this.omissions, this.detached);
191
204
  };
192
205
  UrlManager.prototype.withGlobals = function (globals) {
193
- return new UrlManager(this.translator, this.linker, globals, this.localState, this.watcherPool, this.omissions, this.detached);
206
+ this.globalState = this.globalState.merge((0, seamless_immutable_1.default)(globals), {
207
+ deep: true,
208
+ merger: arrayConcatMerger,
209
+ });
210
+ return new UrlManager(this.translator, this.linker, this.globalState, this.localState, this.watcherPool, this.omissions, this.detached);
194
211
  };
195
212
  UrlManager.prototype.getTranslatorConfig = function () {
196
213
  return this.translator.getConfig();
@@ -38,8 +38,12 @@ export interface Translator {
38
38
  }): void;
39
39
  }
40
40
  export interface TranslatorConfig {
41
- queryParameter?: string;
42
41
  urlRoot?: string;
42
+ settings?: {
43
+ serializeUrlRoot?: boolean;
44
+ [any: string]: unknown;
45
+ };
46
+ [any: string]: unknown;
43
47
  }
44
48
  export declare enum ParamLocationType {
45
49
  hash = "hash",
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAE1D,oBAAY,iBAAiB,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;AAE1D,oBAAY,oBAAoB;IAC/B,GAAG,QAAQ;IACX,IAAI,SAAS;CACb;AAED,oBAAY,kBAAkB,GAAG;IAChC,CAAC,oBAAoB,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1C,CAAC,oBAAoB,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3C,CAAC;AAEF,oBAAY,kBAAkB,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,kBAAkB,CAAC;AAEhF,oBAAY,cAAc,GAAG;IAC5B,CAAC,SAAS,EAAE,MAAM,GAAG,kBAAkB,GAAG,KAAK,CAAC,kBAAkB,CAAC,CAAC;CACpE,CAAC;AAEF,oBAAY,YAAY,GAAG;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,oBAAY,QAAQ,GAAG;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,IAAI,CAAC,EAAE,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC;IAC1C,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACvB,CAAC;AAEF,MAAM,WAAW,UAAU;IAC1B,aAAa,IAAI,MAAM,CAAC;IACxB,SAAS,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAErC,SAAS,CAAC,KAAK,EAAE,QAAQ,GAAG,eAAe,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC;IAC/D,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ,CAAC;IAEnC,kBAAkB,CAAC,CAAC,MAAM,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC;IAE9C,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,GAAG,IAAI,CAAC;CAC3D;AAED,MAAM,WAAW,gBAAgB;IAChC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,oBAAY,iBAAiB;IAC5B,IAAI,SAAS;IACb,KAAK,UAAU;CACf"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAE1D,oBAAY,iBAAiB,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;AAE1D,oBAAY,oBAAoB;IAC/B,GAAG,QAAQ;IACX,IAAI,SAAS;CACb;AAED,oBAAY,kBAAkB,GAAG;IAChC,CAAC,oBAAoB,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1C,CAAC,oBAAoB,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3C,CAAC;AAEF,oBAAY,kBAAkB,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,kBAAkB,CAAC;AAEhF,oBAAY,cAAc,GAAG;IAC5B,CAAC,SAAS,EAAE,MAAM,GAAG,kBAAkB,GAAG,KAAK,CAAC,kBAAkB,CAAC,CAAC;CACpE,CAAC;AAEF,oBAAY,YAAY,GAAG;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,oBAAY,QAAQ,GAAG;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,IAAI,CAAC,EAAE,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC;IAC1C,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACvB,CAAC;AAEF,MAAM,WAAW,UAAU;IAC1B,aAAa,IAAI,MAAM,CAAC;IACxB,SAAS,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAErC,SAAS,CAAC,KAAK,EAAE,QAAQ,GAAG,eAAe,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC;IAC/D,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ,CAAC;IAEnC,kBAAkB,CAAC,CAAC,MAAM,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC;IAE9C,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,GAAG,IAAI,CAAC;CAC3D;AAED,MAAM,WAAW,gBAAgB;IAChC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE;QACV,gBAAgB,CAAC,EAAE,OAAO,CAAC;QAC3B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;KACvB,CAAC;IACF,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACvB;AAED,oBAAY,iBAAiB;IAC5B,IAAI,SAAS;IACb,KAAK,UAAU;CACf"}
@@ -1,19 +1,20 @@
1
- import { UrlState, Translator, TranslatorConfig } from '../../types';
2
1
  import type { ImmutableObject } from 'seamless-immutable';
2
+ import type { UrlState, Translator, TranslatorConfig } from '../../types';
3
3
  declare type QueryParameter = {
4
4
  key: Array<string>;
5
5
  value: string;
6
6
  };
7
- declare type Config = {
8
- queryParameter: string;
7
+ export declare type QueryStringTranslatorConfig = Partial<QueryStringTranslatorConfigFull>;
8
+ declare type QueryStringTranslatorConfigFull = TranslatorConfig & {
9
9
  urlRoot: string;
10
+ queryParameter: string;
10
11
  };
11
12
  export declare class QueryStringTranslator implements Translator {
12
- protected config: ImmutableObject<Config>;
13
+ protected config: ImmutableObject<QueryStringTranslatorConfigFull>;
13
14
  constructor(config?: TranslatorConfig);
14
15
  bindExternalEvents(update: () => void): void;
15
16
  getCurrentUrl(): string;
16
- getConfig(): Config;
17
+ getConfig(): QueryStringTranslatorConfigFull;
17
18
  protected parseQueryString(queryString: string): Array<QueryParameter>;
18
19
  protected generateQueryString(params: Array<QueryParameter>): string;
19
20
  protected parsePage(queryParams: Array<QueryParameter>): UrlState;
@@ -1 +1 @@
1
- {"version":3,"file":"QueryStringTranslator.d.ts","sourceRoot":"","sources":["../../../../src/Translators/QueryString/QueryStringTranslator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,gBAAgB,EAA4C,MAAM,aAAa,CAAC;AAG/G,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAE1D,aAAK,cAAc,GAAG;IACrB,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,aAAK,MAAM,GAAG;IACb,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,qBAAa,qBAAsB,YAAW,UAAU;IACvD,SAAS,CAAC,MAAM,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC;gBAE9B,MAAM,GAAE,gBAAqB;IAQzC,kBAAkB,CAAC,MAAM,EAAE,MAAM,IAAI,GAAG,IAAI;IAI5C,aAAa,IAAI,MAAM;IAIvB,SAAS,IAAI,MAAM;IAInB,SAAS,CAAC,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,KAAK,CAAC,cAAc,CAAC;IAYtE,SAAS,CAAC,mBAAmB,CAAC,MAAM,EAAE,KAAK,CAAC,cAAc,CAAC,GAAG,MAAM;IAmBpE,SAAS,CAAC,SAAS,CAAC,WAAW,EAAE,KAAK,CAAC,cAAc,CAAC,GAAG,QAAQ;IAYjE,SAAS,CAAC,SAAS,CAAC,WAAW,EAAE,KAAK,CAAC,cAAc,CAAC,GAAG,QAAQ;IAejE,SAAS,CAAC,UAAU,CAAC,WAAW,EAAE,KAAK,CAAC,cAAc,CAAC,EAAE,MAAM,GAAE,KAAK,CAAC,MAAM,CAAM,GAAG,QAAQ;IA4B9F,SAAS,CAAC,UAAU,CAAC,WAAW,EAAE,KAAK,CAAC,cAAc,CAAC,GAAG,QAAQ;IAQlE,SAAS,CAAC,WAAW,CAAC,WAAW,EAAE,KAAK,CAAC,cAAc,CAAC,GAAG,QAAQ;IA2DnE,SAAS,CAAC,UAAU,CAAC,KAAK,EAAE,QAAQ,GAAG,KAAK,CAAC,cAAc,CAAC;IAQ5D,SAAS,CAAC,WAAW,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,GAAE,KAAK,CAAC,MAAM,CAAM,GAAG,KAAK,CAAC,cAAc,CAAC;IA6BzF,SAAS,CAAC,WAAW,CAAC,KAAK,EAAE,QAAQ,GAAG,KAAK,CAAC,cAAc,CAAC;IAa7D,SAAS,CAAC,UAAU,CAAC,KAAK,EAAE,QAAQ,GAAG,KAAK,CAAC,cAAc,CAAC;IAa5D,SAAS,CAAC,YAAY,CAAC,KAAK,EAAE,QAAQ,GAAG,KAAK,CAAC,cAAc,CAAC;IA0C9D,SAAS,CAAC,kBAAkB,CAAC,WAAW,EAAE,KAAK,CAAC,cAAc,CAAC,GAAG,QAAQ;IAW1E,SAAS,CAAC,kBAAkB,CAAC,KAAK,GAAE,QAAa,GAAG,KAAK,CAAC,cAAc,CAAC;IAUzE,SAAS,CAAC,KAAK,EAAE,QAAQ,GAAG,MAAM;IAMlC,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ;IAQlC,EAAE,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;CAGrB"}
1
+ {"version":3,"file":"QueryStringTranslator.d.ts","sourceRoot":"","sources":["../../../../src/Translators/QueryString/QueryStringTranslator.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAE1D,OAAO,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,gBAAgB,EAAsB,MAAM,aAAa,CAAC;AAE9F,aAAK,cAAc,GAAG;IACrB,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,oBAAY,2BAA2B,GAAG,OAAO,CAAC,+BAA+B,CAAC,CAAC;AAEnF,aAAK,+BAA+B,GAAG,gBAAgB,GAAG;IACzD,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;CACvB,CAAC;AAUF,qBAAa,qBAAsB,YAAW,UAAU;IACvD,SAAS,CAAC,MAAM,EAAE,eAAe,CAAC,+BAA+B,CAAC,CAAC;gBAEvD,MAAM,GAAE,gBAAqB;IAIzC,kBAAkB,CAAC,MAAM,EAAE,MAAM,IAAI,GAAG,IAAI;IAI5C,aAAa,IAAI,MAAM;IAIvB,SAAS,IAAI,+BAA+B;IAI5C,SAAS,CAAC,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,KAAK,CAAC,cAAc,CAAC;IAYtE,SAAS,CAAC,mBAAmB,CAAC,MAAM,EAAE,KAAK,CAAC,cAAc,CAAC,GAAG,MAAM;IAmBpE,SAAS,CAAC,SAAS,CAAC,WAAW,EAAE,KAAK,CAAC,cAAc,CAAC,GAAG,QAAQ;IAYjE,SAAS,CAAC,SAAS,CAAC,WAAW,EAAE,KAAK,CAAC,cAAc,CAAC,GAAG,QAAQ;IAejE,SAAS,CAAC,UAAU,CAAC,WAAW,EAAE,KAAK,CAAC,cAAc,CAAC,EAAE,MAAM,GAAE,KAAK,CAAC,MAAM,CAAM,GAAG,QAAQ;IA4B9F,SAAS,CAAC,UAAU,CAAC,WAAW,EAAE,KAAK,CAAC,cAAc,CAAC,GAAG,QAAQ;IAQlE,SAAS,CAAC,WAAW,CAAC,WAAW,EAAE,KAAK,CAAC,cAAc,CAAC,GAAG,QAAQ;IA2DnE,SAAS,CAAC,UAAU,CAAC,KAAK,EAAE,QAAQ,GAAG,KAAK,CAAC,cAAc,CAAC;IAQ5D,SAAS,CAAC,WAAW,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,GAAE,KAAK,CAAC,MAAM,CAAM,GAAG,KAAK,CAAC,cAAc,CAAC;IA6BzF,SAAS,CAAC,WAAW,CAAC,KAAK,EAAE,QAAQ,GAAG,KAAK,CAAC,cAAc,CAAC;IAa7D,SAAS,CAAC,UAAU,CAAC,KAAK,EAAE,QAAQ,GAAG,KAAK,CAAC,cAAc,CAAC;IAa5D,SAAS,CAAC,YAAY,CAAC,KAAK,EAAE,QAAQ,GAAG,KAAK,CAAC,cAAc,CAAC;IA0C9D,SAAS,CAAC,kBAAkB,CAAC,WAAW,EAAE,KAAK,CAAC,cAAc,CAAC,GAAG,QAAQ;IAW1E,SAAS,CAAC,kBAAkB,CAAC,KAAK,GAAE,QAAa,GAAG,KAAK,CAAC,cAAc,CAAC;IAUzE,SAAS,CAAC,KAAK,EAAE,QAAQ,GAAG,MAAM;IAMlC,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ;IAQlC,EAAE,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;CAGrB"}
@@ -1,12 +1,16 @@
1
- import { RangeValueProperties } from '../../types';
1
+ import deepmerge from 'deepmerge';
2
2
  import Immutable from 'seamless-immutable';
3
+ import { RangeValueProperties } from '../../types';
4
+ const defaultConfig = {
5
+ urlRoot: '',
6
+ queryParameter: 'q',
7
+ settings: {
8
+ serializeUrlRoot: true,
9
+ },
10
+ };
3
11
  export class QueryStringTranslator {
4
12
  constructor(config = {}) {
5
- this.config = Immutable({
6
- ...config,
7
- urlRoot: typeof config.urlRoot == 'string' ? config.urlRoot.replace(/\/$/, '') : '',
8
- queryParameter: typeof config.queryParameter == 'string' ? config.queryParameter : 'q',
9
- });
13
+ this.config = Immutable(deepmerge(defaultConfig, config));
10
14
  }
11
15
  bindExternalEvents(update) {
12
16
  window.addEventListener('popstate', update);
@@ -241,11 +245,11 @@ export class QueryStringTranslator {
241
245
  }
242
246
  stateToQueryParams(state = {}) {
243
247
  return [
248
+ ...this.encodeOther(state, ['page', 'query', 'filter', 'sort', this.getConfig().queryParameter]),
244
249
  ...this.encodeQuery(state),
245
250
  ...this.encodePage(state),
246
251
  ...this.encodeFilter(state),
247
252
  ...this.encodeSort(state),
248
- ...this.encodeOther(state, ['page', 'query', 'filter', 'sort', this.getConfig().queryParameter]),
249
253
  ];
250
254
  }
251
255
  serialize(state) {
@@ -1,4 +1,4 @@
1
- import { UrlState, Translator, ParamLocationType } from '../../types';
1
+ import { UrlState, Translator, TranslatorConfig, ParamLocationType } from '../../types';
2
2
  declare type UrlParameter = {
3
3
  key: Array<string>;
4
4
  value: string;
@@ -28,7 +28,7 @@ export declare type UrlTranslatorParametersConfig = {
28
28
  core: CoreMap;
29
29
  custom: CustomMap;
30
30
  };
31
- declare type UrlTranslatorConfigFull = {
31
+ declare type UrlTranslatorConfigFull = TranslatorConfig & {
32
32
  urlRoot: string;
33
33
  settings: UrlTranslatorSettingsConfig;
34
34
  parameters: UrlTranslatorParametersConfig;
@@ -38,7 +38,7 @@ export declare type UrlTranslatorSettingsConfig = {
38
38
  corePrefix: string;
39
39
  coreType?: keyof typeof ParamLocationType;
40
40
  customType: keyof typeof ParamLocationType;
41
- rootParams: boolean;
41
+ serializeUrlRoot: boolean;
42
42
  };
43
43
  declare type DeepPartial<T> = Partial<{
44
44
  [P in keyof T]: DeepPartial<T[P]>;
@@ -46,7 +46,7 @@ declare type DeepPartial<T> = Partial<{
46
46
  export declare class UrlTranslator implements Translator {
47
47
  protected config: UrlTranslatorConfigFull;
48
48
  protected reverseMapping: Record<string, string>;
49
- constructor(config?: DeepPartial<UrlTranslatorConfigFull>);
49
+ constructor(config?: UrlTranslatorConfig);
50
50
  bindExternalEvents(update: () => void): void;
51
51
  getCurrentUrl(): string;
52
52
  getConfig(): UrlTranslatorConfigFull;
@@ -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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"}
@@ -4,8 +4,8 @@ const defaultConfig = {
4
4
  urlRoot: '',
5
5
  settings: {
6
6
  corePrefix: '',
7
- customType: ParamLocationType.hash,
8
- rootParams: true,
7
+ customType: ParamLocationType.query,
8
+ serializeUrlRoot: true,
9
9
  },
10
10
  parameters: {
11
11
  core: {
@@ -269,9 +269,7 @@ export class UrlTranslator {
269
269
  : this.config.urlRoot.includes('#')
270
270
  ? this.config.urlRoot.split('#')[0]
271
271
  : this.config.urlRoot || window.location.pathname;
272
- const rootUrlParams = this.config.settings.rootParams ? this.parseUrlParams(this.config.urlRoot) : [];
273
- const stateParams = this.stateToParams(state);
274
- const params = [...rootUrlParams, ...stateParams];
272
+ const params = this.stateToParams(state);
275
273
  const queryParams = params.filter((p) => p.type == ParamLocationType.query);
276
274
  const hashParams = params.filter((p) => p.type == ParamLocationType.hash);
277
275
  const queryParamString = queryParams.length
@@ -299,10 +297,10 @@ export class UrlTranslator {
299
297
  // encode state into params
300
298
  stateToParams(state) {
301
299
  return [
300
+ ...this.encodeOther(state),
302
301
  ...this.encodeCoreOther(state, ['filter', 'sort']),
303
302
  ...this.encodeCoreFilters(state),
304
303
  ...this.encodeCoreSorts(state),
305
- ...this.encodeOther(state),
306
304
  ];
307
305
  }
308
306
  encodeCoreFilters(state) {
@@ -1,4 +1,4 @@
1
- import { Translator, UrlState } from '../types';
1
+ import { Translator, TranslatorConfig, UrlState } from '../types';
2
2
  import type { ImmutableObject } from 'seamless-immutable';
3
3
  declare type omission = {
4
4
  path: Array<string>;
@@ -36,8 +36,8 @@ export declare class UrlManager {
36
36
  remove(_path: Array<string> | string, values?: Array<any> | any): UrlManager;
37
37
  reset(): UrlManager;
38
38
  withConfig(config: Record<string, unknown> | ((config: Record<string, unknown>) => Record<string, unknown>)): UrlManager;
39
- withGlobals(globals: UrlState | ImmutableObject<UrlState>): UrlManager;
40
- getTranslatorConfig(): Record<string, unknown>;
39
+ withGlobals(globals: UrlState): UrlManager;
40
+ getTranslatorConfig(): TranslatorConfig;
41
41
  get href(): string;
42
42
  go(config?: {
43
43
  [any: string]: unknown;
@@ -1 +1 @@
1
- {"version":3,"file":"UrlManager.d.ts","sourceRoot":"","sources":["../../../src/UrlManager/UrlManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAGhD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAE1D,aAAK,QAAQ,GAAG;IACf,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACpB,MAAM,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;CACpB,CAAC;AAEF,cAAM,WAAW;IAChB,OAAO,CAAC,SAAS,CAAyB;;IAM1C,SAAS,CAAC,EAAE,EAAE,MAAM,IAAI;IAMxB,MAAM;CAGN;AAED,qBAAa,UAAU;IAcd,MAAM,CAAC,gBAAe,UAAU,KAAK,OAAO,MAAM,EAAE,OAAO,CAAC;IAInE,OAAO,CAAC,SAAS;IACV,QAAQ,CAAC;aAAS,MAAM;;IAlBhC,OAAO,CAAC,UAAU,CAAa;IAE/B,OAAO,CAAC,QAAQ,CAAyE;IACzF,OAAO,CAAC,WAAW,CAAyE;IAC5F,OAAO,CAAC,UAAU,CAAyE;IAC3F,OAAO,CAAC,WAAW,CAAyE;IAE5F,OAAO,CAAC,SAAS,CAAC,CAA4B;IAE9C,OAAO,CAAC,WAAW,CAAc;gBAGhC,UAAU,EAAE,UAAU,EACf,MAAM,CAAC,gBAAe,UAAU,KAAK,OAAO,MAAM,EAAE,OAAO,CAAC,aAAA,EACnE,WAAW,CAAC,EAAE,QAAQ,GAAG,eAAe,CAAC,QAAQ,CAAC,EAClD,UAAU,CAAC,EAAE,QAAQ,GAAG,eAAe,CAAC,QAAQ,CAAC,EACjD,WAAW,CAAC,EAAE,WAAW,EACjB,SAAS,GAAE,KAAK,CAAC,QAAQ,CAAM,EAChC,QAAQ,CAAC;aAAS,MAAM;iBAAE;IAwBlC,OAAO,CAAC,OAAO;IAkDf,OAAO,CAAC,gBAAgB;IAQxB,OAAO,IAAI,IAAI;IAiBf,IAAI,KAAK,IAAI,eAAe,CAAC,QAAQ,CAAC,CAErC;IAED,OAAO,CAAC,kBAAkB;IAQ1B,GAAG,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,UAAU;IAWxC,KAAK,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,UAAU;IAgC1C,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,MAAM,EAAE,MAAM,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,UAAU;IAU5E,KAAK,IAAI,UAAU;IAYnB,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,UAAU;IAgBxH,WAAW,CAAC,OAAO,EAAE,QAAQ,GAAG,eAAe,CAAC,QAAQ,CAAC,GAAG,UAAU;IAItE,mBAAmB,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAI9C,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,EAAE,CAAC,MAAM,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,GAAG,IAAI;IAU7C,MAAM,CAAC,KAAK,UAAQ,GAAG,UAAU;IAMjC,IAAI,IAAI,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAM9B;IAED,SAAS,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,eAAe,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,EAAE,eAAe,CAAC,QAAQ,CAAC,KAAK,IAAI,GAAG,MAAM,IAAI;CAQvG"}
1
+ {"version":3,"file":"UrlManager.d.ts","sourceRoot":"","sources":["../../../src/UrlManager/UrlManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAGlE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAE1D,aAAK,QAAQ,GAAG;IACf,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACpB,MAAM,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;CACpB,CAAC;AAEF,cAAM,WAAW;IAChB,OAAO,CAAC,SAAS,CAAyB;;IAM1C,SAAS,CAAC,EAAE,EAAE,MAAM,IAAI;IAMxB,MAAM;CAGN;AAED,qBAAa,UAAU;IAcd,MAAM,CAAC,gBAAe,UAAU,KAAK,OAAO,MAAM,EAAE,OAAO,CAAC;IAInE,OAAO,CAAC,SAAS;IACV,QAAQ,CAAC;aAAS,MAAM;;IAlBhC,OAAO,CAAC,UAAU,CAAa;IAE/B,OAAO,CAAC,QAAQ,CAAyE;IACzF,OAAO,CAAC,WAAW,CAAyE;IAC5F,OAAO,CAAC,UAAU,CAAyE;IAC3F,OAAO,CAAC,WAAW,CAAyE;IAE5F,OAAO,CAAC,SAAS,CAAC,CAA4B;IAE9C,OAAO,CAAC,WAAW,CAAc;gBAGhC,UAAU,EAAE,UAAU,EACf,MAAM,CAAC,gBAAe,UAAU,KAAK,OAAO,MAAM,EAAE,OAAO,CAAC,aAAA,EACnE,WAAW,CAAC,EAAE,QAAQ,GAAG,eAAe,CAAC,QAAQ,CAAC,EAClD,UAAU,CAAC,EAAE,QAAQ,GAAG,eAAe,CAAC,QAAQ,CAAC,EACjD,WAAW,CAAC,EAAE,WAAW,EACjB,SAAS,GAAE,KAAK,CAAC,QAAQ,CAAM,EAChC,QAAQ,CAAC;aAAS,MAAM;iBAAE;IAiClC,OAAO,CAAC,OAAO;IAkDf,OAAO,CAAC,gBAAgB;IAQxB,OAAO,IAAI,IAAI;IAiBf,IAAI,KAAK,IAAI,eAAe,CAAC,QAAQ,CAAC,CAErC;IAED,OAAO,CAAC,kBAAkB;IAQ1B,GAAG,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,UAAU;IAWxC,KAAK,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,UAAU;IAgC1C,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,MAAM,EAAE,MAAM,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,UAAU;IAU5E,KAAK,IAAI,UAAU;IAiBnB,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,UAAU;IAgBxH,WAAW,CAAC,OAAO,EAAE,QAAQ,GAAG,UAAU;IAS1C,mBAAmB,IAAI,gBAAgB;IAIvC,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,EAAE,CAAC,MAAM,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,GAAG,IAAI;IAU7C,MAAM,CAAC,KAAK,UAAQ,GAAG,UAAU;IAMjC,IAAI,IAAI,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAM9B;IAED,SAAS,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,eAAe,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,EAAE,eAAe,CAAC,QAAQ,CAAC,KAAK,IAAI,GAAG,MAAM,IAAI;CAQvG"}
@@ -24,6 +24,14 @@ export class UrlManager {
24
24
  this.localState = Immutable(localState || {});
25
25
  this.globalState = Immutable(globalState || {});
26
26
  this.translator = translator;
27
+ // set globals based on urlRoot of translator config when serializeUrlRoot is set
28
+ const translatorConfig = this.getTranslatorConfig();
29
+ if (translatorConfig.urlRoot && translatorConfig.settings?.serializeUrlRoot) {
30
+ this.globalState = this.globalState.merge(Immutable(this.translator.deserialize(translatorConfig.urlRoot)), {
31
+ deep: true,
32
+ merger: arrayConcatMerger,
33
+ });
34
+ }
27
35
  if (watcherPool) {
28
36
  this.watcherPool = watcherPool;
29
37
  }
@@ -148,6 +156,10 @@ export class UrlManager {
148
156
  return new UrlManager(this.translator, this.linker, this.globalState, without, this.watcherPool, omissions, this.detached);
149
157
  }
150
158
  reset() {
159
+ // reset detached url
160
+ if (this.detached) {
161
+ this.detached.url = '';
162
+ }
151
163
  return new UrlManager(this.translator, this.linker, this.globalState, {}, this.watcherPool, Object.keys(this.urlState).map((k) => ({ path: [k] })), this.detached);
152
164
  }
153
165
  withConfig(config) {
@@ -157,7 +169,11 @@ export class UrlManager {
157
169
  return new UrlManager(new (Object.getPrototypeOf(this.translator).constructor)(config), this.linker, this.globalState, this.localState, this.watcherPool, this.omissions, this.detached);
158
170
  }
159
171
  withGlobals(globals) {
160
- return new UrlManager(this.translator, this.linker, globals, this.localState, this.watcherPool, this.omissions, this.detached);
172
+ this.globalState = this.globalState.merge(Immutable(globals), {
173
+ deep: true,
174
+ merger: arrayConcatMerger,
175
+ });
176
+ return new UrlManager(this.translator, this.linker, this.globalState, this.localState, this.watcherPool, this.omissions, this.detached);
161
177
  }
162
178
  getTranslatorConfig() {
163
179
  return this.translator.getConfig();
@@ -38,8 +38,12 @@ export interface Translator {
38
38
  }): void;
39
39
  }
40
40
  export interface TranslatorConfig {
41
- queryParameter?: string;
42
41
  urlRoot?: string;
42
+ settings?: {
43
+ serializeUrlRoot?: boolean;
44
+ [any: string]: unknown;
45
+ };
46
+ [any: string]: unknown;
43
47
  }
44
48
  export declare enum ParamLocationType {
45
49
  hash = "hash",
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAE1D,oBAAY,iBAAiB,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;AAE1D,oBAAY,oBAAoB;IAC/B,GAAG,QAAQ;IACX,IAAI,SAAS;CACb;AAED,oBAAY,kBAAkB,GAAG;IAChC,CAAC,oBAAoB,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1C,CAAC,oBAAoB,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3C,CAAC;AAEF,oBAAY,kBAAkB,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,kBAAkB,CAAC;AAEhF,oBAAY,cAAc,GAAG;IAC5B,CAAC,SAAS,EAAE,MAAM,GAAG,kBAAkB,GAAG,KAAK,CAAC,kBAAkB,CAAC,CAAC;CACpE,CAAC;AAEF,oBAAY,YAAY,GAAG;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,oBAAY,QAAQ,GAAG;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,IAAI,CAAC,EAAE,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC;IAC1C,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACvB,CAAC;AAEF,MAAM,WAAW,UAAU;IAC1B,aAAa,IAAI,MAAM,CAAC;IACxB,SAAS,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAErC,SAAS,CAAC,KAAK,EAAE,QAAQ,GAAG,eAAe,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC;IAC/D,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ,CAAC;IAEnC,kBAAkB,CAAC,CAAC,MAAM,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC;IAE9C,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,GAAG,IAAI,CAAC;CAC3D;AAED,MAAM,WAAW,gBAAgB;IAChC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,oBAAY,iBAAiB;IAC5B,IAAI,SAAS;IACb,KAAK,UAAU;CACf"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAE1D,oBAAY,iBAAiB,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;AAE1D,oBAAY,oBAAoB;IAC/B,GAAG,QAAQ;IACX,IAAI,SAAS;CACb;AAED,oBAAY,kBAAkB,GAAG;IAChC,CAAC,oBAAoB,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1C,CAAC,oBAAoB,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3C,CAAC;AAEF,oBAAY,kBAAkB,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,kBAAkB,CAAC;AAEhF,oBAAY,cAAc,GAAG;IAC5B,CAAC,SAAS,EAAE,MAAM,GAAG,kBAAkB,GAAG,KAAK,CAAC,kBAAkB,CAAC,CAAC;CACpE,CAAC;AAEF,oBAAY,YAAY,GAAG;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,oBAAY,QAAQ,GAAG;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,IAAI,CAAC,EAAE,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC;IAC1C,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACvB,CAAC;AAEF,MAAM,WAAW,UAAU;IAC1B,aAAa,IAAI,MAAM,CAAC;IACxB,SAAS,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAErC,SAAS,CAAC,KAAK,EAAE,QAAQ,GAAG,eAAe,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC;IAC/D,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ,CAAC;IAEnC,kBAAkB,CAAC,CAAC,MAAM,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC;IAE9C,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,GAAG,IAAI,CAAC;CAC3D;AAED,MAAM,WAAW,gBAAgB;IAChC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE;QACV,gBAAgB,CAAC,EAAE,OAAO,CAAC;QAC3B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;KACvB,CAAC;IACF,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACvB;AAED,oBAAY,iBAAiB;IAC5B,IAAI,SAAS;IACb,KAAK,UAAU;CACf"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@searchspring/snap-url-manager",
3
- "version": "0.31.0",
3
+ "version": "0.34.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": "b09e1f5eb179f8ef167d264fab4dc5234ac9f83b"
33
+ "gitHead": "ba20dc14f2c771f77e2ba840059500209e37e07d"
34
34
  }