@atlasauth/js 0.13.0 → 0.15.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/referral.js CHANGED
@@ -5,24 +5,41 @@
5
5
  * whoever referred them.
6
6
  *
7
7
  * What is captured, when the instance has referrals on (`referrals` in
8
- * `GET /v1/client/environment`):
9
- * - the referral code from the page URL — the instance's URL parameters
10
- * (default `ref`, `via`, `aff`) on the current page, the page the SDK first
11
- * loaded on, and the `redirect_url` / `after_url` query of either;
12
- * - with consent, the referral platform's first-party tracking cookie (the
13
- * instance's `context_cookie`): JSON or URL-encoded JSON
14
- * `{code?, clickId?, anonId?}`, or a plain click id. A URL code wins over the
15
- * cookie's code.
8
+ * `GET /v1/client/environment`): ONE source, in precedence order, never
9
+ * mixing fields across sources:
10
+ * 1. the app's own reader (`referralSource`), for any referral program;
11
+ * 2. a referral program's script on the page, among the instance's
12
+ * `browser_sources` (Referally's `aff.getReferral()`, Rewardful, Tolt,
13
+ * PromoteKit; see ./referral-detect);
14
+ * 3. explicit `ref_*` parameters (`ref`, `ref_click_id`, `ref_anon_id`,
15
+ * `ref_consent`, `ref_captured_at`) on the page URL;
16
+ * 4. the referral code from the page URL — the instance's URL parameters
17
+ * (default `ref`, `via`, `aff`) on the current page, the page the SDK first
18
+ * loaded on, and the `redirect_url` / `after_url` query of either;
19
+ * 5. the instance's tracking cookie (`context_cookie`): JSON or URL-encoded
20
+ * JSON `{code?, clickId?, anonId?, ts?, exp?}`, or a plain click id. An
21
+ * expired cookie is ignored;
22
+ * 6. a referral program's own cookies, among `browser_sources`
23
+ * (FirstPromoter, PartnerStack, Dub).
24
+ * Click and anonymous ids are sent only with consent; without it only the
25
+ * code goes. The capture says where it came from (`source`) and who decided
26
+ * consent (`consent_by`), for the delivery log.
16
27
  *
17
- * Consent: when Cookie Munch is on the page (`window.CookieMunch`), the cookie
18
- * is read only when the instance's consent category is granted (else its
19
- * fallback category). Without a consent manager the cookie is read only when
20
- * the app says its own consent manager allowed it (`referralConsent:
21
- * 'granted'`). Otherwise the URL code alone is sent. The SDK never writes the
28
+ * Consent: the consent manager on the page decides (the instance's
29
+ * `consent_provider`: `auto` finds Cookie Munch, OneTrust, Cookiebot, Didomi,
30
+ * Usercentrics, Osano, CookieYes, Complianz, Klaro, any IAB TCF v2 manager or
31
+ * Google Consent Mode), for the instance's consent category, else its fallback
32
+ * category. With no manager on the page, or `consent_provider: 'app'`, the
33
+ * app's own decision (`referralConsent`) applies. Otherwise only the code is
34
+ * sent. The SDK never writes a
22
35
  * cookie. Nothing captured is trusted: the server re-validates every field.
23
36
  *
24
37
  * Opt out with `referral: false` (per client, or page-wide with
25
- * {@link configureReferralCapture}).
38
+ * {@link configureReferralCapture}). `'auto'` is the default.
39
+ *
40
+ * Redirects to a hosted page or `/oauth2/authorize` carry the same referral as
41
+ * `ref_*` query parameters: {@link signIn} / {@link signUp},
42
+ * {@link withReferralParams} and {@link referralParams}.
26
43
  */
27
44
  Object.defineProperty(exports, "__esModule", { value: true });
28
45
  exports.DISABLED_REFERRAL_CONFIG = void 0;
@@ -30,9 +47,12 @@ exports.referralToken = referralToken;
30
47
  exports.referralConfigFrom = referralConfigFrom;
31
48
  exports.referralCodeFromSearch = referralCodeFromSearch;
32
49
  exports.referralSearches = referralSearches;
