aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorLibravatar vnugent <public@vaughnnugent.com>2024-01-06 18:06:01 -0500
committerLibravatar vnugent <public@vaughnnugent.com>2024-01-06 18:06:01 -0500
commit3bd7effc15d0b87adce01281b073aa1db67d3cba (patch)
treee8fcf15b9d6664bcd48bb17ac2c71c70abda204d /lib
parentf4c2c9e148374f462592c19e8ffd4db14672805d (diff)
social portal conversion, pull provider libraries & include some prebuilts
Diffstat (limited to 'lib')
-rw-r--r--lib/vnlib.browser/package-lock.json208
-rw-r--r--lib/vnlib.browser/src/social/index.ts25
2 files changed, 127 insertions, 106 deletions
diff --git a/lib/vnlib.browser/package-lock.json b/lib/vnlib.browser/package-lock.json
index dc87c9d..9ca3ed0 100644
--- a/lib/vnlib.browser/package-lock.json
+++ b/lib/vnlib.browser/package-lock.json
@@ -296,16 +296,16 @@
"peer": true
},
"node_modules/@typescript-eslint/eslint-plugin": {
- "version": "6.17.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.17.0.tgz",
- "integrity": "sha512-Vih/4xLXmY7V490dGwBQJTpIZxH4ZFH6eCVmQ4RFkB+wmaCTDAx4dtgoWwMNGKLkqRY1L6rPqzEbjorRnDo4rQ==",
+ "version": "6.18.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.18.0.tgz",
+ "integrity": "sha512-3lqEvQUdCozi6d1mddWqd+kf8KxmGq2Plzx36BlkjuQe3rSTm/O98cLf0A4uDO+a5N1KD2SeEEl6fW97YHY+6w==",
"dev": true,
"dependencies": {
"@eslint-community/regexpp": "^4.5.1",
- "@typescript-eslint/scope-manager": "6.17.0",
- "@typescript-eslint/type-utils": "6.17.0",
- "@typescript-eslint/utils": "6.17.0",
- "@typescript-eslint/visitor-keys": "6.17.0",
+ "@typescript-eslint/scope-manager": "6.18.0",
+ "@typescript-eslint/type-utils": "6.18.0",
+ "@typescript-eslint/utils": "6.18.0",
+ "@typescript-eslint/visitor-keys": "6.18.0",
"debug": "^4.3.4",
"graphemer": "^1.4.0",
"ignore": "^5.2.4",
@@ -331,16 +331,16 @@
}
},
"node_modules/@typescript-eslint/parser": {
- "version": "6.17.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.17.0.tgz",
- "integrity": "sha512-C4bBaX2orvhK+LlwrY8oWGmSl4WolCfYm513gEccdWZj0CwGadbIADb0FtVEcI+WzUyjyoBj2JRP8g25E6IB8A==",
+ "version": "6.18.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.18.0.tgz",
+ "integrity": "sha512-v6uR68SFvqhNQT41frCMCQpsP+5vySy6IdgjlzUWoo7ALCnpaWYcz/Ij2k4L8cEsL0wkvOviCMpjmtRtHNOKzA==",
"dev": true,
"peer": true,
"dependencies": {
- "@typescript-eslint/scope-manager": "6.17.0",
- "@typescript-eslint/types": "6.17.0",
- "@typescript-eslint/typescript-estree": "6.17.0",
- "@typescript-eslint/visitor-keys": "6.17.0",
+ "@typescript-eslint/scope-manager": "6.18.0",
+ "@typescript-eslint/types": "6.18.0",
+ "@typescript-eslint/typescript-estree": "6.18.0",
+ "@typescript-eslint/visitor-keys": "6.18.0",
"debug": "^4.3.4"
},
"engines": {
@@ -360,13 +360,13 @@
}
},
"node_modules/@typescript-eslint/scope-manager": {
- "version": "6.17.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.17.0.tgz",
- "integrity": "sha512-RX7a8lwgOi7am0k17NUO0+ZmMOX4PpjLtLRgLmT1d3lBYdWH4ssBUbwdmc5pdRX8rXon8v9x8vaoOSpkHfcXGA==",
+ "version": "6.18.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.18.0.tgz",
+ "integrity": "sha512-o/UoDT2NgOJ2VfHpfr+KBY2ErWvCySNUIX/X7O9g8Zzt/tXdpfEU43qbNk8LVuWUT2E0ptzTWXh79i74PP0twA==",
"dev": true,
"dependencies": {
- "@typescript-eslint/types": "6.17.0",
- "@typescript-eslint/visitor-keys": "6.17.0"
+ "@typescript-eslint/types": "6.18.0",
+ "@typescript-eslint/visitor-keys": "6.18.0"
},
"engines": {
"node": "^16.0.0 || >=18.0.0"
@@ -377,13 +377,13 @@
}
},
"node_modules/@typescript-eslint/type-utils": {
- "version": "6.17.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.17.0.tgz",
- "integrity": "sha512-hDXcWmnbtn4P2B37ka3nil3yi3VCQO2QEB9gBiHJmQp5wmyQWqnjA85+ZcE8c4FqnaB6lBwMrPkgd4aBYz3iNg==",
+ "version": "6.18.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.18.0.tgz",
+ "integrity": "sha512-ZeMtrXnGmTcHciJN1+u2CigWEEXgy1ufoxtWcHORt5kGvpjjIlK9MUhzHm4RM8iVy6dqSaZA/6PVkX6+r+ChjQ==",
"dev": true,
"dependencies": {
- "@typescript-eslint/typescript-estree": "6.17.0",
- "@typescript-eslint/utils": "6.17.0",
+ "@typescript-eslint/typescript-estree": "6.18.0",
+ "@typescript-eslint/utils": "6.18.0",
"debug": "^4.3.4",
"ts-api-utils": "^1.0.1"
},
@@ -404,9 +404,9 @@
}
},
"node_modules/@typescript-eslint/types": {
- "version": "6.17.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.17.0.tgz",
- "integrity": "sha512-qRKs9tvc3a4RBcL/9PXtKSehI/q8wuU9xYJxe97WFxnzH8NWWtcW3ffNS+EWg8uPvIerhjsEZ+rHtDqOCiH57A==",
+ "version": "6.18.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.18.0.tgz",
+ "integrity": "sha512-/RFVIccwkwSdW/1zeMx3hADShWbgBxBnV/qSrex6607isYjj05t36P6LyONgqdUrNLl5TYU8NIKdHUYpFvExkA==",
"dev": true,
"engines": {
"node": "^16.0.0 || >=18.0.0"
@@ -417,13 +417,13 @@
}
},
"node_modules/@typescript-eslint/typescript-estree": {
- "version": "6.17.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.17.0.tgz",
- "integrity": "sha512-gVQe+SLdNPfjlJn5VNGhlOhrXz4cajwFd5kAgWtZ9dCZf4XJf8xmgCTLIqec7aha3JwgLI2CK6GY1043FRxZwg==",
+ "version": "6.18.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.18.0.tgz",
+ "integrity": "sha512-klNvl+Ql4NsBNGB4W9TZ2Od03lm7aGvTbs0wYaFYsplVPhr+oeXjlPZCDI4U9jgJIDK38W1FKhacCFzCC+nbIg==",
"dev": true,
"dependencies": {
- "@typescript-eslint/types": "6.17.0",
- "@typescript-eslint/visitor-keys": "6.17.0",
+ "@typescript-eslint/types": "6.18.0",
+ "@typescript-eslint/visitor-keys": "6.18.0",
"debug": "^4.3.4",
"globby": "^11.1.0",
"is-glob": "^4.0.3",
@@ -445,17 +445,17 @@
}
},
"node_modules/@typescript-eslint/utils": {
- "version": "6.17.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.17.0.tgz",
- "integrity": "sha512-LofsSPjN/ITNkzV47hxas2JCsNCEnGhVvocfyOcLzT9c/tSZE7SfhS/iWtzP1lKNOEfLhRTZz6xqI8N2RzweSQ==",
+ "version": "6.18.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.18.0.tgz",
+ "integrity": "sha512-wiKKCbUeDPGaYEYQh1S580dGxJ/V9HI7K5sbGAVklyf+o5g3O+adnS4UNJajplF4e7z2q0uVBaTdT/yLb4XAVA==",
"dev": true,
"dependencies": {
"@eslint-community/eslint-utils": "^4.4.0",
"@types/json-schema": "^7.0.12",
"@types/semver": "^7.5.0",
- "@typescript-eslint/scope-manager": "6.17.0",
- "@typescript-eslint/types": "6.17.0",
- "@typescript-eslint/typescript-estree": "6.17.0",
+ "@typescript-eslint/scope-manager": "6.18.0",
+ "@typescript-eslint/types": "6.18.0",
+ "@typescript-eslint/typescript-estree": "6.18.0",
"semver": "^7.5.4"
},
"engines": {
@@ -470,12 +470,12 @@
}
},
"node_modules/@typescript-eslint/visitor-keys": {
- "version": "6.17.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.17.0.tgz",
- "integrity": "sha512-H6VwB/k3IuIeQOyYczyyKN8wH6ed8EwliaYHLxOIhyF0dYEIsN8+Bk3GE19qafeMKyZJJHP8+O1HiFhFLUNKSg==",
+ "version": "6.18.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.18.0.tgz",
+ "integrity": "sha512-1wetAlSZpewRDb2h9p/Q8kRjdGuqdTAQbkJIOUMLug2LBLG+QOjiWoSj6/3B/hA9/tVTFFdtiKvAYoYnSRW/RA==",
"dev": true,
"dependencies": {
- "@typescript-eslint/types": "6.17.0",
+ "@typescript-eslint/types": "6.18.0",
"eslint-visitor-keys": "^3.4.1"
},
"engines": {
@@ -493,39 +493,39 @@
"peer": true
},
"node_modules/@vue/compiler-core": {
- "version": "3.4.3",
- "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.4.3.tgz",
- "integrity": "sha512-u8jzgFg0EDtSrb/hG53Wwh1bAOQFtc1ZCegBpA/glyvTlgHl+tq13o1zvRfLbegYUw/E4mSTGOiCnAJ9SJ+lsg==",
+ "version": "3.4.5",
+ "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.4.5.tgz",
+ "integrity": "sha512-Daka7P1z2AgKjzuueWXhwzIsKu0NkLB6vGbNVEV2iJ8GJTrzraZo/Sk4GWCMRtd/qVi3zwnk+Owbd/xSZbwHtQ==",
"peer": true,
"dependencies": {
"@babel/parser": "^7.23.6",
- "@vue/shared": "3.4.3",
+ "@vue/shared": "3.4.5",
"entities": "^4.5.0",
"estree-walker": "^2.0.2",
"source-map-js": "^1.0.2"
}
},
"node_modules/@vue/compiler-dom": {
- "version": "3.4.3",
- "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.4.3.tgz",
- "integrity": "sha512-oGF1E9/htI6JWj/lTJgr6UgxNCtNHbM6xKVreBWeZL9QhRGABRVoWGAzxmtBfSOd+w0Zi5BY0Es/tlJrN6WgEg==",
+ "version": "3.4.5",
+ "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.4.5.tgz",
+ "integrity": "sha512-J8YlxknJVd90SXFJ4HwGANSAXsx5I0lK30sO/zvYV7s5gXf7gZR7r/1BmZ2ju7RGH1lnc6bpBc6nL61yW+PsAQ==",
"peer": true,
"dependencies": {
- "@vue/compiler-core": "3.4.3",
- "@vue/shared": "3.4.3"
+ "@vue/compiler-core": "3.4.5",
+ "@vue/shared": "3.4.5"
}
},
"node_modules/@vue/compiler-sfc": {
- "version": "3.4.3",
- "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.4.3.tgz",
- "integrity": "sha512-NuJqb5is9I4uzv316VRUDYgIlPZCG8D+ARt5P4t5UDShIHKL25J3TGZAUryY/Aiy0DsY7srJnZL5ryB6DD63Zw==",
+ "version": "3.4.5",
+ "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.4.5.tgz",
+ "integrity": "sha512-jauvkDuSSUbP0ebhfNqljhShA90YEfX/0wZ+w40oZF43IjGyWYjqYaJbvMJwGOd+9+vODW6eSvnk28f0SGV7OQ==",
"peer": true,
"dependencies": {
"@babel/parser": "^7.23.6",
- "@vue/compiler-core": "3.4.3",
- "@vue/compiler-dom": "3.4.3",
- "@vue/compiler-ssr": "3.4.3",
- "@vue/shared": "3.4.3",
+ "@vue/compiler-core": "3.4.5",
+ "@vue/compiler-dom": "3.4.5",
+ "@vue/compiler-ssr": "3.4.5",
+ "@vue/shared": "3.4.5",
"estree-walker": "^2.0.2",
"magic-string": "^0.30.5",
"postcss": "^8.4.32",
@@ -533,13 +533,13 @@
}
},
"node_modules/@vue/compiler-ssr": {
- "version": "3.4.3",
- "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.4.3.tgz",
- "integrity": "sha512-wnYQtMBkeFSxgSSQbYGQeXPhQacQiog2c6AlvMldQH6DB+gSXK/0F6DVXAJfEiuBSgBhUc8dwrrG5JQcqwalsA==",
+ "version": "3.4.5",
+ "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.4.5.tgz",
+ "integrity": "sha512-DDdEcDzj2lWTMfUMMtEpLDhURai9LhM0zSZ219jCt7b2Vyl0/jy3keFgCPMitG0V1S1YG4Cmws3lWHWdxHQOpg==",
"peer": true,
"dependencies": {
- "@vue/compiler-dom": "3.4.3",
- "@vue/shared": "3.4.3"
+ "@vue/compiler-dom": "3.4.5",
+ "@vue/shared": "3.4.5"
}
},
"node_modules/@vue/devtools-api": {
@@ -549,52 +549,52 @@
"peer": true
},
"node_modules/@vue/reactivity": {
- "version": "3.4.3",
- "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.4.3.tgz",
- "integrity": "sha512-q5f9HLDU+5aBKizXHAx0w4whkIANs1Muiq9R5YXm0HtorSlflqv9u/ohaMxuuhHWCji4xqpQ1eL04WvmAmGnFg==",
+ "version": "3.4.5",
+ "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.4.5.tgz",
+ "integrity": "sha512-BcWkKvjdvqJwb7BhhFkXPLDCecX4d4a6GATvCduJQDLv21PkPowAE5GKuIE5p6RC07/Lp9FMkkq4AYCTVF5KlQ==",
"peer": true,
"dependencies": {
- "@vue/shared": "3.4.3"
+ "@vue/shared": "3.4.5"
}
},
"node_modules/@vue/runtime-core": {
- "version": "3.4.3",
- "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.4.3.tgz",
- "integrity": "sha512-C1r6QhB1qY7D591RCSFhMULyzL9CuyrGc+3PpB0h7dU4Qqw6GNyo4BNFjHZVvsWncrUlKX3DIKg0Y7rNNr06NQ==",
+ "version": "3.4.5",
+ "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.4.5.tgz",
+ "integrity": "sha512-wh9ELIOQKeWT9SaUPdLrsxRkZv14jp+SJm9aiQGWio+/MWNM3Lib0wE6CoKEqQ9+SCYyGjDBhTOTtO47kCgbkg==",
"peer": true,
"dependencies": {
- "@vue/reactivity": "3.4.3",
- "@vue/shared": "3.4.3"
+ "@vue/reactivity": "3.4.5",
+ "@vue/shared": "3.4.5"
}
},
"node_modules/@vue/runtime-dom": {
- "version": "3.4.3",
- "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.4.3.tgz",
- "integrity": "sha512-wrsprg7An5Ec+EhPngWdPuzkp0BEUxAKaQtN9dPU/iZctPyD9aaXmVtehPJerdQxQale6gEnhpnfywNw3zOv2A==",
+ "version": "3.4.5",
+ "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.4.5.tgz",
+ "integrity": "sha512-n5ewvOjyG3IEpqGBahdPXODFSpVlSz3H4LF76Sx0XAqpIOqyJ5bIb2PrdYuH2ogBMAQPh+o5tnoH4nJpBr8U0Q==",
"peer": true,
"dependencies": {
- "@vue/runtime-core": "3.4.3",
- "@vue/shared": "3.4.3",
+ "@vue/runtime-core": "3.4.5",
+ "@vue/shared": "3.4.5",
"csstype": "^3.1.3"
}
},
"node_modules/@vue/server-renderer": {
- "version": "3.4.3",
- "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.4.3.tgz",
- "integrity": "sha512-BUxt8oVGMKKsqSkM1uU3d3Houyfy4WAc2SpSQRebNd+XJGATVkW/rO129jkyL+kpB/2VRKzE63zwf5RtJ3XuZw==",
+ "version": "3.4.5",
+ "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.4.5.tgz",
+ "integrity": "sha512-jOFc/VE87yvifQpNju12VcqimH8pBLxdcT+t3xMeiED1K6DfH9SORyhFEoZlW5TG2Vwfn3Ul5KE+1aC99xnSBg==",
"peer": true,
"dependencies": {
- "@vue/compiler-ssr": "3.4.3",
- "@vue/shared": "3.4.3"
+ "@vue/compiler-ssr": "3.4.5",
+ "@vue/shared": "3.4.5"
},
"peerDependencies": {
- "vue": "3.4.3"
+ "vue": "3.4.5"
}
},
"node_modules/@vue/shared": {
- "version": "3.4.3",
- "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.4.3.tgz",
- "integrity": "sha512-rIwlkkP1n4uKrRzivAKPZIEkHiuwY5mmhMJ2nZKCBLz8lTUlE73rQh4n1OnnMurXt1vcUNyH4ZPfdh8QweTjpQ==",
+ "version": "3.4.5",
+ "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.4.5.tgz",
+ "integrity": "sha512-6XptuzlMvN4l4cDnDw36pdGEV+9njYkQ1ZE0Q6iZLwrKefKaOJyiFmcP3/KBDHbt72cJZGtllAc1GaHe6XGAyg==",
"peer": true
},
"node_modules/@vueuse/core": {
@@ -768,12 +768,12 @@
"peer": true
},
"node_modules/axios": {
- "version": "1.6.3",
- "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.3.tgz",
- "integrity": "sha512-fWyNdeawGam70jXSVlKl+SUNVcL6j6W79CuSIPfi6HnDUmSCH6gyUys/HrqHeA/wU0Az41rRgean494d0Jb+ww==",
+ "version": "1.6.5",
+ "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.5.tgz",
+ "integrity": "sha512-Ii012v05KEVuUoFWmMW/UQv9aRIc3ZwkWDcM+h5Il8izZCtRVpDUfwpoFf7eOtajT3QiGR4yDUx7lPqHJULgbg==",
"peer": true,
"dependencies": {
- "follow-redirects": "^1.15.0",
+ "follow-redirects": "^1.15.4",
"form-data": "^4.0.0",
"proxy-from-env": "^1.1.0"
}
@@ -1812,9 +1812,9 @@
}
},
"node_modules/postcss": {
- "version": "8.4.32",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.32.tgz",
- "integrity": "sha512-D/kj5JNu6oo2EIy+XL/26JEDTlIbB8hw85G8StOE6L74RQAVVP5rej6wxCNqyMbR4RkPfqvezVbPw81Ngd6Kcw==",
+ "version": "8.4.33",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.33.tgz",
+ "integrity": "sha512-Kkpbhhdjw2qQs2O2DGX+8m5OVqEcbB9HRBvuYM9pgrjEFUg30A9LmXNlTAUj4S9kgtGyrMbTzVjH7E+s5Re2yg==",
"funding": [
{
"type": "opencollective",
@@ -2111,9 +2111,9 @@
"dev": true
},
"node_modules/universal-cookie": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/universal-cookie/-/universal-cookie-7.0.0.tgz",
- "integrity": "sha512-T3XwZ2cUbHRU+UNfPSaPd0zti50tVIvk6onLA90pa+qKwsP8ksn5pwYM7rWMODoX1OCA9qPAN8uK88Avq5YbtQ==",
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/universal-cookie/-/universal-cookie-7.0.1.tgz",
+ "integrity": "sha512-6OuX9xELF6dsVJeADJAYNDOxQf/NR3Na5bGCRd+hkysMDkSt79jJ4tdv5OBe+ZgAks3ExHBdCXkD2SjqLyK59w==",
"peer": true,
"dependencies": {
"@types/cookie": "^0.6.0",
@@ -2130,16 +2130,16 @@
}
},
"node_modules/vue": {
- "version": "3.4.3",
- "resolved": "https://registry.npmjs.org/vue/-/vue-3.4.3.tgz",
- "integrity": "sha512-GjN+culMAGv/mUbkIv8zMKItno8npcj5gWlXkSxf1SPTQf8eJ4A+YfHIvQFyL1IfuJcMl3soA7SmN1fRxbf/wA==",
+ "version": "3.4.5",
+ "resolved": "https://registry.npmjs.org/vue/-/vue-3.4.5.tgz",
+ "integrity": "sha512-VH6nHFhLPjgu2oh5vEBXoNZxsGHuZNr3qf4PHClwJWw6IDqw6B3x+4J+ABdoZ0aJuT8Zi0zf3GpGlLQCrGWHrw==",
"peer": true,
"dependencies": {
- "@vue/compiler-dom": "3.4.3",
- "@vue/compiler-sfc": "3.4.3",
- "@vue/runtime-dom": "3.4.3",
- "@vue/server-renderer": "3.4.3",
- "@vue/shared": "3.4.3"
+ "@vue/compiler-dom": "3.4.5",
+ "@vue/compiler-sfc": "3.4.5",
+ "@vue/runtime-dom": "3.4.5",
+ "@vue/server-renderer": "3.4.5",
+ "@vue/shared": "3.4.5"
},
"peerDependencies": {
"typescript": "*"
diff --git a/lib/vnlib.browser/src/social/index.ts b/lib/vnlib.browser/src/social/index.ts
index a164eb8..121fb50 100644
--- a/lib/vnlib.browser/src/social/index.ts
+++ b/lib/vnlib.browser/src/social/index.ts
@@ -1,4 +1,4 @@
-import { find, isEqual } from "lodash-es";
+import { find, isEqual, map } from "lodash-es";
import { get } from "@vueuse/core";
import { MaybeRef } from "vue";
import Cookies from "universal-cookie";
@@ -66,6 +66,16 @@ export interface SocialLoginApi<T>{
}
/**
+ * A social OAuth portal that defines a usable server
+ * enabled authentication method
+ */
+export interface SocialOAuthPortal {
+ readonly id: string;
+ readonly login: string;
+ readonly logout: string;
+}
+
+/**
* Creates a new social login api for the given methods
*/
export const useSocialOauthLogin = <T extends OAuthMethod>(methods: T[], axiosConfig?: Partial<AxiosRequestConfig>): SocialLoginApi<T> =>{
@@ -229,4 +239,15 @@ export const createSocialMethod = (id: string, path: MaybeRef<string>): OAuthMet
Id: id,
loginUrl: () => get(path),
}
-} \ No newline at end of file
+}
+
+/**
+ * Creates social OAuth methods from the given portals (usually captured from the server)
+ */
+export const fromPortals = (portals: SocialOAuthPortal[]): OAuthMethod[] => {
+ return map(portals, p => ({
+ Id: p.id,
+ loginUrl: () => p.login,
+ getLogoutData: () => ({ url: p.logout, args: {} })
+ }))
+}