@hostlink/light 0.0.17 → 0.0.19

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.
@@ -0,0 +1,4 @@
1
+ import { AxiosInstance } from "axios";
2
+ declare const setAxios: (a: AxiosInstance) => void;
3
+ declare const getAxios: () => AxiosInstance;
4
+ export { setAxios, getAxios };
package/dist/index.d.ts CHANGED
@@ -7,6 +7,8 @@ import getApiUrl from './getApiUrl';
7
7
  import setApiUrl from './setApiUrl';
8
8
  import uploadFile from './uploadFile';
9
9
  import sendMail from './sendMail';
10
+ import getConfig from './getConfig';
10
11
  import webauthnLogin from './webauthnLogin';
11
12
  import webauthnRegister from './webauthnRegister';
12
- export { toQuery, login, logout, query, mutation, getApiUrl, setApiUrl, uploadFile, sendMail, webauthnLogin, webauthnRegister };
13
+ export type Fields = Object | Array<string | Object> | string;
14
+ export { toQuery, login, logout, query, mutation, getApiUrl, setApiUrl, uploadFile, sendMail, webauthnLogin, webauthnRegister, getConfig };
package/dist/light.js CHANGED
@@ -1,29 +1,30 @@
1
- import { jsonToGraphQLQuery as w, VariableType as A } from "json-to-graphql-query";
2
- import h from "axios";
3
- const m = () => localStorage.getItem("light-api-url") === null ? "/api/" : localStorage.getItem("light-api-url"), d = async (t, e = null, r = []) => {
4
- const n = h.create({
5
- withCredentials: !0
6
- }), i = {
1
+ import { jsonToGraphQLQuery as h, VariableType as x } from "json-to-graphql-query";
2
+ import y from "axios";
3
+ let d;
4
+ const _ = () => (d || (d = y.create({
5
+ withCredentials: !0
6
+ })), d), m = () => typeof localStorage > "u" ? "http://127.0.0.1:8888/api/" : localStorage.getItem("light-api-url") === null ? "/api/" : localStorage.getItem("light-api-url"), f = async (t, e = null, r = []) => {
7
+ const n = {
7
8
  mutation: {}
8
9
  };
9
- i.mutation[t] = !0, e && (i.mutation[t] = {}, i.mutation[t].__args = e), r.length > 0 && (i.mutation[t] = {}), r.forEach((l) => {
10
- i.mutation[t][l] = !0;
10
+ n.mutation[t] = !0, r instanceof Array && r.length != 0 && (n.mutation[t] = {}), e && (n.mutation[t] = {}, n.mutation[t].__args = e), Object.entries(O(r)).forEach(([u, l]) => {
11
+ n.mutation[t][u] = l;
11
12
  });
12
- const u = await n.post(m(), {
13
- query: w(i)
13
+ const o = await _().post(m(), {
14
+ query: h(n)
14
15
  });
15
- if (u.data.errors)
16
- throw new Error(u.data.errors[0].message);
17
- return u.data.data;
18
- }, I = async (t, e, r = "") => await d("login", {
16
+ if (o.data.errors)
17
+ throw new Error(o.data.errors[0].message);
18
+ return o.data.data[t];
19
+ }, B = async (t, e, r = "") => await f("login", {
19
20
  username: t,
20
21
  password: e,
21
22
  code: r
22
- }), V = async () => await d("logout"), f = (t) => {
23
+ }), M = async () => await f("logout"), g = (t) => {
23
24
  let e = {};
24
25
  return typeof t == "string" ? (e[t] = !0, e) : t instanceof Array ? (t.forEach((r) => {
25
- Object.entries(f(r)).forEach(([n, i]) => {
26
- e[n] = i;
26
+ Object.entries(g(r)).forEach(([n, o]) => {
27
+ e[n] = o;
27
28
  });
28
29
  }), e) : (Object.entries(t).forEach(([r, n]) => {
29
30
  if (r == "__args" || r == "__aliasFor" || r == "__variables" || r == "__directives" || r == "__all_on" || r == "__name") {
@@ -34,24 +35,21 @@ const m = () => localStorage.getItem("light-api-url") === null ? "/api/" : local
34
35
  e[r] = n;
35
36
  return;
36
37
  }
37
- e[r] = f(n);
38
+ e[r] = g(n);
38
39
  }), e);
39
- }, C = (t) => f(t), b = async (t) => {
40
- const e = h.create({
41
- withCredentials: !0
42
- });
43
- let r = w(C(t));
44
- const n = await e.post(m(), {
45
- query: `{ ${r} }`
40
+ }, O = (t) => g(t), b = async (t) => {
41
+ let e = h(O(t));
42
+ const r = await _().post(m(), {
43
+ query: `{ ${e} }`
46
44
  });
47
- if (n.data.errors)
48
- throw new Error(n.data.errors[0].message);
49
- return n.data.data;
50
- }, B = (t) => {
45
+ if (r.data.errors)
46
+ throw new Error(r.data.errors[0].message);
47
+ return r.data.data;
48
+ }, P = (t) => {
51
49
  localStorage.setItem("light-api-url", t);
52
50
  };
53
- async function M(t) {
54
- const e = h.create({
51
+ async function Q(t) {
52
+ const e = y.create({
55
53
  withCredentials: !0
56
54
  }), r = {
57
55
  __variables: {
@@ -59,7 +57,7 @@ async function M(t) {
59
57
  },
60
58
  fsUploadTempFile: {
61
59
  __args: {
62
- file: new A("file")
60
+ file: new x("file")
63
61
  },
64
62
  name: !0,
65
63
  path: !0,
@@ -68,21 +66,27 @@ async function M(t) {
68
66
  }
69
67
  }, n = new FormData();
70
68
  n.append("operations", JSON.stringify({
71
- query: w({ mutation: r })
69
+ query: h({ mutation: r })
72
70
  })), n.append("map", JSON.stringify({ 0: ["variables.file"] })), n.append("0", t);
73
- const i = await e.post(m(), n);
74
- if (i.data.errors)
75
- throw new Error(i.data.errors[0].message);
76
- return i.data.data.fsUploadTempFile;
71
+ const o = await e.post(m(), n);
72
+ if (o.data.errors)
73
+ throw new Error(o.data.errors[0].message);
74
+ return o.data.data.fsUploadTempFile;
77
75
  }
78
- const P = (t, e, r) => d("sendMail", { email: t, subject: e, message: r });
79
- function y(t) {
80
- const e = "==".slice(0, (4 - t.length % 4) % 4), r = t.replace(/-/g, "+").replace(/_/g, "/") + e, n = atob(r), i = new ArrayBuffer(n.length), u = new Uint8Array(i);
76
+ const L = (t, e, r) => f("sendMail", { email: t, subject: e, message: r }), W = async (t) => (await b({
77
+ config: {
78
+ __args: {
79
+ name: t
80
+ }
81
+ }
82
+ })).config;
83
+ function S(t) {
84
+ const e = "==".slice(0, (4 - t.length % 4) % 4), r = t.replace(/-/g, "+").replace(/_/g, "/") + e, n = atob(r), o = new ArrayBuffer(n.length), u = new Uint8Array(o);
81
85
  for (let l = 0; l < n.length; l++)
82
86
  u[l] = n.charCodeAt(l);
83
- return i;
87
+ return o;
84
88
  }
85
- function O(t) {
89
+ function A(t) {
86
90
  const e = new Uint8Array(t);
87
91
  let r = "";
88
92
  for (const u of e)
@@ -102,37 +106,37 @@ function p(t, e, r) {
102
106
  return r.map((n) => p(t, e[0], n));
103
107
  if (e instanceof Object) {
104
108
  const n = {};
105
- for (const [i, u] of Object.entries(e)) {
109
+ for (const [o, u] of Object.entries(e)) {
106
110
  if (u.derive) {
107
111
  const l = u.derive(r);
108
- l !== void 0 && (r[i] = l);
112
+ l !== void 0 && (r[o] = l);
109
113
  }
110
- if (!(i in r)) {
114
+ if (!(o in r)) {
111
115
  if (u.required)
112
- throw new Error(`Missing key: ${i}`);
116
+ throw new Error(`Missing key: ${o}`);
113
117
  continue;
114
118
  }
115
- if (r[i] == null) {
116
- n[i] = null;
119
+ if (r[o] == null) {
120
+ n[o] = null;
117
121
  continue;
118
122
  }
119
- n[i] = p(
123
+ n[o] = p(
120
124
  t,
121
125
  u.schema,
122
- r[i]
126
+ r[o]
123
127
  );
124
128
  }
125
129
  return n;
126
130
  }
127
131
  }
128
- function g(t, e) {
132
+ function w(t, e) {
129
133
  return {
130
134
  required: !0,
131
135
  schema: t,
132
136
  derive: e
133
137
  };
134
138
  }
135
- function o(t) {
139
+ function i(t) {
136
140
  return {
137
141
  required: !0,
138
142
  schema: t
@@ -144,44 +148,44 @@ function s(t) {
144
148
  schema: t
145
149
  };
146
150
  }
147
- var S = {
148
- type: o(a),
149
- id: o(c),
151
+ var v = {
152
+ type: i(a),
153
+ id: i(c),
150
154
  transports: s(a)
151
- }, _ = {
155
+ }, C = {
152
156
  appid: s(a),
153
157
  appidExclude: s(a),
154
158
  credProps: s(a)
155
- }, v = {
159
+ }, E = {
156
160
  appid: s(a),
157
161
  appidExclude: s(a),
158
162
  credProps: s(a)
159
- }, E = {
160
- publicKey: o({
161
- rp: o(a),
162
- user: o({
163
- id: o(c),
164
- name: o(a),
165
- displayName: o(a)
163
+ }, R = {
164
+ publicKey: i({
165
+ rp: i(a),
166
+ user: i({
167
+ id: i(c),
168
+ name: i(a),
169
+ displayName: i(a)
166
170
  }),
167
- challenge: o(c),
168
- pubKeyCredParams: o(a),
171
+ challenge: i(c),
172
+ pubKeyCredParams: i(a),
169
173
  timeout: s(a),
170
- excludeCredentials: s([S]),
174
+ excludeCredentials: s([v]),
171
175
  authenticatorSelection: s(a),
172
176
  attestation: s(a),
173
- extensions: s(_)
177
+ extensions: s(C)
174
178
  }),
175
179
  signal: s(a)
176
- }, R = {
177
- type: o(a),
178
- id: o(a),
179
- rawId: o(c),
180
+ }, q = {
181
+ type: i(a),
182
+ id: i(a),
183
+ rawId: i(c),
180
184
  authenticatorAttachment: s(a),
181
- response: o({
182
- clientDataJSON: o(c),
183
- attestationObject: o(c),
184
- transports: g(
185
+ response: i({
186
+ clientDataJSON: i(c),
187
+ attestationObject: i(c),
188
+ transports: w(
185
189
  a,
186
190
  (t) => {
187
191
  var e;
@@ -189,102 +193,103 @@ var S = {
189
193
  }
190
194
  )
191
195
  }),
192
- clientExtensionResults: g(
193
- v,
196
+ clientExtensionResults: w(
197
+ E,
194
198
  (t) => t.getClientExtensionResults()
195
199
  )
196
- }, q = {
200
+ }, J = {
197
201
  mediation: s(a),
198
- publicKey: o({
199
- challenge: o(c),
202
+ publicKey: i({
203
+ challenge: i(c),
200
204
  timeout: s(a),
201
205
  rpId: s(a),
202
- allowCredentials: s([S]),
206
+ allowCredentials: s([v]),
203
207
  userVerification: s(a),
204
- extensions: s(_)
208
+ extensions: s(C)
205
209
  }),
206
210
  signal: s(a)
207
- }, x = {
208
- type: o(a),
209
- id: o(a),
210
- rawId: o(c),
211
+ }, N = {
212
+ type: i(a),
213
+ id: i(a),
214
+ rawId: i(c),
211
215
  authenticatorAttachment: s(a),
212
- response: o({
213
- clientDataJSON: o(c),
214
- authenticatorData: o(c),
215
- signature: o(c),
216
- userHandle: o(c)
216
+ response: i({
217
+ clientDataJSON: i(c),
218
+ authenticatorData: i(c),
219
+ signature: i(c),
220
+ userHandle: i(c)
217
221
  }),
218
- clientExtensionResults: g(
219
- v,
222
+ clientExtensionResults: w(
223
+ E,
220
224
  (t) => t.getClientExtensionResults()
221
225
  )
222
226
  };
223
- function J(t) {
224
- return p(y, E, t);
227
+ function j(t) {
228
+ return p(S, R, t);
225
229
  }
226
- function N(t) {
230
+ function T(t) {
227
231
  return p(
228
- O,
229
- R,
232
+ A,
233
+ q,
230
234
  t
231
235
  );
232
236
  }
233
- function j(t) {
234
- return p(y, q, t);
237
+ function K(t) {
238
+ return p(S, J, t);
235
239
  }
236
- function T(t) {
240
+ function U(t) {
237
241
  return p(
238
- O,
239
- x,
242
+ A,
243
+ N,
240
244
  t
241
245
  );
242
246
  }
243
- async function K(t) {
247
+ async function D(t) {
244
248
  const e = await navigator.credentials.create(
245
249
  t
246
250
  );
247
- return e.toJSON = () => N(e), e;
251
+ return e.toJSON = () => T(e), e;
248
252
  }
249
- async function U(t) {
253
+ async function F(t) {
250
254
  const e = await navigator.credentials.get(
251
255
  t
252
256
  );
253
- return e.toJSON = () => T(e), e;
257
+ return e.toJSON = () => U(e), e;
254
258
  }
255
- async function Q(t) {
259
+ async function $(t) {
256
260
  const r = (await b({
257
261
  webAuthnRequestOptions: {
258
262
  __args: {
259
263
  username: t
260
264
  }
261
265
  }
262
- })).webAuthnRequestOptions, n = j({
266
+ })).webAuthnRequestOptions, n = K({
263
267
  publicKey: r
264
- }), i = await U(n);
265
- await d("webAuthnAssertion", {
268
+ }), o = await F(n);
269
+ await f("webAuthnAssertion", {
266
270
  username: t,
267
- assertion: i.toJSON()
271
+ assertion: o.toJSON()
268
272
  });
269
273
  }
270
- async function L() {
271
- const t = await b({ webAuthnCreationOptions: !0 }), e = J({
274
+ async function z() {
275
+ const t = await b({ webAuthnCreationOptions: !0 }), e = j({
272
276
  publicKey: t.webAuthnCreationOptions
273
- }), r = await K(e);
274
- await d("webAuthnRegister", {
277
+ }), r = await D(e);
278
+ await f("webAuthnRegister", {
275
279
  registration: r.toJSON()
276
280
  });
277
281
  }
278
282
  export {
279
283
  m as getApiUrl,
280
- I as login,
281
- V as logout,
282
- d as mutation,
284
+ W as getConfig,
285
+ B as login,
286
+ M as logout,
287
+ f as mutation,
283
288
  b as query,
284
- P as sendMail,
285
- B as setApiUrl,
286
- C as toQuery,
287
- M as uploadFile,
288
- Q as webauthnLogin,
289
- L as webauthnRegister
289
+ L as sendMail,
290
+ P as setApiUrl,
291
+ O as toQuery,
292
+ Q as uploadFile,
293
+ $ as webauthnLogin,
294
+ z as webauthnRegister
290
295
  };
@@ -1 +1 @@
1
- (function(u,f){typeof exports=="object"&&typeof module<"u"?f(exports,require("json-to-graphql-query"),require("axios")):typeof define=="function"&&define.amd?define(["exports","json-to-graphql-query","axios"],f):(u=typeof globalThis<"u"?globalThis:u||self,f(u.light={},u.jsonToGraphqlQuery,u.axios))})(this,function(u,f,w){"use strict";const h=()=>localStorage.getItem("light-api-url")===null?"/api/":localStorage.getItem("light-api-url"),p=async(e,t=null,n=[])=>{const r=w.create({withCredentials:!0}),o={mutation:{}};o.mutation[e]=!0,t&&(o.mutation[e]={},o.mutation[e].__args=t),n.length>0&&(o.mutation[e]={}),n.forEach(d=>{o.mutation[e][d]=!0});const l=await r.post(h(),{query:f.jsonToGraphQLQuery(o)});if(l.data.errors)throw new Error(l.data.errors[0].message);return l.data.data},q=async(e,t,n="")=>await p("login",{username:e,password:t,code:n}),E=async()=>await p("logout"),m=e=>{let t={};return typeof e=="string"?(t[e]=!0,t):e instanceof Array?(e.forEach(n=>{Object.entries(m(n)).forEach(([r,o])=>{t[r]=o})}),t):(Object.entries(e).forEach(([n,r])=>{if(n=="__args"||n=="__aliasFor"||n=="__variables"||n=="__directives"||n=="__all_on"||n=="__name"){t[n]=r;return}if(typeof r=="boolean"){t[n]=r;return}t[n]=m(r)}),t)},S=e=>m(e),b=async e=>{const t=w.create({withCredentials:!0});let n=f.jsonToGraphQLQuery(S(e));const r=await t.post(h(),{query:`{ ${n} }`});if(r.data.errors)throw new Error(r.data.errors[0].message);return r.data.data},R=e=>{localStorage.setItem("light-api-url",e)};async function j(e){const t=w.create({withCredentials:!0}),n={__variables:{file:"Upload!"},fsUploadTempFile:{__args:{file:new f.VariableType("file")},name:!0,path:!0,size:!0,mime:!0}},r=new FormData;r.append("operations",JSON.stringify({query:f.jsonToGraphQLQuery({mutation:n})})),r.append("map",JSON.stringify({0:["variables.file"]})),r.append("0",e);const o=await t.post(h(),r);if(o.data.errors)throw new Error(o.data.errors[0].message);return o.data.data.fsUploadTempFile}const J=(e,t,n)=>p("sendMail",{email:e,subject:t,message:n});function O(e){const t="==".slice(0,(4-e.length%4)%4),n=e.replace(/-/g,"+").replace(/_/g,"/")+t,r=atob(n),o=new ArrayBuffer(r.length),l=new Uint8Array(o);for(let d=0;d<r.length;d++)l[d]=r.charCodeAt(d);return o}function v(e){const t=new Uint8Array(e);let n="";for(const l of t)n+=String.fromCharCode(l);return btoa(n).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}var i="copy",c="convert";function g(e,t,n){if(t===i)return n;if(t===c)return e(n);if(t instanceof Array)return n.map(r=>g(e,t[0],r));if(t instanceof Object){const r={};for(const[o,l]of Object.entries(t)){if(l.derive){const d=l.derive(n);d!==void 0&&(n[o]=d)}if(!(o in n)){if(l.required)throw new Error(`Missing key: ${o}`);continue}if(n[o]==null){r[o]=null;continue}r[o]=g(e,l.schema,n[o])}return r}}function y(e,t){return{required:!0,schema:e,derive:t}}function a(e){return{required:!0,schema:e}}function s(e){return{required:!1,schema:e}}var _={type:a(i),id:a(c),transports:s(i)},A={appid:s(i),appidExclude:s(i),credProps:s(i)},C={appid:s(i),appidExclude:s(i),credProps:s(i)},N={publicKey:a({rp:a(i),user:a({id:a(c),name:a(i),displayName:a(i)}),challenge:a(c),pubKeyCredParams:a(i),timeout:s(i),excludeCredentials:s([_]),authenticatorSelection:s(i),attestation:s(i),extensions:s(A)}),signal:s(i)},T={type:a(i),id:a(i),rawId:a(c),authenticatorAttachment:s(i),response:a({clientDataJSON:a(c),attestationObject:a(c),transports:y(i,e=>{var t;return((t=e.getTransports)==null?void 0:t.call(e))||[]})}),clientExtensionResults:y(C,e=>e.getClientExtensionResults())},U={mediation:s(i),publicKey:a({challenge:a(c),timeout:s(i),rpId:s(i),allowCredentials:s([_]),userVerification:s(i),extensions:s(A)}),signal:s(i)},K={type:a(i),id:a(i),rawId:a(c),authenticatorAttachment:s(i),response:a({clientDataJSON:a(c),authenticatorData:a(c),signature:a(c),userHandle:a(c)}),clientExtensionResults:y(C,e=>e.getClientExtensionResults())};function F(e){return g(O,N,e)}function D(e){return g(v,T,e)}function I(e){return g(O,U,e)}function Q(e){return g(v,K,e)}async function V(e){const t=await navigator.credentials.create(e);return t.toJSON=()=>D(t),t}async function L(e){const t=await navigator.credentials.get(e);return t.toJSON=()=>Q(t),t}async function M(e){const n=(await b({webAuthnRequestOptions:{__args:{username:e}}})).webAuthnRequestOptions,r=I({publicKey:n}),o=await L(r);await p("webAuthnAssertion",{username:e,assertion:o.toJSON()})}async function x(){const e=await b({webAuthnCreationOptions:!0}),t=F({publicKey:e.webAuthnCreationOptions}),n=await V(t);await p("webAuthnRegister",{registration:n.toJSON()})}u.getApiUrl=h,u.login=q,u.logout=E,u.mutation=p,u.query=b,u.sendMail=J,u.setApiUrl=R,u.toQuery=S,u.uploadFile=j,u.webauthnLogin=M,u.webauthnRegister=x,Object.defineProperty(u,Symbol.toStringTag,{value:"Module"})});
1
+ (function(u,d){typeof exports=="object"&&typeof module<"u"?d(exports,require("json-to-graphql-query"),require("axios")):typeof define=="function"&&define.amd?define(["exports","json-to-graphql-query","axios"],d):(u=typeof globalThis<"u"?globalThis:u||self,d(u.light={},u.jsonToGraphqlQuery,u.axios))})(this,function(u,d,O){"use strict";let y;const _=()=>(y||(y=O.create({withCredentials:!0})),y),h=()=>typeof localStorage>"u"?"http://127.0.0.1:8888/api/":localStorage.getItem("light-api-url")===null?"/api/":localStorage.getItem("light-api-url"),p=async(t,e=null,n=[])=>{const r={mutation:{}};r.mutation[t]=!0,n instanceof Array&&n.length!=0&&(r.mutation[t]={}),e&&(r.mutation[t]={},r.mutation[t].__args=e),Object.entries(m(n)).forEach(([l,f])=>{r.mutation[t][l]=f});const o=await _().post(h(),{query:d.jsonToGraphQLQuery(r)});if(o.data.errors)throw new Error(o.data.errors[0].message);return o.data.data[t]},R=async(t,e,n="")=>await p("login",{username:t,password:e,code:n}),j=async()=>await p("logout"),b=t=>{let e={};return typeof t=="string"?(e[t]=!0,e):t instanceof Array?(t.forEach(n=>{Object.entries(b(n)).forEach(([r,o])=>{e[r]=o})}),e):(Object.entries(t).forEach(([n,r])=>{if(n=="__args"||n=="__aliasFor"||n=="__variables"||n=="__directives"||n=="__all_on"||n=="__name"){e[n]=r;return}if(typeof r=="boolean"){e[n]=r;return}e[n]=b(r)}),e)},m=t=>b(t),w=async t=>{let e=d.jsonToGraphQLQuery(m(t));const n=await _().post(h(),{query:`{ ${e} }`});if(n.data.errors)throw new Error(n.data.errors[0].message);return n.data.data},J=t=>{localStorage.setItem("light-api-url",t)};async function N(t){const e=O.create({withCredentials:!0}),n={__variables:{file:"Upload!"},fsUploadTempFile:{__args:{file:new d.VariableType("file")},name:!0,path:!0,size:!0,mime:!0}},r=new FormData;r.append("operations",JSON.stringify({query:d.jsonToGraphQLQuery({mutation:n})})),r.append("map",JSON.stringify({0:["variables.file"]})),r.append("0",t);const o=await e.post(h(),r);if(o.data.errors)throw new Error(o.data.errors[0].message);return o.data.data.fsUploadTempFile}const T=(t,e,n)=>p("sendMail",{email:t,subject:e,message:n}),U=async t=>(await w({config:{__args:{name:t}}})).config;function A(t){const e="==".slice(0,(4-t.length%4)%4),n=t.replace(/-/g,"+").replace(/_/g,"/")+e,r=atob(n),o=new ArrayBuffer(r.length),l=new Uint8Array(o);for(let f=0;f<r.length;f++)l[f]=r.charCodeAt(f);return o}function v(t){const e=new Uint8Array(t);let n="";for(const l of e)n+=String.fromCharCode(l);return btoa(n).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}var i="copy",c="convert";function g(t,e,n){if(e===i)return n;if(e===c)return t(n);if(e instanceof Array)return n.map(r=>g(t,e[0],r));if(e instanceof Object){const r={};for(const[o,l]of Object.entries(e)){if(l.derive){const f=l.derive(n);f!==void 0&&(n[o]=f)}if(!(o in n)){if(l.required)throw new Error(`Missing key: ${o}`);continue}if(n[o]==null){r[o]=null;continue}r[o]=g(t,l.schema,n[o])}return r}}function S(t,e){return{required:!0,schema:t,derive:e}}function a(t){return{required:!0,schema:t}}function s(t){return{required:!1,schema:t}}var C={type:a(i),id:a(c),transports:s(i)},q={appid:s(i),appidExclude:s(i),credProps:s(i)},E={appid:s(i),appidExclude:s(i),credProps:s(i)},K={publicKey:a({rp:a(i),user:a({id:a(c),name:a(i),displayName:a(i)}),challenge:a(c),pubKeyCredParams:a(i),timeout:s(i),excludeCredentials:s([C]),authenticatorSelection:s(i),attestation:s(i),extensions:s(q)}),signal:s(i)},F={type:a(i),id:a(i),rawId:a(c),authenticatorAttachment:s(i),response:a({clientDataJSON:a(c),attestationObject:a(c),transports:S(i,t=>{var e;return((e=t.getTransports)==null?void 0:e.call(t))||[]})}),clientExtensionResults:S(E,t=>t.getClientExtensionResults())},x={mediation:s(i),publicKey:a({challenge:a(c),timeout:s(i),rpId:s(i),allowCredentials:s([C]),userVerification:s(i),extensions:s(q)}),signal:s(i)},D={type:a(i),id:a(i),rawId:a(c),authenticatorAttachment:s(i),response:a({clientDataJSON:a(c),authenticatorData:a(c),signature:a(c),userHandle:a(c)}),clientExtensionResults:S(E,t=>t.getClientExtensionResults())};function I(t){return g(A,K,t)}function Q(t){return g(v,F,t)}function V(t){return g(A,x,t)}function L(t){return g(v,D,t)}async function M(t){const e=await navigator.credentials.create(t);return e.toJSON=()=>Q(e),e}async function P(t){const e=await navigator.credentials.get(t);return e.toJSON=()=>L(e),e}async function B(t){const n=(await w({webAuthnRequestOptions:{__args:{username:t}}})).webAuthnRequestOptions,r=V({publicKey:n}),o=await P(r);await p("webAuthnAssertion",{username:t,assertion:o.toJSON()})}async function W(){const t=await w({webAuthnCreationOptions:!0}),e=I({publicKey:t.webAuthnCreationOptions}),n=await M(e);await p("webAuthnRegister",{registration:n.toJSON()})}u.getApiUrl=h,u.getConfig=U,u.login=R,u.logout=j,u.mutation=p,u.query=w,u.sendMail=T,u.setApiUrl=J,u.toQuery=m,u.uploadFile=N,u.webauthnLogin=B,u.webauthnRegister=W,Object.defineProperty(u,Symbol.toStringTag,{value:"Module"})});
@@ -0,0 +1 @@
1
+ export {};
@@ -1,2 +1,3 @@
1
- declare const _default: (operation: string, args?: any, fields?: Array<any>) => Promise<any>;
1
+ import { Fields } from '.';
2
+ declare const _default: (operation: string, args?: any, fields?: Fields) => Promise<any>;
2
3
  export default _default;
package/dist/toQuery.d.ts CHANGED
@@ -1,2 +1,3 @@
1
- declare const _default: (query: Object | Array<string | Object> | string) => any;
1
+ import { Fields } from ".";
2
+ declare const _default: (query: Fields) => any;
2
3
  export default _default;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hostlink/light",
3
- "version": "0.0.17",
3
+ "version": "0.0.19",
4
4
  "type": "module",
5
5
  "files": [
6
6
  "dist"
@@ -17,12 +17,14 @@
17
17
  "dev": "vite --host",
18
18
  "build": "tsc && vite build",
19
19
  "preview": "vite preview",
20
- "release": "npm run build && npm version patch && npm publish --access public && git push --follow-tags"
20
+ "release": "npm run build && npm version patch && npm publish --access public && git push --follow-tags",
21
+ "test": "vitest"
21
22
  },
22
23
  "devDependencies": {
23
24
  "typescript": "^5.0.2",
24
25
  "vite": "^4.3.0",
25
- "vite-plugin-dts": "^3.6.0"
26
+ "vite-plugin-dts": "^3.6.0",
27
+ "vitest": "^0.34.6"
26
28
  },
27
29
  "dependencies": {
28
30
  "@github/webauthn-json": "^2.1.1",