MCPcopy Create free account
hub / github.com/CommE2E/comm / parseThreadPermissionString

Function parseThreadPermissionString

lib/permissions/prefixes.js:22–63  ·  view source on GitHub ↗
(
  threadPermissionString: string,
)

Source from the content-addressed store, hash-verified

20 +membershipPrefix: ?ThreadPermissionMembershipPrefix,
21};
22function parseThreadPermissionString(
23 threadPermissionString: string,
24): ParsedThreadPermissionString {
25 let remainingString = threadPermissionString;
26
27 let propagationPrefix;
28 for (const key of Object.keys(threadPermissionPropagationPrefixes)) {
29 const prefix = threadPermissionPropagationPrefixes[key];
30 if (!remainingString.startsWith(prefix)) {
31 continue;
32 }
33 propagationPrefix = prefix;
34 remainingString = remainingString.substr(prefix.length);
35 break;
36 }
37
38 let filterPrefix;
39 for (const key of Object.keys(threadPermissionFilterPrefixes)) {
40 const prefix = threadPermissionFilterPrefixes[key];
41 if (!remainingString.startsWith(prefix)) {
42 continue;
43 }
44 filterPrefix = prefix;
45 remainingString = remainingString.substr(prefix.length);
46 break;
47 }
48
49 let membershipPrefix;
50 for (const key of Object.keys(threadPermissionMembershipPrefixes)) {
51 const prefix = threadPermissionMembershipPrefixes[key];
52 if (!remainingString.startsWith(prefix)) {
53 continue;
54 }
55 membershipPrefix = prefix;
56 remainingString = remainingString.substr(prefix.length);
57 break;
58 }
59
60 const permission = assertThreadPermission(remainingString);
61
62 return { permission, propagationPrefix, filterPrefix, membershipPrefix };
63}
64
65function constructThreadPermissionString(
66 parsed: ParsedThreadPermissionString,

Callers 3

makePermissionsBlobFunction · 0.90

Calls 2

assertThreadPermissionFunction · 0.90
keysMethod · 0.65

Tested by

no test coverage detected