graze-client 0.2.4 → 0.3.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.
@@ -0,0 +1,91 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.F = exports.Algo = void 0;
7
+ const and = (...filters) => {
8
+ const flatFilters = [];
9
+ filters.forEach(f => {
10
+ if ("and" in f) {
11
+ // Automatically flatten nested ands.
12
+ flatFilters.push(...f.and);
13
+ } else {
14
+ flatFilters.push(f);
15
+ }
16
+ });
17
+ return {
18
+ and: flatFilters
19
+ };
20
+ };
21
+ const or = (...filters) => {
22
+ const flatFilters = [];
23
+ filters.forEach(f => {
24
+ if ("or" in f) {
25
+ flatFilters.push(...f.or);
26
+ } else {
27
+ flatFilters.push(f);
28
+ }
29
+ });
30
+ return {
31
+ or: flatFilters
32
+ };
33
+ };
34
+ const regexMatches = (attribute, regex) => ({
35
+ regex_matches: [attribute, regex, true]
36
+ });
37
+ const regexNegationMatches = (attribute, regex) => ({
38
+ regex_negation_matches: [attribute, regex, true]
39
+ });
40
+ const isListMember = uri => ({
41
+ list_member: [uri, "in"]
42
+ });
43
+ const isNotListMember = uri => ({
44
+ list_member: [uri, "not_in"]
45
+ });
46
+ const socialGraph = (identifier, op, relation) => ({
47
+ social_graph: [identifier, op, relation]
48
+ });
49
+ const posterIsFollowedBy = identifier => socialGraph(identifier, "in", "followers");
50
+ const posterFollows = identifier => socialGraph(identifier, "in", "follows");
51
+ const posterIsNotFollowedBy = identifier => socialGraph(identifier, "not_in", "followers");
52
+ const posterDoesNotFollow = identifier => socialGraph(identifier, "not_in", "follows");
53
+ const hasVideo = {
54
+ embed_type: ["==", "video"]
55
+ };
56
+ const hasNoNSFWLabels = {
57
+ entity_excludes: ["labels", ["porn", "sexual", "nudity"]]
58
+ };
59
+ const attributeCompare = (attr, op, value) => ({
60
+ attribute_compare: [attr, op, value]
61
+ });
62
+ const isPost = /*#__PURE__*/attributeCompare("reply", "==", null);
63
+ const isReply = /*#__PURE__*/attributeCompare("reply", "!=", null);
64
+ const isContentOk = (threshold = 0.9) => ({
65
+ content_moderation: ["OK", ">=", threshold]
66
+ });
67
+ const Algo = exports.Algo = {
68
+ filter: (...filters) => ({
69
+ filter: and(...filters)
70
+ })
71
+ };
72
+ const F = exports.F = {
73
+ and,
74
+ or,
75
+ regexMatches,
76
+ regexNegationMatches,
77
+ attributeCompare,
78
+ isListMember,
79
+ isNotListMember,
80
+ socialGraph,
81
+ posterIsFollowedBy,
82
+ posterFollows,
83
+ posterIsNotFollowedBy,
84
+ posterDoesNotFollow,
85
+ hasVideo,
86
+ hasNoNSFWLabels,
87
+ isPost,
88
+ isReply,
89
+ isContentOk
90
+ };
91
+ //# sourceMappingURL=builder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"builder.js","names":["and","filters","flatFilters","forEach","f","push","or","regexMatches","attribute","regex","regex_matches","regexNegationMatches","regex_negation_matches","isListMember","uri","list_member","isNotListMember","socialGraph","identifier","op","relation","social_graph","posterIsFollowedBy","posterFollows","posterIsNotFollowedBy","posterDoesNotFollow","hasVideo","embed_type","hasNoNSFWLabels","entity_excludes","attributeCompare","attr","value","attribute_compare","isPost","isReply","isContentOk","threshold","content_moderation","Algo","exports","filter","F"],"sources":["../../src/builder.ts"],"sourcesContent":[null],"mappings":";;;;;;AAYA,MAAMA,GAAG,GAAGA,CAAC,GAAGC,OAAiB,KAAI;EACnC,MAAMC,WAAW,GAAa,EAAE;EAChCD,OAAO,CAACE,OAAO,CAAEC,CAAC,IAAI;IACpB,IAAI,KAAK,IAAIA,CAAC,EAAE;MACd;MACAF,WAAW,CAACG,IAAI,CAAC,GAAGD,CAAC,CAACJ,GAAG,CAAC;IAC5B,CAAC,MAAM;MACLE,WAAW,CAACG,IAAI,CAACD,CAAC,CAAC;IACrB;EACF,CAAC,CAAC;EACF,OAAO;IAAEJ,GAAG,EAAEE;EAAW,CAAE;AAC7B,CAAC;AACD,MAAMI,EAAE,GAAGA,CAAC,GAAGL,OAAiB,KAAI;EAClC,MAAMC,WAAW,GAAa,EAAE;EAChCD,OAAO,CAACE,OAAO,CAAEC,CAAC,IAAI;IACpB,IAAI,IAAI,IAAIA,CAAC,EAAE;MACbF,WAAW,CAACG,IAAI,CAAC,GAAGD,CAAC,CAACE,EAAE,CAAC;IAC3B,CAAC,MAAM;MACLJ,WAAW,CAACG,IAAI,CAACD,CAAC,CAAC;IACrB;EACF,CAAC,CAAC;EACF,OAAO;IAAEE,EAAE,EAAEJ;EAAW,CAAE;AAC5B,CAAC;AAED,MAAMK,YAAY,GAAGA,CACnBC,SAA2C,EAC3CC,KAAa,MACK;EAClBC,aAAa,EAAE,CAACF,SAAS,EAAEC,KAAK,EAAE,IAAI;CACvC,CAAC;AAEF,MAAME,oBAAoB,GAAGA,CAC3BH,SAA4D,EAC5DC,KAAa,MACa;EAC1BG,sBAAsB,EAAE,CAACJ,SAAS,EAAEC,KAAK,EAAE,IAAI;CAChD,CAAC;AAEF,MAAMI,YAAY,GAAIC,GAAW,KAAwB;EACvDC,WAAW,EAAE,CAACD,GAAG,EAAE,IAAI;CACxB,CAAC;AACF,MAAME,eAAe,GAAIF,GAAW,KAAwB;EAC1DC,WAAW,EAAE,CAACD,GAAG,EAAE,QAAQ;CAC5B,CAAC;AACF,MAAMG,WAAW,GAAGA,CAClBC,UAAkB,EAClBC,EAAkC,EAClCC,QAAwC,MACvB;EACjBC,YAAY,EAAE,CAACH,UAAU,EAAEC,EAAE,EAAEC,QAAQ;CACxC,CAAC;AACF,MAAME,kBAAkB,GAAIJ,UAAkB,IAC5CD,WAAW,CAACC,UAAU,EAAE,IAAI,EAAE,WAAW,CAAC;AAC5C,MAAMK,aAAa,GAAIL,UAAkB,IACvCD,WAAW,CAACC,UAAU,EAAE,IAAI,EAAE,SAAS,CAAC;AAC1C,MAAMM,qBAAqB,GAAIN,UAAkB,IAC/CD,WAAW,CAACC,UAAU,EAAE,QAAQ,EAAE,WAAW,CAAC;AAChD,MAAMO,mBAAmB,GAAIP,UAAkB,IAC7CD,WAAW,CAACC,UAAU,EAAE,QAAQ,EAAE,SAAS,CAAC;AAE9C,MAAMQ,QAAQ,GAAW;EACvBC,UAAU,EAAE,CAAC,IAAI,EAAE,OAAO;CAC3B;AAED,MAAMC,eAAe,GAAW;EAC9BC,eAAe,EAAE,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC;CACzD;AACD,MAAMC,gBAAgB,GAAGA,CACvBC,IAAmB,EACnBZ,EAAuB,EACvBa,KAAqB,MACT;EACZC,iBAAiB,EAAE,CAACF,IAAI,EAAEZ,EAAE,EAAEa,KAAK;CACpC,CAAC;AAEF,MAAME,MAAM,gBAAWJ,gBAAgB,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC;AAC5D,MAAMK,OAAO,gBAAWL,gBAAgB,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC;AAE7D,MAAMM,WAAW,GAAGA,CAACC,SAAA,GAAoB,GAAG,MAA8B;EACxEC,kBAAkB,EAAE,CAAC,IAAI,EAAE,IAAI,EAAED,SAAS;CAC3C,CAAC;AAEK,MAAME,IAAI,GAAAC,OAAA,CAAAD,IAAA,GAAG;EAClBE,MAAM,EAAEA,CAAC,GAAGxC,OAAiB,MAA0B;IACrDwC,MAAM,EAAEzC,GAAG,CAAC,GAAGC,OAAO;GACvB;CACF;AAEM,MAAMyC,CAAC,GAAAF,OAAA,CAAAE,CAAA,GAAG;EACf1C,GAAG;EACHM,EAAE;EACFC,YAAY;EACZI,oBAAoB;EACpBmB,gBAAgB;EAChBjB,YAAY;EACZG,eAAe;EACfC,WAAW;EACXK,kBAAkB;EAClBC,aAAa;EACbC,qBAAqB;EACrBC,mBAAmB;EACnBC,QAAQ;EACRE,eAAe;EACfM,MAAM;EACNC,OAAO;EACPC;CACD","ignoreList":[]}
@@ -3,14 +3,14 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.UserId = exports.SortSettings = exports.RegexNegationMatches = exports.RegexMatches = exports.RecordName = exports.Order = exports.Or = exports.Metadata = exports.ListUri = exports.ListMemberFilter = exports.FullForm = exports.Filter = exports.FeedId = exports.EntityExcludesLabels = exports.EmbedType = exports.DisplayName = exports.Description = exports.ContentModerationBlock = exports.AttributeValue = exports.AttributeName = exports.AttributeComparison = exports.AttributeCompare = exports.And = exports.AlgorithmManifest = void 0;
6
+ exports.UserId = exports.SortSettings = exports.SocialGraph = exports.RegexNegationMatches = exports.RegexMatches = exports.RecordName = exports.Order = exports.Or = exports.Metadata = exports.ListUri = exports.ListMemberFilter = exports.FullForm = exports.Filter = exports.FeedId = exports.EntityExcludesLabels = exports.EmbedType = exports.DisplayName = exports.Description = exports.ContentModerationBlock = exports.AttributeValue = exports.AttributeName = exports.AttributeComparison = exports.AttributeCompare = exports.And = exports.AlgorithmManifest = void 0;
7
7
  var _effect = require("effect");
