@dvina/billing-sdk 0.0.1
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/index.d.ts +133 -0
- package/dist/client/index.d.ts.map +1 -0
- package/dist/client/index.js +113 -0
- package/dist/client/index.js.map +1 -0
- package/dist/client/subscription/stream.d.ts +5 -0
- package/dist/client/subscription/stream.d.ts.map +1 -0
- package/dist/client/subscription/stream.js +121 -0
- package/dist/client/subscription/stream.js.map +1 -0
- package/dist/client/subscription/transport.d.ts +24 -0
- package/dist/client/subscription/transport.d.ts.map +1 -0
- package/dist/client/subscription/transport.js +80 -0
- package/dist/client/subscription/transport.js.map +1 -0
- package/dist/client/types.d.ts +17 -0
- package/dist/client/types.d.ts.map +1 -0
- package/dist/client/types.js +3 -0
- package/dist/client/types.js.map +1 -0
- package/dist/generated/sdk.d.ts +427 -0
- package/dist/generated/sdk.d.ts.map +1 -0
- package/dist/generated/sdk.js +246 -0
- package/dist/generated/sdk.js.map +1 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +13 -0
- package/dist/index.js.map +1 -0
- package/package.json +39 -0
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
import { AddSeatsMutationVariables, ChangeBillingCycleMutationVariables, CreateCheckoutSessionMutationVariables, DowngradePlanMutationVariables, EntitlementDetail, EntitlementTier, PlanQueryVariables, RemoveSeatsMutationVariables, UpgradePlanMutationVariables } from '../generated/sdk';
|
|
2
|
+
import type { BillingClientConfig, SubscriptionStream } from './types';
|
|
3
|
+
export declare class DvinaBillingSDK {
|
|
4
|
+
private readonly endpoint;
|
|
5
|
+
private httpClient;
|
|
6
|
+
private sdk;
|
|
7
|
+
private authToken?;
|
|
8
|
+
private readonly transport;
|
|
9
|
+
private readonly subscriptionStreams;
|
|
10
|
+
constructor(config: BillingClientConfig);
|
|
11
|
+
setToken(token: string | undefined): this;
|
|
12
|
+
get plans(): {
|
|
13
|
+
list: () => Promise<{
|
|
14
|
+
id: string;
|
|
15
|
+
name: string;
|
|
16
|
+
tier?: EntitlementTier | null | undefined;
|
|
17
|
+
features?: any;
|
|
18
|
+
prices: {
|
|
19
|
+
id: string;
|
|
20
|
+
currency: string;
|
|
21
|
+
amount?: number | null | undefined;
|
|
22
|
+
interval?: import("../generated/sdk").PriceInterval | null | undefined;
|
|
23
|
+
}[];
|
|
24
|
+
entitlements: {
|
|
25
|
+
canAddUser: boolean;
|
|
26
|
+
minUsers?: number | null | undefined;
|
|
27
|
+
team: boolean;
|
|
28
|
+
capacity?: number | null | undefined;
|
|
29
|
+
sourceTypes?: string[] | null | undefined;
|
|
30
|
+
softTokenUsageLimit?: number | null | undefined;
|
|
31
|
+
hardTokenUsageLimit?: number | null | undefined;
|
|
32
|
+
softWebSearchLimit?: number | null | undefined;
|
|
33
|
+
hardWebSearchLimit?: number | null | undefined;
|
|
34
|
+
canAddReport: boolean;
|
|
35
|
+
canUseApi: boolean;
|
|
36
|
+
maxStructuredSize?: number | null | undefined;
|
|
37
|
+
maxUnstructuredSize?: number | null | undefined;
|
|
38
|
+
};
|
|
39
|
+
}[]>;
|
|
40
|
+
get: (variables: PlanQueryVariables) => Promise<{
|
|
41
|
+
id: string;
|
|
42
|
+
name: string;
|
|
43
|
+
tier?: EntitlementTier | null | undefined;
|
|
44
|
+
features?: any;
|
|
45
|
+
prices: {
|
|
46
|
+
id: string;
|
|
47
|
+
currency: string;
|
|
48
|
+
amount?: number | null | undefined;
|
|
49
|
+
interval?: import("../generated/sdk").PriceInterval | null | undefined;
|
|
50
|
+
}[];
|
|
51
|
+
entitlements: {
|
|
52
|
+
canAddUser: boolean;
|
|
53
|
+
minUsers?: number | null | undefined;
|
|
54
|
+
team: boolean;
|
|
55
|
+
capacity?: number | null | undefined;
|
|
56
|
+
sourceTypes?: string[] | null | undefined;
|
|
57
|
+
softTokenUsageLimit?: number | null | undefined;
|
|
58
|
+
hardTokenUsageLimit?: number | null | undefined;
|
|
59
|
+
softWebSearchLimit?: number | null | undefined;
|
|
60
|
+
hardWebSearchLimit?: number | null | undefined;
|
|
61
|
+
canAddReport: boolean;
|
|
62
|
+
canUseApi: boolean;
|
|
63
|
+
maxStructuredSize?: number | null | undefined;
|
|
64
|
+
maxUnstructuredSize?: number | null | undefined;
|
|
65
|
+
};
|
|
66
|
+
} | null | undefined>;
|
|
67
|
+
entitlements: () => Promise<Record<EntitlementTier, EntitlementDetail>>;
|
|
68
|
+
tierOrders: () => Promise<any>;
|
|
69
|
+
};
|
|
70
|
+
get subscription(): {
|
|
71
|
+
get: () => Promise<{
|
|
72
|
+
tier: EntitlementTier;
|
|
73
|
+
provider?: import("../generated/sdk").SubscriptionProvider | null | undefined;
|
|
74
|
+
cycle?: import("../generated/sdk").SubscriptionCycle | null | undefined;
|
|
75
|
+
seats: number;
|
|
76
|
+
cancelAtPeriodEnd?: boolean | null | undefined;
|
|
77
|
+
currentPeriodEnd?: any;
|
|
78
|
+
scheduledChange?: {
|
|
79
|
+
effectiveDate: any;
|
|
80
|
+
newTier?: EntitlementTier | null | undefined;
|
|
81
|
+
newSeats?: number | null | undefined;
|
|
82
|
+
newCycle?: import("../generated/sdk").SubscriptionCycle | null | undefined;
|
|
83
|
+
} | null | undefined;
|
|
84
|
+
}>;
|
|
85
|
+
updates: SubscriptionStream<{
|
|
86
|
+
tier: EntitlementTier;
|
|
87
|
+
provider?: import("../generated/sdk").SubscriptionProvider | null | undefined;
|
|
88
|
+
cycle?: import("../generated/sdk").SubscriptionCycle | null | undefined;
|
|
89
|
+
seats: number;
|
|
90
|
+
cancelAtPeriodEnd?: boolean | null | undefined;
|
|
91
|
+
currentPeriodEnd?: any;
|
|
92
|
+
scheduledChange?: {
|
|
93
|
+
effectiveDate: any;
|
|
94
|
+
newTier?: EntitlementTier | null | undefined;
|
|
95
|
+
newSeats?: number | null | undefined;
|
|
96
|
+
newCycle?: import("../generated/sdk").SubscriptionCycle | null | undefined;
|
|
97
|
+
} | null | undefined;
|
|
98
|
+
}>;
|
|
99
|
+
entitlements: () => Promise<{
|
|
100
|
+
canAddUser: boolean;
|
|
101
|
+
minUsers?: number | null | undefined;
|
|
102
|
+
team: boolean;
|
|
103
|
+
capacity?: number | null | undefined;
|
|
104
|
+
sourceTypes?: string[] | null | undefined;
|
|
105
|
+
softTokenUsageLimit?: number | null | undefined;
|
|
106
|
+
hardTokenUsageLimit?: number | null | undefined;
|
|
107
|
+
softWebSearchLimit?: number | null | undefined;
|
|
108
|
+
hardWebSearchLimit?: number | null | undefined;
|
|
109
|
+
canAddReport: boolean;
|
|
110
|
+
canUseApi: boolean;
|
|
111
|
+
maxStructuredSize?: number | null | undefined;
|
|
112
|
+
maxUnstructuredSize?: number | null | undefined;
|
|
113
|
+
}>;
|
|
114
|
+
upgrade: (variables: UpgradePlanMutationVariables) => Promise<boolean>;
|
|
115
|
+
downgrade: (variables: DowngradePlanMutationVariables) => Promise<boolean>;
|
|
116
|
+
changeBillingCycle: (variables: ChangeBillingCycleMutationVariables) => Promise<boolean>;
|
|
117
|
+
cancel: () => Promise<boolean>;
|
|
118
|
+
reactivate: () => Promise<boolean>;
|
|
119
|
+
releaseSchedule: () => Promise<boolean>;
|
|
120
|
+
};
|
|
121
|
+
get seats(): {
|
|
122
|
+
add: (variables: AddSeatsMutationVariables) => Promise<boolean>;
|
|
123
|
+
remove: (variables: RemoveSeatsMutationVariables) => Promise<boolean>;
|
|
124
|
+
};
|
|
125
|
+
get checkout(): {
|
|
126
|
+
createSession: (variables: CreateCheckoutSessionMutationVariables) => Promise<{
|
|
127
|
+
url: string;
|
|
128
|
+
}>;
|
|
129
|
+
};
|
|
130
|
+
}
|
|
131
|
+
export default DvinaBillingSDK;
|
|
132
|
+
export type { BillingClientConfig, SubscriptionStreamOptions, SubscriptionSink, SubscriptionStream } from './types';
|
|
133
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AACA,OAAO,EACN,yBAAyB,EACzB,mCAAmC,EACnC,sCAAsC,EACtC,8BAA8B,EAC9B,iBAAiB,EACjB,eAAe,EAEf,kBAAkB,EAClB,4BAA4B,EAI5B,4BAA4B,EAC5B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAIvE,qBAAa,eAAe;IAC3B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,UAAU,CAAgB;IAClC,OAAO,CAAC,GAAG,CAAM;IACjB,OAAO,CAAC,SAAS,CAAC,CAAS;IAC3B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAwB;IAClD,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAElC;gBAEU,MAAM,EAAE,mBAAmB;IAiBvC,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS;IAelC,IAAI,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;yBAMgB,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;4BAIjB,QAAQ,OAAO,eAAe,EAAE,iBAAiB,CAAC,CAAC;;MAS5E;IAGD,IAAI,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6BAWa,4BAA4B;+BAI1B,8BAA8B;wCAIrB,mCAAmC;;;;MAiB1E;IAGD,IAAI,KAAK;yBAEgB,yBAAyB;4BAItB,4BAA4B;MAKvD;IAGD,IAAI,QAAQ;mCAEuB,sCAAsC;;;MAKxE;CACD;AAED,eAAe,eAAe,CAAC;AAE/B,YAAY,EAAE,mBAAmB,EAAE,yBAAyB,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC"}
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DvinaBillingSDK = void 0;
|
|
4
|
+
const graphql_request_1 = require("graphql-request");
|
|
5
|
+
const sdk_1 = require("../generated/sdk");
|
|
6
|
+
const transport_1 = require("./subscription/transport");
|
|
7
|
+
const stream_1 = require("./subscription/stream");
|
|
8
|
+
class DvinaBillingSDK {
|
|
9
|
+
constructor(config) {
|
|
10
|
+
this.endpoint = config.endpoint;
|
|
11
|
+
this.httpClient = new graphql_request_1.GraphQLClient(this.endpoint);
|
|
12
|
+
this.sdk = (0, sdk_1.getSdk)(this.httpClient);
|
|
13
|
+
this.transport = new transport_1.SubscriptionTransport({
|
|
14
|
+
endpoint: this.endpoint,
|
|
15
|
+
getAuthorization: () => (this.authToken ? `Bearer ${this.authToken}` : undefined),
|
|
16
|
+
});
|
|
17
|
+
this.subscriptionStreams = {
|
|
18
|
+
updates: (0, stream_1.createSubscriptionStream)(this.transport, sdk_1.SubscriptionUpdatesDocument, (data) => data.subscription ?? undefined),
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
setToken(token) {
|
|
22
|
+
this.authToken = token || undefined;
|
|
23
|
+
if (token) {
|
|
24
|
+
this.httpClient.setHeader('Authorization', `Bearer ${token}`);
|
|
25
|
+
}
|
|
26
|
+
else {
|
|
27
|
+
this.httpClient = new graphql_request_1.GraphQLClient(this.endpoint);
|
|
28
|
+
this.sdk = (0, sdk_1.getSdk)(this.httpClient);
|
|
29
|
+
}
|
|
30
|
+
this.transport.reset();
|
|
31
|
+
return this;
|
|
32
|
+
}
|
|
33
|
+
get plans() {
|
|
34
|
+
return {
|
|
35
|
+
list: async () => {
|
|
36
|
+
const result = await this.sdk.Plans();
|
|
37
|
+
return result.plans;
|
|
38
|
+
},
|
|
39
|
+
get: async (variables) => {
|
|
40
|
+
const result = await this.sdk.Plan(variables);
|
|
41
|
+
return result.plan;
|
|
42
|
+
},
|
|
43
|
+
entitlements: async () => {
|
|
44
|
+
const result = await this.sdk.Entitlements();
|
|
45
|
+
return result.entitlements;
|
|
46
|
+
},
|
|
47
|
+
tierOrders: async () => {
|
|
48
|
+
const result = await this.sdk.TierOrders();
|
|
49
|
+
return result.tierOrders;
|
|
50
|
+
},
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
get subscription() {
|
|
54
|
+
return {
|
|
55
|
+
get: async () => {
|
|
56
|
+
const result = await this.sdk.Subscription();
|
|
57
|
+
return result.subscription;
|
|
58
|
+
},
|
|
59
|
+
updates: this.subscriptionStreams.updates,
|
|
60
|
+
entitlements: async () => {
|
|
61
|
+
const result = await this.sdk.SubscriptionEntitlements();
|
|
62
|
+
return result.subscriptionEntitlements;
|
|
63
|
+
},
|
|
64
|
+
upgrade: async (variables) => {
|
|
65
|
+
const result = await this.sdk.UpgradePlan(variables);
|
|
66
|
+
return result.upgradePlan;
|
|
67
|
+
},
|
|
68
|
+
downgrade: async (variables) => {
|
|
69
|
+
const result = await this.sdk.DowngradePlan(variables);
|
|
70
|
+
return result.downgradePlan;
|
|
71
|
+
},
|
|
72
|
+
changeBillingCycle: async (variables) => {
|
|
73
|
+
const result = await this.sdk.ChangeBillingCycle(variables);
|
|
74
|
+
return result.changeBillingCycle;
|
|
75
|
+
},
|
|
76
|
+
cancel: async () => {
|
|
77
|
+
const result = await this.sdk.CancelSubscription();
|
|
78
|
+
return result.cancelSubscription;
|
|
79
|
+
},
|
|
80
|
+
reactivate: async () => {
|
|
81
|
+
const result = await this.sdk.ReactivateSubscription();
|
|
82
|
+
return result.reactivateSubscription;
|
|
83
|
+
},
|
|
84
|
+
releaseSchedule: async () => {
|
|
85
|
+
const result = await this.sdk.ReleaseSchedule();
|
|
86
|
+
return result.releaseSchedule;
|
|
87
|
+
},
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
get seats() {
|
|
91
|
+
return {
|
|
92
|
+
add: async (variables) => {
|
|
93
|
+
const result = await this.sdk.AddSeats(variables);
|
|
94
|
+
return result.addSeats;
|
|
95
|
+
},
|
|
96
|
+
remove: async (variables) => {
|
|
97
|
+
const result = await this.sdk.RemoveSeats(variables);
|
|
98
|
+
return result.removeSeats;
|
|
99
|
+
},
|
|
100
|
+
};
|
|
101
|
+
}
|
|
102
|
+
get checkout() {
|
|
103
|
+
return {
|
|
104
|
+
createSession: async (variables) => {
|
|
105
|
+
const result = await this.sdk.CreateCheckoutSession(variables);
|
|
106
|
+
return result.createCheckoutSession;
|
|
107
|
+
},
|
|
108
|
+
};
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
exports.DvinaBillingSDK = DvinaBillingSDK;
|
|
112
|
+
exports.default = DvinaBillingSDK;
|
|
113
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { DocumentNode } from 'graphql';
|
|
2
|
+
import type { SubscriptionStream } from '../types';
|
|
3
|
+
import type { SubscriptionTransport } from './transport';
|
|
4
|
+
export declare function createSubscriptionStream<TData, TValue>(transport: SubscriptionTransport, document: DocumentNode, extractValue: (data: TData) => TValue | undefined): SubscriptionStream<TValue>;
|
|
5
|
+
//# sourceMappingURL=stream.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stream.d.ts","sourceRoot":"","sources":["../../../src/client/subscription/stream.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,KAAK,EAA+C,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAChG,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAEzD,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,MAAM,EACrD,SAAS,EAAE,qBAAqB,EAChC,QAAQ,EAAE,YAAY,EACtB,YAAY,EAAE,CAAC,IAAI,EAAE,KAAK,KAAK,MAAM,GAAG,SAAS,GAC/C,kBAAkB,CAAC,MAAM,CAAC,CAqC5B"}
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createSubscriptionStream = void 0;
|
|
4
|
+
function createSubscriptionStream(transport, document, extractValue) {
|
|
5
|
+
const subscribe = (sink, options) => transport.subscribe(document, {
|
|
6
|
+
next: (result) => {
|
|
7
|
+
if (result.errors?.length) {
|
|
8
|
+
sink.error?.(result.errors);
|
|
9
|
+
return;
|
|
10
|
+
}
|
|
11
|
+
const value = result.data ? extractValue(result.data) : undefined;
|
|
12
|
+
if (value !== undefined) {
|
|
13
|
+
sink.next(value);
|
|
14
|
+
}
|
|
15
|
+
},
|
|
16
|
+
error: (error) => {
|
|
17
|
+
sink.error?.(error);
|
|
18
|
+
},
|
|
19
|
+
complete: () => {
|
|
20
|
+
sink.complete?.();
|
|
21
|
+
},
|
|
22
|
+
}, options);
|
|
23
|
+
const iterable = (options) => createAsyncIterator(subscribe, options);
|
|
24
|
+
return {
|
|
25
|
+
subscribe,
|
|
26
|
+
iterable,
|
|
27
|
+
asyncIterator: iterable,
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
exports.createSubscriptionStream = createSubscriptionStream;
|
|
31
|
+
function createAsyncIterator(subscribeFn, options) {
|
|
32
|
+
const pullQueue = [];
|
|
33
|
+
const pushQueue = [];
|
|
34
|
+
let listening = true;
|
|
35
|
+
let error;
|
|
36
|
+
let cleanup = null;
|
|
37
|
+
const runCleanup = async () => {
|
|
38
|
+
if (!cleanup)
|
|
39
|
+
return;
|
|
40
|
+
const toRun = cleanup;
|
|
41
|
+
cleanup = null;
|
|
42
|
+
const result = toRun();
|
|
43
|
+
if (result instanceof Promise) {
|
|
44
|
+
await result;
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
const stopListening = () => {
|
|
48
|
+
if (!listening)
|
|
49
|
+
return;
|
|
50
|
+
listening = false;
|
|
51
|
+
pushQueue.length = 0;
|
|
52
|
+
while (pullQueue.length > 0) {
|
|
53
|
+
const entry = pullQueue.shift();
|
|
54
|
+
entry?.resolve({ value: undefined, done: true });
|
|
55
|
+
}
|
|
56
|
+
};
|
|
57
|
+
const rejectPending = (reason) => {
|
|
58
|
+
while (pullQueue.length > 0) {
|
|
59
|
+
const entry = pullQueue.shift();
|
|
60
|
+
entry?.reject(reason);
|
|
61
|
+
}
|
|
62
|
+
};
|
|
63
|
+
cleanup = subscribeFn({
|
|
64
|
+
next: (value) => {
|
|
65
|
+
if (!listening)
|
|
66
|
+
return;
|
|
67
|
+
if (pullQueue.length > 0) {
|
|
68
|
+
const entry = pullQueue.shift();
|
|
69
|
+
entry?.resolve({ value, done: false });
|
|
70
|
+
}
|
|
71
|
+
else {
|
|
72
|
+
pushQueue.push(value);
|
|
73
|
+
}
|
|
74
|
+
},
|
|
75
|
+
error: (err) => {
|
|
76
|
+
error = err ?? new Error('Subscription stream failed.');
|
|
77
|
+
rejectPending(error);
|
|
78
|
+
stopListening();
|
|
79
|
+
void runCleanup();
|
|
80
|
+
},
|
|
81
|
+
complete: () => {
|
|
82
|
+
stopListening();
|
|
83
|
+
void runCleanup();
|
|
84
|
+
},
|
|
85
|
+
}, options);
|
|
86
|
+
const iterator = {
|
|
87
|
+
next: () => {
|
|
88
|
+
if (error) {
|
|
89
|
+
const err = error;
|
|
90
|
+
error = undefined;
|
|
91
|
+
return Promise.reject(err);
|
|
92
|
+
}
|
|
93
|
+
if (pushQueue.length > 0) {
|
|
94
|
+
const value = pushQueue.shift();
|
|
95
|
+
return Promise.resolve({ value, done: false });
|
|
96
|
+
}
|
|
97
|
+
if (!listening) {
|
|
98
|
+
return Promise.resolve({ value: undefined, done: true });
|
|
99
|
+
}
|
|
100
|
+
return new Promise((resolve, reject) => {
|
|
101
|
+
pullQueue.push({ resolve, reject });
|
|
102
|
+
});
|
|
103
|
+
},
|
|
104
|
+
return: async () => {
|
|
105
|
+
stopListening();
|
|
106
|
+
await runCleanup();
|
|
107
|
+
return { value: undefined, done: true };
|
|
108
|
+
},
|
|
109
|
+
throw: async (err) => {
|
|
110
|
+
error = err ?? new Error('Subscription stream aborted.');
|
|
111
|
+
rejectPending(error);
|
|
112
|
+
await runCleanup();
|
|
113
|
+
return Promise.reject(error);
|
|
114
|
+
},
|
|
115
|
+
[Symbol.asyncIterator]() {
|
|
116
|
+
return this;
|
|
117
|
+
},
|
|
118
|
+
};
|
|
119
|
+
return iterator;
|
|
120
|
+
}
|
|
121
|
+
//# sourceMappingURL=stream.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stream.js","sourceRoot":"","sources":["../../../src/client/subscription/stream.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { FormattedExecutionResult } from 'graphql-ws';
|
|
2
|
+
import type { DocumentNode } from 'graphql';
|
|
3
|
+
export type SubscriptionCleanup = () => void | Promise<void>;
|
|
4
|
+
export interface SubscriptionHandlers<TData> {
|
|
5
|
+
next: (result: FormattedExecutionResult<TData>) => void;
|
|
6
|
+
error?: (error: unknown) => void;
|
|
7
|
+
complete?: () => void;
|
|
8
|
+
}
|
|
9
|
+
export interface SubscriptionTransportOptions {
|
|
10
|
+
endpoint: string;
|
|
11
|
+
getAuthorization: () => string | undefined;
|
|
12
|
+
}
|
|
13
|
+
export declare class SubscriptionTransport {
|
|
14
|
+
private readonly options;
|
|
15
|
+
private client?;
|
|
16
|
+
constructor(options: SubscriptionTransportOptions);
|
|
17
|
+
subscribe<TData>(document: DocumentNode, handlers: SubscriptionHandlers<TData>, options?: {
|
|
18
|
+
signal?: AbortSignal;
|
|
19
|
+
}): SubscriptionCleanup;
|
|
20
|
+
reset(): void;
|
|
21
|
+
private ensureClient;
|
|
22
|
+
private buildConnectionParams;
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=transport.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["../../../src/client/subscription/transport.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAA6B,wBAAwB,EAAE,MAAM,YAAY,CAAC;AAEtF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAE5C,MAAM,MAAM,mBAAmB,GAAG,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAE7D,MAAM,WAAW,oBAAoB,CAAC,KAAK;IAC1C,IAAI,EAAE,CAAC,MAAM,EAAE,wBAAwB,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC;IACxD,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACjC,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAED,MAAM,WAAW,4BAA4B;IAC5C,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB,EAAE,MAAM,MAAM,GAAG,SAAS,CAAC;CAC3C;AAED,qBAAa,qBAAqB;IAGrB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAFpC,OAAO,CAAC,MAAM,CAAC,CAAkB;gBAEJ,OAAO,EAAE,4BAA4B;IAElE,SAAS,CAAC,KAAK,EACd,QAAQ,EAAE,YAAY,EACtB,QAAQ,EAAE,oBAAoB,CAAC,KAAK,CAAC,EACrC,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,GAChC,mBAAmB;IActB,KAAK;IAOL,OAAO,CAAC,YAAY;IAYpB,OAAO,CAAC,qBAAqB;CAQ7B"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SubscriptionTransport = void 0;
|
|
4
|
+
const graphql_ws_1 = require("graphql-ws");
|
|
5
|
+
const graphql_1 = require("graphql");
|
|
6
|
+
class SubscriptionTransport {
|
|
7
|
+
constructor(options) {
|
|
8
|
+
this.options = options;
|
|
9
|
+
}
|
|
10
|
+
subscribe(document, handlers, options) {
|
|
11
|
+
const client = this.ensureClient();
|
|
12
|
+
const cleanup = client.subscribe({ query: (0, graphql_1.print)(document) }, {
|
|
13
|
+
next: handlers.next,
|
|
14
|
+
error: handlers.error ?? (() => { }),
|
|
15
|
+
complete: handlers.complete ?? (() => { }),
|
|
16
|
+
});
|
|
17
|
+
return attachSignal(cleanup, options?.signal);
|
|
18
|
+
}
|
|
19
|
+
reset() {
|
|
20
|
+
if (this.client) {
|
|
21
|
+
void this.client.dispose();
|
|
22
|
+
this.client = undefined;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
ensureClient() {
|
|
26
|
+
if (!this.client) {
|
|
27
|
+
this.client = (0, graphql_ws_1.createClient)({
|
|
28
|
+
url: resolveWebSocketUrl(this.options.endpoint),
|
|
29
|
+
lazy: true,
|
|
30
|
+
connectionParams: () => this.buildConnectionParams(),
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
return this.client;
|
|
34
|
+
}
|
|
35
|
+
buildConnectionParams() {
|
|
36
|
+
const authorization = this.options.getAuthorization();
|
|
37
|
+
if (!authorization) {
|
|
38
|
+
return undefined;
|
|
39
|
+
}
|
|
40
|
+
return { Authorization: authorization };
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
exports.SubscriptionTransport = SubscriptionTransport;
|
|
44
|
+
function resolveWebSocketUrl(endpoint) {
|
|
45
|
+
const url = new URL(endpoint);
|
|
46
|
+
if (url.protocol === 'http:') {
|
|
47
|
+
url.protocol = 'ws:';
|
|
48
|
+
}
|
|
49
|
+
else if (url.protocol === 'https:') {
|
|
50
|
+
url.protocol = 'wss:';
|
|
51
|
+
}
|
|
52
|
+
else if (url.protocol !== 'ws:' && url.protocol !== 'wss:') {
|
|
53
|
+
throw new Error(`Unsupported endpoint protocol "${url.protocol}" for subscriptions.`);
|
|
54
|
+
}
|
|
55
|
+
return url.toString();
|
|
56
|
+
}
|
|
57
|
+
function attachSignal(cleanup, signal) {
|
|
58
|
+
if (!signal) {
|
|
59
|
+
return cleanup;
|
|
60
|
+
}
|
|
61
|
+
let disposed = false;
|
|
62
|
+
const wrappedCleanup = () => {
|
|
63
|
+
if (disposed) {
|
|
64
|
+
return undefined;
|
|
65
|
+
}
|
|
66
|
+
disposed = true;
|
|
67
|
+
signal.removeEventListener('abort', abortListener);
|
|
68
|
+
return cleanup();
|
|
69
|
+
};
|
|
70
|
+
const abortListener = () => {
|
|
71
|
+
void wrappedCleanup();
|
|
72
|
+
};
|
|
73
|
+
if (signal.aborted) {
|
|
74
|
+
void wrappedCleanup();
|
|
75
|
+
return wrappedCleanup;
|
|
76
|
+
}
|
|
77
|
+
signal.addEventListener('abort', abortListener, { once: true });
|
|
78
|
+
return wrappedCleanup;
|
|
79
|
+
}
|
|
80
|
+
//# sourceMappingURL=transport.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transport.js","sourceRoot":"","sources":["../../../src/client/subscription/transport.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export interface BillingClientConfig {
|
|
2
|
+
endpoint: string;
|
|
3
|
+
}
|
|
4
|
+
export interface SubscriptionStreamOptions {
|
|
5
|
+
signal?: AbortSignal;
|
|
6
|
+
}
|
|
7
|
+
export interface SubscriptionSink<T> {
|
|
8
|
+
next(value: T): void;
|
|
9
|
+
error?: (error: unknown) => void;
|
|
10
|
+
complete?: () => void;
|
|
11
|
+
}
|
|
12
|
+
export interface SubscriptionStream<T> {
|
|
13
|
+
subscribe(sink: SubscriptionSink<T>, options?: SubscriptionStreamOptions): () => void | Promise<void>;
|
|
14
|
+
iterable(options?: SubscriptionStreamOptions): AsyncIterableIterator<T>;
|
|
15
|
+
asyncIterator(options?: SubscriptionStreamOptions): AsyncIterableIterator<T>;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/client/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,mBAAmB;IACnC,QAAQ,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,yBAAyB;IACzC,MAAM,CAAC,EAAE,WAAW,CAAC;CACrB;AAED,MAAM,WAAW,gBAAgB,CAAC,CAAC;IAClC,IAAI,CAAC,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC;IACrB,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACjC,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAED,MAAM,WAAW,kBAAkB,CAAC,CAAC;IACpC,SAAS,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,yBAAyB,GAAG,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACtG,QAAQ,CAAC,OAAO,CAAC,EAAE,yBAAyB,GAAG,qBAAqB,CAAC,CAAC,CAAC,CAAC;IACxE,aAAa,CAAC,OAAO,CAAC,EAAE,yBAAyB,GAAG,qBAAqB,CAAC,CAAC,CAAC,CAAC;CAC7E"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/client/types.ts"],"names":[],"mappings":""}
|