@scalar/oas-utils 0.4.1 → 0.4.3

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.
Files changed (106) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/dist/entities/spec/request-examples.d.ts +27 -27
  3. package/dist/entities/spec/request-examples.d.ts.map +1 -1
  4. package/dist/entities/spec/request-examples.js +4 -4
  5. package/dist/entities/spec/request-examples.js.map +2 -2
  6. package/dist/entities/spec/spec-objects.d.ts.map +1 -1
  7. package/dist/entities/spec/spec-objects.js +1 -1
  8. package/dist/entities/spec/spec-objects.js.map +1 -1
  9. package/dist/helpers/index.d.ts +77 -18
  10. package/dist/helpers/index.d.ts.map +1 -1
  11. package/dist/helpers/index.js +69 -21
  12. package/dist/helpers/index.js.map +2 -2
  13. package/dist/helpers/redirect-to-proxy.d.ts +0 -4
  14. package/dist/helpers/redirect-to-proxy.d.ts.map +1 -1
  15. package/dist/helpers/redirect-to-proxy.js +2 -13
  16. package/dist/helpers/redirect-to-proxy.js.map +2 -2
  17. package/dist/helpers/security/get-schemes.d.ts.map +1 -1
  18. package/dist/helpers/security/get-schemes.js +1 -1
  19. package/dist/helpers/security/get-schemes.js.map +2 -2
  20. package/dist/migrations/local-storage.d.ts +1 -1
  21. package/dist/migrations/local-storage.d.ts.map +1 -1
  22. package/dist/migrations/local-storage.js +1 -1
  23. package/dist/migrations/local-storage.js.map +2 -2
  24. package/dist/migrations/v-2.1.0/migration.d.ts.map +1 -1
  25. package/dist/migrations/v-2.1.0/migration.js +2 -1
  26. package/dist/migrations/v-2.1.0/migration.js.map +2 -2
  27. package/dist/spec-getters/get-request-body-from-operation.d.ts.map +1 -1
  28. package/dist/spec-getters/get-request-body-from-operation.js +1 -1
  29. package/dist/spec-getters/get-request-body-from-operation.js.map +2 -2
  30. package/dist/transforms/import-spec.d.ts +1 -1
  31. package/dist/transforms/import-spec.d.ts.map +1 -1
  32. package/dist/transforms/import-spec.js +9 -6
  33. package/dist/transforms/import-spec.js.map +2 -2
  34. package/package.json +8 -7
  35. package/dist/helpers/create-hash.d.ts +0 -7
  36. package/dist/helpers/create-hash.d.ts.map +0 -1
  37. package/dist/helpers/create-hash.js +0 -18
  38. package/dist/helpers/create-hash.js.map +0 -7
  39. package/dist/helpers/ensure-protocol.d.ts +0 -3
  40. package/dist/helpers/ensure-protocol.d.ts.map +0 -1
  41. package/dist/helpers/ensure-protocol.js +0 -11
  42. package/dist/helpers/ensure-protocol.js.map +0 -7
  43. package/dist/helpers/find-variables.d.ts +0 -5
  44. package/dist/helpers/find-variables.d.ts.map +0 -1
  45. package/dist/helpers/find-variables.js +0 -8
  46. package/dist/helpers/find-variables.js.map +0 -7
  47. package/dist/helpers/http-methods.d.ts +0 -29
  48. package/dist/helpers/http-methods.d.ts.map +0 -1
  49. package/dist/helpers/http-methods.js +0 -66
  50. package/dist/helpers/http-methods.js.map +0 -7
  51. package/dist/helpers/http-status-codes.d.ts +0 -8
  52. package/dist/helpers/http-status-codes.d.ts.map +0 -1
  53. package/dist/helpers/http-status-codes.js +0 -321
  54. package/dist/helpers/http-status-codes.js.map +0 -7
  55. package/dist/helpers/is-defined.d.ts +0 -13
  56. package/dist/helpers/is-defined.d.ts.map +0 -1
  57. package/dist/helpers/is-defined.js +0 -5
  58. package/dist/helpers/is-defined.js.map +0 -7
  59. package/dist/helpers/is-local-url.d.ts +0 -5
  60. package/dist/helpers/is-local-url.d.ts.map +0 -1
  61. package/dist/helpers/is-local-url.js +0 -13
  62. package/dist/helpers/is-local-url.js.map +0 -7
  63. package/dist/helpers/is-valid-url.d.ts +0 -12
  64. package/dist/helpers/is-valid-url.d.ts.map +0 -1
  65. package/dist/helpers/is-valid-url.js +0 -11
  66. package/dist/helpers/is-valid-url.js.map +0 -7
  67. package/dist/helpers/iterate-title.d.ts +0 -5
  68. package/dist/helpers/iterate-title.d.ts.map +0 -1
  69. package/dist/helpers/iterate-title.js +0 -12
  70. package/dist/helpers/iterate-title.js.map +0 -7
  71. package/dist/helpers/json2xml.d.ts +0 -5
  72. package/dist/helpers/json2xml.d.ts.map +0 -1
  73. package/dist/helpers/json2xml.js +0 -45
  74. package/dist/helpers/json2xml.js.map +0 -7
  75. package/dist/helpers/local-storage.d.ts +0 -16
  76. package/dist/helpers/local-storage.d.ts.map +0 -1
  77. package/dist/helpers/local-storage.js +0 -15
  78. package/dist/helpers/local-storage.js.map +0 -7
  79. package/dist/helpers/make-url-absolute.d.ts +0 -5
  80. package/dist/helpers/make-url-absolute.d.ts.map +0 -1
  81. package/dist/helpers/make-url-absolute.js +0 -13
  82. package/dist/helpers/make-url-absolute.js.map +0 -7
  83. package/dist/helpers/merge-urls.d.ts +0 -15
  84. package/dist/helpers/merge-urls.d.ts.map +0 -1
  85. package/dist/helpers/merge-urls.js +0 -56
  86. package/dist/helpers/merge-urls.js.map +0 -7
  87. package/dist/helpers/object.d.ts +0 -10
  88. package/dist/helpers/object.d.ts.map +0 -1
  89. package/dist/helpers/object.js +0 -15
  90. package/dist/helpers/object.js.map +0 -7
  91. package/dist/helpers/omit-undefined-values.d.ts +0 -7
  92. package/dist/helpers/omit-undefined-values.d.ts.map +0 -1
  93. package/dist/helpers/omit-undefined-values.js +0 -19
  94. package/dist/helpers/omit-undefined-values.js.map +0 -7
  95. package/dist/helpers/regex-helpers.d.ts +0 -10
  96. package/dist/helpers/regex-helpers.d.ts.map +0 -1
  97. package/dist/helpers/regex-helpers.js +0 -13
  98. package/dist/helpers/regex-helpers.js.map +0 -7
  99. package/dist/helpers/replace-variables.d.ts +0 -5
  100. package/dist/helpers/replace-variables.d.ts.map +0 -1
  101. package/dist/helpers/replace-variables.js +0 -15
  102. package/dist/helpers/replace-variables.js.map +0 -7
  103. package/dist/helpers/string.d.ts +0 -15
  104. package/dist/helpers/string.d.ts.map +0 -1
  105. package/dist/helpers/string.js +0 -7
  106. package/dist/helpers/string.js.map +0 -7
