ag-common 0.0.661 → 0.0.663

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.
@@ -48,7 +48,9 @@ joinKeys: string): string;
48
48
  */
49
49
  export declare const castObject: <TIn, TOut>(orig: Record<string, TIn>, castF: (t: TIn) => TOut) => Record<string, TOut>;
50
50
  /** remove key values from an object where the value is null or undefined or other specific passed in values */
51
- export declare const removeUndefValuesFromObject: <T>(orig: Record<string, T>, ...additionalRemoves: T[]) => Record<string, T>;
51
+ export declare const removeUndefValuesFromObject: <TA>(orig: Record<string, TA>) => Record<string, TA extends null | undefined ? never : TA>;
52
+ /** remove key values from an object where the value is null or undefined or other specific passed in values */
53
+ export declare const removeUndefValuesFromObjectAdditional: <T>(orig: Record<string, T>, ...additionalRemoves: T[]) => Record<string, T>;
52
54
  /**
53
55
  * cast Record<string,string[]|string> to Record<string,string>. can be used for querystring params
54
56
  * @param orig
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isObject = exports.castStringlyObject = exports.removeUndefValuesFromObject = exports.castObject = exports.objectToString = exports.paramsToObject = exports.objectAlphaSort = exports.objectToArray = exports.getObjectKeysAsNumber = exports.objectKeysToLowerCase = exports.isJson = exports.tryJsonParse = void 0;
3
+ exports.isObject = exports.castStringlyObject = exports.removeUndefValuesFromObjectAdditional = exports.removeUndefValuesFromObject = exports.castObject = exports.objectToString = exports.paramsToObject = exports.objectAlphaSort = exports.objectToArray = exports.getObjectKeysAsNumber = exports.objectKeysToLowerCase = exports.isJson = exports.tryJsonParse = void 0;
4
4
  const tryJsonParse = (str, defaultValue) => {
5
5
  if (!str) {
6
6
  return null;
@@ -131,7 +131,19 @@ const castObject = (orig, castF) => {
131
131
  };
132
132
  exports.castObject = castObject;
133
133
  /** remove key values from an object where the value is null or undefined or other specific passed in values */
134
- const removeUndefValuesFromObject = (orig,
134
+ const removeUndefValuesFromObject = (orig) => {
135
+ const ret = {};
136
+ Object.entries(orig).forEach(([k, v]) => {
137
+ if (v !== null && v !== undefined) {
138
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
139
+ ret[k] = v;
140
+ }
141
+ });
142
+ return ret;
143
+ };
144
+ exports.removeUndefValuesFromObject = removeUndefValuesFromObject;
145
+ /** remove key values from an object where the value is null or undefined or other specific passed in values */
146
+ const removeUndefValuesFromObjectAdditional = (orig,
135
147
  /** other than null or undefined */
136
148
  ...additionalRemoves) => {
137
149
  const ret = {};
@@ -142,7 +154,7 @@ const removeUndefValuesFromObject = (orig,
142
154
  });
143
155
  return ret;
144
156
  };
145
- exports.removeUndefValuesFromObject = removeUndefValuesFromObject;
157
+ exports.removeUndefValuesFromObjectAdditional = removeUndefValuesFromObjectAdditional;
146
158
  /**
147
159
  * cast Record<string,string[]|string> to Record<string,string>. can be used for querystring params
148
160
  * @param orig
@@ -84,6 +84,15 @@ const CloseStyled = (0, styled_1.default)(Close_1.Close) `
84
84
  z-index: 1;
85
85
  `;
86
86
  const Modal = ({ open, setOpen, children, position = 'left', topPosition = 'top', showCloseButton = true, closeOnMoveMouseOutside = false, className, closeOnClickOutside = true, }) => {
87
+ (0, react_1.useEffect)(() => {
88
+ const originalStyle = window.getComputedStyle(document.body).overflow || '';
89
+ if (open) {
90
+ document.body.style.overflow = 'hidden';
91
+ }
92
+ return () => {
93
+ document.body.style.overflow = originalStyle;
94
+ };
95
+ }, [open]);
87
96
  const [bounced, setBounced] = (0, react_1.useState)(false);
88
97
  const ref = (0, react_1.useRef)(null);
89
98
  (0, useOnClickOutside_1.useOnClickOutside)({
@@ -38,28 +38,18 @@ export interface IStateCommon<TRequest extends IRequestCommon> extends IInitialS
38
38
  cookieDocument: string | undefined;
39
39
  }
40
40
  export declare const getRenderLanguage: (host?: string | null) => TLang;
41
+ export declare const getClientReqHref: () => IRequestCommon;
41
42
  /**
42
43
  * get parsed url. use on client/SSR. defaults to window location if possible
43
44
  * @param param0
44
45
  * @returns
45
46
  */
