@wdft/micropayments-sdk 0.0.9 → 0.0.10
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 +4 -0
- package/dist/client.d.ts +13 -0
- package/dist/client.js +1 -1
- package/dist/client.js.map +1 -1
- package/dist/components.d.ts +1 -0
- package/dist/components.js +0 -0
- package/dist/components.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/index.test.js +1 -0
- package/dist/index.test.js.map +1 -1
- package/dist/service.d.ts +1 -2
- package/dist/storage.d.ts +10 -0
- package/dist/storage.js +1 -0
- package/dist/storage.js.map +1 -0
- package/dist/utils.d.ts +1 -0
- package/dist/utils.js +1 -0
- package/dist/utils.js.map +1 -0
- package/dist/utils.test.d.ts +1 -0
- package/dist/utils.test.js +7 -0
- package/dist/utils.test.js.map +1 -0
- package/package.json +2 -2
- package/src/browser.ts +1 -1
- package/src/client.ts +105 -10
- package/src/components.ts +0 -0
- package/src/index.test.ts +2 -1
- package/src/index.ts +5 -3
- package/src/service.ts +1 -1
- package/src/storage.ts +48 -0
- package/src/utils.test.ts +7 -0
- package/src/utils.ts +16 -0
package/README.md
CHANGED
package/dist/client.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { type IServiceOptions, type ICommitmentMetadata, Service } from "./service.js";
|
|
2
|
+
import type { StorageDriver } from "./storage.js";
|
|
2
3
|
interface ICommitmentPayload {
|
|
3
4
|
commitment_id: string;
|
|
4
5
|
amount: number;
|
|
@@ -42,7 +43,9 @@ declare class Commitment {
|
|
|
42
43
|
check(): Promise<CommitmentStatus>;
|
|
43
44
|
}
|
|
44
45
|
interface IClientOptions {
|
|
46
|
+
tenant_id: string;
|
|
45
47
|
currency: string;
|
|
48
|
+
storage?: StorageDriver;
|
|
46
49
|
retry_ms?: number;
|
|
47
50
|
}
|
|
48
51
|
interface INewClientOptions extends IClientOptions, IServiceOptions {
|
|
@@ -50,7 +53,9 @@ interface INewClientOptions extends IClientOptions, IServiceOptions {
|
|
|
50
53
|
interface ICommitmentOptions {
|
|
51
54
|
currency?: string;
|
|
52
55
|
retry_ms?: number;
|
|
56
|
+
storage?: StorageDriver;
|
|
53
57
|
metadata?: ICommitmentMetadata;
|
|
58
|
+
commitmentKey?: string;
|
|
54
59
|
onCreated?: (commitment: Commitment) => void;
|
|
55
60
|
onResolved?: (commitment: Commitment) => void;
|
|
56
61
|
onError?: (error: Error, commitment: Commitment) => void;
|
|
@@ -65,6 +70,10 @@ export declare class Client {
|
|
|
65
70
|
private readonly options;
|
|
66
71
|
static new(opts: INewClientOptions): Client;
|
|
67
72
|
constructor(svc: Service, options: IClientOptions);
|
|
73
|
+
private getStorageKey;
|
|
74
|
+
checkDirect(commitment_id: string): Promise<import("./service.js").ICommitmentStatus>;
|
|
75
|
+
private storeIntoStorageByKey;
|
|
76
|
+
private canRecreateFromStorageKey;
|
|
68
77
|
createDirect(reference_id: string, amount: number, options?: ICommitmentOptions): Promise<Commitment>;
|
|
69
78
|
create(reference_id: string, amount: number, on: ICallback): void;
|
|
70
79
|
commitmentBuilder(): CommitmentObservabileBuilder;
|
|
@@ -81,6 +90,8 @@ type OnStatusErrorCallback = (error: Error, payload: null) => void;
|
|
|
81
90
|
export type ICallback = OnStatusCallback & OnStatusErrorCallback;
|
|
82
91
|
declare class CommitmentObservabileBuilder {
|
|
83
92
|
private readonly client;
|
|
93
|
+
private _storage;
|
|
94
|
+
private _commitmentKey;
|
|
84
95
|
private _reference_id;
|
|
85
96
|
private _amount;
|
|
86
97
|
private _retry_ms;
|
|
@@ -95,6 +106,8 @@ declare class CommitmentObservabileBuilder {
|
|
|
95
106
|
private _onCheckFn;
|
|
96
107
|
private _onWaitingFn;
|
|
97
108
|
constructor(client: Client);
|
|
109
|
+
setStorage(storage: StorageDriver): this;
|
|
110
|
+
setStorageCommitmentKey(key: string): this;
|
|
98
111
|
setMetadataTitle(title?: string): this;
|
|
99
112
|
setMetadataUrl(url?: string): this;
|
|
100
113
|
setRetryTime(retry: number): this;
|
package/dist/client.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var C="2025-09-30";async function
|
|
1
|
+
var C="2025-09-30";async function d(s){return s.headers.get("Content-Type")?.includes("application/json")?await s.json():await s.text()}function _(s,t){return Math.floor(Math.random()*(t-s+1))+s}function h(s){let t=0;if(!s)return t;let i=typeof s=="number"?s:parseInt(s,10);return!isNaN(i)&&isFinite(i)?t=i*1e3:t=0,t}async function l(s,t,i){try{let r=await i(new Request(s,t));if(r.ok){let o=r.headers.get("Retry-After");return{status:r.status,error:!1,retry_after:h(r.headers.get("Retry-After")),data:await d(r)}}let n=await d(r);return{status:r.status,error:n&&typeof n=="object"&&"error"in n?n.error:!0,message:n&&typeof n=="object"&&"message"in n?n.message:r.statusText,retry_after:h(r.headers.get("Retry-After")),data:null}}catch(r){return{status:500,error:!0,message:r instanceof Error?r.message:`${r}`,retry_after:_(1e4,3e4),data:null}}}function p(s,t){let i=s.endsWith("/")?s.substring(0,s.length-1):s,r=t.startsWith("/")?t:"/".concat(t);return i+r}var a=class{constructor(t){this.options=t;if(!t.fetcher&&!globalThis.fetch)throw new Error('fetch is not available in environment, pass "fetcher" option with satisfies fetch interface');this.fetcher=this.options.fetcher??globalThis.fetch}async createCommitment(t,i,r,n){let o=await l(p(this.options.endpoint,"/commitment"),{method:"POST",headers:{"Content-Type":"application/json","X-Compatibility-Date":C},body:JSON.stringify({tenant_id:this.options.tenant_id,reference_id:t,currency:r,metadata:n??{title:"",url:""},amount:i})},this.fetcher);if(o.error)throw new Error(o.message);if(!o.data)throw new Error("Bad response");return o.data}async checkCommitment(t){let i=await l(p(this.options.endpoint,`/commitment/${t}`),{method:"GET"},this.fetcher);switch(i.status){case 402:return{commitment_id:t,message:i.message||"Payment required - you are over limit",status:"rejected"};case 410:return{commitment_id:t,message:i.message||"Expired",status:"expired"}}if(i.error)throw new Error(i.message);if(!i.data)throw new Error("Bad response");return{commitment_id:i.data.commitment_id,message:i.data.message,status:i.data.status,retry_after:i.retry_after}}};var m=5e3,c=class{constructor(t,i,r){this.service=t;this.options=r;this.retries=0;this.currentTimer=null;this.currentCheck=null;this.payload={message:"Creating...",status:"initializing",...i},this.options.onCreated&&this.options.onCreated(this)}isExpired(){return Date.now()>this.payload.expires_at}isRejected(){return this.getStatus()==="rejected"}isResolved(){return this.getStatus()==="resolved"}getMessage(){return this.payload.message||""}getStatus(){return this.payload.status}getClickUrl(){return this.payload.click_url}getAmount(){return this.payload.amount}getCurrency(){return this.payload.currency}getReferenceId(){return this.payload.reference_id}getCommitmentId(){return this.payload.commitment_id}markAsCreated(){this.payload.status!=="created"&&(this.payload.status="created",this.options.onCreated&&this.options.onCreated(this))}markAsDuplicated(){if(this.payload.status==="duplicated"){this.stopChecking();return}this.payload.status="duplicated",this.stopChecking(),this.options.onDuplicated&&this.options.onDuplicated(this)}markAsWaiting(){this.payload.status!=="waiting"&&(this.payload.status="waiting",this.options.onWaiting&&this.options.onWaiting(this))}markAsExpired(){if(this.payload.status==="expired"){this.stopChecking();return}this.payload.status="expired",this.options.onExpired&&this.options.onExpired(this),this.stopChecking()}markAsRejected(){if(this.payload.status==="rejected"){this.stopChecking();return}this.payload.status="rejected",this.options.onRejected&&this.options.onRejected(this),this.stopChecking()}markAsResolved(){if(this.payload.status==="resolved"){this.stopChecking();return}this.payload.status="resolved",this.stopChecking(),this.options.onResolved&&this.options.onResolved(this)}getNextCallTime(){return this.retries++,Math.min(5e3,this.payload.retry_ms+this.payload.retry_ms*(this.retries/10))}startChecking(){this.currentCheck||(this.currentCheck=this.check().then(t=>{let i=this.getNextCallTime();return t==="waiting"&&(this.currentTimer=setTimeout(()=>this.startChecking(),i)),t}).finally(()=>{this.stopChecking(!1)}))}stopChecking(t=!0){this.currentCheck=null,this.currentTimer&&t&&clearTimeout(this.currentTimer)}async check(){if(this.isExpired())return this.markAsExpired(),this.getStatus();if(this.isRejected())return this.markAsRejected(),this.getStatus();if(this.isResolved())return this.markAsResolved(),this.getStatus();try{let t=await this.service.checkCommitment(this.getCommitmentId());switch(t.retry_after&&(this.options.retry_ms=Math.max(this.options.retry_ms||m,t.retry_after)),t.status){case"duplicated":{this.markAsDuplicated();break}case"expired":{this.markAsExpired();break}case"resolved":{this.markAsResolved();break}case"waiting":{this.markAsWaiting();break}case"rejected":{this.markAsRejected();break}}this.options.onCheck&&this.options.onCheck(this)}catch(t){if(this.options.onError)this.options.onError(t,this),this.stopChecking();else throw t}return this.getStatus()}},g=class s{constructor(t,i){this.svc=t;this.options=i}static new(t){return new s(new a(t),t)}getStorageKey(t){return`getviamsg:${this.options.tenant_id}:${t}`}async checkDirect(t){return this.svc.checkCommitment(t)}async storeIntoStorageByKey(t,i){this.options.storage&&t&&await this.options.storage.set(t,JSON.stringify(i))}async canRecreateFromStorageKey(t){if(!this.options.storage||!t)return null;let i=await this.options.storage.get(t);if(!i)return null;let r=JSON.parse(i),n=await this.checkDirect(r.commitment_id).catch(o=>({commitment_id:r.commitment_id,status:"expired",message:"Commitment expired"}));return n.status==="expired"||n.status==="rejected"?(await this.options.storage.del(t),null):r}async createDirect(t,i,r={}){let n=r.currency??this.options.currency,o=await this.canRecreateFromStorageKey(r.commitmentKey);if(o)return new c(this.svc,{commitment_id:o.commitment_id,amount:i,currency:n,reference_id:t,expires_at:o.expires_at,click_url:o.click_url,retry_ms:this.options.retry_ms??m},r);let e=await this.svc.createCommitment(t,i,n,r.metadata);return await this.storeIntoStorageByKey(r.commitmentKey,e),new c(this.svc,{commitment_id:e.commitment_id,amount:i,currency:n,reference_id:t,expires_at:e.expires_at,click_url:e.click_url,retry_ms:this.options.retry_ms??m},r)}create(t,i,r){let n=this.commitmentBuilder().setAmount(i).setCurrency(this.options.currency).setMetadataUrl(globalThis?.location?.href??"").setMetadataTitle(globalThis?.document?.title??"").setReference(t);if(this.options.retry_ms&&n.setRetryTime(this.options.retry_ms),!!this.options.storage){let e=this.getStorageKey(t);n.setStorage(this.options.storage),n.setStorageCommitmentKey(e)}n.onCreated(e=>(e.startChecking(),r(null,{status:e.getStatus(),message:e.getMessage(),reference_id:t,commitment_id:e.getCommitmentId(),click_url:e.getClickUrl()}))).onWaiting(e=>r(null,{status:e.getStatus(),message:e.getMessage(),reference_id:t,commitment_id:e.getCommitmentId(),click_url:e.getClickUrl()})).onDuplicated(e=>r(null,{status:e.getStatus(),message:e.getMessage(),reference_id:t,commitment_id:e.getCommitmentId(),click_url:e.getClickUrl()})).onExpired(e=>r(null,{status:e.getStatus(),message:e.getMessage(),reference_id:t,commitment_id:e.getCommitmentId(),click_url:e.getClickUrl()})).onRejected(e=>r(null,{status:e.getStatus(),message:e.getMessage(),reference_id:t,commitment_id:e.getCommitmentId(),click_url:e.getClickUrl()})).onResolved(e=>r(null,{status:e.getStatus(),message:e.getMessage(),reference_id:t,commitment_id:e.getCommitmentId(),click_url:e.getClickUrl()})).onError((e,y)=>{y?.stopChecking(),r(e,null)}).exec()}commitmentBuilder(){return new u(this)}},u=class{constructor(t){this.client=t;this._retry_ms=m;this._metadata={title:"",url:""};this._onCreatedFn=()=>{};this._onResolvedFn=()=>{};this._onErrorFn=()=>{};this._onExpiredFn=()=>{};this._onRejectedFn=()=>{};this._onDuplicatedFn=()=>{};this._onCheckFn=()=>{};this._onWaitingFn=()=>{}}setStorage(t){return this._storage=t,this}setStorageCommitmentKey(t){return this._commitmentKey=t,this}setMetadataTitle(t=""){return this._metadata.title=t,this}setMetadataUrl(t=""){return this._metadata.url=t,this}setRetryTime(t){return this._retry_ms=t,this}setAmount(t){return this._amount=t,this}setReference(t){return this._reference_id=t,this}setCurrency(t){return this._currency=t,this}onCreated(t){return this._onCreatedFn=t,this}onResolved(t){return this._onResolvedFn=t,this}onExpired(t){return this._onExpiredFn=t,this}onRejected(t){return this._onRejectedFn=t,this}onError(t){return this._onErrorFn=t,this}onDuplicated(t){return this._onDuplicatedFn=t,this}onCheck(t){return this._onCheckFn=t,this}onWaiting(t){return this._onWaitingFn=t,this}exec(){if(!this._reference_id)throw new Error("reference_id must be defined");if(!this._amount)throw new Error("amount must be defined");if(!this._currency)throw new Error("currency must be defined");this.client.createDirect(this._reference_id,this._amount,{retry_ms:this._retry_ms,currency:this._currency,metadata:this._metadata,storage:this._storage,commitmentKey:this._commitmentKey,onCheck:this._onCheckFn,onCreated:this._onCreatedFn,onDuplicated:this._onDuplicatedFn,onError:this._onErrorFn,onExpired:this._onExpiredFn,onWaiting:this._onWaitingFn,onRejected:this._onRejectedFn,onResolved:this._onResolvedFn}).catch(t=>{if(this._onErrorFn)this._onErrorFn(t);else throw t})}};export{g as Client};
|
package/dist/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"components.js","sourceRoot":"","sources":["../src/components.ts"],"names":[],"mappings":""}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
import type { ICallback } from "./client.js";
|
|
2
2
|
import type { Fetcher } from "./service.js";
|
|
3
|
+
import type { StorageDriver } from "./storage.js";
|
|
3
4
|
export interface IGetViaMsgInit {
|
|
4
5
|
reference_id: string;
|
|
5
6
|
amount: number;
|
|
6
7
|
currency: "PLN" | "EUR" | "GBP" | "USD" | "CHF" | string;
|
|
7
8
|
tenant_id: string;
|
|
8
9
|
endpoint?: string;
|
|
10
|
+
storage?: StorageDriver;
|
|
9
11
|
fetcher?: Fetcher;
|
|
10
12
|
retry_ms?: number;
|
|
11
13
|
}
|
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var C="2025-09-30";async function
|
|
1
|
+
var C="2025-09-30";async function h(s){return s.headers.get("Content-Type")?.includes("application/json")?await s.json():await s.text()}function _(s,t){return Math.floor(Math.random()*(t-s+1))+s}function l(s){let t=0;if(!s)return t;let r=typeof s=="number"?s:parseInt(s,10);return!isNaN(r)&&isFinite(r)?t=r*1e3:t=0,t}async function p(s,t,r){try{let i=await r(new Request(s,t));if(i.ok){let o=i.headers.get("Retry-After");return{status:i.status,error:!1,retry_after:l(i.headers.get("Retry-After")),data:await h(i)}}let n=await h(i);return{status:i.status,error:n&&typeof n=="object"&&"error"in n?n.error:!0,message:n&&typeof n=="object"&&"message"in n?n.message:i.statusText,retry_after:l(i.headers.get("Retry-After")),data:null}}catch(i){return{status:500,error:!0,message:i instanceof Error?i.message:`${i}`,retry_after:_(1e4,3e4),data:null}}}function g(s,t){let r=s.endsWith("/")?s.substring(0,s.length-1):s,i=t.startsWith("/")?t:"/".concat(t);return r+i}var a=class{constructor(t){this.options=t;if(!t.fetcher&&!globalThis.fetch)throw new Error('fetch is not available in environment, pass "fetcher" option with satisfies fetch interface');this.fetcher=this.options.fetcher??globalThis.fetch}async createCommitment(t,r,i,n){let o=await p(g(this.options.endpoint,"/commitment"),{method:"POST",headers:{"Content-Type":"application/json","X-Compatibility-Date":C},body:JSON.stringify({tenant_id:this.options.tenant_id,reference_id:t,currency:i,metadata:n??{title:"",url:""},amount:r})},this.fetcher);if(o.error)throw new Error(o.message);if(!o.data)throw new Error("Bad response");return o.data}async checkCommitment(t){let r=await p(g(this.options.endpoint,`/commitment/${t}`),{method:"GET"},this.fetcher);switch(r.status){case 402:return{commitment_id:t,message:r.message||"Payment required - you are over limit",status:"rejected"};case 410:return{commitment_id:t,message:r.message||"Expired",status:"expired"}}if(r.error)throw new Error(r.message);if(!r.data)throw new Error("Bad response");return{commitment_id:r.data.commitment_id,message:r.data.message,status:r.data.status,retry_after:r.retry_after}}};var m=5e3,c=class{constructor(t,r,i){this.service=t;this.options=i;this.retries=0;this.currentTimer=null;this.currentCheck=null;this.payload={message:"Creating...",status:"initializing",...r},this.options.onCreated&&this.options.onCreated(this)}isExpired(){return Date.now()>this.payload.expires_at}isRejected(){return this.getStatus()==="rejected"}isResolved(){return this.getStatus()==="resolved"}getMessage(){return this.payload.message||""}getStatus(){return this.payload.status}getClickUrl(){return this.payload.click_url}getAmount(){return this.payload.amount}getCurrency(){return this.payload.currency}getReferenceId(){return this.payload.reference_id}getCommitmentId(){return this.payload.commitment_id}markAsCreated(){this.payload.status!=="created"&&(this.payload.status="created",this.options.onCreated&&this.options.onCreated(this))}markAsDuplicated(){if(this.payload.status==="duplicated"){this.stopChecking();return}this.payload.status="duplicated",this.stopChecking(),this.options.onDuplicated&&this.options.onDuplicated(this)}markAsWaiting(){this.payload.status!=="waiting"&&(this.payload.status="waiting",this.options.onWaiting&&this.options.onWaiting(this))}markAsExpired(){if(this.payload.status==="expired"){this.stopChecking();return}this.payload.status="expired",this.options.onExpired&&this.options.onExpired(this),this.stopChecking()}markAsRejected(){if(this.payload.status==="rejected"){this.stopChecking();return}this.payload.status="rejected",this.options.onRejected&&this.options.onRejected(this),this.stopChecking()}markAsResolved(){if(this.payload.status==="resolved"){this.stopChecking();return}this.payload.status="resolved",this.stopChecking(),this.options.onResolved&&this.options.onResolved(this)}getNextCallTime(){return this.retries++,Math.min(5e3,this.payload.retry_ms+this.payload.retry_ms*(this.retries/10))}startChecking(){this.currentCheck||(this.currentCheck=this.check().then(t=>{let r=this.getNextCallTime();return t==="waiting"&&(this.currentTimer=setTimeout(()=>this.startChecking(),r)),t}).finally(()=>{this.stopChecking(!1)}))}stopChecking(t=!0){this.currentCheck=null,this.currentTimer&&t&&clearTimeout(this.currentTimer)}async check(){if(this.isExpired())return this.markAsExpired(),this.getStatus();if(this.isRejected())return this.markAsRejected(),this.getStatus();if(this.isResolved())return this.markAsResolved(),this.getStatus();try{let t=await this.service.checkCommitment(this.getCommitmentId());switch(t.retry_after&&(this.options.retry_ms=Math.max(this.options.retry_ms||m,t.retry_after)),t.status){case"duplicated":{this.markAsDuplicated();break}case"expired":{this.markAsExpired();break}case"resolved":{this.markAsResolved();break}case"waiting":{this.markAsWaiting();break}case"rejected":{this.markAsRejected();break}}this.options.onCheck&&this.options.onCheck(this)}catch(t){if(this.options.onError)this.options.onError(t,this),this.stopChecking();else throw t}return this.getStatus()}},u=class s{constructor(t,r){this.svc=t;this.options=r}static new(t){return new s(new a(t),t)}getStorageKey(t){return`getviamsg:${this.options.tenant_id}:${t}`}async checkDirect(t){return this.svc.checkCommitment(t)}async storeIntoStorageByKey(t,r){this.options.storage&&t&&await this.options.storage.set(t,JSON.stringify(r))}async canRecreateFromStorageKey(t){if(!this.options.storage||!t)return null;let r=await this.options.storage.get(t);if(!r)return null;let i=JSON.parse(r),n=await this.checkDirect(i.commitment_id).catch(o=>({commitment_id:i.commitment_id,status:"expired",message:"Commitment expired"}));return n.status==="expired"||n.status==="rejected"?(await this.options.storage.del(t),null):i}async createDirect(t,r,i={}){let n=i.currency??this.options.currency,o=await this.canRecreateFromStorageKey(i.commitmentKey);if(o)return new c(this.svc,{commitment_id:o.commitment_id,amount:r,currency:n,reference_id:t,expires_at:o.expires_at,click_url:o.click_url,retry_ms:this.options.retry_ms??m},i);let e=await this.svc.createCommitment(t,r,n,i.metadata);return await this.storeIntoStorageByKey(i.commitmentKey,e),new c(this.svc,{commitment_id:e.commitment_id,amount:r,currency:n,reference_id:t,expires_at:e.expires_at,click_url:e.click_url,retry_ms:this.options.retry_ms??m},i)}create(t,r,i){let n=this.commitmentBuilder().setAmount(r).setCurrency(this.options.currency).setMetadataUrl(globalThis?.location?.href??"").setMetadataTitle(globalThis?.document?.title??"").setReference(t);if(this.options.retry_ms&&n.setRetryTime(this.options.retry_ms),!!this.options.storage){let e=this.getStorageKey(t);n.setStorage(this.options.storage),n.setStorageCommitmentKey(e)}n.onCreated(e=>(e.startChecking(),i(null,{status:e.getStatus(),message:e.getMessage(),reference_id:t,commitment_id:e.getCommitmentId(),click_url:e.getClickUrl()}))).onWaiting(e=>i(null,{status:e.getStatus(),message:e.getMessage(),reference_id:t,commitment_id:e.getCommitmentId(),click_url:e.getClickUrl()})).onDuplicated(e=>i(null,{status:e.getStatus(),message:e.getMessage(),reference_id:t,commitment_id:e.getCommitmentId(),click_url:e.getClickUrl()})).onExpired(e=>i(null,{status:e.getStatus(),message:e.getMessage(),reference_id:t,commitment_id:e.getCommitmentId(),click_url:e.getClickUrl()})).onRejected(e=>i(null,{status:e.getStatus(),message:e.getMessage(),reference_id:t,commitment_id:e.getCommitmentId(),click_url:e.getClickUrl()})).onResolved(e=>i(null,{status:e.getStatus(),message:e.getMessage(),reference_id:t,commitment_id:e.getCommitmentId(),click_url:e.getClickUrl()})).onError((e,y)=>{y?.stopChecking(),i(e,null)}).exec()}commitmentBuilder(){return new d(this)}},d=class{constructor(t){this.client=t;this._retry_ms=m;this._metadata={title:"",url:""};this._onCreatedFn=()=>{};this._onResolvedFn=()=>{};this._onErrorFn=()=>{};this._onExpiredFn=()=>{};this._onRejectedFn=()=>{};this._onDuplicatedFn=()=>{};this._onCheckFn=()=>{};this._onWaitingFn=()=>{}}setStorage(t){return this._storage=t,this}setStorageCommitmentKey(t){return this._commitmentKey=t,this}setMetadataTitle(t=""){return this._metadata.title=t,this}setMetadataUrl(t=""){return this._metadata.url=t,this}setRetryTime(t){return this._retry_ms=t,this}setAmount(t){return this._amount=t,this}setReference(t){return this._reference_id=t,this}setCurrency(t){return this._currency=t,this}onCreated(t){return this._onCreatedFn=t,this}onResolved(t){return this._onResolvedFn=t,this}onExpired(t){return this._onExpiredFn=t,this}onRejected(t){return this._onRejectedFn=t,this}onError(t){return this._onErrorFn=t,this}onDuplicated(t){return this._onDuplicatedFn=t,this}onCheck(t){return this._onCheckFn=t,this}onWaiting(t){return this._onWaitingFn=t,this}exec(){if(!this._reference_id)throw new Error("reference_id must be defined");if(!this._amount)throw new Error("amount must be defined");if(!this._currency)throw new Error("currency must be defined");this.client.createDirect(this._reference_id,this._amount,{retry_ms:this._retry_ms,currency:this._currency,metadata:this._metadata,storage:this._storage,commitmentKey:this._commitmentKey,onCheck:this._onCheckFn,onCreated:this._onCreatedFn,onDuplicated:this._onDuplicatedFn,onError:this._onErrorFn,onExpired:this._onExpiredFn,onWaiting:this._onWaitingFn,onRejected:this._onRejectedFn,onResolved:this._onResolvedFn}).catch(t=>{if(this._onErrorFn)this._onErrorFn(t);else throw t})}};function S(s,t){u.new({currency:s.currency,endpoint:s.endpoint??"https://svc.getviamsg.wdft.ovh/",tenant_id:s.tenant_id,storage:s.storage,fetcher:s.fetcher??fetch,retry_ms:s.retry_ms??1e3}).create(s.reference_id,s.amount,t)}export{S as getViaMsg};
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAarC,MAAM,UAAU,SAAS,CAAC,IAAoB,EAAE,QAAmB;IACjE,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC;QACxB,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,iCAAiC;QAC5D,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,KAAK;QAC9B,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,IAAI;KAChC,CAAC,CAAC;IAEH,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;AAC1D,CAAC"}
|
package/dist/index.test.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { it } from "vitest";
|
|
2
2
|
import { getViaMsg } from "./index.js";
|
|
3
3
|
import { mockFetch } from "./test_utils/mock_fetcher.js";
|
|
4
|
+
import { memory } from "./storage.js";
|
|
4
5
|
it("getViaMsg", async () => {
|
|
5
6
|
const mock = mockFetch();
|
|
6
7
|
await new Promise((resolve, reject) => {
|
package/dist/index.test.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.test.js","sourceRoot":"","sources":["../src/index.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.test.js","sourceRoot":"","sources":["../src/index.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEtC,EAAE,CAAC,WAAW,EAAE,KAAK,IAAI,EAAE;IACzB,MAAM,IAAI,GAAG,SAAS,EAAE,CAAC;IAEzB,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACpC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;YACb,SAAS,EAAE,gBAAgB;YAC3B,uBAAuB,EAAE,UAAU;YACnC,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,KAAM;YAC/B,aAAa,EAAE,sBAAsB;SACtC,CAAC,CAAC;QAEH,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;YACb,OAAO,EAAE,iBAAiB;YAC1B,MAAM,EAAE,SAAS;YACjB,aAAa,EAAE,sBAAsB;SACtC,CAAC,CAAC;QAEH,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;YACb,OAAO,EAAE,iBAAiB;YAC1B,MAAM,EAAE,SAAS;YACjB,aAAa,EAAE,sBAAsB;SACtC,CAAC,CAAC;QAEH,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;YACb,OAAO,EAAE,iBAAiB;YAC1B,MAAM,EAAE,UAAU;YAClB,aAAa,EAAE,sBAAsB;SACtC,CAAC,CAAC;QAEH,SAAS,CACP;YACE,MAAM,EAAE,EAAE;YACV,YAAY,EAAE,KAAK;YACnB,QAAQ,EAAE,KAAK;YACf,SAAS,EAAE,oBAAoB;YAC/B,QAAQ,EAAE,uBAAuB;YACjC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;YAChC,QAAQ,EAAE,GAAG;SACd,EACD,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;YACjB,IAAI,CAAC,OAAO,IAAI,KAAK,EAAE,CAAC;gBACtB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBACnB,MAAM,CAAC,KAAK,CAAC,CAAC;gBACd,OAAO;YACT,CAAC;YAED,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;YAE3B,QAAQ,MAAM,EAAE,CAAC;gBACf,KAAK,SAAS,CAAC;gBACf,KAAK,SAAS,CAAC;gBACf,KAAK,YAAY,CAAC;gBAClB,KAAK,SAAS;oBACZ,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;oBACrB,MAAM;gBACR,KAAK,UAAU;oBACb,OAAO,CAAC,MAAM,CAAC,CAAC;YACpB,CAAC;QACH,CAAC,CACF,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
package/dist/service.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
interface ICommitment {
|
|
1
|
+
export interface ICommitment {
|
|
2
2
|
click_url: string;
|
|
3
3
|
incoming_message_device: string;
|
|
4
4
|
expires_at: number;
|
|
@@ -27,4 +27,3 @@ export declare class Service {
|
|
|
27
27
|
createCommitment(reference_id: string, amount: number, currency: string, metadata?: ICommitmentMetadata): Promise<ICommitment>;
|
|
28
28
|
checkCommitment(commitment: string): Promise<ICommitmentStatus>;
|
|
29
29
|
}
|
|
30
|
-
export {};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export interface StorageDriver {
|
|
2
|
+
get(key: string): Promise<string | undefined>;
|
|
3
|
+
set(key: string, value: string): Promise<void>;
|
|
4
|
+
del(key: string): Promise<void>;
|
|
5
|
+
}
|
|
6
|
+
export declare const memory: StorageDriver & {
|
|
7
|
+
__db: Record<string, string>;
|
|
8
|
+
};
|
|
9
|
+
export declare const session: StorageDriver;
|
|
10
|
+
export declare const local: StorageDriver;
|
package/dist/storage.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var s={__db:{},async get(e){return Promise.resolve(this.__db[e]||void 0)},async set(e,r){return this.__db[e]=r,Promise.resolve()},async del(e){return delete this.__db[e],Promise.resolve()}},t={async get(e){return Promise.resolve(sessionStorage.getItem(e)??void 0)},async set(e,r){return sessionStorage.setItem(e,r),Promise.resolve()},async del(e){return sessionStorage.removeItem(e),Promise.resolve()}},n={async get(e){return Promise.resolve(localStorage.getItem(e)??void 0)},async set(e,r){return localStorage.setItem(e,r),Promise.resolve()},async del(e){return localStorage.removeItem(e),Promise.resolve()}};export{n as local,s as memory,t as session};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"storage.js","sourceRoot":"","sources":["../src/storage.ts"],"names":[],"mappings":"AAMA,MAAM,CAAC,MAAM,MAAM,GAAmD;IACpE,IAAI,EAAE,EAA4B;IAClC,KAAK,CAAC,GAAG,CAAC,GAAW;QACnB,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,SAAS,CAAC,CAAC;IACtD,CAAC;IACD,KAAK,CAAC,GAAG,CAAC,GAAW,EAAE,KAAa;QAClC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QACvB,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IACD,KAAK,CAAC,GAAG,CAAC,GAAW;QACnB,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACtB,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;CACF,CAAA;AAED,MAAM,CAAC,MAAM,OAAO,GAAkB;IACpC,KAAK,CAAC,GAAG,CAAC,GAAW;QACnB,OAAO,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,SAAS,CAAC,CAAC;IACnE,CAAC;IACD,KAAK,CAAC,GAAG,CAAC,GAAW,EAAE,KAAa;QAClC,cAAc,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACnC,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IACD,KAAK,CAAC,GAAG,CAAC,GAAW;QACnB,cAAc,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QAC/B,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;CACF,CAAA;AAED,MAAM,CAAC,MAAM,KAAK,GAAkB;IAClC,KAAK,CAAC,GAAG,CAAC,GAAW;QACnB,OAAO,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,SAAS,CAAC,CAAC;IACjE,CAAC;IACD,KAAK,CAAC,GAAG,CAAC,GAAW,EAAE,KAAa;QAClC,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACjC,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IACD,KAAK,CAAC,GAAG,CAAC,GAAW;QACnB,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QAC7B,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;CACF,CAAA"}
|
package/dist/utils.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function slugifyUrl(url: URL): string;
|
package/dist/utils.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function t(e){return decodeURIComponent(e.pathname).split("/").map(o=>o.normalize("NFKD").replace(/[\u0300-\u036f]/g,"").toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")).filter(Boolean).join("/")}export{t as slugifyUrl};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,UAAU,CAAC,GAAQ;IACjC,8CAA8C;IAC9C,MAAM,WAAW,GAAG,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACrD,OAAO,WAAW;SACf,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,OAAO,CAAC,EAAE,CACb,OAAO;SACJ,SAAS,CAAC,MAAM,CAAC,CAAe,4BAA4B;SAC5D,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC,iBAAiB;SACjD,WAAW,EAAE;SACb,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC,CAAK,6BAA6B;SAC7D,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAS,eAAe;KACnD;SACA,MAAM,CAAC,OAAO,CAAC,CAAqB,wBAAwB;SAC5D,IAAI,CAAC,GAAG,CAAC,CAAC;AACf,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { expect, it } from "vitest";
|
|
2
|
+
import { slugifyUrl } from "./utils";
|
|
3
|
+
it("slugify url", async () => {
|
|
4
|
+
const url = new URL("https://example.com/Café & Croissant/Morning Menu");
|
|
5
|
+
expect(slugifyUrl(url), 'cafe-croissant/morning-menu');
|
|
6
|
+
});
|
|
7
|
+
//# sourceMappingURL=utils.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.test.js","sourceRoot":"","sources":["../src/utils.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAErC,EAAE,CAAC,aAAa,EAAE,KAAK,IAAI,EAAE;IAC3B,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,mDAAmD,CAAC,CAAC;IACzE,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,6BAA6B,CAAC,CAAC;AACzD,CAAC,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wdft/micropayments-sdk",
|
|
3
3
|
"description": "wdft - we do fintech - micropayments sdk",
|
|
4
|
-
"version": "0.0.
|
|
4
|
+
"version": "0.0.10",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
7
7
|
"types": "dist/index.d.ts",
|
|
@@ -31,6 +31,6 @@
|
|
|
31
31
|
"build": "pnpm run build:types && pnpm run build:js",
|
|
32
32
|
"fmt": "biome check --write ./src",
|
|
33
33
|
"test": "vitest run",
|
|
34
|
-
"release": "bash -ic 'read -r -p \"Are you sure you want to release? (y/n) \" answer; case $answer in [Yy]*) pnpm run build && changeset publish ;; *) echo \"Release cancelled.\" ;; esac'"
|
|
34
|
+
"release": "bash -ic 'read -r -p \"Are you sure you want to release (changelog/version)? (y/n) \" answer; case $answer in [Yy]*) pnpm run build && changeset publish ;; *) echo \"Release cancelled.\" ;; esac'"
|
|
35
35
|
}
|
|
36
36
|
}
|
package/src/browser.ts
CHANGED
package/src/client.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { type IServiceOptions, type ICommitmentMetadata, Service } from "./service.js";
|
|
1
|
+
import { type IServiceOptions, type ICommitmentMetadata, Service, type ICommitment } from "./service.js";
|
|
2
|
+
import type { StorageDriver } from "./storage.js";
|
|
2
3
|
|
|
3
4
|
interface ICommitmentPayload {
|
|
4
5
|
commitment_id: string;
|
|
@@ -274,7 +275,9 @@ class Commitment {
|
|
|
274
275
|
}
|
|
275
276
|
|
|
276
277
|
interface IClientOptions {
|
|
278
|
+
tenant_id: string;
|
|
277
279
|
currency: string;
|
|
280
|
+
storage?: StorageDriver;
|
|
278
281
|
retry_ms?: number;
|
|
279
282
|
}
|
|
280
283
|
|
|
@@ -283,7 +286,9 @@ interface INewClientOptions extends IClientOptions, IServiceOptions {}
|
|
|
283
286
|
interface ICommitmentOptions {
|
|
284
287
|
currency?: string;
|
|
285
288
|
retry_ms?: number;
|
|
289
|
+
storage?: StorageDriver;
|
|
286
290
|
metadata?: ICommitmentMetadata;
|
|
291
|
+
commitmentKey?: string;
|
|
287
292
|
onCreated?: (commitment: Commitment) => void;
|
|
288
293
|
onResolved?: (commitment: Commitment) => void;
|
|
289
294
|
onError?: (error: Error, commitment: Commitment) => void;
|
|
@@ -304,25 +309,93 @@ export class Client {
|
|
|
304
309
|
private readonly options: IClientOptions,
|
|
305
310
|
) {}
|
|
306
311
|
|
|
312
|
+
private getStorageKey(reference_id: string) {
|
|
313
|
+
return `getviamsg:${this.options.tenant_id}:${reference_id}`;
|
|
314
|
+
}
|
|
315
|
+
|
|
316
|
+
async checkDirect(commitment_id: string) {
|
|
317
|
+
return this.svc.checkCommitment(commitment_id);
|
|
318
|
+
}
|
|
319
|
+
|
|
320
|
+
private async storeIntoStorageByKey(commitment_key: string | undefined, commitment: ICommitment) {
|
|
321
|
+
if (!this.options.storage) {
|
|
322
|
+
return;
|
|
323
|
+
}
|
|
324
|
+
|
|
325
|
+
if (!commitment_key) {
|
|
326
|
+
return;
|
|
327
|
+
}
|
|
328
|
+
|
|
329
|
+
await this.options.storage.set(commitment_key, JSON.stringify(commitment));
|
|
330
|
+
}
|
|
331
|
+
|
|
332
|
+
private async canRecreateFromStorageKey(commitment_key?: string): Promise<ICommitment | null> {
|
|
333
|
+
if (!this.options.storage) {
|
|
334
|
+
return null;
|
|
335
|
+
}
|
|
336
|
+
|
|
337
|
+
if (!commitment_key) {
|
|
338
|
+
return null;
|
|
339
|
+
}
|
|
340
|
+
|
|
341
|
+
const commitmentIdToRestoreSerialized = await this.options.storage.get(commitment_key);
|
|
342
|
+
|
|
343
|
+
if (!commitmentIdToRestoreSerialized) {
|
|
344
|
+
return null;
|
|
345
|
+
}
|
|
346
|
+
|
|
347
|
+
const commitmentToRestore = JSON.parse(commitmentIdToRestoreSerialized);
|
|
348
|
+
const status = await this.checkDirect(commitmentToRestore.commitment_id).catch(error => {
|
|
349
|
+
return { commitment_id: commitmentToRestore.commitment_id, status: 'expired', message: 'Commitment expired' };
|
|
350
|
+
});
|
|
351
|
+
|
|
352
|
+
if (status.status === "expired" || status.status === "rejected") {
|
|
353
|
+
await this.options.storage.del(commitment_key);
|
|
354
|
+
return null;
|
|
355
|
+
}
|
|
356
|
+
|
|
357
|
+
return commitmentToRestore;
|
|
358
|
+
}
|
|
359
|
+
|
|
307
360
|
async createDirect(
|
|
308
361
|
reference_id: string,
|
|
309
362
|
amount: number,
|
|
310
363
|
options: ICommitmentOptions = {},
|
|
311
364
|
): Promise<Commitment> {
|
|
312
|
-
const
|
|
365
|
+
const currency = options.currency ?? this.options.currency;
|
|
366
|
+
const commitment = await this.canRecreateFromStorageKey(options.commitmentKey);
|
|
367
|
+
|
|
368
|
+
if (commitment) {
|
|
369
|
+
return new Commitment(
|
|
370
|
+
this.svc,
|
|
371
|
+
{
|
|
372
|
+
commitment_id: commitment.commitment_id,
|
|
373
|
+
amount: amount,
|
|
374
|
+
currency: currency,
|
|
375
|
+
reference_id: reference_id,
|
|
376
|
+
expires_at: commitment.expires_at,
|
|
377
|
+
click_url: commitment.click_url,
|
|
378
|
+
retry_ms: this.options.retry_ms ?? DEFAULT_RETRY_TIME_MS,
|
|
379
|
+
},
|
|
380
|
+
options,
|
|
381
|
+
);
|
|
382
|
+
}
|
|
383
|
+
|
|
313
384
|
const response = await this.svc.createCommitment(
|
|
314
385
|
reference_id,
|
|
315
386
|
amount,
|
|
316
|
-
|
|
387
|
+
currency,
|
|
317
388
|
options.metadata,
|
|
318
389
|
);
|
|
319
390
|
|
|
391
|
+
await this.storeIntoStorageByKey(options.commitmentKey, response);
|
|
392
|
+
|
|
320
393
|
return new Commitment(
|
|
321
394
|
this.svc,
|
|
322
395
|
{
|
|
323
396
|
commitment_id: response.commitment_id,
|
|
324
397
|
amount: amount,
|
|
325
|
-
currency:
|
|
398
|
+
currency: currency,
|
|
326
399
|
reference_id: reference_id,
|
|
327
400
|
expires_at: response.expires_at,
|
|
328
401
|
click_url: response.click_url,
|
|
@@ -344,6 +417,14 @@ export class Client {
|
|
|
344
417
|
builder.setRetryTime(this.options.retry_ms);
|
|
345
418
|
}
|
|
346
419
|
|
|
420
|
+
const hasStorageConfigured = !!this.options.storage;
|
|
421
|
+
|
|
422
|
+
if (hasStorageConfigured) {
|
|
423
|
+
const commitmentKey = this.getStorageKey(reference_id);
|
|
424
|
+
builder.setStorage(this.options.storage!);
|
|
425
|
+
builder.setStorageCommitmentKey(commitmentKey);
|
|
426
|
+
}
|
|
427
|
+
|
|
347
428
|
builder
|
|
348
429
|
.onCreated((commitment) => {
|
|
349
430
|
commitment.startChecking();
|
|
@@ -373,24 +454,24 @@ export class Client {
|
|
|
373
454
|
click_url: commitment.getClickUrl(),
|
|
374
455
|
})
|
|
375
456
|
)
|
|
376
|
-
.onExpired((commitment) =>
|
|
377
|
-
on(null, {
|
|
457
|
+
.onExpired((commitment) => {
|
|
458
|
+
return on(null, {
|
|
378
459
|
status: commitment.getStatus(),
|
|
379
460
|
message: commitment.getMessage(),
|
|
380
461
|
reference_id,
|
|
381
462
|
commitment_id: commitment.getCommitmentId(),
|
|
382
463
|
click_url: commitment.getClickUrl(),
|
|
383
464
|
})
|
|
384
|
-
)
|
|
385
|
-
.onRejected((commitment) =>
|
|
386
|
-
on(null, {
|
|
465
|
+
})
|
|
466
|
+
.onRejected((commitment) => {
|
|
467
|
+
return on(null, {
|
|
387
468
|
status: commitment.getStatus(),
|
|
388
469
|
message: commitment.getMessage(),
|
|
389
470
|
reference_id,
|
|
390
471
|
commitment_id: commitment.getCommitmentId(),
|
|
391
472
|
click_url: commitment.getClickUrl(),
|
|
392
473
|
})
|
|
393
|
-
)
|
|
474
|
+
})
|
|
394
475
|
.onResolved((commitment) =>
|
|
395
476
|
on(null, {
|
|
396
477
|
status: commitment.getStatus(),
|
|
@@ -425,6 +506,8 @@ type OnStatusErrorCallback = (error: Error, payload: null) => void;
|
|
|
425
506
|
export type ICallback = OnStatusCallback & OnStatusErrorCallback;
|
|
426
507
|
|
|
427
508
|
class CommitmentObservabileBuilder {
|
|
509
|
+
private _storage: StorageDriver | undefined;
|
|
510
|
+
private _commitmentKey: string | undefined;
|
|
428
511
|
private _reference_id: string | undefined;
|
|
429
512
|
private _amount: number | undefined;
|
|
430
513
|
private _retry_ms = DEFAULT_RETRY_TIME_MS;
|
|
@@ -442,6 +525,16 @@ class CommitmentObservabileBuilder {
|
|
|
442
525
|
|
|
443
526
|
constructor(private readonly client: Client) {}
|
|
444
527
|
|
|
528
|
+
setStorage(storage: StorageDriver) {
|
|
529
|
+
this._storage = storage;
|
|
530
|
+
return this;
|
|
531
|
+
}
|
|
532
|
+
|
|
533
|
+
setStorageCommitmentKey(key: string) {
|
|
534
|
+
this._commitmentKey = key;
|
|
535
|
+
return this;
|
|
536
|
+
}
|
|
537
|
+
|
|
445
538
|
setMetadataTitle(title: string = "") {
|
|
446
539
|
this._metadata.title = title;
|
|
447
540
|
return this;
|
|
@@ -530,6 +623,8 @@ class CommitmentObservabileBuilder {
|
|
|
530
623
|
retry_ms: this._retry_ms,
|
|
531
624
|
currency: this._currency,
|
|
532
625
|
metadata: this._metadata,
|
|
626
|
+
storage: this._storage,
|
|
627
|
+
commitmentKey: this._commitmentKey,
|
|
533
628
|
onCheck: this._onCheckFn,
|
|
534
629
|
onCreated: this._onCreatedFn,
|
|
535
630
|
onDuplicated: this._onDuplicatedFn,
|
|
File without changes
|
package/src/index.test.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { it } from "vitest";
|
|
2
2
|
import { getViaMsg } from "./index.js";
|
|
3
3
|
import { mockFetch } from "./test_utils/mock_fetcher.js";
|
|
4
|
+
import { memory } from "./storage.js";
|
|
4
5
|
|
|
5
6
|
it("getViaMsg", async () => {
|
|
6
7
|
const mock = mockFetch();
|
|
@@ -63,4 +64,4 @@ it("getViaMsg", async () => {
|
|
|
63
64
|
},
|
|
64
65
|
);
|
|
65
66
|
});
|
|
66
|
-
});
|
|
67
|
+
});
|
package/src/index.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { ICallback } from "./client.js";
|
|
2
2
|
import type { Fetcher } from "./service.js";
|
|
3
|
-
|
|
3
|
+
import type { StorageDriver } from "./storage.js";
|
|
4
4
|
import { Client } from "./client.js";
|
|
5
5
|
|
|
6
6
|
export interface IGetViaMsgInit {
|
|
@@ -9,6 +9,7 @@ export interface IGetViaMsgInit {
|
|
|
9
9
|
currency: "PLN" | "EUR" | "GBP" | "USD" | "CHF" | string;
|
|
10
10
|
tenant_id: string;
|
|
11
11
|
endpoint?: string;
|
|
12
|
+
storage?: StorageDriver;
|
|
12
13
|
fetcher?: Fetcher;
|
|
13
14
|
retry_ms?: number;
|
|
14
15
|
}
|
|
@@ -16,11 +17,12 @@ export interface IGetViaMsgInit {
|
|
|
16
17
|
export function getViaMsg(init: IGetViaMsgInit, callback: ICallback) {
|
|
17
18
|
const client = Client.new({
|
|
18
19
|
currency: init.currency,
|
|
19
|
-
endpoint: init.endpoint ?? "https://
|
|
20
|
+
endpoint: init.endpoint ?? "https://svc.getviamsg.wdft.ovh/",
|
|
20
21
|
tenant_id: init.tenant_id,
|
|
22
|
+
storage: init.storage,
|
|
21
23
|
fetcher: init.fetcher ?? fetch,
|
|
22
24
|
retry_ms: init.retry_ms ?? 1000,
|
|
23
25
|
});
|
|
24
26
|
|
|
25
27
|
client.create(init.reference_id, init.amount, callback);
|
|
26
|
-
}
|
|
28
|
+
}
|
package/src/service.ts
CHANGED
package/src/storage.ts
ADDED
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
export interface StorageDriver {
|
|
2
|
+
get(key: string): Promise<string | undefined>;
|
|
3
|
+
set(key: string, value: string): Promise<void>;
|
|
4
|
+
del(key: string): Promise<void>;
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
export const memory: StorageDriver & {__db: Record<string, string>} = {
|
|
8
|
+
__db: {} as Record<string, string>,
|
|
9
|
+
async get(key: string) {
|
|
10
|
+
return Promise.resolve(this.__db[key] || undefined);
|
|
11
|
+
},
|
|
12
|
+
async set(key: string, value: string) {
|
|
13
|
+
this.__db[key] = value;
|
|
14
|
+
return Promise.resolve();
|
|
15
|
+
},
|
|
16
|
+
async del(key: string) {
|
|
17
|
+
delete this.__db[key];
|
|
18
|
+
return Promise.resolve();
|
|
19
|
+
},
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
export const session: StorageDriver = {
|
|
23
|
+
async get(key: string) {
|
|
24
|
+
return Promise.resolve(sessionStorage.getItem(key) ?? undefined);
|
|
25
|
+
},
|
|
26
|
+
async set(key: string, value: string) {
|
|
27
|
+
sessionStorage.setItem(key, value);
|
|
28
|
+
return Promise.resolve();
|
|
29
|
+
},
|
|
30
|
+
async del(key: string) {
|
|
31
|
+
sessionStorage.removeItem(key);
|
|
32
|
+
return Promise.resolve();
|
|
33
|
+
},
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
export const local: StorageDriver = {
|
|
37
|
+
async get(key: string) {
|
|
38
|
+
return Promise.resolve(localStorage.getItem(key) ?? undefined);
|
|
39
|
+
},
|
|
40
|
+
async set(key: string, value: string) {
|
|
41
|
+
localStorage.setItem(key, value);
|
|
42
|
+
return Promise.resolve();
|
|
43
|
+
},
|
|
44
|
+
async del(key: string) {
|
|
45
|
+
localStorage.removeItem(key);
|
|
46
|
+
return Promise.resolve();
|
|
47
|
+
},
|
|
48
|
+
}
|
package/src/utils.ts
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export function slugifyUrl(url: URL): string {
|
|
2
|
+
// Decode any percent-encoded characters first
|
|
3
|
+
const decodedPath = decodeURIComponent(url.pathname);
|
|
4
|
+
return decodedPath
|
|
5
|
+
.split('/')
|
|
6
|
+
.map(segment =>
|
|
7
|
+
segment
|
|
8
|
+
.normalize('NFKD') // Normalize Unicode (é → e)
|
|
9
|
+
.replace(/[\u0300-\u036f]/g, '') // Remove accents
|
|
10
|
+
.toLowerCase()
|
|
11
|
+
.replace(/[^a-z0-9]+/g, '-') // Non-alphanumerics → hyphen
|
|
12
|
+
.replace(/^-+|-+$/g, '') // Trim hyphens
|
|
13
|
+
)
|
|
14
|
+
.filter(Boolean) // Remove empty segments
|
|
15
|
+
.join('/');
|
|
16
|
+
}
|