@dataships/sdk 2.0.0 → 2.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/README.md +8 -5
- package/dist/adapters/custom-platform-checkout/index.d.ts +3 -3
- package/dist/adapters/custom-platform-checkout/index.js +57 -7
- package/dist/adapters/custom-platform-checkout/index.js.map +1 -1
- package/dist/adapters/custom-platform-signup/index.d.ts +3 -3
- package/dist/adapters/custom-platform-signup/index.js +57 -7
- package/dist/adapters/custom-platform-signup/index.js.map +1 -1
- package/dist/adapters/salesforce/index.d.ts +2 -2
- package/dist/adapters/salesforce/index.js +57 -7
- package/dist/adapters/salesforce/index.js.map +1 -1
- package/dist/adapters/shopify-checkout/index.d.ts +3 -3
- package/dist/adapters/shopify-checkout/index.js +57 -7
- package/dist/adapters/shopify-checkout/index.js.map +1 -1
- package/dist/dataships.min.js +3 -3
- package/dist/dataships.min.js.map +1 -1
- package/dist/index.d.ts +15 -10
- package/dist/index.js +59 -9
- package/dist/index.js.map +1 -1
- package/dist/integrity.json +7 -7
- package/dist/{locale-DwOMogGu.d.ts → locale-B1o0kX7n.d.ts} +1 -1
- package/dist/{retry--aRf_ryF.d.ts → retry-CGwSrbz_.d.ts} +1 -1
- package/dist/server.d.ts +4 -4
- package/dist/server.js +1 -1
- package/dist/{types-Bfm_pCq7.d.ts → types-vPJjFMJw.d.ts} +6 -3
- package/package.json +1 -1
|
@@ -7,6 +7,10 @@ var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot
|
|
|
7
7
|
var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), member.set(obj, value), value);
|
|
8
8
|
|
|
9
9
|
// src/session/previewUpsertResponse.ts
|
|
10
|
+
var DEFAULT_EMAIL_OPT_IN_TEXT = "We would like to email you news and promotions. Tick to opt in.";
|
|
11
|
+
var DEFAULT_EMAIL_OPT_IN_CONSENT_DESCRIPTION = "Click here for an overview of how your personal data is processed for marketing purposes or see our Privacy Policy for further information.";
|
|
12
|
+
var DEFAULT_SMS_OPT_IN_TEXT = "We would like to text you news and promotions. Tick to opt in.";
|
|
13
|
+
var DEFAULT_SMS_OPT_IN_CONSENT_DESCRIPTION = "Based on the channel preferences set above, you agree to receive recurring automated marketing messages (e.g. AI content, cart reminders) from {{COMPANY_NAME}} at the number you provide. Consent is not a condition of purchase. We may share info with service providers per our Privacy Policy. Reply STOP to cancel or click the unsubscribe link (where available). For help reply HELP or email {{PRIVACY_EMAIL}}. Msg frequency varies. Msg & data rates may apply. By proceeding, you also agree to our Terms of Service (incl. arbitration) & Privacy Policy.";
|
|
10
14
|
var fakeEmailUpsertResponse = {
|
|
11
15
|
consentSessionId: "01HQB3QRZVV0737R0R25BTQBGF",
|
|
12
16
|
consents: [
|
|
@@ -15,8 +19,8 @@ var fakeEmailUpsertResponse = {
|
|
|
15
19
|
consentType: "OPT_IN",
|
|
16
20
|
checked: false,
|
|
17
21
|
widgetConfig: {
|
|
18
|
-
text:
|
|
19
|
-
consentDescription:
|
|
22
|
+
text: DEFAULT_EMAIL_OPT_IN_TEXT,
|
|
23
|
+
consentDescription: DEFAULT_EMAIL_OPT_IN_CONSENT_DESCRIPTION,
|
|
20
24
|
marketingInformation: '<h1>Marketing Information</h1>\n<p>We may send you direct marketing communications, product information and promotional offers. You can withdraw your consent at any time. See our <a href="https://dataships.io/privacy-centre">Privacy Policy</a> or contact us at <a href="mailto:privacy@example.com">privacy@example.com</a> for further information.</p>\n',
|
|
21
25
|
policyURL: "https://dataships.io/privacy-centre",
|
|
22
26
|
mobileTermsOfServiceURL: null,
|
|
@@ -37,8 +41,8 @@ var fakePhoneUpsertResponse = {
|
|
|
37
41
|
consentType: "OPT_IN",
|
|
38
42
|
checked: false,
|
|
39
43
|
widgetConfig: {
|
|
40
|
-
text:
|
|
41
|
-
consentDescription:
|
|
44
|
+
text: DEFAULT_SMS_OPT_IN_TEXT,
|
|
45
|
+
consentDescription: DEFAULT_SMS_OPT_IN_CONSENT_DESCRIPTION,
|
|
42
46
|
marketingInformation: '<h1>Marketing Information</h1>\n<p>We may send you marketing text messages about products and promotional offers. Message frequency varies. You can withdraw your consent at any time by replying STOP. See our <a href="https://dataships.io/privacy-centre">Privacy Policy</a> or contact us at <a href="mailto:privacy@example.com">privacy@example.com</a> for further information.</p>\n',
|
|
43
47
|
policyURL: "https://dataships.io/privacy-centre",
|
|
44
48
|
mobileTermsOfServiceURL: "https://dataships.io/mobile-terms",
|
|
@@ -51,7 +55,53 @@ var fakePhoneUpsertResponse = {
|
|
|
51
55
|
lastHeartbeat: "2026-06-17T00:00:00Z",
|
|
52
56
|
identifier: null
|
|
53
57
|
};
|
|
54
|
-
var
|
|
58
|
+
var MARKETING_MODAL_HREF = "#dataships-marketing-modal";
|
|
59
|
+
var CHECKBOX_LABEL_BOLD_PHRASES = ["consent", "object", "opt in", "opt out", "STOP", "HELP"];
|
|
60
|
+
var CONSENT_DESCRIPTION_BOLD_PHRASES = ["STOP", "HELP"];
|
|
61
|
+
var escapeHtml = (text) => text.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">").replace(/"/g, """);
|
|
62
|
+
var escapeRegExp = (text) => text.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
|
|
63
|
+
var wrapPhrase = (html, phrase, wrap) => html.replace(
|
|
64
|
+
new RegExp(`${escapeRegExp(escapeHtml(phrase))}(?![^<]*>)(?![^<]*</a>)`, "gi"),
|
|
65
|
+
wrap
|
|
66
|
+
);
|
|
67
|
+
var toHtmlCopy = (text, widgetConfig, boldPhrases) => {
|
|
68
|
+
let html = escapeHtml(text);
|
|
69
|
+
const links = [
|
|
70
|
+
["Terms of Service", widgetConfig.mobileTermsOfServiceURL],
|
|
71
|
+
["Privacy Policy", widgetConfig.policyURL],
|
|
72
|
+
["Click here", MARKETING_MODAL_HREF]
|
|
73
|
+
];
|
|
74
|
+
for (const [phrase, href] of links) {
|
|
75
|
+
if (!href) continue;
|
|
76
|
+
html = wrapPhrase(html, phrase, (match) => `<a href="${escapeHtml(href)}">${match}</a>`);
|
|
77
|
+
}
|
|
78
|
+
for (const phrase of boldPhrases) {
|
|
79
|
+
html = wrapPhrase(html, phrase, (match) => `<strong>${match}</strong>`);
|
|
80
|
+
}
|
|
81
|
+
return `<p>${html}</p>`;
|
|
82
|
+
};
|
|
83
|
+
var withHtmlCopy = (response) => ({
|
|
84
|
+
...response,
|
|
85
|
+
consents: response.consents.map((consent) => {
|
|
86
|
+
const { widgetConfig } = consent;
|
|
87
|
+
return {
|
|
88
|
+
...consent,
|
|
89
|
+
widgetConfig: {
|
|
90
|
+
...widgetConfig,
|
|
91
|
+
text: widgetConfig.text === null ? null : toHtmlCopy(widgetConfig.text, widgetConfig, CHECKBOX_LABEL_BOLD_PHRASES),
|
|
92
|
+
consentDescription: widgetConfig.consentDescription === null ? null : toHtmlCopy(
|
|
93
|
+
widgetConfig.consentDescription,
|
|
94
|
+
widgetConfig,
|
|
95
|
+
CONSENT_DESCRIPTION_BOLD_PHRASES
|
|
96
|
+
)
|
|
97
|
+
}
|
|
98
|
+
};
|
|
99
|
+
})
|
|
100
|
+
});
|
|
101
|
+
var previewUpsertResponse = (identifierType, format = "json") => {
|
|
102
|
+
const response = identifierType === "PHONE" ? fakePhoneUpsertResponse : fakeEmailUpsertResponse;
|
|
103
|
+
return format === "html" ? withHtmlCopy(response) : response;
|
|
104
|
+
};
|
|
55
105
|
|
|
56
106
|
// src/types.ts
|
|
57
107
|
var SUPPORTED_LOCALES = [
|
|
@@ -123,8 +173,8 @@ var ShopifyCheckoutAdapter = class {
|
|
|
123
173
|
this.previewMode = opts.previewMode ?? false;
|
|
124
174
|
}
|
|
125
175
|
/** Synthetic upsert response served in {@link previewMode}, matching the requested identifier type. */
|
|
126
|
-
getPreviewUpsertResponse(identifierType = "EMAIL") {
|
|
127
|
-
return previewUpsertResponse(identifierType);
|
|
176
|
+
getPreviewUpsertResponse(identifierType = "EMAIL", format) {
|
|
177
|
+
return previewUpsertResponse(identifierType, format);
|
|
128
178
|
}
|
|
129
179
|
getLocale() {
|
|
130
180
|
return __privateGet(this, _locale);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/session/previewUpsertResponse.ts","../../../src/types.ts","../../../src/adapters/locale.ts","../../../src/adapters/shopify-checkout/index.ts"],"names":[],"mappings":";;;;;;;;;
|
|
1
|
+
{"version":3,"sources":["../../../src/session/previewUpsertResponse.ts","../../../src/types.ts","../../../src/adapters/locale.ts","../../../src/adapters/shopify-checkout/index.ts"],"names":[],"mappings":"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","file":"index.js"}
|
package/dist/dataships.min.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
"use strict";var Dataships=(()=>{var Se=Object.defineProperty;var mt=Object.getOwnPropertyDescriptor;var Ct=Object.getOwnPropertyNames;var gt=Object.prototype.hasOwnProperty;var _e=t=>{throw TypeError(t)};var It=(t,e)=>{for(var o in e)Se(t,o,{get:e[o],enumerable:!0})},Tt=(t,e,o,s)=>{if(e&&typeof e=="object"||typeof e=="function")for(let a of Ct(e))!gt.call(t,a)&&a!==o&&Se(t,a,{get:()=>e[a],enumerable:!(s=mt(e,a))||s.enumerable});return t};var Et=t=>Tt(Se({},"__esModule",{value:!0}),t);var fe=(t,e,o)=>e.has(t)||_e("Cannot "+o);var n=(t,e,o)=>(fe(t,e,"read from private field"),o?o.call(t):e.get(t)),i=(t,e,o)=>e.has(t)?_e("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,o),r=(t,e,o,s)=>(fe(t,e,"write to private field"),s?s.call(t,o):e.set(t,o),o),p=(t,e,o)=>(fe(t,e,"access private method"),o);var Xt={};It(Xt,{CONSENT_SESSION_ALREADY_PROCESSED:()=>G,CONSENT_SESSION_SUBMIT_PATH:()=>pe,COUNTRY_NOT_FOUND_CODE:()=>ye,CUSTOM_PLATFORM_CHECKOUT_INTEGRATION_TYPE:()=>ft,CUSTOM_PLATFORM_SIGNUP_INTEGRATION_TYPE:()=>ht,CustomPlatformCheckoutAdapter:()=>we,CustomPlatformSignupAdapter:()=>ve,DATASHIPS_SESSION_ID_MAX_LENGTH:()=>Z,DatashipsClient:()=>ue,DatashipsError:()=>h,DatashipsHttpError:()=>h,SHOPIFY_CHECKOUT_INTEGRATION_TYPE:()=>it,SUBMIT_VERIFICATION_CODE_ERROR_CODES:()=>Ve,SUPPORTED_LOCALES:()=>D,SalesforceAdapter:()=>Re,ShopifyCheckoutAdapter:()=>Ee,UNSAFE_SERVER_KEY_APP_MARKER:()=>re,UNSAFE_SERVER_KEY_WARNING:()=>he,authHeaders:()=>ie,buildSubmitRequest:()=>ce,coerceLocale:()=>C,defaultRetryPolicy:()=>$,fakeEmailUpsertResponse:()=>Ie,fakePhoneUpsertResponse:()=>Te,getConfigFromScriptTag:()=>de,noRetryPolicy:()=>W,normaliseSubmitUser:()=>Ce,previewUpsertResponse:()=>m,randomUuid:()=>N,sha256Hex:()=>rt,upsertSessionRetryPolicy:()=>ae,verificationErrorCodeFromBody:()=>le,version:()=>Jt});var Rt="ds_sk_",Oe=t=>t.startsWith(Rt),bt=t=>"serverKey"in t,k=t=>"unsafeServerKey"in t,se=t=>typeof t.getToken=="function",Ue=async t=>{let e=await t.getToken();if(!e)throw new Error("DatashipsClient: auth.getToken() returned an empty token");return{publicKey:t.publicKey,token:e}},re="unsafe-server-key",he="Dataships SDK: the merchant SERVER KEY is being used in the browser (auth.unsafeServerKey). Anyone who views this page's source can act as this merchant until the key is revoked. Mint a short-lived token on your server and pass auth: { publicKey, token } instead.",ke=t=>{if(k(t)){if(!t.unsafeServerKey||!Oe(t.unsafeServerKey))throw new Error("DatashipsClient: auth.unsafeServerKey must be a server key (ds_sk_\u2026); a public key belongs in auth: { publicKey, token }");wt();return}if(Oe(t.publicKey))throw new Error("DatashipsClient: a server key (ds_sk_\u2026) must never be used in the browser; use the public key with a merchant-signed token, or DatashipsServerClient from '@dataships/sdk/server' on your server");let e="getToken"in t&&t.getToken!==void 0;if(e&&"token"in t&&t.token!==void 0)throw new Error("DatashipsClient: pass either auth.token or auth.getToken, not both");if(e){if(!se(t))throw new Error("DatashipsClient: auth.getToken must be a function");return}if(!t.token)throw new Error("DatashipsClient: auth.token is required with a public key (the merchant's server mints it), or auth.getToken to fetch one per request")};var wt=()=>{globalThis.console?.warn?.(he)},ie=t=>k(t)?{"X-Api-Key":t.unsafeServerKey}:bt(t)?{"X-Api-Key":t.serverKey}:{"X-Api-Key":t.publicKey,Authorization:`Bearer ${t.token}`};var At="https://api.dataships.io",Ne=(t="production",e)=>{if(e)return e;if(t==="production")return At;throw new Error(`Dataships SDK: env "${t}" has no default base URL; pass \`baseUrl\``)};var vt=new Set([400,401,403,404,417,422,426]),Pt=t=>t!==void 0&&vt.has(t),G="CONSENT_SESSION_ALREADY_PROCESSED",xt=new Set([G]),_t=t=>t!==void 0&&xt.has(t),De=4,Ot=t=>t>=De?0:t*2e3,$={shouldRetry:(t,e,o)=>!Pt(e)&&!_t(o)&&t<De,delayMs:Ot},ae=$,W={shouldRetry:()=>!1,delayMs:()=>0};var h=class extends Error{constructor(e){super(`Dataships request failed (${e.status||"network"})`),this.name="DatashipsError",this.status=e.status,this.body=e.body,this.challenge=e.challenge??null,this.code=J(e.body),this.reason=Ut(e.body)}get isAuthenticationFailure(){return this.status===401||this.status===403}get isSessionProcessed(){return this.code===G}};var J=t=>{if(typeof t!="object"||t===null)return null;let e=t.errors;if(!Array.isArray(e))return null;let o=e[0]?.code;return typeof o=="string"?o:null},Ut=t=>{if(typeof t!="object"||t===null)return null;let e=t.message;return typeof e=="string"&&e.length>0?e:null};var Le="/v1/consent-session",Ke="/v1/consent-session/consent",Me="/v1/consent-session/heartbeat",Fe="/v1/consent-session/trigger-verification-code",He="/v1/consent-session/submit-verification-code",pe="/v1/consent-session/submit";var ye="COUNTRY_NOT_FOUND",Ve=["CODE_EXPIRED","CODE_INVALID","NUMBER_MAX_ATTEMPTS_EXCEEDED"],le=J,Be=t=>({identifier:t.identifier,identifierType:t.identifierType,locale:t.locale,...t.userIp?{userIp:t.userIp}:{},...t.format?{format:t.format}:{},integration:{...t.context,type:t.integrationType}}),qe=t=>t.status===422&&t.code===ye,me=()=>({consentSessionId:null,consents:[],userVerificationRequired:null,lastHeartbeat:null,identifier:null}),je=t=>({consentSessionId:t.consentSessionId,channel:t.channel,consent:t.consent}),Ye=t=>({consentSessionId:t.consentSessionId}),Ge=t=>({consentSessionId:t.consentSessionId}),$e=t=>({consentSessionId:t.consentSessionId,verificationCode:t.verificationCode,referenceId:t.referenceId}),ce=t=>{let e={...t.details};return e.submittedAt instanceof Date&&(e.submittedAt=e.submittedAt.toISOString()),typeof e.billingCountryCode=="string"&&(e.billingCountryCode=e.billingCountryCode.trim().toUpperCase()),{datashipsSessionId:t.datashipsSessionId,user:Ce(t.user),integration:{...e,type:t.integrationType}}},Ce=t=>{let e=t?.firstName?.trim()??"",o=t?.lastName?.trim()??"";if(!e||!o)throw new Error("submitSession: user.firstName and user.lastName are required (core-api refuses a blank name)");return{firstName:e,lastName:o}};var We=async t=>{let{adapter:e,input:o}=t,s=o.identifier??(await e.getIdentifier(o.identifierType)).identifier,a=await e.getSessionContext(),l=Be({integrationType:e.integrationType,locale:e.getLocale(),identifier:s,identifierType:o.identifierType,userIp:o.userIp,format:o.format,context:a});try{return await t.post({path:Le,body:l,retry:t.retry})??me()}catch(u){if(u instanceof h&&qe(u))return me();throw u}},Je=t=>t.post({path:Ke,body:je({consentSessionId:t.consentSessionId,channel:t.channel,consent:t.consent}),retry:t.retry}),Xe=t=>t.post({path:Me,body:Ye({consentSessionId:t.consentSessionId}),retry:t.retry}),Qe=t=>t.post({path:Fe,body:Ge({consentSessionId:t.consentSessionId}),retry:W}),Ze=async t=>{try{return await t.post({path:He,body:$e({consentSessionId:t.consentSessionId,verificationCode:t.verificationCode,referenceId:t.referenceId}),retry:W}),{verified:!0,errorCode:null}}catch(e){if(e instanceof h&&e.status===400)return{verified:!1,errorCode:le(e.body)};throw e}},ze=async t=>{let{adapter:e,input:o}=t,s=o.datashipsSessionId??e.getDatashipsSessionId?.();if(!s)throw new Error("submitSession: datashipsSessionId is required; this adapter holds no beacon of its own");await t.post({path:pe,body:ce({datashipsSessionId:s,integrationType:e.integrationType,user:o.user,details:o.details}),retry:t.retry}),o.datashipsSessionId===void 0&&o.resetBeacon!==!1&&e.resetDatashipsSessionId?.()};var et=async({url:t,headers:e,body:o,fetch:s,retry:a})=>{let l=0;for(;;){let u,S,y=typeof e=="function"?await e():e;try{u=await s(t,{method:"POST",headers:{"Content-Type":"application/json",...y},body:JSON.stringify(o)})}catch(U){S=U}let E=u?.status;if((u?.ok??!1)&&u){let U=await u.text();return U?JSON.parse(U):void 0}let Pe=u?await Nt(u):null,yt=J(Pe)??void 0;if(!a.shouldRetry(l,E,yt))throw S||new h({status:E??0,body:Pe,challenge:u?.headers.get("WWW-Authenticate")??null});l+=1;let xe=a.delayMs(l);xe>0&&await new Promise(U=>setTimeout(U,xe))}},Nt=async t=>{let e=await t.text();if(!e)return null;try{return JSON.parse(e)}catch{return e}};var Dt=210*1e3,Lt=600*1e3,f,X,Q,b,c,tt,ot,nt,ge,st,R,ue=class{constructor(e){i(this,c);i(this,f);i(this,X);i(this,Q);i(this,b);if(this.adapter=e.adapter,e.auth&&ke(e.auth),!e.auth&&!e.adapter.previewMode)throw new Error("DatashipsClient: `auth: { publicKey, token }` (or `{ publicKey, getToken }`) is required unless the adapter runs in preview mode");this.publicKey=e.auth&&!k(e.auth)?e.auth.publicKey:null,r(this,f,e.auth??null),this.app=e.app,this.version=e.version,this.baseUrl=Ne(e.env,e.baseUrl),r(this,X,e.fetch??globalThis.fetch.bind(globalThis)),r(this,Q,e.retry?.upsertSession??ae),r(this,b,e.retry?.default??$)}get auth(){return n(this,f)}get isUnsafeServerKey(){return n(this,f)!==null&&k(n(this,f))}setToken(e){if(!n(this,f))throw new Error("DatashipsClient: setToken() requires a client constructed with `auth`");if(k(n(this,f)))throw new Error("DatashipsClient: setToken() does not apply under auth.unsafeServerKey; there is no token to rotate");if(se(n(this,f)))throw new Error("DatashipsClient: setToken() does not apply under auth.getToken; the provider is called before every request");if(!e)throw new Error("DatashipsClient: token must be a non-empty string");r(this,f,{...n(this,f),token:e})}async upsertSession(e){let o=p(this,c,tt).call(this,e.identifierType);return o||We({adapter:this.adapter,input:e,post:p(this,c,R).bind(this),retry:n(this,Q)})}async saveConsent(e){this.adapter.previewMode||await Je({consentSessionId:p(this,c,ge).call(this,e.session),channel:e.channel,consent:e.consent,post:p(this,c,R).bind(this),retry:n(this,b)})}async triggerVerificationCode(e){return this.adapter.previewMode?{userVerificationTriggered:!1,referenceId:null,codeLength:null,resendAfterSeconds:null}:Qe({consentSessionId:e.consentSessionId,post:p(this,c,R).bind(this)})}async submitVerificationCode(e){return this.adapter.previewMode?{verified:!0,errorCode:null}:Ze({...e,post:p(this,c,R).bind(this)})}async submitSession(e){let o=this.adapter;if(o.previewMode){e.datashipsSessionId===void 0&&e.resetBeacon!==!1&&o.resetDatashipsSessionId?.();return}await ze({adapter:o,input:e,post:p(this,c,R).bind(this),retry:n(this,b)})}startHeartbeat(e,o={}){if(this.adapter.previewMode)return()=>{};let s=o.intervalMs??Dt,a=o.durationMs??Lt,l=Date.now(),u=!1,S=()=>{u||(u=!0,clearInterval(y))},y=setInterval(()=>{if(Date.now()-l>=a){S();return}p(this,c,st).call(this,e).catch(E=>{o.onError?.(E),E instanceof h&&(E.isAuthenticationFailure||E.isSessionProcessed)&&S()})},s);return S}};f=new WeakMap,X=new WeakMap,Q=new WeakMap,b=new WeakMap,c=new WeakSet,tt=function(e){return this.adapter.previewMode&&this.adapter.getPreviewUpsertResponse?this.adapter.getPreviewUpsertResponse(e):null},ot=async function(){let e=p(this,c,nt).call(this);return ie(se(e)?await Ue(e):e)},nt=function(){if(!n(this,f))throw new Error("DatashipsClient: no credentials configured; pass `auth: { publicKey, token }`");return n(this,f)},ge=function(e){if(!e.consentSessionId)throw new Error("DatashipsClient: consentSessionId is required");return e.consentSessionId},st=async function(e){await Xe({consentSessionId:p(this,c,ge).call(this,e),post:p(this,c,R).bind(this),retry:n(this,b)})},R=async function(e){let o={"X-Dataships-App":`${this.app} (SDK: ${this.adapter.name}${this.isUnsafeServerKey?`; ${re}`:""})`,"X-Dataships-Version":`${this.version} (SDK: 2.0.0)`};return et({url:`${this.baseUrl}${e.path}`,headers:async()=>({...await p(this,c,ot).call(this),...o}),body:e.body,fetch:n(this,X),retry:e.retry})};var rt=async t=>{let e=new TextEncoder().encode(t),o=await crypto.subtle.digest("SHA-256",e);return Array.from(new Uint8Array(o)).map(s=>s.toString(16).padStart(2,"0")).join("")};var N=(t=globalThis.crypto)=>{if(t&&typeof t.randomUUID=="function")return t.randomUUID();let e=new Uint8Array(16);if(t&&typeof t.getRandomValues=="function")t.getRandomValues(e);else for(let s=0;s<16;s++)e[s]=Math.floor(Math.random()*256);e[6]=e[6]&15|64,e[8]=e[8]&63|128;let o=Array.from(e,s=>s.toString(16).padStart(2,"0"));return o.slice(0,4).join("")+"-"+o.slice(4,6).join("")+"-"+o.slice(6,8).join("")+"-"+o.slice(8,10).join("")+"-"+o.slice(10,16).join("")};var Ie={consentSessionId:"01HQB3QRZVV0737R0R25BTQBGF",consents:[{channel:"EMAIL",consentType:"OPT_IN",checked:!1,widgetConfig:{text:"Subscribe to our newsletter for exclusive offers and updates.",consentDescription:"Click here for an overview of how your personal data is processed for marketing purposes or see our Privacy Policy for further information.",marketingInformation:`<h1>Marketing Information</h1>
|
|
1
|
+
"use strict";var Dataships=(()=>{var Se=Object.defineProperty;var Tt=Object.getOwnPropertyDescriptor;var It=Object.getOwnPropertyNames;var Et=Object.prototype.hasOwnProperty;var xe=t=>{throw TypeError(t)};var Rt=(t,e)=>{for(var o in e)Se(t,o,{get:e[o],enumerable:!0})},bt=(t,e,o,s)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of It(e))!Et.call(t,i)&&i!==o&&Se(t,i,{get:()=>e[i],enumerable:!(s=Tt(e,i))||s.enumerable});return t};var At=t=>bt(Se({},"__esModule",{value:!0}),t);var fe=(t,e,o)=>e.has(t)||xe("Cannot "+o);var n=(t,e,o)=>(fe(t,e,"read from private field"),o?o.call(t):e.get(t)),a=(t,e,o)=>e.has(t)?xe("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,o),r=(t,e,o,s)=>(fe(t,e,"write to private field"),s?s.call(t,o):e.set(t,o),o),l=(t,e,o)=>(fe(t,e,"access private method"),o);var po={};Rt(po,{CONSENT_SESSION_ALREADY_PROCESSED:()=>$,CONSENT_SESSION_SUBMIT_PATH:()=>pe,COUNTRY_NOT_FOUND_CODE:()=>ye,CUSTOM_PLATFORM_CHECKOUT_INTEGRATION_TYPE:()=>mt,CUSTOM_PLATFORM_SIGNUP_INTEGRATION_TYPE:()=>Ct,CustomPlatformCheckoutAdapter:()=>Pe,CustomPlatformSignupAdapter:()=>we,DATASHIPS_SESSION_ID_MAX_LENGTH:()=>Z,DatashipsClient:()=>ue,DatashipsError:()=>h,DatashipsHttpError:()=>h,SHOPIFY_CHECKOUT_INTEGRATION_TYPE:()=>lt,SUBMIT_VERIFICATION_CODE_ERROR_CODES:()=>Be,SUPPORTED_LOCALES:()=>D,SalesforceAdapter:()=>be,ShopifyCheckoutAdapter:()=>Re,UNSAFE_SERVER_KEY_APP_MARKER:()=>re,UNSAFE_SERVER_KEY_WARNING:()=>he,authHeaders:()=>ie,buildSubmitRequest:()=>ce,coerceLocale:()=>C,defaultRetryPolicy:()=>G,fakeEmailUpsertResponse:()=>Ie,fakePhoneUpsertResponse:()=>Ee,getConfigFromScriptTag:()=>de,noRetryPolicy:()=>W,normaliseSubmitUser:()=>Ce,previewUpsertResponse:()=>m,randomUuid:()=>N,sha256Hex:()=>it,upsertSessionRetryPolicy:()=>ae,verificationErrorCodeFromBody:()=>le,version:()=>ao});var Pt="ds_sk_",Ue=t=>t.startsWith(Pt),_t=t=>"serverKey"in t,k=t=>"unsafeServerKey"in t,se=t=>typeof t.getToken=="function",ke=async t=>{let e=await t.getToken();if(!e)throw new Error("DatashipsClient: auth.getToken() returned an empty token");return{publicKey:t.publicKey,token:e}},re="unsafe-server-key",he="Dataships SDK: the merchant SERVER KEY is being used in the browser (auth.unsafeServerKey). Anyone who views this page's source can act as this merchant until the key is revoked. Mint a short-lived token on your server and pass auth: { publicKey, token } instead.",Ne=t=>{if(k(t)){if(!t.unsafeServerKey||!Ue(t.unsafeServerKey))throw new Error("DatashipsClient: auth.unsafeServerKey must be a server key (ds_sk_\u2026); a public key belongs in auth: { publicKey, token }");wt();return}if(Ue(t.publicKey))throw new Error("DatashipsClient: a server key (ds_sk_\u2026) must never be used in the browser; use the public key with a merchant-signed token, or DatashipsServerClient from '@dataships/sdk/server' on your server");let e="getToken"in t&&t.getToken!==void 0;if(e&&"token"in t&&t.token!==void 0)throw new Error("DatashipsClient: pass either auth.token or auth.getToken, not both");if(e){if(!se(t))throw new Error("DatashipsClient: auth.getToken must be a function");return}if(!t.token)throw new Error("DatashipsClient: auth.token is required with a public key (the merchant's server mints it), or auth.getToken to fetch one per request")};var wt=()=>{globalThis.console?.warn?.(he)},ie=t=>k(t)?{"X-Api-Key":t.unsafeServerKey}:_t(t)?{"X-Api-Key":t.serverKey}:{"X-Api-Key":t.publicKey,Authorization:`Bearer ${t.token}`};var vt="https://api.dataships.io",De=(t="production",e)=>{if(e)return e;if(t==="production")return vt;throw new Error(`Dataships SDK: env "${t}" has no default base URL; pass \`baseUrl\``)};var Ot=new Set([400,401,403,404,417,422,426]),xt=t=>t!==void 0&&Ot.has(t),$="CONSENT_SESSION_ALREADY_PROCESSED",Ut=new Set([$]),kt=t=>t!==void 0&&Ut.has(t),Le=4,Nt=t=>t>=Le?0:t*2e3,G={shouldRetry:(t,e,o)=>!xt(e)&&!kt(o)&&t<Le,delayMs:Nt},ae=G,W={shouldRetry:()=>!1,delayMs:()=>0};var h=class extends Error{constructor(e){super(`Dataships request failed (${e.status||"network"})`),this.name="DatashipsError",this.status=e.status,this.body=e.body,this.challenge=e.challenge??null,this.code=X(e.body),this.reason=Dt(e.body)}get isAuthenticationFailure(){return this.status===401||this.status===403}get isSessionProcessed(){return this.code===$}};var X=t=>{if(typeof t!="object"||t===null)return null;let e=t.errors;if(!Array.isArray(e))return null;let o=e[0]?.code;return typeof o=="string"?o:null},Dt=t=>{if(typeof t!="object"||t===null)return null;let e=t.message;return typeof e=="string"&&e.length>0?e:null};var Ke="/v1/consent-session",Me="/v1/consent-session/consent",Fe="/v1/consent-session/heartbeat",He="/v1/consent-session/trigger-verification-code",Ve="/v1/consent-session/submit-verification-code",pe="/v1/consent-session/submit";var ye="COUNTRY_NOT_FOUND",Be=["CODE_EXPIRED","CODE_INVALID","NUMBER_MAX_ATTEMPTS_EXCEEDED"],le=X,qe=t=>({identifier:t.identifier,identifierType:t.identifierType,locale:t.locale,...t.userIp?{userIp:t.userIp}:{},...t.format?{format:t.format}:{},integration:{...t.context,type:t.integrationType}}),je=t=>t.status===422&&t.code===ye,me=()=>({consentSessionId:null,consents:[],userVerificationRequired:null,lastHeartbeat:null,identifier:null}),Ye=t=>({consentSessionId:t.consentSessionId,channel:t.channel,consent:t.consent}),$e=t=>({consentSessionId:t.consentSessionId}),Ge=t=>({consentSessionId:t.consentSessionId}),We=t=>({consentSessionId:t.consentSessionId,verificationCode:t.verificationCode,referenceId:t.referenceId}),ce=t=>{let e={...t.details};return e.submittedAt instanceof Date&&(e.submittedAt=e.submittedAt.toISOString()),typeof e.billingCountryCode=="string"&&(e.billingCountryCode=e.billingCountryCode.trim().toUpperCase()),{datashipsSessionId:t.datashipsSessionId,user:Ce(t.user),integration:{...e,type:t.integrationType}}},Ce=t=>{let e=t?.firstName?.trim()??"",o=t?.lastName?.trim()??"";if(!e||!o)throw new Error("submitSession: user.firstName and user.lastName are required (core-api refuses a blank name)");return{firstName:e,lastName:o}};var Xe=async t=>{let{adapter:e,input:o}=t,s=o.identifier??(await e.getIdentifier(o.identifierType)).identifier,i=await e.getSessionContext(),p=qe({integrationType:e.integrationType,locale:e.getLocale(),identifier:s,identifierType:o.identifierType,userIp:o.userIp,format:o.format,context:i});try{return await t.post({path:Ke,body:p,retry:t.retry})??me()}catch(c){if(c instanceof h&&je(c))return me();throw c}},Je=t=>t.post({path:Me,body:Ye({consentSessionId:t.consentSessionId,channel:t.channel,consent:t.consent}),retry:t.retry}),Qe=t=>t.post({path:Fe,body:$e({consentSessionId:t.consentSessionId}),retry:t.retry}),Ze=t=>t.post({path:He,body:Ge({consentSessionId:t.consentSessionId}),retry:W}),ze=async t=>{try{return await t.post({path:Ve,body:We({consentSessionId:t.consentSessionId,verificationCode:t.verificationCode,referenceId:t.referenceId}),retry:W}),{verified:!0,errorCode:null}}catch(e){if(e instanceof h&&e.status===400)return{verified:!1,errorCode:le(e.body)};throw e}},et=async t=>{let{adapter:e,input:o}=t,s=o.datashipsSessionId??e.getDatashipsSessionId?.();if(!s)throw new Error("submitSession: datashipsSessionId is required; this adapter holds no beacon of its own");await t.post({path:pe,body:ce({datashipsSessionId:s,integrationType:e.integrationType,user:o.user,details:o.details}),retry:t.retry}),o.datashipsSessionId===void 0&&o.resetBeacon!==!1&&e.resetDatashipsSessionId?.()};var tt=async({url:t,headers:e,body:o,fetch:s,retry:i})=>{let p=0;for(;;){let c,d,y=typeof e=="function"?await e():e;try{c=await s(t,{method:"POST",headers:{"Content-Type":"application/json",...y},body:JSON.stringify(o)})}catch(U){d=U}let E=c?.status;if((c?.ok??!1)&&c){let U=await c.text();return U?JSON.parse(U):void 0}let ve=c?await Kt(c):null,gt=X(ve)??void 0;if(!i.shouldRetry(p,E,gt))throw d||new h({status:E??0,body:ve,challenge:c?.headers.get("WWW-Authenticate")??null});p+=1;let Oe=i.delayMs(p);Oe>0&&await new Promise(U=>setTimeout(U,Oe))}},Kt=async t=>{let e=await t.text();if(!e)return null;try{return JSON.parse(e)}catch{return e}};var Mt=210*1e3,Ft=600*1e3,f,J,Q,b,u,ot,nt,st,ge,rt,R,ue=class{constructor(e){a(this,u);a(this,f);a(this,J);a(this,Q);a(this,b);if(this.adapter=e.adapter,e.auth&&Ne(e.auth),!e.auth&&!e.adapter.previewMode)throw new Error("DatashipsClient: `auth: { publicKey, token }` (or `{ publicKey, getToken }`) is required unless the adapter runs in preview mode");this.publicKey=e.auth&&!k(e.auth)?e.auth.publicKey:null,r(this,f,e.auth??null),this.app=e.app,this.version=e.version,this.baseUrl=De(e.env,e.baseUrl),r(this,J,e.fetch??globalThis.fetch.bind(globalThis)),r(this,Q,e.retry?.upsertSession??ae),r(this,b,e.retry?.default??G)}get auth(){return n(this,f)}get isUnsafeServerKey(){return n(this,f)!==null&&k(n(this,f))}setToken(e){if(!n(this,f))throw new Error("DatashipsClient: setToken() requires a client constructed with `auth`");if(k(n(this,f)))throw new Error("DatashipsClient: setToken() does not apply under auth.unsafeServerKey; there is no token to rotate");if(se(n(this,f)))throw new Error("DatashipsClient: setToken() does not apply under auth.getToken; the provider is called before every request");if(!e)throw new Error("DatashipsClient: token must be a non-empty string");r(this,f,{...n(this,f),token:e})}async upsertSession(e){let o=l(this,u,ot).call(this,e.identifierType,e.format);return o||Xe({adapter:this.adapter,input:e,post:l(this,u,R).bind(this),retry:n(this,Q)})}async saveConsent(e){this.adapter.previewMode||await Je({consentSessionId:l(this,u,ge).call(this,e.session),channel:e.channel,consent:e.consent,post:l(this,u,R).bind(this),retry:n(this,b)})}async triggerVerificationCode(e){return this.adapter.previewMode?{userVerificationTriggered:!1,referenceId:null,codeLength:null,resendAfterSeconds:null}:Ze({consentSessionId:e.consentSessionId,post:l(this,u,R).bind(this)})}async submitVerificationCode(e){return this.adapter.previewMode?{verified:!0,errorCode:null}:ze({...e,post:l(this,u,R).bind(this)})}async submitSession(e){let o=this.adapter;if(o.previewMode){e.datashipsSessionId===void 0&&e.resetBeacon!==!1&&o.resetDatashipsSessionId?.();return}await et({adapter:o,input:e,post:l(this,u,R).bind(this),retry:n(this,b)})}startHeartbeat(e,o={}){if(this.adapter.previewMode)return()=>{};let s=o.intervalMs??Mt,i=o.durationMs??Ft,p=Date.now(),c=!1,d=()=>{c||(c=!0,clearInterval(y))},y=setInterval(()=>{if(Date.now()-p>=i){d();return}l(this,u,rt).call(this,e).catch(E=>{o.onError?.(E),E instanceof h&&(E.isAuthenticationFailure||E.isSessionProcessed)&&d()})},s);return d}};f=new WeakMap,J=new WeakMap,Q=new WeakMap,b=new WeakMap,u=new WeakSet,ot=function(e,o){return this.adapter.previewMode&&this.adapter.getPreviewUpsertResponse?this.adapter.getPreviewUpsertResponse(e,o):null},nt=async function(){let e=l(this,u,st).call(this);return ie(se(e)?await ke(e):e)},st=function(){if(!n(this,f))throw new Error("DatashipsClient: no credentials configured; pass `auth: { publicKey, token }`");return n(this,f)},ge=function(e){if(!e.consentSessionId)throw new Error("DatashipsClient: consentSessionId is required");return e.consentSessionId},rt=async function(e){await Qe({consentSessionId:l(this,u,ge).call(this,e),post:l(this,u,R).bind(this),retry:n(this,b)})},R=async function(e){let o={"X-Dataships-App":`${this.app} (SDK: ${this.adapter.name}${this.isUnsafeServerKey?`; ${re}`:""})`,"X-Dataships-Version":`${this.version} (SDK: 2.0.1)`};return tt({url:`${this.baseUrl}${e.path}`,headers:async()=>({...await l(this,u,nt).call(this),...o}),body:e.body,fetch:n(this,J),retry:e.retry})};var it=async t=>{let e=new TextEncoder().encode(t),o=await crypto.subtle.digest("SHA-256",e);return Array.from(new Uint8Array(o)).map(s=>s.toString(16).padStart(2,"0")).join("")};var N=(t=globalThis.crypto)=>{if(t&&typeof t.randomUUID=="function")return t.randomUUID();let e=new Uint8Array(16);if(t&&typeof t.getRandomValues=="function")t.getRandomValues(e);else for(let s=0;s<16;s++)e[s]=Math.floor(Math.random()*256);e[6]=e[6]&15|64,e[8]=e[8]&63|128;let o=Array.from(e,s=>s.toString(16).padStart(2,"0"));return o.slice(0,4).join("")+"-"+o.slice(4,6).join("")+"-"+o.slice(6,8).join("")+"-"+o.slice(8,10).join("")+"-"+o.slice(10,16).join("")};var Ht="We would like to email you news and promotions. Tick to opt in.",Vt="Click here for an overview of how your personal data is processed for marketing purposes or see our Privacy Policy for further information.",Bt="We would like to text you news and promotions. Tick to opt in.",qt="Based on the channel preferences set above, you agree to receive recurring automated marketing messages (e.g. AI content, cart reminders) from {{COMPANY_NAME}} at the number you provide. Consent is not a condition of purchase. We may share info with service providers per our Privacy Policy. Reply STOP to cancel or click the unsubscribe link (where available). For help reply HELP or email {{PRIVACY_EMAIL}}. Msg frequency varies. Msg & data rates may apply. By proceeding, you also agree to our Terms of Service (incl. arbitration) & Privacy Policy.",Ie={consentSessionId:"01HQB3QRZVV0737R0R25BTQBGF",consents:[{channel:"EMAIL",consentType:"OPT_IN",checked:!1,widgetConfig:{text:Ht,consentDescription:Vt,marketingInformation:`<h1>Marketing Information</h1>
|
|
2
2
|
<p>We may send you direct marketing communications, product information and promotional offers. You can withdraw your consent at any time. See our <a href="https://dataships.io/privacy-centre">Privacy Policy</a> or contact us at <a href="mailto:privacy@example.com">privacy@example.com</a> for further information.</p>
|
|
3
|
-
`,policyURL:"https://dataships.io/privacy-centre",mobileTermsOfServiceURL:null,privacyEmail:"privacy@example.com",placeholderValues:null}}],userVerificationRequired:null,lastHeartbeat:"2026-06-17T00:00:00Z",identifier:null},
|
|
3
|
+
`,policyURL:"https://dataships.io/privacy-centre",mobileTermsOfServiceURL:null,privacyEmail:"privacy@example.com",placeholderValues:null}}],userVerificationRequired:null,lastHeartbeat:"2026-06-17T00:00:00Z",identifier:null},Ee={consentSessionId:"01HQB3QRZVV0737R0R25BTQBGG",consents:[{channel:"SMS",consentType:"OPT_IN",checked:!1,widgetConfig:{text:Bt,consentDescription:qt,marketingInformation:`<h1>Marketing Information</h1>
|
|
4
4
|
<p>We may send you marketing text messages about products and promotional offers. Message frequency varies. You can withdraw your consent at any time by replying STOP. See our <a href="https://dataships.io/privacy-centre">Privacy Policy</a> or contact us at <a href="mailto:privacy@example.com">privacy@example.com</a> for further information.</p>
|
|
5
|
-
`,policyURL:"https://dataships.io/privacy-centre",mobileTermsOfServiceURL:"https://dataships.io/mobile-terms",privacyEmail:"privacy@example.com",placeholderValues:null}}],userVerificationRequired:!1,lastHeartbeat:"2026-06-17T00:00:00Z",identifier:null},m=t=>t==="PHONE"?
|
|
5
|
+
`,policyURL:"https://dataships.io/privacy-centre",mobileTermsOfServiceURL:"https://dataships.io/mobile-terms",privacyEmail:"privacy@example.com",placeholderValues:null}}],userVerificationRequired:!1,lastHeartbeat:"2026-06-17T00:00:00Z",identifier:null},jt="#dataships-marketing-modal",Yt=["consent","object","opt in","opt out","STOP","HELP"],$t=["STOP","HELP"],Te=t=>t.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,"""),Gt=t=>t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),at=(t,e,o)=>t.replace(new RegExp(`${Gt(Te(e))}(?![^<]*>)(?![^<]*</a>)`,"gi"),o),pt=(t,e,o)=>{let s=Te(t),i=[["Terms of Service",e.mobileTermsOfServiceURL],["Privacy Policy",e.policyURL],["Click here",jt]];for(let[p,c]of i)c&&(s=at(s,p,d=>`<a href="${Te(c)}">${d}</a>`));for(let p of o)s=at(s,p,c=>`<strong>${c}</strong>`);return`<p>${s}</p>`},Wt=t=>({...t,consents:t.consents.map(e=>{let{widgetConfig:o}=e;return{...e,widgetConfig:{...o,text:o.text===null?null:pt(o.text,o,Yt),consentDescription:o.consentDescription===null?null:pt(o.consentDescription,o,$t)}}})}),m=(t,e="json")=>{let o=t==="PHONE"?Ee:Ie;return e==="html"?Wt(o):o};var D=["en","es","de","pt","ro","hr","da","fi","fr","hu","it","nb","pl","sk","sv","nl","el","cs","zh","ja","is"];var C=t=>{if(!t)return"en";let e=t.split(/[_-]/)[0]?.toLowerCase()??"";return D.includes(e)?e:"en"};var lt="SHOPIFY_CHECKOUT";var Xt=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i,A,P,L,K,_,Re=class{constructor(e){this.name="ShopifyCheckoutAdapter";this.sessionApi="consent-session";this.integrationType=lt;a(this,A);a(this,P);a(this,L);a(this,K);a(this,_);if(!e||!e.collectionStep)throw new Error("ShopifyCheckoutAdapter: `collectionStep` is required");if(e.datashipsOrderUuid!=null&&!Xt.test(e.datashipsOrderUuid))throw new Error("ShopifyCheckoutAdapter: `datashipsOrderUuid` must be a UUID");r(this,P,e.collectionStep),r(this,A,e.datashipsOrderUuid??null),r(this,L,C(e.locale)),r(this,K,{EMAIL:e.email??null,PHONE:e.phone??null}),r(this,_,{orderId:e.orderId,checkoutToken:e.checkoutToken,isAcceleratedPayment:e.isAcceleratedPayment,wallet:e.wallet}),this.previewMode=e.previewMode??!1}getPreviewUpsertResponse(e="EMAIL",o){return m(e,o)}getLocale(){return n(this,L)}setLocale(e){r(this,L,C(e))}get collectionStep(){return n(this,P)}setCollectionStep(e){r(this,P,e)}get datashipsOrderUuid(){return n(this,A)}setCheckoutDetails(e){r(this,_,{...n(this,_),...e})}setIdentifier(e,o){n(this,K)[e]=o}getIdentifier(e){return{identifier:n(this,K)[e],identifierType:e}}async getSessionContext(){return{collectionStep:n(this,P),...n(this,A)!==null&&{datashipsOrderUuid:n(this,A)},...Jt(n(this,_))}}};A=new WeakMap,P=new WeakMap,L=new WeakMap,K=new WeakMap,_=new WeakMap;var Jt=t=>Object.fromEntries(Object.entries(t).filter(([,e])=>e!==void 0));var Qt="script[data-public-key]",de=(t={})=>{let e=t.document??document,o=t.scriptSelector??Qt,s=e.querySelector(o);if(!s)throw new Error(`Dataships SDK: unable to locate the Dataships script tag using selector ${o}`);let i=d=>{let y=s.getAttribute(d);if(!y)throw new Error(`Dataships SDK: Dataships script tag is missing required attribute ${d}`);return y},p=d=>{let y=s.getAttribute(d);return y&&y.length>0?y:null},c=d=>(p(d)??"").toLowerCase()==="true";return{publicKey:i("data-public-key"),token:p("data-token"),env:p("data-env")??"local",previewMode:c("data-preview-mode"),storeIdentifier:i("data-store-identifier"),locale:Zt(p("data-locale")),basketUuid:p("data-basket-uuid"),email:p("data-email"),phone:p("data-phone"),orderId:p("data-order-id"),orderToken:p("data-order-token")}},Zt=t=>{if(!t)return"en";let e=t.split(/[_-]/)[0]?.toLowerCase()??"";return D.includes(e)?e:"en"};var zt="datashipsOrderUuid:",g,S,ct,ut,dt,St,ft,ht,yt,be=class{constructor(e={}){a(this,S);this.name="SalesforceAdapter";this.sessionApi="consent-session";this.integrationType="SALESFORCE_SNIPPET";a(this,g);r(this,g,e.window??globalThis.window),this.config=e.config??de({document:e.document}),this.previewMode=this.config.previewMode}getPreviewUpsertResponse(e="EMAIL",o){return m(e,o)}getLocale(){return this.config.locale}getIdentifier(e){return{identifier:e==="PHONE"?this.config.phone:this.config.email,identifierType:e}}async getSessionContext(){let e=l(this,S,dt).call(this),o=this.config.orderId??e.get("ID"),s=this.config.orderToken??e.get("token"),i=l(this,S,ct).call(this,o,s),p=i==="THANK_YOU";return{collectionStep:i,datashipsOrderUuid:l(this,S,St).call(this),basketUuid:p?null:this.config.basketUuid,orderId:p?o:null,orderToken:p?s:null}}};g=new WeakMap,S=new WeakSet,ct=function(e,o){return e||o?"THANK_YOU":this.config.basketUuid||l(this,S,ut).call(this)?"CHECKOUT_INFORMATION":"THANK_YOU"},ut=function(){let e=n(this,g).location.pathname.toLowerCase();return e.includes("order-confirm")?!1:e.includes("checkout")},dt=function(){return new URLSearchParams(n(this,g).location.search)},St=function(){let e=l(this,S,yt).call(this),o=l(this,S,ft).call(this),s=this.config.basketUuid,i=e?l(this,S,ht).call(this,e,o):null;if(i&&(s!==null&&i.basketUuid===s||s===null))return i.uuid;let p=N(n(this,g).crypto);if(e&&s!==null)try{e.setItem(o,JSON.stringify({uuid:p,basketUuid:s}))}catch{}return p},ft=function(){return`${zt}${this.config.storeIdentifier}`},ht=function(e,o){let s=e.getItem(o);if(!s)return null;try{let i=JSON.parse(s);if(typeof i?.uuid!="string")return null;let p=typeof i.basketUuid=="string"?i.basketUuid:null;return{uuid:i.uuid,basketUuid:p}}catch{return null}},yt=function(){try{return n(this,g).localStorage}catch{return null}};var Z=100,w,v,M,T,z,Ae,F=class{constructor(e){a(this,z);a(this,w);a(this,v);a(this,M);a(this,T,null);e.explicitId!=null&&eo(e.explicitId),r(this,w,e.explicitId??null),r(this,v,e.storageKey),r(this,M,e.window??globalThis.window)}resolve(e,o){if(n(this,w))return n(this,w);let s=l(this,z,Ae).call(this);if(n(this,T)===null){let i=s?to(s,n(this,v)):null;r(this,T,i&&o(i)?i.id:N(n(this,M)?.crypto))}if(s)try{s.setItem(n(this,v),JSON.stringify({id:n(this,T),lastStep:e}))}catch{}return n(this,T)}reset(){if(n(this,w))return;r(this,T,null);let e=l(this,z,Ae).call(this);if(e)try{e.removeItem(n(this,v))}catch{}}};w=new WeakMap,v=new WeakMap,M=new WeakMap,T=new WeakMap,z=new WeakSet,Ae=function(){try{return n(this,M)?.localStorage??null}catch{return null}};var eo=t=>{if(typeof t!="string"||t.length===0)throw new Error("datashipsSessionId must be a non-empty string");if(t.length>Z)throw new Error(`datashipsSessionId must be at most ${Z} characters`)},to=(t,e)=>{let o;try{o=t.getItem(e)}catch{return null}if(!o)return null;try{let s=JSON.parse(o);return typeof s?.id!="string"||s.id.length===0?null:{id:s.id,lastStep:typeof s.lastStep=="string"?s.lastStep:null}}catch{return null}};var mt="CUSTOM_PLATFORM_CHECKOUT";var oo="datashipsSessionId:",no="default",I,ee,O,H,te,V,oe,_e,Pe=class{constructor(e){a(this,oe);this.name="CustomPlatformCheckoutAdapter";this.sessionApi="consent-session";this.integrationType=mt;a(this,I);a(this,ee);a(this,O);a(this,H);a(this,te);a(this,V);if(!e||!e.collectionStep)throw new Error("CustomPlatformCheckoutAdapter: `collectionStep` is required");r(this,I,e.collectionStep),r(this,ee,C(e.locale)),r(this,O,e.isFastCheckout??!1),r(this,H,{EMAIL:e.email??null,PHONE:e.phone??null}),r(this,te,e.storageScope??no);try{r(this,V,new F({explicitId:e.datashipsSessionId,storageKey:`${oo}${n(this,te)}`,window:e.window}))}catch(o){throw new Error(`CustomPlatformCheckoutAdapter: ${o.message}`)}this.previewMode=e.previewMode??!1}getPreviewUpsertResponse(e="EMAIL",o){return m(e,o)}getLocale(){return n(this,ee)}get collectionStep(){return n(this,I)}setCollectionStep(e){r(this,I,e)}get isFastCheckout(){return n(this,O)}setFastCheckout(e){r(this,O,e)}setIdentifier(e,o){n(this,H)[e]=o}getIdentifier(e){return{identifier:n(this,H)[e],identifierType:e}}getDatashipsSessionId(){return l(this,oe,_e).call(this)}resetDatashipsSessionId(){n(this,V).reset()}async getSessionContext(){return{collectionStep:n(this,I),datashipsSessionId:l(this,oe,_e).call(this),isFastCheckout:n(this,O)}}};I=new WeakMap,ee=new WeakMap,O=new WeakMap,H=new WeakMap,te=new WeakMap,V=new WeakMap,oe=new WeakSet,_e=function(){let e=n(this,I);return n(this,V).resolve(e,o=>{let s=so(o.lastStep)?o.lastStep:"CHECKOUT_INFORMATION";return!(e==="CHECKOUT_INFORMATION"&&s!=="CHECKOUT_INFORMATION")})};var so=t=>t==="CHECKOUT_INFORMATION"||t==="THANK_YOU"||t==="ORDER_STATUS";var Ct="CUSTOM_PLATFORM_SIGNUP";var ro="datashipsSignupSessionId:",io="default",q,x,j,ne,Y,we=class{constructor(e={}){this.name="CustomPlatformSignupAdapter";this.sessionApi="consent-session";this.integrationType=Ct;a(this,q);a(this,x);a(this,j,{});a(this,ne);a(this,Y);r(this,q,C(e.locale)),r(this,x,e.user??{}),r(this,ne,e.storageScope??io);try{r(this,Y,new F({explicitId:e.datashipsSessionId,storageKey:`${ro}${n(this,ne)}`,window:e.window}))}catch(o){throw new Error(`CustomPlatformSignupAdapter: ${o.message}`)}this.previewMode=e.previewMode??!1}getPreviewUpsertResponse(e="EMAIL",o){return m(e,o)}getLocale(){return n(this,q)}setLocale(e){r(this,q,C(e))}setIdentifier(e,o){o===null?delete n(this,j)[e]:n(this,j)[e]=o}async getIdentifier(e){let o=n(this,j)[e];if(o!==void 0)return{identifier:B(o),identifierType:e};let s=await this.getUser(),i=e==="PHONE"?s.phone:s.email;return{identifier:B(i),identifierType:e}}async getUser(){let e=typeof n(this,x)=="function"?await n(this,x).call(this):n(this,x);return{firstName:B(e.firstName),lastName:B(e.lastName),email:B(e.email),phone:B(e.phone)}}getDatashipsSessionId(){return n(this,Y).resolve(null,()=>!0)}resetDatashipsSessionId(){n(this,Y).reset()}async getSessionContext(){return{datashipsSessionId:this.getDatashipsSessionId()}}};q=new WeakMap,x=new WeakMap,j=new WeakMap,ne=new WeakMap,Y=new WeakMap;var B=t=>{let e=t?.trim();return e||null};var ao="2.0.1";return At(po);})();
|
|
6
6
|
//# sourceMappingURL=dataships.min.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/browser.ts","../src/auth/headers.ts","../src/baseUrl.ts","../src/transport/retry.ts","../src/transport/errors.ts","../src/session/consentSession.ts","../src/session/operations.ts","../src/transport/fetch.ts","../src/client.ts","../src/utils/sha256.ts","../src/utils/uuid.ts","../src/session/previewUpsertResponse.ts","../src/types.ts","../src/adapters/locale.ts","../src/adapters/shopify-checkout/index.ts","../src/adapters/salesforce/bootstrap.ts","../src/adapters/salesforce/index.ts","../src/adapters/beacon.ts","../src/adapters/custom-platform-checkout/index.ts","../src/adapters/custom-platform-signup/index.ts"],"mappings":"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","names":["browser_exports","__export","CONSENT_SESSION_ALREADY_PROCESSED","CONSENT_SESSION_SUBMIT_PATH","COUNTRY_NOT_FOUND_CODE","CUSTOM_PLATFORM_CHECKOUT_INTEGRATION_TYPE","CUSTOM_PLATFORM_SIGNUP_INTEGRATION_TYPE","CustomPlatformCheckoutAdapter","CustomPlatformSignupAdapter","DATASHIPS_SESSION_ID_MAX_LENGTH","DatashipsClient","DatashipsError","SHOPIFY_CHECKOUT_INTEGRATION_TYPE","SUBMIT_VERIFICATION_CODE_ERROR_CODES","SUPPORTED_LOCALES","SalesforceAdapter","ShopifyCheckoutAdapter","UNSAFE_SERVER_KEY_APP_MARKER","UNSAFE_SERVER_KEY_WARNING","authHeaders","buildSubmitRequest","coerceLocale","defaultRetryPolicy","fakeEmailUpsertResponse","fakePhoneUpsertResponse","getConfigFromScriptTag","noRetryPolicy","normaliseSubmitUser","previewUpsertResponse","randomUuid","sha256Hex","upsertSessionRetryPolicy","verificationErrorCodeFromBody","version","SERVER_KEY_PREFIX","isServerKey","key","isServerKeyAuth","auth","isUnsafeServerKeyAuth","isTokenProviderAuth","resolveTokenProviderAuth","token","UNSAFE_SERVER_KEY_APP_MARKER","UNSAFE_SERVER_KEY_WARNING","assertBrowserAuth","warnUnsafeServerKey","hasProvider","warnUnsafeServerKey","UNSAFE_SERVER_KEY_WARNING","authHeaders","auth","isUnsafeServerKeyAuth","isServerKeyAuth","PRODUCTION_BASE_URL","resolveBaseUrl","env","baseUrl","TERMINAL_STATUSES","isTerminalStatus","status","CONSENT_SESSION_ALREADY_PROCESSED","TERMINAL_ERROR_CODES","isTerminalErrorCode","errorCode","MAX_FAILURES","backoffMs","failureCount","defaultRetryPolicy","upsertSessionRetryPolicy","noRetryPolicy","DatashipsError","args","errorCodeFromBody","reasonFromBody","CONSENT_SESSION_ALREADY_PROCESSED","errorCodeFromBody","body","errors","code","reasonFromBody","message","CONSENT_SESSION_START_PATH","CONSENT_SESSION_CONSENT_PATH","CONSENT_SESSION_HEARTBEAT_PATH","CONSENT_SESSION_TRIGGER_VERIFICATION_CODE_PATH","CONSENT_SESSION_SUBMIT_VERIFICATION_CODE_PATH","CONSENT_SESSION_SUBMIT_PATH","COUNTRY_NOT_FOUND_CODE","SUBMIT_VERIFICATION_CODE_ERROR_CODES","verificationErrorCodeFromBody","errorCodeFromBody","buildUpsertRequest","args","isCountryNotFound","error","emptyUpsertResponse","buildSaveConsentRequest","buildHeartbeatRequest","buildTriggerVerificationCodeRequest","buildSubmitVerificationCodeRequest","buildSubmitRequest","details","normaliseSubmitUser","user","firstName","lastName","upsertSession","args","adapter","input","identifier","context","body","buildUpsertRequest","CONSENT_SESSION_START_PATH","emptyUpsertResponse","error","DatashipsError","isCountryNotFound","saveConsent","CONSENT_SESSION_CONSENT_PATH","buildSaveConsentRequest","heartbeat","CONSENT_SESSION_HEARTBEAT_PATH","buildHeartbeatRequest","triggerVerificationCode","CONSENT_SESSION_TRIGGER_VERIFICATION_CODE_PATH","buildTriggerVerificationCodeRequest","noRetryPolicy","submitVerificationCode","CONSENT_SESSION_SUBMIT_VERIFICATION_CODE_PATH","buildSubmitVerificationCodeRequest","verificationErrorCodeFromBody","submitSession","datashipsSessionId","CONSENT_SESSION_SUBMIT_PATH","buildSubmitRequest","postJson","url","headers","body","fetch","retry","attempt","response","networkError","attemptHeaders","err","status","text","errorBody","readBody","errorCode","errorCodeFromBody","DatashipsError","delay","r","DEFAULT_HEARTBEAT_INTERVAL_MS","DEFAULT_HEARTBEAT_DURATION_MS","_auth","_fetch","_upsertSessionRetry","_defaultRetry","_DatashipsClient_instances","previewUpsertResponse_fn","credentialHeaders_fn","requireAuth_fn","requireConsentSessionId_fn","sendHeartbeat_fn","post_fn","DatashipsClient","opts","__privateAdd","assertBrowserAuth","isUnsafeServerKeyAuth","__privateSet","resolveBaseUrl","upsertSessionRetryPolicy","defaultRetryPolicy","__privateGet","token","isTokenProviderAuth","input","preview","__privateMethod","upsertSession","saveConsent","triggerVerificationCode","submitVerificationCode","adapter","submitSession","session","intervalMs","durationMs","startedAt","stopped","stop","handle","error","DatashipsError","identifierType","auth","authHeaders","resolveTokenProviderAuth","heartbeat","args","staticHeaders","UNSAFE_SERVER_KEY_APP_MARKER","postJson","sha256Hex","input","buf","digest","b","randomUuid","cryptoObj","bytes","i","hex","b","fakeEmailUpsertResponse","fakePhoneUpsertResponse","previewUpsertResponse","identifierType","SUPPORTED_LOCALES","coerceLocale","raw","head","SUPPORTED_LOCALES","SHOPIFY_CHECKOUT_INTEGRATION_TYPE","UUID","_datashipsOrderUuid","_collectionStep","_locale","_identifiers","_details","ShopifyCheckoutAdapter","opts","SHOPIFY_CHECKOUT_INTEGRATION_TYPE","__privateAdd","__privateSet","coerceLocale","identifierType","previewUpsertResponse","__privateGet","locale","step","details","value","definedOnly","DEFAULT_SELECTOR","getConfigFromScriptTag","opts","doc","selector","element","required","name","value","optional","bool","localeFromSfcc","raw","head","SUPPORTED_LOCALES","DATASHIPS_ORDER_UUID_KEY_PREFIX","_window","_SalesforceAdapter_instances","resolveCollectionStep_fn","isCheckoutPath_fn","urlParams_fn","getOrSetOrderUuid_fn","orderUuidKey_fn","readStoredOrderUuid_fn","safeLocalStorage_fn","SalesforceAdapter","opts","__privateAdd","__privateSet","getConfigFromScriptTag","identifierType","previewUpsertResponse","params","__privateMethod","orderId","orderToken","collectionStep","isThankYou","path","__privateGet","storage","key","currentBasketUuid","stored","fresh","randomUuid","raw","parsed","basketUuid","DATASHIPS_SESSION_ID_MAX_LENGTH","_explicitId","_storageKey","_window","_id","_SessionBeacon_instances","safeStorage_fn","SessionBeacon","opts","__privateAdd","assertSessionId","__privateSet","step","reusable","__privateGet","storage","__privateMethod","stored","readStored","randomUuid","id","key","raw","parsed","CUSTOM_PLATFORM_CHECKOUT_INTEGRATION_TYPE","STORAGE_KEY_PREFIX","DEFAULT_STORAGE_SCOPE","_collectionStep","_locale","_isFastCheckout","_identifiers","_storageScope","_beacon","_CustomPlatformCheckoutAdapter_instances","resolveSessionId_fn","CustomPlatformCheckoutAdapter","opts","__privateAdd","CUSTOM_PLATFORM_CHECKOUT_INTEGRATION_TYPE","__privateSet","coerceLocale","SessionBeacon","__privateGet","e","identifierType","previewUpsertResponse","step","isFastCheckout","value","__privateMethod","stored","lastStep","isCollectionStep","CUSTOM_PLATFORM_SIGNUP_INTEGRATION_TYPE","STORAGE_KEY_PREFIX","DEFAULT_STORAGE_SCOPE","_locale","_user","_identifiers","_storageScope","_beacon","CustomPlatformSignupAdapter","opts","CUSTOM_PLATFORM_SIGNUP_INTEGRATION_TYPE","__privateAdd","__privateSet","coerceLocale","SessionBeacon","__privateGet","e","identifierType","previewUpsertResponse","locale","value","pinned","normalise","user","identifier","raw","trimmed","version"]}
|
|
1
|
+
{"version":3,"sources":["../src/browser.ts","../src/auth/headers.ts","../src/baseUrl.ts","../src/transport/retry.ts","../src/transport/errors.ts","../src/session/consentSession.ts","../src/session/operations.ts","../src/transport/fetch.ts","../src/client.ts","../src/utils/sha256.ts","../src/utils/uuid.ts","../src/session/previewUpsertResponse.ts","../src/types.ts","../src/adapters/locale.ts","../src/adapters/shopify-checkout/index.ts","../src/adapters/salesforce/bootstrap.ts","../src/adapters/salesforce/index.ts","../src/adapters/beacon.ts","../src/adapters/custom-platform-checkout/index.ts","../src/adapters/custom-platform-signup/index.ts"],"mappings":"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","names":["browser_exports","__export","CONSENT_SESSION_ALREADY_PROCESSED","CONSENT_SESSION_SUBMIT_PATH","COUNTRY_NOT_FOUND_CODE","CUSTOM_PLATFORM_CHECKOUT_INTEGRATION_TYPE","CUSTOM_PLATFORM_SIGNUP_INTEGRATION_TYPE","CustomPlatformCheckoutAdapter","CustomPlatformSignupAdapter","DATASHIPS_SESSION_ID_MAX_LENGTH","DatashipsClient","DatashipsError","SHOPIFY_CHECKOUT_INTEGRATION_TYPE","SUBMIT_VERIFICATION_CODE_ERROR_CODES","SUPPORTED_LOCALES","SalesforceAdapter","ShopifyCheckoutAdapter","UNSAFE_SERVER_KEY_APP_MARKER","UNSAFE_SERVER_KEY_WARNING","authHeaders","buildSubmitRequest","coerceLocale","defaultRetryPolicy","fakeEmailUpsertResponse","fakePhoneUpsertResponse","getConfigFromScriptTag","noRetryPolicy","normaliseSubmitUser","previewUpsertResponse","randomUuid","sha256Hex","upsertSessionRetryPolicy","verificationErrorCodeFromBody","version","SERVER_KEY_PREFIX","isServerKey","key","isServerKeyAuth","auth","isUnsafeServerKeyAuth","isTokenProviderAuth","resolveTokenProviderAuth","token","UNSAFE_SERVER_KEY_APP_MARKER","UNSAFE_SERVER_KEY_WARNING","assertBrowserAuth","warnUnsafeServerKey","hasProvider","warnUnsafeServerKey","UNSAFE_SERVER_KEY_WARNING","authHeaders","auth","isUnsafeServerKeyAuth","isServerKeyAuth","PRODUCTION_BASE_URL","resolveBaseUrl","env","baseUrl","TERMINAL_STATUSES","isTerminalStatus","status","CONSENT_SESSION_ALREADY_PROCESSED","TERMINAL_ERROR_CODES","isTerminalErrorCode","errorCode","MAX_FAILURES","backoffMs","failureCount","defaultRetryPolicy","upsertSessionRetryPolicy","noRetryPolicy","DatashipsError","args","errorCodeFromBody","reasonFromBody","CONSENT_SESSION_ALREADY_PROCESSED","errorCodeFromBody","body","errors","code","reasonFromBody","message","CONSENT_SESSION_START_PATH","CONSENT_SESSION_CONSENT_PATH","CONSENT_SESSION_HEARTBEAT_PATH","CONSENT_SESSION_TRIGGER_VERIFICATION_CODE_PATH","CONSENT_SESSION_SUBMIT_VERIFICATION_CODE_PATH","CONSENT_SESSION_SUBMIT_PATH","COUNTRY_NOT_FOUND_CODE","SUBMIT_VERIFICATION_CODE_ERROR_CODES","verificationErrorCodeFromBody","errorCodeFromBody","buildUpsertRequest","args","isCountryNotFound","error","emptyUpsertResponse","buildSaveConsentRequest","buildHeartbeatRequest","buildTriggerVerificationCodeRequest","buildSubmitVerificationCodeRequest","buildSubmitRequest","details","normaliseSubmitUser","user","firstName","lastName","upsertSession","args","adapter","input","identifier","context","body","buildUpsertRequest","CONSENT_SESSION_START_PATH","emptyUpsertResponse","error","DatashipsError","isCountryNotFound","saveConsent","CONSENT_SESSION_CONSENT_PATH","buildSaveConsentRequest","heartbeat","CONSENT_SESSION_HEARTBEAT_PATH","buildHeartbeatRequest","triggerVerificationCode","CONSENT_SESSION_TRIGGER_VERIFICATION_CODE_PATH","buildTriggerVerificationCodeRequest","noRetryPolicy","submitVerificationCode","CONSENT_SESSION_SUBMIT_VERIFICATION_CODE_PATH","buildSubmitVerificationCodeRequest","verificationErrorCodeFromBody","submitSession","datashipsSessionId","CONSENT_SESSION_SUBMIT_PATH","buildSubmitRequest","postJson","url","headers","body","fetch","retry","attempt","response","networkError","attemptHeaders","err","status","text","errorBody","readBody","errorCode","errorCodeFromBody","DatashipsError","delay","r","DEFAULT_HEARTBEAT_INTERVAL_MS","DEFAULT_HEARTBEAT_DURATION_MS","_auth","_fetch","_upsertSessionRetry","_defaultRetry","_DatashipsClient_instances","previewUpsertResponse_fn","credentialHeaders_fn","requireAuth_fn","requireConsentSessionId_fn","sendHeartbeat_fn","post_fn","DatashipsClient","opts","__privateAdd","assertBrowserAuth","isUnsafeServerKeyAuth","__privateSet","resolveBaseUrl","upsertSessionRetryPolicy","defaultRetryPolicy","__privateGet","token","isTokenProviderAuth","input","preview","__privateMethod","upsertSession","saveConsent","triggerVerificationCode","submitVerificationCode","adapter","submitSession","session","intervalMs","durationMs","startedAt","stopped","stop","handle","error","DatashipsError","identifierType","format","auth","authHeaders","resolveTokenProviderAuth","heartbeat","args","staticHeaders","UNSAFE_SERVER_KEY_APP_MARKER","postJson","sha256Hex","input","buf","digest","b","randomUuid","cryptoObj","bytes","i","hex","b","DEFAULT_EMAIL_OPT_IN_TEXT","DEFAULT_EMAIL_OPT_IN_CONSENT_DESCRIPTION","DEFAULT_SMS_OPT_IN_TEXT","DEFAULT_SMS_OPT_IN_CONSENT_DESCRIPTION","fakeEmailUpsertResponse","fakePhoneUpsertResponse","MARKETING_MODAL_HREF","CHECKBOX_LABEL_BOLD_PHRASES","CONSENT_DESCRIPTION_BOLD_PHRASES","escapeHtml","text","escapeRegExp","wrapPhrase","html","phrase","wrap","toHtmlCopy","widgetConfig","boldPhrases","links","href","match","withHtmlCopy","response","consent","previewUpsertResponse","identifierType","format","SUPPORTED_LOCALES","coerceLocale","raw","head","SUPPORTED_LOCALES","SHOPIFY_CHECKOUT_INTEGRATION_TYPE","UUID","_datashipsOrderUuid","_collectionStep","_locale","_identifiers","_details","ShopifyCheckoutAdapter","opts","SHOPIFY_CHECKOUT_INTEGRATION_TYPE","__privateAdd","__privateSet","coerceLocale","identifierType","format","previewUpsertResponse","__privateGet","locale","step","details","value","definedOnly","DEFAULT_SELECTOR","getConfigFromScriptTag","opts","doc","selector","element","required","name","value","optional","bool","localeFromSfcc","raw","head","SUPPORTED_LOCALES","DATASHIPS_ORDER_UUID_KEY_PREFIX","_window","_SalesforceAdapter_instances","resolveCollectionStep_fn","isCheckoutPath_fn","urlParams_fn","getOrSetOrderUuid_fn","orderUuidKey_fn","readStoredOrderUuid_fn","safeLocalStorage_fn","SalesforceAdapter","opts","__privateAdd","__privateSet","getConfigFromScriptTag","identifierType","format","previewUpsertResponse","params","__privateMethod","orderId","orderToken","collectionStep","isThankYou","path","__privateGet","storage","key","currentBasketUuid","stored","fresh","randomUuid","raw","parsed","basketUuid","DATASHIPS_SESSION_ID_MAX_LENGTH","_explicitId","_storageKey","_window","_id","_SessionBeacon_instances","safeStorage_fn","SessionBeacon","opts","__privateAdd","assertSessionId","__privateSet","step","reusable","__privateGet","storage","__privateMethod","stored","readStored","randomUuid","id","key","raw","parsed","CUSTOM_PLATFORM_CHECKOUT_INTEGRATION_TYPE","STORAGE_KEY_PREFIX","DEFAULT_STORAGE_SCOPE","_collectionStep","_locale","_isFastCheckout","_identifiers","_storageScope","_beacon","_CustomPlatformCheckoutAdapter_instances","resolveSessionId_fn","CustomPlatformCheckoutAdapter","opts","__privateAdd","CUSTOM_PLATFORM_CHECKOUT_INTEGRATION_TYPE","__privateSet","coerceLocale","SessionBeacon","__privateGet","e","identifierType","format","previewUpsertResponse","step","isFastCheckout","value","__privateMethod","stored","lastStep","isCollectionStep","CUSTOM_PLATFORM_SIGNUP_INTEGRATION_TYPE","STORAGE_KEY_PREFIX","DEFAULT_STORAGE_SCOPE","_locale","_user","_identifiers","_storageScope","_beacon","CustomPlatformSignupAdapter","opts","CUSTOM_PLATFORM_SIGNUP_INTEGRATION_TYPE","__privateAdd","__privateSet","coerceLocale","SessionBeacon","__privateGet","e","identifierType","format","previewUpsertResponse","locale","value","pinned","normalise","user","identifier","raw","trimmed","version"]}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { U as UpsertSessionResponse, C as ConsentSessionAdapter, B as BrowserAuth, E as Environment, F as FetchLike,
|
|
2
|
-
export {
|
|
3
|
-
import { R as RetryPolicy, T as TriggerVerificationCodeResponse, S as SubmitVerificationCodeResult } from './retry
|
|
4
|
-
export { C as CONSENT_SESSION_ALREADY_PROCESSED, a as CONSENT_SESSION_SUBMIT_PATH, b as COUNTRY_NOT_FOUND_CODE, D as DatashipsError, D as DatashipsHttpError, c as SUBMIT_VERIFICATION_CODE_ERROR_CODES, d as SubmitVerificationCodeErrorCode, e as SubmitVerificationCodeRequest, f as TriggerVerificationCodeRequest, g as buildSubmitRequest, h as defaultRetryPolicy, n as noRetryPolicy, i as normaliseSubmitUser, u as upsertSessionRetryPolicy, v as verificationErrorCodeFromBody } from './retry
|
|
1
|
+
import { U as UpsertSessionResponse, C as ConsentSessionAdapter, B as BrowserAuth, E as Environment, F as FetchLike, c as UpsertSessionInput, d as Channel, e as SessionIds, f as SubmitSessionInput, g as CustomerApiAuth, h as UnsafeServerKeyAuth, I as IdentifierType, a as ConsentCopyFormat } from './types-vPJjFMJw.js';
|
|
2
|
+
export { i as ConsentItem, b as ConsentSessionIdentifier, j as ConsentType, k as ConsentWidgetConfig, l as CustomPlatformCheckoutSubmitDetails, P as PublicKeyAuth, m as SUPPORTED_LOCALES, n as ServerKeyAuth, o as SubmitConsentSessionUser, S as SupportedLocale, T as TokenProviderAuth, W as WidgetCopyPlaceholderValues } from './types-vPJjFMJw.js';
|
|
3
|
+
import { R as RetryPolicy, T as TriggerVerificationCodeResponse, S as SubmitVerificationCodeResult } from './retry-CGwSrbz_.js';
|
|
4
|
+
export { C as CONSENT_SESSION_ALREADY_PROCESSED, a as CONSENT_SESSION_SUBMIT_PATH, b as COUNTRY_NOT_FOUND_CODE, D as DatashipsError, D as DatashipsHttpError, c as SUBMIT_VERIFICATION_CODE_ERROR_CODES, d as SubmitVerificationCodeErrorCode, e as SubmitVerificationCodeRequest, f as TriggerVerificationCodeRequest, g as buildSubmitRequest, h as defaultRetryPolicy, n as noRetryPolicy, i as normaliseSubmitUser, u as upsertSessionRetryPolicy, v as verificationErrorCodeFromBody } from './retry-CGwSrbz_.js';
|
|
5
5
|
|
|
6
6
|
interface DatashipsClientOptions<TContext = unknown> {
|
|
7
7
|
/**
|
|
@@ -167,9 +167,10 @@ declare const randomUuid: (cryptoObj?: Crypto | undefined) => string;
|
|
|
167
167
|
*
|
|
168
168
|
* Lets merchants style a widget on a sandbox storefront without live calls to
|
|
169
169
|
* `/v1/consent-session`. The shape mirrors a real EMAIL response on contract v2
|
|
170
|
-
* so the integration renders exactly as it would in production
|
|
171
|
-
* is fabricated. Values are fixed so the
|
|
172
|
-
* reloads. See {@link fakePhoneUpsertResponse}
|
|
170
|
+
* so the integration renders exactly as it would in production: the copy is
|
|
171
|
+
* the standard default wording, the rest is fabricated. Values are fixed so the
|
|
172
|
+
* preview is deterministic across reloads. See {@link fakePhoneUpsertResponse}
|
|
173
|
+
* for the PHONE counterpart.
|
|
173
174
|
*/
|
|
174
175
|
declare const fakeEmailUpsertResponse: UpsertSessionResponse;
|
|
175
176
|
/**
|
|
@@ -179,7 +180,11 @@ declare const fakeEmailUpsertResponse: UpsertSessionResponse;
|
|
|
179
180
|
* untriggered), so the widget renders its plain opt-in state.
|
|
180
181
|
*/
|
|
181
182
|
declare const fakePhoneUpsertResponse: UpsertSessionResponse;
|
|
182
|
-
/**
|
|
183
|
-
|
|
183
|
+
/**
|
|
184
|
+
* The synthetic upsert response for the identifier type a preview-mode upsert
|
|
185
|
+
* asked for, with the copy in the format it asked for: plain strings for
|
|
186
|
+
* `json` (the default), links and emphasis applied for `html`.
|
|
187
|
+
*/
|
|
188
|
+
declare const previewUpsertResponse: (identifierType: IdentifierType, format?: ConsentCopyFormat) => UpsertSessionResponse;
|
|
184
189
|
|
|
185
|
-
export { BrowserAuth, Channel, ConsentSessionAdapter, CustomerApiAuth, DatashipsClient, type DatashipsClientOptions, Environment, type HeartbeatOptions, IdentifierType, RetryPolicy, SessionIds, SubmitSessionInput, SubmitVerificationCodeResult, TriggerVerificationCodeResponse, UNSAFE_SERVER_KEY_APP_MARKER, UNSAFE_SERVER_KEY_WARNING, UnsafeServerKeyAuth, UpsertSessionInput, UpsertSessionResponse, authHeaders, fakeEmailUpsertResponse, fakePhoneUpsertResponse, previewUpsertResponse, randomUuid, sha256Hex };
|
|
190
|
+
export { BrowserAuth, Channel, ConsentCopyFormat, ConsentSessionAdapter, CustomerApiAuth, DatashipsClient, type DatashipsClientOptions, Environment, type HeartbeatOptions, IdentifierType, RetryPolicy, SessionIds, SubmitSessionInput, SubmitVerificationCodeResult, TriggerVerificationCodeResponse, UNSAFE_SERVER_KEY_APP_MARKER, UNSAFE_SERVER_KEY_WARNING, UnsafeServerKeyAuth, UpsertSessionInput, UpsertSessionResponse, authHeaders, fakeEmailUpsertResponse, fakePhoneUpsertResponse, previewUpsertResponse, randomUuid, sha256Hex };
|
package/dist/index.js
CHANGED
|
@@ -426,7 +426,7 @@ var DatashipsClient = class {
|
|
|
426
426
|
* which resolve instead of throwing.
|
|
427
427
|
*/
|
|
428
428
|
async upsertSession(input) {
|
|
429
|
-
const preview = __privateMethod(this, _DatashipsClient_instances, previewUpsertResponse_fn).call(this, input.identifierType);
|
|
429
|
+
const preview = __privateMethod(this, _DatashipsClient_instances, previewUpsertResponse_fn).call(this, input.identifierType, input.format);
|
|
430
430
|
if (preview) return preview;
|
|
431
431
|
return upsertSession({
|
|
432
432
|
adapter: this.adapter,
|
|
@@ -558,9 +558,9 @@ _DatashipsClient_instances = new WeakSet();
|
|
|
558
558
|
* live (or hasn't opted in), in which case the caller proceeds with the real
|
|
559
559
|
* network request.
|
|
560
560
|
*/
|
|
561
|
-
previewUpsertResponse_fn = function(identifierType) {
|
|
561
|
+
previewUpsertResponse_fn = function(identifierType, format) {
|
|
562
562
|
if (this.adapter.previewMode && this.adapter.getPreviewUpsertResponse) {
|
|
563
|
-
return this.adapter.getPreviewUpsertResponse(identifierType);
|
|
563
|
+
return this.adapter.getPreviewUpsertResponse(identifierType, format);
|
|
564
564
|
}
|
|
565
565
|
return null;
|
|
566
566
|
};
|
|
@@ -597,7 +597,7 @@ post_fn = async function(args) {
|
|
|
597
597
|
const staticHeaders = {
|
|
598
598
|
// The marker lets the backend tell an exposed key in a page from a genuine server call.
|
|
599
599
|
"X-Dataships-App": `${this.app} (SDK: ${this.adapter.name}${this.isUnsafeServerKey ? `; ${UNSAFE_SERVER_KEY_APP_MARKER}` : ""})`,
|
|
600
|
-
"X-Dataships-Version": `${this.version} (SDK: ${"2.0.
|
|
600
|
+
"X-Dataships-Version": `${this.version} (SDK: ${"2.0.1"})`
|
|
601
601
|
};
|
|
602
602
|
return postJson({
|
|
603
603
|
url: `${this.baseUrl}${args.path}`,
|
|
@@ -637,6 +637,10 @@ var randomUuid = (cryptoObj = globalThis.crypto) => {
|
|
|
637
637
|
};
|
|
638
638
|
|
|
639
639
|
// src/session/previewUpsertResponse.ts
|
|
640
|
+
var DEFAULT_EMAIL_OPT_IN_TEXT = "We would like to email you news and promotions. Tick to opt in.";
|
|
641
|
+
var DEFAULT_EMAIL_OPT_IN_CONSENT_DESCRIPTION = "Click here for an overview of how your personal data is processed for marketing purposes or see our Privacy Policy for further information.";
|
|
642
|
+
var DEFAULT_SMS_OPT_IN_TEXT = "We would like to text you news and promotions. Tick to opt in.";
|
|
643
|
+
var DEFAULT_SMS_OPT_IN_CONSENT_DESCRIPTION = "Based on the channel preferences set above, you agree to receive recurring automated marketing messages (e.g. AI content, cart reminders) from {{COMPANY_NAME}} at the number you provide. Consent is not a condition of purchase. We may share info with service providers per our Privacy Policy. Reply STOP to cancel or click the unsubscribe link (where available). For help reply HELP or email {{PRIVACY_EMAIL}}. Msg frequency varies. Msg & data rates may apply. By proceeding, you also agree to our Terms of Service (incl. arbitration) & Privacy Policy.";
|
|
640
644
|
var fakeEmailUpsertResponse = {
|
|
641
645
|
consentSessionId: "01HQB3QRZVV0737R0R25BTQBGF",
|
|
642
646
|
consents: [
|
|
@@ -645,8 +649,8 @@ var fakeEmailUpsertResponse = {
|
|
|
645
649
|
consentType: "OPT_IN",
|
|
646
650
|
checked: false,
|
|
647
651
|
widgetConfig: {
|
|
648
|
-
text:
|
|
649
|
-
consentDescription:
|
|
652
|
+
text: DEFAULT_EMAIL_OPT_IN_TEXT,
|
|
653
|
+
consentDescription: DEFAULT_EMAIL_OPT_IN_CONSENT_DESCRIPTION,
|
|
650
654
|
marketingInformation: '<h1>Marketing Information</h1>\n<p>We may send you direct marketing communications, product information and promotional offers. You can withdraw your consent at any time. See our <a href="https://dataships.io/privacy-centre">Privacy Policy</a> or contact us at <a href="mailto:privacy@example.com">privacy@example.com</a> for further information.</p>\n',
|
|
651
655
|
policyURL: "https://dataships.io/privacy-centre",
|
|
652
656
|
mobileTermsOfServiceURL: null,
|
|
@@ -667,8 +671,8 @@ var fakePhoneUpsertResponse = {
|
|
|
667
671
|
consentType: "OPT_IN",
|
|
668
672
|
checked: false,
|
|
669
673
|
widgetConfig: {
|
|
670
|
-
text:
|
|
671
|
-
consentDescription:
|
|
674
|
+
text: DEFAULT_SMS_OPT_IN_TEXT,
|
|
675
|
+
consentDescription: DEFAULT_SMS_OPT_IN_CONSENT_DESCRIPTION,
|
|
672
676
|
marketingInformation: '<h1>Marketing Information</h1>\n<p>We may send you marketing text messages about products and promotional offers. Message frequency varies. You can withdraw your consent at any time by replying STOP. See our <a href="https://dataships.io/privacy-centre">Privacy Policy</a> or contact us at <a href="mailto:privacy@example.com">privacy@example.com</a> for further information.</p>\n',
|
|
673
677
|
policyURL: "https://dataships.io/privacy-centre",
|
|
674
678
|
mobileTermsOfServiceURL: "https://dataships.io/mobile-terms",
|
|
@@ -681,7 +685,53 @@ var fakePhoneUpsertResponse = {
|
|
|
681
685
|
lastHeartbeat: "2026-06-17T00:00:00Z",
|
|
682
686
|
identifier: null
|
|
683
687
|
};
|
|
684
|
-
var
|
|
688
|
+
var MARKETING_MODAL_HREF = "#dataships-marketing-modal";
|
|
689
|
+
var CHECKBOX_LABEL_BOLD_PHRASES = ["consent", "object", "opt in", "opt out", "STOP", "HELP"];
|
|
690
|
+
var CONSENT_DESCRIPTION_BOLD_PHRASES = ["STOP", "HELP"];
|
|
691
|
+
var escapeHtml = (text) => text.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">").replace(/"/g, """);
|
|
692
|
+
var escapeRegExp = (text) => text.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
|
|
693
|
+
var wrapPhrase = (html, phrase, wrap) => html.replace(
|
|
694
|
+
new RegExp(`${escapeRegExp(escapeHtml(phrase))}(?![^<]*>)(?![^<]*</a>)`, "gi"),
|
|
695
|
+
wrap
|
|
696
|
+
);
|
|
697
|
+
var toHtmlCopy = (text, widgetConfig, boldPhrases) => {
|
|
698
|
+
let html = escapeHtml(text);
|
|
699
|
+
const links = [
|
|
700
|
+
["Terms of Service", widgetConfig.mobileTermsOfServiceURL],
|
|
701
|
+
["Privacy Policy", widgetConfig.policyURL],
|
|
702
|
+
["Click here", MARKETING_MODAL_HREF]
|
|
703
|
+
];
|
|
704
|
+
for (const [phrase, href] of links) {
|
|
705
|
+
if (!href) continue;
|
|
706
|
+
html = wrapPhrase(html, phrase, (match) => `<a href="${escapeHtml(href)}">${match}</a>`);
|
|
707
|
+
}
|
|
708
|
+
for (const phrase of boldPhrases) {
|
|
709
|
+
html = wrapPhrase(html, phrase, (match) => `<strong>${match}</strong>`);
|
|
710
|
+
}
|
|
711
|
+
return `<p>${html}</p>`;
|
|
712
|
+
};
|
|
713
|
+
var withHtmlCopy = (response) => ({
|
|
714
|
+
...response,
|
|
715
|
+
consents: response.consents.map((consent) => {
|
|
716
|
+
const { widgetConfig } = consent;
|
|
717
|
+
return {
|
|
718
|
+
...consent,
|
|
719
|
+
widgetConfig: {
|
|
720
|
+
...widgetConfig,
|
|
721
|
+
text: widgetConfig.text === null ? null : toHtmlCopy(widgetConfig.text, widgetConfig, CHECKBOX_LABEL_BOLD_PHRASES),
|
|
722
|
+
consentDescription: widgetConfig.consentDescription === null ? null : toHtmlCopy(
|
|
723
|
+
widgetConfig.consentDescription,
|
|
724
|
+
widgetConfig,
|
|
725
|
+
CONSENT_DESCRIPTION_BOLD_PHRASES
|
|
726
|
+
)
|
|
727
|
+
}
|
|
728
|
+
};
|
|
729
|
+
})
|
|
730
|
+
});
|
|
731
|
+
var previewUpsertResponse = (identifierType, format = "json") => {
|
|
732
|
+
const response = identifierType === "PHONE" ? fakePhoneUpsertResponse : fakeEmailUpsertResponse;
|
|
733
|
+
return format === "html" ? withHtmlCopy(response) : response;
|
|
734
|
+
};
|
|
685
735
|
|
|
686
736
|
// src/types.ts
|
|
687
737
|
var SUPPORTED_LOCALES = [
|