@encorekit/web-sdk 2.3.0 → 2.4.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/README.md +66 -1
- package/dist/cjs/index.cjs +1 -1
- package/dist/cjs/index.cjs.map +1 -1
- package/dist/cjs/preview.cjs +2 -0
- package/dist/cjs/preview.cjs.map +1 -0
- package/dist/cjs/react.cjs +1 -1
- package/dist/cjs/react.cjs.map +1 -1
- package/dist/esm/chunks/ClaimReminder-DFyrm5bJ.js +2 -0
- package/dist/esm/chunks/ClaimReminder-DFyrm5bJ.js.map +1 -0
- package/dist/esm/chunks/GiftsButton-B0lVB463.js +2 -0
- package/dist/esm/chunks/GiftsButton-B0lVB463.js.map +1 -0
- package/dist/esm/chunks/TriggerHost-CNTiNrTH.js +2 -0
- package/dist/esm/chunks/TriggerHost-CNTiNrTH.js.map +1 -0
- package/dist/esm/chunks/autoPops-CngtK_R0.js +2 -0
- package/dist/esm/chunks/autoPops-CngtK_R0.js.map +1 -0
- package/dist/esm/chunks/customClaim-B4uj-aOc.js +2 -0
- package/dist/esm/chunks/customClaim-B4uj-aOc.js.map +1 -0
- package/dist/esm/chunks/eligibility-BY7fL8Ve.js +2 -0
- package/dist/esm/chunks/eligibility-BY7fL8Ve.js.map +1 -0
- package/dist/esm/chunks/index-CaBSqauy.js +2 -0
- package/dist/esm/chunks/index-CaBSqauy.js.map +1 -0
- package/dist/esm/chunks/lookValues-B9z2VWpH.js +2 -0
- package/dist/esm/chunks/lookValues-B9z2VWpH.js.map +1 -0
- package/dist/esm/chunks/sduiView-Ds7QtFId.js +2 -0
- package/dist/esm/chunks/sduiView-Ds7QtFId.js.map +1 -0
- package/dist/esm/chunks/spot-DkKMLpB-.js +2 -0
- package/dist/esm/chunks/spot-DkKMLpB-.js.map +1 -0
- package/dist/esm/chunks/template-B9p4CbPD.js +2 -0
- package/dist/esm/chunks/template-B9p4CbPD.js.map +1 -0
- package/dist/esm/chunks/textSlots-BnwxUg9V.js +2 -0
- package/dist/esm/chunks/textSlots-BnwxUg9V.js.map +1 -0
- package/dist/esm/chunks/timers-Bva4yoGM.js +2 -0
- package/dist/esm/chunks/timers-Bva4yoGM.js.map +1 -0
- package/dist/esm/index.js +1 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/preview.js +2 -0
- package/dist/esm/preview.js.map +1 -0
- package/dist/esm/react.js +1 -1
- package/dist/esm/react.js.map +1 -1
- package/dist/umd/encore.min.js +1 -1
- package/dist/umd/encore.min.js.map +1 -1
- package/package.json +9 -1
- package/types/analytics/DiagnosticsOutbox.d.ts +1 -0
- package/types/analytics/DiagnosticsOutbox.d.ts.map +1 -1
- package/types/analytics/events.d.ts +105 -5
- package/types/analytics/events.d.ts.map +1 -1
- package/types/analytics/models.d.ts +2 -0
- package/types/analytics/models.d.ts.map +1 -1
- package/types/analytics/transport.d.ts +6 -0
- package/types/analytics/transport.d.ts.map +1 -1
- package/types/api/APIClient.d.ts +58 -3
- package/types/api/APIClient.d.ts.map +1 -1
- package/types/api/contract.d.ts +4 -1
- package/types/api/contract.d.ts.map +1 -1
- package/types/api/generated/types.d.ts +420 -39
- package/types/api/generated/types.d.ts.map +1 -1
- package/types/api/models.d.ts +18 -2
- package/types/api/models.d.ts.map +1 -1
- package/types/api/offerBuilder.d.ts +10 -4
- package/types/api/offerBuilder.d.ts.map +1 -1
- package/types/core/Encore.d.ts +145 -3
- package/types/core/Encore.d.ts.map +1 -1
- package/types/core/OfferManager.d.ts +25 -3
- package/types/core/OfferManager.d.ts.map +1 -1
- package/types/core/PlacementBuilder.d.ts +6 -1
- package/types/core/PlacementBuilder.d.ts.map +1 -1
- package/types/core/SignalManager.d.ts.map +1 -1
- package/types/core/StorageManager.d.ts +3 -2
- package/types/core/StorageManager.d.ts.map +1 -1
- package/types/core/StrictUnlockReconciler.d.ts +1 -1
- package/types/core/StrictUnlockReconciler.d.ts.map +1 -1
- package/types/core/claimHandle.d.ts +44 -0
- package/types/core/claimHandle.d.ts.map +1 -0
- package/types/core/claimLog.d.ts +102 -0
- package/types/core/claimLog.d.ts.map +1 -0
- package/types/core/claimRefusal.d.ts +3 -0
- package/types/core/claimRefusal.d.ts.map +1 -0
- package/types/core/claimStatusCheck.d.ts +62 -0
- package/types/core/claimStatusCheck.d.ts.map +1 -0
- package/types/core/giftVariant.d.ts +5 -0
- package/types/core/giftVariant.d.ts.map +1 -1
- package/types/core/hostDisplay.d.ts +9 -2
- package/types/core/hostDisplay.d.ts.map +1 -1
- package/types/core/sduiVariables.d.ts +20 -0
- package/types/core/sduiVariables.d.ts.map +1 -0
- package/types/core/strings.d.ts +114 -0
- package/types/core/strings.d.ts.map +1 -0
- package/types/core/unlockCode.d.ts +8 -1
- package/types/core/unlockCode.d.ts.map +1 -1
- package/types/core/userKeys.d.ts +7 -0
- package/types/core/userKeys.d.ts.map +1 -0
- package/types/core/version.d.ts +1 -1
- package/types/experiments/ExposureOutbox.d.ts +1 -0
- package/types/experiments/ExposureOutbox.d.ts.map +1 -1
- package/types/preview.d.ts +51 -0
- package/types/preview.d.ts.map +1 -0
- package/types/react.d.ts +53 -1
- package/types/react.d.ts.map +1 -1
- package/types/sdui/actions.d.ts +93 -0
- package/types/sdui/actions.d.ts.map +1 -0
- package/types/sdui/bindings.d.ts +63 -0
- package/types/sdui/bindings.d.ts.map +1 -0
- package/types/sdui/compile.d.ts +88 -0
- package/types/sdui/compile.d.ts.map +1 -0
- package/types/sdui/conditions.d.ts +22 -0
- package/types/sdui/conditions.d.ts.map +1 -0
- package/types/sdui/context.d.ts +132 -0
- package/types/sdui/context.d.ts.map +1 -0
- package/types/sdui/countdown.d.ts +31 -0
- package/types/sdui/countdown.d.ts.map +1 -0
- package/types/sdui/decode.d.ts +35 -0
- package/types/sdui/decode.d.ts.map +1 -0
- package/types/sdui/deps.d.ts +43 -0
- package/types/sdui/deps.d.ts.map +1 -0
- package/types/sdui/dominantColor.d.ts +24 -0
- package/types/sdui/dominantColor.d.ts.map +1 -0
- package/types/sdui/elements/confetti.d.ts +38 -0
- package/types/sdui/elements/confetti.d.ts.map +1 -0
- package/types/sdui/elements/content.d.ts +27 -0
- package/types/sdui/elements/content.d.ts.map +1 -0
- package/types/sdui/elements/interactive.d.ts +48 -0
- package/types/sdui/elements/interactive.d.ts.map +1 -0
- package/types/sdui/elements/layout.d.ts +41 -0
- package/types/sdui/elements/layout.d.ts.map +1 -0
- package/types/sdui/elements/marquee.d.ts +17 -0
- package/types/sdui/elements/marquee.d.ts.map +1 -0
- package/types/sdui/elements/progress.d.ts +10 -0
- package/types/sdui/elements/progress.d.ts.map +1 -0
- package/types/sdui/elements/shared.d.ts +138 -0
- package/types/sdui/elements/shared.d.ts.map +1 -0
- package/types/sdui/elements/symbols.d.ts +22 -0
- package/types/sdui/elements/symbols.d.ts.map +1 -0
- package/types/sdui/elements/triggerText.d.ts +55 -0
- package/types/sdui/elements/triggerText.d.ts.map +1 -0
- package/types/sdui/host.d.ts +274 -0
- package/types/sdui/host.d.ts.map +1 -0
- package/types/sdui/inlineMarkup.d.ts +22 -0
- package/types/sdui/inlineMarkup.d.ts.map +1 -0
- package/types/sdui/lookValues.d.ts +50 -0
- package/types/sdui/lookValues.d.ts.map +1 -0
- package/types/sdui/model.d.ts +130 -0
- package/types/sdui/model.d.ts.map +1 -0
- package/types/sdui/motion.d.ts +37 -0
- package/types/sdui/motion.d.ts.map +1 -0
- package/types/sdui/precheck.d.ts +94 -0
- package/types/sdui/precheck.d.ts.map +1 -0
- package/types/sdui/scrollMath.d.ts +32 -0
- package/types/sdui/scrollMath.d.ts.map +1 -0
- package/types/sdui/style.d.ts +99 -0
- package/types/sdui/style.d.ts.map +1 -0
- package/types/sdui/triggerKit.d.ts +24 -0
- package/types/sdui/triggerKit.d.ts.map +1 -0
- package/types/sdui/unrunnable.d.ts +11 -0
- package/types/sdui/unrunnable.d.ts.map +1 -0
- package/types/sdui/vocabulary.d.ts +119 -0
- package/types/sdui/vocabulary.d.ts.map +1 -0
- package/types/triggers/claimReminder/ClaimReminder.d.ts +65 -0
- package/types/triggers/claimReminder/ClaimReminder.d.ts.map +1 -0
- package/types/triggers/claimReminder/bindings.d.ts +40 -0
- package/types/triggers/claimReminder/bindings.d.ts.map +1 -0
- package/types/triggers/claimReminder/config.d.ts +56 -0
- package/types/triggers/claimReminder/config.d.ts.map +1 -0
- package/types/triggers/claimReminder/eligibility.d.ts +37 -0
- package/types/triggers/claimReminder/eligibility.d.ts.map +1 -0
- package/types/triggers/claimReminder/servedWindow.d.ts +15 -0
- package/types/triggers/claimReminder/servedWindow.d.ts.map +1 -0
- package/types/triggers/claimReminder/source.d.ts +29 -0
- package/types/triggers/claimReminder/source.d.ts.map +1 -0
- package/types/triggers/giftsButton/GiftsButton.d.ts +60 -0
- package/types/triggers/giftsButton/GiftsButton.d.ts.map +1 -0
- package/types/triggers/giftsButton/config.d.ts +53 -0
- package/types/triggers/giftsButton/config.d.ts.map +1 -0
- package/types/triggers/giftsButton/spot.d.ts +54 -0
- package/types/triggers/giftsButton/spot.d.ts.map +1 -0
- package/types/triggers/host/TriggerHost.d.ts +127 -0
- package/types/triggers/host/TriggerHost.d.ts.map +1 -0
- package/types/triggers/host/autoPops.d.ts +16 -0
- package/types/triggers/host/autoPops.d.ts.map +1 -0
- package/types/triggers/host/configCache.d.ts +29 -0
- package/types/triggers/host/configCache.d.ts.map +1 -0
- package/types/triggers/host/customClaim.d.ts +85 -0
- package/types/triggers/host/customClaim.d.ts.map +1 -0
- package/types/triggers/host/dismissStore.d.ts +37 -0
- package/types/triggers/host/dismissStore.d.ts.map +1 -0
- package/types/triggers/host/readThrottle.d.ts +15 -0
- package/types/triggers/host/readThrottle.d.ts.map +1 -0
- package/types/triggers/host/registry.d.ts +17 -0
- package/types/triggers/host/registry.d.ts.map +1 -0
- package/types/triggers/host/sduiView.d.ts +31 -0
- package/types/triggers/host/sduiView.d.ts.map +1 -0
- package/types/triggers/host/template.d.ts +28 -0
- package/types/triggers/host/template.d.ts.map +1 -0
- package/types/triggers/host/textSlots.d.ts +35 -0
- package/types/triggers/host/textSlots.d.ts.map +1 -0
- package/types/triggers/host/theme.d.ts +87 -0
- package/types/triggers/host/theme.d.ts.map +1 -0
- package/types/triggers/host/timers.d.ts +11 -0
- package/types/triggers/host/timers.d.ts.map +1 -0
- package/types/triggers/host/types.d.ts +278 -0
- package/types/triggers/host/types.d.ts.map +1 -0
- package/types/triggers/host/wire.d.ts +55 -0
- package/types/triggers/host/wire.d.ts.map +1 -0
- package/types/triggers/preview.d.ts +78 -0
- package/types/triggers/preview.d.ts.map +1 -0
- package/types/triggers/request.d.ts +53 -0
- package/types/triggers/request.d.ts.map +1 -0
- package/types/types.d.ts +329 -1
- package/types/types.d.ts.map +1 -1
- package/types/ui/ClaimScreen.d.ts +1 -1
- package/types/ui/ClaimScreen.d.ts.map +1 -1
- package/types/ui/CodeUnlock.d.ts +12 -2
- package/types/ui/CodeUnlock.d.ts.map +1 -1
- package/types/ui/GiftHero.d.ts.map +1 -1
- package/types/ui/GiftList.d.ts.map +1 -1
- package/types/ui/GiftPicker.d.ts.map +1 -1
- package/types/ui/GiftPickerHero.d.ts.map +1 -1
- package/types/ui/GiftReveal.d.ts.map +1 -1
- package/types/ui/GiftSheet.d.ts +5 -5
- package/types/ui/GiftSheet.d.ts.map +1 -1
- package/types/ui/GiftUnwrap.d.ts.map +1 -1
- package/types/ui/OfferCard.d.ts.map +1 -1
- package/types/ui/OfferCarousel.d.ts.map +1 -1
- package/types/ui/OfferModal.d.ts +31 -0
- package/types/ui/OfferModal.d.ts.map +1 -1
- package/types/ui/PrimerScreen.d.ts +2 -0
- package/types/ui/PrimerScreen.d.ts.map +1 -1
- package/types/ui/RedemptionScreen.d.ts +5 -0
- package/types/ui/RedemptionScreen.d.ts.map +1 -1
- package/types/ui/RewardActions.d.ts.map +1 -1
- package/types/ui/RewardCard.d.ts.map +1 -1
- package/types/ui/SduiRewardSurface.d.ts +145 -0
- package/types/ui/SduiRewardSurface.d.ts.map +1 -0
- package/types/ui/Tooltip.d.ts.map +1 -1
- package/types/ui/brandComponents.d.ts.map +1 -1
- package/types/ui/brandTint.d.ts.map +1 -1
- package/types/ui/colorScheme.d.ts +15 -0
- package/types/ui/colorScheme.d.ts.map +1 -0
- package/types/ui/covered.d.ts +12 -0
- package/types/ui/covered.d.ts.map +1 -0
- package/types/ui/giftCategoryGroups.d.ts +13 -0
- package/types/ui/giftCategoryGroups.d.ts.map +1 -1
- package/types/ui/giftCopy.d.ts +14 -9
- package/types/ui/giftCopy.d.ts.map +1 -1
- package/types/ui/giftUnwrapCopy.d.ts.map +1 -1
- package/types/ui/imageURL.d.ts +44 -0
- package/types/ui/imageURL.d.ts.map +1 -0
- package/types/ui/impressionGate.d.ts +9 -0
- package/types/ui/impressionGate.d.ts.map +1 -1
- package/types/ui/offerBadge.d.ts.map +1 -1
- package/types/ui/rewardSurface.d.ts +11 -1
- package/types/ui/rewardSurface.d.ts.map +1 -1
- package/types/ui/sduiTheme.d.ts +48 -0
- package/types/ui/sduiTheme.d.ts.map +1 -0
- package/types/ui/sheetDetents.d.ts +28 -0
- package/types/ui/sheetDetents.d.ts.map +1 -0
- package/types/ui/styles.d.ts +11 -8
- package/types/ui/styles.d.ts.map +1 -1
- package/types/ui/termsLine.d.ts +3 -3
- package/types/ui/termsLine.d.ts.map +1 -1
- package/types/ui/toast.d.ts +11 -0
- package/types/ui/toast.d.ts.map +1 -0
- package/types/utils/logger.d.ts +10 -0
- package/types/utils/logger.d.ts.map +1 -1
- package/types/utils/text.d.ts +17 -0
- package/types/utils/text.d.ts.map +1 -1
package/types/api/models.d.ts
CHANGED
|
@@ -21,8 +21,11 @@ export interface OfferModel {
|
|
|
21
21
|
id: string;
|
|
22
22
|
title: string;
|
|
23
23
|
description: string;
|
|
24
|
+
/** The creative's own `description`, which SDUI's `offerDescription` reads, as Swift does. */
|
|
25
|
+
creativeDescription?: string;
|
|
24
26
|
imageUrl?: string;
|
|
25
|
-
|
|
27
|
+
/** Absent when the server sends none: the card shows its own `card.claim` string. */
|
|
28
|
+
ctaText?: string;
|
|
26
29
|
advertiserUrl: string;
|
|
27
30
|
campaignId: string;
|
|
28
31
|
/** Absent for a campaign served without a creative (no picture). */
|
|
@@ -80,17 +83,30 @@ export interface OfferModel {
|
|
|
80
83
|
*
|
|
81
84
|
* Read tolerantly from `campaign.category` on the `/offers/search` response (nullable
|
|
82
85
|
* in the contract). Absent, the sheet renders one list with no tabs. See
|
|
83
|
-
* `
|
|
86
|
+
* `readCampaignText` in `offerBuilder.ts`.
|
|
87
|
+
*
|
|
88
|
+
* Stays English on every locale: it is a key, never display text.
|
|
84
89
|
*/
|
|
85
90
|
category?: string;
|
|
91
|
+
/**
|
|
92
|
+
* The gift sheet group the server filed this offer under ("Watch & listen", "Money",
|
|
93
|
+
* "Everyday"), English, trimmed. Preferred over mapping `category` locally.
|
|
94
|
+
*/
|
|
95
|
+
categoryGroup?: string;
|
|
96
|
+
/** `categoryGroup` in the response locale, for the tab label only. */
|
|
97
|
+
categoryGroupDisplayName?: string;
|
|
86
98
|
instructions?: {
|
|
87
99
|
title: string;
|
|
88
100
|
subtitle: string;
|
|
89
101
|
ctaButtonText?: string;
|
|
102
|
+
/** The step's image, when it has one. */
|
|
103
|
+
imageUrl?: string;
|
|
90
104
|
}[];
|
|
91
105
|
quickInstructions?: string;
|
|
92
106
|
tooltipText?: string;
|
|
93
107
|
trackingParameters?: Record<string, string>;
|
|
108
|
+
/** Admin copy a variant draws by key (`propertyKey`). Blank values are absent. */
|
|
109
|
+
displayProperties?: Record<string, string>;
|
|
94
110
|
}
|
|
95
111
|
export interface TransactionModel {
|
|
96
112
|
id: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../src/api/models.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,KAAK,QAAQ,MAAM,YAAY,CAAC;AAC5C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAM/C,MAAM,MAAM,aAAa,GAAG,QAAQ,CAAC,QAAQ,CAAC;AAC9C,MAAM,MAAM,iBAAiB,GAAG,QAAQ,CAAC,YAAY,CAAC;AACtD,MAAM,MAAM,aAAa,GAAG,QAAQ,CAAC,QAAQ,CAAC;AAM9C,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../src/api/models.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,11 +12,15 @@
|
|
|
12
12
|
*/
|
|
13
13
|
import type { OfferModel } from './models';
|
|
14
14
|
/**
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
15
|
+
* A campaign's category field, read tolerantly: only a non-blank string is kept (trimmed).
|
|
16
|
+
* Anything else, and the field's absence on an older backend, is `undefined`, so a
|
|
17
|
+
* response with none of them maps to one list with no tabs.
|
|
18
|
+
*
|
|
19
|
+
* `category` is the shelf taxonomy name (nullable free string in the contract);
|
|
20
|
+
* `categoryGroup` is the gift sheet group the server filed it under (English, a key);
|
|
21
|
+
* `categoryGroupDisplayName` is that group in the response locale, for the tab label.
|
|
18
22
|
*/
|
|
19
|
-
export declare function
|
|
23
|
+
export declare function readCampaignText(campaign: unknown, key: 'category' | 'categoryGroup' | 'categoryGroupDisplayName'): string | undefined;
|
|
20
24
|
/**
|
|
21
25
|
* A campaign-level URL (`heroImageUrl`, `termsUrl`), read tolerantly: a non-blank string,
|
|
22
26
|
* trimmed, that passes the SDK's https guard. Anything else, a `javascript:` or plain
|
|
@@ -40,6 +44,8 @@ export declare function readShareUrl(campaign: unknown): string | undefined;
|
|
|
40
44
|
* dropped. Only a bare hostname is kept, so a bad row can never put a URL on screen.
|
|
41
45
|
*/
|
|
42
46
|
export declare function readExpectedDomain(campaign: unknown): string | undefined;
|
|
47
|
+
/** String values only, and a blank one is absent, as on iOS. Empty → undefined. */
|
|
48
|
+
export declare function readDisplayProperties(value: unknown): Record<string, string> | undefined;
|
|
43
49
|
/** Never throws: a malformed campaign is skipped, not allowed to fail the list. */
|
|
44
50
|
export declare function buildOffers(campaigns: readonly unknown[] | null | undefined): OfferModel[];
|
|
45
51
|
//# sourceMappingURL=offerBuilder.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"offerBuilder.d.ts","sourceRoot":"","sources":["../../src/api/offerBuilder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAIH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAE3C
|
|
1
|
+
{"version":3,"file":"offerBuilder.d.ts","sourceRoot":"","sources":["../../src/api/offerBuilder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAIH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAE3C;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,OAAO,EACjB,GAAG,EAAE,UAAU,GAAG,eAAe,GAAG,0BAA0B,GAC7D,MAAM,GAAG,SAAS,CAMpB;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,OAAO,EACjB,GAAG,EAAE,cAAc,GAAG,UAAU,GAC/B,MAAM,GAAG,SAAS,CAKpB;AAED;;;;;;;;;GASG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAYlE;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAYxE;AAuCD,mFAAmF;AACnF,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAQxF;AA2ID,mFAAmF;AACnF,wBAAgB,WAAW,CAAC,SAAS,EAAE,SAAS,OAAO,EAAE,GAAG,IAAI,GAAG,SAAS,GAAG,UAAU,EAAE,CAQ1F"}
|
package/types/core/Encore.d.ts
CHANGED
|
@@ -2,16 +2,96 @@
|
|
|
2
2
|
* Main Encore SDK Class
|
|
3
3
|
* Singleton class that serves as the public API entry point
|
|
4
4
|
*/
|
|
5
|
-
import type { EncoreConfig, UserAttributes, EntitlementType, EntitlementScope, EventHandler, Unsubscribe, PresentationOptions, PresentationResult, PlacementOptions, VerificationStatus, PlacementBuilder as IPlacementBuilder, RedeemOptions, RedeemResult, ShowResult, Transaction } from '../types';
|
|
5
|
+
import type { EncoreConfig, UserAttributes, EntitlementType, EntitlementScope, EventHandler, Unsubscribe, PresentationOptions, PresentationResult, PlacementOptions, VerificationStatus, PlacementBuilder as IPlacementBuilder, RedeemOptions, RedeemResult, ShowResult, Transaction, UseCase, EncoreClaim, EncoreClaimOptions, EncoreTriggers } from '../types';
|
|
6
|
+
import { APIClient } from '../api/APIClient';
|
|
7
|
+
import { type PlacementResolutionOverride } from '../analytics/placementResolved';
|
|
6
8
|
import type { NCLExperimentState } from '../experiments/types';
|
|
9
|
+
import type { ClaimReminderSource } from '../triggers/claimReminder/source';
|
|
7
10
|
import { type LogLevel } from '../utils/logger';
|
|
11
|
+
/**
|
|
12
|
+
* What an internal exit hands back to `show()`'s wrapper, so exactly one
|
|
13
|
+
* `sdk_placement_resolved` record is written per attempt no matter which path
|
|
14
|
+
* produced the result. Mirrors iOS's `OfferSheetCoordinator.present()` wrapping a
|
|
15
|
+
* `presentCore()`.
|
|
16
|
+
*
|
|
17
|
+
* `override` is set ONLY by sites whose public `ShowResult` collapses something the
|
|
18
|
+
* record still needs — the deliberately overloaded `'unavailable'`, and the
|
|
19
|
+
* `UNKNOWN_ERROR` code shared by three structurally different failures. See
|
|
20
|
+
* `PlacementResolutionOverride`.
|
|
21
|
+
*/
|
|
22
|
+
export interface OfferFlowOutcome {
|
|
23
|
+
result: ShowResult;
|
|
24
|
+
/**
|
|
25
|
+
* THE id for this attempt — the same one every analytics event from this attempt
|
|
26
|
+
* carries, so the terminal record joins to all of them. Required: it is minted
|
|
27
|
+
* above every gate in #showCore, so there is no exit that lacks one.
|
|
28
|
+
*/
|
|
29
|
+
presentationId: string;
|
|
30
|
+
variantId?: string;
|
|
31
|
+
override?: PlacementResolutionOverride;
|
|
32
|
+
/**
|
|
33
|
+
* INTERNAL: a trigger's automatic pop dropped before its sheet showed (its mount went
|
|
34
|
+
* away). Nothing happened, so no placement record is written, as on iOS.
|
|
35
|
+
*/
|
|
36
|
+
aborted?: true;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* The whole years since a date of birth, on today's UTC date as the native SDKs count
|
|
40
|
+
* it: floored, so the age turns only on the birthday itself. Null for an unreadable or
|
|
41
|
+
* future date, or one that gives an age outside 0 to 120.
|
|
42
|
+
*/
|
|
43
|
+
export declare function ageFromDateOfBirth(value: unknown, now?: Date): number | null;
|
|
44
|
+
/**
|
|
45
|
+
* Attributes as they may be kept (`age` for this page load only, see savedAttributes): `age` only as a number from 0 to 120,
|
|
46
|
+
* floored to whole years (15.5 is 15), so a fractional age still restricts a minor; a
|
|
47
|
+
* `dateOfBirth` only when it names a real date. The date stays on the device, and
|
|
48
|
+
* `outgoingAttributes` turns it into an age each time attributes are sent.
|
|
49
|
+
*/
|
|
50
|
+
export declare function cleanUserAttributes<T extends UserAttributes>(attributes: T): T;
|
|
51
|
+
/**
|
|
52
|
+
* Kept attributes as they are sent: never the date of birth, and `age` as of now. The
|
|
53
|
+
* age comes from `age`, from `dateOfBirth`, or, given both, the lower of the two, so a
|
|
54
|
+
* minor is never sent as an adult. A date that gives no age adds none.
|
|
55
|
+
*/
|
|
56
|
+
export declare function outgoingAttributes<T extends UserAttributes>(attributes: T, now?: Date): T;
|
|
8
57
|
export declare class EncoreSDK {
|
|
9
58
|
#private;
|
|
59
|
+
/**
|
|
60
|
+
* Drop-in UI pieces a host places in its own layout.
|
|
61
|
+
*
|
|
62
|
+
* `mount(id, element, { placement, useCase, autoOpen, ... })` draws trigger
|
|
63
|
+
* `id` in `element`. It renders nothing (zero height) until there is something to
|
|
64
|
+
* show, including before `configure()`, for an id this version does not ship, and for
|
|
65
|
+
* churn, and never throws. An untyped `layout` pins a look for demos and tests only
|
|
66
|
+
* (as Swift's `@_spi(EncoreDemo)`): apps never pin, Encore picks looks per placement. Returns a handle whose
|
|
67
|
+
* `unmount()` removes it. `claimReminder.mount(element, options)` is
|
|
68
|
+
* `mount('claimReminder', element, options)`, and likewise `giftsButton`.
|
|
69
|
+
*/
|
|
70
|
+
readonly triggers: EncoreTriggers;
|
|
71
|
+
/**
|
|
72
|
+
* Your own gifts button or claim reminder, counted and driven by Encore: a handle for
|
|
73
|
+
* `placement` whose `state` says what to draw (`hidden`, `gifts`, `reminder`). Bind your
|
|
74
|
+
* view with `handle.bind(element)` (or report visibility with `setVisible` and call
|
|
75
|
+
* `tap()`); Encore counts the impression and the tap, opens the reward sheet, and
|
|
76
|
+
* calls `onResult`. Encore decides what it shows after a claim and after a completion
|
|
77
|
+
* (rules read once the view is on screen; the defaults until then). Never throws; `hidden` until the
|
|
78
|
+
* SDK is configured.
|
|
79
|
+
*/
|
|
80
|
+
claim(options: EncoreClaimOptions): EncoreClaim;
|
|
81
|
+
/**
|
|
82
|
+
* 🔴 INTERNAL: binds the claims adapter the claim reminder reads (null unbinds).
|
|
83
|
+
* Static, so it stays off the public instance. Its callers are the SDK's own
|
|
84
|
+
* mapper over the claims bank, once that is on main, and tests.
|
|
85
|
+
*/
|
|
86
|
+
static bindClaimReminderSource(sdk: EncoreSDK, source: ClaimReminderSource | null): void;
|
|
10
87
|
constructor();
|
|
11
88
|
/**
|
|
12
89
|
* Configure the SDK with API key and options
|
|
13
90
|
*/
|
|
14
91
|
configure(config: EncoreConfig): boolean;
|
|
92
|
+
/**
|
|
93
|
+
* Identify user with custom user ID and optionally set attributes
|
|
94
|
+
*/
|
|
15
95
|
identify(userId: string, attributes?: UserAttributes): void;
|
|
16
96
|
/**
|
|
17
97
|
* Get current user ID
|
|
@@ -87,9 +167,45 @@ export declare class EncoreSDK {
|
|
|
87
167
|
*/
|
|
88
168
|
revokeEntitlements(): Promise<boolean>;
|
|
89
169
|
/**
|
|
90
|
-
* Set user attributes (merges with existing attributes)
|
|
170
|
+
* Set user attributes (merges with existing attributes).
|
|
171
|
+
*
|
|
172
|
+
* A `language` here is not kept as an attribute: it is forwarded to
|
|
173
|
+
* `setLanguage()` (see `UserAttributes.language`, deprecated).
|
|
91
174
|
*/
|
|
92
175
|
setUserAttributes(attributes: UserAttributes): void;
|
|
176
|
+
/**
|
|
177
|
+
* Show Encore's copy and offers in `tag`, a BCP 47 language tag such as `'fr'` or
|
|
178
|
+
* `'pt-BR'`, until `clearLanguage()`. Any case is accepted and stored in BCP 47
|
|
179
|
+
* case (`'PT-br'` → `'pt-BR'`), with a deprecated code replaced (`'iw'` →
|
|
180
|
+
* `'he'`); separators are hyphens only.
|
|
181
|
+
*
|
|
182
|
+
* The tag rides the next `/config` and `/offers/search` requests, so the sheet's
|
|
183
|
+
* copy and its offers are always in one language, and analytics events carry the
|
|
184
|
+
* locale the server then serves. Only languages enabled for your app are served;
|
|
185
|
+
* anything else falls back to the browser's `Accept-Language`, then the app's
|
|
186
|
+
* default language. Call it after `configure()`.
|
|
187
|
+
*
|
|
188
|
+
* The choice is kept on this device (localStorage, when the browser allows it)
|
|
189
|
+
* until `clearLanguage()`: a later `configure()`, a reload and `reset()` keep it.
|
|
190
|
+
* A change drops the served strings and the cached copy and offers and asks
|
|
191
|
+
* `/config` again at once; once it answers, the offers are fetched again in the new
|
|
192
|
+
* language and `user_identified` is sent again, as on iOS and Android. Setting the
|
|
193
|
+
* current language again does nothing. A value that is not a well-formed tag
|
|
194
|
+
* (`'pt_BR'`, `'english'`, `' fr'`) is ignored with one console warning, never
|
|
195
|
+
* thrown, and the current language stays. A new identity (`identify()` with
|
|
196
|
+
* another user, `reset()`) keeps it.
|
|
197
|
+
* iOS, Android, React Native and Flutter have the same call.
|
|
198
|
+
*/
|
|
199
|
+
setLanguage(tag: string): void;
|
|
200
|
+
/**
|
|
201
|
+
* Stop choosing a language: forget the `setLanguage()` choice on this device, so
|
|
202
|
+
* copy and offers follow the browser's `Accept-Language` again. Every attribute is
|
|
203
|
+
* kept. Like any language change it drops the served strings and the config and
|
|
204
|
+
* offer caches, and it asks `/config` again at once for the current user (with no
|
|
205
|
+
* `?language=`), then fetches the offers again and identifies again. A no-op when
|
|
206
|
+
* no language was set. iOS, Android, React Native and Flutter have the same call.
|
|
207
|
+
*/
|
|
208
|
+
clearLanguage(): void;
|
|
93
209
|
/**
|
|
94
210
|
* Get current user attributes
|
|
95
211
|
*/
|
|
@@ -99,7 +215,9 @@ export declare class EncoreSDK {
|
|
|
99
215
|
*
|
|
100
216
|
* Resolves 'claimed' when the user claims an offer (a transaction is recorded and
|
|
101
217
|
* the advertiser opens in a new tab), 'dismissed' if the user closes the carousel,
|
|
102
|
-
* or 'unavailable' if there are no eligible offers.
|
|
218
|
+
* or 'unavailable' if there are no eligible offers. A served variant with a
|
|
219
|
+
* post-claim screen keeps the sheet up, as iOS does, and resolves 'claimed' when
|
|
220
|
+
* that sheet closes.
|
|
103
221
|
*
|
|
104
222
|
* @param placementId The publisher's placement label. Attributed on the offers
|
|
105
223
|
* request AND stamped as `placement_id` on every analytics row this
|
|
@@ -193,6 +311,30 @@ export declare class EncoreSDK {
|
|
|
193
311
|
* placement("cancel_flow", { appearance: { ... } })
|
|
194
312
|
*/
|
|
195
313
|
placement(idOrOptions?: string | PlacementOptions, options?: PlacementOptions): IPlacementBuilder;
|
|
314
|
+
/**
|
|
315
|
+
* 🔴 INTERNAL — the render-only preview behind `@encorekit/web-sdk/preview`, its only
|
|
316
|
+
* caller (which owns the session, `ready` and `destroy()`).
|
|
317
|
+
*
|
|
318
|
+
* Runs the REAL presentation (`#runOfferFlow`) on a fresh instance, never the
|
|
319
|
+
* singleton, whose only "network" is `transport`. No analytics client exists, so
|
|
320
|
+
* nothing is tracked, and nothing is stored (claims, the only path that stores, do
|
|
321
|
+
* nothing in a preview).
|
|
322
|
+
*/
|
|
323
|
+
static runPreview(session: PreviewSession, transport: PreviewTransport, useCase: UseCase): {
|
|
324
|
+
flow: Promise<OfferFlowOutcome>;
|
|
325
|
+
stop: () => void;
|
|
326
|
+
};
|
|
327
|
+
}
|
|
328
|
+
/** The preview's stand-in for the API client: the only calls a presentation makes. */
|
|
329
|
+
export type PreviewTransport = Pick<APIClient, 'fetchConfig' | 'fetchOffers' | 'reportError'>;
|
|
330
|
+
/** A preview's hooks into the presentation. */
|
|
331
|
+
export interface PreviewSession {
|
|
332
|
+
/** Where the sheet mounts, inline. */
|
|
333
|
+
mount: HTMLElement | ShadowRoot;
|
|
334
|
+
/** Called once the sheet's content is in the DOM. */
|
|
335
|
+
mounted: () => void;
|
|
336
|
+
/** Set by the presentation: settles it and removes the sheet. */
|
|
337
|
+
end: (() => void) | null;
|
|
196
338
|
}
|
|
197
339
|
export declare const Encore: EncoreSDK;
|
|
198
340
|
//# sourceMappingURL=Encore.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Encore.d.ts","sourceRoot":"","sources":["../../src/core/Encore.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EACV,YAAY,EACZ,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,YAAY,EACZ,WAAW,EACX,mBAAmB,EACnB,kBAAkB,EAClB,gBAAgB,
|
|
1
|
+
{"version":3,"file":"Encore.d.ts","sourceRoot":"","sources":["../../src/core/Encore.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,8 +6,11 @@ import type { APIClient, OffersSearchScope } from '../api/APIClient';
|
|
|
6
6
|
import type { OfferModel } from '../api/models';
|
|
7
7
|
import type { UserAttributes, UseCase } from '../types';
|
|
8
8
|
import type { AnalyticsClient } from '../analytics/AnalyticsClient';
|
|
9
|
+
import { type PresentationTrigger } from '../analytics/events';
|
|
9
10
|
export declare class OfferManager {
|
|
10
11
|
#private;
|
|
12
|
+
/** Test hook: scopes with searches still out. */
|
|
13
|
+
pendingScopeCount(): number;
|
|
11
14
|
constructor(apiClient: APIClient, userId: string, analyticsClient?: AnalyticsClient);
|
|
12
15
|
/**
|
|
13
16
|
* Fetch offers from API with optional caching.
|
|
@@ -22,6 +25,23 @@ export declare class OfferManager {
|
|
|
22
25
|
fetchOffers(userAttributes: UserAttributes, useCache?: boolean, placementId?: string, maxPostbackTimeMs?: number, scope?: OffersSearchScope): Promise<{
|
|
23
26
|
offers: OfferModel[];
|
|
24
27
|
}>;
|
|
28
|
+
/**
|
|
29
|
+
* Warm the cache for `scope` without presenting anything: the set a sheet already on
|
|
30
|
+
* screen reports its analytics against is left alone. Never throws. A set already
|
|
31
|
+
* cached is not fetched again.
|
|
32
|
+
*/
|
|
33
|
+
prefetchOffers(userAttributes: UserAttributes, scope?: OffersSearchScope): Promise<void>;
|
|
34
|
+
/**
|
|
35
|
+
* A trigger's gate: the offers the sheet would show for `scope`.
|
|
36
|
+
* The result is cached under the same key the sheet's own search reads (the scope's
|
|
37
|
+
* `wireVariantId` and `purpose` are not part of it), so a tap that opens the sheet
|
|
38
|
+
* presents these offers without searching again. A set already cached is not
|
|
39
|
+
* fetched again unless `fresh` (after a claim, the held set may still list the
|
|
40
|
+
* claimed offer); a fresh answer replaces it. In strict unlock mode the cache is
|
|
41
|
+
* bypassed and every check searches. Rejects when the search fails; nothing on
|
|
42
|
+
* screen changes.
|
|
43
|
+
*/
|
|
44
|
+
searchForTrigger(userAttributes: UserAttributes, placementId: string | undefined, scope: OffersSearchScope, maxPostbackTimeMs?: number, fresh?: boolean): Promise<OfferModel[]>;
|
|
25
45
|
/**
|
|
26
46
|
* Begin a new presentation session. `variantId` is the SDUI variant this
|
|
27
47
|
* presentation renders — stamped onto every event the session emits — and
|
|
@@ -39,7 +59,7 @@ export declare class OfferManager {
|
|
|
39
59
|
* presentation's own id the same value. Absent a caller-supplied one this still mints,
|
|
40
60
|
* which is the behaviour every non-`show()` entry point relies on.
|
|
41
61
|
*/
|
|
42
|
-
beginPresentation(variantId?: string, useCase?: UseCase, placementId?: string, presentationId?: string): string;
|
|
62
|
+
beginPresentation(variantId?: string, useCase?: UseCase, placementId?: string, presentationId?: string, experimentId?: string): string;
|
|
43
63
|
/**
|
|
44
64
|
* The live presentation's placement label, or undefined when the publisher gave
|
|
45
65
|
* none. Exposed for the strict-unlock pending record, which has to persist the
|
|
@@ -50,9 +70,11 @@ export declare class OfferManager {
|
|
|
50
70
|
/** The live presentation's id, or null between presentations. */
|
|
51
71
|
get presentationId(): string | null;
|
|
52
72
|
/**
|
|
53
|
-
* Track that an offer was presented
|
|
73
|
+
* Track that an offer was presented. Sent at most once per impression id; a repeat
|
|
74
|
+
* (a later view after a claim sent it, a second claim) is a no-op.
|
|
75
|
+
* `presentationTrigger` is `'claim'` when a claim sends it before any view did.
|
|
54
76
|
*/
|
|
55
|
-
trackOfferPresented(offer: OfferModel, impressionId: string, offerIndex: number, totalOffers: number, useCase?: UseCase): void;
|
|
77
|
+
trackOfferPresented(offer: OfferModel, impressionId: string, offerIndex: number, totalOffers: number, useCase?: UseCase, presentationTrigger?: PresentationTrigger, imageCacheHit?: boolean): void;
|
|
56
78
|
/**
|
|
57
79
|
* Track that a user navigated away from an offer (pause time tracking)
|
|
58
80
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OfferManager.d.ts","sourceRoot":"","sources":["../../src/core/OfferManager.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AACxD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"OfferManager.d.ts","sourceRoot":"","sources":["../../src/core/OfferManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Placement Builder
|
|
3
3
|
* Fluent API for configuring and presenting offers
|
|
4
4
|
*/
|
|
5
|
-
import type { PlacementBuilder as IPlacementBuilder, PlacementOptions, RedeemResult, ShowResult, NotGrantedReason, UseCase } from '../types';
|
|
5
|
+
import type { PlacementBuilder as IPlacementBuilder, PlacementOptions, PublisherReward, RedeemResult, ShowResult, NotGrantedReason, UseCase } from '../types';
|
|
6
6
|
export type PresentationExecutor = (options?: PlacementOptions) => Promise<ShowResult>;
|
|
7
7
|
export type RedemptionExecutor = (placementId: string) => Promise<RedeemResult>;
|
|
8
8
|
export declare class PlacementBuilder implements IPlacementBuilder {
|
|
@@ -25,6 +25,11 @@ export declare class PlacementBuilder implements IPlacementBuilder {
|
|
|
25
25
|
headline(text: string): PlacementBuilder;
|
|
26
26
|
/** Counterpart to {@link headline}: same precedence, same blank-falls-through rule. */
|
|
27
27
|
subheadline(text: string): PlacementBuilder;
|
|
28
|
+
/**
|
|
29
|
+
* Your own prize for trying an offer here; the same as `PlacementOptions.publisherReward`.
|
|
30
|
+
* Passed to the sheet, which does not yet draw or grant it on web.
|
|
31
|
+
*/
|
|
32
|
+
publisherReward(reward: PublisherReward): PlacementBuilder;
|
|
28
33
|
/**
|
|
29
34
|
* Set callback for when user declines or offer not granted
|
|
30
35
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PlacementBuilder.d.ts","sourceRoot":"","sources":["../../src/core/PlacementBuilder.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EACV,gBAAgB,IAAI,iBAAiB,EACrC,gBAAgB,EAChB,YAAY,EACZ,UAAU,EACV,gBAAgB,EAChB,OAAO,EACR,MAAM,UAAU,CAAC;AAIlB,MAAM,MAAM,oBAAoB,GAAG,CAAC,OAAO,CAAC,EAAE,gBAAgB,KAAK,OAAO,CAAC,UAAU,CAAC,CAAC;AACvF,MAAM,MAAM,kBAAkB,GAAG,CAAC,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC,YAAY,CAAC,CAAC;AAEhF,qBAAa,gBAAiB,YAAW,iBAAiB;;gBAatD,EAAE,EAAE,MAAM,EACV,QAAQ,EAAE,oBAAoB,EAC9B,OAAO,EAAE,gBAAgB,GAAG,SAAS,EACrC,QAAQ,EAAE,kBAAkB;IAQ9B;;;OAGG;IACH,OAAO,CAAC,OAAO,EAAE,OAAO,GAAG,gBAAgB;IAK3C;;;;;;;;OAQG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,gBAAgB;IAKxC,uFAAuF;IACvF,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,gBAAgB;IAK3C;;OAEG;IACH,YAAY,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,gBAAgB,KAAK,IAAI,GAAG,gBAAgB;IAK5E;;OAEG;IACH,oBAAoB,CAAC,QAAQ,EAAE,CAAC,SAAS,EAAE,OAAO,KAAK,IAAI,GAAG,gBAAgB;IAK9E;;;;;OAKG;IACG,IAAI,IAAI,OAAO,CAAC,UAAU,CAAC;IA8CjC;;;;;;;;;OASG;IACG,MAAM,IAAI,OAAO,CAAC,YAAY,CAAC;CAItC"}
|
|
1
|
+
{"version":3,"file":"PlacementBuilder.d.ts","sourceRoot":"","sources":["../../src/core/PlacementBuilder.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EACV,gBAAgB,IAAI,iBAAiB,EACrC,gBAAgB,EAChB,eAAe,EACf,YAAY,EACZ,UAAU,EACV,gBAAgB,EAChB,OAAO,EACR,MAAM,UAAU,CAAC;AAIlB,MAAM,MAAM,oBAAoB,GAAG,CAAC,OAAO,CAAC,EAAE,gBAAgB,KAAK,OAAO,CAAC,UAAU,CAAC,CAAC;AACvF,MAAM,MAAM,kBAAkB,GAAG,CAAC,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC,YAAY,CAAC,CAAC;AAEhF,qBAAa,gBAAiB,YAAW,iBAAiB;;gBAatD,EAAE,EAAE,MAAM,EACV,QAAQ,EAAE,oBAAoB,EAC9B,OAAO,EAAE,gBAAgB,GAAG,SAAS,EACrC,QAAQ,EAAE,kBAAkB;IAQ9B;;;OAGG;IACH,OAAO,CAAC,OAAO,EAAE,OAAO,GAAG,gBAAgB;IAK3C;;;;;;;;OAQG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,gBAAgB;IAKxC,uFAAuF;IACvF,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,gBAAgB;IAK3C;;;OAGG;IACH,eAAe,CAAC,MAAM,EAAE,eAAe,GAAG,gBAAgB;IAK1D;;OAEG;IACH,YAAY,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,gBAAgB,KAAK,IAAI,GAAG,gBAAgB;IAK5E;;OAEG;IACH,oBAAoB,CAAC,QAAQ,EAAE,CAAC,SAAS,EAAE,OAAO,KAAK,IAAI,GAAG,gBAAgB;IAK9E;;;;;OAKG;IACG,IAAI,IAAI,OAAO,CAAC,UAAU,CAAC;IA8CjC;;;;;;;;;OASG;IACG,MAAM,IAAI,OAAO,CAAC,YAAY,CAAC;CAItC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SignalManager.d.ts","sourceRoot":"","sources":["../../src/core/SignalManager.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AASlD,UAAU,WAAW;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,aAAa,GAAG,OAAO,CAAC;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;
|
|
1
|
+
{"version":3,"file":"SignalManager.d.ts","sourceRoot":"","sources":["../../src/core/SignalManager.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AASlD,UAAU,WAAW;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,aAAa,GAAG,OAAO,CAAC;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAaD,qBAAa,aAAa;;gBAUZ,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM;IAezE;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IA+C/B;;OAEG;IACH,OAAO,CAAC,aAAa,EAAE,MAAM,EAAE,SAAS,EAAE,aAAa,GAAG,OAAO,GAAG,IAAI;IA+BxE;;OAEG;IACH,OAAO,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI;IAmBlC;;OAEG;IACH,QAAQ,IAAI,WAAW,EAAE;IAIzB;;OAEG;IACH,UAAU,IAAI,IAAI;IAMlB;;OAEG;IACG,eAAe,CAAC,aAAa,EAAE,MAAM,EAAE,SAAS,EAAE,aAAa,GAAG,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAiB/F;;OAEG;IACG,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IA0GnC;;OAEG;IACH,OAAO,IAAI,IAAI;CAchB"}
|
|
@@ -22,9 +22,10 @@ export declare class StorageManager {
|
|
|
22
22
|
*/
|
|
23
23
|
remove(key: string): void;
|
|
24
24
|
/**
|
|
25
|
-
* Clear all Encore-prefixed items from storage
|
|
25
|
+
* Clear all Encore-prefixed items from storage, except those `keep` (given the
|
|
26
|
+
* unprefixed key) returns true for.
|
|
26
27
|
*/
|
|
27
|
-
clear(): void;
|
|
28
|
+
clear(keep?: (key: string) => boolean): void;
|
|
28
29
|
/**
|
|
29
30
|
* Get the current storage type being used
|
|
30
31
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StorageManager.d.ts","sourceRoot":"","sources":["../../src/core/StorageManager.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,KAAK,WAAW,GAAG,cAAc,GAAG,gBAAgB,GAAG,QAAQ,CAAC;AAIhE,qBAAa,cAAc;;;
|
|
1
|
+
{"version":3,"file":"StorageManager.d.ts","sourceRoot":"","sources":["../../src/core/StorageManager.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,KAAK,WAAW,GAAG,cAAc,GAAG,gBAAgB,GAAG,QAAQ,CAAC;AAIhE,qBAAa,cAAc;;;IA2EzB;;;OAGG;IACH,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI;IAoCnC;;;OAGG;IACH,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,CAAC,GAAG,IAAI;IA+B7B;;OAEG;IACH,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAkBzB;;;OAGG;IACH,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,GAAG,IAAI;IA+B5C;;OAEG;IACH,cAAc,IAAI,WAAW;CAG9B"}
|
|
@@ -59,7 +59,7 @@ export declare class StrictUnlockReconciler {
|
|
|
59
59
|
* their unlock silently never lands. reset() is the destructive path, and it
|
|
60
60
|
* clears storage before this runs, so nothing carries over there.
|
|
61
61
|
*/
|
|
62
|
-
setUserId(userId: string): void;
|
|
62
|
+
setUserId(userId: string, carryPending?: boolean): void;
|
|
63
63
|
/**
|
|
64
64
|
* Record a claim as awaiting verification. Called as soon as the transaction id
|
|
65
65
|
* exists and BEFORE the advertiser redirect opens, so a tab closed one moment
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StrictUnlockReconciler.d.ts","sourceRoot":"","sources":["../../src/core/StrictUnlockReconciler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAIlD,OAAO,KAAK,EAAE,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"StrictUnlockReconciler.d.ts","sourceRoot":"","sources":["../../src/core/StrictUnlockReconciler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAIlD,OAAO,KAAK,EAAE,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAY5D,MAAM,WAAW,YAAY;IAC3B,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB;;;;;;;OAOG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B;;;;;;;;;;;;;;;OAeG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,qBAAa,sBAAsB;;gBAKrB,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM;IAMzE;;;;;;;;;;OAUG;IACH,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,UAAO,GAAG,IAAI;IASpD;;;;OAIG;IACH,WAAW,CACT,aAAa,EAAE,MAAM,EACrB,OAAO,CAAC,EAAE;QAAE,iBAAiB,CAAC,EAAE,OAAO,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,GACjF,IAAI;IAgBP,2EAA2E;IAC3E,YAAY,IAAI,IAAI;IAKpB;;;;;;;;;OASG;IACH,UAAU,IAAI,YAAY,GAAG,IAAI;IAsCjC;;;;;OAKG;IACG,MAAM,CAAC,aAAa,EAAE,MAAM,EAAE,SAAS,GAAE,MAAwB,GAAG,OAAO,CAAC,kBAAkB,CAAC;CAiBtG"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The `EncoreClaim` handle a host app holds for its own gifts button or claim reminder
|
|
3
|
+
* (`Encore.claim`). INTERNAL module, public object.
|
|
4
|
+
*
|
|
5
|
+
* This part is in the core bundle and stays small: the state and its listeners, and
|
|
6
|
+
* `bind()`'s DOM wiring (visibility, click, Enter/Space). Everything that decides
|
|
7
|
+
* (the sheet gate, the claim log, impressions, events, the tap and its sheet) is the
|
|
8
|
+
* controller in `triggers/host/customClaim.ts`, loaded on first use. Until it is
|
|
9
|
+
* attached the state is `hidden`, a tap resolves `unavailable`, and visibility is kept
|
|
10
|
+
* for it.
|
|
11
|
+
*/
|
|
12
|
+
import type { ClaimTarget, EncoreClaim, EncoreClaimState, ShowResult } from '../types';
|
|
13
|
+
/** What the handle needs from its controller once loaded. */
|
|
14
|
+
export interface ClaimController {
|
|
15
|
+
/**
|
|
16
|
+
* `covered`: whether something the app presents sits over every bound element that is
|
|
17
|
+
* on screen (asked when an impression's dwell starts and ends); never covered with no
|
|
18
|
+
* bound element.
|
|
19
|
+
*/
|
|
20
|
+
setVisible(fraction: number, covered?: () => boolean): void;
|
|
21
|
+
tap(target: ClaimTarget | undefined): Promise<ShowResult>;
|
|
22
|
+
dismiss(): void;
|
|
23
|
+
destroy(): void;
|
|
24
|
+
}
|
|
25
|
+
export declare class ClaimHandle implements EncoreClaim {
|
|
26
|
+
#private;
|
|
27
|
+
constructor(onDestroy?: () => void);
|
|
28
|
+
get state(): EncoreClaimState;
|
|
29
|
+
get destroyed(): boolean;
|
|
30
|
+
/** INTERNAL: the controller loaded. It hears the visibility reported so far. */
|
|
31
|
+
attach(controller: ClaimController): void;
|
|
32
|
+
/** INTERNAL: the controller's new state. Listeners hear it only when it changed. */
|
|
33
|
+
setState(next: EncoreClaimState): void;
|
|
34
|
+
subscribe(listener: (state: EncoreClaimState) => void): () => void;
|
|
35
|
+
setVisible(fraction: number): void;
|
|
36
|
+
tap(target?: ClaimTarget): Promise<ShowResult>;
|
|
37
|
+
dismiss(): void;
|
|
38
|
+
bind(element: HTMLElement, options?: {
|
|
39
|
+
target?: ClaimTarget;
|
|
40
|
+
tap?: boolean;
|
|
41
|
+
}): () => void;
|
|
42
|
+
destroy(): void;
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=claimHandle.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"claimHandle.d.ts","sourceRoot":"","sources":["../../src/core/claimHandle.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAKvF,6DAA6D;AAC7D,MAAM,WAAW,eAAe;IAC9B;;;;OAIG;IACH,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,OAAO,GAAG,IAAI,CAAC;IAC5D,GAAG,CAAC,MAAM,EAAE,WAAW,GAAG,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IAC1D,OAAO,IAAI,IAAI,CAAC;IAChB,OAAO,IAAI,IAAI,CAAC;CACjB;AAiDD,qBAAa,WAAY,YAAW,WAAW;;gBAiBjC,SAAS,CAAC,EAAE,MAAM,IAAI;IAIlC,IAAI,KAAK,IAAI,gBAAgB,CAE5B;IAED,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED,gFAAgF;IAChF,MAAM,CAAC,UAAU,EAAE,eAAe,GAAG,IAAI;IASzC,oFAAoF;IACpF,QAAQ,CAAC,IAAI,EAAE,gBAAgB,GAAG,IAAI;IAYtC,SAAS,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,gBAAgB,KAAK,IAAI,GAAG,MAAM,IAAI;IAoClE,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAMlC,GAAG,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC;IAU9C,OAAO,IAAI,IAAI;IASf,IAAI,CAAC,OAAO,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAC;QAAC,GAAG,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,MAAM,IAAI;IAuHzF,OAAO,IAAI,IAAI;CAqBhB"}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The on-device claim log: the claims this browser saw a user make in any Encore
|
|
3
|
+
* sheet, so a GiftsButton spot can turn into the claim reminder right after a claim and
|
|
4
|
+
* after a reload. INTERNAL. Never sent to the server; once the claims API is bound its
|
|
5
|
+
* list wins for the same transaction (see `mergeReminderClaims`).
|
|
6
|
+
*
|
|
7
|
+
* Kept per user id, at most 50 rows each, for 720 hours. localStorage when it works,
|
|
8
|
+
* and always a copy in memory, so a page whose storage throws still remembers its own
|
|
9
|
+
* claims. `reset()` clears it; an anonymous user's rows move to the id they identify as.
|
|
10
|
+
*/
|
|
11
|
+
import type { ReminderClaim } from '../triggers/claimReminder/source';
|
|
12
|
+
/** One claim as the log keeps it. */
|
|
13
|
+
export interface ClaimLogRow {
|
|
14
|
+
/** The transaction id, or `campaign:<campaignId>` when the claim had none. */
|
|
15
|
+
id: string;
|
|
16
|
+
transactionId?: string;
|
|
17
|
+
campaignId: string;
|
|
18
|
+
advertiserName: string;
|
|
19
|
+
logoUrl?: string;
|
|
20
|
+
/** The offer's perk as the sheet showed it ("3 months free"), in the language of that sheet. */
|
|
21
|
+
perk?: string;
|
|
22
|
+
/** Epoch ms. */
|
|
23
|
+
claimedAt: number;
|
|
24
|
+
useCase: string;
|
|
25
|
+
placement?: string;
|
|
26
|
+
/** Ended (completed, expired or failed): no longer a claim to remind about. */
|
|
27
|
+
finished?: true;
|
|
28
|
+
/** Epoch ms the claim was completed (verified or granted). Absent when open, or when it only ended. */
|
|
29
|
+
completedAt?: number;
|
|
30
|
+
/** Epoch ms the thanks look (or `Encore.claim`'s thanks state) for this completion was tapped. */
|
|
31
|
+
thanksTappedAt?: number;
|
|
32
|
+
}
|
|
33
|
+
/** Where the log persists. StorageManager's `get` and `set`; either may fail silently. */
|
|
34
|
+
export interface ClaimLogStore {
|
|
35
|
+
get<T>(key: string): T | null;
|
|
36
|
+
set<T>(key: string, value: T): void;
|
|
37
|
+
remove(key: string): void;
|
|
38
|
+
}
|
|
39
|
+
export declare const CLAIM_LOG_KEY = "claim_log";
|
|
40
|
+
export declare const CLAIM_LOG_MAX_ROWS = 50;
|
|
41
|
+
export declare const CLAIM_LOG_RETENTION_MS: number;
|
|
42
|
+
/** A local row the server's fresh list leaves out is dropped once it is this old. */
|
|
43
|
+
export declare const SERVER_LAG_MS: number;
|
|
44
|
+
export declare class ClaimLog {
|
|
45
|
+
#private;
|
|
46
|
+
constructor(store: ClaimLogStore, now?: () => number);
|
|
47
|
+
/** Note a claim. A claim with no advertiser name is kept but never reminded about. */
|
|
48
|
+
record(userId: string, claim: Omit<ClaimLogRow, 'id' | 'claimedAt'> & {
|
|
49
|
+
claimedAt?: number;
|
|
50
|
+
}): void;
|
|
51
|
+
/**
|
|
52
|
+
* Mark a claim ended: the reminder no longer shows it. `completed` (verified, granted)
|
|
53
|
+
* also stamps when, for what a spot shows after a completion; expired and failed end it
|
|
54
|
+
* without one.
|
|
55
|
+
* Returns whether anything changed.
|
|
56
|
+
*/
|
|
57
|
+
finish(transactionId: string, completed?: boolean): boolean;
|
|
58
|
+
/**
|
|
59
|
+
* This user completed a claim on `now`'s local day and has made none since
|
|
60
|
+
* (an `Encore.claim` view whose rules say `afterComplete: hide`).
|
|
61
|
+
*/
|
|
62
|
+
completedToday(userId: string, now: number): boolean;
|
|
63
|
+
/**
|
|
64
|
+
* As `completedToday`, and the thanks look for that completion has not been tapped
|
|
65
|
+
* yet: a trigger's `completed` state, and an `Encore.claim` view whose rules say `afterComplete: thanks`.
|
|
66
|
+
*/
|
|
67
|
+
thanksDue(userId: string, now: number): boolean;
|
|
68
|
+
/**
|
|
69
|
+
* The completion `thanksDue` is for, so each completion counts its own view and marks
|
|
70
|
+
* its own hide: its claim's transaction id, else its completion time in epoch ms. Else null.
|
|
71
|
+
*/
|
|
72
|
+
thanksFor(userId: string, now: number): string | null;
|
|
73
|
+
/** The thanks look was tapped: it ends for this user's latest completion. */
|
|
74
|
+
thanksTapped(userId: string): void;
|
|
75
|
+
/** This user's open claims (not finished), newest first. */
|
|
76
|
+
open(userId: string): ClaimLogRow[];
|
|
77
|
+
/** Whether this user's claim for `transactionId` is in the log and ended. */
|
|
78
|
+
finished(userId: string, transactionId: string): boolean;
|
|
79
|
+
/** An anonymous user identified: their rows become the identified user's. */
|
|
80
|
+
carryOver(fromUserId: string, toUserId: string): void;
|
|
81
|
+
/**
|
|
82
|
+
* Forget every row (reset). Another tab's in-memory copy can write its rows back on
|
|
83
|
+
* its next write; accepted, since that tab is the same browser and its next reset or
|
|
84
|
+
* reload clears it.
|
|
85
|
+
*/
|
|
86
|
+
clear(): void;
|
|
87
|
+
/**
|
|
88
|
+
* TEST AND DEMO ONLY: move every row of this user `ms` into the past, so a reminder
|
|
89
|
+
* window can be ended without waiting.
|
|
90
|
+
*/
|
|
91
|
+
age(userId: string, ms: number): void;
|
|
92
|
+
}
|
|
93
|
+
/** A log row as the reminder reads a claim. */
|
|
94
|
+
export declare function reminderClaimOf(row: ClaimLogRow): ReminderClaim;
|
|
95
|
+
/**
|
|
96
|
+
* The reminder's claims: the claims API's list when one is bound, plus local rows it
|
|
97
|
+
* does not have yet. The server wins for the same transaction; a local row the server
|
|
98
|
+
* does not list is kept only while it is younger than `SERVER_LAG_MS` (the server may
|
|
99
|
+
* not have it yet), then dropped. A row without a transaction id matches by campaign.
|
|
100
|
+
*/
|
|
101
|
+
export declare function mergeReminderClaims(local: readonly ClaimLogRow[], server: readonly ReminderClaim[] | null, now: number): ReminderClaim[];
|
|
102
|
+
//# sourceMappingURL=claimLog.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"claimLog.d.ts","sourceRoot":"","sources":["../../src/core/claimLog.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AAEtE,qCAAqC;AACrC,MAAM,WAAW,WAAW;IAC1B,8EAA8E;IAC9E,EAAE,EAAE,MAAM,CAAC;IACX,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gGAAgG;IAChG,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,gBAAgB;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,+EAA+E;IAC/E,QAAQ,CAAC,EAAE,IAAI,CAAC;IAChB,uGAAuG;IACvG,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kGAAkG;IAClG,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,0FAA0F;AAC1F,MAAM,WAAW,aAAa;IAC5B,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC;IAC9B,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC;IACpC,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED,eAAO,MAAM,aAAa,cAAc,CAAC;AACzC,eAAO,MAAM,kBAAkB,KAAK,CAAC;AACrC,eAAO,MAAM,sBAAsB,QAAuB,CAAC;AAC3D,qFAAqF;AACrF,eAAO,MAAM,aAAa,QAAiB,CAAC;AAgF5C,qBAAa,QAAQ;;gBAMP,KAAK,EAAE,aAAa,EAAE,GAAG,GAAE,MAAM,MAAyB;IA+BtE,sFAAsF;IACtF,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,GAAG,WAAW,CAAC,GAAG;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAcnG;;;;;OAKG;IACH,MAAM,CAAC,aAAa,EAAE,MAAM,EAAE,SAAS,UAAO,GAAG,OAAO;IAsBxD;;;OAGG;IACH,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO;IAQpD;;;OAGG;IACH,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO;IAI/C;;;OAGG;IACH,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAUrD,6EAA6E;IAC7E,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IA4BlC,4DAA4D;IAC5D,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,WAAW,EAAE;IAQnC,6EAA6E;IAC7E,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO;IAQxD,6EAA6E;IAC7E,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI;IAcrD;;;;OAIG;IACH,KAAK,IAAI,IAAI;IASb;;;OAGG;IACH,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,IAAI;CAWtC;AAED,+CAA+C;AAC/C,wBAAgB,eAAe,CAAC,GAAG,EAAE,WAAW,GAAG,aAAa,CAU/D;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,SAAS,WAAW,EAAE,EAC7B,MAAM,EAAE,SAAS,aAAa,EAAE,GAAG,IAAI,EACvC,GAAG,EAAE,MAAM,GACV,aAAa,EAAE,CASjB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"claimRefusal.d.ts","sourceRoot":"","sources":["../../src/core/claimRefusal.ts"],"names":[],"mappings":"AAeA,iFAAiF;AACjF,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAIjE"}
|