@curatedotfun/masa-source
Version:
Masa source plugin for curatedotfun
72 lines (71 loc) • 4.12 kB
TypeScript
import { IPlatformSearchService, SourcePluginSearchOptions } from "@curatedotfun/types";
import { MasaClient, MasaSearchResult } from "src/masa-client";
import { TwitterPlatformState, TwitterQueryOptionsInput, TwitterQueryOptionsOutput } from "./types";
export declare const twitterService: {
platformType: string;
factory: (masaClient: MasaClient) => IPlatformSearchService<MasaSearchResult, TwitterQueryOptionsOutput, TwitterPlatformState>;
config: {
optionsSchema: import("zod").ZodObject<{
allWords: import("zod").ZodOptional<import("zod").ZodString>;
exactPhrase: import("zod").ZodOptional<import("zod").ZodString>;
anyWords: import("zod").ZodOptional<import("zod").ZodString>;
noneWords: import("zod").ZodOptional<import("zod").ZodString>;
hashtags: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString, "many">>;
fromAccounts: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString, "many">>;
toAccounts: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString, "many">>;
mentioningAccounts: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString, "many">>;
includeReplies: import("zod").ZodOptional<import("zod").ZodBoolean>;
onlyReplies: import("zod").ZodOptional<import("zod").ZodBoolean>;
onlyLinks: import("zod").ZodOptional<import("zod").ZodBoolean>;
minReplies: import("zod").ZodOptional<import("zod").ZodNumber>;
minLikes: import("zod").ZodOptional<import("zod").ZodNumber>;
minRetweets: import("zod").ZodOptional<import("zod").ZodNumber>;
sinceDate: import("zod").ZodOptional<import("zod").ZodUnion<[import("zod").ZodString, import("zod").ZodDate]>>;
untilDate: import("zod").ZodOptional<import("zod").ZodUnion<[import("zod").ZodString, import("zod").ZodDate]>>;
sinceId: import("zod").ZodOptional<import("zod").ZodString>;
pageSize: import("zod").ZodOptional<import("zod").ZodNumber>;
language: import("zod").ZodOptional<import("zod").ZodString>;
}, "strict", import("zod").ZodTypeAny, {
allWords?: string | undefined;
exactPhrase?: string | undefined;
anyWords?: string | undefined;
noneWords?: string | undefined;
hashtags?: string[] | undefined;
fromAccounts?: string[] | undefined;
toAccounts?: string[] | undefined;
mentioningAccounts?: string[] | undefined;
includeReplies?: boolean | undefined;
onlyReplies?: boolean | undefined;
onlyLinks?: boolean | undefined;
minReplies?: number | undefined;
minLikes?: number | undefined;
minRetweets?: number | undefined;
sinceDate?: string | Date | undefined;
untilDate?: string | Date | undefined;
sinceId?: string | undefined;
pageSize?: number | undefined;
language?: string | undefined;
}, {
allWords?: string | undefined;
exactPhrase?: string | undefined;
anyWords?: string | undefined;
noneWords?: string | undefined;
hashtags?: string[] | undefined;
fromAccounts?: string[] | undefined;
toAccounts?: string[] | undefined;
mentioningAccounts?: string[] | undefined;
includeReplies?: boolean | undefined;
onlyReplies?: boolean | undefined;
onlyLinks?: boolean | undefined;
minReplies?: number | undefined;
minLikes?: number | undefined;
minRetweets?: number | undefined;
sinceDate?: string | Date | undefined;
untilDate?: string | Date | undefined;
sinceId?: string | undefined;
pageSize?: number | undefined;
language?: string | undefined;
}>;
preparePlatformArgs: (options: SourcePluginSearchOptions) => TwitterQueryOptionsInput;
};
};