@faiber/sdk-core 0.1.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/README.md +3 -0
- package/dist/.tsbuildinfo +1 -0
- package/dist/auth.d.ts +21 -0
- package/dist/auth.d.ts.map +1 -0
- package/dist/auth.js +33 -0
- package/dist/auth.js.map +1 -0
- package/dist/client.d.ts +17 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +65 -0
- package/dist/client.js.map +1 -0
- package/dist/env.d.ts +5 -0
- package/dist/env.d.ts.map +1 -0
- package/dist/env.js +17 -0
- package/dist/env.js.map +1 -0
- package/dist/index.d.ts +9 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +8 -0
- package/dist/index.js.map +1 -0
- package/dist/openapi.d.ts +33 -0
- package/dist/openapi.d.ts.map +1 -0
- package/dist/openapi.js +68 -0
- package/dist/openapi.js.map +1 -0
- package/dist/resource.d.ts +21 -0
- package/dist/resource.d.ts.map +1 -0
- package/dist/resource.js +39 -0
- package/dist/resource.js.map +1 -0
- package/dist/types.d.ts +122 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +15 -0
- package/dist/types.js.map +1 -0
- package/package.json +6 -0
package/README.md
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"fileNames":["../../../node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/typescript/lib/lib.es2021.d.ts","../../../node_modules/typescript/lib/lib.es2022.d.ts","../../../node_modules/typescript/lib/lib.dom.d.ts","../../../node_modules/typescript/lib/lib.dom.iterable.d.ts","../../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/typescript/lib/lib.es2016.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../../../node_modules/typescript/lib/lib.es2017.date.d.ts","../../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/typescript/lib/lib.es2021.promise.d.ts","../../../node_modules/typescript/lib/lib.es2021.string.d.ts","../../../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../node_modules/typescript/lib/lib.es2021.intl.d.ts","../../../node_modules/typescript/lib/lib.es2022.array.d.ts","../../../node_modules/typescript/lib/lib.es2022.error.d.ts","../../../node_modules/typescript/lib/lib.es2022.intl.d.ts","../../../node_modules/typescript/lib/lib.es2022.object.d.ts","../../../node_modules/typescript/lib/lib.es2022.string.d.ts","../../../node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../../node_modules/typescript/lib/lib.decorators.d.ts","../../../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../../node_modules/axios/index.d.ts","../src/types.ts","../src/auth.ts","../src/env.ts","../src/client.ts","../src/resource.ts","../src/openapi.ts","../src/index.ts"],"fileIdsList":[[61],[60,61,62,63],[60,61,62,63,64,65,66],[60,61,64],[60]],"fileInfos":[{"version":"c430d44666289dae81f30fa7b2edebf186ecc91a2d4c71266ea6ae76388792e1","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"e44bb8bbac7f10ecc786703fe0a6a4b952189f908707980ba8f3c8975a760962","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","impliedFormat":1},{"version":"ee7bad0c15b58988daa84371e0b89d313b762ab83cb5b31b8a2d1162e8eb41c2","impliedFormat":1},{"version":"080941d9f9ff9307f7e27a83bcd888b7c8270716c39af943532438932ec1d0b9","affectsGlobalScope":true,"impliedFormat":1},{"version":"2e80ee7a49e8ac312cc11b77f1475804bee36b3b2bc896bead8b6e1266befb43","affectsGlobalScope":true,"impliedFormat":1},{"version":"c57796738e7f83dbc4b8e65132f11a377649c00dd3eee333f672b8f0a6bea671","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"0559b1f683ac7505ae451f9a96ce4c3c92bdc71411651ca6ddb0e88baaaad6a3","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"fb0f136d372979348d59b3f5020b4cdb81b5504192b1cacff5d1fbba29378aa1","affectsGlobalScope":true,"impliedFormat":1},{"version":"d15bea3d62cbbdb9797079416b8ac375ae99162a7fba5de2c6c505446486ac0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"68d18b664c9d32a7336a70235958b8997ebc1c3b8505f4f1ae2b7e7753b87618","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb3d66c8327153d8fa7dd03f9c58d351107fe824c79e9b56b462935176cdf12a","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"69ab18c3b76cd9b1be3d188eaf8bba06112ebbe2f47f6c322b5105a6fbc45a2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"a680117f487a4d2f30ea46f1b4b7f58bef1480456e18ba53ee85c2746eeca012","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"954296b30da6d508a104a3a0b5d96b76495c709785c1d11610908e63481ee667","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac9538681b19688c8eae65811b329d3744af679e0bdfa5d842d0e32524c73e1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a969edff4bd52585473d24995c5ef223f6652d6ef46193309b3921d65dd4376","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"d6d7ae4d1f1f3772e2a3cde568ed08991a8ae34a080ff1151af28b7f798e22ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"52ada8e0b6e0482b728070b7639ee42e83a9b1c22d205992756fe020fd9f4a47","affectsGlobalScope":true,"impliedFormat":1},{"version":"3bdefe1bfd4d6dee0e26f928f93ccc128f1b64d5d501ff4a8cf3c6371200e5e6","affectsGlobalScope":true,"impliedFormat":1},{"version":"59fb2c069260b4ba00b5643b907ef5d5341b167e7d1dbf58dfd895658bda2867","affectsGlobalScope":true,"impliedFormat":1},{"version":"639e512c0dfc3fad96a84caad71b8834d66329a1f28dc95e3946c9b58176c73a","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true,"impliedFormat":1},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true,"impliedFormat":1},{"version":"959d36cddf5e7d572a65045b876f2956c973a586da58e5d26cde519184fd9b8a","affectsGlobalScope":true,"impliedFormat":1},{"version":"965f36eae237dd74e6cca203a43e9ca801ce38824ead814728a2807b1910117d","affectsGlobalScope":true,"impliedFormat":1},{"version":"3925a6c820dcb1a06506c90b1577db1fdbf7705d65b62b99dce4be75c637e26b","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a3d63ef2b853447ec4f749d3f368ce642264246e02911fcb1590d8c161b8005","affectsGlobalScope":true,"impliedFormat":1},{"version":"8cdf8847677ac7d20486e54dd3fcf09eda95812ac8ace44b4418da1bbbab6eb8","affectsGlobalScope":true,"impliedFormat":1},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true,"impliedFormat":1},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true,"impliedFormat":1},{"version":"b4b67b1a91182421f5df999988c690f14d813b9850b40acd06ed44691f6727ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e7f8264d0fb4c5339605a15daadb037bf238c10b654bb3eee14208f860a32ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"2343ec253c90c370449755739733f5f429f58cffdb51a50977bb4a042012fa8f","impliedFormat":99},{"version":"7f070a98c219059f69680428f15532e99d8482702fef2654070d9e2525b28d66","signature":"138724776c2b7fdf331300e22dfdfb8890d0400164f4996c02062e4e5d117927","impliedFormat":99},{"version":"7c7f1d5e69fb194b4edbe21e3ee034f6bb1c642281f59aecc4a8c8864ba59b45","signature":"ed17ed1b2bcf384c88bc6cec6b427989b98db99fc7ad35a50605501a463bbc53","impliedFormat":99},{"version":"725814856d7bd15d83cc468ee128cad9056827700c2f88947cb372ea220f6452","signature":"b66481e67da6f0555bffad4132fc0648b59ee621fed61c194952c74eb68ab8ce","impliedFormat":99},{"version":"e520807cd1f3992c1c2c8f1d1b6ce4f3a882d50bdcb6788265bb5fe69838e5d0","signature":"82bf4efcca8ab8764a91ac126c0af605ab6717ee94b2316461b5fa388b27e165","impliedFormat":99},{"version":"bdc98e6ae19794c38df445b37a039e4838d6e0bdcc7d6c1b5858731958f75e3b","signature":"b060635c1b555ff21aa5bab5b038e15d67700d6bec6738323a443715931589f1","impliedFormat":99},{"version":"5c3d2d8e60eda0e19a3da16d51e0f7d4eda33bff2d34d33259e930311b772131","signature":"c087a6e63b4a0552d926053311a3b4289189fa165be4e0adcbf18905805a2125","impliedFormat":99},{"version":"66a0cb4d019dd780c2fb5c2942778929ec55715bb5a0f3b80aac4c0b92e35d16","impliedFormat":99}],"root":[[61,67]],"options":{"composite":true,"declaration":true,"declarationMap":true,"exactOptionalPropertyTypes":true,"module":199,"noUncheckedIndexedAccess":true,"outDir":"./","rootDir":"../src","skipLibCheck":true,"sourceMap":true,"strict":true,"target":9,"tsBuildInfoFile":"./.tsbuildinfo","verbatimModuleSyntax":true},"referencedMap":[[62,1],[64,2],[63,1],[67,3],[66,4],[65,4],[61,5]],"semanticDiagnosticsPerFile":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67],"latestChangedDtsFile":"./index.d.ts","version":"5.9.3"}
|
package/dist/auth.d.ts
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { TokenProvider, TokenSet } from "./types.js";
|
|
2
|
+
export declare class MemoryTokenProvider implements TokenProvider {
|
|
3
|
+
#private;
|
|
4
|
+
constructor(initial?: TokenSet | null);
|
|
5
|
+
getTokens(): TokenSet | null;
|
|
6
|
+
setTokens(tokens: TokenSet | null): void;
|
|
7
|
+
}
|
|
8
|
+
export interface StorageLike {
|
|
9
|
+
getItem(key: string): string | null;
|
|
10
|
+
setItem(key: string, value: string): void;
|
|
11
|
+
removeItem(key: string): void;
|
|
12
|
+
}
|
|
13
|
+
export declare class StorageTokenProvider implements TokenProvider {
|
|
14
|
+
private storage;
|
|
15
|
+
private key;
|
|
16
|
+
constructor(storage: StorageLike, key?: string);
|
|
17
|
+
getTokens(): TokenSet | null;
|
|
18
|
+
setTokens(tokens: TokenSet | null): void;
|
|
19
|
+
}
|
|
20
|
+
export declare function bearerAuthorization(tokens: TokenSet | null): string | null;
|
|
21
|
+
//# sourceMappingURL=auth.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC1D,qBAAa,mBAAoB,YAAW,aAAa;;gBAEzC,OAAO,GAAE,QAAQ,GAAG,IAAW;IAC3C,SAAS;IACT,SAAS,CAAC,MAAM,EAAE,QAAQ,GAAG,IAAI;CACpC;AACD,MAAM,WAAW,WAAW;IACxB,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IACpC,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1C,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;CACjC;AACD,qBAAa,oBAAqB,YAAW,aAAa;IAC1C,OAAO,CAAC,OAAO;IAAe,OAAO,CAAC,GAAG;gBAAjC,OAAO,EAAE,WAAW,EAAU,GAAG,SAAgB;IACrE,SAAS,IAAI,QAAQ,GAAG,IAAI;IAW5B,SAAS,CAAC,MAAM,EAAE,QAAQ,GAAG,IAAI;CAMpC;AACD,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,QAAQ,GAAG,IAAI,iBAAkG"}
|
package/dist/auth.js
ADDED
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
export class MemoryTokenProvider {
|
|
2
|
+
#tokens;
|
|
3
|
+
constructor(initial = null) { this.#tokens = initial; }
|
|
4
|
+
getTokens() { return this.#tokens; }
|
|
5
|
+
setTokens(tokens) { this.#tokens = tokens; }
|
|
6
|
+
}
|
|
7
|
+
export class StorageTokenProvider {
|
|
8
|
+
storage;
|
|
9
|
+
key;
|
|
10
|
+
constructor(storage, key = "faiber.auth") {
|
|
11
|
+
this.storage = storage;
|
|
12
|
+
this.key = key;
|
|
13
|
+
}
|
|
14
|
+
getTokens() {
|
|
15
|
+
const value = this.storage.getItem(this.key);
|
|
16
|
+
if (!value)
|
|
17
|
+
return null;
|
|
18
|
+
try {
|
|
19
|
+
return JSON.parse(value);
|
|
20
|
+
}
|
|
21
|
+
catch {
|
|
22
|
+
return null;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
setTokens(tokens) {
|
|
26
|
+
if (tokens)
|
|
27
|
+
this.storage.setItem(this.key, JSON.stringify(tokens));
|
|
28
|
+
else
|
|
29
|
+
this.storage.removeItem(this.key);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
export function bearerAuthorization(tokens) { return tokens?.accessToken ? `${tokens.tokenType ?? "Bearer"} ${tokens.accessToken}` : null; }
|
|
33
|
+
//# sourceMappingURL=auth.js.map
|
package/dist/auth.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AACA,MAAM,OAAO,mBAAmB;IAC5B,OAAO,CAAkB;IACzB,YAAY,UAA2B,IAAI,IAAI,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC;IACxE,SAAS,KAAK,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IACpC,SAAS,CAAC,MAAuB,IAAI,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC;CAChE;AAMD,MAAM,OAAO,oBAAoB;IACT;IAA8B;IAAlD,YAAoB,OAAoB,EAAU,MAAM,aAAa;QAAjD,YAAO,GAAP,OAAO,CAAa;QAAU,QAAG,GAAH,GAAG,CAAgB;IAAI,CAAC;IAC1E,SAAS;QACL,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC7C,IAAI,CAAC,KAAK;YACN,OAAO,IAAI,CAAC;QAChB,IAAI,CAAC;YACD,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAa,CAAC;QACzC,CAAC;QACD,MAAM,CAAC;YACH,OAAO,IAAI,CAAC;QAChB,CAAC;IACL,CAAC;IACD,SAAS,CAAC,MAAuB;QAC7B,IAAI,MAAM;YACN,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;;YAEvD,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC1C,CAAC;CACJ;AACD,MAAM,UAAU,mBAAmB,CAAC,MAAuB,IAAI,OAAO,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,SAAS,IAAI,QAAQ,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC"}
|
package/dist/client.d.ts
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { type AxiosInstance, type AxiosRequestConfig, type AxiosResponse } from "axios";
|
|
2
|
+
import type { FaiberSdkConfig, JsonObject, QueryParams, RequestOptions, ServiceName } from "./types.js";
|
|
3
|
+
export declare class FaiberClient {
|
|
4
|
+
readonly service: ServiceName;
|
|
5
|
+
readonly config: FaiberSdkConfig;
|
|
6
|
+
readonly axios: AxiosInstance;
|
|
7
|
+
private readonly refreshAxios;
|
|
8
|
+
private refreshPromise;
|
|
9
|
+
constructor(service: ServiceName, config: FaiberSdkConfig);
|
|
10
|
+
request<T = unknown, D = unknown>(config: AxiosRequestConfig<D>): Promise<AxiosResponse<T, D>>;
|
|
11
|
+
get<T = unknown>(url: string, params?: QueryParams, options?: RequestOptions): Promise<AxiosResponse<T>>;
|
|
12
|
+
delete<T = unknown>(url: string, options?: RequestOptions): Promise<AxiosResponse<T>>;
|
|
13
|
+
post<T = unknown, D = JsonObject>(url: string, data?: D, options?: RequestOptions<D>): Promise<AxiosResponse<T, D>>;
|
|
14
|
+
put<T = unknown, D = JsonObject>(url: string, data?: D, options?: RequestOptions<D>): Promise<AxiosResponse<T, D>>;
|
|
15
|
+
patch<T = unknown, D = JsonObject>(url: string, data?: D, options?: RequestOptions<D>): Promise<AxiosResponse<T, D>>;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAc,EAA4B,KAAK,aAAa,EAAE,KAAK,kBAAkB,EAAE,KAAK,aAAa,EAAwB,MAAM,OAAO,CAAC;AAG/I,OAAO,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,WAAW,EAAE,cAAc,EAAE,WAAW,EAAY,MAAM,YAAY,CAAC;AAElH,qBAAa,YAAY;IAIT,QAAQ,CAAC,OAAO,EAAE,WAAW;IAAE,QAAQ,CAAC,MAAM,EAAE,eAAe;IAH3E,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC;IAC9B,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAgB;IAC7C,OAAO,CAAC,cAAc,CAAyC;gBAC1C,OAAO,EAAE,WAAW,EAAW,MAAM,EAAE,eAAe;IA+C3E,OAAO,CAAC,CAAC,GAAG,OAAO,EAAE,CAAC,GAAG,OAAO,EAAE,MAAM,EAAE,kBAAkB,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC9F,GAAG,CAAC,CAAC,GAAG,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;IACxG,MAAM,CAAC,CAAC,GAAG,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;IACrF,IAAI,CAAC,CAAC,GAAG,OAAO,EAAE,CAAC,GAAG,UAAU,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACnH,GAAG,CAAC,CAAC,GAAG,OAAO,EAAE,CAAC,GAAG,UAAU,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAClH,KAAK,CAAC,CAAC,GAAG,OAAO,EAAE,CAAC,GAAG,UAAU,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;CACvH"}
|
package/dist/client.js
ADDED
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import axios, { AxiosError, AxiosHeaders } from "axios";
|
|
2
|
+
import { bearerAuthorization } from "./auth.js";
|
|
3
|
+
import { domainFor } from "./env.js";
|
|
4
|
+
const RETRY = "__faiberAuthRetry";
|
|
5
|
+
export class FaiberClient {
|
|
6
|
+
service;
|
|
7
|
+
config;
|
|
8
|
+
axios;
|
|
9
|
+
refreshAxios;
|
|
10
|
+
refreshPromise = null;
|
|
11
|
+
constructor(service, config) {
|
|
12
|
+
this.service = service;
|
|
13
|
+
this.config = config;
|
|
14
|
+
const serviceOptions = config.serviceOptions?.[service];
|
|
15
|
+
const defaults = { allowAbsoluteUrls: false, ...config.axios, ...serviceOptions?.axios, baseURL: domainFor(config.domains, service, config.defaultDomain), headers: { ...config.axios?.headers, ...serviceOptions?.axios?.headers, ...serviceOptions?.headers } };
|
|
16
|
+
this.axios = config.createAxios?.(defaults, service) ?? axios.create(defaults);
|
|
17
|
+
this.refreshAxios = axios.create(defaults);
|
|
18
|
+
this.axios.interceptors.request.use(async (request) => {
|
|
19
|
+
const tokens = await config.tokenProvider?.getTokens() ?? null;
|
|
20
|
+
const authorization = config.getAuthorization ? await config.getAuthorization({ service, request, tokens }) : bearerAuthorization(tokens);
|
|
21
|
+
if (authorization && !request.headers.has("Authorization"))
|
|
22
|
+
request.headers.set("Authorization", authorization);
|
|
23
|
+
return request;
|
|
24
|
+
});
|
|
25
|
+
if (config.refreshAuth)
|
|
26
|
+
this.axios.interceptors.response.use(undefined, async (error) => {
|
|
27
|
+
const request = error.config;
|
|
28
|
+
const shouldRefresh = config.shouldRefreshAuth?.(error) ?? error.response?.status === 401;
|
|
29
|
+
if (!request || request[RETRY] || !shouldRefresh)
|
|
30
|
+
throw error;
|
|
31
|
+
request[RETRY] = true;
|
|
32
|
+
try {
|
|
33
|
+
const storedTokens = await config.tokenProvider?.getTokens() ?? null;
|
|
34
|
+
const currentAuthorization = config.getAuthorization ? await config.getAuthorization({ service, request, tokens: storedTokens }) : bearerAuthorization(storedTokens);
|
|
35
|
+
const failedHeaders = AxiosHeaders.from(request.headers);
|
|
36
|
+
if (currentAuthorization && failedHeaders.get("Authorization") !== currentAuthorization) {
|
|
37
|
+
failedHeaders.delete("Authorization");
|
|
38
|
+
request.headers = failedHeaders;
|
|
39
|
+
return this.axios.request(request);
|
|
40
|
+
}
|
|
41
|
+
this.refreshPromise ??= Promise.resolve(config.refreshAuth({ service, client: this.refreshAxios, tokens: storedTokens })).finally(() => { this.refreshPromise = null; });
|
|
42
|
+
const tokens = await this.refreshPromise;
|
|
43
|
+
await config.tokenProvider?.setTokens(tokens);
|
|
44
|
+
if (!tokens)
|
|
45
|
+
throw error;
|
|
46
|
+
const headers = AxiosHeaders.from(request.headers);
|
|
47
|
+
headers.delete("Authorization");
|
|
48
|
+
request.headers = headers;
|
|
49
|
+
return this.axios.request(request);
|
|
50
|
+
}
|
|
51
|
+
catch (refreshError) {
|
|
52
|
+
await config.tokenProvider?.setTokens(null);
|
|
53
|
+
await config.onAuthFailure?.(refreshError);
|
|
54
|
+
throw refreshError;
|
|
55
|
+
}
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
request(config) { return this.axios.request(config); }
|
|
59
|
+
get(url, params, options) { return this.request({ ...options, method: "GET", url, params }); }
|
|
60
|
+
delete(url, options) { return this.request({ ...options, method: "DELETE", url }); }
|
|
61
|
+
post(url, data, options) { return this.request({ ...options, method: "POST", url, ...(data === undefined ? {} : { data }) }); }
|
|
62
|
+
put(url, data, options) { return this.request({ ...options, method: "PUT", url, ...(data === undefined ? {} : { data }) }); }
|
|
63
|
+
patch(url, data, options) { return this.request({ ...options, method: "PATCH", url, ...(data === undefined ? {} : { data }) }); }
|
|
64
|
+
}
|
|
65
|
+
//# sourceMappingURL=client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
package/dist/env.d.ts
ADDED
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { type ServiceDomains, type ServiceName } from "./types.js";
|
|
2
|
+
export type EnvLike = Record<string, string | undefined>;
|
|
3
|
+
export declare function domainsFromEnv(env: EnvLike, prefix?: string): ServiceDomains;
|
|
4
|
+
export declare function domainFor(domains: ServiceDomains, service: ServiceName, fallback?: string): string;
|
|
5
|
+
//# sourceMappingURL=env.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../src/env.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,cAAc,EAAE,KAAK,WAAW,EAAE,MAAM,YAAY,CAAC;AAClF,MAAM,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;AACzD,wBAAgB,cAAc,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,SAAY,GAAG,cAAc,CAQ/E;AACD,wBAAgB,SAAS,CAAC,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAKlG"}
|
package/dist/env.js
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { SERVICE_NAMES } from "./types.js";
|
|
2
|
+
export function domainsFromEnv(env, prefix = "FAIBER_") {
|
|
3
|
+
const out = {};
|
|
4
|
+
for (const service of SERVICE_NAMES) {
|
|
5
|
+
const value = env[`${prefix}${service.toUpperCase()}_URL`]?.trim();
|
|
6
|
+
if (value)
|
|
7
|
+
out[service] = value;
|
|
8
|
+
}
|
|
9
|
+
return out;
|
|
10
|
+
}
|
|
11
|
+
export function domainFor(domains, service, fallback) {
|
|
12
|
+
const value = domains[service] ?? fallback;
|
|
13
|
+
if (!value)
|
|
14
|
+
throw new Error(`No domain configured for Faiber service '${service}'`);
|
|
15
|
+
return value.replace(/\/+$/, "");
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=env.js.map
|
package/dist/env.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"env.js","sourceRoot":"","sources":["../src/env.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAyC,MAAM,YAAY,CAAC;AAElF,MAAM,UAAU,cAAc,CAAC,GAAY,EAAE,MAAM,GAAG,SAAS;IAC3D,MAAM,GAAG,GAAmB,EAAE,CAAC;IAC/B,KAAK,MAAM,OAAO,IAAI,aAAa,EAAE,CAAC;QAClC,MAAM,KAAK,GAAG,GAAG,CAAC,GAAG,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC;QACnE,IAAI,KAAK;YACL,GAAG,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC;IAC7B,CAAC;IACD,OAAO,GAAG,CAAC;AACf,CAAC;AACD,MAAM,UAAU,SAAS,CAAC,OAAuB,EAAE,OAAoB,EAAE,QAAiB;IACtF,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,QAAQ,CAAC;IAC3C,IAAI,CAAC,KAAK;QACN,MAAM,IAAI,KAAK,CAAC,4CAA4C,OAAO,GAAG,CAAC,CAAC;IAC5E,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AACrC,CAAC"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export { default as axios } from "axios";
|
|
2
|
+
export type * from "axios";
|
|
3
|
+
export * from "./types.js";
|
|
4
|
+
export * from "./env.js";
|
|
5
|
+
export * from "./auth.js";
|
|
6
|
+
export * from "./client.js";
|
|
7
|
+
export * from "./resource.js";
|
|
8
|
+
export * from "./openapi.js";
|
|
9
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,OAAO,CAAC;AACzC,mBAAmB,OAAO,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,OAAO,CAAC;AAEzC,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import type { AxiosRequestConfig, AxiosResponse } from "axios";
|
|
2
|
+
import type { FaiberClient } from "./client.js";
|
|
3
|
+
import type { QueryParams } from "./types.js";
|
|
4
|
+
export type HttpMethod = "get" | "post" | "put" | "patch" | "delete" | "head" | "options";
|
|
5
|
+
export type OpenApiPaths = Record<string, Partial<Record<HttpMethod, unknown>>>;
|
|
6
|
+
type Operation<P extends OpenApiPaths, Path extends keyof P, M extends keyof P[Path]> = P[Path][M];
|
|
7
|
+
type ValueAt<T, K extends PropertyKey, F = never> = K extends keyof T ? T[K] : F;
|
|
8
|
+
type ParametersOf<O> = ValueAt<O, "parameters", Record<string, never>>;
|
|
9
|
+
type RequestBodyOf<O> = ValueAt<ValueAt<O, "requestBody", Record<string, never>>, "content", Record<string, never>> extends infer C ? C extends Record<string, unknown> ? C[keyof C] : never : never;
|
|
10
|
+
type SuccessResponse<O> = ValueAt<O, "responses", Record<string, never>> extends infer R ? R extends Record<string | number, unknown> ? ValueAt<R, 200 | 201 | 202 | 204 | "200" | "201" | "202" | "204" | "default", unknown> : unknown : unknown;
|
|
11
|
+
type ResponseBody<R> = ValueAt<R, "content", Record<string, unknown>> extends infer C ? C extends Record<string, unknown> ? C[keyof C] : unknown : R;
|
|
12
|
+
export type OperationArgs<O> = {
|
|
13
|
+
path?: ValueAt<ParametersOf<O>, "path", Record<string, string | number | boolean>>;
|
|
14
|
+
query?: ValueAt<ParametersOf<O>, "query", QueryParams>;
|
|
15
|
+
headers?: ValueAt<ParametersOf<O>, "header", Record<string, string>>;
|
|
16
|
+
body?: RequestBodyOf<O>;
|
|
17
|
+
config?: Omit<AxiosRequestConfig, "url" | "method" | "params" | "data" | "headers">;
|
|
18
|
+
};
|
|
19
|
+
export type OperationResponse<O> = ResponseBody<SuccessResponse<O>>;
|
|
20
|
+
/** Fully typed access to every operation in an openapi-typescript `paths` contract. */
|
|
21
|
+
export declare class OpenApiClient<P extends OpenApiPaths> {
|
|
22
|
+
readonly client: FaiberClient;
|
|
23
|
+
constructor(client: FaiberClient);
|
|
24
|
+
request<Path extends Extract<keyof P, string>, M extends Extract<keyof P[Path], HttpMethod>>(method: M, path: Path, args?: OperationArgs<Operation<P, Path, M>>): Promise<AxiosResponse<OperationResponse<Operation<P, Path, M>>>>;
|
|
25
|
+
get<Path extends Extract<keyof P, string>>(path: Path, args?: OperationArgs<Operation<P, Path, Extract<"get", keyof P[Path]>>>): Promise<AxiosResponse<ResponseBody<SuccessResponse<Operation<P, Path, Extract<keyof P[Path], HttpMethod>>>>, any, {}>>;
|
|
26
|
+
post<Path extends Extract<keyof P, string>>(path: Path, args?: OperationArgs<Operation<P, Path, Extract<"post", keyof P[Path]>>>): Promise<AxiosResponse<ResponseBody<SuccessResponse<Operation<P, Path, Extract<keyof P[Path], HttpMethod>>>>, any, {}>>;
|
|
27
|
+
put<Path extends Extract<keyof P, string>>(path: Path, args?: OperationArgs<Operation<P, Path, Extract<"put", keyof P[Path]>>>): Promise<AxiosResponse<ResponseBody<SuccessResponse<Operation<P, Path, Extract<keyof P[Path], HttpMethod>>>>, any, {}>>;
|
|
28
|
+
patch<Path extends Extract<keyof P, string>>(path: Path, args?: OperationArgs<Operation<P, Path, Extract<"patch", keyof P[Path]>>>): Promise<AxiosResponse<ResponseBody<SuccessResponse<Operation<P, Path, Extract<keyof P[Path], HttpMethod>>>>, any, {}>>;
|
|
29
|
+
delete<Path extends Extract<keyof P, string>>(path: Path, args?: OperationArgs<Operation<P, Path, Extract<"delete", keyof P[Path]>>>): Promise<AxiosResponse<ResponseBody<SuccessResponse<Operation<P, Path, Extract<keyof P[Path], HttpMethod>>>>, any, {}>>;
|
|
30
|
+
}
|
|
31
|
+
export declare function multipart(fields: Record<string, unknown>): FormData;
|
|
32
|
+
export {};
|
|
33
|
+
//# sourceMappingURL=openapi.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"openapi.d.ts","sourceRoot":"","sources":["../src/openapi.ts"],"names":[],"mappings":"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"}
|
package/dist/openapi.js
ADDED
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
function renderPath(path, params = {}) {
|
|
2
|
+
const used = new Set();
|
|
3
|
+
const rendered = path.replace(/\{([^}]+)\}/g, (_, key) => {
|
|
4
|
+
if (!(key in params))
|
|
5
|
+
throw new Error(`Missing path parameter: ${key}`);
|
|
6
|
+
used.add(key);
|
|
7
|
+
return encodeURIComponent(String(params[key]));
|
|
8
|
+
});
|
|
9
|
+
const unknown = Object.keys(params).filter((key) => !used.has(key));
|
|
10
|
+
if (unknown.length)
|
|
11
|
+
throw new Error(`Unknown path parameter(s): ${unknown.join(", ")}`);
|
|
12
|
+
return rendered;
|
|
13
|
+
}
|
|
14
|
+
/** Fully typed access to every operation in an openapi-typescript `paths` contract. */
|
|
15
|
+
export class OpenApiClient {
|
|
16
|
+
client;
|
|
17
|
+
constructor(client) {
|
|
18
|
+
this.client = client;
|
|
19
|
+
}
|
|
20
|
+
request(method, path, args = {}) {
|
|
21
|
+
const { path: pathParams, query, headers, body, config } = args;
|
|
22
|
+
return this.client.request({
|
|
23
|
+
...config,
|
|
24
|
+
method: method.toUpperCase(),
|
|
25
|
+
url: renderPath(path, pathParams),
|
|
26
|
+
params: query,
|
|
27
|
+
headers,
|
|
28
|
+
...(body === undefined ? {} : { data: body }),
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
get(path, args) {
|
|
32
|
+
return this.request("get", path, args);
|
|
33
|
+
}
|
|
34
|
+
post(path, args) {
|
|
35
|
+
return this.request("post", path, args);
|
|
36
|
+
}
|
|
37
|
+
put(path, args) {
|
|
38
|
+
return this.request("put", path, args);
|
|
39
|
+
}
|
|
40
|
+
patch(path, args) {
|
|
41
|
+
return this.request("patch", path, args);
|
|
42
|
+
}
|
|
43
|
+
delete(path, args) {
|
|
44
|
+
return this.request("delete", path, args);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
export function multipart(fields) {
|
|
48
|
+
const data = new FormData();
|
|
49
|
+
for (const [key, value] of Object.entries(fields)) {
|
|
50
|
+
if (value === undefined || value === null)
|
|
51
|
+
continue;
|
|
52
|
+
if (Array.isArray(value))
|
|
53
|
+
value.forEach((item) => data.append(key, toFormValue(item)));
|
|
54
|
+
else
|
|
55
|
+
data.append(key, toFormValue(value));
|
|
56
|
+
}
|
|
57
|
+
return data;
|
|
58
|
+
}
|
|
59
|
+
function toFormValue(value) {
|
|
60
|
+
if (value instanceof Blob)
|
|
61
|
+
return value;
|
|
62
|
+
if (typeof value === "string")
|
|
63
|
+
return value;
|
|
64
|
+
if (typeof value === "object")
|
|
65
|
+
return JSON.stringify(value);
|
|
66
|
+
return String(value);
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=openapi.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"openapi.js","sourceRoot":"","sources":["../src/openapi.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { AxiosRequestConfig, AxiosResponse } from "axios";
|
|
2
|
+
import type { FaiberClient } from "./client.js";
|
|
3
|
+
import type { ApiEnvelope, DeleteResponse, Identifier, JsonObject, PageQuery, QueryParams, RequestOptions, ResourceListResponse, ResourceResponse } from "./types.js";
|
|
4
|
+
export declare class RestResource<Entity extends object = JsonObject, CreateInput = Partial<Entity>, UpdateInput = Partial<Entity>, ListResponse = ResourceListResponse<Entity>, ShowResponse = ResourceResponse<Entity>> {
|
|
5
|
+
readonly client: FaiberClient;
|
|
6
|
+
readonly path: string;
|
|
7
|
+
constructor(client: FaiberClient, path: string);
|
|
8
|
+
list(params?: PageQuery, options?: RequestOptions): Promise<AxiosResponse<ListResponse>>;
|
|
9
|
+
show(id: Identifier, params?: QueryParams, options?: RequestOptions): Promise<AxiosResponse<ShowResponse>>;
|
|
10
|
+
create(data: CreateInput, options?: RequestOptions<CreateInput>): Promise<AxiosResponse<ApiEnvelope<Entity>, CreateInput>>;
|
|
11
|
+
update(id: Identifier, data: UpdateInput, options?: RequestOptions<UpdateInput>): Promise<AxiosResponse<ApiEnvelope<Entity>, UpdateInput>>;
|
|
12
|
+
replace(id: Identifier, data: UpdateInput, options?: RequestOptions<UpdateInput>): Promise<AxiosResponse<ApiEnvelope<Entity>, UpdateInput>>;
|
|
13
|
+
delete(id: Identifier, options?: RequestOptions): Promise<AxiosResponse<DeleteResponse>>;
|
|
14
|
+
}
|
|
15
|
+
export declare abstract class ServiceApi {
|
|
16
|
+
readonly client: FaiberClient;
|
|
17
|
+
constructor(client: FaiberClient);
|
|
18
|
+
get axios(): import("axios").AxiosInstance;
|
|
19
|
+
request<TResponse = unknown, TData = unknown>(config: AxiosRequestConfig<TData>): Promise<AxiosResponse<TResponse, TData>>;
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=resource.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resource.d.ts","sourceRoot":"","sources":["../src/resource.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAC/D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,cAAc,EAAE,oBAAoB,EAAE,gBAAgB,EAAG,MAAM,YAAY,CAAC;AACvK,qBAAa,YAAY,CAAC,MAAM,SAAS,MAAM,GAAG,UAAU,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,EAAE,YAAY,GAAG,oBAAoB,CAAC,MAAM,CAAC,EAAE,YAAY,GAAG,gBAAgB,CAAC,MAAM,CAAC;IAChM,QAAQ,CAAC,MAAM,EAAE,YAAY;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM;gBAA3C,MAAM,EAAE,YAAY,EAAW,IAAI,EAAE,MAAM;IAChE,IAAI,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;IAGxF,IAAI,CAAC,EAAE,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;IAG1G,MAAM,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,cAAc,CAAC,WAAW,CAAC,GAAG,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC,CAAC;IAG1H,MAAM,CAAC,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,cAAc,CAAC,WAAW,CAAC,GAAG,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC,CAAC;IAG1I,OAAO,CAAC,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,cAAc,CAAC,WAAW,CAAC,GAAG,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC,CAAC;IAG3I,MAAM,CAAC,EAAE,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;CAG3F;AACD,8BAAsB,UAAU;IAChB,QAAQ,CAAC,MAAM,EAAE,YAAY;gBAApB,MAAM,EAAE,YAAY;IACzC,IAAI,KAAK,kCAER;IACD,OAAO,CAAC,SAAS,GAAG,OAAO,EAAE,KAAK,GAAG,OAAO,EAAE,MAAM,EAAE,kBAAkB,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,aAAa,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;CAG7H"}
|
package/dist/resource.js
ADDED
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
export class RestResource {
|
|
2
|
+
client;
|
|
3
|
+
path;
|
|
4
|
+
constructor(client, path) {
|
|
5
|
+
this.client = client;
|
|
6
|
+
this.path = path;
|
|
7
|
+
}
|
|
8
|
+
list(params, options) {
|
|
9
|
+
return this.client.get(this.path, params, options);
|
|
10
|
+
}
|
|
11
|
+
show(id, params, options) {
|
|
12
|
+
return this.client.get(`${this.path}/${encodeURIComponent(id)}`, params, options);
|
|
13
|
+
}
|
|
14
|
+
create(data, options) {
|
|
15
|
+
return this.client.post(this.path, data, options);
|
|
16
|
+
}
|
|
17
|
+
update(id, data, options) {
|
|
18
|
+
return this.client.patch(`${this.path}/${encodeURIComponent(id)}`, data, options);
|
|
19
|
+
}
|
|
20
|
+
replace(id, data, options) {
|
|
21
|
+
return this.client.put(`${this.path}/${encodeURIComponent(id)}`, data, options);
|
|
22
|
+
}
|
|
23
|
+
delete(id, options) {
|
|
24
|
+
return this.client.delete(`${this.path}/${encodeURIComponent(id)}`, options);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
export class ServiceApi {
|
|
28
|
+
client;
|
|
29
|
+
constructor(client) {
|
|
30
|
+
this.client = client;
|
|
31
|
+
}
|
|
32
|
+
get axios() {
|
|
33
|
+
return this.client.axios;
|
|
34
|
+
}
|
|
35
|
+
request(config) {
|
|
36
|
+
return this.client.request(config);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=resource.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resource.js","sourceRoot":"","sources":["../src/resource.ts"],"names":[],"mappings":"AAGA,MAAM,OAAO,YAAY;IACA;IAA+B;IAApD,YAAqB,MAAoB,EAAW,IAAY;QAA3C,WAAM,GAAN,MAAM,CAAc;QAAW,SAAI,GAAJ,IAAI,CAAQ;IAAI,CAAC;IACrE,IAAI,CAAC,MAAkB,EAAE,OAAwB;QAC7C,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAe,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IACrE,CAAC;IACD,IAAI,CAAC,EAAc,EAAE,MAAoB,EAAE,OAAwB;QAC/D,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAe,GAAG,IAAI,CAAC,IAAI,IAAI,kBAAkB,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IACpG,CAAC;IACD,MAAM,CAAC,IAAiB,EAAE,OAAqC;QAC3D,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAmC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IACxF,CAAC;IACD,MAAM,CAAC,EAAc,EAAE,IAAiB,EAAE,OAAqC;QAC3E,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAmC,GAAG,IAAI,CAAC,IAAI,IAAI,kBAAkB,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IACxH,CAAC;IACD,OAAO,CAAC,EAAc,EAAE,IAAiB,EAAE,OAAqC;QAC5E,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAmC,GAAG,IAAI,CAAC,IAAI,IAAI,kBAAkB,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IACtH,CAAC;IACD,MAAM,CAAC,EAAc,EAAE,OAAwB;QAC3C,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAiB,GAAG,IAAI,CAAC,IAAI,IAAI,kBAAkB,CAAC,EAAE,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;IACjG,CAAC;CACJ;AACD,MAAM,OAAgB,UAAU;IACP;IAArB,YAAqB,MAAoB;QAApB,WAAM,GAAN,MAAM,CAAc;IAAI,CAAC;IAC9C,IAAI,KAAK;QACL,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;IAC7B,CAAC;IACD,OAAO,CAAuC,MAAiC;QAC3E,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAmB,MAAM,CAAC,CAAC;IACzD,CAAC;CACJ"}
|
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
import type { AxiosInstance, AxiosRequestConfig, CreateAxiosDefaults } from "axios";
|
|
2
|
+
export declare const SERVICE_NAMES: readonly ["idp", "profile", "modules", "asset", "payment", "messenger", "crm", "lms", "reservation", "session", "version", "flow"];
|
|
3
|
+
export type ServiceName = (typeof SERVICE_NAMES)[number];
|
|
4
|
+
export type ServiceDomains = Partial<Record<ServiceName, string>>;
|
|
5
|
+
export type MaybePromise<T> = T | Promise<T>;
|
|
6
|
+
export type Identifier = string | number;
|
|
7
|
+
export type JsonPrimitive = string | number | boolean | null;
|
|
8
|
+
export type JsonValue = JsonPrimitive | JsonValue[] | JsonObject;
|
|
9
|
+
export interface JsonObject {
|
|
10
|
+
[key: string]: JsonValue | undefined;
|
|
11
|
+
}
|
|
12
|
+
export type QueryValue = string | number | boolean | null | undefined | readonly (string | number | boolean)[];
|
|
13
|
+
export type QueryParams = Record<string, QueryValue>;
|
|
14
|
+
export interface ApiEnvelope<T> {
|
|
15
|
+
data: T;
|
|
16
|
+
message?: string;
|
|
17
|
+
status?: string | number;
|
|
18
|
+
}
|
|
19
|
+
export interface PaginationMeta {
|
|
20
|
+
page_number?: number;
|
|
21
|
+
page_size?: number;
|
|
22
|
+
total_items?: number;
|
|
23
|
+
total_pages?: number;
|
|
24
|
+
}
|
|
25
|
+
export interface PaginatedResult<T> extends PaginationMeta {
|
|
26
|
+
items: T[];
|
|
27
|
+
}
|
|
28
|
+
export interface ResourceListResponse<T> extends ApiEnvelope<PaginatedResult<T>> {
|
|
29
|
+
}
|
|
30
|
+
export interface ResourceResponse<T> extends ApiEnvelope<T> {
|
|
31
|
+
}
|
|
32
|
+
export interface DeleteResult {
|
|
33
|
+
deleted: boolean;
|
|
34
|
+
id?: Identifier;
|
|
35
|
+
}
|
|
36
|
+
export interface DeleteResponse extends ApiEnvelope<DeleteResult> {
|
|
37
|
+
}
|
|
38
|
+
export interface OperationResult {
|
|
39
|
+
success: boolean;
|
|
40
|
+
message?: string;
|
|
41
|
+
}
|
|
42
|
+
export interface OperationResponse extends ApiEnvelope<OperationResult> {
|
|
43
|
+
}
|
|
44
|
+
export interface PageQuery extends QueryParams {
|
|
45
|
+
page_number?: number;
|
|
46
|
+
page_size?: number;
|
|
47
|
+
search?: string;
|
|
48
|
+
}
|
|
49
|
+
export interface CursorQuery extends QueryParams {
|
|
50
|
+
cursor?: string;
|
|
51
|
+
limit?: number;
|
|
52
|
+
search?: string;
|
|
53
|
+
}
|
|
54
|
+
export interface SortQuery extends QueryParams {
|
|
55
|
+
sort?: string;
|
|
56
|
+
order?: "asc" | "desc";
|
|
57
|
+
}
|
|
58
|
+
export type ListQuery = PageQuery & SortQuery & {
|
|
59
|
+
filter?: string;
|
|
60
|
+
include?: string | readonly string[];
|
|
61
|
+
};
|
|
62
|
+
export interface CursorResult<T> {
|
|
63
|
+
items: T[];
|
|
64
|
+
next_cursor?: string | null;
|
|
65
|
+
has_more?: boolean;
|
|
66
|
+
}
|
|
67
|
+
export interface ApiErrorBody extends JsonObject {
|
|
68
|
+
code?: string;
|
|
69
|
+
message: string;
|
|
70
|
+
details?: JsonValue;
|
|
71
|
+
request_id?: string;
|
|
72
|
+
errors?: Record<string, string | string[]>;
|
|
73
|
+
}
|
|
74
|
+
export interface MediaReference extends JsonObject {
|
|
75
|
+
id: Identifier;
|
|
76
|
+
url: string;
|
|
77
|
+
key?: string;
|
|
78
|
+
role?: string;
|
|
79
|
+
mime_type?: string;
|
|
80
|
+
alt?: string;
|
|
81
|
+
width?: number;
|
|
82
|
+
height?: number;
|
|
83
|
+
sort_order?: number;
|
|
84
|
+
}
|
|
85
|
+
export interface TokenSet {
|
|
86
|
+
accessToken?: string;
|
|
87
|
+
refreshToken?: string;
|
|
88
|
+
expiresAt?: number;
|
|
89
|
+
tokenType?: string;
|
|
90
|
+
}
|
|
91
|
+
export interface TokenProvider {
|
|
92
|
+
getTokens(): MaybePromise<TokenSet | null>;
|
|
93
|
+
setTokens(tokens: TokenSet | null): MaybePromise<void>;
|
|
94
|
+
}
|
|
95
|
+
export interface AuthContext {
|
|
96
|
+
service: ServiceName;
|
|
97
|
+
request: AxiosRequestConfig;
|
|
98
|
+
tokens: TokenSet | null;
|
|
99
|
+
}
|
|
100
|
+
export interface ServiceClientOptions {
|
|
101
|
+
axios?: CreateAxiosDefaults;
|
|
102
|
+
headers?: AxiosRequestConfig["headers"];
|
|
103
|
+
}
|
|
104
|
+
export interface RefreshAuthContext {
|
|
105
|
+
service: ServiceName;
|
|
106
|
+
client: AxiosInstance;
|
|
107
|
+
tokens: TokenSet | null;
|
|
108
|
+
}
|
|
109
|
+
export interface FaiberSdkConfig {
|
|
110
|
+
domains: ServiceDomains;
|
|
111
|
+
defaultDomain?: string;
|
|
112
|
+
axios?: CreateAxiosDefaults;
|
|
113
|
+
serviceOptions?: Partial<Record<ServiceName, ServiceClientOptions>>;
|
|
114
|
+
tokenProvider?: TokenProvider;
|
|
115
|
+
getAuthorization?: (context: AuthContext) => MaybePromise<string | null | undefined>;
|
|
116
|
+
refreshAuth?: (context: RefreshAuthContext) => MaybePromise<TokenSet | null>;
|
|
117
|
+
shouldRefreshAuth?: (error: unknown) => boolean;
|
|
118
|
+
onAuthFailure?: (error: unknown) => MaybePromise<void>;
|
|
119
|
+
createAxios?: (config: CreateAxiosDefaults, service: ServiceName) => AxiosInstance;
|
|
120
|
+
}
|
|
121
|
+
export type RequestOptions<D = unknown> = Omit<AxiosRequestConfig<D>, "url" | "method" | "data" | "params">;
|
|
122
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/types.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AACA,MAAM,CAAC,MAAM,aAAa,GAAG;IACzB,KAAK;IACL,SAAS;IACT,SAAS;IACT,OAAO;IACP,SAAS;IACT,WAAW;IACX,KAAK;IACL,KAAK;IACL,aAAa;IACb,SAAS;IACT,SAAS;IACT,MAAM;CACA,CAAC"}
|
package/package.json
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@faiber/sdk-core", "version": "0.1.0", "type": "module", "sideEffects": false,
|
|
3
|
+
"main": "./dist/index.js", "types": "./dist/index.d.ts",
|
|
4
|
+
"exports": { ".": { "types": "./dist/index.d.ts", "import": "./dist/index.js" } },
|
|
5
|
+
"files": ["dist", "README.md"], "dependencies": { "axios": "^1.18.1" }
|
|
6
|
+
}
|