50
+ exports.referralTime = referralTime;
33
51
  exports.parseReferralCookie = parseReferralCookie;
34
52
  exports.readCookieValue = readCookieValue;
35
53
  exports.referralConsentGranted = referralConsentGranted;
54
+ exports.referralFromScript = referralFromScript;
55
+ exports.explicitReferralFromSearch = explicitReferralFromSearch;
36
56
  exports.captureReferral = captureReferral;
37
57
  exports.acceptsReferral = acceptsReferral;
38
58
  exports.rememberReferralLanding = rememberReferralLanding;
@@ -44,13 +64,27 @@ exports.resetReferralCapture = resetReferralCapture;
44
64
  exports.loadReferralConfig = loadReferralConfig;
45
65
  exports.currentReferral = currentReferral;
46
66
  exports.referralChallengeRequired = referralChallengeRequired;
67
+ exports.referralParams = referralParams;
68
+ exports.withReferralParams = withReferralParams;
69
+ exports.signIn = signIn;
70
+ exports.signUp = signUp;
71
+ exports.lookupReferralCode = lookupReferralCode;
72
+ const referral_detect_1 = require("./referral-detect");
73
+ /** Browser sources kept in page script globals (read before the URL); the rest are cookies (read after). */
74
+ const SCRIPT_SOURCES = new Set(['referally', 'rewardful', 'tolt', 'promotekit']);
75
+ /** The browser sources an older server (one that sends no `browser_sources`) implies. */
76
+ const DEFAULT_SOURCES = ['referally'];
47
77
  exports.DISABLED_REFERRAL_CONFIG = Object.freeze({
48
78
  enabled: false,
79
+ sources: [],
80
+ consentProvider: 'auto',
49
81
  urlParams: [],
50
82
  contextCookie: null,
51
83
  consentCategory: 'referrals',
52
84
  consentFallbackCategory: 'marketing',
53
85
  challengeReferredSignups: 'inherit',
86
+ codeLookupUrl: null,
87
+ signupCodeField: false,
54
88
  });
55
89
  const TOKEN = /^[A-Za-z0-9_-]{3,64}$/;
56
90
  const PARAM = /^[A-Za-z0-9_.-]{1,40}$/;
