@flaqai/network 0.2.3
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/account/index.d.mts +15 -0
- package/dist/account/index.mjs +1 -0
- package/dist/account/types.d.mts +7 -0
- package/dist/audio/index.d.mts +15 -0
- package/dist/audio/index.mjs +1 -0
- package/dist/audio/types.d.mts +39 -0
- package/dist/auth/index.d.mts +29 -0
- package/dist/auth/index.mjs +1 -0
- package/dist/auth/types.d.mts +81 -0
- package/dist/billing/index.d.mts +34 -0
- package/dist/billing/index.mjs +1 -0
- package/dist/billing/types.d.mts +99 -0
- package/dist/blog/index.d.mts +19 -0
- package/dist/blog/index.mjs +1 -0
- package/dist/blog/types.d.mts +117 -0
- package/dist/client.d.mts +5 -0
- package/dist/client.mjs +1 -0
- package/dist/collection/index.d.mts +21 -0
- package/dist/collection/index.mjs +1 -0
- package/dist/collection/types.d.mts +38 -0
- package/dist/core/compact-request.mjs +1 -0
- package/dist/core/create-get-fetcher.d.mts +5 -0
- package/dist/core/create-get-fetcher.mjs +1 -0
- package/dist/core/create-json-fetch.mjs +1 -0
- package/dist/core/merge-request-data.mjs +1 -0
- package/dist/core/query-string.mjs +1 -0
- package/dist/core/types.d.mts +25 -0
- package/dist/feedback/index.d.mts +9 -0
- package/dist/feedback/index.mjs +1 -0
- package/dist/feedback/types.d.mts +9 -0
- package/dist/image/index.d.mts +43 -0
- package/dist/image/index.mjs +1 -0
- package/dist/image/types.d.mts +290 -0
- package/dist/index.d.mts +26 -0
- package/dist/index.mjs +1 -0
- package/dist/music/index.d.mts +26 -0
- package/dist/music/index.mjs +1 -0
- package/dist/music/types.d.mts +97 -0
- package/dist/prompt/index.d.mts +24 -0
- package/dist/prompt/index.mjs +1 -0
- package/dist/prompt/types.d.mts +35 -0
- package/dist/server.d.mts +5 -0
- package/dist/server.mjs +1 -0
- package/dist/shared-types.d.mts +18 -0
- package/dist/types.d.mts +25 -0
- package/dist/types.mjs +1 -0
- package/dist/video/index.d.mts +36 -0
- package/dist/video/index.mjs +1 -0
- package/dist/video/types.d.mts +207 -0
- package/package.json +48 -0
package/README.md
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { JsonFetcher } from "../core/types.mjs";
|
|
2
|
+
import { AccountMutationResponse, DeleteAccountResponse, ShareRewardResponse } from "./types.mjs";
|
|
3
|
+
//#region src/account/index.d.ts
|
|
4
|
+
declare const ACCOUNT_ROUTES: {
|
|
5
|
+
readonly checkIn: '/navigation/sign';
|
|
6
|
+
readonly delete: '/draw/clientUser/delete';
|
|
7
|
+
readonly shareReward: '/web/reward/share';
|
|
8
|
+
};
|
|
9
|
+
declare function createAccountNetwork(appFetch: JsonFetcher): {
|
|
10
|
+
readonly checkIn: () => Promise<AccountMutationResponse>;
|
|
11
|
+
readonly deleteCurrent: () => Promise<DeleteAccountResponse>;
|
|
12
|
+
readonly claimShareReward: () => Promise<ShareRewardResponse>;
|
|
13
|
+
};
|
|
14
|
+
//#endregion
|
|
15
|
+
export { ACCOUNT_ROUTES, type AccountMutationResponse, type DeleteAccountResponse, type ShareRewardResponse, createAccountNetwork };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e={checkIn:`/navigation/sign`,delete:`/draw/clientUser/delete`,shareReward:`/web/reward/share`};function t(t){return{checkIn(){return t(e.checkIn,{method:`PUT`})},deleteCurrent(){return t(e.delete,{method:`DELETE`})},claimShareReward(){return t(e.shareReward,{method:`POST`})}}}export{e as ACCOUNT_ROUTES,t as createAccountNetwork};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { ResponseData } from "../shared-types.mjs";
|
|
2
|
+
//#region src/account/types.d.ts
|
|
3
|
+
type AccountMutationResponse = ResponseData<unknown>;
|
|
4
|
+
type DeleteAccountResponse = ResponseData<null>;
|
|
5
|
+
type ShareRewardResponse = ResponseData<unknown>;
|
|
6
|
+
//#endregion
|
|
7
|
+
export { AccountMutationResponse, DeleteAccountResponse, ShareRewardResponse };
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { JsonFetcher } from "../core/types.mjs";
|
|
2
|
+
import { AudioHistoryItem, AudioHistoryRequest, AudioHistoryResponse, AudioType, CreateAudioData, CreateAudioRequest, CreateAudioResponse, DeleteAudioRequest, DeleteAudioResponse } from "./types.mjs";
|
|
3
|
+
//#region src/audio/index.d.ts
|
|
4
|
+
declare const AUDIO_ROUTES: {
|
|
5
|
+
readonly history: '/audio/tts';
|
|
6
|
+
readonly create: '/audio/tts';
|
|
7
|
+
readonly delete: '/audio/tts/delete';
|
|
8
|
+
};
|
|
9
|
+
declare function createAudioNetwork(appFetch: JsonFetcher): {
|
|
10
|
+
readonly history: (request: AudioHistoryRequest) => Promise<AudioHistoryResponse>;
|
|
11
|
+
readonly create: (request: CreateAudioRequest) => Promise<CreateAudioResponse>;
|
|
12
|
+
readonly deleteById: (request: DeleteAudioRequest) => Promise<DeleteAudioResponse>;
|
|
13
|
+
};
|
|
14
|
+
//#endregion
|
|
15
|
+
export { AUDIO_ROUTES, type AudioHistoryItem, type AudioHistoryRequest, type AudioHistoryResponse, type AudioType, type CreateAudioData, type CreateAudioRequest, type CreateAudioResponse, type DeleteAudioRequest, type DeleteAudioResponse, createAudioNetwork };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e={history:`/audio/tts`,create:`/audio/tts`,delete:`/audio/tts/delete`};function t(t){return{history(n){return t([e.history,n],{method:`GET`})},create(n){return t(e.create,{body:n,method:`POST`})},deleteById(n){return t(e.delete,{body:n,method:`POST`})}}}export{e as AUDIO_ROUTES,t as createAudioNetwork};
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { ResponseData, ResponseRows } from "../shared-types.mjs";
|
|
2
|
+
//#region src/audio/types.d.ts
|
|
3
|
+
type AudioType = 'all' | 'ai-talking-baby' | 'ai-talking-avatar';
|
|
4
|
+
interface AudioHistoryRequest extends Record<string, unknown> {
|
|
5
|
+
readonly pageNum: number;
|
|
6
|
+
readonly pageSize: number;
|
|
7
|
+
readonly audioType?: AudioType;
|
|
8
|
+
}
|
|
9
|
+
interface AudioHistoryItem {
|
|
10
|
+
readonly audioId: string;
|
|
11
|
+
readonly audioUrl: string;
|
|
12
|
+
readonly credit: number;
|
|
13
|
+
readonly duration: number;
|
|
14
|
+
readonly size: number;
|
|
15
|
+
readonly text: string;
|
|
16
|
+
}
|
|
17
|
+
interface CreateAudioRequest extends Record<string, unknown> {
|
|
18
|
+
readonly model: string;
|
|
19
|
+
readonly platformType: number;
|
|
20
|
+
readonly similarityBoost?: number;
|
|
21
|
+
readonly stability?: number;
|
|
22
|
+
readonly style?: number;
|
|
23
|
+
readonly text: string;
|
|
24
|
+
readonly voice: string;
|
|
25
|
+
readonly audioType?: string;
|
|
26
|
+
}
|
|
27
|
+
interface CreateAudioData {
|
|
28
|
+
readonly audioId: string;
|
|
29
|
+
readonly audioUrl: string;
|
|
30
|
+
readonly credit: number;
|
|
31
|
+
}
|
|
32
|
+
interface DeleteAudioRequest extends Record<string, unknown> {
|
|
33
|
+
readonly audioId: string;
|
|
34
|
+
}
|
|
35
|
+
type AudioHistoryResponse = ResponseRows<readonly AudioHistoryItem[]>;
|
|
36
|
+
type CreateAudioResponse = ResponseData<CreateAudioData>;
|
|
37
|
+
type DeleteAudioResponse = ResponseData<null>;
|
|
38
|
+
//#endregion
|
|
39
|
+
export { AudioHistoryItem, AudioHistoryRequest, AudioHistoryResponse, AudioType, CreateAudioData, CreateAudioRequest, CreateAudioResponse, DeleteAudioRequest, DeleteAudioResponse };
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { JsonFetcher } from "../core/types.mjs";
|
|
2
|
+
import { AuthMutationResponse, CountryResponse, GetUserInfoRequest, LoginData, LoginRequest, LoginResponse, RegisterRequest, RegisterV2Request, ResetPasswordRequest, SendVerificationEmailRequest, SocialBindingRequest, SocialBindingResponse, UserInfoData, UserInfoResponse, VerifyEmailRequest } from "./types.mjs";
|
|
3
|
+
//#region src/auth/index.d.ts
|
|
4
|
+
declare const AUTH_ROUTES: {
|
|
5
|
+
readonly country: '/auth/getCountry';
|
|
6
|
+
readonly userInfo: '/draw/clientUser/getInfo';
|
|
7
|
+
readonly login: '/auth/login';
|
|
8
|
+
readonly logout: '/auth/logout?userType=0';
|
|
9
|
+
readonly register: '/auth/register';
|
|
10
|
+
readonly registerV2: '/auth/registerV2';
|
|
11
|
+
readonly socialBinding: '/auth/binding';
|
|
12
|
+
readonly verifyEmail: '/auth/updateEmailStatus';
|
|
13
|
+
readonly sendVerificationEmail: '/auth/sendEmail';
|
|
14
|
+
readonly resetPassword: '/auth/resetPassword';
|
|
15
|
+
};
|
|
16
|
+
declare function createAuthNetwork<TUserInfoData extends UserInfoData = UserInfoData, TLoginData extends LoginData = LoginData>(appFetch: JsonFetcher): {
|
|
17
|
+
readonly getCountry: () => Promise<CountryResponse>;
|
|
18
|
+
readonly getUserInfo: (request?: GetUserInfoRequest) => Promise<UserInfoResponse<TUserInfoData>>;
|
|
19
|
+
readonly login: (request: LoginRequest) => Promise<LoginResponse<TLoginData>>;
|
|
20
|
+
readonly logout: () => Promise<AuthMutationResponse>;
|
|
21
|
+
readonly register: (request: RegisterRequest) => Promise<AuthMutationResponse>;
|
|
22
|
+
readonly registerV2: (request: RegisterV2Request) => Promise<AuthMutationResponse>;
|
|
23
|
+
readonly getSocialBinding: (request: SocialBindingRequest) => Promise<SocialBindingResponse>;
|
|
24
|
+
readonly verifyEmail: (request: VerifyEmailRequest) => Promise<AuthMutationResponse>;
|
|
25
|
+
readonly sendVerificationEmail: (request: SendVerificationEmailRequest) => Promise<AuthMutationResponse>;
|
|
26
|
+
readonly resetPassword: (request: ResetPasswordRequest) => Promise<AuthMutationResponse>;
|
|
27
|
+
};
|
|
28
|
+
//#endregion
|
|
29
|
+
export { AUTH_ROUTES, type AuthMutationResponse, type CountryResponse, type GetUserInfoRequest, type LoginData, type LoginRequest, type LoginResponse, type RegisterRequest, type RegisterV2Request, type ResetPasswordRequest, type SendVerificationEmailRequest, type SocialBindingRequest, type SocialBindingResponse, type UserInfoData, type UserInfoResponse, type VerifyEmailRequest, createAuthNetwork };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e={country:`/auth/getCountry`,userInfo:`/draw/clientUser/getInfo`,login:`/auth/login`,logout:`/auth/logout?userType=0`,register:`/auth/register`,registerV2:`/auth/registerV2`,socialBinding:`/auth/binding`,verifyEmail:`/auth/updateEmailStatus`,sendVerificationEmail:`/auth/sendEmail`,resetPassword:`/auth/resetPassword`};function t(t){return{getCountry(){return t(e.country,{method:`GET`})},getUserInfo(n={}){return t(e.userInfo,{...n.authorization===void 0?{}:{headers:{authorization:n.authorization}},method:`GET`})},login(n){return t(e.login,{body:n,method:`POST`})},logout(){return t(e.logout,{method:`POST`})},register(n){return t(e.register,{body:n,method:`POST`})},registerV2(n){return t(e.registerV2,{body:n,method:`POST`})},getSocialBinding(n){return t(`${e.socialBinding}/${n.source}`,{body:{redirectUrl:n.redirectUrl},method:`GET`})},verifyEmail(n){return t(e.verifyEmail,{body:n,method:`PUT`})},sendVerificationEmail(n){return t(e.sendVerificationEmail,{body:n,method:`POST`})},resetPassword(n){return t(e.resetPassword,{body:n,method:`PUT`})}}}export{e as AUTH_ROUTES,t as createAuthNetwork};
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { ResponseData } from "../shared-types.mjs";
|
|
2
|
+
//#region src/auth/types.d.ts
|
|
3
|
+
interface LoginData {
|
|
4
|
+
readonly access_token: string;
|
|
5
|
+
readonly client_id: string;
|
|
6
|
+
readonly expire_in: number;
|
|
7
|
+
readonly expire_date?: number;
|
|
8
|
+
readonly openid: string;
|
|
9
|
+
readonly refresh_expire_in: number;
|
|
10
|
+
readonly refresh_token: string;
|
|
11
|
+
readonly scope: string;
|
|
12
|
+
}
|
|
13
|
+
interface UserInfoData {
|
|
14
|
+
readonly restricted: number;
|
|
15
|
+
readonly clientKey: string;
|
|
16
|
+
readonly countryCode: string;
|
|
17
|
+
readonly creditExpireTime: number;
|
|
18
|
+
readonly credits: number;
|
|
19
|
+
readonly email: string;
|
|
20
|
+
readonly hasPassword: boolean;
|
|
21
|
+
readonly id: number;
|
|
22
|
+
readonly imageUrl: string;
|
|
23
|
+
readonly isCreditZero: boolean;
|
|
24
|
+
readonly isPay: boolean;
|
|
25
|
+
readonly isShare: boolean;
|
|
26
|
+
readonly isSubscribed: boolean;
|
|
27
|
+
readonly isValidity: boolean;
|
|
28
|
+
readonly memeberCardId: string;
|
|
29
|
+
readonly nickName: string;
|
|
30
|
+
readonly paymentSource: 'app' | 'web';
|
|
31
|
+
readonly paymentType: string;
|
|
32
|
+
readonly permissionExpireTime: number;
|
|
33
|
+
readonly sex: string;
|
|
34
|
+
readonly signInTime: number;
|
|
35
|
+
readonly site: string;
|
|
36
|
+
readonly subscribedExpireTime: number;
|
|
37
|
+
readonly userGarde: string;
|
|
38
|
+
readonly userName: string;
|
|
39
|
+
readonly userType: number;
|
|
40
|
+
readonly userSource?: string;
|
|
41
|
+
}
|
|
42
|
+
interface GetUserInfoRequest {
|
|
43
|
+
readonly authorization?: string;
|
|
44
|
+
}
|
|
45
|
+
interface LoginRequest extends Record<string, unknown> {
|
|
46
|
+
readonly grantType: string;
|
|
47
|
+
}
|
|
48
|
+
interface RegisterRequest extends Record<string, unknown> {
|
|
49
|
+
readonly grantType: 'password';
|
|
50
|
+
readonly nickName: string;
|
|
51
|
+
readonly userName: string;
|
|
52
|
+
readonly email: string;
|
|
53
|
+
readonly password: string;
|
|
54
|
+
}
|
|
55
|
+
interface RegisterV2Request extends RegisterRequest {
|
|
56
|
+
readonly source: string;
|
|
57
|
+
readonly cfToken: string;
|
|
58
|
+
}
|
|
59
|
+
interface SocialBindingRequest {
|
|
60
|
+
readonly source: string;
|
|
61
|
+
readonly redirectUrl: string;
|
|
62
|
+
}
|
|
63
|
+
interface VerifyEmailRequest extends Record<string, unknown> {
|
|
64
|
+
readonly email: string;
|
|
65
|
+
readonly emailCode: string;
|
|
66
|
+
}
|
|
67
|
+
interface SendVerificationEmailRequest extends Record<string, unknown> {
|
|
68
|
+
readonly email: string;
|
|
69
|
+
}
|
|
70
|
+
interface ResetPasswordRequest extends VerifyEmailRequest {
|
|
71
|
+
readonly newPassword: string;
|
|
72
|
+
}
|
|
73
|
+
type LoginResponse<TLoginData extends LoginData = LoginData> = ResponseData<TLoginData>;
|
|
74
|
+
type UserInfoResponse<TUserInfoData extends UserInfoData = UserInfoData> = ResponseData<TUserInfoData>;
|
|
75
|
+
type AuthMutationResponse = ResponseData<unknown>;
|
|
76
|
+
type CountryResponse = ResponseData<{
|
|
77
|
+
readonly country: string;
|
|
78
|
+
}>;
|
|
79
|
+
type SocialBindingResponse = ResponseData<string>;
|
|
80
|
+
//#endregion
|
|
81
|
+
export { AuthMutationResponse, CountryResponse, GetUserInfoRequest, LoginData, LoginRequest, LoginResponse, RegisterRequest, RegisterV2Request, ResetPasswordRequest, SendVerificationEmailRequest, SocialBindingRequest, SocialBindingResponse, UserInfoData, UserInfoResponse, VerifyEmailRequest };
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { JsonFetcher } from "../core/types.mjs";
|
|
2
|
+
import { BillingMutationResponse, CancelSubscriptionByMemberCardIdRequest, CancelSubscriptionByMemberCardIdResponse, CancelSubscriptionRequest, CapturePaypalOrderRequest, CreateOrderRequest, CreateOrderResponse, CreateOrderV2Request, CreatePaypalOrderRequest, CreatePaypalOrderResponse, CreatePaypalSubscriptionResponse, CustomerPortalRequest, CustomerPortalResponse, ManageSubscriptionRequest, ManageSubscriptionResponse, OrderHistoryItem, OrderHistoryRequest, OrderHistoryResponse, PaymentVendor, SubscriptionUpgradeData, SubscriptionUpgradeRequest, SubscriptionUpgradeResponse, UpgradeSubscriptionRequest } from "./types.mjs";
|
|
3
|
+
//#region src/billing/index.d.ts
|
|
4
|
+
declare const BILLING_ROUTES: {
|
|
5
|
+
readonly createOrder: '/draw/memberCardOrder';
|
|
6
|
+
readonly createOrderV2: '/draw/memberCardOrder/createOrderV2';
|
|
7
|
+
readonly checkIn: '/signIn';
|
|
8
|
+
readonly customerPortal: '/draw/memberCardOrder/customerPortalSession';
|
|
9
|
+
readonly subscriptionUpgrade: '/draw/memberCardOrder/subscriptionUpgrade';
|
|
10
|
+
readonly upgradeSubscription: '/draw/memberCardOrder/upgradePay';
|
|
11
|
+
readonly createPaypalOrder: '/draw/memberCardOrder/paypal/createOrder';
|
|
12
|
+
readonly paypalOrder: '/draw/memberCardOrder/paypal';
|
|
13
|
+
readonly createPaypalSubscription: '/draw/memberCardOrder/paypal/subscription';
|
|
14
|
+
readonly manageSubscription: '/draw/memberCardOrder/allCustomer';
|
|
15
|
+
readonly cancelSubscription: '/draw/memberCardOrder/cancelSubscribe';
|
|
16
|
+
readonly orderHistory: '/draw/memberCardOrder/mylist';
|
|
17
|
+
};
|
|
18
|
+
declare function createBillingNetwork(appFetch: JsonFetcher): {
|
|
19
|
+
readonly createOrder: (request: CreateOrderRequest) => Promise<CreateOrderResponse>;
|
|
20
|
+
readonly createOrderV2: (request: CreateOrderV2Request) => Promise<CreateOrderResponse>;
|
|
21
|
+
readonly checkIn: () => Promise<BillingMutationResponse>;
|
|
22
|
+
readonly createCustomerPortal: (request: CustomerPortalRequest) => Promise<CustomerPortalResponse>;
|
|
23
|
+
readonly getSubscriptionUpgradeByMemberCardId: (request: SubscriptionUpgradeRequest) => Promise<SubscriptionUpgradeResponse>;
|
|
24
|
+
readonly upgradeSubscription: (request: UpgradeSubscriptionRequest) => Promise<BillingMutationResponse>;
|
|
25
|
+
readonly createPaypalOrder: (request: CreatePaypalOrderRequest) => Promise<CreatePaypalOrderResponse>;
|
|
26
|
+
readonly capturePaypalOrderById: (request: CapturePaypalOrderRequest) => Promise<BillingMutationResponse>;
|
|
27
|
+
readonly createPaypalSubscription: (request: CreatePaypalOrderRequest) => Promise<CreatePaypalSubscriptionResponse>;
|
|
28
|
+
readonly manageSubscription: (request: ManageSubscriptionRequest) => Promise<ManageSubscriptionResponse>;
|
|
29
|
+
readonly cancelSubscription: (request: CancelSubscriptionRequest) => Promise<BillingMutationResponse>;
|
|
30
|
+
readonly cancelSubscriptionByMemberCardId: (request: CancelSubscriptionByMemberCardIdRequest) => Promise<CancelSubscriptionByMemberCardIdResponse>;
|
|
31
|
+
readonly orderHistory: (request: OrderHistoryRequest) => Promise<OrderHistoryResponse>;
|
|
32
|
+
};
|
|
33
|
+
//#endregion
|
|
34
|
+
export { BILLING_ROUTES, type BillingMutationResponse, type CancelSubscriptionByMemberCardIdRequest, type CancelSubscriptionByMemberCardIdResponse, type CancelSubscriptionRequest, type CapturePaypalOrderRequest, type CreateOrderRequest, type CreateOrderResponse, type CreateOrderV2Request, type CreatePaypalOrderRequest, type CreatePaypalOrderResponse, type CreatePaypalSubscriptionResponse, type CustomerPortalRequest, type CustomerPortalResponse, type ManageSubscriptionRequest, type ManageSubscriptionResponse, type OrderHistoryItem, type OrderHistoryRequest, type OrderHistoryResponse, type PaymentVendor, type SubscriptionUpgradeData, type SubscriptionUpgradeRequest, type SubscriptionUpgradeResponse, type UpgradeSubscriptionRequest, createBillingNetwork };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e={createOrder:`/draw/memberCardOrder`,createOrderV2:`/draw/memberCardOrder/createOrderV2`,checkIn:`/signIn`,customerPortal:`/draw/memberCardOrder/customerPortalSession`,subscriptionUpgrade:`/draw/memberCardOrder/subscriptionUpgrade`,upgradeSubscription:`/draw/memberCardOrder/upgradePay`,createPaypalOrder:`/draw/memberCardOrder/paypal/createOrder`,paypalOrder:`/draw/memberCardOrder/paypal`,createPaypalSubscription:`/draw/memberCardOrder/paypal/subscription`,manageSubscription:`/draw/memberCardOrder/allCustomer`,cancelSubscription:`/draw/memberCardOrder/cancelSubscribe`,orderHistory:`/draw/memberCardOrder/mylist`};function t(t){return{createOrder(n){return t(e.createOrder,{body:n,method:`POST`})},createOrderV2(n){return t(e.createOrderV2,{body:n,method:`POST`})},checkIn(){return t(e.checkIn,{body:{},method:`POST`})},createCustomerPortal(n){return t(e.customerPortal,{body:n,method:`POST`})},getSubscriptionUpgradeByMemberCardId(n){return t(e.subscriptionUpgrade,{body:n,method:`POST`})},upgradeSubscription(n){return t(e.upgradeSubscription,{body:n,method:`POST`})},createPaypalOrder(n){return t(e.createPaypalOrder,{body:n,method:`POST`})},capturePaypalOrderById(n){return t(`${e.paypalOrder}/${n.orderId}/capture`,{method:`POST`})},createPaypalSubscription(n){return t(e.createPaypalSubscription,{body:n,method:`POST`})},manageSubscription(n){return t(e.manageSubscription,{body:n,method:`POST`})},cancelSubscription(n){return t(e.cancelSubscription,{body:n,method:`POST`})},cancelSubscriptionByMemberCardId(n){return t([e.cancelSubscription,n],{method:`GET`})},orderHistory(n){return t([e.orderHistory,n],{method:`GET`})}}}export{e as BILLING_ROUTES,t as createBillingNetwork};
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import { ResponseData, ResponseRows } from "../shared-types.mjs";
|
|
2
|
+
//#region src/billing/types.d.ts
|
|
3
|
+
type PaymentVendor = 'stripe' | 'pay_pro_global' | 'paypal' | 'google_pay' | 'apple_pay' | 'creem' | 'ai_302' | 'antom' | 'kyren';
|
|
4
|
+
interface CreateOrderRequest extends Record<string, unknown> {
|
|
5
|
+
readonly memberCardId: string;
|
|
6
|
+
readonly successUrl: string;
|
|
7
|
+
readonly cancelUrl: string;
|
|
8
|
+
readonly referral?: string;
|
|
9
|
+
readonly paymentType: PaymentVendor;
|
|
10
|
+
}
|
|
11
|
+
interface CreateOrderV2Request extends CreateOrderRequest {
|
|
12
|
+
readonly cfToken: string;
|
|
13
|
+
}
|
|
14
|
+
interface CustomerPortalRequest extends Record<string, unknown> {
|
|
15
|
+
readonly returnUrl: string;
|
|
16
|
+
}
|
|
17
|
+
interface SubscriptionUpgradeRequest extends Record<string, unknown> {
|
|
18
|
+
readonly memberCardId: string;
|
|
19
|
+
}
|
|
20
|
+
interface SubscriptionUpgradeData {
|
|
21
|
+
readonly addCredit: number;
|
|
22
|
+
readonly afterOfAmount: number;
|
|
23
|
+
readonly afterOfAmountDescription: string;
|
|
24
|
+
readonly aheadOfAmount: number;
|
|
25
|
+
readonly aheadOfAmountDescription: string;
|
|
26
|
+
readonly expirationTime: number;
|
|
27
|
+
readonly memberCardOrderId: string;
|
|
28
|
+
readonly priceId: string;
|
|
29
|
+
readonly priceSpread: number;
|
|
30
|
+
readonly prorationDate: string;
|
|
31
|
+
readonly subscriptionId: string;
|
|
32
|
+
readonly upgradeAmount: number;
|
|
33
|
+
readonly upgradeAmountDescription: string;
|
|
34
|
+
}
|
|
35
|
+
interface UpgradeSubscriptionRequest extends Record<string, unknown> {
|
|
36
|
+
readonly priceId: string;
|
|
37
|
+
readonly prorationDate: string;
|
|
38
|
+
readonly subscriptionId: string;
|
|
39
|
+
readonly memberCardOrderId: string;
|
|
40
|
+
}
|
|
41
|
+
interface CreatePaypalOrderRequest extends Record<string, unknown> {
|
|
42
|
+
readonly memberCardId: string;
|
|
43
|
+
readonly paymentType: PaymentVendor;
|
|
44
|
+
readonly successUrl: string;
|
|
45
|
+
readonly cancelUrl: string;
|
|
46
|
+
}
|
|
47
|
+
interface CapturePaypalOrderRequest {
|
|
48
|
+
readonly orderId: string;
|
|
49
|
+
}
|
|
50
|
+
interface ManageSubscriptionRequest extends Record<string, unknown> {
|
|
51
|
+
readonly paymentType: PaymentVendor;
|
|
52
|
+
readonly returnUrl: string;
|
|
53
|
+
}
|
|
54
|
+
interface CancelSubscriptionRequest extends Record<string, unknown> {
|
|
55
|
+
readonly paymentType: PaymentVendor;
|
|
56
|
+
readonly reason?: number;
|
|
57
|
+
}
|
|
58
|
+
interface CancelSubscriptionByMemberCardIdRequest extends Record<string, unknown> {
|
|
59
|
+
readonly memberCardId: string;
|
|
60
|
+
}
|
|
61
|
+
interface OrderHistoryRequest extends Record<string, unknown> {
|
|
62
|
+
readonly pageNum: number;
|
|
63
|
+
readonly pageSize: number;
|
|
64
|
+
readonly earliest?: boolean;
|
|
65
|
+
readonly search?: string;
|
|
66
|
+
readonly isNeedStatus?: boolean;
|
|
67
|
+
}
|
|
68
|
+
interface OrderHistoryItem {
|
|
69
|
+
readonly amount: number;
|
|
70
|
+
readonly credits: number;
|
|
71
|
+
readonly expireTime: number;
|
|
72
|
+
readonly id: string;
|
|
73
|
+
readonly memberCardId: string;
|
|
74
|
+
readonly status: number;
|
|
75
|
+
readonly time: number;
|
|
76
|
+
readonly transactionNo: string;
|
|
77
|
+
readonly paymentSource: 'app' | 'web';
|
|
78
|
+
readonly memberCardType: 'free' | 'monthly' | 'yearly' | 'one-time';
|
|
79
|
+
}
|
|
80
|
+
type CreateOrderResponse = ResponseData<string>;
|
|
81
|
+
type BillingMutationResponse = ResponseData<null>;
|
|
82
|
+
type CustomerPortalResponse = ResponseData<{
|
|
83
|
+
readonly customerPortalSessionUrl: string;
|
|
84
|
+
}>;
|
|
85
|
+
type SubscriptionUpgradeResponse = ResponseData<SubscriptionUpgradeData>;
|
|
86
|
+
type CreatePaypalOrderResponse = ResponseData<{
|
|
87
|
+
readonly orderId: string;
|
|
88
|
+
}>;
|
|
89
|
+
type CreatePaypalSubscriptionResponse = ResponseData<{
|
|
90
|
+
readonly customId: string;
|
|
91
|
+
readonly planId: string;
|
|
92
|
+
}>;
|
|
93
|
+
type ManageSubscriptionResponse = ResponseData<{
|
|
94
|
+
readonly url: string | null;
|
|
95
|
+
}>;
|
|
96
|
+
type CancelSubscriptionByMemberCardIdResponse = ResponseData<unknown>;
|
|
97
|
+
type OrderHistoryResponse = ResponseRows<readonly OrderHistoryItem[]>;
|
|
98
|
+
//#endregion
|
|
99
|
+
export { BillingMutationResponse, CancelSubscriptionByMemberCardIdRequest, CancelSubscriptionByMemberCardIdResponse, CancelSubscriptionRequest, CapturePaypalOrderRequest, CreateOrderRequest, CreateOrderResponse, CreateOrderV2Request, CreatePaypalOrderRequest, CreatePaypalOrderResponse, CreatePaypalSubscriptionResponse, CustomerPortalRequest, CustomerPortalResponse, ManageSubscriptionRequest, ManageSubscriptionResponse, OrderHistoryItem, OrderHistoryRequest, OrderHistoryResponse, PaymentVendor, SubscriptionUpgradeData, SubscriptionUpgradeRequest, SubscriptionUpgradeResponse, UpgradeSubscriptionRequest };
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { JsonFetcher } from "../core/types.mjs";
|
|
2
|
+
import { BlogDetail, BlogDetailRequest, BlogDetailResponse, BlogIdsResponse, BlogListData, BlogListItem, BlogListRequest, BlogListResponse, BlogModule, BlogRecommendItem, BlogRecommendRequest, BlogRecommendResponse, BlogVoteRequest, BlogVoteResponse, RecommendedBlog } from "./types.mjs";
|
|
3
|
+
//#region src/blog/index.d.ts
|
|
4
|
+
declare const BLOG_ROUTES: {
|
|
5
|
+
readonly list: '/blog/blog/blog_and_moduleV2';
|
|
6
|
+
readonly detail: '/blog/blog';
|
|
7
|
+
readonly recommend: '/blog/blog/blogRecommend';
|
|
8
|
+
readonly allIds: '/blog/blog/blogAll';
|
|
9
|
+
readonly vote: '/blog/blog/votes';
|
|
10
|
+
};
|
|
11
|
+
declare function createBlogNetwork(appFetch: JsonFetcher): {
|
|
12
|
+
readonly list: (request: BlogListRequest) => Promise<BlogListResponse>;
|
|
13
|
+
readonly getById: (request: BlogDetailRequest) => Promise<BlogDetailResponse>;
|
|
14
|
+
readonly recommend: (request: BlogRecommendRequest) => Promise<BlogRecommendResponse>;
|
|
15
|
+
readonly allIds: () => Promise<BlogIdsResponse>;
|
|
16
|
+
readonly vote: (request: BlogVoteRequest) => Promise<BlogVoteResponse>;
|
|
17
|
+
};
|
|
18
|
+
//#endregion
|
|
19
|
+
export { BLOG_ROUTES, type BlogDetail, type BlogDetailRequest, type BlogDetailResponse, type BlogIdsResponse, type BlogListData, type BlogListItem, type BlogListRequest, type BlogListResponse, type BlogModule, type BlogRecommendItem, type BlogRecommendRequest, type BlogRecommendResponse, type BlogVoteRequest, type BlogVoteResponse, type RecommendedBlog, createBlogNetwork };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e={list:`/blog/blog/blog_and_moduleV2`,detail:`/blog/blog`,recommend:`/blog/blog/blogRecommend`,allIds:`/blog/blog/blogAll`,vote:`/blog/blog/votes`};function t(t){return{list(n){return t([e.list,n],{method:`GET`})},getById(n){return t([e.detail,n],{method:`GET`})},recommend(n){return t([e.recommend,n],{method:`GET`})},allIds(){return t(e.allIds,{method:`GET`})},vote(n){return t(e.vote,{body:n,method:`POST`})}}}export{e as BLOG_ROUTES,t as createBlogNetwork};
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
import { ResponseData, ResponseRows } from "../shared-types.mjs";
|
|
2
|
+
//#region src/blog/types.d.ts
|
|
3
|
+
interface BlogListRequest extends Record<string, unknown> {
|
|
4
|
+
readonly pageNum: number;
|
|
5
|
+
readonly pageSize: number;
|
|
6
|
+
readonly moduleNameId?: string;
|
|
7
|
+
readonly userType?: 1;
|
|
8
|
+
}
|
|
9
|
+
interface BlogModule {
|
|
10
|
+
readonly id: string;
|
|
11
|
+
readonly name: string;
|
|
12
|
+
readonly nameId: string;
|
|
13
|
+
readonly site: string;
|
|
14
|
+
}
|
|
15
|
+
interface BlogListItem {
|
|
16
|
+
readonly appVn: string;
|
|
17
|
+
readonly author: string;
|
|
18
|
+
readonly content: string;
|
|
19
|
+
readonly coverOssId: string;
|
|
20
|
+
readonly coverUrl: string;
|
|
21
|
+
readonly createTime: number;
|
|
22
|
+
readonly dbrand: string;
|
|
23
|
+
readonly description: string;
|
|
24
|
+
readonly detail: string;
|
|
25
|
+
readonly digest: string;
|
|
26
|
+
readonly dmodel: string;
|
|
27
|
+
readonly down: string;
|
|
28
|
+
readonly id: string;
|
|
29
|
+
readonly moduleId: string;
|
|
30
|
+
readonly nameId: string;
|
|
31
|
+
readonly osType: number;
|
|
32
|
+
readonly osVn: string;
|
|
33
|
+
readonly readingNum: string;
|
|
34
|
+
readonly site: string;
|
|
35
|
+
readonly title: string;
|
|
36
|
+
readonly up: number;
|
|
37
|
+
readonly updateTime: number;
|
|
38
|
+
readonly userType: number;
|
|
39
|
+
}
|
|
40
|
+
interface BlogListData {
|
|
41
|
+
readonly blogDtoList: readonly BlogListItem[];
|
|
42
|
+
readonly blogModuleDtoList: readonly BlogModule[];
|
|
43
|
+
}
|
|
44
|
+
interface BlogDetailRequest extends Record<string, unknown> {
|
|
45
|
+
readonly nameId: string;
|
|
46
|
+
}
|
|
47
|
+
interface RecommendedBlog {
|
|
48
|
+
readonly coverUrl: string;
|
|
49
|
+
readonly createTime: number;
|
|
50
|
+
readonly description: string;
|
|
51
|
+
readonly digest: string;
|
|
52
|
+
readonly down?: string;
|
|
53
|
+
readonly id: string;
|
|
54
|
+
readonly nameId: string;
|
|
55
|
+
readonly title: string;
|
|
56
|
+
readonly up: number | string;
|
|
57
|
+
readonly updateTime: number;
|
|
58
|
+
}
|
|
59
|
+
interface BlogDetail {
|
|
60
|
+
readonly appVn: null;
|
|
61
|
+
readonly author: string;
|
|
62
|
+
readonly content?: string;
|
|
63
|
+
readonly coverOssId: string;
|
|
64
|
+
readonly coverUrl: string;
|
|
65
|
+
readonly createTime: number;
|
|
66
|
+
readonly dbrand: null;
|
|
67
|
+
readonly description: string;
|
|
68
|
+
readonly detail: string;
|
|
69
|
+
readonly digest: string;
|
|
70
|
+
readonly dmodel: null;
|
|
71
|
+
readonly down?: number;
|
|
72
|
+
readonly id: string;
|
|
73
|
+
readonly moduleId: string;
|
|
74
|
+
readonly nameId: string;
|
|
75
|
+
readonly osType: null;
|
|
76
|
+
readonly osVn: null;
|
|
77
|
+
readonly metaTitle: string;
|
|
78
|
+
readonly metaDescription: string;
|
|
79
|
+
readonly pageTitle: string;
|
|
80
|
+
readonly pageDescription: string;
|
|
81
|
+
readonly readingNum: number;
|
|
82
|
+
readonly site: string;
|
|
83
|
+
readonly title: string;
|
|
84
|
+
readonly up: number;
|
|
85
|
+
readonly updateTime: number;
|
|
86
|
+
readonly userType: null;
|
|
87
|
+
readonly recommendBlogList: readonly RecommendedBlog[] | null;
|
|
88
|
+
}
|
|
89
|
+
interface BlogRecommendRequest extends Record<string, unknown> {
|
|
90
|
+
readonly path: string;
|
|
91
|
+
readonly pageNum: number;
|
|
92
|
+
readonly pageSize: number;
|
|
93
|
+
}
|
|
94
|
+
interface BlogRecommendItem {
|
|
95
|
+
readonly coverUrl: string;
|
|
96
|
+
readonly createTime: number;
|
|
97
|
+
readonly description: string;
|
|
98
|
+
readonly digest: string;
|
|
99
|
+
readonly down: number;
|
|
100
|
+
readonly id: string;
|
|
101
|
+
readonly nameId: string;
|
|
102
|
+
readonly tags: readonly string[] | null;
|
|
103
|
+
readonly title: string;
|
|
104
|
+
readonly up: number;
|
|
105
|
+
readonly updateTime: number;
|
|
106
|
+
}
|
|
107
|
+
interface BlogVoteRequest extends Record<string, unknown> {
|
|
108
|
+
readonly action: 'up' | 'down';
|
|
109
|
+
readonly nameId: string;
|
|
110
|
+
}
|
|
111
|
+
type BlogListResponse = ResponseData<ResponseRows<BlogListData>>;
|
|
112
|
+
type BlogDetailResponse = ResponseData<BlogDetail>;
|
|
113
|
+
type BlogRecommendResponse = ResponseRows<readonly BlogRecommendItem[]>;
|
|
114
|
+
type BlogIdsResponse = ResponseData<readonly string[]>;
|
|
115
|
+
type BlogVoteResponse = ResponseData<null>;
|
|
116
|
+
//#endregion
|
|
117
|
+
export { BlogDetail, BlogDetailRequest, BlogDetailResponse, BlogIdsResponse, BlogListData, BlogListItem, BlogListRequest, BlogListResponse, BlogModule, BlogRecommendItem, BlogRecommendRequest, BlogRecommendResponse, BlogVoteRequest, BlogVoteResponse, RecommendedBlog };
|
package/dist/client.mjs
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{createJsonFetch as e}from"./core/create-json-fetch.mjs";function t(t){return e(t)}export{t as createClientFetch};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { JsonFetcher } from "../core/types.mjs";
|
|
2
|
+
import { AddMediaToCollectionRequest, CollectionListItem, CollectionListRequest, CollectionListResponse, CollectionMutationResponse, CreateCollectionRequest, DeleteCollectionRequest, MediaCollectionData, MediaType, RemoveMediaFromCollectionRequest, UpdateCollectionRequest } from "./types.mjs";
|
|
3
|
+
//#region src/collection/index.d.ts
|
|
4
|
+
declare const COLLECTION_ROUTES: {
|
|
5
|
+
readonly add: '/collection/add';
|
|
6
|
+
readonly update: '/collection/updateCollection';
|
|
7
|
+
readonly delete: '/collection/delete';
|
|
8
|
+
readonly addMedia: '/collection/addMedia';
|
|
9
|
+
readonly removeMedia: '/collection/removeMedia';
|
|
10
|
+
readonly list: '/collection/list';
|
|
11
|
+
};
|
|
12
|
+
declare function createCollectionNetwork(appFetch: JsonFetcher): {
|
|
13
|
+
readonly create: (request: CreateCollectionRequest) => Promise<CollectionMutationResponse>;
|
|
14
|
+
readonly update: (request: UpdateCollectionRequest) => Promise<CollectionMutationResponse>;
|
|
15
|
+
readonly deleteById: (request: DeleteCollectionRequest) => Promise<CollectionMutationResponse>;
|
|
16
|
+
readonly addMedia: (request: AddMediaToCollectionRequest) => Promise<CollectionMutationResponse>;
|
|
17
|
+
readonly removeMedia: (request: RemoveMediaFromCollectionRequest) => Promise<CollectionMutationResponse>;
|
|
18
|
+
readonly list: (request: CollectionListRequest) => Promise<CollectionListResponse>;
|
|
19
|
+
};
|
|
20
|
+
//#endregion
|
|
21
|
+
export { type AddMediaToCollectionRequest, COLLECTION_ROUTES, type CollectionListItem, type CollectionListRequest, type CollectionListResponse, type CollectionMutationResponse, type CreateCollectionRequest, type DeleteCollectionRequest, type MediaCollectionData, type MediaType, type RemoveMediaFromCollectionRequest, type UpdateCollectionRequest, createCollectionNetwork };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{compactRequest as e}from"../core/compact-request.mjs";const t={add:`/collection/add`,update:`/collection/updateCollection`,delete:`/collection/delete`,addMedia:`/collection/addMedia`,removeMedia:`/collection/removeMedia`,list:`/collection/list`};function n(n){return{create(r){return n(t.add,{body:e(r),method:`POST`})},update(r){return n(t.update,{body:e(r),method:`POST`})},deleteById(r){return n(t.delete,{body:e(r),method:`POST`})},addMedia(r){return n(t.addMedia,{body:e(r),method:`POST`})},removeMedia(r){return n(t.removeMedia,{body:e(r),method:`POST`})},list(e){return n([t.list,e],{method:`GET`})}}}export{t as COLLECTION_ROUTES,n as createCollectionNetwork};
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { ResponseBase, ResponseRows } from "../shared-types.mjs";
|
|
2
|
+
//#region src/collection/types.d.ts
|
|
3
|
+
type MediaType = 'image' | 'video' | 'music';
|
|
4
|
+
interface MediaCollectionData {
|
|
5
|
+
readonly collectionId: string;
|
|
6
|
+
readonly collectionName: string;
|
|
7
|
+
}
|
|
8
|
+
interface CreateCollectionRequest extends Record<string, unknown> {
|
|
9
|
+
readonly name: string;
|
|
10
|
+
readonly mediaType: MediaType;
|
|
11
|
+
}
|
|
12
|
+
interface UpdateCollectionRequest extends CreateCollectionRequest {
|
|
13
|
+
readonly collectionId: string;
|
|
14
|
+
}
|
|
15
|
+
interface DeleteCollectionRequest extends Record<string, unknown> {
|
|
16
|
+
readonly collectionId: string;
|
|
17
|
+
}
|
|
18
|
+
interface AddMediaToCollectionRequest extends DeleteCollectionRequest {
|
|
19
|
+
readonly mediaId: string;
|
|
20
|
+
readonly mediaType: MediaType;
|
|
21
|
+
}
|
|
22
|
+
interface RemoveMediaFromCollectionRequest extends DeleteCollectionRequest {
|
|
23
|
+
readonly mediaId: string;
|
|
24
|
+
}
|
|
25
|
+
type CollectionMutationResponse = ResponseBase<Record<string, never>>;
|
|
26
|
+
interface CollectionListRequest extends Record<string, unknown> {
|
|
27
|
+
readonly mediaType: MediaType;
|
|
28
|
+
readonly pageNum?: number;
|
|
29
|
+
readonly pageSize?: number;
|
|
30
|
+
}
|
|
31
|
+
interface CollectionListItem {
|
|
32
|
+
readonly id: string;
|
|
33
|
+
readonly mediaType: MediaType;
|
|
34
|
+
readonly name: string;
|
|
35
|
+
}
|
|
36
|
+
type CollectionListResponse = ResponseRows<readonly CollectionListItem[]>;
|
|
37
|
+
//#endregion
|
|
38
|
+
export { AddMediaToCollectionRequest, CollectionListItem, CollectionListRequest, CollectionListResponse, CollectionMutationResponse, CreateCollectionRequest, DeleteCollectionRequest, MediaCollectionData, MediaType, RemoveMediaFromCollectionRequest, UpdateCollectionRequest };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function e(e){return Object.fromEntries(Object.entries(e).filter(([,e])=>e!==``&&e!=null))}export{e as compactRequest};
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { CreateGetFetcherOptions, FetcherKey, JsonFetcher } from "./types.mjs";
|
|
2
|
+
//#region src/core/create-get-fetcher.d.ts
|
|
3
|
+
declare function createGetFetcher<TResponse = unknown>(appFetch: JsonFetcher, options?: CreateGetFetcherOptions): (key: FetcherKey) => Promise<TResponse>;
|
|
4
|
+
//#endregion
|
|
5
|
+
export { createGetFetcher };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function e(e,t){return n=>e(n,{...t?.requestOptions,method:`GET`})}export{e as createGetFetcher};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{mergeRequestData as e}from"./merge-request-data.mjs";import{appendQueryString as t}from"./query-string.mjs";function n(e){if(typeof e!=`object`||!e||Array.isArray(e))return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null}function r(e){return typeof e==`string`?{endpoint:e}:{endpoint:e[0],data:e[1]}}function i(i){return async(a,o={})=>{let{body:s,enableAuthorization:c=i.defaultEnableAuthorization??!1,headers:l,method:u,...d}=o;if(s!==void 0&&!n(s))throw TypeError(`@flaqai/network supports only plain JSON object request bodies`);let[f,p,m,h,g]=await Promise.all([i.getBaseUrl(),i.getBaseRequestData?.(),i.getAuthorization?.(),i.getContentLanguage?.(),i.getDefaultHeaders?.()]),{endpoint:_,data:v}=r(a),y=u?.toUpperCase()??`GET`,b=new Headers(g);h!==void 0&&b.set(`Content-Language`,h),new Headers(l).forEach((e,t)=>{b.set(t,e)}),c&&m!==void 0&&!b.has(`authorization`)&&b.set(`authorization`,m);let x=`${f}${_}`,S;if(y===`GET`||y===`HEAD`)x=t(x,e(p,v,s));else{let t=e(p,v,s);Object.keys(t).length>0&&(S=JSON.stringify(t))}return await(await(i.fetch??globalThis.fetch)(x,{...d,headers:b,method:y,...S===void 0?{}:{body:S}})).json()}}export{i as createJsonFetch};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function e(...e){return Object.assign({},...e.filter(e=>e!==void 0))}export{e as mergeRequestData};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function e(t,n){return n==null||n===``?[]:Array.isArray(n)?n.flatMap(n=>e(t,n)):[`${encodeURIComponent(t)}=${encodeURIComponent(String(n))}`]}function t(t,n){let r=t.indexOf(`#`),i=r===-1?t:t.slice(0,r),a=r===-1?``:t.slice(r),o=Object.keys(n).toSorted().flatMap(t=>e(t,n[t])).join(`&`);return o===``?t:`${i}${i.includes(`?`)?i.endsWith(`?`)||i.endsWith(`&`)?``:`&`:`?`}${o}${a}`}export{t as appendQueryString};
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
//#region src/core/types.d.ts
|
|
2
|
+
type Awaitable<T> = T | Promise<T>;
|
|
3
|
+
type FetcherKey<TData extends Record<string, unknown> = Record<string, unknown>> = string | readonly [endpoint: string, data?: TData];
|
|
4
|
+
interface JsonFetchOptions extends Omit<RequestInit, 'body'> {
|
|
5
|
+
readonly body?: Readonly<Record<string, unknown>>;
|
|
6
|
+
readonly enableAuthorization?: boolean;
|
|
7
|
+
}
|
|
8
|
+
interface JsonFetchRuntimeConfig {
|
|
9
|
+
readonly getBaseUrl: () => Awaitable<string>;
|
|
10
|
+
readonly getBaseRequestData?: () => Awaitable<Readonly<Record<string, unknown>>>;
|
|
11
|
+
readonly getAuthorization?: () => Awaitable<string | undefined>;
|
|
12
|
+
readonly getContentLanguage?: () => Awaitable<string | undefined>;
|
|
13
|
+
readonly getDefaultHeaders?: () => Awaitable<Readonly<Record<string, string>>>;
|
|
14
|
+
readonly defaultEnableAuthorization?: boolean;
|
|
15
|
+
readonly fetch?: typeof globalThis.fetch;
|
|
16
|
+
}
|
|
17
|
+
interface JsonFetcher {
|
|
18
|
+
<TResponse>(input: string | FetcherKey, options?: JsonFetchOptions): Promise<TResponse>;
|
|
19
|
+
}
|
|
20
|
+
interface JsonRequest extends JsonFetcher {}
|
|
21
|
+
interface CreateGetFetcherOptions {
|
|
22
|
+
readonly requestOptions?: Omit<JsonFetchOptions, 'body' | 'method'>;
|
|
23
|
+
}
|
|
24
|
+
//#endregion
|
|
25
|
+
export { Awaitable, CreateGetFetcherOptions, FetcherKey, JsonFetchOptions, JsonFetchRuntimeConfig, JsonFetcher, JsonRequest };
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { JsonFetcher } from "../core/types.mjs";
|
|
2
|
+
import { SendFeedbackRequest, SendFeedbackResponse } from "./types.mjs";
|
|
3
|
+
//#region src/feedback/index.d.ts
|
|
4
|
+
declare const FEEDBACK_ROUTE = "/feedback";
|
|
5
|
+
declare function createFeedbackNetwork(appFetch: JsonFetcher): {
|
|
6
|
+
readonly send: (request: SendFeedbackRequest) => Promise<SendFeedbackResponse>;
|
|
7
|
+
};
|
|
8
|
+
//#endregion
|
|
9
|
+
export { FEEDBACK_ROUTE, type SendFeedbackRequest, type SendFeedbackResponse, createFeedbackNetwork };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=`/feedback`;function t(t){return{send(n){return t(e,{body:n,method:`POST`})}}}export{e as FEEDBACK_ROUTE,t as createFeedbackNetwork};
|