@singi-labs/sifa-sdk 0.11.16 → 0.11.18

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.
@@ -115,6 +115,7 @@ interface PublicationContributor {
115
115
  interface ProfilePublication {
116
116
  rkey: string;
117
117
  title: string;
118
+ subtitle?: string;
118
119
  publisher?: string;
119
120
  date?: string;
120
121
  url?: string;
@@ -115,6 +115,7 @@ interface PublicationContributor {
115
115
  interface ProfilePublication {
116
116
  rkey: string;
117
117
  title: string;
118
+ subtitle?: string;
118
119
  publisher?: string;
119
120
  date?: string;
120
121
  url?: string;
package/dist/index.cjs CHANGED
@@ -1430,6 +1430,56 @@ function getCalendarEventStatusLabel(value) {
1430
1430
  return CALENDAR_EVENT_STATUS_LABELS[value] ?? value;
1431
1431
  }
1432
1432
 
1433
+ // src/format/company-name.ts
1434
+ var SMALL_WORDS = /* @__PURE__ */ new Set([
1435
+ "a",
1436
+ "an",
1437
+ "and",
1438
+ "the",
1439
+ "of",
1440
+ "for",
1441
+ "to",
1442
+ "in",
1443
+ "on",
1444
+ "at",
1445
+ "by",
1446
+ "or",
1447
+ "nor",
1448
+ "but",
1449
+ "as",
1450
+ "vs",
1451
+ "via",
1452
+ "with",
1453
+ "de",
1454
+ "del",
1455
+ "van",
1456
+ "von",
1457
+ "der",
1458
+ "den",
1459
+ "het",
1460
+ "la",
1461
+ "le",
1462
+ "y"
1463
+ ]);
1464
+ function capitalizeWord(word) {
1465
+ return word.replace(
1466
+ /^([^\p{L}\p{N}]*)(\p{L})/u,
1467
+ (_m, lead, ch) => lead + ch.toUpperCase()
1468
+ );
1469
+ }
1470
+ function formatCompanyName(name) {
1471
+ const trimmed = name.trim();
1472
+ if (!trimmed || trimmed !== trimmed.toLowerCase()) return trimmed;
1473
+ let seenWord = false;
1474
+ return trimmed.split(/(\s+)/).map((token) => {
1475
+ if (token.length === 0 || /^\s+$/.test(token)) return token;
1476
+ const isFirst = !seenWord;
1477
+ seenWord = true;
1478
+ if (!isFirst && SMALL_WORDS.has(token)) return token;
1479
+ return capitalizeWord(token);
1480
+ }).join("");
1481
+ }
1482
+
1433
1483
  // src/format/format-time.ts
1434
1484
  function formatRelativeTime(dateString) {
1435
1485
  const date = new Date(dateString);
@@ -2762,6 +2812,7 @@ var PublicationAuthorSchema = zod.z.object({
2762
2812
  });
2763
2813
  var ProfilePublicationRecordSchema = zod.z.object({
2764
2814
  title: zod.z.string().min(1).refine(maxGraphemes(200)).max(2e3),
2815
+ subtitle: zod.z.string().refine(maxGraphemes(200)).max(2e3).optional(),
2765
2816
  publisher: zod.z.string().refine(maxGraphemes(100)).max(1e3).optional(),
2766
2817
  url: uriSchema.optional(),
2767
2818
  description: zod.z.string().refine(maxGraphemes(5e3)).max(5e4).optional(),
@@ -2800,7 +2851,7 @@ var ProfileVolunteeringRecordSchema = zod.z.object({
2800
2851
  });
2801
2852
 
2802
2853
  // src/index.ts
2803
- var SIFA_SDK_VERSION = "0.11.16";
2854
+ var SIFA_SDK_VERSION = "0.11.18";
2804
2855
 
2805
2856
  exports.ACTIVITY_TIERS = ACTIVITY_TIERS;
2806
2857
  exports.ACTIVITY_VISIBILITY_RULES = ACTIVITY_VISIBILITY_RULES;
@@ -2895,6 +2946,7 @@ exports.entityDisambiguationLabel = entityDisambiguationLabel;
2895
2946
  exports.entityResultKey = entityResultKey;
2896
2947
  exports.externalRecordRefSchema = externalRecordRefSchema;
2897
2948
  exports.findIndustry = findIndustry;
2949
+ exports.formatCompanyName = formatCompanyName;
2898
2950
  exports.formatDistanceToNow = formatDistanceToNow;
2899
2951
  exports.formatLocation = formatLocation;
2900
2952
  exports.formatPresentationDuration = formatPresentationDuration;