@tabsircg/fb-sdk 1.0.5 → 1.1.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.
Files changed (49) hide show
  1. package/README.md +59 -367
  2. package/dist/client.d.ts +9 -2
  3. package/dist/client.d.ts.map +1 -1
  4. package/dist/client.js +2 -0
  5. package/dist/client.js.map +1 -1
  6. package/dist/httpClient.d.ts +9 -7
  7. package/dist/httpClient.d.ts.map +1 -1
  8. package/dist/httpClient.js +27 -18
  9. package/dist/httpClient.js.map +1 -1
  10. package/dist/internal/batchable.d.ts +4 -0
  11. package/dist/internal/batchable.d.ts.map +1 -0
  12. package/dist/internal/batchable.js +24 -0
  13. package/dist/internal/batchable.js.map +1 -0
  14. package/dist/internal/fetchers.d.ts +2 -1
  15. package/dist/internal/fetchers.d.ts.map +1 -1
  16. package/dist/internal/fetchers.js +30 -45
  17. package/dist/internal/fetchers.js.map +1 -1
  18. package/dist/resources/InsightResource.d.ts +2 -2
  19. package/dist/resources/PageResource.d.ts +1 -1
  20. package/dist/resources/PageResource.d.ts.map +1 -1
  21. package/dist/resources/PageResource.js +7 -17
  22. package/dist/resources/PageResource.js.map +1 -1
  23. package/dist/resources/PostResource.d.ts +1 -1
  24. package/dist/resources/PostResource.d.ts.map +1 -1
  25. package/dist/resources/PostResource.js +3 -7
  26. package/dist/resources/PostResource.js.map +1 -1
  27. package/dist/resources/UserResource.d.ts +2 -2
  28. package/dist/resources/UserResource.d.ts.map +1 -1
  29. package/dist/resources/UserResource.js +4 -8
  30. package/dist/resources/UserResource.js.map +1 -1
  31. package/dist/resources/comment/CommentResource.d.ts.map +1 -1
  32. package/dist/resources/comment/CommentResource.js +3 -5
  33. package/dist/resources/comment/CommentResource.js.map +1 -1
  34. package/dist/resources/comment/PageCommentResouorce.d.ts +7 -2
  35. package/dist/resources/comment/PageCommentResouorce.d.ts.map +1 -1
  36. package/dist/resources/comment/PageCommentResouorce.js +1 -3
  37. package/dist/resources/comment/PageCommentResouorce.js.map +1 -1
  38. package/dist/resources/createBatchResource.d.ts +17 -0
  39. package/dist/resources/createBatchResource.d.ts.map +1 -0
  40. package/dist/resources/createBatchResource.js +25 -0
  41. package/dist/resources/createBatchResource.js.map +1 -0
  42. package/dist/types/facebookpost.d.ts +3 -3
  43. package/dist/types/facebookpost.d.ts.map +1 -1
  44. package/dist/types/shared.d.ts +18 -8
  45. package/dist/types/shared.d.ts.map +1 -1
  46. package/dist/types/shared.js.map +1 -1
  47. package/dist/types/webhook.d.ts +37 -16
  48. package/dist/types/webhook.d.ts.map +1 -1
  49. package/package.json +7 -4
