@salesforce/lds-ads-bridge 1.214.2 → 1.216.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.
@@ -341,13 +341,28 @@ var FragmentReadResultState;
341
341
  state: FragmentReadResultState.Missing,
342
342
  });
343
343
 
344
- var ScalarTypes;
345
- (function (ScalarTypes) {
346
- ScalarTypes[ScalarTypes["String"] = 0] = "String";
347
- ScalarTypes[ScalarTypes["Boolean"] = 1] = "Boolean";
348
- ScalarTypes[ScalarTypes["Number"] = 2] = "Number";
349
- ScalarTypes[ScalarTypes["Integer"] = 3] = "Integer";
350
- })(ScalarTypes || (ScalarTypes = {}));
344
+ var ResourceParamType;
345
+ (function (ResourceParamType) {
346
+ ResourceParamType[ResourceParamType["UrlParameter"] = 0] = "UrlParameter";
347
+ ResourceParamType[ResourceParamType["QueryParameter"] = 1] = "QueryParameter";
348
+ ResourceParamType[ResourceParamType["Body"] = 2] = "Body";
349
+ ResourceParamType[ResourceParamType["Header"] = 3] = "Header";
350
+ })(ResourceParamType || (ResourceParamType = {}));
351
+ var TypeCheckShapes;
352
+ (function (TypeCheckShapes) {
353
+ TypeCheckShapes[TypeCheckShapes["String"] = 0] = "String";
354
+ TypeCheckShapes[TypeCheckShapes["Boolean"] = 1] = "Boolean";
355
+ TypeCheckShapes[TypeCheckShapes["Number"] = 2] = "Number";
356
+ TypeCheckShapes[TypeCheckShapes["Integer"] = 3] = "Integer";
357
+ TypeCheckShapes[TypeCheckShapes["Unsupported"] = 4] = "Unsupported";
358
+ })(TypeCheckShapes || (TypeCheckShapes = {}));
359
+
360
+ // Note: these should be in sync with the compiler ones:
361
+ // https://github.com/salesforce-experience-platform-emu/luvio/blob/main/packages/%40luvio/compiler/src/intermediate/resource.ts#L76-L79
362
+ const CONFIG_PROPERTY_URL_PARAMS = 'urlParams';
363
+ const CONFIG_PROPERTY_QUERY_PARAMS = 'queryParams';
364
+ const CONFIG_PROPERTY_BODY = 'body';
365
+ const CONFIG_PROPERTY_HEADERS = 'headers';
351
366
  function ingestShape(input, path, luvio, store, timestamp, ttlToUse, key, normalize, namespace, version, representationName, equals) {
352
367
  const existingRecord = store.readEntry(key);
353
368
  let incomingRecord = normalize(input, existingRecord, {
@@ -369,7 +384,50 @@ function ingestShape(input, path, luvio, store, timestamp, ttlToUse, key, normal
369
384
  luvio.publishStoreMetadata(key, storeMetadataParams);
370
385
  }
371
386
  }
372
- // engine version: 0.144.6-819f7fff
387
+ function createResourceParams(configMetadata) {
388
+ return (config) => createResourceParamsImpl(config, configMetadata);
389
+ }
390
+ function createResourceParamsImpl(config, configMetadata) {
391
+ const parametersReducer = (acc, { name }) => {
392
+ acc[name] = config[name];
393
+ return acc;
394
+ };
395
+ const urlParams = configMetadata
396
+ .filter((p) => p.resourceType === ResourceParamType.UrlParameter)
397
+ .reduce(parametersReducer, {});
398
+ const queryParams = configMetadata
399
+ .filter((p) => p.resourceType === ResourceParamType.QueryParameter)
400
+ .reduce(parametersReducer, {});
401
+ const headerParams = configMetadata
402
+ .filter((p) => p.resourceType === ResourceParamType.Header)
403
+ .reduce(parametersReducer, {});
404
+ const bodyParams = configMetadata.filter((p) => p.resourceType === ResourceParamType.Body);
405
+ const actualBodyParams = bodyParams.reduce((acc, { name, required }) => {
406
+ const configValue = config[name];
407
+ if (required) {
408
+ acc[name] = configValue;
409
+ }
410
+ else if (configValue !== undefined) {
411
+ acc[name] = configValue;
412
+ }
413
+ return acc;
414
+ }, {});
415
+ const resourceParams = {};
416
+ if (keys$2(urlParams).length > 0) {
417
+ resourceParams[CONFIG_PROPERTY_URL_PARAMS] = urlParams;
418
+ }
419
+ if (keys$2(queryParams).length > 0) {
420
+ resourceParams[CONFIG_PROPERTY_QUERY_PARAMS] = queryParams;
421
+ }
422
+ if (bodyParams.length > 0) {
423
+ resourceParams[CONFIG_PROPERTY_BODY] = actualBodyParams;
424
+ }
425
+ if (keys$2(headerParams).length > 0) {
426
+ resourceParams[CONFIG_PROPERTY_HEADERS] = headerParams;
427
+ }
428
+ return resourceParams;
429
+ }
430
+ // engine version: 0.144.8-6b791a2d
373
431
 
374
432
  /**
375
433
  * Copyright (c) 2022, Salesforce, Inc.,
@@ -416,7 +474,7 @@ const callbacks$1 = [];
416
474
  function register(r) {
417
475
  callbacks$1.forEach((callback) => callback(r));
418
476
  }
419
- // version: 1.214.2-a5e1ff9a2
477
+ // version: 1.216.0-439ed6d37
420
478
 
421
479
  /**
422
480
  * Returns true if the value acts like a Promise, i.e. has a "then" function,
@@ -5423,10 +5481,13 @@ function getFetchResponseStatusText(status) {
5423
5481
  return `Unexpected HTTP Status Code: ${status}`;
5424
5482
  }
5425
5483
  }
5426
- function generateParamConfigMetadata(name, required, coerceFn) {
5484
+ function generateParamConfigMetadata(name, required, resourceType, typeCheckShape, isArrayShape = false, coerceFn) {
5427
5485
  return {
5428
5486
  name,
5429
5487
  required,
5488
+ resourceType,
5489
+ typeCheckShape,
5490
+ isArrayShape,
5430
5491
  coerceFn,
5431
5492
  };
5432
5493
  }
@@ -5452,6 +5513,16 @@ const { concat, filter, includes, push: push$1, reduce } = Array.prototype;
5452
5513
  function isString(value) {
5453
5514
  return typeof value === 'string';
5454
5515
  }
5516
+ /**
5517
+ * @param value The array to inspect.
5518
+ * @returns True if the array is non-empty and contains only non-empty strings.
5519
+ */
5520
+ function isArrayOfNonEmptyStrings(value) {
5521
+ if (value.length === 0) {
5522
+ return false;
5523
+ }
5524
+ return value.every((v) => isString(v) && v.trim().length > 0);
5525
+ }
5455
5526
  /**
5456
5527
  * @param value The array to dedupe
5457
5528
  * @returns An array without duplicates.
@@ -5628,6 +5699,51 @@ function createLink$1(ref) {
5628
5699
  };
5629
5700
  }
5630
5701
 
5702
+ const RECORD_ID_DECODER = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456';
5703
+ /**
5704
+ * Converts to 18-char record ids. Details at http://sfdc.co/bnBMvm.
5705
+ * @param value A 15- or 18-char record id.
5706
+ * @returns An 18-char record id, and throws error if an invalid record id was provided.
5707
+ */
5708
+ function getRecordId18(value) {
5709
+ if (isString(value)) {
5710
+ if (value.length === 18) {
5711
+ return value;
5712
+ }
5713
+ else if (value.length === 15) {
5714
+ // Add the 3 character suffix
5715
+ let recordId = value;
5716
+ for (let offset = 0; offset < 15; offset += 5) {
5717
+ let decodeValue = 0;
5718
+ for (let bit = 0; bit < 5; bit++) {
5719
+ const c = value[offset + bit];
5720
+ if (c >= 'A' && c <= 'Z') {
5721
+ decodeValue += 1 << bit;
5722
+ }
5723
+ }
5724
+ recordId += RECORD_ID_DECODER[decodeValue];
5725
+ }
5726
+ return recordId;
5727
+ }
5728
+ }
5729
+ else if (value === undefined || value === null) {
5730
+ // Not throwing here - input params might not have settled
5731
+ return undefined;
5732
+ }
5733
+ if (process.env.NODE_ENV !== 'production') {
5734
+ throw new Error(`Configuration Error: Invalid RecordId passed: ${JSON.stringify(value)}. RecordIds must be 15 or 18 character strings.`);
5735
+ }
5736
+ return undefined;
5737
+ }
5738
+
5739
+ function toSortedStringArray(value) {
5740
+ const valueArray = isArray(value) ? value : [value];
5741
+ if (valueArray.length !== 0 && isArrayOfNonEmptyStrings(valueArray)) {
5742
+ return dedupe(valueArray).sort();
5743
+ }
5744
+ return undefined;
5745
+ }
5746
+
5631
5747
  const VERSION$2j = "d1e589a127fb1060c89070cdb6f500b2";
5632
5748
  function validate$1C(obj, path = 'RecordTypeInfoRepresentation') {
5633
5749
  const v_error = (() => {
@@ -8875,17 +8991,18 @@ function createResourceRequest$15(config) {
8875
8991
  priority: 'normal',
8876
8992
  };
8877
8993
  }
8878
- function createResourceParams$Y(config) {
8879
- const resourceParams = {
8880
- urlParams: {
8881
- recordId: config.recordId
8882
- },
8883
- queryParams: {
8884
- childRelationships: config.childRelationships, fields: config.fields, forms: config.forms, layoutTypes: config.layoutTypes, modes: config.modes, optionalFields: config.optionalFields, pageSize: config.pageSize, updateMru: config.updateMru
8885
- }
8886
- };
8887
- return resourceParams;
8888
- }
8994
+ const getRecord_ConfigPropertyMetadata = [
8995
+ generateParamConfigMetadata('recordId', true, 0 /* UrlParameter */, 0 /* String */, false, getRecordId18),
8996
+ generateParamConfigMetadata('childRelationships', false, 1 /* QueryParameter */, 0 /* String */, true),
8997
+ generateParamConfigMetadata('fields', false, 1 /* QueryParameter */, 0 /* String */, true, getFieldApiNamesArray),
8998
+ generateParamConfigMetadata('forms', false, 1 /* QueryParameter */, 0 /* String */, true),
8999
+ generateParamConfigMetadata('layoutTypes', false, 1 /* QueryParameter */, 0 /* String */, true, toSortedStringArray),
9000
+ generateParamConfigMetadata('modes', false, 1 /* QueryParameter */, 0 /* String */, true, toSortedStringArray),
9001
+ generateParamConfigMetadata('optionalFields', false, 1 /* QueryParameter */, 0 /* String */, true, getFieldApiNamesArray),
9002
+ generateParamConfigMetadata('pageSize', false, 1 /* QueryParameter */, 3 /* Integer */),
9003
+ generateParamConfigMetadata('updateMru', false, 1 /* QueryParameter */, 1 /* Boolean */),
9004
+ ];
9005
+ const createResourceParams$Y = /*#__PURE__*/ createResourceParams(getRecord_ConfigPropertyMetadata);
8889
9006
 
8890
9007
  // used by getUiApiRecordsBatchByRecordIds#selectChildResourceParams
8891
9008
  function buildRecordSelector(luvio, recordId, fields, optionalFields) {
@@ -9402,35 +9519,35 @@ const ingest$1Q = (input, path, luvio, store, timestamp) => {
9402
9519
 
9403
9520
  const adapterName$S = 'getListUiByApiName';
9404
9521
  const getListUiByApiName_ConfigPropertyMetadata = [
9405
- generateParamConfigMetadata('listViewApiName', true),
9406
- generateParamConfigMetadata('objectApiName', true, getObjectApiName$1),
9407
- generateParamConfigMetadata('fields', false, getFieldApiNamesArray),
9408
- generateParamConfigMetadata('optionalFields', false, getFieldApiNamesArray),
9409
- generateParamConfigMetadata('pageSize', false),
9410
- generateParamConfigMetadata('pageToken', false),
9411
- generateParamConfigMetadata('sortBy', false, getFieldApiNamesArray),
9522
+ generateParamConfigMetadata('listViewApiName', true, 0 /* UrlParameter */, 0 /* String */),
9523
+ generateParamConfigMetadata('objectApiName', true, 0 /* UrlParameter */, 0 /* String */, false, getObjectApiName$1),
9524
+ generateParamConfigMetadata('fields', false, 1 /* QueryParameter */, 0 /* String */, true, getFieldApiNamesArray),
9525
+ generateParamConfigMetadata('optionalFields', false, 1 /* QueryParameter */, 0 /* String */, true, getFieldApiNamesArray),
9526
+ generateParamConfigMetadata('pageSize', false, 1 /* QueryParameter */, 3 /* Integer */),
9527
+ generateParamConfigMetadata('pageToken', false, 1 /* QueryParameter */, 0 /* String */),
9528
+ generateParamConfigMetadata('sortBy', false, 1 /* QueryParameter */, 0 /* String */, true, getFieldApiNamesArray),
9412
9529
  ];
9413
9530
  const getListUiByApiName_ConfigPropertyNames = /*#__PURE__*/ buildAdapterValidationConfig(adapterName$S, getListUiByApiName_ConfigPropertyMetadata);
9414
9531
 
9415
9532
  const adapterName$R = 'getListUiByListViewId';
9416
9533
  const getListUiByListViewId_ConfigPropertyMetadata = [
9417
- generateParamConfigMetadata('listViewId', true),
9418
- generateParamConfigMetadata('fields', false, getFieldApiNamesArray),
9419
- generateParamConfigMetadata('optionalFields', false, getFieldApiNamesArray),
9420
- generateParamConfigMetadata('pageSize', false),
9421
- generateParamConfigMetadata('pageToken', false),
9422
- generateParamConfigMetadata('sortBy', false, getFieldApiNamesArray),
9534
+ generateParamConfigMetadata('listViewId', true, 0 /* UrlParameter */, 0 /* String */),
9535
+ generateParamConfigMetadata('fields', false, 1 /* QueryParameter */, 0 /* String */, true, getFieldApiNamesArray),
9536
+ generateParamConfigMetadata('optionalFields', false, 1 /* QueryParameter */, 0 /* String */, true, getFieldApiNamesArray),
9537
+ generateParamConfigMetadata('pageSize', false, 1 /* QueryParameter */, 3 /* Integer */),
9538
+ generateParamConfigMetadata('pageToken', false, 1 /* QueryParameter */, 0 /* String */),
9539
+ generateParamConfigMetadata('sortBy', false, 1 /* QueryParameter */, 0 /* String */, true, getFieldApiNamesArray),
9423
9540
  ];
9424
9541
  const getListUiByListViewId_ConfigPropertyNames = /*#__PURE__*/ buildAdapterValidationConfig(adapterName$R, getListUiByListViewId_ConfigPropertyMetadata);
9425
9542
 
9426
9543
  const adapterName$P = 'getMruListUi';
9427
9544
  const getMruListUi_ConfigPropertyMetadata = [
9428
- generateParamConfigMetadata('objectApiName', true, getObjectApiName$1),
9429
- generateParamConfigMetadata('fields', false, getFieldApiNamesArray),
9430
- generateParamConfigMetadata('optionalFields', false, getFieldApiNamesArray),
9431
- generateParamConfigMetadata('pageSize', false),
9432
- generateParamConfigMetadata('pageToken', false),
9433
- generateParamConfigMetadata('sortBy', false, getFieldApiNamesArray),
9545
+ generateParamConfigMetadata('objectApiName', true, 0 /* UrlParameter */, 0 /* String */, false, getObjectApiName$1),
9546
+ generateParamConfigMetadata('fields', false, 1 /* QueryParameter */, 0 /* String */, true, getFieldApiNamesArray),
9547
+ generateParamConfigMetadata('optionalFields', false, 1 /* QueryParameter */, 0 /* String */, true, getFieldApiNamesArray),
9548
+ generateParamConfigMetadata('pageSize', false, 1 /* QueryParameter */, 3 /* Integer */),
9549
+ generateParamConfigMetadata('pageToken', false, 1 /* QueryParameter */, 0 /* String */),
9550
+ generateParamConfigMetadata('sortBy', false, 1 /* QueryParameter */, 0 /* String */, true, getFieldApiNamesArray),
9434
9551
  ];
9435
9552
  const getMruListUi_ConfigPropertyNames = /*#__PURE__*/ buildAdapterValidationConfig(adapterName$P, getMruListUi_ConfigPropertyMetadata);
9436
9553
  // make local copies of the adapter configs so we can ignore other getListUi config parameters to match
package/dist/adsBridge.js CHANGED
@@ -375,4 +375,4 @@ function withAdsBridge(callback) {
375
375
  }
376
376
 
377
377
  export { instrument, withAdsBridge };
378
- // version: 1.214.2-a5e1ff9a2
378
+ // version: 1.216.0-439ed6d37
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@salesforce/lds-ads-bridge",
3
- "version": "1.214.2",
3
+ "version": "1.216.0",
4
4
  "license": "SEE LICENSE IN LICENSE.txt",
5
5
  "description": "Bridge to sync data between LDS and ADS",
6
6
  "main": "dist/adsBridge.js",