@@ -1,13 +0,0 @@
1
- const makeUrlAbsolute = (url, baseUrl) => {
2
- if (!url || url.startsWith("http://") || url.startsWith("https://") || typeof window === "undefined" && !baseUrl) {
3
- return url;
4
- }
5
- const base = baseUrl || window.location.href;
6
- const cleanBaseUrl = base.split("?")[0]?.split("#")[0];
7
- const normalizedBaseUrl = cleanBaseUrl?.endsWith("/") ? cleanBaseUrl : cleanBaseUrl?.substring(0, cleanBaseUrl?.lastIndexOf("/") + 1);
8
- return new URL(url, normalizedBaseUrl).toString();
9
- };
10
- export {
11
- makeUrlAbsolute
12
- };
13
- //# sourceMappingURL=make-url-absolute.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/helpers/make-url-absolute.ts"],
4
- "sourcesContent": ["/**\n * Pass an URL or a relative URL and get an absolute URL\n */\nexport const makeUrlAbsolute = (url?: string, baseUrl?: string) => {\n if (!url || url.startsWith('http://') || url.startsWith('https://') || (typeof window === 'undefined' && !baseUrl)) {\n return url\n }\n\n const base = baseUrl || window.location.href\n\n // Remove any query parameters or hash from the base URL\n const cleanBaseUrl = base.split('?')[0]?.split('#')[0]\n\n // For base URLs with a path component, we want to remove the last path segment\n // if it doesn't end with a slash\n const normalizedBaseUrl = cleanBaseUrl?.endsWith('/')\n ? cleanBaseUrl\n : cleanBaseUrl?.substring(0, cleanBaseUrl?.lastIndexOf('/') + 1)\n\n return new URL(url, normalizedBaseUrl).toString()\n}\n"],
5
- "mappings": "AAGO,MAAM,kBAAkB,CAAC,KAAc,YAAqB;AACjE,MAAI,CAAC,OAAO,IAAI,WAAW,SAAS,KAAK,IAAI,WAAW,UAAU,KAAM,OAAO,WAAW,eAAe,CAAC,SAAU;AAClH,WAAO;AAAA,EACT;AAEA,QAAM,OAAO,WAAW,OAAO,SAAS;AAGxC,QAAM,eAAe,KAAK,MAAM,GAAG,EAAE,CAAC,GAAG,MAAM,GAAG,EAAE,CAAC;AAIrD,QAAM,oBAAoB,cAAc,SAAS,GAAG,IAChD,eACA,cAAc,UAAU,GAAG,cAAc,YAAY,GAAG,IAAI,CAAC;AAEjE,SAAO,IAAI,IAAI,KAAK,iBAAiB,EAAE,SAAS;AAClD;",
6
- "names": []
7
- }
@@ -1,15 +0,0 @@
1
- /**
2
- * Merges multiple URLSearchParams objects, preserving multiple values per param
3
- * within each source, but later sources overwrite earlier ones completely
4
- * This should de-dupe our query params while allowing multiple keys for "arrays"
5
- */
6
- export declare const mergeSearchParams: (...params: URLSearchParams[]) => URLSearchParams;
7
- /** Combines a base URL and a path ensuring there's only one slash between them */
8
- export declare const combineUrlAndPath: (url: string, path: string) => string;
9
- /**
10
- * Creates a URL from the path and server
11
- * also optionally merges query params if you include urlSearchParams
12
- * This was re-written without using URL to support variables in the scheme
13
- */
14
- export declare const mergeUrls: (url: string, path: string, urlParams?: URLSearchParams, disableOriginPrefix?: boolean) => string;
15
- //# sourceMappingURL=merge-urls.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"merge-urls.d.ts","sourceRoot":"","sources":["../../src/helpers/merge-urls.ts"],"names":[],"mappings":"AAIA;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,cAAe,eAAe,EAAE,KAAG,eA6BhE,CAAA;AAED,kFAAkF;AAClF,eAAO,MAAM,iBAAiB,QAAS,MAAM,QAAQ,MAAM,WAU1D,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,SAAS,QACf,MAAM,QACL,MAAM,cACD,eAAe,0CAmC3B,CAAA"}
@@ -1,56 +0,0 @@
1
- import { ensureProtocol } from "./ensure-protocol.js";
2
- import { isRelativePath } from "./redirect-to-proxy.js";
3
- import { REGEX } from "./regex-helpers.js";
4
- const mergeSearchParams = (...params) => {
5
- const merged = {};
6
- params.forEach((p) => {
7
- const keys = Array.from(p.keys());
8
- const uniqueKeys = new Set(keys);
9
- uniqueKeys.forEach((key) => {
10
- const values = p.getAll(key);
11
- const value = values.length > 1 ? values : values[0] ?? "";
12
- merged[key] = value;
13
- });
14
- });
15
- const result = new URLSearchParams();
16
- Object.entries(merged).forEach(([key, value]) => {
17
- if (Array.isArray(value)) {
18
- value.forEach((v) => result.append(key, v));
19
- } else {
20
- result.append(key, value);
21
- }
22
- });
23
- return result;
24
- };
25
- const combineUrlAndPath = (url, path) => {
26
- if (!path || url === path) {
27
- return url.trim();
28
- }
29
- if (!url) {
30
- return path.trim();
31
- }
32
- return `${url.trim()}/${path.trim()}`.replace(REGEX.MULTIPLE_SLASHES, "/");
33
- };
34
- const mergeUrls = (url, path, urlParams = new URLSearchParams(), disableOriginPrefix = false) => {
35
- if (url && (!isRelativePath(url) || typeof window !== "undefined")) {
36
- const base = disableOriginPrefix ? url : isRelativePath(url) ? combineUrlAndPath(window.location.origin, url) : ensureProtocol(url);
37
- const [baseUrl = "", baseQuery] = base.split("?");
38
- const baseParams = new URLSearchParams(baseQuery || "");
39
- const [pathWithoutQuery = "", pathQuery] = path.split("?");
40
- const pathParams = new URLSearchParams(pathQuery || "");
41
- const mergedUrl = url === path ? baseUrl : combineUrlAndPath(baseUrl, pathWithoutQuery);
42
- const mergedSearchParams = mergeSearchParams(baseParams, pathParams, urlParams);
43
- const search = mergedSearchParams.toString();
44
- return search ? `${mergedUrl}?${search}` : mergedUrl;
45
- }
46
- if (path) {
47
- return combineUrlAndPath(url, path);
48
- }
49
- return "";
50
- };
51
- export {
52
- combineUrlAndPath,
53
- mergeSearchParams,
54
- mergeUrls
55
- };
56
- //# sourceMappingURL=merge-urls.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/helpers/merge-urls.ts"],
4
- "sourcesContent": ["import { ensureProtocol } from './ensure-protocol'\nimport { isRelativePath } from './redirect-to-proxy'\nimport { REGEX } from './regex-helpers'\n\n/**\n * Merges multiple URLSearchParams objects, preserving multiple values per param\n * within each source, but later sources overwrite earlier ones completely\n * This should de-dupe our query params while allowing multiple keys for \"arrays\"\n */\nexport const mergeSearchParams = (...params: URLSearchParams[]): URLSearchParams => {\n // We keep a merged record to ensure the next group will overwrite the previous\n const merged: Record<string, string | string[]> = {}\n\n // Loops over each group and grabs unique keys\n params.forEach((p) => {\n const keys = Array.from(p.keys())\n const uniqueKeys = new Set(keys)\n\n uniqueKeys.forEach((key) => {\n const values = p.getAll(key)\n const value = values.length > 1 ? values : (values[0] ?? '')\n\n merged[key] = value\n })\n })\n\n const result = new URLSearchParams()\n\n // We maintain multiple values for each key if they existed\n Object.entries(merged).forEach(([key, value]) => {\n if (Array.isArray(value)) {\n value.forEach((v) => result.append(key, v))\n } else {\n result.append(key, value)\n }\n })\n\n return result\n}\n\n/** Combines a base URL and a path ensuring there's only one slash between them */\nexport const combineUrlAndPath = (url: string, path: string) => {\n if (!path || url === path) {\n return url.trim()\n }\n\n if (!url) {\n return path.trim()\n }\n\n return `${url.trim()}/${path.trim()}`.replace(REGEX.MULTIPLE_SLASHES, '/')\n}\n\n/**\n * Creates a URL from the path and server\n * also optionally merges query params if you include urlSearchParams\n * This was re-written without using URL to support variables in the scheme\n */\nexport const mergeUrls = (\n url: string,\n path: string,\n urlParams: URLSearchParams = new URLSearchParams(),\n /** To disable prefixing the url with the origin or a scheme*/\n disableOriginPrefix = false,\n) => {\n // Extract and merge all query params\n if (url && (!isRelativePath(url) || typeof window !== 'undefined')) {\n /** Prefix the url with the origin if it is relative and we wish to */\n const base = disableOriginPrefix\n ? url\n : isRelativePath(url)\n ? combineUrlAndPath(window.location.origin, url)\n : ensureProtocol(url)\n\n // Extract search params from base URL if any\n const [baseUrl = '', baseQuery] = base.split('?')\n const baseParams = new URLSearchParams(baseQuery || '')\n\n // Extract search params from path if any\n const [pathWithoutQuery = '', pathQuery] = path.split('?')\n const pathParams = new URLSearchParams(pathQuery || '')\n\n // Merge the baseUrl and path\n const mergedUrl = url === path ? baseUrl : combineUrlAndPath(baseUrl, pathWithoutQuery)\n\n // Merge all search params\n const mergedSearchParams = mergeSearchParams(baseParams, pathParams, urlParams)\n\n // Build the final URL\n const search = mergedSearchParams.toString()\n return search ? `${mergedUrl}?${search}` : mergedUrl\n }\n if (path) {\n return combineUrlAndPath(url, path)\n }\n return ''\n}\n"],
5
- "mappings": "AAAA,SAAS,sBAAsB;AAC/B,SAAS,sBAAsB;AAC/B,SAAS,aAAa;AAOf,MAAM,oBAAoB,IAAI,WAA+C;AAElF,QAAM,SAA4C,CAAC;AAGnD,SAAO,QAAQ,CAAC,MAAM;AACpB,UAAM,OAAO,MAAM,KAAK,EAAE,KAAK,CAAC;AAChC,UAAM,aAAa,IAAI,IAAI,IAAI;AAE/B,eAAW,QAAQ,CAAC,QAAQ;AAC1B,YAAM,SAAS,EAAE,OAAO,GAAG;AAC3B,YAAM,QAAQ,OAAO,SAAS,IAAI,SAAU,OAAO,CAAC,KAAK;AAEzD,aAAO,GAAG,IAAI;AAAA,IAChB,CAAC;AAAA,EACH,CAAC;AAED,QAAM,SAAS,IAAI,gBAAgB;AAGnC,SAAO,QAAQ,MAAM,EAAE,QAAQ,CAAC,CAAC,KAAK,KAAK,MAAM;AAC/C,QAAI,MAAM,QAAQ,KAAK,GAAG;AACxB,YAAM,QAAQ,CAAC,MAAM,OAAO,OAAO,KAAK,CAAC,CAAC;AAAA,IAC5C,OAAO;AACL,aAAO,OAAO,KAAK,KAAK;AAAA,IAC1B;AAAA,EACF,CAAC;AAED,SAAO;AACT;AAGO,MAAM,oBAAoB,CAAC,KAAa,SAAiB;AAC9D,MAAI,CAAC,QAAQ,QAAQ,MAAM;AACzB,WAAO,IAAI,KAAK;AAAA,EAClB;AAEA,MAAI,CAAC,KAAK;AACR,WAAO,KAAK,KAAK;AAAA,EACnB;AAEA,SAAO,GAAG,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,GAAG,QAAQ,MAAM,kBAAkB,GAAG;AAC3E;AAOO,MAAM,YAAY,CACvB,KACA,MACA,YAA6B,IAAI,gBAAgB,GAEjD,sBAAsB,UACnB;AAEH,MAAI,QAAQ,CAAC,eAAe,GAAG,KAAK,OAAO,WAAW,cAAc;AAElE,UAAM,OAAO,sBACT,MACA,eAAe,GAAG,IAChB,kBAAkB,OAAO,SAAS,QAAQ,GAAG,IAC7C,eAAe,GAAG;AAGxB,UAAM,CAAC,UAAU,IAAI,SAAS,IAAI,KAAK,MAAM,GAAG;AAChD,UAAM,aAAa,IAAI,gBAAgB,aAAa,EAAE;AAGtD,UAAM,CAAC,mBAAmB,IAAI,SAAS,IAAI,KAAK,MAAM,GAAG;AACzD,UAAM,aAAa,IAAI,gBAAgB,aAAa,EAAE;AAGtD,UAAM,YAAY,QAAQ,OAAO,UAAU,kBAAkB,SAAS,gBAAgB;AAGtF,UAAM,qBAAqB,kBAAkB,YAAY,YAAY,SAAS;AAG9E,UAAM,SAAS,mBAAmB,SAAS;AAC3C,WAAO,SAAS,GAAG,SAAS,IAAI,MAAM,KAAK;AAAA,EAC7C;AACA,MAAI,MAAM;AACR,WAAO,kBAAkB,KAAK,IAAI;AAAA,EACpC;AACA,SAAO;AACT;",
6
- "names": []
7
- }
@@ -1,10 +0,0 @@
1
- /**
2
- * Overwrite a target object a new replacement object handling removed keys
3
- */
4
- export declare function objectMerge<A extends object, B extends object>(target: A, replacement: B): B;
5
- /**
6
- * Type safe version of Object.keys
7
- * Can probably remove this whenever typescript adds it
8
- */
9
- export declare const getObjectKeys: <T extends object>(obj: T) => (keyof T)[];
10
- //# sourceMappingURL=object.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"object.d.ts","sourceRoot":"","sources":["../../src/helpers/object.ts"],"names":[],"mappings":"AACA;;GAEG;AACH,wBAAgB,WAAW,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,GAU3D,CAAC,CAC9B;AAED;;;GAGG;AACH,eAAO,MAAM,aAAa,GAAI,CAAC,SAAS,MAAM,OAAO,CAAC,KAAG,CAAC,MAAM,CAAC,CAAC,EAAqC,CAAA"}
@@ -1,15 +0,0 @@
1
- function objectMerge(target, replacement) {
2
- Object.keys(target).forEach((key) => {
3
- if (!Object.hasOwn(replacement, key)) {
4
- delete target[key];
5
- }
6
- });
7
- Object.assign(target, replacement);
8
- return target;
9
- }
10
- const getObjectKeys = (obj) => Object.keys(obj);
11
- export {
12
- getObjectKeys,
13
- objectMerge
14
- };
15
- //# sourceMappingURL=object.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/helpers/object.ts"],
4
- "sourcesContent": ["// TODO: This is a copy of packages/core-interface/src/database/utility.ts\n/**\n * Overwrite a target object a new replacement object handling removed keys\n */\nexport function objectMerge<A extends object, B extends object>(target: A, replacement: B) {\n // Clear any keys that have been removed in the replacement\n Object.keys(target).forEach((key) => {\n if (!Object.hasOwn(replacement, key)) {\n delete target[key as keyof A]\n }\n })\n\n Object.assign(target, replacement)\n\n return target as unknown as B\n}\n\n/**\n * Type safe version of Object.keys\n * Can probably remove this whenever typescript adds it\n */\nexport const getObjectKeys = <T extends object>(obj: T): (keyof T)[] => Object.keys(obj) as (keyof T)[]\n"],
5
- "mappings": "AAIO,SAAS,YAAgD,QAAW,aAAgB;AAEzF,SAAO,KAAK,MAAM,EAAE,QAAQ,CAAC,QAAQ;AACnC,QAAI,CAAC,OAAO,OAAO,aAAa,GAAG,GAAG;AACpC,aAAO,OAAO,GAAc;AAAA,IAC9B;AAAA,EACF,CAAC;AAED,SAAO,OAAO,QAAQ,WAAW;AAEjC,SAAO;AACT;AAMO,MAAM,gBAAgB,CAAmB,QAAwB,OAAO,KAAK,GAAG;",
6
- "names": []
7
- }
@@ -1,7 +0,0 @@
1
- /**
2
- * Removes undefined values from an object.
3
- *
4
- * Can be used as a transform function for any Zod schema.
5
- */
6
- export declare const omitUndefinedValues: <T extends object>(data: T) => T;
7
- //# sourceMappingURL=omit-undefined-values.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"omit-undefined-values.d.ts","sourceRoot":"","sources":["../../src/helpers/omit-undefined-values.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,GAAI,CAAC,SAAS,MAAM,QAAQ,CAAC,KAAG,CAkB/D,CAAA"}
@@ -1,19 +0,0 @@
1
- const omitUndefinedValues = (data) => {
2
- if (Array.isArray(data)) {
3
- return data.map(
4
- (item) => typeof item === "object" && item !== null ? omitUndefinedValues(item) : item
5
- );
6
- }
7
- return Object.fromEntries(
8
- Object.entries(data).filter(([_, value]) => value !== void 0).map(([key, value]) => {
9
- if (typeof value === "object" && value !== null) {
10
- return [key, omitUndefinedValues(value)];
11
- }
12
- return [key, value];
13
- })
14
- );
15
- };
16
- export {
17
- omitUndefinedValues
18
- };
19
- //# sourceMappingURL=omit-undefined-values.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/helpers/omit-undefined-values.ts"],
4
- "sourcesContent": ["/**\n * Removes undefined values from an object.\n *\n * Can be used as a transform function for any Zod schema.\n */\nexport const omitUndefinedValues = <T extends object>(data: T): T => {\n // Handle arrays specially\n if (Array.isArray(data)) {\n return data.map((item) =>\n typeof item === 'object' && item !== null ? omitUndefinedValues(item) : item,\n ) as unknown as T\n }\n\n return Object.fromEntries(\n Object.entries(data)\n .filter(([_, value]) => value !== undefined)\n .map(([key, value]) => {\n if (typeof value === 'object' && value !== null) {\n return [key, omitUndefinedValues(value)]\n }\n return [key, value]\n }),\n ) as T\n}\n"],
5
- "mappings": "AAKO,MAAM,sBAAsB,CAAmB,SAAe;AAEnE,MAAI,MAAM,QAAQ,IAAI,GAAG;AACvB,WAAO,KAAK;AAAA,MAAI,CAAC,SACf,OAAO,SAAS,YAAY,SAAS,OAAO,oBAAoB,IAAI,IAAI;AAAA,IAC1E;AAAA,EACF;AAEA,SAAO,OAAO;AAAA,IACZ,OAAO,QAAQ,IAAI,EAChB,OAAO,CAAC,CAAC,GAAG,KAAK,MAAM,UAAU,MAAS,EAC1C,IAAI,CAAC,CAAC,KAAK,KAAK,MAAM;AACrB,UAAI,OAAO,UAAU,YAAY,UAAU,MAAM;AAC/C,eAAO,CAAC,KAAK,oBAAoB,KAAK,CAAC;AAAA,MACzC;AACA,aAAO,CAAC,KAAK,KAAK;AAAA,IACpB,CAAC;AAAA,EACL;AACF;",
6
- "names": []
7
- }
@@ -1,10 +0,0 @@
1
- export declare const REGEX: {
2
- /** Checks for a valid scheme */
3
- readonly PROTOCOL: RegExp;
4
- /** Finds multiple slashes after the scheme to replace with a single slash */
5
- readonly MULTIPLE_SLASHES: RegExp;
6
- readonly VARIABLES: RegExp;
7
- readonly PATH: RegExp;
8
- readonly TEMPLATE_VARIABLE: RegExp;
9
- };
10
- //# sourceMappingURL=regex-helpers.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"regex-helpers.d.ts","sourceRoot":"","sources":["../../src/helpers/regex-helpers.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,KAAK;IAChB,gCAAgC;;IAEhC,6EAA6E;;;;;CAKrE,CAAA"}
@@ -1,13 +0,0 @@
1
- const REGEX = {
2
- /** Checks for a valid scheme */
3
- PROTOCOL: /^(?:https?|ftp|file|mailto|tel|data|wss?)*:\/\//,
4
- /** Finds multiple slashes after the scheme to replace with a single slash */
5
- MULTIPLE_SLASHES: /(?<!:)\/{2,}/g,
6
- VARIABLES: /{{((?:[^{}]|{[^{}]*})*)}}/g,
7
- PATH: /(?:{)([^{}]+)}(?!})/g,
8
- TEMPLATE_VARIABLE: /{{\s*([^}\s]+?)\s*}}|{\s*([^}\s]+?)\s*}|:\b[\w.]+\b/g
9
- };
10
- export {
11
- REGEX
12
- };
13
- //# sourceMappingURL=regex-helpers.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/helpers/regex-helpers.ts"],
4
- "sourcesContent": ["export const REGEX = {\n /** Checks for a valid scheme */\n PROTOCOL: /^(?:https?|ftp|file|mailto|tel|data|wss?)*:\\/\\//,\n /** Finds multiple slashes after the scheme to replace with a single slash */\n MULTIPLE_SLASHES: /(?<!:)\\/{2,}/g,\n VARIABLES: /{{((?:[^{}]|{[^{}]*})*)}}/g,\n PATH: /(?:{)([^{}]+)}(?!})/g,\n TEMPLATE_VARIABLE: /{{\\s*([^}\\s]+?)\\s*}}|{\\s*([^}\\s]+?)\\s*}|:\\b[\\w.]+\\b/g,\n} as const\n"],
5
- "mappings": "AAAO,MAAM,QAAQ;AAAA;AAAA,EAEnB,UAAU;AAAA;AAAA,EAEV,kBAAkB;AAAA,EAClB,WAAW;AAAA,EACX,MAAM;AAAA,EACN,mBAAmB;AACrB;",
6
- "names": []
7
- }
@@ -1,5 +0,0 @@
1
- /**
2
- * This function takes a string and replace {variables} with given values.
3
- */
4
- export declare function replaceVariables(value: string, variablesOrCallback: Record<string, string | number> | ((match: string) => string)): string;
5
- //# sourceMappingURL=replace-variables.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"replace-variables.d.ts","sourceRoot":"","sources":["../../src/helpers/replace-variables.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,MAAM,EACb,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC,UAenF"}
@@ -1,15 +0,0 @@
1
- function replaceVariables(value, variablesOrCallback) {
2
- const doubleCurlyBrackets = /{{\s*([\w.-]+)\s*}}/g;
3
- const singleCurlyBrackets = /{\s*([\w.-]+)\s*}/g;
4
- const callback = (_, match) => {
5
- if (typeof variablesOrCallback === "function") {
6
- return variablesOrCallback(match);
7
- }
8
- return variablesOrCallback[match]?.toString() || `{${match}}`;
9
- };
10
- return value.replace(doubleCurlyBrackets, callback).replace(singleCurlyBrackets, callback);
11
- }
12
- export {
13
- replaceVariables
14
- };
15
- //# sourceMappingURL=replace-variables.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/helpers/replace-variables.ts"],
4
- "sourcesContent": ["/**\n * This function takes a string and replace {variables} with given values.\n */\nexport function replaceVariables(\n value: string,\n variablesOrCallback: Record<string, string | number> | ((match: string) => string),\n) {\n // Replace all variables (example: {{ baseurl }} with an HTML tag)\n const doubleCurlyBrackets = /{{\\s*([\\w.-]+)\\s*}}/g\n const singleCurlyBrackets = /{\\s*([\\w.-]+)\\s*}/g\n\n const callback = (_: string, match: string): string => {\n if (typeof variablesOrCallback === 'function') {\n return variablesOrCallback(match)\n }\n return variablesOrCallback[match]?.toString() || `{${match}}`\n }\n\n // Loop through all matches and replace the match with the variable value\n return value.replace(doubleCurlyBrackets, callback).replace(singleCurlyBrackets, callback)\n}\n"],
5
- "mappings": "AAGO,SAAS,iBACd,OACA,qBACA;AAEA,QAAM,sBAAsB;AAC5B,QAAM,sBAAsB;AAE5B,QAAM,WAAW,CAAC,GAAW,UAA0B;AACrD,QAAI,OAAO,wBAAwB,YAAY;AAC7C,aAAO,oBAAoB,KAAK;AAAA,IAClC;AACA,WAAO,oBAAoB,KAAK,GAAG,SAAS,KAAK,IAAI,KAAK;AAAA,EAC5D;AAGA,SAAO,MAAM,QAAQ,qBAAqB,QAAQ,EAAE,QAAQ,qBAAqB,QAAQ;AAC3F;",
6
- "names": []
7
- }
@@ -1,15 +0,0 @@
1
- /**
2
- * A collection of string manipulation helper methods
3
- */
4
- /**
5
- * Converts a camelCase string to Title Words with spaces
6
- *
7
- * @param camelStr - MUST be in camelCase or this might not work
8
- */
9
- export declare const camelToTitleWords: (camelStr: string) => string;
10
- /**
11
- * Capitalize first letter
12
- * You should normally do this in css, only use this if you have to
13
- */
14
- export declare const capitalize: (str: string) => string;
15
- //# sourceMappingURL=string.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"string.d.ts","sourceRoot":"","sources":["../../src/helpers/string.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,aAAc,MAAM,WAIvC,CAAA;AAEX;;;GAGG;AACH,eAAO,MAAM,UAAU,QAAS,MAAM,WAAyC,CAAA"}
@@ -1,7 +0,0 @@
1
- const camelToTitleWords = (camelStr) => camelStr.replace(/([A-Z])/g, (match) => ` ${match}`).replace(/^./, (match) => match.toUpperCase()).trim();
2
- const capitalize = (str) => str[0]?.toUpperCase() + str.slice(1);
3
- export {
4
- camelToTitleWords,
5
- capitalize
6
- };
7
- //# sourceMappingURL=string.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/helpers/string.ts"],
4
- "sourcesContent": ["/**\n * A collection of string manipulation helper methods\n */\n\n/**\n * Converts a camelCase string to Title Words with spaces\n *\n * @param camelStr - MUST be in camelCase or this might not work\n */\nexport const camelToTitleWords = (camelStr: string) =>\n camelStr\n .replace(/([A-Z])/g, (match) => ` ${match}`)\n .replace(/^./, (match) => match.toUpperCase())\n .trim()\n\n/**\n * Capitalize first letter\n * You should normally do this in css, only use this if you have to\n */\nexport const capitalize = (str: string) => str[0]?.toUpperCase() + str.slice(1)\n"],
5
- "mappings": "AASO,MAAM,oBAAoB,CAAC,aAChC,SACG,QAAQ,YAAY,CAAC,UAAU,IAAI,KAAK,EAAE,EAC1C,QAAQ,MAAM,CAAC,UAAU,MAAM,YAAY,CAAC,EAC5C,KAAK;AAMH,MAAM,aAAa,CAAC,QAAgB,IAAI,CAAC,GAAG,YAAY,IAAI,IAAI,MAAM,CAAC;",
6
- "names": []
7
- }