@@ -70,12 +104,17 @@ function referralToken(value) {
70
104
  function referralConfigFrom(body) {
71
105
  const raw = isRecord(body) && isRecord(body.referrals) ? body.referrals : body;
72
106
  if (!isRecord(raw) || raw.enabled !== true)
73
- return { ...exports.DISABLED_REFERRAL_CONFIG, urlParams: [] };
107
+ return { ...exports.DISABLED_REFERRAL_CONFIG, urlParams: [], sources: [] };
74
108
  const params = Array.isArray(raw.url_params)
75
109
  ? raw.url_params.filter((p) => typeof p === 'string' && PARAM.test(p)).slice(0, 10)
76
110
  : [];
111
+ const sources = Array.isArray(raw.browser_sources)
112
+ ? raw.browser_sources.filter((s) => typeof s === 'string' && /^[a-z0-9_]{1,40}$/.test(s)).slice(0, 20)
113
+ : [...DEFAULT_SOURCES];
77
114
  return {
78
115
  enabled: true,
116
+ sources,
117
+ consentProvider: typeof raw.consent_provider === 'string' && /^[a-z0-9_]{1,40}$/.test(raw.consent_provider) ? raw.consent_provider : 'auto',
79
118
  urlParams: params.length ? params : ['ref', 'via', 'aff'],
80
119
  contextCookie: typeof raw.context_cookie === 'string' && COOKIE_NAME.test(raw.context_cookie) ? raw.context_cookie : null,
81
120
  consentCategory: typeof raw.consent_category === 'string' && raw.consent_category ? raw.consent_category : 'referrals',
@@ -83,6 +122,10 @@ function referralConfigFrom(body) {
83
122
  ? raw.consent_fallback_category
84
123
  : null,
85
124
  challengeReferredSignups: raw.challenge_referred_signups === 'always' ? 'always' : 'inherit',
125
+ codeLookupUrl: typeof raw.code_lookup_url === 'string' && /^https?:\/\//i.test(raw.code_lookup_url) && raw.code_lookup_url.includes('{code}')
126
+ ? raw.code_lookup_url
127
+ : null,
128
+ signupCodeField: raw.signup_code_field === true,
86
129
  };
87
130
  }
88
131
  /** The first well-formed code among `params` in a query string. */
@@ -134,11 +177,25 @@ function referralSearches(searches, base) {
134
177
  }
135
178
  return out;
136
179
  }
180
+ /** An ISO time from an ISO string or unix seconds / milliseconds, or null. */
181
+ function referralTime(value) {
182
+ if (typeof value === 'number' && Number.isFinite(value) && value > 0) {
183
+ return new Date(value < 1e12 ? value * 1000 : value).toISOString();
184
+ }
185
+ if (typeof value !== 'string' || !value || value.length > 40)
186
+ return null;
187
+ if (/^\d{9,13}$/.test(value))
188
+ return referralTime(Number(value));
189
+ const t = Date.parse(value);
190
+ return Number.isFinite(t) ? new Date(t).toISOString() : null;
191
+ }
137
192
  /**
138
193
  * Parse a tracking-cookie value: JSON or URL-encoded JSON `{code?, clickId?,
139
- * anonId?}` (snake_case accepted too); a plain value is a click id.
194
+ * anonId?, ts?, exp?}` (snake_case accepted too); a plain value is a click id.
195
+ * `ts` (unix seconds or ms) becomes `capturedAt`; a cookie past its `exp` is
196
+ * ignored.
140
197
  */
141
- function parseReferralCookie(value) {
198
+ function parseReferralCookie(value, now = Date.now()) {
142
199
  if (typeof value !== 'string' || !value || value.length > 4096)
143
200
  return null;
144
201
  let decoded = value;
@@ -161,11 +218,17 @@ function parseReferralCookie(value) {
161
218
  };
162
219
  const obj = json(value.trim()) ?? json(decoded.trim());
163
220
  if (obj) {
221
+ const exp = referralTime(obj.exp);
222
+ if (exp && Date.parse(exp) <= now)
223
+ return null;
164
224
  const out = {
165
225
  code: referralToken(obj.code),
166
226
  clickId: referralToken(obj.clickId ?? obj.click_id),
167
227
  anonId: referralToken(obj.anonId ?? obj.anon_id),
168
228
  };
229
+ const ts = referralTime(obj.ts);
230
+ if (ts)
231
+ out.capturedAt = ts;
169
232
  return out.code || out.clickId || out.anonId ? out : null;
170
233
  }
171
234
  const clickId = referralToken(decoded);
@@ -183,9 +246,11 @@ function readCookieValue(cookies, name) {
183
246
  return null;
184
247
  }
185
248
  /**
186
- * Whether the referral cookie may be read. Cookie Munch on the page decides
187
- * when present (the instance's category, else its fallback category); else
188
- * the app's own `referralConsent`.
249
+ * Whether the referral cookie may be read, with only Cookie Munch to ask (the
250
+ * shape before consent managers were detected generally). Cookie Munch on the
251
+ * page decides when present (the instance's category, else its fallback
252
+ * category); else the app's own `referralConsent`. See {@link detectConsent}
253
+ * for every manager.
189
254
  */
190
255
  function referralConsentGranted(config, cookieMunch, appConsent) {
191
256
  let consent;
@@ -212,28 +277,123 @@ function referralConsentGranted(config, cookieMunch, appConsent) {
212
277
  }
213
278
  return decision === 'granted' || decision === true;
214
279
  }
215
- /** Capture the referral for a request, or null when there is nothing to send. Pure. */
216
- function captureReferral(config, page, appConsent) {
217
- if (!config.enabled)
280
+ /** The `ref_*` keys that mark a query as carrying an explicit referral (a bare `?ref=` is a landing code). */
281
+ const EXPLICIT_MARKERS = ['ref_click_id', 'ref_anon_id', 'ref_consent', 'ref_captured_at'];
282
+ /** What the page's referral script (`window.aff.getReferral()`) holds, or null. Never throws. */
283
+ function referralFromScript(aff) {
284
+ let r;
285
+ try {
286
+ const get = isRecord(aff) || typeof aff === 'function' ? aff.getReferral : undefined;
287
+ r = typeof get === 'function' ? get.call(aff) : null;
288
+ }
289
+ catch {
218
290
  return null;
219
- let code = null;
220
- for (const search of referralSearches(page.searches, page.base)) {
221
- code = referralCodeFromSearch(search, config.urlParams);
222
- if (code)
223
- break;
224
291
  }
225
- const cookie = config.contextCookie && referralConsentGranted(config, page.cookieMunch, appConsent)
226
- ? parseReferralCookie(readCookieValue(page.cookies, config.contextCookie))
227
- : null;
292
+ if (!isRecord(r))
293
+ return null;
228
294
  const out = {
229
- code: code ?? cookie?.code ?? null,
230
- click_id: cookie?.clickId ?? null,
231
- anon_id: cookie?.anonId ?? null,
232
- consent: cookie ? 'granted' : 'not_required',
233
- captured_at: page.capturedAt ?? new Date().toISOString(),
295
+ code: referralToken(r.code),
296
+ clickId: referralToken(r.clickId ?? r.click_id),
297
+ anonId: referralToken(r.anonId ?? r.anon_id),
298
+ };
299
+ const ts = referralTime(r.ts);
300
+ if (ts)
301
+ out.capturedAt = ts;
302
+ return out.code || out.clickId || out.anonId ? out : null;
303
+ }
304
+ /** The explicit `ref_*` referral in a query string, or null. `consent` is whether ids may be kept. */
305
+ function explicitReferralFromSearch(search) {
306
+ if (!search)
307
+ return null;
308
+ let query;
309
+ try {
310
+ query = new URLSearchParams(search);
311
+ }
312
+ catch {
313
+ return null;
314
+ }
315
+ if (!EXPLICIT_MARKERS.some((k) => query.get(k) !== null))
316
+ return null;
317
+ const granted = query.get('ref_consent') === 'granted';
318
+ const out = {
319
+ code: referralToken(query.get('ref')),
320
+ clickId: referralToken(query.get('ref_click_id')),
321
+ anonId: referralToken(query.get('ref_anon_id')),
322
+ consentGranted: granted,
323
+ };
324
+ const at = referralTime(query.get('ref_captured_at'));
325
+ if (at)
326
+ out.capturedAt = at;
327
+ return out.code || out.clickId || out.anonId ? out : null;
328
+ }
329
+ /** One source as the API's `referral` object: ids only with consent; null when nothing usable remains. */
330
+ function asCapture(source, consent, capturedAt, from) {
331
+ const hasIds = !!(source.clickId || source.anonId);
332
+ const decision = hasIds ? consent() : null;
333
+ const ids = !!decision?.granted;
334
+ const out = {
335
+ code: source.code,
336
+ click_id: ids ? source.clickId : null,
337
+ anon_id: ids ? source.anonId : null,
338
+ consent: ids ? 'granted' : 'not_required',
339
+ captured_at: source.capturedAt ?? capturedAt,
340
+ source: from,
341
+ ...(decision ? { consent_by: decision.by } : {}),
234
342
  };
235
343
  return out.code || out.click_id || out.anon_id ? out : null;
236
344
  }
345
+ /** The page's `window` for the readers: `page.win`, else the older `cookieMunch` / `aff` fields. */
346
+ function pageWindow(page) {
347
+ if (page.win !== undefined)
348
+ return page.win;
349
+ return { CookieMunch: page.cookieMunch, aff: page.aff };
350
+ }
351
+ /**
352
+ * Capture the referral for a request, or null when there is nothing to send.
353
+ * Pure. One source wins, in the order described at the top of this module;
354
+ * fields are never mixed across sources. Ids need consent: the app's
355
+ * `referralConsent`, `ref_consent=granted` on an explicit URL, or the consent
356
+ * manager on the page.
357
+ */
358
+ function captureReferral(config, page, appConsent, customSource) {
359
+ if (!config.enabled)
360
+ return null;
361
+ const at = page.capturedAt ?? new Date().toISOString();
362
+ const win = pageWindow(page);
363
+ let decided;
364
+ const consent = () => (decided ??= (0, referral_detect_1.detectConsent)(win, [config.consentCategory, config.consentFallbackCategory], {
365
+ provider: config.consentProvider,
366
+ appConsent,
367
+ }));
368
+ const fromDetected = (d) => (d ? asCapture(d, consent, at, d.source) : null);
369
+ const sources = config.sources ?? DEFAULT_SOURCES;
370
+ const detectPage = { win, cookies: page.cookies };
371
+ const custom = fromDetected((0, referral_detect_1.customReferral)(customSource));
372
+ if (custom)
373
+ return custom;
374
+ const script = fromDetected((0, referral_detect_1.detectReferralSource)(detectPage, sources.filter((s) => SCRIPT_SOURCES.has(s))));
375
+ if (script)
376
+ return script;
377
+ const searches = referralSearches(page.searches, page.base);
378
+ for (const search of searches) {
379
+ const explicit = explicitReferralFromSearch(search);
380
+ if (!explicit)
381
+ continue;
382
+ const out = asCapture(explicit, () => (explicit.consentGranted ? { granted: true, by: 'url' } : consent()), at, 'url');
383
+ if (out)
384
+ return out;
385
+ }
386
+ for (const search of searches) {
387
+ const code = referralCodeFromSearch(search, config.urlParams);
388
+ if (code)
389
+ return { code, click_id: null, anon_id: null, consent: 'not_required', captured_at: at, source: 'url' };
390
+ }
391
+ const cookie = config.contextCookie ? parseReferralCookie(readCookieValue(page.cookies, config.contextCookie)) : null;
392
+ const fromCookie = cookie ? asCapture(cookie, consent, at, 'cookie') : null;
393
+ if (fromCookie)
394
+ return fromCookie;
395
+ return fromDetected((0, referral_detect_1.detectReferralSource)(detectPage, sources.filter((s) => !SCRIPT_SOURCES.has(s))));
396
+ }
237
397
  /** The FAPI POST paths that take `referral`: every sign-in / sign-up start and the steps that continue one. */
238
398
  const REFERRAL_EXACT = new Set([
239
399
  '/v1/client/sign_ups',
@@ -278,6 +438,9 @@ function rememberReferralLanding() {
278
438
  landingAt ??= new Date().toISOString();
279
439
  }
280
440
  rememberReferralLanding();
441
+ // An IAB TCF manager answers through a callback: listen early so its answer is ready at sign-in.
442
+ if (browser())
443
+ (0, referral_detect_1.listenForTcfConsent)(browser());
281
444
  let pageOptions = {};
282
445
  /**
283
446
  * Page-wide referral options, for apps whose framework creates FAPI clients
@@ -341,13 +504,19 @@ function loadReferralConfig(client) {
341
504
  * environment read) has loaded the config.
342
505
  */
343
506
  function worthAsking(client) {
344
- return configs.has(client.referralCacheKey) || !!browser()?.location?.search || landingSearches.length > 0;
507
+ const win = browser();
508
+ return (configs.has(client.referralCacheKey) ||
509
+ !!win?.location?.search ||
510
+ landingSearches.length > 0 ||
511
+ (0, referral_detect_1.customReferral)(effectiveOptions(client).referralSource) !== null ||
512
+ (0, referral_detect_1.detectReferralSource)({ win, cookies: win?.document?.cookie ?? null }, referral_detect_1.REFERRAL_BROWSER_SOURCES) !== null);
345
513
  }
346
514
  function effectiveOptions(client) {
347
515
  const own = client.referralOptions;
348
516
  return {
349
517
  referral: own.referral ?? pageOptions.referral,
350
518
  referralConsent: own.referralConsent ?? pageOptions.referralConsent,
519
+ referralSource: own.referralSource ?? pageOptions.referralSource,
351
520
  };
352
521
  }
353
522
  /** The referral this client should send now, or null (off, opted out, nothing captured). Never throws. */
@@ -365,13 +534,14 @@ async function currentReferral(client) {
365
534
  const config = await loadReferralConfig(client);
366
535
  if (!config.enabled)
367
536
  return null;
537
+ (0, referral_detect_1.listenForTcfConsent)(win);
368
538
  return captureReferral(config, {
369
539
  searches: [current, ...landingSearches],
370
540
  cookies: win.document?.cookie ?? null,
371
- cookieMunch: win.CookieMunch,
541
+ win,
372
542
  base: win.location?.href,
373
543
  capturedAt: landingAt ?? undefined,
374
- }, options.referralConsent);
544
+ }, options.referralConsent, options.referralSource);
375
545
  }
376
546
  catch {
377
547
  return null;
@@ -396,4 +566,136 @@ async function referralChallengeRequired(client) {
396
566
  return false;
397
567
  }
398
568
  }
569
+ /**
570
+ * The referral this page would send, as `ref_*` query parameters (`[]` when
571
+ * there is none). Synchronous: it uses the instance config when one was
572
+ * loaded on this page (or passed), else the default URL parameters. Consent
573
+ * comes from `consent`, else Cookie Munch on the page.
574
+ */
575
+ function referralParams(options = {}) {
576
+ const win = browser();
577
+ if (!win || options.referral === false || pageOptions.referral === false)
578
+ return [];
579
+ try {
580
+ const config = options.config?.enabled
581
+ ? options.config
582
+ : { ...exports.DISABLED_REFERRAL_CONFIG, enabled: true, urlParams: ['ref', 'via', 'aff'], sources: [...referral_detect_1.REFERRAL_BROWSER_SOURCES] };
583
+ (0, referral_detect_1.listenForTcfConsent)(win);
584
+ const ref = captureReferral(config, {
585
+ searches: [win.location?.search ?? '', ...landingSearches],
586
+ cookies: win.document?.cookie ?? null,
587
+ win,
588
+ base: win.location?.href,
589
+ capturedAt: landingAt ?? undefined,
590
+ }, options.consent ?? pageOptions.referralConsent, options.source ?? pageOptions.referralSource);
591
+ if (!ref)
592
+ return [];
593
+ const out = [];
594
+ if (ref.code)
595
+ out.push(['ref', ref.code]);
596
+ if (ref.click_id)
597
+ out.push(['ref_click_id', ref.click_id]);
598
+ if (ref.anon_id)
599
+ out.push(['ref_anon_id', ref.anon_id]);
600
+ out.push(['ref_consent', ref.consent]);
601
+ out.push(['ref_captured_at', ref.captured_at]);
602
+ if (ref.source)
603
+ out.push(['ref_source', ref.source]);
604
+ if (ref.consent_by)
605
+ out.push(['ref_consent_by', ref.consent_by]);
606
+ return out;
607
+ }
608
+ catch {
609
+ return [];
610
+ }
611
+ }
612
+ /** `url` with the page's referral added as `ref_*` parameters (existing ones are kept, never replaced). */
613
+ function withReferralParams(url, options = {}) {
614
+ const params = referralParams(options);
615
+ if (!params.length)
616
+ return url;
617
+ let u;
618
+ try {
619
+ u = new URL(url, browser()?.location?.href ?? undefined);
620
+ }
621
+ catch {
622
+ return url;
623
+ }
624
+ for (const [k, v] of params)
625
+ if (!u.searchParams.has(k))
626
+ u.searchParams.set(k, v);
627
+ return u.toString();
628
+ }
629
+ function hostedUrl(page, options) {
630
+ if (options.url)
631
+ return options.url;
632
+ if (!options.frontendApi)
633
+ throw new Error('signIn/signUp need url or frontendApi');
634
+ const origin = /^https?:\/\//i.test(options.frontendApi) ? options.frontendApi : `https://${options.frontendApi}`;
635
+ const u = new URL(`/hosted/${page}`, origin);
636
+ if (options.redirectUrl)
637
+ u.searchParams.set('redirect_url', options.redirectUrl);
638
+ return u.toString();
639
+ }
640
+ function go(page, options) {
641
+ const target = withReferralParams(hostedUrl(page, options), options);
642
+ if (options.navigate !== false)
643
+ browser()?.location?.assign?.(target);
644
+ return target;
645
+ }
646
+ /**
647
+ * Send the visitor to the hosted sign-in page (or `url`), carrying the
648
+ * referral they arrived with as `ref_*` parameters (`referral: 'auto'`, the
649
+ * default). Returns the URL it went to.
650
+ *
651
+ * ```ts
652
+ * signIn({ frontendApi: 'accounts.example.com', redirectUrl: location.href, consent: () => cmp.granted('referrals') });
653
+ * ```
654
+ */
655
+ function signIn(options) {
656
+ return go('sign-in', options);
657
+ }
658
+ /** {@link signIn} for the hosted sign-up page. */
659
+ function signUp(options) {
660
+ return go('sign-up', options);
661
+ }
662
+ /**
663
+ * Ask the instance's public code lookup (`code_lookup_url`) about a code, for
664
+ * an "X invited you" line. No credentials, `timeoutMs` (default 3000). Null
665
+ * when there is no lookup, the code is malformed, or the lookup fails: never
666
+ * block a sign-up on it.
667
+ */
668
+ async function lookupReferralCode(config, code, options = {}) {
669
+ const template = typeof config === 'string' ? config : config?.codeLookupUrl;
670
+ const token = referralToken(code);
671
+ const f = options.fetchImpl ?? (typeof fetch === 'function' ? fetch : undefined);
672
+ if (!template || !token || !f)
673
+ return null;
674
+ const ctrl = typeof AbortController === 'function' ? new AbortController() : null;
675
+ const timer = setTimeout(() => ctrl?.abort(), options.timeoutMs ?? 3000);
676
+ try {
677
+ const res = await f(template.split('{code}').join(encodeURIComponent(token)), {
678
+ method: 'GET',
679
+ credentials: 'omit',
680
+ headers: { accept: 'application/json' },
681
+ signal: ctrl?.signal,
682
+ });
683
+ if (!res.ok)
684
+ return null;
685
+ const body = (await res.json());
686
+ if (!isRecord(body) || typeof body.valid !== 'boolean')
687
+ return null;
688
+ return {
689
+ valid: body.valid,
690
+ ...(typeof body.partnerDisplayName === 'string' ? { partnerDisplayName: body.partnerDisplayName } : {}),
691
+ ...(body.refereeReward !== undefined ? { refereeReward: body.refereeReward } : {}),
692
+ };
693
+ }
694
+ catch {
695
+ return null;
696
+ }
697
+ finally {
698
+ clearTimeout(timer);
699
+ }
700
+ }
399
701
  //# sourceMappingURL=referral.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"referral.js","sourceRoot":"","sources":["../src/referral.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"referral.js","sourceRoot":"","sources":["../src/referral.ts"],"names":[],"mappings":"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"}
package/dist/version.d.ts CHANGED
@@ -4,4 +4,4 @@
4
4
  * package.json at runtime) so the bundle stays dependency-free and tests stay
5
5
  * deterministic; `version.test.ts` fails when it drifts from package.json.
6
6
  */
7
- export declare const ATLAS_JS_VERSION = "0.13.0";
7
+ export declare const ATLAS_JS_VERSION = "0.15.0";
package/dist/version.js CHANGED
@@ -7,5 +7,5 @@ exports.ATLAS_JS_VERSION = void 0;
7
7
  * package.json at runtime) so the bundle stays dependency-free and tests stay
8
8
  * deterministic; `version.test.ts` fails when it drifts from package.json.
9
9
  */
10
- exports.ATLAS_JS_VERSION = '0.13.0';
10
+ exports.ATLAS_JS_VERSION = '0.15.0';
11
11
  //# sourceMappingURL=version.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlasauth/js",
3
- "version": "0.13.0",
3
+ "version": "0.15.0",
4
4
  "main": "./dist/index.js",
5
5
  "types": "./dist/index.d.ts",
6
6
  "devDependencies": {