@plainkey/vue 0.5.2 → 0.6.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/dist/index.d.ts CHANGED
@@ -1,41 +1,18 @@
1
- import { Ref } from "vue";
2
- import { LoginBeginRequest, LoginCompleteResponse, RegistrationBeginRequest, RegistrationCompleteResponse, UserCredentialBeginRequest, UserCredentialCompleteResponse } from "@plainkey/types";
1
+ import { PlainKey } from "@plainkey/browser";
3
2
 
4
3
  //#region src/usePlainkey/index.d.ts
5
- type ErrorResponse = {
6
- error: string;
7
- };
8
- type usePlainKeyParams = {
9
- projectId: string;
10
- baseUrl?: string;
11
- };
12
- type LoginParams = LoginBeginRequest;
13
- type AddCredentialParams = UserCredentialBeginRequest;
14
- type RegisterParams = RegistrationBeginRequest;
15
- declare function usePlainKey(usePlainKeyParams: usePlainKeyParams): {
16
- register: (registerParams: RegisterParams) => Promise<RegistrationCompleteResponse | ErrorResponse>;
17
- isRegistering: Ref<boolean, boolean>;
18
- error: Ref<string | null, string | null>;
19
- registerSuccess: Ref<boolean, boolean>;
20
- registeredCredential: Ref<{
21
- id: string;
22
- webAuthnId: string;
23
- } | null, {
24
- id: string;
25
- webAuthnId: string;
26
- } | null>;
27
- registeredResponse: Ref<RegistrationCompleteResponse | null, RegistrationCompleteResponse | null>;
28
- addCredential: (addCredentialParams: AddCredentialParams) => Promise<UserCredentialCompleteResponse | ErrorResponse>;
29
- isAddingCredential: Ref<boolean, boolean>;
30
- addCredentialError: Ref<string | null, string | null>;
31
- addCredentialSuccess: Ref<boolean, boolean>;
32
- addedCredentialResponse: Ref<UserCredentialCompleteResponse | null, UserCredentialCompleteResponse | null>;
33
- login: (loginParams: LoginParams) => Promise<LoginCompleteResponse>;
34
- isLoggingIn: Ref<boolean, boolean>;
35
- loginError: Ref<string | null, string | null>;
36
- loginSuccess: Ref<boolean, boolean>;
37
- loggedInResponse: Ref<LoginCompleteResponse | null, LoginCompleteResponse | null>;
38
- };
4
+
5
+ /**
6
+ *
7
+ * @param projectId - Your PlainKey project ID. You can find it in the PlainKey admin dashboard.
8
+ * @param baseUrl - Set by default to https://api.plainkey.io/api. Change only for development purposes.
9
+ *
10
+ * Docs: https://plainkey.io/docs
11
+ *
12
+ * @example
13
+ * const { login, createUserWithPasskey, addPasskey } = usePlainKey("projectId")
14
+ */
15
+ declare function usePlainKey(projectId: string, baseUrl?: string): PlainKey;
39
16
  //#endregion
