@salesforce/lds-runtime-mobile 1.266.0-dev19 → 1.266.0-dev20

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.
Files changed (3) hide show
  1. package/dist/main.js +25 -11
  2. package/package.json +16 -16
  3. package/sfdc/main.js +25 -11
package/dist/main.js CHANGED
@@ -13,7 +13,7 @@
13
13
  */
14
14
  import { withRegistration, register } from '@salesforce/lds-default-luvio';
15
15
  import { setupInstrumentation, instrumentAdapter as instrumentAdapter$1, instrumentLuvio, setLdsAdaptersUiapiInstrumentation, setLdsNetworkAdapterInstrumentation } from '@salesforce/lds-instrumentation';
16
- import { HttpStatusCode, StoreKeySet, serializeStructuredKey, StringKeyInMemoryStore, Reader, deepFreeze, emitAdapterEvent, createCustomAdapterEventEmitter, StoreKeyMap, isFileReference, Environment, Luvio, InMemoryStore } from '@luvio/engine';
16
+ import { HttpStatusCode, setBypassDeepFreeze, StoreKeySet, serializeStructuredKey, StringKeyInMemoryStore, Reader, deepFreeze, emitAdapterEvent, createCustomAdapterEventEmitter, StoreKeyMap, isFileReference, Environment, Luvio, InMemoryStore } from '@luvio/engine';
17
17
  import excludeStaleRecordsGate from '@salesforce/gate/lds.graphqlEvalExcludeStaleRecords';
18
18
  import { parseAndVisit, Kind, buildSchema, isObjectType, defaultFieldResolver, visit, execute, parse as parse$7, extendSchema, isScalarType } from '@luvio/graphql-parser';
19
19
  import { RECORD_ID_PREFIX, RECORD_FIELDS_KEY_JUNCTION, isStoreKeyRecordViewEntity, getRecordId18, RECORD_REPRESENTATION_NAME, extractRecordIdFromStoreKey, keyBuilderQuickActionExecutionRepresentation, ingestQuickActionExecutionRepresentation, keyBuilderContentDocumentCompositeRepresentation, getResponseCacheKeysContentDocumentCompositeRepresentation, keyBuilderFromTypeContentDocumentCompositeRepresentation, ingestContentDocumentCompositeRepresentation, keyBuilderRecord, RECORD_VIEW_ENTITY_ID_PREFIX, getTypeCacheKeysRecord, keyBuilderFromTypeRecordRepresentation, ingestRecord, RecordRepresentationRepresentationType, ObjectInfoRepresentationType, getRecordAdapterFactory, getObjectInfoAdapterFactory, getObjectInfosAdapterFactory, getObjectInfoDirectoryAdapterFactory, UiApiNamespace, RecordRepresentationType, RecordRepresentationTTL, RecordRepresentationVersion, getRecordsAdapterFactory } from '@salesforce/lds-adapters-uiapi';
@@ -1014,7 +1014,9 @@ function isUnfulfilledSnapshot$1(cachedSnapshotResult) {
1014
1014
  * @param durableStore A DurableStore implementation
1015
1015
  * @param instrumentation An instrumentation function implementation
1016
1016
  */
1017
- function makeDurable(environment, { durableStore, instrumentation, useRevivingStore, enableDurableMetadataRefresh = false, }) {
1017
+ function makeDurable(environment, { durableStore, instrumentation, useRevivingStore, enableDurableMetadataRefresh = false, disableDeepFreeze = false, }) {
1018
+ // runtimes can choose to disable deepFreeze, e.g. headless mobile runtime
1019
+ setBypassDeepFreeze(disableDeepFreeze);
1018
1020
  let stagingStore = null;
1019
1021
  const durableTTLStore = new DurableTTLStore(durableStore);
1020
1022
  const mergeKeysPromiseMap = new Map();
@@ -8016,6 +8018,9 @@ function createSinglePredicate(val, operator, field, alias) {
8016
8018
  else if (field.apiName === 'weakEtag') {
8017
8019
  leftPath = '$.weakEtag';
8018
8020
  }
8021
+ else if (field.apiName === 'RecordTypeId') {
8022
+ leftPath = '$.recordTypeId';
8023
+ }
8019
8024
  return {
8020
8025
  alias,
8021
8026
  leftPath,
@@ -12989,6 +12994,9 @@ function normalizeRecordFields(key, entry) {
12989
12994
  * Transforms a record for storage in the durable store. The transformation involves denormalizing
12990
12995
  * scalar fields and persisting link metadata to transform back into a normalized representation
12991
12996
  *
12997
+ * If the record contains pending fields this will return undefined as pending records do not get persisted
12998
+ * to the durable store. There should be a refresh operation outbound that will bring in the updated record.
12999
+ *
12992
13000
  * @param normalizedRecord Record containing normalized field links
12993
13001
  * @param recordStore a store containing referenced record fields
12994
13002
  */
@@ -13003,7 +13011,9 @@ function buildDurableRecordRepresentation(normalizedRecord, records, pendingEntr
13003
13011
  // pending fields get filtered out of the durable store
13004
13012
  const { pending } = field;
13005
13013
  if (pending === true) {
13006
- continue;
13014
+ // do not write records with pending fields to the durable store
13015
+ // there should be a refresh operation outbound that will bring in the updated record
13016
+ return undefined;
13007
13017
  }
13008
13018
  const { __ref } = field;
13009
13019
  if (__ref !== undefined) {
@@ -13169,10 +13179,12 @@ function makeRecordDenormalizingDurableStore(luvio, durableStore, getStoreRecord
13169
13179
  };
13170
13180
  }
13171
13181
  const denormalizedRecord = buildDurableRecordRepresentation(record, storeRecords, recordEntries, store);
13172
- putEntries[recordKey] = {
13173
- data: denormalizedRecord,
13174
- metadata,
13175
- };
13182
+ if (denormalizedRecord !== undefined) {
13183
+ putEntries[recordKey] = {
13184
+ data: denormalizedRecord,
13185
+ metadata,
13186
+ };
13187
+ }
13176
13188
  }
13177
13189
  else {
13178
13190
  putEntries[key] = value;
@@ -16000,9 +16012,9 @@ function instrumentAdapter(adapter, metadata) {
16000
16012
  }
16001
16013
  }
16002
16014
  return instrumentAdapter$1(instrumentedMobileAdapter, metadata, {
16003
- trackL1Hits: true,
16004
- trackL2Hits: true,
16005
- trackCacheMisses: true,
16015
+ trackL1Hits: false,
16016
+ trackL2Hits: false,
16017
+ trackCacheMisses: false,
16006
16018
  reportObserver: (report) => {
16007
16019
  for (const observer of reportObservers) {
16008
16020
  observer(report);
@@ -17880,6 +17892,8 @@ function getRuntime() {
17880
17892
  const durableEnv = makeDurable(gqlEnv, {
17881
17893
  durableStore: recordDenormingStore,
17882
17894
  enableDurableMetadataRefresh: ldsMetadataRefreshEnabled.isOpen({ fallback: false }),
17895
+ // disable luvio deep freeze in headless environments
17896
+ disableDeepFreeze: typeof window === 'undefined',
17883
17897
  });
17884
17898
  getIngestRecords = durableEnv.getIngestStagingStoreRecords;
17885
17899
  getIngestMetadata = durableEnv.getIngestStagingStoreMetadata;
@@ -17983,4 +17997,4 @@ register({
17983
17997
  });
17984
17998
 
17985
17999
  export { O11Y_NAMESPACE_LDS_MOBILE, getRuntime, registerReportObserver, reportGraphqlQueryParseError };
17986
- // version: 1.266.0-dev19-80cc21d89
18000
+ // version: 1.266.0-dev20-117d849b4
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@salesforce/lds-runtime-mobile",
3
- "version": "1.266.0-dev19",
3
+ "version": "1.266.0-dev20",
4
4
  "license": "SEE LICENSE IN LICENSE.txt",
5
5
  "description": "LDS runtime for mobile/hybrid environments.",
6
6
  "main": "dist/main.js",
@@ -32,25 +32,25 @@
32
32
  "release:corejar": "yarn build && ../core-build/scripts/core.js --name=lds-runtime-mobile"
33
33
  },
34
34
  "dependencies": {
35
- "@salesforce/lds-adapters-uiapi": "^1.266.0-dev19",
36
- "@salesforce/lds-bindings": "^1.266.0-dev19",
37
- "@salesforce/lds-instrumentation": "^1.266.0-dev19",
38
- "@salesforce/lds-priming": "^1.266.0-dev19",
35
+ "@salesforce/lds-adapters-uiapi": "^1.266.0-dev20",
36
+ "@salesforce/lds-bindings": "^1.266.0-dev20",
37
+ "@salesforce/lds-instrumentation": "^1.266.0-dev20",
38
+ "@salesforce/lds-priming": "^1.266.0-dev20",
39
39
  "@salesforce/user": "0.0.21",
40
40
  "o11y": "244.0.0"
41
41
  },
42
42
  "devDependencies": {
43
- "@salesforce/lds-adapters-graphql": "^1.266.0-dev19",
44
- "@salesforce/lds-drafts": "^1.266.0-dev19",
45
- "@salesforce/lds-drafts-adapters-uiapi": "^1.266.0-dev19",
46
- "@salesforce/lds-graphql-eval": "^1.266.0-dev19",
47
- "@salesforce/lds-network-adapter": "^1.266.0-dev19",
48
- "@salesforce/lds-network-nimbus": "^1.266.0-dev19",
49
- "@salesforce/lds-store-binary": "^1.266.0-dev19",
50
- "@salesforce/lds-store-nimbus": "^1.266.0-dev19",
51
- "@salesforce/lds-store-sql": "^1.266.0-dev19",
52
- "@salesforce/lds-utils-adapters": "^1.266.0-dev19",
53
- "@salesforce/nimbus-plugin-lds": "^1.266.0-dev19",
43
+ "@salesforce/lds-adapters-graphql": "^1.266.0-dev20",
44
+ "@salesforce/lds-drafts": "^1.266.0-dev20",
45
+ "@salesforce/lds-drafts-adapters-uiapi": "^1.266.0-dev20",
46
+ "@salesforce/lds-graphql-eval": "^1.266.0-dev20",
47
+ "@salesforce/lds-network-adapter": "^1.266.0-dev20",
48
+ "@salesforce/lds-network-nimbus": "^1.266.0-dev20",
49
+ "@salesforce/lds-store-binary": "^1.266.0-dev20",
50
+ "@salesforce/lds-store-nimbus": "^1.266.0-dev20",
51
+ "@salesforce/lds-store-sql": "^1.266.0-dev20",
52
+ "@salesforce/lds-utils-adapters": "^1.266.0-dev20",
53
+ "@salesforce/nimbus-plugin-lds": "^1.266.0-dev20",
54
54
  "babel-plugin-dynamic-import-node": "^2.3.3",
55
55
  "wait-for-expect": "^3.0.2"
56
56
  },
package/sfdc/main.js CHANGED
@@ -13,7 +13,7 @@
13
13
  */
14
14
  import { withRegistration, register } from 'native/ldsEngineMobile';
15
15
  import { setupInstrumentation, instrumentAdapter as instrumentAdapter$1, instrumentLuvio, setLdsAdaptersUiapiInstrumentation, setLdsNetworkAdapterInstrumentation } from 'force/ldsInstrumentation';
16
- import { HttpStatusCode, StoreKeySet, serializeStructuredKey, StringKeyInMemoryStore, Reader, deepFreeze, emitAdapterEvent, createCustomAdapterEventEmitter, StoreKeyMap, isFileReference, Environment, Luvio, InMemoryStore } from 'force/luvioEngine';
16
+ import { HttpStatusCode, setBypassDeepFreeze, StoreKeySet, serializeStructuredKey, StringKeyInMemoryStore, Reader, deepFreeze, emitAdapterEvent, createCustomAdapterEventEmitter, StoreKeyMap, isFileReference, Environment, Luvio, InMemoryStore } from 'force/luvioEngine';
17
17
  import excludeStaleRecordsGate from '@salesforce/gate/lds.graphqlEvalExcludeStaleRecords';
18
18
  import { parseAndVisit, Kind, buildSchema, isObjectType, defaultFieldResolver, visit, execute, parse as parse$7, extendSchema, isScalarType } from 'force/ldsGraphqlParser';
19
19
  import { RECORD_ID_PREFIX, RECORD_FIELDS_KEY_JUNCTION, isStoreKeyRecordViewEntity, getRecordId18, RECORD_REPRESENTATION_NAME, extractRecordIdFromStoreKey, keyBuilderQuickActionExecutionRepresentation, ingestQuickActionExecutionRepresentation, keyBuilderContentDocumentCompositeRepresentation, getResponseCacheKeysContentDocumentCompositeRepresentation, keyBuilderFromTypeContentDocumentCompositeRepresentation, ingestContentDocumentCompositeRepresentation, keyBuilderRecord, RECORD_VIEW_ENTITY_ID_PREFIX, getTypeCacheKeysRecord, keyBuilderFromTypeRecordRepresentation, ingestRecord, RecordRepresentationRepresentationType, ObjectInfoRepresentationType, getRecordAdapterFactory, getObjectInfoAdapterFactory, getObjectInfosAdapterFactory, getObjectInfoDirectoryAdapterFactory, UiApiNamespace, RecordRepresentationType, RecordRepresentationTTL, RecordRepresentationVersion, getRecordsAdapterFactory } from 'force/ldsAdaptersUiapi';
@@ -1014,7 +1014,9 @@ function isUnfulfilledSnapshot$1(cachedSnapshotResult) {
1014
1014
  * @param durableStore A DurableStore implementation
1015
1015
  * @param instrumentation An instrumentation function implementation
1016
1016
  */
1017
- function makeDurable(environment, { durableStore, instrumentation, useRevivingStore, enableDurableMetadataRefresh = false, }) {
1017
+ function makeDurable(environment, { durableStore, instrumentation, useRevivingStore, enableDurableMetadataRefresh = false, disableDeepFreeze = false, }) {
1018
+ // runtimes can choose to disable deepFreeze, e.g. headless mobile runtime
1019
+ setBypassDeepFreeze(disableDeepFreeze);
1018
1020
  let stagingStore = null;
1019
1021
  const durableTTLStore = new DurableTTLStore(durableStore);
1020
1022
  const mergeKeysPromiseMap = new Map();
@@ -8016,6 +8018,9 @@ function createSinglePredicate(val, operator, field, alias) {
8016
8018
  else if (field.apiName === 'weakEtag') {
8017
8019
  leftPath = '$.weakEtag';
8018
8020
  }
8021
+ else if (field.apiName === 'RecordTypeId') {
8022
+ leftPath = '$.recordTypeId';
8023
+ }
8019
8024
  return {
8020
8025
  alias,
8021
8026
  leftPath,
@@ -12989,6 +12994,9 @@ function normalizeRecordFields(key, entry) {
12989
12994
  * Transforms a record for storage in the durable store. The transformation involves denormalizing
12990
12995
  * scalar fields and persisting link metadata to transform back into a normalized representation
12991
12996
  *
12997
+ * If the record contains pending fields this will return undefined as pending records do not get persisted
12998
+ * to the durable store. There should be a refresh operation outbound that will bring in the updated record.
12999
+ *
12992
13000
  * @param normalizedRecord Record containing normalized field links
12993
13001
  * @param recordStore a store containing referenced record fields
12994
13002
  */
@@ -13003,7 +13011,9 @@ function buildDurableRecordRepresentation(normalizedRecord, records, pendingEntr
13003
13011
  // pending fields get filtered out of the durable store
13004
13012
  const { pending } = field;
13005
13013
  if (pending === true) {
13006
- continue;
13014
+ // do not write records with pending fields to the durable store
13015
+ // there should be a refresh operation outbound that will bring in the updated record
13016
+ return undefined;
13007
13017
  }
13008
13018
  const { __ref } = field;
13009
13019
  if (__ref !== undefined) {
@@ -13169,10 +13179,12 @@ function makeRecordDenormalizingDurableStore(luvio, durableStore, getStoreRecord
13169
13179
  };
13170
13180
  }
13171
13181
  const denormalizedRecord = buildDurableRecordRepresentation(record, storeRecords, recordEntries, store);
13172
- putEntries[recordKey] = {
13173
- data: denormalizedRecord,
13174
- metadata,
13175
- };
13182
+ if (denormalizedRecord !== undefined) {
13183
+ putEntries[recordKey] = {
13184
+ data: denormalizedRecord,
13185
+ metadata,
13186
+ };
13187
+ }
13176
13188
  }
13177
13189
  else {
13178
13190
  putEntries[key] = value;
@@ -16000,9 +16012,9 @@ function instrumentAdapter(adapter, metadata) {
16000
16012
  }
16001
16013
  }
16002
16014
  return instrumentAdapter$1(instrumentedMobileAdapter, metadata, {
16003
- trackL1Hits: true,
16004
- trackL2Hits: true,
16005
- trackCacheMisses: true,
16015
+ trackL1Hits: false,
16016
+ trackL2Hits: false,
16017
+ trackCacheMisses: false,
16006
16018
  reportObserver: (report) => {
16007
16019
  for (const observer of reportObservers) {
16008
16020
  observer(report);
@@ -17880,6 +17892,8 @@ function getRuntime() {
17880
17892
  const durableEnv = makeDurable(gqlEnv, {
17881
17893
  durableStore: recordDenormingStore,
17882
17894
  enableDurableMetadataRefresh: ldsMetadataRefreshEnabled.isOpen({ fallback: false }),
17895
+ // disable luvio deep freeze in headless environments
17896
+ disableDeepFreeze: typeof window === 'undefined',
17883
17897
  });
17884
17898
  getIngestRecords = durableEnv.getIngestStagingStoreRecords;
17885
17899
  getIngestMetadata = durableEnv.getIngestStagingStoreMetadata;
@@ -17983,4 +17997,4 @@ register({
17983
17997
  });
17984
17998
 
17985
17999
  export { O11Y_NAMESPACE_LDS_MOBILE, getRuntime, registerReportObserver, reportGraphqlQueryParseError };
17986
- // version: 1.266.0-dev19-80cc21d89
18000
+ // version: 1.266.0-dev20-117d849b4