46
- export declare const getClientOrServerReqHref: ({ url, query, forceServer, userAgent, }: {
47
+ export declare const getClientOrServerReqHref: ({ url, query, userAgent, }: {
47
48
  url?: URLLite | undefined;
48
49
  query?: Record<string, string> | undefined;
49
- /**
50
- * if true, wont use window location. default false
51
- */
52
- forceServer?: boolean | undefined;
53
50
  /** will use navigator if possible */
54
51
  userAgent?: string | undefined;
55
- }) => {
56
- url: URLLite;
57
- query: {
58
- [x: string]: string;
59
- };
60
- userAgent: string;
61
- lang: TLang;
62
- };
52
+ }) => IRequestCommon;
63
53
  /**
64
54
  * get server side parsed url
65
55
  * @param param0 * @returns
@@ -81,11 +71,4 @@ export declare const getServerReq: ({ pathname, query, headers, }: {
81
71
  * eg ctx.query
82
72
  */
83
73
  query: Record<string, string | string[] | undefined>;
84
- }) => {
85
- url: URLLite;
86
- query: {
87
- [x: string]: string;
88
- };
89
- userAgent: string;
90
- lang: TLang;
91
- };
74
+ }) => IRequestCommon;
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getServerReq = exports.getClientOrServerReqHref = exports.getRenderLanguage = void 0;
3
+ exports.getServerReq = exports.getClientOrServerReqHref = exports.getClientReqHref = exports.getRenderLanguage = void 0;
4
+ const common_1 = require("../../common");
4
5
  const i18n_1 = require("../../common/helpers/i18n");
5
6
  const object_1 = require("../../common/helpers/object");
6
7
  const object_2 = require("../../common/helpers/string/object");
@@ -30,27 +31,29 @@ const getRenderLanguage = (host) => {
30
31
  return 'en';
31
32
  };
32
33
  exports.getRenderLanguage = getRenderLanguage;
34
+ const getClientReqHref = () => {
35
+ const nu = new URL(window.location.href);
36
+ const url = (0, url_1.stripUrl)(nu);
37
+ const query = (0, object_2.stringToObject)((0, common_1.trimSide)(url.search, true, '?') || '', '=', '&');
38
+ const userAgent = navigator.userAgent;
39
+ return { url, query, userAgent, lang: (0, exports.getRenderLanguage)(url.host) };
40
+ };
41
+ exports.getClientReqHref = getClientReqHref;
33
42
  /**
34
43
  * get parsed url. use on client/SSR. defaults to window location if possible
35
44
  * @param param0
36
45
  * @returns
37
46
  */
38
- const getClientOrServerReqHref = ({ url, query, forceServer = false, userAgent, }) => {
47
+ const getClientOrServerReqHref = ({ url, query, userAgent, }) => {
39
48
  if (typeof window !== 'undefined') {
40
- if (!forceServer) {
41
- const nu = new URL(window.location.href);
42
- url = (0, url_1.stripUrl)(nu);
43
- }
44
- }
45
- if (typeof navigator !== 'undefined') {
46
- userAgent = navigator.userAgent;
49
+ return (0, exports.getClientReqHref)();
47
50
  }
48
51
  if (!url) {
49
52
  throw new Error('no href');
50
53
  }
51
54
  return {
52
55
  url,
53
- query: Object.assign(Object.assign({}, query), (0, object_2.stringToObject)(url.search || '', '=', '&')),
56
+ query: Object.assign(Object.assign({}, query), (0, object_2.stringToObject)((0, common_1.trimSide)(url.search, true, '?') || '', '=', '&')),
54
57
  userAgent: userAgent !== null && userAgent !== void 0 ? userAgent : '?',
55
58
  lang: (0, exports.getRenderLanguage)(url.host),
56
59
  };
@@ -70,7 +73,6 @@ const getServerReq = ({ pathname, query, headers, }) => {
70
73
  const ret = (0, exports.getClientOrServerReqHref)({
71
74
  url: !href ? undefined : new URL(href),
72
75
  query: parsedQuery,
73
- forceServer: true,
74
76
  userAgent: (_a = headers['user-agent']) === null || _a === void 0 ? void 0 : _a.toLowerCase(),
75
77
  });
76
78
  return ret;
package/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "0.0.661",
2
+ "version": "0.0.663",
3
3
  "name": "ag-common",
4
4
  "main": "./dist/index.js",
5
5
  "types": "./dist/index.d.ts",