40
- export { AddCredentialParams, ErrorResponse, LoginParams, RegisterParams, usePlainKey, usePlainKeyParams };
17
+ export { usePlainKey };
41
18
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","names":[],"sources":["../src/usePlainkey/index.ts"],"sourcesContent":[],"mappings":";;;;KAcY,aAAA;EAAA,KAAA,EAAA,MAAA;AAIZ,CAAA;AAKY,KALA,iBAAA,GAKc;EACd,SAAA,EAAA,MAAA;EACA,OAAA,CAAA,EAAA,MAAA;AAEZ,CAAA;AAA+C,KAJnC,WAAA,GAAc,iBAIqB;AAwB3B,KA3BR,mBAAA,GAAsB,0BA2Bd;AACP,KA3BD,cAAA,GAAiB,wBA2BhB;AAA+B,iBAzB5B,WAAA,CAyB4B,iBAAA,EAzBG,iBAyBH,CAAA,EAAA;EAAvC,QAAA,EAAA,CAAA,cAAA,EADe,cACf,EAAA,GAAA,OAAA,CAAQ,4BAAR,GAAuC,aAAvC,CAAA;;;;;;;;IA4BoB,EAAA,EAAA,MAAA;IACZ,UAAA,EAAA,MAAA;EAAiC,CAAA,GAAA,IAAA,CAAA;EAAzC,kBAAA,KAAA,6BAAA,GAAA,IAAA,8BAAA,GAAA,IAAA,CAAA;uCADoB,wBACpB,QAAQ,iCAAiC;;;;;uBAuBV,gBAAc,QAAQ;EAAtB,WAAA,KAAA,CAAA,OAAA,EAAA,OAAA,CAAA;EAAsB,UAAA,KAAA,CAAA,MAAA,GAAA,IAAA,EAAA,MAAA,GAAA,IAAA,CAAA;EAAR,YAAA,KAAA,CAAA,OAAA,EAAA,OAAA,CAAA"}
1
+ {"version":3,"file":"index.d.ts","names":[],"sources":["../src/usePlainkey/index.ts"],"sourcesContent":[],"mappings":";;;;;;AAYA;;;;;;;;iBAAgB,WAAA,uCAA+C"}
package/dist/index.js CHANGED
@@ -1,112 +1,18 @@
1
- import { ref } from "vue";
2
- import { PlainKeyClient } from "@plainkey/browser";
1
+ import { PlainKey } from "@plainkey/browser";
3
2
 
4
3
  //#region src/usePlainkey/index.ts
