@salesforce/lds-worker-api 1.395.0 → 1.397.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.
|
@@ -1371,4 +1371,4 @@ if (process.env.NODE_ENV !== 'production') {
|
|
|
1371
1371
|
}
|
|
1372
1372
|
|
|
1373
1373
|
export { createPrimingSession, draftManager, draftQueue, evictCacheRecordsByIds, evictExpiredCacheEntries, executeAdapter, executeMutatingAdapter, getImperativeAdapterNames, importLuvioAdapterModule, importOneStoreAdapterModule, invokeAdapter, invokeAdapterWithDraftToMerge, invokeAdapterWithDraftToReplace, invokeAdapterWithMetadata, nimbusDraftQueue, setMetadataTTL, setUiApiRecordTTL, stopEviction, subscribeToAdapter };
|
|
1374
|
-
// version: 1.
|
|
1374
|
+
// version: 1.397.0-08bd11d0bc
|
|
@@ -4274,7 +4274,7 @@ function withDefaultLuvio(callback) {
|
|
|
4274
4274
|
}
|
|
4275
4275
|
callbacks.push(callback);
|
|
4276
4276
|
}
|
|
4277
|
-
// version: 1.
|
|
4277
|
+
// version: 1.397.0-08bd11d0bc
|
|
4278
4278
|
|
|
4279
4279
|
// TODO [TD-0081508]: once that TD is fulfilled we can probably change this file
|
|
4280
4280
|
function instrumentAdapter$1(createFunction, _metadata) {
|
|
@@ -5318,7 +5318,7 @@ function createGraphQLWireAdapterConstructor(luvio, adapter, metadata, astResolv
|
|
|
5318
5318
|
const { apiFamily, name } = metadata;
|
|
5319
5319
|
return createGraphQLWireAdapterConstructor$1(adapter, `${apiFamily}.${name}`, luvio, astResolver);
|
|
5320
5320
|
}
|
|
5321
|
-
// version: 1.
|
|
5321
|
+
// version: 1.397.0-08bd11d0bc
|
|
5322
5322
|
|
|
5323
5323
|
/**
|
|
5324
5324
|
* Copyright (c) 2022, Salesforce, Inc.,
|
|
@@ -34154,7 +34154,7 @@ withDefaultLuvio((luvio) => {
|
|
|
34154
34154
|
throttle(60, 60000, setupNotifyAllListRecordUpdateAvailable(luvio));
|
|
34155
34155
|
throttle(60, 60000, setupNotifyAllListInfoSummaryUpdateAvailable(luvio));
|
|
34156
34156
|
});
|
|
34157
|
-
// version: 1.
|
|
34157
|
+
// version: 1.397.0-006831ea37
|
|
34158
34158
|
|
|
34159
34159
|
function requestIdleDetectedCallback(_callback) { }
|
|
34160
34160
|
function declareNotifierTaskSingle(_name) {
|
|
@@ -94328,6 +94328,14 @@ class CacheControlRequestRunner {
|
|
|
94328
94328
|
}
|
|
94329
94329
|
}
|
|
94330
94330
|
class CacheControlCommand extends BaseCommand {
|
|
94331
|
+
/**
|
|
94332
|
+
* Creates a new CacheControlCommand instance
|
|
94333
|
+
*
|
|
94334
|
+
* @param services - Required services including cache controller and optional pub/sub service
|
|
94335
|
+
* @param services.cacheController - The cache controller service for managing cache operations
|
|
94336
|
+
* @param services.pubSub - Optional pub/sub service for cache invalidation notifications
|
|
94337
|
+
* @param services - Additional services specific to the implementation
|
|
94338
|
+
*/
|
|
94331
94339
|
constructor(services) {
|
|
94332
94340
|
super();
|
|
94333
94341
|
this.services = services;
|
|
@@ -94335,16 +94343,31 @@ class CacheControlCommand extends BaseCommand {
|
|
|
94335
94343
|
this.keysUpdated = void 0;
|
|
94336
94344
|
this._isInternalExecution = false;
|
|
94337
94345
|
this.lastResult = void 0;
|
|
94338
|
-
this.
|
|
94346
|
+
this.unsubscribers = [];
|
|
94339
94347
|
this.subscriptions = [];
|
|
94340
94348
|
this.instantiationTime = Date.now() / 1e3;
|
|
94341
94349
|
}
|
|
94342
94350
|
get isInternalExecution() {
|
|
94343
94351
|
return this._isInternalExecution;
|
|
94344
94352
|
}
|
|
94353
|
+
/**
|
|
94354
|
+
* Executes the cache control command with optional overrides
|
|
94355
|
+
*
|
|
94356
|
+
* This method orchestrates the cache control flow by:
|
|
94357
|
+
* 1. Clearing any existing subscriptions
|
|
94358
|
+
* 2. Merging configuration overrides with the base strategy config
|
|
94359
|
+
* 3. Building a request runner for cache operations
|
|
94360
|
+
* 4. Executing the cache controller with the request runner
|
|
94361
|
+
* 5. Handling the result and setting up subscriptions if needed
|
|
94362
|
+
*
|
|
94363
|
+
* @param overrides - Optional execution overrides including timestamp and cache control config
|
|
94364
|
+
* @param overrides.now - Override the current timestamp for cache control calculations
|
|
94365
|
+
* @param overrides.cacheControlConfig - Override cache control strategy configuration
|
|
94366
|
+
* @returns A subscribable result containing either the cached/network data or an error
|
|
94367
|
+
*/
|
|
94345
94368
|
execute(overrides) {
|
|
94346
94369
|
this.keysUpdated = void 0;
|
|
94347
|
-
this.
|
|
94370
|
+
this.unsubscribe();
|
|
94348
94371
|
const mergedCacheControlConfig = mergeCacheControlConfigs(
|
|
94349
94372
|
this.cacheControlStrategyConfig,
|
|
94350
94373
|
overrides
|
|
@@ -94366,6 +94389,17 @@ class CacheControlCommand extends BaseCommand {
|
|
|
94366
94389
|
});
|
|
94367
94390
|
});
|
|
94368
94391
|
}
|
|
94392
|
+
/**
|
|
94393
|
+
* Handles the result from the cache controller and builds the appropriate subscribable result
|
|
94394
|
+
*
|
|
94395
|
+
* This method processes the cache controller execution result and determines the appropriate
|
|
94396
|
+
* response based on network errors, cache errors, and available data. It handles graceful
|
|
94397
|
+
* degradation scenarios where network data is available even when cache operations fail.
|
|
94398
|
+
*
|
|
94399
|
+
* @param result - The result from the cache controller execution
|
|
94400
|
+
* @param requestRunner - The request runner containing network data and errors
|
|
94401
|
+
* @returns A subscribable result with the appropriate data or error
|
|
94402
|
+
*/
|
|
94369
94403
|
handleCacheControllerResult(result, requestRunner) {
|
|
94370
94404
|
const { networkError, networkData, returnData } = requestRunner;
|
|
94371
94405
|
return this.publishUpdatedKeys().then(() => {
|
|
@@ -94401,11 +94435,21 @@ class CacheControlCommand extends BaseCommand {
|
|
|
94401
94435
|
);
|
|
94402
94436
|
}
|
|
94403
94437
|
if (this.subscriptions.length > 0) {
|
|
94404
|
-
this.
|
|
94438
|
+
this.subscribe();
|
|
94405
94439
|
}
|
|
94406
94440
|
return returnData;
|
|
94407
94441
|
});
|
|
94408
94442
|
}
|
|
94443
|
+
/**
|
|
94444
|
+
* Builds a request runner that orchestrates cache read, network request, and cache write operations
|
|
94445
|
+
*
|
|
94446
|
+
* The request runner encapsulates the three main operations:
|
|
94447
|
+
* 1. Reading from cache with subscription setup
|
|
94448
|
+
* 2. Requesting data from the network
|
|
94449
|
+
* 3. Writing network results to cache and recording keys
|
|
94450
|
+
*
|
|
94451
|
+
* @returns A configured request runner for the cache controller
|
|
94452
|
+
*/
|
|
94409
94453
|
buildRequestRunner() {
|
|
94410
94454
|
return new CacheControlRequestRunner(
|
|
94411
94455
|
(cache) => this.buildResultWithSubscribe(cache),
|
|
@@ -94413,6 +94457,15 @@ class CacheControlCommand extends BaseCommand {
|
|
|
94413
94457
|
(cache, networkResult) => this.writeToCacheAndRecordKeys(cache, networkResult)
|
|
94414
94458
|
);
|
|
94415
94459
|
}
|
|
94460
|
+
/**
|
|
94461
|
+
* Publishes cache update events for keys that were modified during the operation
|
|
94462
|
+
*
|
|
94463
|
+
* This method notifies other parts of the system about cache changes by publishing
|
|
94464
|
+
* a 'cacheUpdate' event with the set of keys that were updated. This enables
|
|
94465
|
+
* cache invalidation and reactive updates across the application.
|
|
94466
|
+
*
|
|
94467
|
+
* @returns A promise that resolves when the update event is published (or immediately if no pub/sub service)
|
|
94468
|
+
*/
|
|
94416
94469
|
publishUpdatedKeys() {
|
|
94417
94470
|
if (this.services.pubSub) {
|
|
94418
94471
|
if (this.keysUpdated !== void 0 && this.keysUpdated.size > 0) {
|
|
@@ -94427,11 +94480,25 @@ class CacheControlCommand extends BaseCommand {
|
|
|
94427
94480
|
get operationType() {
|
|
94428
94481
|
return "query";
|
|
94429
94482
|
}
|
|
94430
|
-
|
|
94431
|
-
|
|
94483
|
+
/**
|
|
94484
|
+
* Subscribes to cache update and invalidation events for reactive updates
|
|
94485
|
+
*
|
|
94486
|
+
* This method sets up subscriptions to listen for changes that affect the data returned
|
|
94487
|
+
* by this Command.
|
|
94488
|
+
*
|
|
94489
|
+
* By default, it subscribes to two types of events on the PubSub service:
|
|
94490
|
+
* - 'cacheUpdate': Triggers a rebuild with the original instantiation time
|
|
94491
|
+
* - 'cacheInvalidation': Triggers a full refresh without time constraints
|
|
94492
|
+
*
|
|
94493
|
+
* This method can be extended by subclasses to add additional subscriptions.
|
|
94494
|
+
*
|
|
94495
|
+
* Note: ALL subscriptions should push an unsubscribe function to the unsubscribers array,
|
|
94496
|
+
* for the lifecycle to work correctly and avoid memory leaks.
|
|
94497
|
+
*/
|
|
94498
|
+
subscribe() {
|
|
94499
|
+
this.unsubscribe();
|
|
94432
94500
|
const { pubSub } = this.services;
|
|
94433
94501
|
if (!pubSub) {
|
|
94434
|
-
this.unsubscribeFromKeysImpl = () => void 0;
|
|
94435
94502
|
return;
|
|
94436
94503
|
}
|
|
94437
94504
|
const rebuildUnsubscribe = pubSub.subscribe({
|
|
@@ -94446,21 +94513,58 @@ class CacheControlCommand extends BaseCommand {
|
|
|
94446
94513
|
callback: () => this.rerun().then(() => void 0),
|
|
94447
94514
|
keys: this.keysUsed
|
|
94448
94515
|
});
|
|
94449
|
-
this.
|
|
94450
|
-
rebuildUnsubscribe();
|
|
94451
|
-
refreshUnsubscribe();
|
|
94452
|
-
};
|
|
94453
|
-
return;
|
|
94516
|
+
this.unsubscribers.push(rebuildUnsubscribe, refreshUnsubscribe);
|
|
94454
94517
|
}
|
|
94455
|
-
|
|
94456
|
-
|
|
94518
|
+
/**
|
|
94519
|
+
* Unsubscribes from all stored subscriptions
|
|
94520
|
+
*
|
|
94521
|
+
* This method calls all stored unsubscribe functions to clean up event listeners
|
|
94522
|
+
* and prevent memory leaks. It should be called when the command is no longer
|
|
94523
|
+
* needed and is also called before setting up new subscriptions.
|
|
94524
|
+
*/
|
|
94525
|
+
unsubscribe() {
|
|
94526
|
+
while (this.unsubscribers.length > 0) {
|
|
94527
|
+
const unsubscriber = this.unsubscribers.pop();
|
|
94528
|
+
unsubscriber == null ? void 0 : unsubscriber();
|
|
94529
|
+
}
|
|
94457
94530
|
}
|
|
94458
|
-
|
|
94531
|
+
/**
|
|
94532
|
+
* Compares two result values for equality to determine if a cache update should trigger a rerun
|
|
94533
|
+
*
|
|
94534
|
+
* This method is used to prevent unnecessary reruns when the cached data hasn't actually changed.
|
|
94535
|
+
* The default implementation uses deep equality comparison, but subclasses can override this
|
|
94536
|
+
* to provide more efficient or domain-specific comparison logic.
|
|
94537
|
+
*
|
|
94538
|
+
* @param result1 - The first result to compare
|
|
94539
|
+
* @param result2 - The second result to compare
|
|
94540
|
+
* @returns True if the results are equal, false otherwise
|
|
94541
|
+
*
|
|
94542
|
+
* @todo This should likely be abstract in v2. For v1, provide default comparison logic.
|
|
94543
|
+
*/
|
|
94459
94544
|
equals(result1, result2) {
|
|
94460
94545
|
return deepEquals$1(result1, result2);
|
|
94461
94546
|
}
|
|
94547
|
+
/**
|
|
94548
|
+
* Hook method called after a network request completes
|
|
94549
|
+
*
|
|
94550
|
+
* This method provides a point for subclasses to perform post-request operations
|
|
94551
|
+
* such as logging, metrics collection, or cleanup. The default implementation
|
|
94552
|
+
* is empty and can be overridden by subclasses as needed.
|
|
94553
|
+
*
|
|
94554
|
+
* @param _options - Request completion options
|
|
94555
|
+
* @param _options.statusCode - HTTP status code from the network response
|
|
94556
|
+
*/
|
|
94462
94557
|
async afterRequestHooks(_options) {
|
|
94463
94558
|
}
|
|
94559
|
+
/**
|
|
94560
|
+
* Forces a refresh of the cached data by bypassing cache and fetching from network
|
|
94561
|
+
*
|
|
94562
|
+
* This method executes the command with a "no-cache" configuration, ensuring that
|
|
94563
|
+
* fresh data is fetched from the network regardless of cache state. It's useful
|
|
94564
|
+
* for scenarios where you need to ensure the most up-to-date data.
|
|
94565
|
+
*
|
|
94566
|
+
* @returns A refresh result indicating success or failure of the refresh operation
|
|
94567
|
+
*/
|
|
94464
94568
|
refresh() {
|
|
94465
94569
|
return this.rerun({ cacheControlConfig: { type: "no-cache" } }).then((result) => {
|
|
94466
94570
|
if (result.isErr()) {
|
|
@@ -94469,6 +94573,17 @@ class CacheControlCommand extends BaseCommand {
|
|
|
94469
94573
|
return ok$3(void 0);
|
|
94470
94574
|
});
|
|
94471
94575
|
}
|
|
94576
|
+
/**
|
|
94577
|
+
* Writes network result to cache and records the keys that were updated
|
|
94578
|
+
*
|
|
94579
|
+
* This method wraps the cache write operation with key tracking functionality.
|
|
94580
|
+
* It uses a recordable cache wrapper to capture which keys are modified during
|
|
94581
|
+
* the write operation, then updates the internal tracking of used and updated keys.
|
|
94582
|
+
*
|
|
94583
|
+
* @param cache - The cache instance to write to
|
|
94584
|
+
* @param networkResult - The network result containing data to write to cache
|
|
94585
|
+
* @returns A result indicating success or failure of the write operation
|
|
94586
|
+
*/
|
|
94472
94587
|
writeToCacheAndRecordKeys(cache, networkResult) {
|
|
94473
94588
|
const recordableCache = cache.record();
|
|
94474
94589
|
return this.writeToCache(recordableCache, networkResult).then((result) => {
|
|
@@ -94477,6 +94592,16 @@ class CacheControlCommand extends BaseCommand {
|
|
|
94477
94592
|
return ok$3(result);
|
|
94478
94593
|
});
|
|
94479
94594
|
}
|
|
94595
|
+
/**
|
|
94596
|
+
* Builds a subscribable result by reading from cache and setting up subscriptions
|
|
94597
|
+
*
|
|
94598
|
+
* This method reads data from the cache and wraps the result in a subscribable
|
|
94599
|
+
* structure that allows consumers to subscribe to updates. It also tracks which
|
|
94600
|
+
* cache keys were read for future invalidation purposes.
|
|
94601
|
+
*
|
|
94602
|
+
* @param cache - The readonly cache to read from
|
|
94603
|
+
* @returns A subscribable result containing the cached data or error
|
|
94604
|
+
*/
|
|
94480
94605
|
buildResultWithSubscribe(cache) {
|
|
94481
94606
|
const recordableCache = cache.record();
|
|
94482
94607
|
const result = this.readFromCache(recordableCache);
|
|
@@ -94504,23 +94629,35 @@ class CacheControlCommand extends BaseCommand {
|
|
|
94504
94629
|
* the last known value. If a change is detected, the provided
|
|
94505
94630
|
* callback is invoked.
|
|
94506
94631
|
*
|
|
94507
|
-
* @param keysRead - keys of interest that were read during readFromCache
|
|
94508
94632
|
* @returns an unsubscribe function to stop watching for updates
|
|
94509
94633
|
*/
|
|
94510
94634
|
buildSubscribe() {
|
|
94511
94635
|
return (consumerCallback) => {
|
|
94512
94636
|
if (this.subscriptions.length === 0 && this.operationType === "query") {
|
|
94513
|
-
this.
|
|
94637
|
+
this.subscribe();
|
|
94514
94638
|
}
|
|
94515
94639
|
this.subscriptions.push(consumerCallback);
|
|
94516
94640
|
return () => {
|
|
94517
94641
|
this.subscriptions = this.subscriptions.filter((cb) => cb !== consumerCallback);
|
|
94518
94642
|
if (this.subscriptions.length === 0) {
|
|
94519
|
-
this.
|
|
94643
|
+
this.unsubscribe();
|
|
94520
94644
|
}
|
|
94521
94645
|
};
|
|
94522
94646
|
};
|
|
94523
94647
|
}
|
|
94648
|
+
/**
|
|
94649
|
+
* Re-runs the command execution with optional overrides and notifies subscribers of changes
|
|
94650
|
+
*
|
|
94651
|
+
* This method is called internally when cache updates occur that affect the command's data.
|
|
94652
|
+
* It executes the command with the provided overrides and compares the result with the
|
|
94653
|
+
* last known result. If the data has changed, it notifies all subscribers with the new data.
|
|
94654
|
+
*
|
|
94655
|
+
* The method handles deduplication to prevent unnecessary notifications when the data
|
|
94656
|
+
* hasn't actually changed, and properly manages the internal execution state.
|
|
94657
|
+
*
|
|
94658
|
+
* @param overrides - Optional execution overrides for the rerun
|
|
94659
|
+
* @returns A promise that resolves to the execution result
|
|
94660
|
+
*/
|
|
94524
94661
|
rerun(overrides) {
|
|
94525
94662
|
this._isInternalExecution = true;
|
|
94526
94663
|
return this.execute(overrides).then((result) => {
|
|
@@ -94537,6 +94674,15 @@ class CacheControlCommand extends BaseCommand {
|
|
|
94537
94674
|
return result;
|
|
94538
94675
|
});
|
|
94539
94676
|
}
|
|
94677
|
+
/**
|
|
94678
|
+
* Invokes all registered consumer callbacks with the provided data
|
|
94679
|
+
*
|
|
94680
|
+
* This private method safely calls all registered subscriber callbacks with the
|
|
94681
|
+
* provided result data. It includes error handling to prevent callback failures
|
|
94682
|
+
* from affecting other callbacks or the overall system.
|
|
94683
|
+
*
|
|
94684
|
+
* @param data - The result data to send to all subscribers
|
|
94685
|
+
*/
|
|
94540
94686
|
invokeConsumerCallbacks(data) {
|
|
94541
94687
|
this.subscriptions.forEach((cb) => {
|
|
94542
94688
|
try {
|
|
@@ -96064,7 +96210,7 @@ function buildServiceDescriptor$5(luvio) {
|
|
|
96064
96210
|
},
|
|
96065
96211
|
};
|
|
96066
96212
|
}
|
|
96067
|
-
// version: 1.
|
|
96213
|
+
// version: 1.397.0-006831ea37
|
|
96068
96214
|
|
|
96069
96215
|
/**
|
|
96070
96216
|
* Copyright (c) 2022, Salesforce, Inc.,
|
|
@@ -96090,7 +96236,7 @@ function buildServiceDescriptor$4(notifyRecordUpdateAvailable, getNormalizedLuvi
|
|
|
96090
96236
|
},
|
|
96091
96237
|
};
|
|
96092
96238
|
}
|
|
96093
|
-
// version: 1.
|
|
96239
|
+
// version: 1.397.0-006831ea37
|
|
96094
96240
|
|
|
96095
96241
|
/*!
|
|
96096
96242
|
* Copyright (c) 2022, Salesforce, Inc.,
|
|
@@ -97181,7 +97327,7 @@ class AuraGraphQLNormalizedCacheControlCommand extends AuraNormalizedCacheContro
|
|
|
97181
97327
|
return this.runOriginalRequest();
|
|
97182
97328
|
}
|
|
97183
97329
|
if (this.subscriptions.length > 0) {
|
|
97184
|
-
this.
|
|
97330
|
+
this.subscribe();
|
|
97185
97331
|
}
|
|
97186
97332
|
return returnData;
|
|
97187
97333
|
});
|
|
@@ -97299,7 +97445,7 @@ class HttpGraphQLNormalizedCacheControlCommand extends HttpNormalizedCacheContro
|
|
|
97299
97445
|
return this.runOriginalRequest();
|
|
97300
97446
|
}
|
|
97301
97447
|
if (this.subscriptions.length > 0) {
|
|
97302
|
-
this.
|
|
97448
|
+
this.subscribe();
|
|
97303
97449
|
}
|
|
97304
97450
|
return returnData;
|
|
97305
97451
|
});
|
|
@@ -97318,7 +97464,7 @@ function buildServiceDescriptor$2() {
|
|
|
97318
97464
|
* All rights reserved.
|
|
97319
97465
|
* For full license text, see the LICENSE.txt file
|
|
97320
97466
|
*/
|
|
97321
|
-
function buildServiceDescriptor$1(interceptors = { request: [], response: [] }) {
|
|
97467
|
+
function buildServiceDescriptor$1(interceptors = { request: [], response: [] }, retryService) {
|
|
97322
97468
|
return {
|
|
97323
97469
|
type: "fetch",
|
|
97324
97470
|
version: "1.0",
|
|
@@ -97328,7 +97474,12 @@ function buildServiceDescriptor$1(interceptors = { request: [], response: [] })
|
|
|
97328
97474
|
(previousPromise, interceptor) => previousPromise.then(interceptor),
|
|
97329
97475
|
resolvedPromiseLike$3(args)
|
|
97330
97476
|
);
|
|
97331
|
-
return pending.then((args2) =>
|
|
97477
|
+
return pending.then((args2) => {
|
|
97478
|
+
if (retryService) {
|
|
97479
|
+
return retryService.applyRetry(() => fetch(...args2));
|
|
97480
|
+
}
|
|
97481
|
+
return fetch(...args2);
|
|
97482
|
+
}).then((response) => {
|
|
97332
97483
|
return responseInterceptors.reduce(
|
|
97333
97484
|
(previousPromise, interceptor) => previousPromise.then(interceptor),
|
|
97334
97485
|
resolvedPromiseLike$3(response)
|
|
@@ -98309,7 +98460,7 @@ register$1({
|
|
|
98309
98460
|
id: '@salesforce/lds-network-adapter',
|
|
98310
98461
|
instrument: instrument$2,
|
|
98311
98462
|
});
|
|
98312
|
-
// version: 1.
|
|
98463
|
+
// version: 1.397.0-08bd11d0bc
|
|
98313
98464
|
|
|
98314
98465
|
const { create: create$3, keys: keys$3 } = Object;
|
|
98315
98466
|
const { stringify: stringify$1, parse } = JSON;
|
|
@@ -101303,7 +101454,7 @@ function handleEmit(res, callback) {
|
|
|
101303
101454
|
}
|
|
101304
101455
|
callback(consumerEmittedData);
|
|
101305
101456
|
}
|
|
101306
|
-
// version: 1.
|
|
101457
|
+
// version: 1.397.0-006831ea37
|
|
101307
101458
|
|
|
101308
101459
|
class Analytics__AnalyticsBrowseRepository extends UnidentifiableGraphQLTypeRepository {
|
|
101309
101460
|
constructor(services, typeRegistry) {
|
|
@@ -105915,20 +106066,11 @@ function buildCommandClass(baseClass) {
|
|
|
105915
106066
|
this.latestLuvioRecordIdsToInvalidate = undefined;
|
|
105916
106067
|
this.latestUsedRecordIdToWeakEtagMap = undefined;
|
|
105917
106068
|
this.latestDeletedRecordIds = undefined;
|
|
105918
|
-
if (this.unsubscribeFromLuvioSnapshot) {
|
|
105919
|
-
this.unsubscribeFromLuvioSnapshot();
|
|
105920
|
-
this.unsubscribeFromLuvioSnapshot = undefined;
|
|
105921
|
-
}
|
|
105922
106069
|
const result = super.execute(overrides);
|
|
105923
106070
|
result.then((_) => {
|
|
105924
106071
|
const promises = [];
|
|
105925
106072
|
if (this.operationType === 'mutation') {
|
|
105926
|
-
const allRecordIds = [
|
|
105927
|
-
...new Set([
|
|
105928
|
-
...(this.latestDeletedRecordIds ?? []),
|
|
105929
|
-
...Object.keys(this.latestUsedRecordIdToWeakEtagMap ?? {}),
|
|
105930
|
-
]),
|
|
105931
|
-
];
|
|
106073
|
+
const allRecordIds = [...new Set([...(this.latestDeletedRecordIds ?? [])])];
|
|
105932
106074
|
if (allRecordIds.length > 0) {
|
|
105933
106075
|
promises.push(this.invalidateRecordIds(allRecordIds));
|
|
105934
106076
|
}
|
|
@@ -105967,22 +106109,20 @@ function buildCommandClass(baseClass) {
|
|
|
105967
106109
|
.add(1);
|
|
105968
106110
|
return super.runOriginalRequest();
|
|
105969
106111
|
}
|
|
105970
|
-
|
|
105971
|
-
super.
|
|
106112
|
+
subscribe() {
|
|
106113
|
+
super.subscribe();
|
|
105972
106114
|
// Subscribe to luvio cache changes using the stored snapshot
|
|
105973
106115
|
if (this.latestLuvioSnapshot) {
|
|
105974
106116
|
try {
|
|
105975
106117
|
const luvioService = this.services.luvio;
|
|
105976
106118
|
const luvioInstance = luvioService.luvio;
|
|
105977
|
-
|
|
105978
|
-
this.unsubscribeFromLuvioSnapshot();
|
|
105979
|
-
}
|
|
105980
|
-
this.unsubscribeFromLuvioSnapshot = luvioInstance.storeSubscribe(this.latestLuvioSnapshot, (_) => {
|
|
106119
|
+
const unsubscribeFromLuvioSnapshot = luvioInstance.storeSubscribe(this.latestLuvioSnapshot, (_) => {
|
|
105981
106120
|
// If any records used change at the top level, refresh all the data
|
|
105982
106121
|
if (this.usedRecordsChanged()) {
|
|
105983
106122
|
this.refresh();
|
|
105984
106123
|
}
|
|
105985
106124
|
});
|
|
106125
|
+
this.unsubscribers.push(unsubscribeFromLuvioSnapshot);
|
|
105986
106126
|
}
|
|
105987
106127
|
catch (error) { }
|
|
105988
106128
|
}
|
|
@@ -113000,7 +113140,7 @@ function registerCallback(cb) {
|
|
|
113000
113140
|
cb(graphql_v1_import, graphql_imperative$1, graphql_imperative_legacy_v1_import, graphql_state_manager, useOneStoreGraphQL);
|
|
113001
113141
|
}
|
|
113002
113142
|
}
|
|
113003
|
-
// version: 1.
|
|
113143
|
+
// version: 1.397.0-006831ea37
|
|
113004
113144
|
|
|
113005
113145
|
function createFragmentMap(documentNode) {
|
|
113006
113146
|
const fragments = {};
|
|
@@ -139714,7 +139854,7 @@ register$1({
|
|
|
139714
139854
|
configuration: { ...configurationForGraphQLAdapters$1 },
|
|
139715
139855
|
instrument: instrument$1,
|
|
139716
139856
|
});
|
|
139717
|
-
// version: 1.
|
|
139857
|
+
// version: 1.397.0-006831ea37
|
|
139718
139858
|
|
|
139719
139859
|
// On core the unstable adapters are re-exported with different names,
|
|
139720
139860
|
// we want to match them here.
|
|
@@ -139866,7 +140006,7 @@ withDefaultLuvio((luvio) => {
|
|
|
139866
140006
|
unstable_graphQL_imperative = createImperativeAdapter(luvio, createInstrumentedAdapter(ldsAdapter, adapterMetadata), adapterMetadata);
|
|
139867
140007
|
graphQLImperative = ldsAdapter;
|
|
139868
140008
|
});
|
|
139869
|
-
// version: 1.
|
|
140009
|
+
// version: 1.397.0-006831ea37
|
|
139870
140010
|
|
|
139871
140011
|
var gqlApi = /*#__PURE__*/Object.freeze({
|
|
139872
140012
|
__proto__: null,
|
|
@@ -140665,7 +140805,7 @@ const callbacks$1 = [];
|
|
|
140665
140805
|
function register(r) {
|
|
140666
140806
|
callbacks$1.forEach((callback) => callback(r));
|
|
140667
140807
|
}
|
|
140668
|
-
// version: 1.
|
|
140808
|
+
// version: 1.397.0-08bd11d0bc
|
|
140669
140809
|
|
|
140670
140810
|
/**
|
|
140671
140811
|
* Copyright (c) 2022, Salesforce, Inc.,
|
|
@@ -141981,4 +142121,4 @@ const { luvio } = getRuntime();
|
|
|
141981
142121
|
setDefaultLuvio({ luvio });
|
|
141982
142122
|
|
|
141983
142123
|
export { createPrimingSession, draftManager, draftQueue, evictCacheRecordsByIds, evictExpiredCacheEntries, executeAdapter, executeMutatingAdapter, getImperativeAdapterNames, importLuvioAdapterModule, importOneStoreAdapterModule, invokeAdapter, invokeAdapterWithDraftToMerge, invokeAdapterWithDraftToReplace, invokeAdapterWithMetadata, nimbusDraftQueue, registerReportObserver, setMetadataTTL, setUiApiRecordTTL, stopEviction, subscribeToAdapter };
|
|
141984
|
-
// version: 1.
|
|
142124
|
+
// version: 1.397.0-08bd11d0bc
|
|
@@ -4280,7 +4280,7 @@
|
|
|
4280
4280
|
}
|
|
4281
4281
|
callbacks.push(callback);
|
|
4282
4282
|
}
|
|
4283
|
-
// version: 1.
|
|
4283
|
+
// version: 1.397.0-08bd11d0bc
|
|
4284
4284
|
|
|
4285
4285
|
// TODO [TD-0081508]: once that TD is fulfilled we can probably change this file
|
|
4286
4286
|
function instrumentAdapter$1(createFunction, _metadata) {
|
|
@@ -5324,7 +5324,7 @@
|
|
|
5324
5324
|
const { apiFamily, name } = metadata;
|
|
5325
5325
|
return createGraphQLWireAdapterConstructor$1(adapter, `${apiFamily}.${name}`, luvio, astResolver);
|
|
5326
5326
|
}
|
|
5327
|
-
// version: 1.
|
|
5327
|
+
// version: 1.397.0-08bd11d0bc
|
|
5328
5328
|
|
|
5329
5329
|
/**
|
|
5330
5330
|
* Copyright (c) 2022, Salesforce, Inc.,
|
|
@@ -34160,7 +34160,7 @@
|
|
|
34160
34160
|
throttle(60, 60000, setupNotifyAllListRecordUpdateAvailable(luvio));
|
|
34161
34161
|
throttle(60, 60000, setupNotifyAllListInfoSummaryUpdateAvailable(luvio));
|
|
34162
34162
|
});
|
|
34163
|
-
// version: 1.
|
|
34163
|
+
// version: 1.397.0-006831ea37
|
|
34164
34164
|
|
|
34165
34165
|
function requestIdleDetectedCallback(_callback) { }
|
|
34166
34166
|
function declareNotifierTaskSingle(_name) {
|
|
@@ -94334,6 +94334,14 @@
|
|
|
94334
94334
|
}
|
|
94335
94335
|
}
|
|
94336
94336
|
class CacheControlCommand extends BaseCommand {
|
|
94337
|
+
/**
|
|
94338
|
+
* Creates a new CacheControlCommand instance
|
|
94339
|
+
*
|
|
94340
|
+
* @param services - Required services including cache controller and optional pub/sub service
|
|
94341
|
+
* @param services.cacheController - The cache controller service for managing cache operations
|
|
94342
|
+
* @param services.pubSub - Optional pub/sub service for cache invalidation notifications
|
|
94343
|
+
* @param services - Additional services specific to the implementation
|
|
94344
|
+
*/
|
|
94337
94345
|
constructor(services) {
|
|
94338
94346
|
super();
|
|
94339
94347
|
this.services = services;
|
|
@@ -94341,16 +94349,31 @@
|
|
|
94341
94349
|
this.keysUpdated = void 0;
|
|
94342
94350
|
this._isInternalExecution = false;
|
|
94343
94351
|
this.lastResult = void 0;
|
|
94344
|
-
this.
|
|
94352
|
+
this.unsubscribers = [];
|
|
94345
94353
|
this.subscriptions = [];
|
|
94346
94354
|
this.instantiationTime = Date.now() / 1e3;
|
|
94347
94355
|
}
|
|
94348
94356
|
get isInternalExecution() {
|
|
94349
94357
|
return this._isInternalExecution;
|
|
94350
94358
|
}
|
|
94359
|
+
/**
|
|
94360
|
+
* Executes the cache control command with optional overrides
|
|
94361
|
+
*
|
|
94362
|
+
* This method orchestrates the cache control flow by:
|
|
94363
|
+
* 1. Clearing any existing subscriptions
|
|
94364
|
+
* 2. Merging configuration overrides with the base strategy config
|
|
94365
|
+
* 3. Building a request runner for cache operations
|
|
94366
|
+
* 4. Executing the cache controller with the request runner
|
|
94367
|
+
* 5. Handling the result and setting up subscriptions if needed
|
|
94368
|
+
*
|
|
94369
|
+
* @param overrides - Optional execution overrides including timestamp and cache control config
|
|
94370
|
+
* @param overrides.now - Override the current timestamp for cache control calculations
|
|
94371
|
+
* @param overrides.cacheControlConfig - Override cache control strategy configuration
|
|
94372
|
+
* @returns A subscribable result containing either the cached/network data or an error
|
|
94373
|
+
*/
|
|
94351
94374
|
execute(overrides) {
|
|
94352
94375
|
this.keysUpdated = void 0;
|
|
94353
|
-
this.
|
|
94376
|
+
this.unsubscribe();
|
|
94354
94377
|
const mergedCacheControlConfig = mergeCacheControlConfigs(
|
|
94355
94378
|
this.cacheControlStrategyConfig,
|
|
94356
94379
|
overrides
|
|
@@ -94372,6 +94395,17 @@
|
|
|
94372
94395
|
});
|
|
94373
94396
|
});
|
|
94374
94397
|
}
|
|
94398
|
+
/**
|
|
94399
|
+
* Handles the result from the cache controller and builds the appropriate subscribable result
|
|
94400
|
+
*
|
|
94401
|
+
* This method processes the cache controller execution result and determines the appropriate
|
|
94402
|
+
* response based on network errors, cache errors, and available data. It handles graceful
|
|
94403
|
+
* degradation scenarios where network data is available even when cache operations fail.
|
|
94404
|
+
*
|
|
94405
|
+
* @param result - The result from the cache controller execution
|
|
94406
|
+
* @param requestRunner - The request runner containing network data and errors
|
|
94407
|
+
* @returns A subscribable result with the appropriate data or error
|
|
94408
|
+
*/
|
|
94375
94409
|
handleCacheControllerResult(result, requestRunner) {
|
|
94376
94410
|
const { networkError, networkData, returnData } = requestRunner;
|
|
94377
94411
|
return this.publishUpdatedKeys().then(() => {
|
|
@@ -94407,11 +94441,21 @@
|
|
|
94407
94441
|
);
|
|
94408
94442
|
}
|
|
94409
94443
|
if (this.subscriptions.length > 0) {
|
|
94410
|
-
this.
|
|
94444
|
+
this.subscribe();
|
|
94411
94445
|
}
|
|
94412
94446
|
return returnData;
|
|
94413
94447
|
});
|
|
94414
94448
|
}
|
|
94449
|
+
/**
|
|
94450
|
+
* Builds a request runner that orchestrates cache read, network request, and cache write operations
|
|
94451
|
+
*
|
|
94452
|
+
* The request runner encapsulates the three main operations:
|
|
94453
|
+
* 1. Reading from cache with subscription setup
|
|
94454
|
+
* 2. Requesting data from the network
|
|
94455
|
+
* 3. Writing network results to cache and recording keys
|
|
94456
|
+
*
|
|
94457
|
+
* @returns A configured request runner for the cache controller
|
|
94458
|
+
*/
|
|
94415
94459
|
buildRequestRunner() {
|
|
94416
94460
|
return new CacheControlRequestRunner(
|
|
94417
94461
|
(cache) => this.buildResultWithSubscribe(cache),
|
|
@@ -94419,6 +94463,15 @@
|
|
|
94419
94463
|
(cache, networkResult) => this.writeToCacheAndRecordKeys(cache, networkResult)
|
|
94420
94464
|
);
|
|
94421
94465
|
}
|
|
94466
|
+
/**
|
|
94467
|
+
* Publishes cache update events for keys that were modified during the operation
|
|
94468
|
+
*
|
|
94469
|
+
* This method notifies other parts of the system about cache changes by publishing
|
|
94470
|
+
* a 'cacheUpdate' event with the set of keys that were updated. This enables
|
|
94471
|
+
* cache invalidation and reactive updates across the application.
|
|
94472
|
+
*
|
|
94473
|
+
* @returns A promise that resolves when the update event is published (or immediately if no pub/sub service)
|
|
94474
|
+
*/
|
|
94422
94475
|
publishUpdatedKeys() {
|
|
94423
94476
|
if (this.services.pubSub) {
|
|
94424
94477
|
if (this.keysUpdated !== void 0 && this.keysUpdated.size > 0) {
|
|
@@ -94433,11 +94486,25 @@
|
|
|
94433
94486
|
get operationType() {
|
|
94434
94487
|
return "query";
|
|
94435
94488
|
}
|
|
94436
|
-
|
|
94437
|
-
|
|
94489
|
+
/**
|
|
94490
|
+
* Subscribes to cache update and invalidation events for reactive updates
|
|
94491
|
+
*
|
|
94492
|
+
* This method sets up subscriptions to listen for changes that affect the data returned
|
|
94493
|
+
* by this Command.
|
|
94494
|
+
*
|
|
94495
|
+
* By default, it subscribes to two types of events on the PubSub service:
|
|
94496
|
+
* - 'cacheUpdate': Triggers a rebuild with the original instantiation time
|
|
94497
|
+
* - 'cacheInvalidation': Triggers a full refresh without time constraints
|
|
94498
|
+
*
|
|
94499
|
+
* This method can be extended by subclasses to add additional subscriptions.
|
|
94500
|
+
*
|
|
94501
|
+
* Note: ALL subscriptions should push an unsubscribe function to the unsubscribers array,
|
|
94502
|
+
* for the lifecycle to work correctly and avoid memory leaks.
|
|
94503
|
+
*/
|
|
94504
|
+
subscribe() {
|
|
94505
|
+
this.unsubscribe();
|
|
94438
94506
|
const { pubSub } = this.services;
|
|
94439
94507
|
if (!pubSub) {
|
|
94440
|
-
this.unsubscribeFromKeysImpl = () => void 0;
|
|
94441
94508
|
return;
|
|
94442
94509
|
}
|
|
94443
94510
|
const rebuildUnsubscribe = pubSub.subscribe({
|
|
@@ -94452,21 +94519,58 @@
|
|
|
94452
94519
|
callback: () => this.rerun().then(() => void 0),
|
|
94453
94520
|
keys: this.keysUsed
|
|
94454
94521
|
});
|
|
94455
|
-
this.
|
|
94456
|
-
rebuildUnsubscribe();
|
|
94457
|
-
refreshUnsubscribe();
|
|
94458
|
-
};
|
|
94459
|
-
return;
|
|
94522
|
+
this.unsubscribers.push(rebuildUnsubscribe, refreshUnsubscribe);
|
|
94460
94523
|
}
|
|
94461
|
-
|
|
94462
|
-
|
|
94524
|
+
/**
|
|
94525
|
+
* Unsubscribes from all stored subscriptions
|
|
94526
|
+
*
|
|
94527
|
+
* This method calls all stored unsubscribe functions to clean up event listeners
|
|
94528
|
+
* and prevent memory leaks. It should be called when the command is no longer
|
|
94529
|
+
* needed and is also called before setting up new subscriptions.
|
|
94530
|
+
*/
|
|
94531
|
+
unsubscribe() {
|
|
94532
|
+
while (this.unsubscribers.length > 0) {
|
|
94533
|
+
const unsubscriber = this.unsubscribers.pop();
|
|
94534
|
+
unsubscriber == null ? void 0 : unsubscriber();
|
|
94535
|
+
}
|
|
94463
94536
|
}
|
|
94464
|
-
|
|
94537
|
+
/**
|
|
94538
|
+
* Compares two result values for equality to determine if a cache update should trigger a rerun
|
|
94539
|
+
*
|
|
94540
|
+
* This method is used to prevent unnecessary reruns when the cached data hasn't actually changed.
|
|
94541
|
+
* The default implementation uses deep equality comparison, but subclasses can override this
|
|
94542
|
+
* to provide more efficient or domain-specific comparison logic.
|
|
94543
|
+
*
|
|
94544
|
+
* @param result1 - The first result to compare
|
|
94545
|
+
* @param result2 - The second result to compare
|
|
94546
|
+
* @returns True if the results are equal, false otherwise
|
|
94547
|
+
*
|
|
94548
|
+
* @todo This should likely be abstract in v2. For v1, provide default comparison logic.
|
|
94549
|
+
*/
|
|
94465
94550
|
equals(result1, result2) {
|
|
94466
94551
|
return deepEquals$1(result1, result2);
|
|
94467
94552
|
}
|
|
94553
|
+
/**
|
|
94554
|
+
* Hook method called after a network request completes
|
|
94555
|
+
*
|
|
94556
|
+
* This method provides a point for subclasses to perform post-request operations
|
|
94557
|
+
* such as logging, metrics collection, or cleanup. The default implementation
|
|
94558
|
+
* is empty and can be overridden by subclasses as needed.
|
|
94559
|
+
*
|
|
94560
|
+
* @param _options - Request completion options
|
|
94561
|
+
* @param _options.statusCode - HTTP status code from the network response
|
|
94562
|
+
*/
|
|
94468
94563
|
async afterRequestHooks(_options) {
|
|
94469
94564
|
}
|
|
94565
|
+
/**
|
|
94566
|
+
* Forces a refresh of the cached data by bypassing cache and fetching from network
|
|
94567
|
+
*
|
|
94568
|
+
* This method executes the command with a "no-cache" configuration, ensuring that
|
|
94569
|
+
* fresh data is fetched from the network regardless of cache state. It's useful
|
|
94570
|
+
* for scenarios where you need to ensure the most up-to-date data.
|
|
94571
|
+
*
|
|
94572
|
+
* @returns A refresh result indicating success or failure of the refresh operation
|
|
94573
|
+
*/
|
|
94470
94574
|
refresh() {
|
|
94471
94575
|
return this.rerun({ cacheControlConfig: { type: "no-cache" } }).then((result) => {
|
|
94472
94576
|
if (result.isErr()) {
|
|
@@ -94475,6 +94579,17 @@
|
|
|
94475
94579
|
return ok$3(void 0);
|
|
94476
94580
|
});
|
|
94477
94581
|
}
|
|
94582
|
+
/**
|
|
94583
|
+
* Writes network result to cache and records the keys that were updated
|
|
94584
|
+
*
|
|
94585
|
+
* This method wraps the cache write operation with key tracking functionality.
|
|
94586
|
+
* It uses a recordable cache wrapper to capture which keys are modified during
|
|
94587
|
+
* the write operation, then updates the internal tracking of used and updated keys.
|
|
94588
|
+
*
|
|
94589
|
+
* @param cache - The cache instance to write to
|
|
94590
|
+
* @param networkResult - The network result containing data to write to cache
|
|
94591
|
+
* @returns A result indicating success or failure of the write operation
|
|
94592
|
+
*/
|
|
94478
94593
|
writeToCacheAndRecordKeys(cache, networkResult) {
|
|
94479
94594
|
const recordableCache = cache.record();
|
|
94480
94595
|
return this.writeToCache(recordableCache, networkResult).then((result) => {
|
|
@@ -94483,6 +94598,16 @@
|
|
|
94483
94598
|
return ok$3(result);
|
|
94484
94599
|
});
|
|
94485
94600
|
}
|
|
94601
|
+
/**
|
|
94602
|
+
* Builds a subscribable result by reading from cache and setting up subscriptions
|
|
94603
|
+
*
|
|
94604
|
+
* This method reads data from the cache and wraps the result in a subscribable
|
|
94605
|
+
* structure that allows consumers to subscribe to updates. It also tracks which
|
|
94606
|
+
* cache keys were read for future invalidation purposes.
|
|
94607
|
+
*
|
|
94608
|
+
* @param cache - The readonly cache to read from
|
|
94609
|
+
* @returns A subscribable result containing the cached data or error
|
|
94610
|
+
*/
|
|
94486
94611
|
buildResultWithSubscribe(cache) {
|
|
94487
94612
|
const recordableCache = cache.record();
|
|
94488
94613
|
const result = this.readFromCache(recordableCache);
|
|
@@ -94510,23 +94635,35 @@
|
|
|
94510
94635
|
* the last known value. If a change is detected, the provided
|
|
94511
94636
|
* callback is invoked.
|
|
94512
94637
|
*
|
|
94513
|
-
* @param keysRead - keys of interest that were read during readFromCache
|
|
94514
94638
|
* @returns an unsubscribe function to stop watching for updates
|
|
94515
94639
|
*/
|
|
94516
94640
|
buildSubscribe() {
|
|
94517
94641
|
return (consumerCallback) => {
|
|
94518
94642
|
if (this.subscriptions.length === 0 && this.operationType === "query") {
|
|
94519
|
-
this.
|
|
94643
|
+
this.subscribe();
|
|
94520
94644
|
}
|
|
94521
94645
|
this.subscriptions.push(consumerCallback);
|
|
94522
94646
|
return () => {
|
|
94523
94647
|
this.subscriptions = this.subscriptions.filter((cb) => cb !== consumerCallback);
|
|
94524
94648
|
if (this.subscriptions.length === 0) {
|
|
94525
|
-
this.
|
|
94649
|
+
this.unsubscribe();
|
|
94526
94650
|
}
|
|
94527
94651
|
};
|
|
94528
94652
|
};
|
|
94529
94653
|
}
|
|
94654
|
+
/**
|
|
94655
|
+
* Re-runs the command execution with optional overrides and notifies subscribers of changes
|
|
94656
|
+
*
|
|
94657
|
+
* This method is called internally when cache updates occur that affect the command's data.
|
|
94658
|
+
* It executes the command with the provided overrides and compares the result with the
|
|
94659
|
+
* last known result. If the data has changed, it notifies all subscribers with the new data.
|
|
94660
|
+
*
|
|
94661
|
+
* The method handles deduplication to prevent unnecessary notifications when the data
|
|
94662
|
+
* hasn't actually changed, and properly manages the internal execution state.
|
|
94663
|
+
*
|
|
94664
|
+
* @param overrides - Optional execution overrides for the rerun
|
|
94665
|
+
* @returns A promise that resolves to the execution result
|
|
94666
|
+
*/
|
|
94530
94667
|
rerun(overrides) {
|
|
94531
94668
|
this._isInternalExecution = true;
|
|
94532
94669
|
return this.execute(overrides).then((result) => {
|
|
@@ -94543,6 +94680,15 @@
|
|
|
94543
94680
|
return result;
|
|
94544
94681
|
});
|
|
94545
94682
|
}
|
|
94683
|
+
/**
|
|
94684
|
+
* Invokes all registered consumer callbacks with the provided data
|
|
94685
|
+
*
|
|
94686
|
+
* This private method safely calls all registered subscriber callbacks with the
|
|
94687
|
+
* provided result data. It includes error handling to prevent callback failures
|
|
94688
|
+
* from affecting other callbacks or the overall system.
|
|
94689
|
+
*
|
|
94690
|
+
* @param data - The result data to send to all subscribers
|
|
94691
|
+
*/
|
|
94546
94692
|
invokeConsumerCallbacks(data) {
|
|
94547
94693
|
this.subscriptions.forEach((cb) => {
|
|
94548
94694
|
try {
|
|
@@ -96070,7 +96216,7 @@
|
|
|
96070
96216
|
},
|
|
96071
96217
|
};
|
|
96072
96218
|
}
|
|
96073
|
-
// version: 1.
|
|
96219
|
+
// version: 1.397.0-006831ea37
|
|
96074
96220
|
|
|
96075
96221
|
/**
|
|
96076
96222
|
* Copyright (c) 2022, Salesforce, Inc.,
|
|
@@ -96096,7 +96242,7 @@
|
|
|
96096
96242
|
},
|
|
96097
96243
|
};
|
|
96098
96244
|
}
|
|
96099
|
-
// version: 1.
|
|
96245
|
+
// version: 1.397.0-006831ea37
|
|
96100
96246
|
|
|
96101
96247
|
/*!
|
|
96102
96248
|
* Copyright (c) 2022, Salesforce, Inc.,
|
|
@@ -97187,7 +97333,7 @@
|
|
|
97187
97333
|
return this.runOriginalRequest();
|
|
97188
97334
|
}
|
|
97189
97335
|
if (this.subscriptions.length > 0) {
|
|
97190
|
-
this.
|
|
97336
|
+
this.subscribe();
|
|
97191
97337
|
}
|
|
97192
97338
|
return returnData;
|
|
97193
97339
|
});
|
|
@@ -97305,7 +97451,7 @@
|
|
|
97305
97451
|
return this.runOriginalRequest();
|
|
97306
97452
|
}
|
|
97307
97453
|
if (this.subscriptions.length > 0) {
|
|
97308
|
-
this.
|
|
97454
|
+
this.subscribe();
|
|
97309
97455
|
}
|
|
97310
97456
|
return returnData;
|
|
97311
97457
|
});
|
|
@@ -97324,7 +97470,7 @@
|
|
|
97324
97470
|
* All rights reserved.
|
|
97325
97471
|
* For full license text, see the LICENSE.txt file
|
|
97326
97472
|
*/
|
|
97327
|
-
function buildServiceDescriptor$1(interceptors = { request: [], response: [] }) {
|
|
97473
|
+
function buildServiceDescriptor$1(interceptors = { request: [], response: [] }, retryService) {
|
|
97328
97474
|
return {
|
|
97329
97475
|
type: "fetch",
|
|
97330
97476
|
version: "1.0",
|
|
@@ -97334,7 +97480,12 @@
|
|
|
97334
97480
|
(previousPromise, interceptor) => previousPromise.then(interceptor),
|
|
97335
97481
|
resolvedPromiseLike$3(args)
|
|
97336
97482
|
);
|
|
97337
|
-
return pending.then((args2) =>
|
|
97483
|
+
return pending.then((args2) => {
|
|
97484
|
+
if (retryService) {
|
|
97485
|
+
return retryService.applyRetry(() => fetch(...args2));
|
|
97486
|
+
}
|
|
97487
|
+
return fetch(...args2);
|
|
97488
|
+
}).then((response) => {
|
|
97338
97489
|
return responseInterceptors.reduce(
|
|
97339
97490
|
(previousPromise, interceptor) => previousPromise.then(interceptor),
|
|
97340
97491
|
resolvedPromiseLike$3(response)
|
|
@@ -98315,7 +98466,7 @@
|
|
|
98315
98466
|
id: '@salesforce/lds-network-adapter',
|
|
98316
98467
|
instrument: instrument$2,
|
|
98317
98468
|
});
|
|
98318
|
-
// version: 1.
|
|
98469
|
+
// version: 1.397.0-08bd11d0bc
|
|
98319
98470
|
|
|
98320
98471
|
const { create: create$3, keys: keys$3 } = Object;
|
|
98321
98472
|
const { stringify: stringify$1, parse } = JSON;
|
|
@@ -101309,7 +101460,7 @@
|
|
|
101309
101460
|
}
|
|
101310
101461
|
callback(consumerEmittedData);
|
|
101311
101462
|
}
|
|
101312
|
-
// version: 1.
|
|
101463
|
+
// version: 1.397.0-006831ea37
|
|
101313
101464
|
|
|
101314
101465
|
class Analytics__AnalyticsBrowseRepository extends UnidentifiableGraphQLTypeRepository {
|
|
101315
101466
|
constructor(services, typeRegistry) {
|
|
@@ -105921,20 +106072,11 @@
|
|
|
105921
106072
|
this.latestLuvioRecordIdsToInvalidate = undefined;
|
|
105922
106073
|
this.latestUsedRecordIdToWeakEtagMap = undefined;
|
|
105923
106074
|
this.latestDeletedRecordIds = undefined;
|
|
105924
|
-
if (this.unsubscribeFromLuvioSnapshot) {
|
|
105925
|
-
this.unsubscribeFromLuvioSnapshot();
|
|
105926
|
-
this.unsubscribeFromLuvioSnapshot = undefined;
|
|
105927
|
-
}
|
|
105928
106075
|
const result = super.execute(overrides);
|
|
105929
106076
|
result.then((_) => {
|
|
105930
106077
|
const promises = [];
|
|
105931
106078
|
if (this.operationType === 'mutation') {
|
|
105932
|
-
const allRecordIds = [
|
|
105933
|
-
...new Set([
|
|
105934
|
-
...(this.latestDeletedRecordIds ?? []),
|
|
105935
|
-
...Object.keys(this.latestUsedRecordIdToWeakEtagMap ?? {}),
|
|
105936
|
-
]),
|
|
105937
|
-
];
|
|
106079
|
+
const allRecordIds = [...new Set([...(this.latestDeletedRecordIds ?? [])])];
|
|
105938
106080
|
if (allRecordIds.length > 0) {
|
|
105939
106081
|
promises.push(this.invalidateRecordIds(allRecordIds));
|
|
105940
106082
|
}
|
|
@@ -105973,22 +106115,20 @@
|
|
|
105973
106115
|
.add(1);
|
|
105974
106116
|
return super.runOriginalRequest();
|
|
105975
106117
|
}
|
|
105976
|
-
|
|
105977
|
-
super.
|
|
106118
|
+
subscribe() {
|
|
106119
|
+
super.subscribe();
|
|
105978
106120
|
// Subscribe to luvio cache changes using the stored snapshot
|
|
105979
106121
|
if (this.latestLuvioSnapshot) {
|
|
105980
106122
|
try {
|
|
105981
106123
|
const luvioService = this.services.luvio;
|
|
105982
106124
|
const luvioInstance = luvioService.luvio;
|
|
105983
|
-
|
|
105984
|
-
this.unsubscribeFromLuvioSnapshot();
|
|
105985
|
-
}
|
|
105986
|
-
this.unsubscribeFromLuvioSnapshot = luvioInstance.storeSubscribe(this.latestLuvioSnapshot, (_) => {
|
|
106125
|
+
const unsubscribeFromLuvioSnapshot = luvioInstance.storeSubscribe(this.latestLuvioSnapshot, (_) => {
|
|
105987
106126
|
// If any records used change at the top level, refresh all the data
|
|
105988
106127
|
if (this.usedRecordsChanged()) {
|
|
105989
106128
|
this.refresh();
|
|
105990
106129
|
}
|
|
105991
106130
|
});
|
|
106131
|
+
this.unsubscribers.push(unsubscribeFromLuvioSnapshot);
|
|
105992
106132
|
}
|
|
105993
106133
|
catch (error) { }
|
|
105994
106134
|
}
|
|
@@ -113006,7 +113146,7 @@ keys: keys$2,
|
|
|
113006
113146
|
cb(graphql_v1_import, graphql_imperative$1, graphql_imperative_legacy_v1_import, graphql_state_manager, useOneStoreGraphQL);
|
|
113007
113147
|
}
|
|
113008
113148
|
}
|
|
113009
|
-
// version: 1.
|
|
113149
|
+
// version: 1.397.0-006831ea37
|
|
113010
113150
|
|
|
113011
113151
|
function createFragmentMap(documentNode) {
|
|
113012
113152
|
const fragments = {};
|
|
@@ -139720,7 +139860,7 @@ keys: keys$2,
|
|
|
139720
139860
|
configuration: { ...configurationForGraphQLAdapters$1 },
|
|
139721
139861
|
instrument: instrument$1,
|
|
139722
139862
|
});
|
|
139723
|
-
// version: 1.
|
|
139863
|
+
// version: 1.397.0-006831ea37
|
|
139724
139864
|
|
|
139725
139865
|
// On core the unstable adapters are re-exported with different names,
|
|
139726
139866
|
// we want to match them here.
|
|
@@ -139872,7 +140012,7 @@ keys: keys$2,
|
|
|
139872
140012
|
unstable_graphQL_imperative = createImperativeAdapter(luvio, createInstrumentedAdapter(ldsAdapter, adapterMetadata), adapterMetadata);
|
|
139873
140013
|
graphQLImperative = ldsAdapter;
|
|
139874
140014
|
});
|
|
139875
|
-
// version: 1.
|
|
140015
|
+
// version: 1.397.0-006831ea37
|
|
139876
140016
|
|
|
139877
140017
|
var gqlApi = /*#__PURE__*/Object.freeze({
|
|
139878
140018
|
__proto__: null,
|
|
@@ -140671,7 +140811,7 @@ keys: keys$2,
|
|
|
140671
140811
|
function register(r) {
|
|
140672
140812
|
callbacks$1.forEach((callback) => callback(r));
|
|
140673
140813
|
}
|
|
140674
|
-
// version: 1.
|
|
140814
|
+
// version: 1.397.0-08bd11d0bc
|
|
140675
140815
|
|
|
140676
140816
|
/**
|
|
140677
140817
|
* Copyright (c) 2022, Salesforce, Inc.,
|
|
@@ -142008,4 +142148,4 @@ keys: keys$2,
|
|
|
142008
142148
|
exports.subscribeToAdapter = subscribeToAdapter;
|
|
142009
142149
|
|
|
142010
142150
|
}));
|
|
142011
|
-
// version: 1.
|
|
142151
|
+
// version: 1.397.0-08bd11d0bc
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@salesforce/lds-worker-api",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.397.0",
|
|
4
4
|
"license": "SEE LICENSE IN LICENSE.txt",
|
|
5
5
|
"description": "",
|
|
6
6
|
"main": "dist/standalone/es/lds-worker-api.js",
|
|
@@ -35,14 +35,14 @@
|
|
|
35
35
|
},
|
|
36
36
|
"devDependencies": {
|
|
37
37
|
"@oat-sa/rollup-plugin-wildcard-external": "^1.0.0",
|
|
38
|
-
"@salesforce/lds-adapters-graphql": "^1.
|
|
39
|
-
"@salesforce/lds-adapters-uiapi": "^1.
|
|
40
|
-
"@salesforce/lds-default-luvio": "^1.
|
|
41
|
-
"@salesforce/lds-drafts": "^1.
|
|
42
|
-
"@salesforce/lds-graphql-parser": "^1.
|
|
43
|
-
"@salesforce/lds-luvio-engine": "^1.
|
|
44
|
-
"@salesforce/lds-runtime-mobile": "^1.
|
|
45
|
-
"@salesforce/nimbus-plugin-lds": "^1.
|
|
38
|
+
"@salesforce/lds-adapters-graphql": "^1.397.0",
|
|
39
|
+
"@salesforce/lds-adapters-uiapi": "^1.397.0",
|
|
40
|
+
"@salesforce/lds-default-luvio": "^1.397.0",
|
|
41
|
+
"@salesforce/lds-drafts": "^1.397.0",
|
|
42
|
+
"@salesforce/lds-graphql-parser": "^1.397.0",
|
|
43
|
+
"@salesforce/lds-luvio-engine": "^1.397.0",
|
|
44
|
+
"@salesforce/lds-runtime-mobile": "^1.397.0",
|
|
45
|
+
"@salesforce/nimbus-plugin-lds": "^1.397.0",
|
|
46
46
|
"ajv": "^8.11.0",
|
|
47
47
|
"glob": "^7.1.5",
|
|
48
48
|
"nimbus-types": "^2.0.0-alpha1",
|