8
8
  // ------------------- Primitives ---------------------------------
9
9
  const ListUri = exports.ListUri = _effect.Schema.String;
10
10
  const AttributeName = exports.AttributeName = /*#__PURE__*/_effect.Schema.Union(/*#__PURE__*/_effect.Schema.Literal("text"), /*#__PURE__*/_effect.Schema.Literal("reply"), /*#__PURE__*/_effect.Schema.Literal("embed.images[*].alt"), /*#__PURE__*/_effect.Schema.Literal("embed.alt"), /*#__PURE__*/_effect.Schema.Literal("embed"), /*#__PURE__*/_effect.Schema.Literal("embed.external.uri"), /*#__PURE__*/_effect.Schema.Literal("embed.external.title"), /*#__PURE__*/_effect.Schema.Literal("embed.external.description"));
11
11
  const AttributeComparison = exports.AttributeComparison = /*#__PURE__*/_effect.Schema.Literal("==", "!=", ">", "<", ">=", "<=");
12
12
  const AttributeValue = exports.AttributeValue = _effect.Schema.Null;
13
- const Filter = exports.Filter = /*#__PURE__*/_effect.Schema.Union(/*#__PURE__*/_effect.Schema.suspend(() => And), /*#__PURE__*/_effect.Schema.suspend(() => Or), /*#__PURE__*/_effect.Schema.suspend(() => ListMemberFilter), /*#__PURE__*/_effect.Schema.suspend(() => AttributeCompare), /*#__PURE__*/_effect.Schema.suspend(() => RegexMatches), /*#__PURE__*/_effect.Schema.suspend(() => RegexNegationMatches), /*#__PURE__*/_effect.Schema.suspend(() => ContentModerationBlock), /*#__PURE__*/_effect.Schema.suspend(() => EntityExcludesLabels), /*#__PURE__*/_effect.Schema.suspend(() => EmbedType));
13
+ const Filter = exports.Filter = /*#__PURE__*/_effect.Schema.Union(/*#__PURE__*/_effect.Schema.suspend(() => And), /*#__PURE__*/_effect.Schema.suspend(() => Or), /*#__PURE__*/_effect.Schema.suspend(() => ListMemberFilter), /*#__PURE__*/_effect.Schema.suspend(() => AttributeCompare), /*#__PURE__*/_effect.Schema.suspend(() => RegexMatches), /*#__PURE__*/_effect.Schema.suspend(() => RegexNegationMatches), /*#__PURE__*/_effect.Schema.suspend(() => ContentModerationBlock), /*#__PURE__*/_effect.Schema.suspend(() => EntityExcludesLabels), /*#__PURE__*/_effect.Schema.suspend(() => EmbedType), /*#__PURE__*/_effect.Schema.suspend(() => SocialGraph));
14
14
  const Or = exports.Or = /*#__PURE__*/_effect.Schema.Struct({
15
15
  or: /*#__PURE__*/_effect.Schema.Array(Filter)
16
16
  });
@@ -48,6 +48,9 @@ const EntityExcludesLabels = exports.EntityExcludesLabels = /*#__PURE__*/_effect
48
48
  const EmbedType = exports.EmbedType = /*#__PURE__*/_effect.Schema.Struct({
49
49
  embed_type: /*#__PURE__*/_effect.Schema.Tuple(/*#__PURE__*/_effect.Schema.Literal("==", "!="), /*#__PURE__*/_effect.Schema.Literal("video", "image", "link", "post", "gif", "image_group"))
50
50
  });