5
- function usePlainKey(usePlainKeyParams) {
6
- const { projectId, baseUrl } = usePlainKeyParams;
7
- const plainKeyClient = new PlainKeyClient({
8
- projectId,
9
- baseUrl
10
- });
11
- const isRegistering = ref(false);
12
- const registerError = ref(null);
13
- const registerSuccess = ref(false);
14
- const registeredCredential = ref(null);
15
- const registeredResponse = ref(null);
16
- const isAddingCredential = ref(false);
17
- const addCredentialError = ref(null);
18
- const addCredentialSuccess = ref(false);
19
- const addedCredentialResponse = ref(null);
20
- const isLoggingIn = ref(false);
21
- const loginError = ref(null);
22
- const loginSuccess = ref(false);
23
- const loggedInResponse = ref(null);
24
- async function register(registerParams) {
25
- try {
26
- isRegistering.value = true;
27
- registerError.value = null;
28
- registerSuccess.value = false;
29
- registeredCredential.value = null;
30
- const registrationResult = await plainKeyClient.Registration({ userName: registerParams?.userName });
31
- registerSuccess.value = registrationResult.success;
32
- registeredCredential.value = registrationResult.credential;
33
- registeredResponse.value = registrationResult;
34
- return registrationResult;
35
- } catch (err) {
36
- registerError.value = err instanceof Error ? err.message : "Registration failed";
37
- return { error: registerError.value };
38
- } finally {
39
- isRegistering.value = false;
40
- }
41
- }
42
- /**
43
- * The user must be logged in first. Pass in their user token and project ID in beginParams.
44
- * However, do not store the token in local storage, database, etc. Always keep it in memory.
45
- */
46
- async function addCredential(addCredentialParams) {
47
- try {
48
- isAddingCredential.value = true;
49
- addCredentialError.value = null;
50
- addCredentialSuccess.value = false;
51
- addedCredentialResponse.value = null;
52
- const credentialResult = await plainKeyClient.AddCredential({
53
- userIdentifier: addCredentialParams.userIdentifier,
54
- userToken: addCredentialParams.userToken
55
- });
56
- addCredentialSuccess.value = credentialResult.success;
57
- addedCredentialResponse.value = credentialResult;
58
- return credentialResult;
59
- } catch (err) {
60
- addCredentialError.value = err instanceof Error ? err.message : "Add credential failed";
61
- return { error: addCredentialError.value };
62
- } finally {
63
- isAddingCredential.value = false;
64
- }
65
- }
66
- async function login(loginParams) {
67
- try {
68
- isLoggingIn.value = true;
69
- loginError.value = null;
70
- loginSuccess.value = false;
71
- loggedInResponse.value = null;
72
- const loginResult = await plainKeyClient.Login({ userIdentifier: loginParams.userIdentifier });
73
- loginSuccess.value = loginResult.verified;
74
- loggedInResponse.value = loginResult;
75
- return loginResult;
76
- } catch (err) {
77
- loginError.value = err instanceof Error ? err.message : "Login failed";
78
- return {
79
- verified: false,
80
- user: { id: "" },
81
- token: {
82
- token: "",
83
- expiresInSeconds: 0,
84
- tokenType: ""
85
- },
86
- session: void 0
87
- };
88
- } finally {
89
- isLoggingIn.value = false;
90
- }
91
- }
92
- return {
93
- register,
94
- isRegistering,
95
- error: registerError,
96
- registerSuccess,
97
- registeredCredential,
98
- registeredResponse,
99
- addCredential,
100
- isAddingCredential,
101
- addCredentialError,
102
- addCredentialSuccess,
103
- addedCredentialResponse,
104
- login,
105
- isLoggingIn,
106
- loginError,
107
- loginSuccess,
108
- loggedInResponse
109
- };
4
+ /**
5
+ *
6
+ * @param projectId - Your PlainKey project ID. You can find it in the PlainKey admin dashboard.
7
+ * @param baseUrl - Set by default to https://api.plainkey.io/api. Change only for development purposes.
8
+ *
9
+ * Docs: https://plainkey.io/docs
10
+ *
11
+ * @example
12
+ * const { login, createUserWithPasskey, addPasskey } = usePlainKey("projectId")
13
+ */
14
+ function usePlainKey(projectId, baseUrl) {
15
+ return new PlainKey(projectId, baseUrl);
110
16
  }
111
17
 
112
18
  //#endregion
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["registerError: Ref<string | null>","registeredCredential: Ref<RegistrationCompleteResponse[\"credential\"] | null>","registeredResponse: Ref<RegistrationCompleteResponse | null>","addCredentialError: Ref<string | null>","addedCredentialResponse: Ref<UserCredentialCompleteResponse | null>","loginError: Ref<string | null>","loggedInResponse: Ref<LoginCompleteResponse | null>","registrationResult: RegistrationCompleteResponse","credentialResult: UserCredentialCompleteResponse","loginResult: LoginCompleteResponse"],"sources":["../src/usePlainkey/index.ts"],"sourcesContent":["import { Ref, ref } from \"vue\"\nimport { PlainKeyClient } from \"@plainkey/browser\"\nimport type {\n RegistrationCompleteResponse,\n UserCredentialCompleteResponse,\n LoginCompleteResponse\n} from \"@plainkey/types\"\n\nimport type {\n LoginBeginRequest,\n RegistrationBeginRequest,\n UserCredentialBeginRequest\n} from \"@plainkey/types\"\n\nexport type ErrorResponse = {\n error: string\n}\n\nexport type usePlainKeyParams = {\n projectId: string\n baseUrl?: string\n}\n\nexport type LoginParams = LoginBeginRequest\nexport type AddCredentialParams = UserCredentialBeginRequest\nexport type RegisterParams = RegistrationBeginRequest\n\nexport function usePlainKey(usePlainKeyParams: usePlainKeyParams) {\n const { projectId, baseUrl } = usePlainKeyParams\n const plainKeyClient = new PlainKeyClient({ projectId, baseUrl })\n\n // Registration (user creation + passkey registration)\n const isRegistering = ref(false)\n const registerError: Ref<string | null> = ref(null)\n const registerSuccess = ref(false)\n const registeredCredential: Ref<RegistrationCompleteResponse[\"credential\"] | null> = ref(null)\n const registeredResponse: Ref<RegistrationCompleteResponse | null> = ref(null)\n\n // Credential registration (passkey registration to existing user)\n const isAddingCredential = ref(false)\n const addCredentialError: Ref<string | null> = ref(null)\n const addCredentialSuccess = ref(false)\n const addedCredentialResponse: Ref<UserCredentialCompleteResponse | null> = ref(null)\n\n // Login\n const isLoggingIn = ref(false)\n const loginError: Ref<string | null> = ref(null)\n const loginSuccess = ref(false)\n const loggedInResponse: Ref<LoginCompleteResponse | null> = ref(null)\n\n async function register(\n registerParams: RegisterParams\n ): Promise<RegistrationCompleteResponse | ErrorResponse> {\n try {\n isRegistering.value = true\n registerError.value = null\n registerSuccess.value = false\n registeredCredential.value = null\n\n const registrationResult: RegistrationCompleteResponse = await plainKeyClient.Registration({\n userName: registerParams?.userName\n } satisfies RegistrationBeginRequest)\n\n registerSuccess.value = registrationResult.success\n registeredCredential.value = registrationResult.credential\n registeredResponse.value = registrationResult\n return registrationResult\n } catch (err) {\n registerError.value = err instanceof Error ? err.message : \"Registration failed\"\n return { error: registerError.value }\n } finally {\n isRegistering.value = false\n }\n }\n\n /**\n * The user must be logged in first. Pass in their user token and project ID in beginParams.\n * However, do not store the token in local storage, database, etc. Always keep it in memory.\n */\n async function addCredential(\n addCredentialParams: AddCredentialParams\n ): Promise<UserCredentialCompleteResponse | ErrorResponse> {\n try {\n isAddingCredential.value = true\n addCredentialError.value = null\n addCredentialSuccess.value = false\n addedCredentialResponse.value = null\n\n const credentialResult: UserCredentialCompleteResponse = await plainKeyClient.AddCredential({\n userIdentifier: addCredentialParams.userIdentifier,\n userToken: addCredentialParams.userToken\n } satisfies UserCredentialBeginRequest)\n\n addCredentialSuccess.value = credentialResult.success\n addedCredentialResponse.value = credentialResult\n return credentialResult\n } catch (err) {\n addCredentialError.value = err instanceof Error ? err.message : \"Add credential failed\"\n return { error: addCredentialError.value }\n } finally {\n isAddingCredential.value = false\n }\n }\n\n async function login(loginParams: LoginParams): Promise<LoginCompleteResponse> {\n try {\n isLoggingIn.value = true\n loginError.value = null\n loginSuccess.value = false\n loggedInResponse.value = null\n\n const loginResult: LoginCompleteResponse = await plainKeyClient.Login({\n userIdentifier: loginParams.userIdentifier\n } satisfies LoginBeginRequest)\n\n // Update refs\n loginSuccess.value = loginResult.verified\n loggedInResponse.value = loginResult\n return loginResult\n } catch (err) {\n loginError.value = err instanceof Error ? err.message : \"Login failed\"\n return {\n verified: false,\n user: { id: \"\" },\n token: { token: \"\", expiresInSeconds: 0, tokenType: \"\" },\n session: undefined\n }\n } finally {\n isLoggingIn.value = false\n }\n }\n\n return {\n register,\n isRegistering,\n error: registerError,\n registerSuccess,\n registeredCredential,\n registeredResponse,\n addCredential,\n isAddingCredential,\n addCredentialError,\n addCredentialSuccess,\n addedCredentialResponse,\n login,\n isLoggingIn,\n loginError,\n loginSuccess,\n loggedInResponse\n }\n}\n"],"mappings":";;;;AA2BA,SAAgB,YAAY,mBAAsC;CAChE,MAAM,EAAE,WAAW,YAAY;CAC/B,MAAM,iBAAiB,IAAI,eAAe;EAAE;EAAW;EAAS,CAAC;CAGjE,MAAM,gBAAgB,IAAI,MAAM;CAChC,MAAMA,gBAAoC,IAAI,KAAK;CACnD,MAAM,kBAAkB,IAAI,MAAM;CAClC,MAAMC,uBAA+E,IAAI,KAAK;CAC9F,MAAMC,qBAA+D,IAAI,KAAK;CAG9E,MAAM,qBAAqB,IAAI,MAAM;CACrC,MAAMC,qBAAyC,IAAI,KAAK;CACxD,MAAM,uBAAuB,IAAI,MAAM;CACvC,MAAMC,0BAAsE,IAAI,KAAK;CAGrF,MAAM,cAAc,IAAI,MAAM;CAC9B,MAAMC,aAAiC,IAAI,KAAK;CAChD,MAAM,eAAe,IAAI,MAAM;CAC/B,MAAMC,mBAAsD,IAAI,KAAK;CAErE,eAAe,SACb,gBACuD;AACvD,MAAI;AACF,iBAAc,QAAQ;AACtB,iBAAc,QAAQ;AACtB,mBAAgB,QAAQ;AACxB,wBAAqB,QAAQ;GAE7B,MAAMC,qBAAmD,MAAM,eAAe,aAAa,EACzF,UAAU,gBAAgB,UAC3B,CAAoC;AAErC,mBAAgB,QAAQ,mBAAmB;AAC3C,wBAAqB,QAAQ,mBAAmB;AAChD,sBAAmB,QAAQ;AAC3B,UAAO;WACA,KAAK;AACZ,iBAAc,QAAQ,eAAe,QAAQ,IAAI,UAAU;AAC3D,UAAO,EAAE,OAAO,cAAc,OAAO;YAC7B;AACR,iBAAc,QAAQ;;;;;;;CAQ1B,eAAe,cACb,qBACyD;AACzD,MAAI;AACF,sBAAmB,QAAQ;AAC3B,sBAAmB,QAAQ;AAC3B,wBAAqB,QAAQ;AAC7B,2BAAwB,QAAQ;GAEhC,MAAMC,mBAAmD,MAAM,eAAe,cAAc;IAC1F,gBAAgB,oBAAoB;IACpC,WAAW,oBAAoB;IAChC,CAAsC;AAEvC,wBAAqB,QAAQ,iBAAiB;AAC9C,2BAAwB,QAAQ;AAChC,UAAO;WACA,KAAK;AACZ,sBAAmB,QAAQ,eAAe,QAAQ,IAAI,UAAU;AAChE,UAAO,EAAE,OAAO,mBAAmB,OAAO;YAClC;AACR,sBAAmB,QAAQ;;;CAI/B,eAAe,MAAM,aAA0D;AAC7E,MAAI;AACF,eAAY,QAAQ;AACpB,cAAW,QAAQ;AACnB,gBAAa,QAAQ;AACrB,oBAAiB,QAAQ;GAEzB,MAAMC,cAAqC,MAAM,eAAe,MAAM,EACpE,gBAAgB,YAAY,gBAC7B,CAA6B;AAG9B,gBAAa,QAAQ,YAAY;AACjC,oBAAiB,QAAQ;AACzB,UAAO;WACA,KAAK;AACZ,cAAW,QAAQ,eAAe,QAAQ,IAAI,UAAU;AACxD,UAAO;IACL,UAAU;IACV,MAAM,EAAE,IAAI,IAAI;IAChB,OAAO;KAAE,OAAO;KAAI,kBAAkB;KAAG,WAAW;KAAI;IACxD,SAAS;IACV;YACO;AACR,eAAY,QAAQ;;;AAIxB,QAAO;EACL;EACA;EACA,OAAO;EACP;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACD"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../src/usePlainkey/index.ts"],"sourcesContent":["import { PlainKey } from \"@plainkey/browser\"\n\n/**\n *\n * @param projectId - Your PlainKey project ID. You can find it in the PlainKey admin dashboard.\n * @param baseUrl - Set by default to https://api.plainkey.io/api. Change only for development purposes.\n *\n * Docs: https://plainkey.io/docs\n *\n * @example\n * const { login, createUserWithPasskey, addPasskey } = usePlainKey(\"projectId\")\n */\nexport function usePlainKey(projectId: string, baseUrl?: string) {\n return new PlainKey(projectId, baseUrl)\n}\n"],"mappings":";;;;;;;;;;;;;AAYA,SAAgB,YAAY,WAAmB,SAAkB;AAC/D,QAAO,IAAI,SAAS,WAAW,QAAQ"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@plainkey/vue",
3
- "version": "0.5.2",
3
+ "version": "0.6.0",
4
4
  "description": "PlainKey Vue SDK (composable)",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",