@@ -1,4 +1,10 @@
1
- type Decrement = [never, 0, 1, 2, 3, 4, 5];
1
+ export interface BatchableRequest<T> {
2
+ readonly method: string;
3
+ readonly relative_url: string;
4
+ then<R1 = T, R2 = never>(onFulfilled?: ((value: T) => R1 | PromiseLike<R1>) | null, onRejected?: ((reason: any) => R2 | PromiseLike<R2>) | null): Promise<R1 | R2>;
5
+ catch<R = never>(onRejected?: ((reason: any) => R | PromiseLike<R>) | null): Promise<T | R>;
6
+ }
7
+ type Decrement = [never, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
2
8
  export interface BaseEdgeOptions {
3
9
  after?: string;
4
10
  before?: string;
@@ -9,18 +15,22 @@ export interface EdgeOptions extends BaseEdgeOptions {
9
15
  limit?: number;
10
16
  order?: ORDER;
11
17
  }
12
- export type FbFieldSelector<T, D extends number = 1> = {
18
+ export type FbFieldSelector<T, D extends number = 10> = {
13
19
  [K in keyof T]?: D extends 0 ? true : NonNullable<T[K]> extends CollectionOf<infer U, infer O> ? {
14
20
  options?: O;
15
21
  fields: FbFieldSelector<U, Decrement[D]>;
16
22
  } | true : NonNullable<T[K]> extends object ? FbFieldSelector<NonNullable<T[K]>, Decrement[D]> | true : true;
17
23
  };
24
+ type TrueKeysOf<O> = {
25
+ [K in keyof O]: O[K] extends true ? K : never;
26
+ }[keyof O];
27
+ type CollectionExtras<T> = Omit<NonNullable<T>, "data" | "paging" | "_edgeOptions">;
18
28
  type CleanCollection<T, Data, F> = {
19
29
  data: Data[];
20
30
  paging: Paging;
21
31
  } & (Exclude<F, undefined> extends {
22
- options: infer _O;
23
- } ? Omit<NonNullable<T>, "data" | "paging" | "_edgeOptions"> : {});
32
+ options: infer O;
33
+ } ? Required<Pick<CollectionExtras<T>, Extract<keyof CollectionExtras<T>, TrueKeysOf<O>>>> : {});
24
34
  export type FbPickDeep<T, F> = {
25
35
  [K in keyof T as K extends keyof F ? K : never]: NonNullable<T[K]> extends CollectionOf<infer U> ? Exclude<F[K & keyof F], undefined> extends {
26
36
  fields: infer NF;
@@ -39,12 +49,12 @@ type StripTrue<T> = Exclude<T, true | undefined>;
39
49
  export type DeepStrict<Valid, Inferred> = {
40
50
  [K in keyof Inferred]: K extends keyof StripTrue<Valid> ? StripTrue<Valid>[K] extends boolean | undefined ? StripTrue<Valid>[K] : Inferred[K] extends object ? DeepStrict<StripTrue<Valid>[K], Inferred[K]> : StripTrue<Valid>[K] : never;
41
51
  };
42
- export type Fields<T, F, D extends number = 1> = F extends DeepStrict<FbFieldSelector<T, D>, F> ? F : DeepStrict<FbFieldSelector<T, D>, F>;
43
- export type ListEdge<T, O extends EdgeOptions = EdgeOptions, D extends number = 1> = <F extends FbFieldSelector<T, D>>(query: {
52
+ export type Fields<T, F, D extends number = 10> = F extends DeepStrict<FbFieldSelector<T, D>, F> ? F : DeepStrict<FbFieldSelector<T, D>, F>;
53
+ export type ListEdge<T, O extends EdgeOptions = EdgeOptions, D extends number = 10> = <F extends FbFieldSelector<T, D>>(query: {
44
54
  fields: Fields<T, F, D>;
45
55
  options?: O;
46
- }) => Promise<Collection<T, F>>;
47
- export type GetNode<T, D extends number = 1> = <F extends FbFieldSelector<T, D>>(fields: Fields<T, F, D>) => Promise<FbPickDeep<T, F>>;
56
+ }) => BatchableRequest<Collection<T, F>>;
57
+ export type GetNode<T, D extends number = 10> = <F extends FbFieldSelector<T, D>>(fields: Fields<T, F, D>) => BatchableRequest<FbPickDeep<T, F>>;
48
58
  export declare enum ORDER {
49
59
  OLDEST = "chronological",
50
60
  NEWEST = "reverse_chronological"
@@ -1 +1 @@
1
- {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../src/types/shared.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../src/types/shared.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../src/types/shared.ts"],"names":[],"mappings":"AAkFA,MAAM,CAAN,IAAY,KAGX;AAHD,WAAY,KAAK;IACf,iCAAwB,CAAA;IACxB,yCAAgC,CAAA;AAClC,CAAC,EAHW,KAAK,KAAL,KAAK,QAGhB"}
1
+ {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../src/types/shared.ts"],"names":[],"mappings":"AA+FA,MAAM,CAAN,IAAY,KAGX;AAHD,WAAY,KAAK;IACf,iCAAwB,CAAA;IACxB,yCAAgC,CAAA;AAClC,CAAC,EAHW,KAAK,KAAL,KAAK,QAGhB"}
@@ -1,28 +1,49 @@
1
- export interface WebhookEntry {
2
- id: string;
3
- time: number;
4
- changes: WebhookChange[];
5
- }
6
- export interface WebhookChange {
7
- field: string;
8
- value: WebhookFeedValue;
9
- }
10
- export interface WebhookFeedValue {
1
+ type WebhookObject = "page" | "user" | "permissions" | "payments";
2
+ type FeedItem = "post" | "comment" | "reaction" | "status" | "photo" | "video" | "share" | "note" | "link";
3
+ type FeedVerb = "add" | "edited" | "remove" | "hide" | "unhide";
4
+ type ReactionType = "like" | "love" | "haha" | "wow" | "sad" | "angry" | "care";
5
+ interface WebhookFeedValueBase {
11
6
  from?: {
12
7
  id: string;
13
8
  name: string;
14
9
  };
15
- item: string;
16
- verb: string;
17
- post_id?: string;
18
- comment_id?: string;
19
- parent_id?: string;
10
+ item: FeedItem;
11
+ verb: FeedVerb;
20
12
  created_time: number;
13
+ }
14
+ interface PostFeedValue extends WebhookFeedValueBase {
15
+ item: "post" | "status" | "photo" | "video" | "link" | "share" | "note";
16
+ post_id: string;
17
+ message?: string;
21
18
  is_hidden?: boolean;
19
+ }
20
+ interface CommentFeedValue extends WebhookFeedValueBase {
21
+ item: "comment";
22
+ comment_id: string;
23
+ post_id: string;
24
+ parent_id: string;
22
25
  message?: string;
26
+ is_hidden?: boolean;
27
+ }
28
+ interface ReactionFeedValue extends WebhookFeedValueBase {
29
+ item: "reaction";
30
+ post_id: string;
31
+ parent_id?: string;
32
+ reaction_type: ReactionType;
33
+ }
34
+ export type WebhookFeedValue = PostFeedValue | CommentFeedValue | ReactionFeedValue;
35
+ export interface WebhookChange {
36
+ field: "feed" | "mention" | "reactions" | "leadgen" | "messages";
37
+ value: WebhookFeedValue;
38
+ }
39
+ export interface WebhookEntry {
40
+ id: string;
41
+ time: number;
42
+ changes: WebhookChange[];
23
43
  }
24
44
  export interface WebhookPayload {
25
- object: string;
45
+ object: WebhookObject;
26
46
  entry: WebhookEntry[];
27
47
  }
48
+ export {};
28
49
  //# sourceMappingURL=webhook.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"webhook.d.ts","sourceRoot":"","sources":["../../src/types/webhook.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,aAAa,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,gBAAgB,CAAC;CACzB;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,CAAC,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,YAAY,EAAE,CAAC;CACvB"}
1
+ {"version":3,"file":"webhook.d.ts","sourceRoot":"","sources":["../../src/types/webhook.ts"],"names":[],"mappings":"AAAA,KAAK,aAAa,GAAG,MAAM,GAAG,MAAM,GAAG,aAAa,GAAG,UAAU,CAAC;AAClE,KAAK,QAAQ,GACT,MAAM,GACN,SAAS,GACT,UAAU,GACV,QAAQ,GACR,OAAO,GACP,OAAO,GACP,OAAO,GACP,MAAM,GACN,MAAM,CAAC;AACX,KAAK,QAAQ,GAAG,KAAK,GAAG,QAAQ,GAAG,QAAQ,GAAG,MAAM,GAAG,QAAQ,CAAC;AAChE,KAAK,YAAY,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,GAAG,KAAK,GAAG,OAAO,GAAG,MAAM,CAAC;AAEhF,UAAU,oBAAoB;IAC5B,IAAI,CAAC,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IACpC,IAAI,EAAE,QAAQ,CAAC;IACf,IAAI,EAAE,QAAQ,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;CACtB;AAGD,UAAU,aAAc,SAAQ,oBAAoB;IAClD,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;IACxE,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,UAAU,gBAAiB,SAAQ,oBAAoB;IACrD,IAAI,EAAE,SAAS,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,UAAU,iBAAkB,SAAQ,oBAAoB;IACtD,IAAI,EAAE,UAAU,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,YAAY,CAAC;CAC7B;AAED,MAAM,MAAM,gBAAgB,GAAG,aAAa,GAAG,gBAAgB,GAAG,iBAAiB,CAAC;AAEpF,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,WAAW,GAAG,SAAS,GAAG,UAAU,CAAC;IACjE,KAAK,EAAE,gBAAgB,CAAC;CACzB;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,aAAa,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,aAAa,CAAC;IACtB,KAAK,EAAE,YAAY,EAAE,CAAC;CACvB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tabsircg/fb-sdk",
3
- "version": "1.0.5",
3
+ "version": "1.1.0",
4
4
  "description": "",
5
5
  "main": "./dist/client.js",
6
6
  "private": false,
@@ -15,9 +15,10 @@
15
15
  "dist"
16
16
  ],
17
17
  "scripts": {
18
- "build": "tsc",
18
+ "build": "pnpm test && tsc",
19
19
  "dev": "tsx src/temp/test.ts",
20
- "prepublishOnly": "npm run build"
20
+ "prepublishOnly": "npm run build",
21
+ "test": "vitest run"
21
22
  },
22
23
  "keywords": [],
23
24
  "author": "",
@@ -25,8 +26,10 @@
25
26
  "type": "module",
26
27
  "devDependencies": {
27
28
  "@types/node": "^25.3.5",
29
+ "expect-type": "^1.3.0",
28
30
  "tsx": "^4.21.0",
29
- "typescript": "^5.9.3"
31
+ "typescript": "^5.9.3",
32
+ "vitest": "^4.1.0"
30
33
  },
31
34
  "dependencies": {
32
35
  "axios": "^1.13.6",