51
+ const SocialGraph = exports.SocialGraph = /*#__PURE__*/_effect.Schema.Struct({
52
+ social_graph: /*#__PURE__*/_effect.Schema.Tuple(_effect.Schema.String, /*#__PURE__*/_effect.Schema.Literal("in", "not_in"), /*#__PURE__*/_effect.Schema.Literal("follows", "followers"))
53
+ });
51
54
  // ---------------------- Sort Settings -----------------------------
52
55
  const SortSettings = exports.SortSettings = /*#__PURE__*/_effect.Schema.Struct({
53
56
  time_window: _effect.Schema.Number,
@@ -1 +1 @@
1
- {"version":3,"file":"UpdateAlgorithmPayload.js","names":["_effect","require","ListUri","exports","S","String","AttributeName","Union","Literal","AttributeComparison","AttributeValue","Null","Filter","suspend","And","Or","ListMemberFilter","AttributeCompare","RegexMatches","RegexNegationMatches","ContentModerationBlock","EntityExcludesLabels","EmbedType","Struct","or","Array","and","list_member","Tuple","attribute_compare","RegexMatchBase","annotations","title","description","Boolean","regex_matches","regex_negation_matches","content_moderation","Number","entity_excludes","embed_type","SortSettings","time_window","decay_penalty","like_count_multiplier","reply_count_multiplier","repost_count_multiplier","reader_like_count_multiplier","reader_reply_count_multiplier","reader_repost_count_multiplier","DisplayName","RecordName","Description","Order","FeedId","NumberFromString","UserId","AlgorithmManifest","filter","sort_settings","optional","Metadata","document","Unknown","schema","schemaVersion","sequences","Record","key","value","session","FullForm","id","user_id","file","display_name","record_name","order","algorithm_manifest","parseJson","metadata"],"sources":["../../../src/schema/UpdateAlgorithmPayload.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"UpdateAlgorithmPayload.js","names":["_effect","require","ListUri","exports","S","String","AttributeName","Union","Literal","AttributeComparison","AttributeValue","Null","Filter","suspend","And","Or","ListMemberFilter","AttributeCompare","RegexMatches","RegexNegationMatches","ContentModerationBlock","EntityExcludesLabels","EmbedType","SocialGraph","Struct","or","Array","and","list_member","Tuple","attribute_compare","RegexMatchBase","annotations","title","description","Boolean","regex_matches","regex_negation_matches","content_moderation","Number","entity_excludes","embed_type","social_graph","SortSettings","time_window","decay_penalty","like_count_multiplier","reply_count_multiplier","repost_count_multiplier","reader_like_count_multiplier","reader_reply_count_multiplier","reader_repost_count_multiplier","DisplayName","RecordName","Description","Order","FeedId","NumberFromString","UserId","AlgorithmManifest","filter","sort_settings","optional","Metadata","document","Unknown","schema","schemaVersion","sequences","Record","key","value","session","FullForm","id","user_id","file","display_name","record_name","order","algorithm_manifest","parseJson","metadata"],"sources":["../../../src/schema/UpdateAlgorithmPayload.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,42 @@
1
+ import { AttributeComparison, AttributeName, AttributeValue, ContentModerationBlock, Filter, ListMemberFilter, RegexMatches, RegexNegationMatches, SocialGraph } from "./schema/index.js";
2
+ export declare const Algo: {
3
+ filter: (...filters: Filter[]) => {
4
+ filter: Filter;
5
+ };
6
+ };
7
+ export declare const F: {
8
+ and: (...filters: Filter[]) => {
9
+ and: Filter[];
10
+ };
11
+ or: (...filters: Filter[]) => {
12
+ or: Filter[];
13
+ };
14
+ regexMatches: (attribute: RegexMatches["regex_matches"][0], regex: string) => RegexMatches;
15
+ regexNegationMatches: (attribute: RegexNegationMatches["regex_negation_matches"][0], regex: string) => RegexNegationMatches;
16
+ attributeCompare: (attr: AttributeName, op: AttributeComparison, value: AttributeValue) => Filter;
17
+ isListMember: (uri: string) => ListMemberFilter;
18
+ isNotListMember: (uri: string) => ListMemberFilter;
19
+ socialGraph: (identifier: string, op: SocialGraph["social_graph"][1], relation: SocialGraph["social_graph"][2]) => SocialGraph;
20
+ posterIsFollowedBy: (identifier: string) => Readonly<{
21
+ social_graph: readonly [string, "in" | "not_in", "follows" | "followers"];
22
+ }>;
23
+ posterFollows: (identifier: string) => Readonly<{
24
+ social_graph: readonly [string, "in" | "not_in", "follows" | "followers"];
25
+ }>;
26
+ posterIsNotFollowedBy: (identifier: string) => Readonly<{
27
+ social_graph: readonly [string, "in" | "not_in", "follows" | "followers"];
28
+ }>;
29
+ posterDoesNotFollow: (identifier: string) => Readonly<{
30
+ social_graph: readonly [string, "in" | "not_in", "follows" | "followers"];
31
+ }>;
32
+ hasVideo: Readonly<{
33
+ embed_type: readonly ["==" | "!=", "video" | "image" | "link" | "post" | "gif" | "image_group"];
34
+ }>;
35
+ hasNoNSFWLabels: Readonly<{
36
+ entity_excludes: readonly ["labels", readonly ["porn", "sexual", "nudity"]];
37
+ }>;
38
+ isPost: Filter;
39
+ isReply: Filter;
40
+ isContentOk: (threshold?: number) => ContentModerationBlock;
41
+ };
42
+ //# sourceMappingURL=builder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../../src/builder.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EACnB,aAAa,EACb,cAAc,EACd,sBAAsB,EACtB,MAAM,EACN,gBAAgB,EAChB,YAAY,EACZ,oBAAoB,EACpB,WAAW,EACZ,MAAM,mBAAmB,CAAC;AAoF3B,eAAO,MAAM,IAAI;yBACM,MAAM,EAAE,KAAG;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE;CAGnD,CAAC;AAEF,eAAO,MAAM,CAAC;sBAxFW,MAAM,EAAE;;;qBAYT,MAAM,EAAE;;;8BAanB,YAAY,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,SACpC,MAAM,KACZ,YAAY;sCAKF,oBAAoB,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC,SACrD,MAAM,KACZ,oBAAoB;6BAkCf,aAAa,MACf,mBAAmB,SAChB,cAAc,KACpB,MAAM;wBAjCkB,MAAM,KAAG,gBAAgB;2BAGtB,MAAM,KAAG,gBAAgB;8BAIzC,MAAM,MACd,WAAW,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,YACxB,WAAW,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,KACvC,WAAW;qCAG0B,MAAM;;;gCAEX,MAAM;;;wCAEE,MAAM;;;sCAER,MAAM;;;;;;;;;;;8BAqBf,MAAM,KAAS,sBAAsB;CA4BpE,CAAC"}
@@ -7,7 +7,7 @@ export declare const AttributeComparison: S.Literal<["==", "!=", ">", "<", ">=",
7
7
  export type AttributeComparison = typeof AttributeComparison.Type;
8
8
  export declare const AttributeValue: typeof S.Null;
9
9
  export type AttributeValue = typeof AttributeValue.Type;
10
- export type Filter = And | Or | ListMemberFilter | AttributeCompare | RegexMatches | RegexNegationMatches | ContentModerationBlock | EntityExcludesLabels | EmbedType;
10
+ export type Filter = And | Or | ListMemberFilter | AttributeCompare | RegexMatches | RegexNegationMatches | ContentModerationBlock | EntityExcludesLabels | EmbedType | SocialGraph;
11
11
  export type And = Readonly<{
12
12
  and: ReadonlyArray<Filter>;
13
13
  }>;
@@ -42,6 +42,9 @@ export type EmbedType = Readonly<{
42
42
  "video" | "image" | "link" | "post" | "gif" | "image_group"
43
43
  ];
44
44
  }>;
45
+ export type SocialGraph = Readonly<{
46
+ social_graph: readonly [string, "in" | "not_in", "follows" | "followers"];
47
+ }>;
45
48
  export declare const Filter: S.Union<[S.suspend<Readonly<{
46
49
  and: ReadonlyArray<Filter>;
47
50
  }>, Readonly<{
@@ -78,6 +81,10 @@ export declare const Filter: S.Union<[S.suspend<Readonly<{
78
81
  embed_type: readonly ["==" | "!=", "video" | "image" | "link" | "post" | "gif" | "image_group"];
79
82
  }>, Readonly<{
80
83
  embed_type: readonly ["==" | "!=", "video" | "image" | "link" | "post" | "gif" | "image_group"];
84
+ }>, never>, S.suspend<Readonly<{
85
+ social_graph: readonly [string, "in" | "not_in", "follows" | "followers"];
86
+ }>, Readonly<{
87
+ social_graph: readonly [string, "in" | "not_in", "follows" | "followers"];
81
88
  }>, never>]>;
82
89
  export declare const Or: S.Struct<{
83
90
  or: S.Array$<S.Union<[S.suspend<Readonly<{
@@ -116,6 +123,10 @@ export declare const Or: S.Struct<{
116
123
  embed_type: readonly ["==" | "!=", "video" | "image" | "link" | "post" | "gif" | "image_group"];
117
124
  }>, Readonly<{
118
125
  embed_type: readonly ["==" | "!=", "video" | "image" | "link" | "post" | "gif" | "image_group"];
126
+ }>, never>, S.suspend<Readonly<{
127
+ social_graph: readonly [string, "in" | "not_in", "follows" | "followers"];
128
+ }>, Readonly<{
129
+ social_graph: readonly [string, "in" | "not_in", "follows" | "followers"];
119
130
  }>, never>]>>;
120
131
  }>;
121
132
  export declare const And: S.Struct<{
@@ -155,6 +166,10 @@ export declare const And: S.Struct<{
155
166
  embed_type: readonly ["==" | "!=", "video" | "image" | "link" | "post" | "gif" | "image_group"];
156
167
  }>, Readonly<{
157
168
  embed_type: readonly ["==" | "!=", "video" | "image" | "link" | "post" | "gif" | "image_group"];
169
+ }>, never>, S.suspend<Readonly<{
170
+ social_graph: readonly [string, "in" | "not_in", "follows" | "followers"];
171
+ }>, Readonly<{
172
+ social_graph: readonly [string, "in" | "not_in", "follows" | "followers"];
158
173
  }>, never>]>>;
159
174
  }>;
160
175
  export declare const ListMemberFilter: S.Struct<{
@@ -178,6 +193,9 @@ export declare const EntityExcludesLabels: S.Struct<{
178
193
  export declare const EmbedType: S.Struct<{
179
194
  embed_type: S.Tuple<[S.Literal<["==", "!="]>, S.Literal<["video", "image", "link", "post", "gif", "image_group"]>]>;
180
195
  }>;
196
+ export declare const SocialGraph: S.Struct<{
197
+ social_graph: S.Tuple<[typeof S.String, S.Literal<["in", "not_in"]>, S.Literal<["follows", "followers"]>]>;
198
+ }>;
181
199
  export declare const SortSettings: S.Struct<{
182
200
  time_window: typeof S.Number;
183
201
  decay_penalty: typeof S.Number;
@@ -238,6 +256,10 @@ export declare const AlgorithmManifest: S.Struct<{
238
256
  embed_type: readonly ["==" | "!=", "video" | "image" | "link" | "post" | "gif" | "image_group"];
239
257
  }>, Readonly<{
240
258
  embed_type: readonly ["==" | "!=", "video" | "image" | "link" | "post" | "gif" | "image_group"];
259
+ }>, never>, S.suspend<Readonly<{
260
+ social_graph: readonly [string, "in" | "not_in", "follows" | "followers"];
261
+ }>, Readonly<{
262
+ social_graph: readonly [string, "in" | "not_in", "follows" | "followers"];
241
263
  }>, never>]>;
242
264
  sort_settings: S.optional<S.Struct<{
243
265
  time_window: typeof S.Number;
@@ -287,6 +309,8 @@ export declare const FullForm: S.Struct<{
287
309
  entity_excludes: readonly ["labels", readonly ["porn", "sexual", "nudity"]];
288
310
  }> | Readonly<{
289
311
  embed_type: readonly ["==" | "!=", "video" | "image" | "link" | "post" | "gif" | "image_group"];
312
+ }> | Readonly<{
313
+ social_graph: readonly [string, "in" | "not_in", "follows" | "followers"];
290
314
  }>;
291
315
  readonly sort_settings?: {
292
316
  readonly time_window: number;
@@ -1 +1 @@
1
- {"version":3,"file":"UpdateAlgorithmPayload.d.ts","sourceRoot":"","sources":["../../../src/schema/UpdateAlgorithmPayload.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"UpdateAlgorithmPayload.d.ts","sourceRoot":"","sources":["../../../src/schema/UpdateAlgorithmPayload.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,85 @@
1
+ const and = (...filters) => {
2
+ const flatFilters = [];
3
+ filters.forEach(f => {
4
+ if ("and" in f) {
5
+ // Automatically flatten nested ands.
6
+ flatFilters.push(...f.and);
7
+ } else {
8
+ flatFilters.push(f);
9
+ }
10
+ });
11
+ return {
12
+ and: flatFilters
13
+ };
14
+ };
15
+ const or = (...filters) => {
16
+ const flatFilters = [];
17
+ filters.forEach(f => {
18
+ if ("or" in f) {
19
+ flatFilters.push(...f.or);
20
+ } else {
21
+ flatFilters.push(f);
22
+ }
23
+ });
24
+ return {
25
+ or: flatFilters
26
+ };
27
+ };
28
+ const regexMatches = (attribute, regex) => ({
29
+ regex_matches: [attribute, regex, true]
30
+ });
31
+ const regexNegationMatches = (attribute, regex) => ({
32
+ regex_negation_matches: [attribute, regex, true]
33
+ });
34
+ const isListMember = uri => ({
35
+ list_member: [uri, "in"]
36
+ });
37
+ const isNotListMember = uri => ({
38
+ list_member: [uri, "not_in"]
39
+ });
40
+ const socialGraph = (identifier, op, relation) => ({
41
+ social_graph: [identifier, op, relation]
42
+ });
43
+ const posterIsFollowedBy = identifier => socialGraph(identifier, "in", "followers");
44
+ const posterFollows = identifier => socialGraph(identifier, "in", "follows");
45
+ const posterIsNotFollowedBy = identifier => socialGraph(identifier, "not_in", "followers");
46
+ const posterDoesNotFollow = identifier => socialGraph(identifier, "not_in", "follows");
47
+ const hasVideo = {
48
+ embed_type: ["==", "video"]
49
+ };
50
+ const hasNoNSFWLabels = {
51
+ entity_excludes: ["labels", ["porn", "sexual", "nudity"]]
52
+ };
53
+ const attributeCompare = (attr, op, value) => ({
54
+ attribute_compare: [attr, op, value]
55
+ });
56
+ const isPost = /*#__PURE__*/attributeCompare("reply", "==", null);
57
+ const isReply = /*#__PURE__*/attributeCompare("reply", "!=", null);
58
+ const isContentOk = (threshold = 0.9) => ({
59
+ content_moderation: ["OK", ">=", threshold]
60
+ });
61
+ export const Algo = {
62
+ filter: (...filters) => ({
63
+ filter: and(...filters)
64
+ })
65
+ };
66
+ export const F = {
67
+ and,
68
+ or,
69
+ regexMatches,
70
+ regexNegationMatches,
71
+ attributeCompare,
72
+ isListMember,
73
+ isNotListMember,
74
+ socialGraph,
75
+ posterIsFollowedBy,
76
+ posterFollows,
77
+ posterIsNotFollowedBy,
78
+ posterDoesNotFollow,
79
+ hasVideo,
80
+ hasNoNSFWLabels,
81
+ isPost,
82
+ isReply,
83
+ isContentOk
84
+ };
85
+ //# sourceMappingURL=builder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"builder.js","names":["and","filters","flatFilters","forEach","f","push","or","regexMatches","attribute","regex","regex_matches","regexNegationMatches","regex_negation_matches","isListMember","uri","list_member","isNotListMember","socialGraph","identifier","op","relation","social_graph","posterIsFollowedBy","posterFollows","posterIsNotFollowedBy","posterDoesNotFollow","hasVideo","embed_type","hasNoNSFWLabels","entity_excludes","attributeCompare","attr","value","attribute_compare","isPost","isReply","isContentOk","threshold","content_moderation","Algo","filter","F"],"sources":["../../src/builder.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -4,7 +4,7 @@ export const ListUri = S.String;
4
4
  export const AttributeName = /*#__PURE__*/S.Union(/*#__PURE__*/S.Literal("text"), /*#__PURE__*/S.Literal("reply"), /*#__PURE__*/S.Literal("embed.images[*].alt"), /*#__PURE__*/S.Literal("embed.alt"), /*#__PURE__*/S.Literal("embed"), /*#__PURE__*/S.Literal("embed.external.uri"), /*#__PURE__*/S.Literal("embed.external.title"), /*#__PURE__*/S.Literal("embed.external.description"));
5
5
  export const AttributeComparison = /*#__PURE__*/S.Literal("==", "!=", ">", "<", ">=", "<=");
6
6
  export const AttributeValue = S.Null;
7
- export const Filter = /*#__PURE__*/S.Union(/*#__PURE__*/S.suspend(() => And), /*#__PURE__*/S.suspend(() => Or), /*#__PURE__*/S.suspend(() => ListMemberFilter), /*#__PURE__*/S.suspend(() => AttributeCompare), /*#__PURE__*/S.suspend(() => RegexMatches), /*#__PURE__*/S.suspend(() => RegexNegationMatches), /*#__PURE__*/S.suspend(() => ContentModerationBlock), /*#__PURE__*/S.suspend(() => EntityExcludesLabels), /*#__PURE__*/S.suspend(() => EmbedType));
7
+ export const Filter = /*#__PURE__*/S.Union(/*#__PURE__*/S.suspend(() => And), /*#__PURE__*/S.suspend(() => Or), /*#__PURE__*/S.suspend(() => ListMemberFilter), /*#__PURE__*/S.suspend(() => AttributeCompare), /*#__PURE__*/S.suspend(() => RegexMatches), /*#__PURE__*/S.suspend(() => RegexNegationMatches), /*#__PURE__*/S.suspend(() => ContentModerationBlock), /*#__PURE__*/S.suspend(() => EntityExcludesLabels), /*#__PURE__*/S.suspend(() => EmbedType), /*#__PURE__*/S.suspend(() => SocialGraph));
8
8
  export const Or = /*#__PURE__*/S.Struct({
9
9
  or: /*#__PURE__*/S.Array(Filter)
10
10
  });
@@ -42,6 +42,9 @@ export const EntityExcludesLabels = /*#__PURE__*/S.Struct({
42
42
  export const EmbedType = /*#__PURE__*/S.Struct({
43
43
  embed_type: /*#__PURE__*/S.Tuple(/*#__PURE__*/S.Literal("==", "!="), /*#__PURE__*/S.Literal("video", "image", "link", "post", "gif", "image_group"))
44
44
  });
45
+ export const SocialGraph = /*#__PURE__*/S.Struct({
46
+ social_graph: /*#__PURE__*/S.Tuple(S.String, /*#__PURE__*/S.Literal("in", "not_in"), /*#__PURE__*/S.Literal("follows", "followers"))
47
+ });
45
48
  // ---------------------- Sort Settings -----------------------------
46
49
  export const SortSettings = /*#__PURE__*/S.Struct({
47
50
  time_window: S.Number,
@@ -1 +1 @@
1
- {"version":3,"file":"UpdateAlgorithmPayload.js","names":["Schema","S","ListUri","String","AttributeName","Union","Literal","AttributeComparison","AttributeValue","Null","Filter","suspend","And","Or","ListMemberFilter","AttributeCompare","RegexMatches","RegexNegationMatches","ContentModerationBlock","EntityExcludesLabels","EmbedType","Struct","or","Array","and","list_member","Tuple","attribute_compare","RegexMatchBase","annotations","title","description","Boolean","regex_matches","regex_negation_matches","content_moderation","Number","entity_excludes","embed_type","SortSettings","time_window","decay_penalty","like_count_multiplier","reply_count_multiplier","repost_count_multiplier","reader_like_count_multiplier","reader_reply_count_multiplier","reader_repost_count_multiplier","DisplayName","RecordName","Description","Order","FeedId","NumberFromString","UserId","AlgorithmManifest","filter","sort_settings","optional","Metadata","document","Unknown","schema","schemaVersion","sequences","Record","key","value","session","FullForm","id","user_id","file","display_name","record_name","order","algorithm_manifest","parseJson","metadata"],"sources":["../../../src/schema/UpdateAlgorithmPayload.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"UpdateAlgorithmPayload.js","names":["Schema","S","ListUri","String","AttributeName","Union","Literal","AttributeComparison","AttributeValue","Null","Filter","suspend","And","Or","ListMemberFilter","AttributeCompare","RegexMatches","RegexNegationMatches","ContentModerationBlock","EntityExcludesLabels","EmbedType","SocialGraph","Struct","or","Array","and","list_member","Tuple","attribute_compare","RegexMatchBase","annotations","title","description","Boolean","regex_matches","regex_negation_matches","content_moderation","Number","entity_excludes","embed_type","social_graph","SortSettings","time_window","decay_penalty","like_count_multiplier","reply_count_multiplier","repost_count_multiplier","reader_like_count_multiplier","reader_reply_count_multiplier","reader_repost_count_multiplier","DisplayName","RecordName","Description","Order","FeedId","NumberFromString","UserId","AlgorithmManifest","filter","sort_settings","optional","Metadata","document","Unknown","schema","schemaVersion","sequences","Record","key","value","session","FullForm","id","user_id","file","display_name","record_name","order","algorithm_manifest","parseJson","metadata"],"sources":["../../../src/schema/UpdateAlgorithmPayload.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,MAAM,IAAIC,CAAC,QAAQ,QAAQ;AAEpC;AAEA,OAAO,MAAMC,OAAO,GAAGD,CAAC,CAACE,MAAM;AAG/B,OAAO,MAAMC,aAAa,gBAAGH,CAAC,CAACI,KAAK,cAClCJ,CAAC,CAACK,OAAO,CAAC,MAAM,CAAC,eACjBL,CAAC,CAACK,OAAO,CAAC,OAAO,CAAC,eAClBL,CAAC,CAACK,OAAO,CAAC,qBAAqB,CAAC,eAChCL,CAAC,CAACK,OAAO,CAAC,WAAW,CAAC,eACtBL,CAAC,CAACK,OAAO,CAAC,OAAO,CAAC,eAClBL,CAAC,CAACK,OAAO,CAAC,oBAAoB,CAAC,eAC/BL,CAAC,CAACK,OAAO,CAAC,sBAAsB,CAAC,eACjCL,CAAC,CAACK,OAAO,CAAC,4BAA4B,CAAC,CACxC;AAED,OAAO,MAAMC,mBAAmB,gBAAGN,CAAC,CAACK,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC;AAE9E,OAAO,MAAME,cAAc,GAAGP,CAAC,CAACQ,IAAI;AAmDpC,OAAO,MAAMC,MAAM,gBAAGT,CAAC,CAACI,KAAK,cAC3BJ,CAAC,CAACU,OAAO,CAAC,MAAqBC,GAAG,CAAC,eACnCX,CAAC,CAACU,OAAO,CAAC,MAAoBE,EAAE,CAAC,eACjCZ,CAAC,CAACU,OAAO,CAAC,MAAkCG,gBAAgB,CAAC,eAC7Db,CAAC,CAACU,OAAO,CAAC,MAAkCI,gBAAgB,CAAC,eAC7Dd,CAAC,CAACU,OAAO,CAAC,MAA8BK,YAAY,CAAC,eACrDf,CAAC,CAACU,OAAO,CAAC,MAAsCM,oBAAoB,CAAC,eACrEhB,CAAC,CAACU,OAAO,CAAC,MAAwCO,sBAAsB,CAAC,eACzEjB,CAAC,CAACU,OAAO,CAAC,MAAsCQ,oBAAoB,CAAC,eACrElB,CAAC,CAACU,OAAO,CAAC,MAA2BS,SAAS,CAAC,eAC/CnB,CAAC,CAACU,OAAO,CAAC,MAA6BU,WAAW,CAAC,CACpD;AAED,OAAO,MAAMR,EAAE,gBAAGZ,CAAC,CAACqB,MAAM,CAAC;EAAEC,EAAE,eAAEtB,CAAC,CAACuB,KAAK,CAACd,MAAM;AAAC,CAAE,CAAC;AACnD,OAAO,MAAME,GAAG,gBAAGX,CAAC,CAACqB,MAAM,CAAC;EAAEG,GAAG,eAAExB,CAAC,CAACuB,KAAK,CAACd,MAAM;AAAC,CAAE,CAAC;AACrD,OAAO,MAAMI,gBAAgB,gBAAGb,CAAC,CAACqB,MAAM,CAAC;EACvCI,WAAW,eAAEzB,CAAC,CAAC0B,KAAK,CAACzB,OAAO,eAAED,CAAC,CAACK,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC;CACxD,CAAC;AACF,OAAO,MAAMS,gBAAgB,gBAAGd,CAAC,CAACqB,MAAM,CAAC;EACvCM,iBAAiB,eAAE3B,CAAC,CAAC0B,KAAK,CACxBvB,aAAa,EACbG,mBAAmB,EACnBC,cAAc;CAEjB,CAAC;AACF,MAAMqB,cAAc,gBAAG5B,CAAC,CAAC0B,KAAK,CAC5BvB,aAAa,eACbH,CAAC,CAACE,MAAM,CAAC2B,WAAW,CAAC;EACnBC,KAAK,EAAE,eAAe;EACtBC,WAAW,EAAE;CACd,CAAC,eACF/B,CAAC,CAACgC,OAAO,CAACH,WAAW,CAAC;EACpBC,KAAK,EAAE,mBAAmB;EAC1BC,WAAW,EAAE;CACd,CAAC,CACH;AACD,OAAO,MAAMhB,YAAY,gBAAGf,CAAC,CAACqB,MAAM,CAAC;EACnCY,aAAa,EAAEL;CAChB,CAAC;AACF,OAAO,MAAMZ,oBAAoB,gBAAGhB,CAAC,CAACqB,MAAM,CAAC;EAC3Ca,sBAAsB,EAAEN;CACzB,CAAC;AACF,OAAO,MAAMX,sBAAsB,gBAAGjB,CAAC,CAACqB,MAAM,CAAC;EAC7Cc,kBAAkB,eAAEnC,CAAC,CAAC0B,KAAK,cACzB1B,CAAC,CAACK,OAAO,CAAC,IAAI,CAAC,eACfL,CAAC,CAACK,OAAO,CAAC,IAAI,CAAC,eACfL,CAAC,CAACoC,MAAM,CAACP,WAAW,CAAC;IACnBC,KAAK,EAAE,WAAW;IAClBC,WAAW,EAAE;GACd,CAAC;CAEL,CAAC;AACF,OAAO,MAAMb,oBAAoB,gBAAGlB,CAAC,CAACqB,MAAM,CAAC;EAC3CgB,eAAe,eAAErC,CAAC,CAAC0B,KAAK,cACtB1B,CAAC,CAACK,OAAO,CAAC,QAAQ,CAAC,eACnBL,CAAC,CAAC0B,KAAK,cAAC1B,CAAC,CAACK,OAAO,CAAC,MAAM,CAAC,eAAEL,CAAC,CAACK,OAAO,CAAC,QAAQ,CAAC,eAAEL,CAAC,CAACK,OAAO,CAAC,QAAQ,CAAC,CAAC;CAEvE,CAAC;AACF,OAAO,MAAMc,SAAS,gBAAGnB,CAAC,CAACqB,MAAM,CAAC;EAChCiB,UAAU,eAAEtC,CAAC,CAAC0B,KAAK,cACjB1B,CAAC,CAACK,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,eACrBL,CAAC,CAACK,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,CAAC;CAEpE,CAAC;AACF,OAAO,MAAMe,WAAW,gBAAGpB,CAAC,CAACqB,MAAM,CAAC;EAClCkB,YAAY,eAAEvC,CAAC,CAAC0B,KAAK,CACnB1B,CAAC,CAACE,MAAM,eACRF,CAAC,CAACK,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,eACzBL,CAAC,CAACK,OAAO,CAAC,SAAS,EAAE,WAAW,CAAC;CAEpC,CAAC;AAEF;AAEA,OAAO,MAAMmC,YAAY,gBAAGxC,CAAC,CAACqB,MAAM,CAAC;EACnCoB,WAAW,EAAEzC,CAAC,CAACoC,MAAM;EACrBM,aAAa,EAAE1C,CAAC,CAACoC,MAAM;EACvBO,qBAAqB,EAAE3C,CAAC,CAACoC,MAAM;EAC/BQ,sBAAsB,EAAE5C,CAAC,CAACoC,MAAM;EAChCS,uBAAuB,EAAE7C,CAAC,CAACoC,MAAM;EACjCU,4BAA4B,EAAE9C,CAAC,CAACoC,MAAM;EACtCW,6BAA6B,EAAE/C,CAAC,CAACoC,MAAM;EACvCY,8BAA8B,EAAEhD,CAAC,CAACoC;CACnC,CAAC;AAGF;AAEA,OAAO,MAAMa,WAAW,gBAAGjD,CAAC,CAACE,MAAM,CAAC2B,WAAW,CAAC;EAC9CE,WAAW,EAAE;CACd,CAAC;AAGF,OAAO,MAAMmB,UAAU,gBAAGlD,CAAC,CAACE,MAAM,CAAC2B,WAAW,CAAC;EAC7CE,WAAW,EAAE;CACd,CAAC;AAGF,OAAO,MAAMoB,WAAW,gBAAGnD,CAAC,CAACE,MAAM,CAAC2B,WAAW,CAAC;EAC9CE,WAAW,EAAE;CACd,CAAC;AAGF,OAAO,MAAMqB,KAAK,gBAAGpD,CAAC,CAACI,KAAK,cAC1BJ,CAAC,CAACK,OAAO,CAAC,KAAK,CAAC,eAChBL,CAAC,CAACK,OAAO,CAAC,UAAU,CAAC,eACrBL,CAAC,CAACK,OAAO,CAAC,OAAO,CAAC,CACnB;AAGD,OAAO,MAAMgD,MAAM,GAAGrD,CAAC,CAACsD,gBAAgB;AAGxC,OAAO,MAAMC,MAAM,GAAGvD,CAAC,CAACsD,gBAAgB;AAGxC,OAAO,MAAME,iBAAiB,gBAAGxD,CAAC,CAACqB,MAAM,CAAC;EACxCoC,MAAM,EAAEhD,MAAM;EACdiD,aAAa,eAAE1D,CAAC,CAAC2D,QAAQ,CAACnB,YAAY;CACvC,CAAC;AAGF,OAAO,MAAMoB,QAAQ,gBAAG5D,CAAC,CAACqB,MAAM,CAAC;EAC/BwC,QAAQ,eAAE7D,CAAC,CAAC2D,QAAQ,CAAC3D,CAAC,CAAC8D,OAAO,CAAC;EAC/BC,MAAM,eAAE/D,CAAC,CAAC2D,QAAQ,cAChB3D,CAAC,CAACqB,MAAM,CAAC;IACP2C,aAAa,eAAEhE,CAAC,CAACK,OAAO,CAAC,CAAC,CAAC;IAC3B4D,SAAS,eAAEjE,CAAC,CAACkE,MAAM,CAAC;MAAEC,GAAG,EAAEnE,CAAC,CAACE,MAAM;MAAEkE,KAAK,EAAEpE,CAAC,CAACoC;IAAM,CAAE;GACvD,CAAC,CACH;EACDiC,OAAO,eAAErE,CAAC,CAAC2D,QAAQ,CAAC3D,CAAC,CAAC8D,OAAO;CAC9B,CAAC;AAGF,OAAO,MAAMQ,QAAQ,gBAAGtE,CAAC,CAACqB,MAAM,CAAC;EAC/BkD,EAAE,EAAElB,MAAM;EACVmB,OAAO,EAAEjB,MAAM;EACfkB,IAAI,eAAEzE,CAAC,CAAC2D,QAAQ,CAAC3D,CAAC,CAAC8D,OAAO,CAAC;EAC3BY,YAAY,EAAEzB,WAAW;EACzB0B,WAAW,EAAEzB,UAAU;EACvBnB,WAAW,eAAE/B,CAAC,CAAC2D,QAAQ,CAACR,WAAW,CAAC;EACpCyB,KAAK,EAAExB,KAAK;EACZyB,kBAAkB,eAAE7E,CAAC,CAAC8E,SAAS,CAACtB,iBAAiB,CAAC;EAClDuB,QAAQ,eAAE/E,CAAC,CAAC2D,QAAQ,cAAC3D,CAAC,CAAC8E,SAAS,CAAClB,QAAQ,CAAC;CAC3C,CAAC;AAIF","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "graze-client",
3
- "version": "0.2.4",
3
+ "version": "0.3.0",
4
4
  "type": "module",
5
5
  "license": "MIT",
6
6
  "description": "A Typescript Graze API client.",
@@ -30,6 +30,10 @@
30
30
  "./schema": {
31
31
  "import": "./build/esm/schema/index.js",
32
32
  "types": "./build/dts/schema/index.d.ts"
33
+ },
34
+ "./builder": {
35
+ "import": "./build/esm/builder/index.js",
36
+ "types": "./build/dts/builder/index.d.ts"
33
37
  }
34
38
  },
35
39
  "scripts": {
@@ -79,18 +83,6 @@
79
83
  "typescript": "^5.6.2",
80
84
  "vitest": "^2.0.5"
81
85
  },
82
- "effect": {
83
- "generateExports": {
84
- "include": [
85
- "**/*.ts"
86
- ]
87
- },
88
- "generateIndex": {
89
- "include": [
90
- "**/*.ts"
91
- ]
92
- }
93
- },
94
86
  "patchedDependencies": {
95
87
  "@changesets/get-github-info@0.6.0": "patches/@changesets__get-github-info@0.6.0.patch",
96
88
  "babel-plugin-annotate-pure-calls@0.4.0": "patches/babel-plugin-annotate-pure-calls@0.4.0.patch"
package/src/builder.ts ADDED
@@ -0,0 +1,119 @@
1
+ import {
2
+ AttributeComparison,
3
+ AttributeName,
4
+ AttributeValue,
5
+ ContentModerationBlock,
6
+ Filter,
7
+ ListMemberFilter,
8
+ RegexMatches,
9
+ RegexNegationMatches,
10
+ SocialGraph,
11
+ } from "./schema/index.js";
12
+
13
+ const and = (...filters: Filter[]) => {
14
+ const flatFilters: Filter[] = [];
15
+ filters.forEach((f) => {
16
+ if ("and" in f) {
17
+ // Automatically flatten nested ands.
18
+ flatFilters.push(...f.and);
19
+ } else {
20
+ flatFilters.push(f);
21
+ }
22
+ });
23
+ return { and: flatFilters };
24
+ };
25
+ const or = (...filters: Filter[]) => {
26
+ const flatFilters: Filter[] = [];
27
+ filters.forEach((f) => {
28
+ if ("or" in f) {
29
+ flatFilters.push(...f.or);
30
+ } else {
31
+ flatFilters.push(f);
32
+ }
33
+ });
34
+ return { or: flatFilters };
35
+ };
36
+
37
+ const regexMatches = (
38
+ attribute: RegexMatches["regex_matches"][0],
39
+ regex: string
40
+ ): RegexMatches => ({
41
+ regex_matches: [attribute, regex, true],
42
+ });
43
+
44
+ const regexNegationMatches = (
45
+ attribute: RegexNegationMatches["regex_negation_matches"][0],
46
+ regex: string
47
+ ): RegexNegationMatches => ({
48
+ regex_negation_matches: [attribute, regex, true],
49
+ });
50
+
51
+ const isListMember = (uri: string): ListMemberFilter => ({
52
+ list_member: [uri, "in"],
53
+ });
54
+ const isNotListMember = (uri: string): ListMemberFilter => ({
55
+ list_member: [uri, "not_in"],
56
+ });
57
+ const socialGraph = (
58
+ identifier: string,
59
+ op: SocialGraph["social_graph"][1],
60
+ relation: SocialGraph["social_graph"][2]
61
+ ): SocialGraph => ({
62
+ social_graph: [identifier, op, relation],
63
+ });
64
+ const posterIsFollowedBy = (identifier: string) =>
65
+ socialGraph(identifier, "in", "followers");
66
+ const posterFollows = (identifier: string) =>
67
+ socialGraph(identifier, "in", "follows");
68
+ const posterIsNotFollowedBy = (identifier: string) =>
69
+ socialGraph(identifier, "not_in", "followers");
70
+ const posterDoesNotFollow = (identifier: string) =>
71
+ socialGraph(identifier, "not_in", "follows");
72
+
73
+ const hasVideo: Filter = {
74
+ embed_type: ["==", "video"],
75
+ };
76
+
77
+ const hasNoNSFWLabels: Filter = {
78
+ entity_excludes: ["labels", ["porn", "sexual", "nudity"]],
79
+ };
80
+ const attributeCompare = (
81
+ attr: AttributeName,
82
+ op: AttributeComparison,
83
+ value: AttributeValue
84
+ ): Filter => ({
85
+ attribute_compare: [attr, op, value],
86
+ });
87
+
88
+ const isPost: Filter = attributeCompare("reply", "==", null);
89
+ const isReply: Filter = attributeCompare("reply", "!=", null);
90
+
91
+ const isContentOk = (threshold: number = 0.9): ContentModerationBlock => ({
92
+ content_moderation: ["OK", ">=", threshold],
93
+ });
94
+
95
+ export const Algo = {
96
+ filter: (...filters: Filter[]): { filter: Filter } => ({
97
+ filter: and(...filters),
98
+ }),
99
+ };
100
+
101
+ export const F = {
102
+ and,
103
+ or,
104
+ regexMatches,
105
+ regexNegationMatches,
106
+ attributeCompare,
107
+ isListMember,
108
+ isNotListMember,
109
+ socialGraph,
110
+ posterIsFollowedBy,
111
+ posterFollows,
112
+ posterIsNotFollowedBy,
113
+ posterDoesNotFollow,
114
+ hasVideo,
115
+ hasNoNSFWLabels,
116
+ isPost,
117
+ isReply,
118
+ isContentOk,
119
+ };
@@ -32,7 +32,8 @@ export type Filter =
32
32
  | RegexNegationMatches
33
33
  | ContentModerationBlock
34
34
  | EntityExcludesLabels
35
- | EmbedType;
35
+ | EmbedType
36
+ | SocialGraph;
36
37
 
37
38
  export type And = Readonly<{ and: ReadonlyArray<Filter> }>;
38
39
  export type Or = Readonly<{ or: ReadonlyArray<Filter> }>;
@@ -64,6 +65,9 @@ export type EmbedType = Readonly<{
64
65
  "video" | "image" | "link" | "post" | "gif" | "image_group"
65
66
  ];
66
67
  }>;
68
+ export type SocialGraph = Readonly<{
69
+ social_graph: readonly [string, "in" | "not_in", "follows" | "followers"];
70
+ }>;
67
71
 
68
72
  export const Filter = S.Union(
69
73
  S.suspend((): S.Schema<And> => And),
@@ -74,7 +78,8 @@ export const Filter = S.Union(
74
78
  S.suspend((): S.Schema<RegexNegationMatches> => RegexNegationMatches),
75
79
  S.suspend((): S.Schema<ContentModerationBlock> => ContentModerationBlock),
76
80
  S.suspend((): S.Schema<EntityExcludesLabels> => EntityExcludesLabels),
77
- S.suspend((): S.Schema<EmbedType> => EmbedType)
81
+ S.suspend((): S.Schema<EmbedType> => EmbedType),
82
+ S.suspend((): S.Schema<SocialGraph> => SocialGraph)
78
83
  );
79
84
 
80
85
  export const Or = S.Struct({ or: S.Array(Filter) });
@@ -128,6 +133,13 @@ export const EmbedType = S.Struct({
128
133
  S.Literal("video", "image", "link", "post", "gif", "image_group")
129
134
  ),
130
135
  });
136
+ export const SocialGraph = S.Struct({
137
+ social_graph: S.Tuple(
138
+ S.String,
139
+ S.Literal("in", "not_in"),
140
+ S.Literal("follows", "followers")
141
+ ),
142
+ });
131
143
 
132
144
  // ---------------------- Sort Settings -----------------------------
133
145