@vuepress/shared 2.0.0-beta.60 → 2.0.0-beta.62

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/dist/index.d.ts CHANGED
@@ -246,6 +246,11 @@ declare const isLinkTel: (link: string) => boolean;
246
246
  */
247
247
  declare const isPlainObject: <T extends Record<any, any> = Record<any, any>>(val: unknown) => val is T;
248
248
 
249
+ /**
250
+ * Omit properties from an object
251
+ */
252
+ declare const omit: <T extends Record<string, unknown>, U extends string[]>(obj: T, ...keys: U) => Omit<T, U[number]>;
253
+
249
254
  /**
250
255
  * Remove ending slash / from a string
251
256
  */
@@ -268,4 +273,4 @@ declare const resolveLocalePath: (locales: LocaleConfig, routePath: string) => s
268
273
 
269
274
  declare const resolveRoutePathFromUrl: (url: string, base?: string) => string;
270
275
 
271
- export { HeadAttrsConfig, HeadConfig, HeadTag, HeadTagEmpty, HeadTagNonEmpty, LocaleConfig, LocaleData, PageBase, PageData, PageFrontmatter, PageHeader, SiteData, SiteLocaleConfig, SiteLocaleData, VuepressSSRContext, dedupeHead, ensureEndingSlash, ensureLeadingSlash, formatDateString, isLinkExternal, isLinkFtp, isLinkHttp, isLinkMailto, isLinkTel, isPlainObject, removeEndingSlash, removeLeadingSlash, resolveHeadIdentifier, resolveLocalePath, resolveRoutePathFromUrl };
276
+ export { HeadAttrsConfig, HeadConfig, HeadTag, HeadTagEmpty, HeadTagNonEmpty, LocaleConfig, LocaleData, PageBase, PageData, PageFrontmatter, PageHeader, SiteData, SiteLocaleConfig, SiteLocaleData, VuepressSSRContext, dedupeHead, ensureEndingSlash, ensureLeadingSlash, formatDateString, isLinkExternal, isLinkFtp, isLinkHttp, isLinkMailto, isLinkTel, isPlainObject, omit, removeEndingSlash, removeLeadingSlash, resolveHeadIdentifier, resolveLocalePath, resolveRoutePathFromUrl };
package/dist/index.js CHANGED
@@ -34,10 +34,10 @@ var dedupeHead = (head) => {
34
34
  };
35
35
 
36
36
  // src/utils/ensureLeadingSlash.ts
37
- var ensureLeadingSlash = (str) => str.replace(/^\/?/, "/");
37
+ var ensureLeadingSlash = (str) => str[0] === "/" ? str : `/${str}`;
38
38
 
39
39
  // src/utils/ensureEndingSlash.ts
40
- var ensureEndingSlash = (str) => /(\.html|\/)$/.test(str) ? str : str + "/";
40
+ var ensureEndingSlash = (str) => str[str.length - 1] === "/" || str.endsWith(".html") ? str : `${str}/`;
41
41
 
42
42
  // src/utils/formatDateString.ts
43
43
  var formatDateString = (str, defaultDateString = "") => {
@@ -76,11 +76,20 @@ var isLinkTel = (link) => /^tel:/.test(link);
76
76
  // src/utils/isPlainObject.ts
77
77
  var isPlainObject = (val) => Object.prototype.toString.call(val) === "[object Object]";
78
78
 
79
+ // src/utils/omit.ts
80
+ var omit = (obj, ...keys) => {
81
+ const result = { ...obj };
82
+ for (const key of keys) {
83
+ delete result[key];
84
+ }
85
+ return result;
86
+ };
87
+
79
88
  // src/utils/removeEndingSlash.ts
80
- var removeEndingSlash = (str) => str.replace(/\/$/, "");
89
+ var removeEndingSlash = (str) => str[str.length - 1] === "/" ? str.slice(0, -1) : str;
81
90
 
82
91
  // src/utils/removeLeadingSlash.ts
83
- var removeLeadingSlash = (str) => str.replace(/^\//, "");
92
+ var removeLeadingSlash = (str) => str[0] === "/" ? str.slice(1) : str;
84
93
 
85
94
  // src/utils/resolveLocalePath.ts
86
95
  var resolveLocalePath = (locales, routePath) => {
@@ -100,7 +109,10 @@ var resolveLocalePath = (locales, routePath) => {
100
109
  };
101
110
 
102
111
  // src/utils/resolveRoutePathFromUrl.ts
103
- var resolveRoutePathFromUrl = (url, base = "/") => url.replace(/^(https?:)?\/\/[^/]*/, "").replace(new RegExp(`^${base}`), "/");
112
+ var resolveRoutePathFromUrl = (url, base = "/") => {
113
+ const pathname = url.replace(/^(https?:)?\/\/[^/]*/, "");
114
+ return pathname.startsWith(base) ? `/${pathname.slice(base.length)}` : pathname;
115
+ };
104
116
  export {
105
117
  dedupeHead,
106
118
  ensureEndingSlash,
@@ -115,6 +127,7 @@ export {
115
127
  isLinkTel,
116
128
  isPlainObject,
117
129
  isString,
130
+ omit,
118
131
  removeEndingSlash,
119
132
  removeLeadingSlash,
120
133
  resolveHeadIdentifier,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vuepress/shared",
3
- "version": "2.0.0-beta.60",
3
+ "version": "2.0.0-beta.62",
4
4
  "description": "Utils that shared between VuePress node and client",
5
5
  "keywords": [
6
6
  "vuepress",
@@ -29,8 +29,8 @@
29
29
  "dist"
30
30
  ],
31
31
  "dependencies": {
32
- "@mdit-vue/types": "^0.11.0",
33
- "@vue/shared": "^3.2.45"
32
+ "@mdit-vue/types": "^0.12.0",
33
+ "@vue/shared": "^3.3.1"
34
34
  },
35
35
  "publishConfig": {
36
36
  "access": "public"