@groundbrick/sveltekit-adapter 0.2.3 → 0.2.4
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/client/ApiClient.d.ts.map +1 -1
- package/dist/client/ApiClient.js +29 -5
- package/dist/client/ApiClient.js.map +1 -1
- package/dist/client/jwtDecoder.d.ts +2 -2
- package/dist/client/jwtDecoder.d.ts.map +1 -1
- package/dist/cookies/index.d.ts +61 -0
- package/dist/cookies/index.d.ts.map +1 -0
- package/dist/cookies/index.js +93 -0
- package/dist/cookies/index.js.map +1 -0
- package/dist/hooks/index.d.ts +3 -1
- package/dist/hooks/index.d.ts.map +1 -1
- package/dist/hooks/index.js +90 -7
- package/dist/hooks/index.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/types/index.d.ts +24 -2
- package/dist/types/index.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ApiClient.d.ts","sourceRoot":"","sources":["../../src/client/ApiClient.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAe,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEtF,qBAAa,SAAS;IAGN,OAAO,CAAC,MAAM;IAF1B,OAAO,CAAC,MAAM,CAAS;gBAEH,MAAM,EAAE,eAAe;IAerC,GAAG,CAAC,CAAC,GAAG,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,CAAC,CAAC;IAIxE,IAAI,CAAC,CAAC,GAAG,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,CAAC,CAAC;IASzF,GAAG,CAAC,CAAC,GAAG,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,CAAC,CAAC;IAQxF,KAAK,CAAC,CAAC,GAAG,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,CAAC,CAAC;IAQ1F,MAAM,CAAC,CAAC,GAAG,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,CAAC,CAAC;YAQnE,OAAO;
|
|
1
|
+
{"version":3,"file":"ApiClient.d.ts","sourceRoot":"","sources":["../../src/client/ApiClient.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAe,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEtF,qBAAa,SAAS;IAGN,OAAO,CAAC,MAAM;IAF1B,OAAO,CAAC,MAAM,CAAS;gBAEH,MAAM,EAAE,eAAe;IAerC,GAAG,CAAC,CAAC,GAAG,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,CAAC,CAAC;IAIxE,IAAI,CAAC,CAAC,GAAG,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,CAAC,CAAC;IASzF,GAAG,CAAC,CAAC,GAAG,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,CAAC,CAAC;IAQxF,KAAK,CAAC,CAAC,GAAG,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,CAAC,CAAC;IAQ1F,MAAM,CAAC,CAAC,GAAG,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,CAAC,CAAC;YAQnE,OAAO;IAiHrB,OAAO,CAAC,WAAW;YAYL,gBAAgB;IAuBxB,gBAAgB,CAAC,CAAC,EACpB,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,cAAmB,EAC5B,OAAO,GAAE,MAAiC,GAC3C,OAAO,CAAC,CAAC,CAAC;CAgChB;AAMD,wBAAgB,eAAe,CAAC,MAAM,EAAE,eAAe,GAAG,SAAS,CAElE"}
|
package/dist/client/ApiClient.js
CHANGED
|
@@ -97,15 +97,39 @@ export class ApiClient {
|
|
|
97
97
|
}
|
|
98
98
|
// Handle response
|
|
99
99
|
let responseData;
|
|
100
|
-
|
|
101
|
-
|
|
100
|
+
const contentType = response.headers.get('content-type') || '';
|
|
101
|
+
const responseText = await response.text();
|
|
102
|
+
if (responseText) {
|
|
103
|
+
try {
|
|
104
|
+
responseData = JSON.parse(responseText);
|
|
105
|
+
}
|
|
106
|
+
catch (error) {
|
|
107
|
+
this.logger.error('Invalid JSON response from server', error, {
|
|
108
|
+
url,
|
|
109
|
+
status: response.status,
|
|
110
|
+
contentType
|
|
111
|
+
});
|
|
112
|
+
responseData = {
|
|
113
|
+
success: false,
|
|
114
|
+
error: {
|
|
115
|
+
message: 'Invalid JSON response from server'
|
|
116
|
+
},
|
|
117
|
+
status: response.status,
|
|
118
|
+
raw: responseText
|
|
119
|
+
};
|
|
120
|
+
}
|
|
102
121
|
}
|
|
103
|
-
|
|
104
|
-
|
|
122
|
+
else {
|
|
123
|
+
responseData = {
|
|
124
|
+
success: response.ok,
|
|
125
|
+
status: response.status
|
|
126
|
+
};
|
|
105
127
|
}
|
|
106
128
|
// Handle error responses
|
|
107
129
|
if (!response.ok) {
|
|
108
|
-
const errorMessage = responseData.error
|
|
130
|
+
const errorMessage = typeof responseData.error === 'string'
|
|
131
|
+
? responseData.error
|
|
132
|
+
: responseData.error?.message || `HTTP ${response.status}: ${response.statusText}`;
|
|
109
133
|
this.logger.warn('API request returned error', {
|
|
110
134
|
url,
|
|
111
135
|
status: response.status,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ApiClient.js","sourceRoot":"","sources":["../../src/client/ApiClient.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"ApiClient.js","sourceRoot":"","sources":["../../src/client/ApiClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAe,MAAM,qBAAqB,CAAC;AAGhE,MAAM,OAAO,SAAS;IAGE;IAFZ,MAAM,CAAS;IAEvB,YAAoB,MAAuB;QAAvB,WAAM,GAAN,MAAM,CAAiB;QACvC,IAAI,CAAC,MAAM,GAAG,YAAY,EAAE,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IACrD,CAAC;IAED,+EAA+E;IAC/E,wBAAwB;IACxB,+EAA+E;IAE/E,iEAAiE;IACjE,0CAA0C;IAE1C,+EAA+E;IAC/E,eAAe;IACf,+EAA+E;IAE/E,KAAK,CAAC,GAAG,CAAc,QAAgB,EAAE,OAAwB;QAC7D,OAAO,IAAI,CAAC,OAAO,CAAI,QAAQ,EAAE,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;IACpE,CAAC;IAED,KAAK,CAAC,IAAI,CAAc,QAAgB,EAAE,IAAc,EAAE,OAAwB;QAC9E,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAI,QAAQ,EAAE;YACzC,GAAG,OAAO;YACV,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;SAC/B,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,GAAG,CAAc,QAAgB,EAAE,IAAc,EAAE,OAAwB;QAC7E,OAAO,IAAI,CAAC,OAAO,CAAI,QAAQ,EAAE;YAC7B,GAAG,OAAO;YACV,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;SAC/B,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,KAAK,CAAc,QAAgB,EAAE,IAAc,EAAE,OAAwB;QAC/E,OAAO,IAAI,CAAC,OAAO,CAAI,QAAQ,EAAE;YAC7B,GAAG,OAAO;YACV,MAAM,EAAE,OAAO;YACf,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;SAC/B,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,MAAM,CAAc,QAAgB,EAAE,OAAwB;QAChE,OAAO,IAAI,CAAC,OAAO,CAAI,QAAQ,EAAE,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;IACvE,CAAC;IAED,+EAA+E;IAC/E,sBAAsB;IACtB,+EAA+E;IAEvE,KAAK,CAAC,OAAO,CAAI,QAAgB,EAAE,UAA0B,EAAE;QACnE,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,GAAG,QAAQ,EAAE,CAAC;QAChD,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,KAAK,CAAC;QAEhE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,oBAAoB,EAAE;YACpC,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,KAAK;YAC/B,GAAG;YACH,WAAW,EAAE,SAAS,CAAC,sCAAsC;SAChE,CAAC,CAAC;QAEH,yFAAyF;QACzF,MAAM,OAAO,GAAQ;YACjB,GAAG,IAAI,CAAC,MAAM,CAAC,cAAc;YAC7B,GAAG,OAAO,CAAC,OAAO;SACrB,CAAC;QAEF,yCAAyC;QACzC,IAAI,OAAO,CAAC,IAAI,YAAY,QAAQ,EAAE,CAAC;YACnC,mFAAmF;YACnF,OAAO,OAAO,CAAC,cAAc,CAAC,CAAC;QACnC,CAAC;aAAM,CAAC;YACJ,iDAAiD;YACjD,OAAO,CAAC,cAAc,CAAC,GAAG,kBAAkB,CAAC;QACjD,CAAC;QAED,sEAAsE;QAEtE,yBAAyB;QACzB,MAAM,cAAc,GAAgB;YAChC,GAAG,OAAO;YACV,OAAO;YACP,WAAW,EAAE,SAAS,EAAE,qCAAqC;SAChE,CAAC;QAEF,IAAI,QAAkB,CAAC;QACvB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAE7B,IAAI,CAAC;YACD,4BAA4B;YAC5B,QAAQ,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC;YAErE,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;YACxC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,uBAAuB,EAAE;gBACvC,GAAG;gBACH,MAAM,EAAE,QAAQ,CAAC,MAAM;gBACvB,QAAQ;aACX,CAAC,CAAC;QAEP,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;YACxC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,oBAAoB,EAAE,KAAc,EAAE;gBACpD,GAAG;gBACH,QAAQ;gBACR,MAAM,EAAE,OAAO,CAAC,MAAM;aACzB,CAAC,CAAC;YACH,MAAM,IAAI,KAAK,CAAC,kBAAmB,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;QAClE,CAAC;QAED,kBAAkB;QAClB,IAAI,YAA4B,CAAC;QACjC,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;QAC/D,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QAE3C,IAAI,YAAY,EAAE,CAAC;YACf,IAAI,CAAC;gBACD,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAmB,CAAC;YAC9D,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,mCAAmC,EAAE,KAAc,EAAE;oBACnE,GAAG;oBACH,MAAM,EAAE,QAAQ,CAAC,MAAM;oBACvB,WAAW;iBACd,CAAC,CAAC;gBAEH,YAAY,GAAG;oBACX,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE;wBACH,OAAO,EAAE,mCAAmC;qBAC/C;oBACD,MAAM,EAAE,QAAQ,CAAC,MAAM;oBACvB,GAAG,EAAE,YAAY;iBACF,CAAC;YACxB,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,YAAY,GAAG;gBACX,OAAO,EAAE,QAAQ,CAAC,EAAE;gBACpB,MAAM,EAAE,QAAQ,CAAC,MAAM;aACR,CAAC;QACxB,CAAC;QAED,yBAAyB;QACzB,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACf,MAAM,YAAY,GACd,OAAO,YAAY,CAAC,KAAK,KAAK,QAAQ;gBAClC,CAAC,CAAC,YAAY,CAAC,KAAK;gBACpB,CAAC,CAAC,YAAY,CAAC,KAAK,EAAE,OAAO,IAAI,QAAQ,QAAQ,CAAC,MAAM,KAAK,QAAQ,CAAC,UAAU,EAAE,CAAC;YAE3F,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,4BAA4B,EAAE;gBAC3C,GAAG;gBACH,MAAM,EAAE,QAAQ,CAAC,MAAM;gBACvB,KAAK,EAAE,YAAY;aACtB,CAAC,CAAC;YAEH,mEAAmE;YACnE,OAAO,YAAiB,CAAC;QAC7B,CAAC;QAED,OAAO,YAAiB,CAAC;IAC7B,CAAC;IAED,+EAA+E;IAC/E,kBAAkB;IAClB,+EAA+E;IAEvE,WAAW,CAAC,IAAc;QAC9B,IAAI,CAAC,IAAI;YAAE,OAAO,SAAS,CAAC;QAE5B,yCAAyC;QACzC,IAAI,IAAI,YAAY,QAAQ,EAAE,CAAC;YAC3B,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,yCAAyC;QACzC,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;IAEO,KAAK,CAAC,gBAAgB,CAC1B,GAAW,EACX,OAAoB,EACpB,OAAe;QAEf,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,OAAO,CAAC,CAAC;QAEhE,IAAI,CAAC;YACD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;gBAC9B,GAAG,OAAO;gBACV,MAAM,EAAE,UAAU,CAAC,MAAM;aAC5B,CAAC,CAAC;YACH,OAAO,QAAQ,CAAC;QACpB,CAAC;gBAAS,CAAC;YACP,YAAY,CAAC,SAAS,CAAC,CAAC;QAC5B,CAAC;IACL,CAAC;IAED,+EAA+E;IAC/E,kBAAkB;IAClB,+EAA+E;IAE/E,KAAK,CAAC,gBAAgB,CAClB,QAAgB,EAChB,UAA0B,EAAE,EAC5B,UAAkB,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC;QAE1C,IAAI,SAAgB,CAAC;QAErB,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,OAAO,EAAE,OAAO,EAAE,EAAE,CAAC;YAClD,IAAI,CAAC;gBACD,OAAO,MAAM,IAAI,CAAC,OAAO,CAAI,QAAQ,EAAE,OAAO,CAAC,CAAC;YACpD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,SAAS,GAAG,KAAc,CAAC;gBAE3B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,wBAAwB,EAAE;oBACvC,OAAO;oBACP,OAAO;oBACP,KAAK,EAAE,SAAS,CAAC,OAAO;oBACxB,QAAQ;iBACX,CAAC,CAAC;gBAEH,8DAA8D;gBAC9D,IAAI,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAAC;oBACrD,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;oBACvC,MAAM,SAAS,CAAC;gBACpB,CAAC;gBAED,6CAA6C;gBAC7C,IAAI,OAAO,GAAG,OAAO,EAAE,CAAC;oBACpB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC;oBAC9C,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;gBAC7D,CAAC;YACL,CAAC;QACL,CAAC;QAED,MAAM,SAAU,CAAC;IACrB,CAAC;CACJ;AAED,+EAA+E;AAC/E,mBAAmB;AACnB,+EAA+E;AAE/E,MAAM,UAAU,eAAe,CAAC,MAAuB;IACnD,OAAO,IAAI,SAAS,CAAC,MAAM,CAAC,CAAC;AACjC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jwtDecoder.d.ts","sourceRoot":"","sources":["../../src/client/jwtDecoder.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,UAAU;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"jwtDecoder.d.ts","sourceRoot":"","sources":["../../src/client/jwtDecoder.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,UAAU;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACtB;AAED,MAAM,WAAW,UAAU;IACvB,OAAO,EAAE,UAAU,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,IAAI,CAAC;CACpB;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAkC/D;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,IAAI,MAAM,GAAG,IAAI,CAStD;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAiB9E;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,OAAO,CAEpF;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,OAAO,CAErF;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,UAAU,GAAG,MAAM,CAE9D;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAG5E;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,UAAU,GAAG,IAAI,CAiBjF"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import type { Cookies } from '@sveltejs/kit';
|
|
2
|
+
export interface AuthCookieConfig {
|
|
3
|
+
/** Cookie name (default: 'auth_token') */
|
|
4
|
+
tokenKey?: string;
|
|
5
|
+
/** Function to resolve cookie domain from hostname */
|
|
6
|
+
resolveDomain: (hostname: string) => string | undefined;
|
|
7
|
+
/** Whether running in production (affects secure and sameSite) */
|
|
8
|
+
isProduction: boolean;
|
|
9
|
+
/** JWT expiration in seconds (for maxAge when setting cookies) */
|
|
10
|
+
maxAgeSeconds?: number;
|
|
11
|
+
}
|
|
12
|
+
export interface CookieOptions {
|
|
13
|
+
path: string;
|
|
14
|
+
domain: string | undefined;
|
|
15
|
+
httpOnly: boolean;
|
|
16
|
+
secure: boolean;
|
|
17
|
+
sameSite: 'strict' | 'lax' | 'none';
|
|
18
|
+
maxAge?: number;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Creates the full set of cookie options for auth cookies.
|
|
22
|
+
* These options MUST be consistent between set and delete operations.
|
|
23
|
+
*/
|
|
24
|
+
export declare function createAuthCookieOptions(domain: string | undefined, isProduction: boolean, maxAgeSeconds?: number): CookieOptions;
|
|
25
|
+
/**
|
|
26
|
+
* Creates a cookie helper bound to a specific configuration.
|
|
27
|
+
* Use this in your hooks.server.ts or layout files.
|
|
28
|
+
*/
|
|
29
|
+
export declare function createAuthCookieHelper(config: AuthCookieConfig): {
|
|
30
|
+
/**
|
|
31
|
+
* Get the auth token from cookies
|
|
32
|
+
*/
|
|
33
|
+
get(cookies: Cookies): string | undefined;
|
|
34
|
+
/**
|
|
35
|
+
* Delete the auth cookie with all options matching creation.
|
|
36
|
+
* CRITICAL: Options must match exactly or browser creates a new cookie!
|
|
37
|
+
*/
|
|
38
|
+
delete(cookies: Cookies, hostname: string): void;
|
|
39
|
+
/**
|
|
40
|
+
* Get cookie options for deletion (useful when you need to pass options directly)
|
|
41
|
+
*/
|
|
42
|
+
getDeleteOptions(hostname: string): CookieOptions;
|
|
43
|
+
/**
|
|
44
|
+
* Get cookie options for the auth hook configuration
|
|
45
|
+
*/
|
|
46
|
+
getHookCookieOptions(): {
|
|
47
|
+
httpOnly: boolean;
|
|
48
|
+
secure: boolean;
|
|
49
|
+
sameSite: "strict" | "lax";
|
|
50
|
+
};
|
|
51
|
+
};
|
|
52
|
+
/**
|
|
53
|
+
* Resolves cookie domain from hostname and configured domain.
|
|
54
|
+
* Ensures proper subdomain handling for cross-subdomain cookies.
|
|
55
|
+
*
|
|
56
|
+
* @param hostname - The current request hostname (e.g., 'app.agendapet.local')
|
|
57
|
+
* @param configured - The configured COOKIE_DOMAIN (e.g., '.agendapet.local')
|
|
58
|
+
* @returns The resolved domain or undefined for localhost
|
|
59
|
+
*/
|
|
60
|
+
export declare function resolveCookieDomain(hostname: string, configured?: string | null): string | undefined;
|
|
61
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cookies/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAM7C,MAAM,WAAW,gBAAgB;IAC7B,0CAA0C;IAC1C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,sDAAsD;IACtD,aAAa,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;IACxD,kEAAkE;IAClE,YAAY,EAAE,OAAO,CAAC;IACtB,kEAAkE;IAClE,aAAa,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,aAAa;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,QAAQ,GAAG,KAAK,GAAG,MAAM,CAAC;IACpC,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB;AAMD;;;GAGG;AACH,wBAAgB,uBAAuB,CACnC,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,YAAY,EAAE,OAAO,EACrB,aAAa,CAAC,EAAE,MAAM,GACvB,aAAa,CAcf;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,gBAAgB;IAIvD;;OAEG;iBACU,OAAO,GAAG,MAAM,GAAG,SAAS;IAIzC;;;OAGG;oBACa,OAAO,YAAY,MAAM,GAAG,IAAI;IAMhD;;OAEG;+BACwB,MAAM,GAAG,aAAa;IAKjD;;OAEG;4BACqB;QAAE,QAAQ,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,OAAO,CAAC;QAAC,QAAQ,EAAE,QAAQ,GAAG,KAAK,CAAA;KAAE;EAQjG;AAMD;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,GAAG,SAAS,CAwBpG"}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
// ============================================================================
|
|
2
|
+
// COOKIE UTILITIES
|
|
3
|
+
// ============================================================================
|
|
4
|
+
/**
|
|
5
|
+
* Creates the full set of cookie options for auth cookies.
|
|
6
|
+
* These options MUST be consistent between set and delete operations.
|
|
7
|
+
*/
|
|
8
|
+
export function createAuthCookieOptions(domain, isProduction, maxAgeSeconds) {
|
|
9
|
+
const options = {
|
|
10
|
+
path: '/',
|
|
11
|
+
domain,
|
|
12
|
+
httpOnly: true,
|
|
13
|
+
secure: isProduction,
|
|
14
|
+
sameSite: isProduction ? 'strict' : 'lax'
|
|
15
|
+
};
|
|
16
|
+
if (maxAgeSeconds !== undefined) {
|
|
17
|
+
options.maxAge = maxAgeSeconds;
|
|
18
|
+
}
|
|
19
|
+
return options;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Creates a cookie helper bound to a specific configuration.
|
|
23
|
+
* Use this in your hooks.server.ts or layout files.
|
|
24
|
+
*/
|
|
25
|
+
export function createAuthCookieHelper(config) {
|
|
26
|
+
const tokenKey = config.tokenKey || 'auth_token';
|
|
27
|
+
return {
|
|
28
|
+
/**
|
|
29
|
+
* Get the auth token from cookies
|
|
30
|
+
*/
|
|
31
|
+
get(cookies) {
|
|
32
|
+
return cookies.get(tokenKey);
|
|
33
|
+
},
|
|
34
|
+
/**
|
|
35
|
+
* Delete the auth cookie with all options matching creation.
|
|
36
|
+
* CRITICAL: Options must match exactly or browser creates a new cookie!
|
|
37
|
+
*/
|
|
38
|
+
delete(cookies, hostname) {
|
|
39
|
+
const domain = config.resolveDomain(hostname);
|
|
40
|
+
const options = createAuthCookieOptions(domain, config.isProduction);
|
|
41
|
+
cookies.delete(tokenKey, options);
|
|
42
|
+
},
|
|
43
|
+
/**
|
|
44
|
+
* Get cookie options for deletion (useful when you need to pass options directly)
|
|
45
|
+
*/
|
|
46
|
+
getDeleteOptions(hostname) {
|
|
47
|
+
const domain = config.resolveDomain(hostname);
|
|
48
|
+
return createAuthCookieOptions(domain, config.isProduction);
|
|
49
|
+
},
|
|
50
|
+
/**
|
|
51
|
+
* Get cookie options for the auth hook configuration
|
|
52
|
+
*/
|
|
53
|
+
getHookCookieOptions() {
|
|
54
|
+
return {
|
|
55
|
+
httpOnly: true,
|
|
56
|
+
secure: config.isProduction,
|
|
57
|
+
sameSite: config.isProduction ? 'strict' : 'lax'
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
// ============================================================================
|
|
63
|
+
// DOMAIN RESOLUTION UTILITY
|
|
64
|
+
// ============================================================================
|
|
65
|
+
/**
|
|
66
|
+
* Resolves cookie domain from hostname and configured domain.
|
|
67
|
+
* Ensures proper subdomain handling for cross-subdomain cookies.
|
|
68
|
+
*
|
|
69
|
+
* @param hostname - The current request hostname (e.g., 'app.agendapet.local')
|
|
70
|
+
* @param configured - The configured COOKIE_DOMAIN (e.g., '.agendapet.local')
|
|
71
|
+
* @returns The resolved domain or undefined for localhost
|
|
72
|
+
*/
|
|
73
|
+
export function resolveCookieDomain(hostname, configured) {
|
|
74
|
+
const trimmed = configured?.trim();
|
|
75
|
+
if (trimmed) {
|
|
76
|
+
const normalized = trimmed.startsWith('.') ? trimmed.slice(1) : trimmed;
|
|
77
|
+
if (hostname === normalized || hostname.endsWith(`.${normalized}`)) {
|
|
78
|
+
if (hostname === normalized) {
|
|
79
|
+
const parts = hostname.split('.');
|
|
80
|
+
if (parts.length > 2) {
|
|
81
|
+
return `.${parts.slice(1).join('.')}`;
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
return trimmed.startsWith('.') ? trimmed : `.${normalized}`;
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
const parts = hostname.split('.');
|
|
88
|
+
if (parts.length > 2) {
|
|
89
|
+
return `.${parts.slice(1).join('.')}`;
|
|
90
|
+
}
|
|
91
|
+
return undefined;
|
|
92
|
+
}
|
|
93
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cookies/index.ts"],"names":[],"mappings":"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"}
|
package/dist/hooks/index.d.ts
CHANGED
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
import { type Handle, type HandleServerError } from '@sveltejs/kit';
|
|
2
|
-
import type { ErrorHandlerConfig, LoggerHookConfig, AuthHookConfig } from '../types/index.js';
|
|
2
|
+
import type { ErrorHandlerConfig, LoggerHookConfig, AuthHookConfig, ProxyHookConfig } from '../types/index.js';
|
|
3
3
|
export declare function createErrorHandler(config?: ErrorHandlerConfig): HandleServerError;
|
|
4
4
|
export declare function createLoggerHook(config?: LoggerHookConfig): Handle;
|
|
5
5
|
export declare function createAuthHook(config?: AuthHookConfig): Handle;
|
|
6
|
+
export declare function createProxyHeadersHook(config?: ProxyHookConfig): Handle;
|
|
6
7
|
export declare function createSvelteKitHooks(config?: {
|
|
7
8
|
logger?: LoggerHookConfig;
|
|
8
9
|
auth?: AuthHookConfig;
|
|
10
|
+
proxy?: ProxyHookConfig;
|
|
9
11
|
errorHandler?: ErrorHandlerConfig;
|
|
10
12
|
}): {
|
|
11
13
|
hooks: Handle[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAwB,KAAK,MAAM,EAAE,KAAK,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAC1F,OAAO,KAAK,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAM/G,wBAAgB,kBAAkB,CAAC,MAAM,GAAE,kBAAuB,GAAG,iBAAiB,CAyCrF;AAMD,wBAAgB,gBAAgB,CAAC,MAAM,GAAE,gBAAqB,GAAG,MAAM,CAuEtE;AAMD,wBAAgB,cAAc,CAAC,MAAM,GAAE,cAAmB,GAAG,MAAM,CAoIlE;AAMD,wBAAgB,sBAAsB,CAAC,MAAM,GAAE,eAAoB,GAAG,MAAM,CAuC3E;AAMD,wBAAgB,oBAAoB,CAAC,MAAM,GAAE;IACzC,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAC1B,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB,KAAK,CAAC,EAAE,eAAe,CAAC;IACxB,YAAY,CAAC,EAAE,kBAAkB,CAAC;CAChC;;;EAsBL"}
|
package/dist/hooks/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { createLogger } from '@groundbrick/logger';
|
|
2
|
-
import { redirect } from '@sveltejs/kit';
|
|
2
|
+
import { isRedirect, redirect } from '@sveltejs/kit';
|
|
3
3
|
// ============================================================================
|
|
4
4
|
// ERROR HANDLING HOOK
|
|
5
5
|
// ============================================================================
|
|
@@ -73,6 +73,14 @@ export function createLoggerHook(config = {}) {
|
|
|
73
73
|
}
|
|
74
74
|
catch (err) {
|
|
75
75
|
error = err;
|
|
76
|
+
if (isRedirect(error)) {
|
|
77
|
+
return new Response(null, {
|
|
78
|
+
status: error.status,
|
|
79
|
+
headers: {
|
|
80
|
+
Location: error.location
|
|
81
|
+
}
|
|
82
|
+
});
|
|
83
|
+
}
|
|
76
84
|
throw err; // Re-throw to let SvelteKit handle it
|
|
77
85
|
}
|
|
78
86
|
finally {
|
|
@@ -106,6 +114,21 @@ export function createAuthHook(config = {}) {
|
|
|
106
114
|
const redirectPath = config.redirectPath || '/login';
|
|
107
115
|
const tokenKey = config.tokenKey || 'auth_token';
|
|
108
116
|
const authenticatedRedirect = config.authenticatedRedirect || '/dashboard';
|
|
117
|
+
const cookieDomainConfig = config.cookieDomain;
|
|
118
|
+
const cookieOptions = config.cookieOptions || {};
|
|
119
|
+
// Helper to resolve cookie domain dynamically
|
|
120
|
+
const resolveCookieDomain = (hostname) => {
|
|
121
|
+
if (typeof cookieDomainConfig === 'function') {
|
|
122
|
+
return cookieDomainConfig(hostname);
|
|
123
|
+
}
|
|
124
|
+
return cookieDomainConfig;
|
|
125
|
+
};
|
|
126
|
+
// Helper to get full cookie delete options
|
|
127
|
+
const getCookieDeleteOptions = (hostname) => ({
|
|
128
|
+
path: '/',
|
|
129
|
+
domain: resolveCookieDomain(hostname),
|
|
130
|
+
...cookieOptions
|
|
131
|
+
});
|
|
109
132
|
return async ({ event, resolve }) => {
|
|
110
133
|
const { url, cookies } = event;
|
|
111
134
|
const token = cookies.get(tokenKey);
|
|
@@ -113,19 +136,22 @@ export function createAuthHook(config = {}) {
|
|
|
113
136
|
if (token && ['/login', '/register'].includes(url.pathname)) {
|
|
114
137
|
// Verify token is not expired before redirecting
|
|
115
138
|
try {
|
|
116
|
-
const payload =
|
|
139
|
+
const payload = decodeJwtPayload(token);
|
|
117
140
|
const now = Math.floor(Date.now() / 1000);
|
|
118
141
|
if (!payload.exp || payload.exp >= now) {
|
|
119
142
|
logger.debug('Authenticated user accessing login/register, redirecting to dashboard', {
|
|
120
143
|
path: url.pathname,
|
|
121
144
|
redirectTo: authenticatedRedirect
|
|
122
145
|
});
|
|
123
|
-
|
|
146
|
+
const redirectTo = typeof authenticatedRedirect === 'function'
|
|
147
|
+
? authenticatedRedirect(payload)
|
|
148
|
+
: authenticatedRedirect;
|
|
149
|
+
throw redirect(302, redirectTo);
|
|
124
150
|
}
|
|
125
151
|
}
|
|
126
152
|
catch (error) {
|
|
127
153
|
// If token is invalid, clear it and continue to login/register
|
|
128
|
-
cookies.delete(tokenKey,
|
|
154
|
+
cookies.delete(tokenKey, getCookieDeleteOptions(url.hostname));
|
|
129
155
|
}
|
|
130
156
|
}
|
|
131
157
|
// Check if current path is public
|
|
@@ -160,7 +186,7 @@ export function createAuthHook(config = {}) {
|
|
|
160
186
|
if (config.validateExpiration !== false) {
|
|
161
187
|
try {
|
|
162
188
|
// Decode JWT without verification (just to check expiration)
|
|
163
|
-
const payload =
|
|
189
|
+
const payload = decodeJwtPayload(token);
|
|
164
190
|
const now = Math.floor(Date.now() / 1000);
|
|
165
191
|
if (payload.exp && payload.exp < now) {
|
|
166
192
|
logger.debug('Token expired, clearing and redirecting', {
|
|
@@ -168,8 +194,8 @@ export function createAuthHook(config = {}) {
|
|
|
168
194
|
expiredAt: new Date(payload.exp * 1000).toISOString(),
|
|
169
195
|
redirectTo: redirectPath
|
|
170
196
|
});
|
|
171
|
-
// Clear expired token
|
|
172
|
-
cookies.delete(tokenKey,
|
|
197
|
+
// Clear expired token with full cookie options
|
|
198
|
+
cookies.delete(tokenKey, getCookieDeleteOptions(url.hostname));
|
|
173
199
|
if (config.onAuthRequired) {
|
|
174
200
|
config.onAuthRequired();
|
|
175
201
|
}
|
|
@@ -198,10 +224,49 @@ export function createAuthHook(config = {}) {
|
|
|
198
224
|
};
|
|
199
225
|
}
|
|
200
226
|
// ============================================================================
|
|
227
|
+
// PROXY / FORWARDED HEADER HOOK
|
|
228
|
+
// ============================================================================
|
|
229
|
+
export function createProxyHeadersHook(config = {}) {
|
|
230
|
+
const trustForwardedHeaders = config.trustForwardedHeaders !== false;
|
|
231
|
+
const forwardedHostHeader = config.forwardedHostHeader || 'x-forwarded-host';
|
|
232
|
+
const forwardedProtoHeader = config.forwardedProtoHeader || 'x-forwarded-proto';
|
|
233
|
+
const overrideOrigin = config.overrideOrigin !== false;
|
|
234
|
+
return async ({ event, resolve }) => {
|
|
235
|
+
if (!trustForwardedHeaders) {
|
|
236
|
+
return resolve(event);
|
|
237
|
+
}
|
|
238
|
+
const forwardedHost = event.request.headers.get(forwardedHostHeader);
|
|
239
|
+
const forwardedProto = event.request.headers.get(forwardedProtoHeader);
|
|
240
|
+
if (!forwardedHost && !forwardedProto) {
|
|
241
|
+
return resolve(event);
|
|
242
|
+
}
|
|
243
|
+
const headers = new Headers(event.request.headers);
|
|
244
|
+
if (forwardedHost) {
|
|
245
|
+
headers.set('host', forwardedHost);
|
|
246
|
+
}
|
|
247
|
+
if (forwardedProto) {
|
|
248
|
+
const protocol = forwardedProto.split(',')[0].trim();
|
|
249
|
+
headers.set(forwardedProtoHeader, protocol);
|
|
250
|
+
if (forwardedHost) {
|
|
251
|
+
const origin = `${protocol}://${forwardedHost}`;
|
|
252
|
+
if (overrideOrigin || !headers.get('origin')) {
|
|
253
|
+
headers.set('origin', origin);
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
}
|
|
257
|
+
const newRequest = new Request(event.request, { headers });
|
|
258
|
+
return resolve({ ...event, request: newRequest });
|
|
259
|
+
};
|
|
260
|
+
}
|
|
261
|
+
// ============================================================================
|
|
201
262
|
// COMBINED HOOK HELPER
|
|
202
263
|
// ============================================================================
|
|
203
264
|
export function createSvelteKitHooks(config = {}) {
|
|
204
265
|
const hooks = [];
|
|
266
|
+
// Add proxy header hook first if configured
|
|
267
|
+
if (config.proxy) {
|
|
268
|
+
hooks.push(createProxyHeadersHook(config.proxy));
|
|
269
|
+
}
|
|
205
270
|
// Add logger hook if configured
|
|
206
271
|
if (config.logger !== null) {
|
|
207
272
|
hooks.push(createLoggerHook(config.logger));
|
|
@@ -218,4 +283,22 @@ export function createSvelteKitHooks(config = {}) {
|
|
|
218
283
|
function getUserDashboardPath() {
|
|
219
284
|
throw new Error('Function not implemented.');
|
|
220
285
|
}
|
|
286
|
+
function decodeJwtPayload(token) {
|
|
287
|
+
const payloadPart = token.split('.')[1];
|
|
288
|
+
if (!payloadPart) {
|
|
289
|
+
throw new Error('Invalid token format');
|
|
290
|
+
}
|
|
291
|
+
const normalized = payloadPart.replace(/-/g, '+').replace(/_/g, '/');
|
|
292
|
+
const padded = normalized + '='.repeat((4 - (normalized.length % 4)) % 4);
|
|
293
|
+
try {
|
|
294
|
+
if (typeof atob === 'function') {
|
|
295
|
+
return JSON.parse(atob(padded));
|
|
296
|
+
}
|
|
297
|
+
}
|
|
298
|
+
catch {
|
|
299
|
+
// Fallthrough to Buffer
|
|
300
|
+
}
|
|
301
|
+
const decoded = Buffer.from(padded, 'base64').toString('utf-8');
|
|
302
|
+
return JSON.parse(decoded);
|
|
303
|
+
}
|
|
221
304
|
//# sourceMappingURL=index.js.map
|
package/dist/hooks/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAuC,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAuC,MAAM,eAAe,CAAC;AAG1F,+EAA+E;AAC/E,sBAAsB;AACtB,+EAA+E;AAE/E,MAAM,UAAU,kBAAkB,CAAC,SAA6B,EAAE;IAC9D,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,YAAY,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,IAAI,eAAe,CAAC,CAAC;IAExF,OAAO,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAM,EAAE,EAAE;QAC7C,MAAM,YAAY,GAAG;YACjB,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,QAAQ;YACvB,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM;YAC5B,MAAM;YACN,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,SAAS;SAClE,CAAC;QAEF,IAAI,MAAM,CAAC,SAAS,KAAK,KAAK,EAAE,CAAC;YAC7B,MAAM,CAAC,KAAK,CAAC,kCAAkC,EAAE,KAAc,EAAE;gBAC7D,GAAG,YAAY;gBACf,OAAO;aACV,CAAC,CAAC;QACP,CAAC;QAED,wCAAwC;QACxC,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACjB,MAAM,CAAC,OAAO,CAAC,KAAc,EAAE,YAAY,CAAC,CAAC;QACjD,CAAC;QAED,qCAAqC;QACrC,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;YACjB,OAAO;gBACH,OAAO,EAAE,gBAAgB;aAC5B,CAAC;QACN,CAAC;QAED,IAAI,MAAM,IAAI,GAAG,EAAE,CAAC;YAChB,OAAO;gBACH,OAAO,EAAE,uBAAuB;aACnC,CAAC;QACN,CAAC;QAED,OAAO;YACH,OAAO,EAAE,OAAO,IAAI,mBAAmB;SAC1C,CAAC;IACN,CAAC,CAAC;AACN,CAAC;AAED,+EAA+E;AAC/E,cAAc;AACd,+EAA+E;AAE/E,MAAM,UAAU,gBAAgB,CAAC,SAA2B,EAAE;IAC1D,MAAM,MAAM,GAAG,YAAY,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,IAAI,gBAAgB,CAAC,CAAC;IACxE,MAAM,YAAY,GAAG,MAAM,CAAC,YAAY,IAAI,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC;IAE5E,OAAO,KAAK,EAAE,EAAE,KAAK,EAAE,OAAO,EAAM,EAAE,EAAE;QACpC,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;QAC/B,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAE7B,kCAAkC;QAClC,IAAI,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,QAAQ,KAAK,IAAI,CAAC,EAAE,CAAC;YACnD,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC;QAC1B,CAAC;QAED,uBAAuB;QACvB,IAAI,MAAM,CAAC,WAAW,KAAK,KAAK,EAAE,CAAC;YAC/B,MAAM,WAAW,GAA4B;gBACzC,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,GAAG,EAAE,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAC,MAAM;gBAC9B,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC;gBAC5C,EAAE,EAAE,KAAK,CAAC,gBAAgB,EAAE;aAC/B,CAAC;YAEF,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC;gBACxB,WAAW,CAAC,OAAO,GAAG,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;YACxE,CAAC;YAED,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,WAAW,CAAC,CAAC;QACjD,CAAC;QAED,kBAAkB;QAClB,IAAI,QAAQ,GAAyB,SAAS,CAAC;QAC/C,IAAI,KAAK,GAAiB,IAAI,CAAC;QAE/B,IAAI,CAAC;YACD,QAAQ,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,CAAC;QACpC,CAAC;QAAC,OAAO,GAAO,EAAE,CAAC;YACf,KAAK,GAAG,GAAY,CAAC;YAErB,IAAI,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;gBACpB,OAAO,IAAI,QAAQ,CAAC,IAAI,EAAE;oBACtB,MAAM,EAAE,KAAK,CAAC,MAAM;oBACpB,OAAO,EAAE;wBACL,QAAQ,EAAE,KAAK,CAAC,QAAQ;qBAC3B;iBACJ,CAAC,CAAC;YACP,CAAC;YAED,MAAM,GAAG,CAAC,CAAC,sCAAsC;QACrD,CAAC;gBAAS,CAAC;YACP,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;YAExC,eAAe;YACf,IAAI,MAAM,CAAC,YAAY,KAAK,KAAK,EAAE,CAAC;gBAChC,MAAM,YAAY,GAA4B;oBAC1C,MAAM,EAAE,OAAO,CAAC,MAAM;oBACtB,GAAG,EAAE,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAC,MAAM;oBAC9B,MAAM,EAAE,QAAQ,EAAE,MAAM;oBACxB,QAAQ;oBACR,KAAK,EAAE,KAAK,EAAE,OAAO;iBACxB,CAAC;gBAEF,IAAI,KAAK,EAAE,CAAC;oBACR,MAAM,CAAC,KAAK,CAAC,gBAAgB,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC;gBACxD,CAAC;qBAAM,CAAC;oBACJ,MAAM,CAAC,IAAI,CAAC,mBAAmB,EAAE,YAAY,CAAC,CAAC;gBACnD,CAAC;YACL,CAAC;QACL,CAAC;QAED,OAAO,QAAS,CAAC;IACrB,CAAC,CAAC;AACN,CAAC;AAED,+EAA+E;AAC/E,YAAY;AACZ,+EAA+E;AAE/E,MAAM,UAAU,cAAc,CAAC,SAAyB,EAAE;IACtD,MAAM,MAAM,GAAG,YAAY,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IACjD,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,IAAI,CAAC,QAAQ,EAAE,WAAW,EAAE,GAAG,CAAC,CAAC;IACvE,MAAM,YAAY,GAAG,MAAM,CAAC,YAAY,IAAI,QAAQ,CAAC;IACrD,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,YAAY,CAAC;IACjD,MAAM,qBAAqB,GAAG,MAAM,CAAC,qBAAqB,IAAI,YAAY,CAAC;IAC3E,MAAM,kBAAkB,GAAG,MAAM,CAAC,YAAY,CAAC;IAC/C,MAAM,aAAa,GAAG,MAAM,CAAC,aAAa,IAAI,EAAE,CAAC;IAEjD,8CAA8C;IAC9C,MAAM,mBAAmB,GAAG,CAAC,QAAgB,EAAsB,EAAE;QACjE,IAAI,OAAO,kBAAkB,KAAK,UAAU,EAAE,CAAC;YAC3C,OAAO,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QACxC,CAAC;QACD,OAAO,kBAAkB,CAAC;IAC9B,CAAC,CAAC;IAEF,2CAA2C;IAC3C,MAAM,sBAAsB,GAAG,CAAC,QAAgB,EAAE,EAAE,CAAC,CAAC;QAClD,IAAI,EAAE,GAAG;QACT,MAAM,EAAE,mBAAmB,CAAC,QAAQ,CAAC;QACrC,GAAG,aAAa;KACnB,CAAC,CAAC;IAEH,OAAO,KAAK,EAAE,EAAE,KAAK,EAAE,OAAO,EAAM,EAAE,EAAE;QACpC,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;QAC/B,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAEpC,qEAAqE;QACrE,IAAI,KAAK,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC1D,iDAAiD;YACjD,IAAI,CAAC;gBACD,MAAM,OAAO,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;gBACxC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;gBAE1C,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,IAAI,GAAG,EAAE,CAAC;oBACrC,MAAM,CAAC,KAAK,CAAC,uEAAuE,EAAE;wBAClF,IAAI,EAAE,GAAG,CAAC,QAAQ;wBAClB,UAAU,EAAE,qBAAqB;qBACpC,CAAC,CAAC;oBACH,MAAM,UAAU,GAAG,OAAO,qBAAqB,KAAK,UAAU;wBAC1D,CAAC,CAAC,qBAAqB,CAAC,OAAO,CAAC;wBAChC,CAAC,CAAC,qBAAqB,CAAC;oBAC5B,MAAM,QAAQ,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;gBACpC,CAAC;YACL,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,+DAA+D;gBAC/D,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,sBAAsB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;YACnE,CAAC;QACL,CAAC;QAED,kCAAkC;QAClC,MAAM,YAAY,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YACzC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBACrB,OAAO,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YACtD,CAAC;YACD,OAAO,GAAG,CAAC,QAAQ,KAAK,IAAI,CAAC;QACjC,CAAC,CAAC,CAAC;QAEH,mCAAmC;QACnC,IAAI,YAAY,EAAE,CAAC;YACf,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC;QAC1B,CAAC;QAED,+CAA+C;QAC/C,IAAI,CAAC,KAAK,EAAE,CAAC;YACT,MAAM,CAAC,KAAK,CAAC,2CAA2C,EAAE;gBACtD,IAAI,EAAE,GAAG,CAAC,QAAQ;gBAClB,UAAU,EAAE,YAAY;aAC3B,CAAC,CAAC;YAEH,gDAAgD;YAChD,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC;gBACxB,MAAM,CAAC,cAAc,EAAE,CAAC;YAC5B,CAAC;YAED,iDAAiD;YACjD,MAAM,WAAW,GAAG,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC;YAC9C,MAAM,QAAQ,GAAG,WAAW,KAAK,YAAY,IAAI,WAAW,KAAK,GAAG;gBAChE,CAAC,CAAC,GAAG,YAAY,aAAa,kBAAkB,CAAC,WAAW,CAAC,EAAE;gBAC/D,CAAC,CAAC,YAAY,CAAC;YAEnB,MAAM,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QAClC,CAAC;QAED,yDAAyD;QACzD,IAAI,MAAM,CAAC,kBAAkB,KAAK,KAAK,EAAE,CAAC;YACtC,IAAI,CAAC;gBACD,6DAA6D;gBAC7D,MAAM,OAAO,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;gBACxC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;gBAE1C,IAAI,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC;oBACnC,MAAM,CAAC,KAAK,CAAC,yCAAyC,EAAE;wBACpD,IAAI,EAAE,GAAG,CAAC,QAAQ;wBAClB,SAAS,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC,WAAW,EAAE;wBACrD,UAAU,EAAE,YAAY;qBAC3B,CAAC,CAAC;oBAEH,+CAA+C;oBAC/C,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,sBAAsB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;oBAE/D,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC;wBACxB,MAAM,CAAC,cAAc,EAAE,CAAC;oBAC5B,CAAC;oBAED,iDAAiD;oBACjD,MAAM,WAAW,GAAG,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC;oBAC9C,MAAM,QAAQ,GAAG,WAAW,KAAK,YAAY,IAAI,WAAW,KAAK,GAAG;wBAChE,CAAC,CAAC,GAAG,YAAY,aAAa,kBAAkB,CAAC,WAAW,CAAC,EAAE;wBAC/D,CAAC,CAAC,YAAY,CAAC;oBAEnB,MAAM,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;gBAClC,CAAC;YACL,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,MAAM,CAAC,IAAI,CAAC,2CAA2C,EAAE;oBACrD,IAAI,EAAE,GAAG,CAAC,QAAQ;oBAClB,KAAK,EAAG,KAAe,CAAC,OAAO;iBAClC,CAAC,CAAC;YACP,CAAC;QACL,CAAC;QAED,kDAAkD;QAClD,KAAK,CAAC,MAAM,CAAC,SAAS,GAAG,KAAK,CAAC;QAE/B,MAAM,CAAC,KAAK,CAAC,wCAAwC,EAAE;YACnD,IAAI,EAAE,GAAG,CAAC,QAAQ;YAClB,QAAQ,EAAE,CAAC,CAAC,KAAK;SACpB,CAAC,CAAC;QAEH,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC,CAAC;AACN,CAAC;AAED,+EAA+E;AAC/E,gCAAgC;AAChC,+EAA+E;AAE/E,MAAM,UAAU,sBAAsB,CAAC,SAA0B,EAAE;IAC/D,MAAM,qBAAqB,GAAG,MAAM,CAAC,qBAAqB,KAAK,KAAK,CAAC;IACrE,MAAM,mBAAmB,GAAG,MAAM,CAAC,mBAAmB,IAAI,kBAAkB,CAAC;IAC7E,MAAM,oBAAoB,GAAG,MAAM,CAAC,oBAAoB,IAAI,mBAAmB,CAAC;IAChF,MAAM,cAAc,GAAG,MAAM,CAAC,cAAc,KAAK,KAAK,CAAC;IAEvD,OAAO,KAAK,EAAE,EAAE,KAAK,EAAE,OAAO,EAAO,EAAE,EAAE;QACrC,IAAI,CAAC,qBAAqB,EAAE,CAAC;YACzB,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC;QAC1B,CAAC;QAED,MAAM,aAAa,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;QACrE,MAAM,cAAc,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;QAEvE,IAAI,CAAC,aAAa,IAAI,CAAC,cAAc,EAAE,CAAC;YACpC,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC;QAC1B,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAEnD,IAAI,aAAa,EAAE,CAAC;YAChB,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;QACvC,CAAC;QAED,IAAI,cAAc,EAAE,CAAC;YACjB,MAAM,QAAQ,GAAG,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YACrD,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,QAAQ,CAAC,CAAC;YAE5C,IAAI,aAAa,EAAE,CAAC;gBAChB,MAAM,MAAM,GAAG,GAAG,QAAQ,MAAM,aAAa,EAAE,CAAC;gBAChD,IAAI,cAAc,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAC3C,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;gBAClC,CAAC;YACL,CAAC;QACL,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;QAC3D,OAAO,OAAO,CAAC,EAAE,GAAG,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,CAAC;IACtD,CAAC,CAAC;AACN,CAAC;AAED,+EAA+E;AAC/E,uBAAuB;AACvB,+EAA+E;AAE/E,MAAM,UAAU,oBAAoB,CAAC,SAKjC,EAAE;IACF,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,4CAA4C;IAC5C,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IACrD,CAAC;IAED,gCAAgC;IAChC,IAAI,MAAM,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;QACzB,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;IAChD,CAAC;IAED,8BAA8B;IAC9B,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;QACd,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IAC5C,CAAC;IAED,OAAO;QACH,KAAK;QACL,WAAW,EAAE,kBAAkB,CAAC,MAAM,CAAC,YAAY,CAAC;KACvD,CAAC;AACN,CAAC;AAED,SAAS,oBAAoB;IACzB,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;AACjD,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAa;IACnC,MAAM,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACxC,IAAI,CAAC,WAAW,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC5C,CAAC;IAED,MAAM,UAAU,GAAG,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACrE,MAAM,MAAM,GAAG,UAAU,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAE1E,IAAI,CAAC;QACD,IAAI,OAAO,IAAI,KAAK,UAAU,EAAE,CAAC;YAC7B,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QACpC,CAAC;IACL,CAAC;IAAC,MAAM,CAAC;QACL,wBAAwB;IAC5B,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAChE,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AAC/B,CAAC"}
|
package/dist/index.d.ts
CHANGED
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,cAAc,mBAAmB,CAAC;AAGlC,cAAc,kBAAkB,CAAC;AAGjC,cAAc,oBAAoB,CAAC;AAGnC,cAAc,sBAAsB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,cAAc,mBAAmB,CAAC;AAGlC,cAAc,kBAAkB,CAAC;AAGjC,cAAc,oBAAoB,CAAC;AAGnC,cAAc,sBAAsB,CAAC;AAGrC,cAAc,oBAAoB,CAAC"}
|
package/dist/index.js
CHANGED
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,0CAA0C;AAE1C,iCAAiC;AACjC,cAAc,mBAAmB,CAAC;AAElC,gCAAgC;AAChC,cAAc,kBAAkB,CAAC;AAEjC,2BAA2B;AAC3B,cAAc,oBAAoB,CAAC;AAEnC,6BAA6B;AAC7B,cAAc,sBAAsB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,0CAA0C;AAE1C,iCAAiC;AACjC,cAAc,mBAAmB,CAAC;AAElC,gCAAgC;AAChC,cAAc,kBAAkB,CAAC;AAEjC,2BAA2B;AAC3B,cAAc,oBAAoB,CAAC;AAEnC,6BAA6B;AAC7B,cAAc,sBAAsB,CAAC;AAErC,6BAA6B;AAC7B,cAAc,oBAAoB,CAAC"}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -8,8 +8,14 @@ export interface ApiClientConfig {
|
|
|
8
8
|
export interface ApiResponse<T = unknown> {
|
|
9
9
|
success: boolean;
|
|
10
10
|
data?: T;
|
|
11
|
-
error?: string;
|
|
11
|
+
error?: string | ApiError;
|
|
12
12
|
message?: string;
|
|
13
|
+
status?: number;
|
|
14
|
+
raw?: string;
|
|
15
|
+
}
|
|
16
|
+
export interface ApiError {
|
|
17
|
+
message: string;
|
|
18
|
+
[key: string]: unknown;
|
|
13
19
|
}
|
|
14
20
|
export interface AuthResponse {
|
|
15
21
|
user: Record<string, unknown>;
|
|
@@ -42,10 +48,26 @@ export interface LoggerHookConfig {
|
|
|
42
48
|
export interface AuthHookConfig {
|
|
43
49
|
tokenKey?: string;
|
|
44
50
|
redirectPath?: string;
|
|
45
|
-
authenticatedRedirect?: string;
|
|
51
|
+
authenticatedRedirect?: string | ((payload: Record<string, unknown>) => string);
|
|
46
52
|
publicPaths?: string[];
|
|
47
53
|
onAuthRequired?: () => void;
|
|
48
54
|
validateExpiration?: boolean;
|
|
55
|
+
cookieDomain?: string | ((hostname: string) => string | undefined);
|
|
56
|
+
/**
|
|
57
|
+
* Cookie options for deletion - must match how the cookie was created.
|
|
58
|
+
* If not provided, only path and domain will be used.
|
|
59
|
+
*/
|
|
60
|
+
cookieOptions?: {
|
|
61
|
+
httpOnly?: boolean;
|
|
62
|
+
secure?: boolean;
|
|
63
|
+
sameSite?: 'strict' | 'lax' | 'none';
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
export interface ProxyHookConfig {
|
|
67
|
+
trustForwardedHeaders?: boolean;
|
|
68
|
+
forwardedHostHeader?: string;
|
|
69
|
+
forwardedProtoHeader?: string;
|
|
70
|
+
overrideOrigin?: boolean;
|
|
49
71
|
}
|
|
50
72
|
export interface AuthStore {
|
|
51
73
|
isAuthenticated: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAMlD,MAAM,WAAW,eAAe;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC3C;AAED,MAAM,WAAW,WAAW,CAAC,CAAC,GAAG,OAAO;IACpC,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,CAAC,CAAC;IACT,KAAK,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED