@salesforce/lds-runtime-mobile 1.287.0-dev16 → 1.287.0-dev17
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/main.js +56 -2
- package/package.json +16 -16
- package/sfdc/main.js +56 -2
package/dist/main.js
CHANGED
|
@@ -13835,6 +13835,60 @@ function hasGraphQlErrors(response) {
|
|
|
13835
13835
|
response.errors.length > 0);
|
|
13836
13836
|
}
|
|
13837
13837
|
|
|
13838
|
+
const MAX_ID_CHUNK_LENGTH = 100;
|
|
13839
|
+
/**
|
|
13840
|
+
* Adapter for limiting the number of record ids to a maximum of 100 and sending them
|
|
13841
|
+
* out in batches to the getRecords adapter
|
|
13842
|
+
*
|
|
13843
|
+
* @param luvio
|
|
13844
|
+
* @returns
|
|
13845
|
+
*/
|
|
13846
|
+
function batchingGetRecordsAdapterFactory(luvio) {
|
|
13847
|
+
const getRecordsAdapter = getRecordsAdapterFactory(luvio);
|
|
13848
|
+
const batchGetRecords = (config, requestContext) => {
|
|
13849
|
+
const seenRecords = new StoreKeySet();
|
|
13850
|
+
const chunks = chunkConfig(config);
|
|
13851
|
+
const promises = chunks.map((conf) => {
|
|
13852
|
+
return getRecordsAdapter(conf, requestContext);
|
|
13853
|
+
});
|
|
13854
|
+
return Promise.all(promises).then((results) => {
|
|
13855
|
+
const data = results.reduce((accu, item) => {
|
|
13856
|
+
if (item !== null && item.data !== undefined) {
|
|
13857
|
+
accu.results = accu.results.concat(item.data.results);
|
|
13858
|
+
seenRecords.merge(item.seenRecords);
|
|
13859
|
+
}
|
|
13860
|
+
return accu;
|
|
13861
|
+
}, { results: [] });
|
|
13862
|
+
return {
|
|
13863
|
+
data: data,
|
|
13864
|
+
seenRecords,
|
|
13865
|
+
state: 'Fulfilled',
|
|
13866
|
+
};
|
|
13867
|
+
});
|
|
13868
|
+
};
|
|
13869
|
+
return batchGetRecords;
|
|
13870
|
+
}
|
|
13871
|
+
/**
|
|
13872
|
+
* Given a GetRecordsConfig it will chunk it into multiple configs with a maximum of 100
|
|
13873
|
+
* record ids per config.
|
|
13874
|
+
*
|
|
13875
|
+
* @param config
|
|
13876
|
+
* @returns
|
|
13877
|
+
*/
|
|
13878
|
+
function chunkConfig(config) {
|
|
13879
|
+
const chunks = [];
|
|
13880
|
+
config.records.forEach((record) => {
|
|
13881
|
+
const { recordIds, fields } = record;
|
|
13882
|
+
for (let i = 0, len = recordIds.length; i < len; i += MAX_ID_CHUNK_LENGTH) {
|
|
13883
|
+
const chunk = recordIds.slice(i, i + MAX_ID_CHUNK_LENGTH);
|
|
13884
|
+
chunks.push({
|
|
13885
|
+
records: [{ recordIds: chunk, fields: fields !== undefined ? fields : [] }],
|
|
13886
|
+
});
|
|
13887
|
+
}
|
|
13888
|
+
});
|
|
13889
|
+
return chunks;
|
|
13890
|
+
}
|
|
13891
|
+
|
|
13838
13892
|
function generateUniqueRecordId() {
|
|
13839
13893
|
return `UiApi::GraphQLRepresentation:${Date.now() + Math.random().toFixed(5).split('.')[1]}`;
|
|
13840
13894
|
}
|
|
@@ -14106,7 +14160,7 @@ function initiateStaleRecordRefresh(luvio, keyMap) {
|
|
|
14106
14160
|
const staleRecordKeys = from$1(keyMap.values())
|
|
14107
14161
|
.flat()
|
|
14108
14162
|
.map((id) => `UiApi::RecordRepresentation:${id}`);
|
|
14109
|
-
luvio.storeExpirePossibleStaleRecords(staleRecordKeys, makeGetRecordsConfig(keyMap),
|
|
14163
|
+
luvio.storeExpirePossibleStaleRecords(staleRecordKeys, makeGetRecordsConfig(keyMap), batchingGetRecordsAdapterFactory(luvio));
|
|
14110
14164
|
}
|
|
14111
14165
|
function makeGetRecordsConfig(keyMap) {
|
|
14112
14166
|
const records = [];
|
|
@@ -18429,4 +18483,4 @@ register({
|
|
|
18429
18483
|
});
|
|
18430
18484
|
|
|
18431
18485
|
export { O11Y_NAMESPACE_LDS_MOBILE, getRuntime, registerReportObserver, reportGraphqlQueryParseError };
|
|
18432
|
-
// version: 1.287.0-
|
|
18486
|
+
// version: 1.287.0-dev17-670374cbf3
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@salesforce/lds-runtime-mobile",
|
|
3
|
-
"version": "1.287.0-
|
|
3
|
+
"version": "1.287.0-dev17",
|
|
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.287.0-
|
|
36
|
-
"@salesforce/lds-bindings": "^1.287.0-
|
|
37
|
-
"@salesforce/lds-instrumentation": "^1.287.0-
|
|
38
|
-
"@salesforce/lds-priming": "^1.287.0-
|
|
35
|
+
"@salesforce/lds-adapters-uiapi": "^1.287.0-dev17",
|
|
36
|
+
"@salesforce/lds-bindings": "^1.287.0-dev17",
|
|
37
|
+
"@salesforce/lds-instrumentation": "^1.287.0-dev17",
|
|
38
|
+
"@salesforce/lds-priming": "^1.287.0-dev17",
|
|
39
39
|
"@salesforce/user": "0.0.21",
|
|
40
40
|
"o11y": "250.7.0"
|
|
41
41
|
},
|
|
42
42
|
"devDependencies": {
|
|
43
|
-
"@salesforce/lds-adapters-graphql": "^1.287.0-
|
|
44
|
-
"@salesforce/lds-drafts": "^1.287.0-
|
|
45
|
-
"@salesforce/lds-drafts-adapters-uiapi": "^1.287.0-
|
|
46
|
-
"@salesforce/lds-graphql-eval": "^1.287.0-
|
|
47
|
-
"@salesforce/lds-network-adapter": "^1.287.0-
|
|
48
|
-
"@salesforce/lds-network-nimbus": "^1.287.0-
|
|
49
|
-
"@salesforce/lds-store-binary": "^1.287.0-
|
|
50
|
-
"@salesforce/lds-store-nimbus": "^1.287.0-
|
|
51
|
-
"@salesforce/lds-store-sql": "^1.287.0-
|
|
52
|
-
"@salesforce/lds-utils-adapters": "^1.287.0-
|
|
53
|
-
"@salesforce/nimbus-plugin-lds": "^1.287.0-
|
|
43
|
+
"@salesforce/lds-adapters-graphql": "^1.287.0-dev17",
|
|
44
|
+
"@salesforce/lds-drafts": "^1.287.0-dev17",
|
|
45
|
+
"@salesforce/lds-drafts-adapters-uiapi": "^1.287.0-dev17",
|
|
46
|
+
"@salesforce/lds-graphql-eval": "^1.287.0-dev17",
|
|
47
|
+
"@salesforce/lds-network-adapter": "^1.287.0-dev17",
|
|
48
|
+
"@salesforce/lds-network-nimbus": "^1.287.0-dev17",
|
|
49
|
+
"@salesforce/lds-store-binary": "^1.287.0-dev17",
|
|
50
|
+
"@salesforce/lds-store-nimbus": "^1.287.0-dev17",
|
|
51
|
+
"@salesforce/lds-store-sql": "^1.287.0-dev17",
|
|
52
|
+
"@salesforce/lds-utils-adapters": "^1.287.0-dev17",
|
|
53
|
+
"@salesforce/nimbus-plugin-lds": "^1.287.0-dev17",
|
|
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
|
@@ -13835,6 +13835,60 @@ function hasGraphQlErrors(response) {
|
|
|
13835
13835
|
response.errors.length > 0);
|
|
13836
13836
|
}
|
|
13837
13837
|
|
|
13838
|
+
const MAX_ID_CHUNK_LENGTH = 100;
|
|
13839
|
+
/**
|
|
13840
|
+
* Adapter for limiting the number of record ids to a maximum of 100 and sending them
|
|
13841
|
+
* out in batches to the getRecords adapter
|
|
13842
|
+
*
|
|
13843
|
+
* @param luvio
|
|
13844
|
+
* @returns
|
|
13845
|
+
*/
|
|
13846
|
+
function batchingGetRecordsAdapterFactory(luvio) {
|
|
13847
|
+
const getRecordsAdapter = getRecordsAdapterFactory(luvio);
|
|
13848
|
+
const batchGetRecords = (config, requestContext) => {
|
|
13849
|
+
const seenRecords = new StoreKeySet();
|
|
13850
|
+
const chunks = chunkConfig(config);
|
|
13851
|
+
const promises = chunks.map((conf) => {
|
|
13852
|
+
return getRecordsAdapter(conf, requestContext);
|
|
13853
|
+
});
|
|
13854
|
+
return Promise.all(promises).then((results) => {
|
|
13855
|
+
const data = results.reduce((accu, item) => {
|
|
13856
|
+
if (item !== null && item.data !== undefined) {
|
|
13857
|
+
accu.results = accu.results.concat(item.data.results);
|
|
13858
|
+
seenRecords.merge(item.seenRecords);
|
|
13859
|
+
}
|
|
13860
|
+
return accu;
|
|
13861
|
+
}, { results: [] });
|
|
13862
|
+
return {
|
|
13863
|
+
data: data,
|
|
13864
|
+
seenRecords,
|
|
13865
|
+
state: 'Fulfilled',
|
|
13866
|
+
};
|
|
13867
|
+
});
|
|
13868
|
+
};
|
|
13869
|
+
return batchGetRecords;
|
|
13870
|
+
}
|
|
13871
|
+
/**
|
|
13872
|
+
* Given a GetRecordsConfig it will chunk it into multiple configs with a maximum of 100
|
|
13873
|
+
* record ids per config.
|
|
13874
|
+
*
|
|
13875
|
+
* @param config
|
|
13876
|
+
* @returns
|
|
13877
|
+
*/
|
|
13878
|
+
function chunkConfig(config) {
|
|
13879
|
+
const chunks = [];
|
|
13880
|
+
config.records.forEach((record) => {
|
|
13881
|
+
const { recordIds, fields } = record;
|
|
13882
|
+
for (let i = 0, len = recordIds.length; i < len; i += MAX_ID_CHUNK_LENGTH) {
|
|
13883
|
+
const chunk = recordIds.slice(i, i + MAX_ID_CHUNK_LENGTH);
|
|
13884
|
+
chunks.push({
|
|
13885
|
+
records: [{ recordIds: chunk, fields: fields !== undefined ? fields : [] }],
|
|
13886
|
+
});
|
|
13887
|
+
}
|
|
13888
|
+
});
|
|
13889
|
+
return chunks;
|
|
13890
|
+
}
|
|
13891
|
+
|
|
13838
13892
|
function generateUniqueRecordId() {
|
|
13839
13893
|
return `UiApi::GraphQLRepresentation:${Date.now() + Math.random().toFixed(5).split('.')[1]}`;
|
|
13840
13894
|
}
|
|
@@ -14106,7 +14160,7 @@ function initiateStaleRecordRefresh(luvio, keyMap) {
|
|
|
14106
14160
|
const staleRecordKeys = from$1(keyMap.values())
|
|
14107
14161
|
.flat()
|
|
14108
14162
|
.map((id) => `UiApi::RecordRepresentation:${id}`);
|
|
14109
|
-
luvio.storeExpirePossibleStaleRecords(staleRecordKeys, makeGetRecordsConfig(keyMap),
|
|
14163
|
+
luvio.storeExpirePossibleStaleRecords(staleRecordKeys, makeGetRecordsConfig(keyMap), batchingGetRecordsAdapterFactory(luvio));
|
|
14110
14164
|
}
|
|
14111
14165
|
function makeGetRecordsConfig(keyMap) {
|
|
14112
14166
|
const records = [];
|
|
@@ -18429,4 +18483,4 @@ register({
|
|
|
18429
18483
|
});
|
|
18430
18484
|
|
|
18431
18485
|
export { O11Y_NAMESPACE_LDS_MOBILE, getRuntime, registerReportObserver, reportGraphqlQueryParseError };
|
|
18432
|
-
// version: 1.287.0-
|
|
18486
|
+
// version: 1.287.0-dev17-670374cbf3
|