@tabsircg/fb-sdk 1.2.1 → 2.0.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 (144) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +410 -53
  3. package/dist/client.d.ts +19 -10
  4. package/dist/client.d.ts.map +1 -1
  5. package/dist/client.js +4 -2
  6. package/dist/client.js.map +1 -1
  7. package/dist/errors.d.ts +4 -0
  8. package/dist/errors.d.ts.map +1 -0
  9. package/dist/errors.js +2 -0
  10. package/dist/errors.js.map +1 -0
  11. package/dist/httpClient.d.ts +14 -4
  12. package/dist/httpClient.d.ts.map +1 -1
  13. package/dist/httpClient.js +112 -31
  14. package/dist/httpClient.js.map +1 -1
  15. package/dist/instagramClient.d.ts +174 -0
  16. package/dist/instagramClient.d.ts.map +1 -0
  17. package/dist/instagramClient.js +19 -0
  18. package/dist/instagramClient.js.map +1 -0
  19. package/dist/internal/batchable.d.ts +3 -2
  20. package/dist/internal/batchable.d.ts.map +1 -1
  21. package/dist/internal/batchable.js +17 -4
  22. package/dist/internal/batchable.js.map +1 -1
  23. package/dist/internal/error.d.ts +94 -1
  24. package/dist/internal/error.d.ts.map +1 -1
  25. package/dist/internal/error.js +219 -0
  26. package/dist/internal/error.js.map +1 -1
  27. package/dist/internal/fetchers.d.ts +2 -2
  28. package/dist/internal/fetchers.d.ts.map +1 -1
  29. package/dist/internal/fetchers.js +3 -0
  30. package/dist/internal/fetchers.js.map +1 -1
  31. package/dist/internal/poller.d.ts +8 -2
  32. package/dist/internal/poller.d.ts.map +1 -1
  33. package/dist/internal/poller.js +18 -0
  34. package/dist/internal/poller.js.map +1 -1
  35. package/dist/internal/utils.d.ts.map +1 -1
  36. package/dist/internal/utils.js.map +1 -1
  37. package/dist/lib/transformCase.d.ts.map +1 -1
  38. package/dist/lib/transformCase.js +5 -6
  39. package/dist/lib/transformCase.js.map +1 -1
  40. package/dist/resources/InsightResource.d.ts +2 -2
  41. package/dist/resources/InsightResource.d.ts.map +1 -1
  42. package/dist/resources/InsightResource.js +12 -8
  43. package/dist/resources/InsightResource.js.map +1 -1
  44. package/dist/resources/PageResource.d.ts +6 -6
  45. package/dist/resources/PageResource.d.ts.map +1 -1
  46. package/dist/resources/PageResource.js +11 -6
  47. package/dist/resources/PageResource.js.map +1 -1
  48. package/dist/resources/PostResource.d.ts +3 -3
  49. package/dist/resources/PostResource.d.ts.map +1 -1
  50. package/dist/resources/PostResource.js +5 -2
  51. package/dist/resources/PostResource.js.map +1 -1
  52. package/dist/resources/UserResource.d.ts +4 -4
  53. package/dist/resources/UserResource.d.ts.map +1 -1
  54. package/dist/resources/UserResource.js +4 -0
  55. package/dist/resources/UserResource.js.map +1 -1
  56. package/dist/resources/comment/CommentResource.d.ts +5 -8
  57. package/dist/resources/comment/CommentResource.d.ts.map +1 -1
  58. package/dist/resources/comment/CommentResource.js +5 -2
  59. package/dist/resources/comment/CommentResource.js.map +1 -1
  60. package/dist/resources/comment/PageCommentResource.d.ts +14 -0
  61. package/dist/resources/comment/PageCommentResource.d.ts.map +1 -0
  62. package/dist/resources/comment/PageCommentResource.js +73 -0
  63. package/dist/resources/comment/PageCommentResource.js.map +1 -0
  64. package/dist/resources/createBatchResource.d.ts +5 -1
  65. package/dist/resources/createBatchResource.d.ts.map +1 -1
  66. package/dist/resources/createBatchResource.js +30 -5
  67. package/dist/resources/createBatchResource.js.map +1 -1
  68. package/dist/resources/instagram/InstagramCommentResource.d.ts +20 -0
  69. package/dist/resources/instagram/InstagramCommentResource.d.ts.map +1 -0
  70. package/dist/resources/instagram/InstagramCommentResource.js +22 -0
  71. package/dist/resources/instagram/InstagramCommentResource.js.map +1 -0
  72. package/dist/resources/instagram/InstagramInsightResource.d.ts +136 -0
  73. package/dist/resources/instagram/InstagramInsightResource.d.ts.map +1 -0
  74. package/dist/resources/instagram/InstagramInsightResource.js +48 -0
  75. package/dist/resources/instagram/InstagramInsightResource.js.map +1 -0
  76. package/dist/resources/instagram/InstagramMediaNodeResource.d.ts +89 -0
  77. package/dist/resources/instagram/InstagramMediaNodeResource.d.ts.map +1 -0
  78. package/dist/resources/instagram/InstagramMediaNodeResource.js +18 -0
  79. package/dist/resources/instagram/InstagramMediaNodeResource.js.map +1 -0
  80. package/dist/resources/instagram/InstagramMediaResource.d.ts +18 -0
  81. package/dist/resources/instagram/InstagramMediaResource.d.ts.map +1 -0
  82. package/dist/resources/instagram/InstagramMediaResource.js +69 -0
  83. package/dist/resources/instagram/InstagramMediaResource.js.map +1 -0
  84. package/dist/resources/instagram/InstagramMentionsResource.d.ts +10 -0
  85. package/dist/resources/instagram/InstagramMentionsResource.d.ts.map +1 -0
  86. package/dist/resources/instagram/InstagramMentionsResource.js +19 -0
  87. package/dist/resources/instagram/InstagramMentionsResource.js.map +1 -0
  88. package/dist/resources/instagram/InstagramResource.d.ts +82 -0
  89. package/dist/resources/instagram/InstagramResource.d.ts.map +1 -0
  90. package/dist/resources/instagram/InstagramResource.js +26 -0
  91. package/dist/resources/instagram/InstagramResource.js.map +1 -0
  92. package/dist/store/memory.d.ts +1 -1
  93. package/dist/store/memory.d.ts.map +1 -1
  94. package/dist/store/memory.js +1 -0
  95. package/dist/store/memory.js.map +1 -1
  96. package/dist/store/redis.d.ts +1 -1
  97. package/dist/store/redis.d.ts.map +1 -1
  98. package/dist/store/redis.js +1 -1
  99. package/dist/store/redis.js.map +1 -1
  100. package/dist/store/types.d.ts.map +1 -1
  101. package/dist/types/facebookerror.d.ts +37 -0
  102. package/dist/types/facebookerror.d.ts.map +1 -0
  103. package/dist/types/facebookerror.js +2 -0
  104. package/dist/types/facebookerror.js.map +1 -0
  105. package/dist/types/facebookinsights.d.ts +2 -2
  106. package/dist/types/facebookinsights.d.ts.map +1 -1
  107. package/dist/types/facebookmedia.d.ts +1 -1
  108. package/dist/types/facebookmedia.d.ts.map +1 -1
  109. package/dist/types/facebookmedia.js +1 -1
  110. package/dist/types/facebookmedia.js.map +1 -1
  111. package/dist/types/facebookpage.d.ts +1 -1
  112. package/dist/types/facebookpage.d.ts.map +1 -1
  113. package/dist/types/facebookpage.js +1 -1
  114. package/dist/types/facebookpage.js.map +1 -1
  115. package/dist/types/facebookpost.d.ts +1 -1
  116. package/dist/types/facebookpost.d.ts.map +1 -1
  117. package/dist/types/facebookpost.js +1 -1
  118. package/dist/types/facebookpost.js.map +1 -1
  119. package/dist/types/facebookuser.d.ts +1 -1
  120. package/dist/types/facebookuser.d.ts.map +1 -1
  121. package/dist/types/facebookuser.js +1 -1
  122. package/dist/types/facebookuser.js.map +1 -1
  123. package/dist/types/instagram.d.ts +146 -0
  124. package/dist/types/instagram.d.ts.map +1 -0
  125. package/dist/types/instagram.js +3 -0
  126. package/dist/types/instagram.js.map +1 -0
  127. package/dist/types/instagraminsights.d.ts +114 -0
  128. package/dist/types/instagraminsights.d.ts.map +1 -0
  129. package/dist/types/instagraminsights.js +2 -0
  130. package/dist/types/instagraminsights.js.map +1 -0
  131. package/dist/types/shared.d.ts +2 -1
  132. package/dist/types/shared.d.ts.map +1 -1
  133. package/dist/types/shared.js.map +1 -1
  134. package/dist/types/webhook.d.ts +119 -35
  135. package/dist/types/webhook.d.ts.map +1 -1
  136. package/dist/webhook/handler.d.ts +4 -2
  137. package/dist/webhook/handler.d.ts.map +1 -1
  138. package/dist/webhook/handler.js +30 -19
  139. package/dist/webhook/handler.js.map +1 -1
  140. package/dist/webhook/normalize.d.ts +3 -0
  141. package/dist/webhook/normalize.d.ts.map +1 -0
  142. package/dist/webhook/normalize.js +191 -0
  143. package/dist/webhook/normalize.js.map +1 -0
  144. package/package.json +39 -8
@@ -1,7 +1,7 @@
1
1
  import type { FacebookPost, PostExpiration } from "../types/facebookpost.js";
2
- import { BatchableRequest, GetNode } from "../types/shared.js";
3
- import { FacebookMedia } from "../types/facebookmedia.js";
4
- import { CreateResourceParams } from "../client.js";
2
+ import { type BatchableRequest, type GetNode } from "../types/shared.js";
3
+ import { type FacebookMedia } from "../types/facebookmedia.js";
4
+ import { type CreateResourceParams } from "../client.js";
5
5
  export type Expire = (time: number, type: PostExpiration["type"]) => BatchableRequest<void>;
6
6
  export type GetPost = GetNode<FacebookPost>;
7
7
  export declare function createPostResource({ id, http }: CreateResourceParams): {
@@ -1 +1 @@
1
- {"version":3,"file":"PostResource.d.ts","sourceRoot":"","sources":["../../src/resources/PostResource.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC7E,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAE/D,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAE1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAGpD,MAAM,MAAM,MAAM,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC,KAAK,gBAAgB,CAAC,IAAI,CAAC,CAAC;AAC5F,MAAM,MAAM,OAAO,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;AAE5C,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiBpE;AAED,MAAM,MAAM,QAAQ,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;AAC9C,wBAAgB,mBAAmB,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,oBAAoB;;EAKrE;AACD,MAAM,MAAM,mBAAmB,GAAG,OAAO,mBAAmB,CAAC"}
1
+ {"version":3,"file":"PostResource.d.ts","sourceRoot":"","sources":["../../src/resources/PostResource.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC7E,OAAO,EAAE,KAAK,gBAAgB,EAAE,KAAK,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAEzE,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAE/D,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAIzD,MAAM,MAAM,MAAM,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC,KAAK,gBAAgB,CAAC,IAAI,CAAC,CAAC;AAE5F,MAAM,MAAM,OAAO,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;AAG5C,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqBpE;AAGD,MAAM,MAAM,QAAQ,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;AAE9C,wBAAgB,mBAAmB,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,oBAAoB;;EAMrE;AAED,MAAM,MAAM,mBAAmB,GAAG,OAAO,mBAAmB,CAAC"}
@@ -1,5 +1,8 @@
1
+ import {} from "../types/shared.js";
1
2
  import { toGraphFields } from "../internal/utils.js";
2
- import { createCommenstResource } from "./comment/CommentResource.js";
3
+ import {} from "../types/facebookmedia.js";
4
+ import { createCommentsResource } from "./comment/CommentResource.js";
5
+ import {} from "../client.js";
3
6
  import { createPostInsightResource } from "./InsightResource.js";
4
7
  export function createPostResource({ id, http }) {
5
8
  const expire = (time, type) => http.post(`/${id}`, {
@@ -11,7 +14,7 @@ export function createPostResource({ id, http }) {
11
14
  return {
12
15
  expire,
13
16
  get,
14
- comments: createCommenstResource({ http, id }),
17
+ comments: createCommentsResource({ http, id }),
15
18
  insights: createPostInsightResource({ http, id }),
16
19
  };
17
20
  }
@@ -1 +1 @@
1
- {"version":3,"file":"PostResource.js","sourceRoot":"","sources":["../../src/resources/PostResource.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AAEtE,OAAO,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAKjE,MAAM,UAAU,kBAAkB,CAAC,EAAE,EAAE,EAAE,IAAI,EAAwB;IACnE,MAAM,MAAM,GAAW,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CACpC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE;QAClB,UAAU,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,EAA2B;KAC5E,CAAC,CAAC;IAEL,MAAM,GAAG,GAAY,CAAC,MAAM,EAAE,EAAE,CAC9B,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,EAAE;QACjB,MAAM,EAAE,EAAE,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,EAAE;KAC1C,CAAC,CAAC;IAEL,OAAO;QACL,MAAM;QACN,GAAG;QACH,QAAQ,EAAE,sBAAsB,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;QAC9C,QAAQ,EAAE,yBAAyB,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;KAClD,CAAC;AACJ,CAAC;AAGD,MAAM,UAAU,mBAAmB,CAAC,EAAE,IAAI,EAAE,EAAE,EAAwB;IACpE,MAAM,GAAG,GAAa,CAAC,MAAM,EAAE,EAAE,CAC/B,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;IAEpE,OAAO,EAAE,GAAG,EAAE,CAAC;AACjB,CAAC"}
1
+ {"version":3,"file":"PostResource.js","sourceRoot":"","sources":["../../src/resources/PostResource.ts"],"names":[],"mappings":"AACA,OAAO,EAAuC,MAAM,oBAAoB,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAsB,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AACtE,OAAO,EAA6B,MAAM,cAAc,CAAC;AACzD,OAAO,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAQjE,MAAM,UAAU,kBAAkB,CAAC,EAAE,EAAE,EAAE,IAAI,EAAwB;IAEnE,MAAM,MAAM,GAAW,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CACpC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE;QAClB,UAAU,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,EAA2B;KAC5E,CAAC,CAAC;IAGL,MAAM,GAAG,GAAY,CAAC,MAAM,EAAE,EAAE,CAC9B,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,EAAE;QACjB,MAAM,EAAE,EAAE,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,EAAE;KAC1C,CAAC,CAAC;IAEL,OAAO;QACL,MAAM;QACN,GAAG;QAEH,QAAQ,EAAE,sBAAsB,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;QAE9C,QAAQ,EAAE,yBAAyB,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;KAClD,CAAC;AACJ,CAAC;AAKD,MAAM,UAAU,mBAAmB,CAAC,EAAE,IAAI,EAAE,EAAE,EAAwB;IAEpE,MAAM,GAAG,GAAa,CAAC,MAAM,EAAE,EAAE,CAC/B,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;IAEpE,OAAO,EAAE,GAAG,EAAE,CAAC;AACjB,CAAC"}
@@ -1,7 +1,7 @@
1
- import { FacebookUser } from "../types/facebookuser.js";
2
- import { FacebookPage } from "../types/facebookpage.js";
3
- import { FbFieldSelector, FbPickDeep, ListEdge, BatchableRequest } from "../types/shared.js";
4
- import { CreateResourceParams } from "../client.js";
1
+ import { type FacebookUser } from "../types/facebookuser.js";
2
+ import { type FacebookPage } from "../types/facebookpage.js";
3
+ import { type FbFieldSelector, type FbPickDeep, type ListEdge, type BatchableRequest } from "../types/shared.js";
4
+ import { type CreateResourceParams } from "../client.js";
5
5
  export type GetUser = <F extends FbFieldSelector<FacebookUser>>(fields: F) => BatchableRequest<FbPickDeep<FacebookUser, F>>;
6
6
  export type ListAccounts = ListEdge<FacebookPage>;
7
7
  export declare const createUserResource: ({ http, id }: CreateResourceParams) => {
@@ -1 +1 @@
1
- {"version":3,"file":"UserResource.d.ts","sourceRoot":"","sources":["../../src/resources/UserResource.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC7F,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAEpD,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,SAAS,eAAe,CAAC,YAAY,CAAC,EAC5D,MAAM,EAAE,CAAC,KACN,gBAAgB,CAAC,UAAU,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC;AAEnD,MAAM,MAAM,YAAY,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC;AAElD,eAAO,MAAM,kBAAkB,GAAI,cAAc,oBAAoB;;;CAepE,CAAC"}
1
+ {"version":3,"file":"UserResource.d.ts","sourceRoot":"","sources":["../../src/resources/UserResource.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,KAAK,eAAe,EAAE,KAAK,UAAU,EAAE,KAAK,QAAQ,EAAE,KAAK,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACjH,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAGzD,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,SAAS,eAAe,CAAC,YAAY,CAAC,EAC5D,MAAM,EAAE,CAAC,KACN,gBAAgB,CAAC,UAAU,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC;AAGnD,MAAM,MAAM,YAAY,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC;AAGlD,eAAO,MAAM,kBAAkB,GAAI,cAAc,oBAAoB;;;CAiBpE,CAAC"}
@@ -1,4 +1,8 @@
1
1
  import { toGraphFields } from "../internal/utils.js";
2
+ import {} from "../types/facebookuser.js";
3
+ import {} from "../types/facebookpage.js";
4
+ import {} from "../types/shared.js";
5
+ import {} from "../client.js";
2
6
  export const createUserResource = ({ http, id }) => {
3
7
  const get = (fields) => http.get(`/${id}`, {
4
8
  params: { fields: toGraphFields(fields) },
@@ -1 +1 @@
1
- {"version":3,"file":"UserResource.js","sourceRoot":"","sources":["../../src/resources/UserResource.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAYrD,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,EAAE,IAAI,EAAE,EAAE,EAAwB,EAAE,EAAE;IACvE,MAAM,GAAG,GAAY,CAAC,MAAM,EAAE,EAAE,CAC9B,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,EAAE;QACjB,MAAM,EAAE,EAAE,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,EAAE;KAC1C,CAAC,CAAC;IAEL,MAAM,QAAQ,GAAiB,CAAC,KAAK,EAAE,EAAE,CACvC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,WAAW,EAAE;QAC1B,MAAM,EAAE,EAAE,MAAM,EAAE,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,GAAG,KAAK,CAAC,OAAO,EAAE;KAClE,CAAC,CAAC;IAEL,OAAO;QACL,GAAG;QACH,QAAQ;KACT,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"UserResource.js","sourceRoot":"","sources":["../../src/resources/UserResource.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAqB,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAqB,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAA+E,MAAM,oBAAoB,CAAC;AACjH,OAAO,EAA6B,MAAM,cAAc,CAAC;AAWzD,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,EAAE,IAAI,EAAE,EAAE,EAAwB,EAAE,EAAE;IAEvE,MAAM,GAAG,GAAY,CAAC,MAAM,EAAE,EAAE,CAC9B,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,EAAE;QACjB,MAAM,EAAE,EAAE,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,EAAE;KAC1C,CAAC,CAAC;IAGL,MAAM,QAAQ,GAAiB,CAAC,KAAK,EAAE,EAAE,CACvC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,WAAW,EAAE;QAC1B,MAAM,EAAE,EAAE,MAAM,EAAE,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,GAAG,KAAK,CAAC,OAAO,EAAE;KAClE,CAAC,CAAC;IAEL,OAAO;QACL,GAAG;QACH,QAAQ;KACT,CAAC;AACJ,CAAC,CAAC"}
@@ -1,12 +1,9 @@
1
1
  import type { Comment, CommentEdgeOptions, CreateCommentParams, CreateCommentResponse } from "../../types/facebookpost.js";
2
2
  import type { BatchableRequest, ListEdge } from "../../types/shared.js";
3
- import { UpdateCommentParams, UpdateCommentResponse, DeleteCommentResponse, LikeCommentResponse } from "../../types/facebookpost.js";
4
- import { GetNode } from "../../types/shared.js";
5
- import { CreateResourceParams, Store } from "../../client.js";
6
- export interface PageCommentConfig {
7
- store?: Store;
8
- postsLimit?: number;
9
- }
3
+ import { type UpdateCommentParams, type UpdateCommentResponse, type DeleteCommentResponse, type LikeCommentResponse } from "../../types/facebookpost.js";
4
+ import { type GetNode } from "../../types/shared.js";
5
+ import { type CreateResourceParams, type FbSdkConfig } from "../../client.js";
6
+ export type PageCommentConfig = FbSdkConfig;
10
7
  export type GetComment = GetNode<Comment>;
11
8
  export type UpdateComment = (data: UpdateCommentParams) => BatchableRequest<UpdateCommentResponse>;
12
9
  export type DeleteComment = () => BatchableRequest<DeleteCommentResponse>;
@@ -23,7 +20,7 @@ export declare function createCommentResource({ http, id }: CreateResourceParams
23
20
  };
24
21
  export type GetComments = ListEdge<Comment, CommentEdgeOptions>;
25
22
  export type CreateComment = (data: CreateCommentParams) => Promise<CreateCommentResponse>;
26
- export declare const createCommenstResource: ({ http, id }: CreateResourceParams) => {
23
+ export declare const createCommentsResource: ({ http, id }: CreateResourceParams) => {
27
24
  list: GetComments;
28
25
  create: CreateComment;
29
26
  };
@@ -1 +1 @@
1
- {"version":3,"file":"CommentResource.d.ts","sourceRoot":"","sources":["../../../src/resources/comment/CommentResource.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,OAAO,EACP,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,EACtB,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAGxE,OAAO,EACL,mBAAmB,EACnB,qBAAqB,EACrB,qBAAqB,EACrB,mBAAmB,EACpB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAE,oBAAoB,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAE9D,MAAM,WAAW,iBAAiB;IAEhC,KAAK,CAAC,EAAE,KAAK,CAAC;IAEd,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAID,MAAM,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;AAE1C,MAAM,MAAM,aAAa,GAAG,CAAC,IAAI,EAAE,mBAAmB,KAAK,gBAAgB,CAAC,qBAAqB,CAAC,CAAC;AACnG,MAAM,MAAM,aAAa,GAAG,MAAM,gBAAgB,CAAC,qBAAqB,CAAC,CAAC;AAC1E,MAAM,MAAM,WAAW,GAAG,MAAM,gBAAgB,CAAC,mBAAmB,CAAC,CAAC;AACtE,MAAM,MAAM,aAAa,GAAG,MAAM,gBAAgB,CAAC,mBAAmB,CAAC,CAAC;AAExE,wBAAgB,qBAAqB,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,oBAAoB;;;;;;;;EAiCvE;AAED,MAAM,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC;AAChE,MAAM,MAAM,aAAa,GAAG,CAAC,IAAI,EAAE,mBAAmB,KAAK,OAAO,CAAC,qBAAqB,CAAC,CAAC;AAK1F,eAAO,MAAM,sBAAsB,GAAI,cAAc,oBAAoB;;;CAsBxE,CAAC"}
1
+ {"version":3,"file":"CommentResource.d.ts","sourceRoot":"","sources":["../../../src/resources/comment/CommentResource.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,OAAO,EACP,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,EACtB,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAGxE,OAAO,EACL,KAAK,mBAAmB,EACxB,KAAK,qBAAqB,EAC1B,KAAK,qBAAqB,EAC1B,KAAK,mBAAmB,EACzB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,KAAK,oBAAoB,EAAE,KAAK,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAG9E,MAAM,MAAM,iBAAiB,GAAG,WAAW,CAAC;AAG5C,MAAM,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;AAG1C,MAAM,MAAM,aAAa,GAAG,CAAC,IAAI,EAAE,mBAAmB,KAAK,gBAAgB,CAAC,qBAAqB,CAAC,CAAC;AAEnG,MAAM,MAAM,aAAa,GAAG,MAAM,gBAAgB,CAAC,qBAAqB,CAAC,CAAC;AAE1E,MAAM,MAAM,WAAW,GAAG,MAAM,gBAAgB,CAAC,mBAAmB,CAAC,CAAC;AAEtE,MAAM,MAAM,aAAa,GAAG,MAAM,gBAAgB,CAAC,mBAAmB,CAAC,CAAC;AAGxE,wBAAgB,qBAAqB,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,oBAAoB;;;;;;;;EAsCvE;AAGD,MAAM,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC;AAEhE,MAAM,MAAM,aAAa,GAAG,CAAC,IAAI,EAAE,mBAAmB,KAAK,OAAO,CAAC,qBAAqB,CAAC,CAAC;AAG1F,eAAO,MAAM,sBAAsB,GAAI,cAAc,oBAAoB;;;CAwBxE,CAAC"}
@@ -1,6 +1,9 @@
1
1
  import { api } from "../../httpClient.js";
2
2
  import { toGraphFields } from "../../internal/utils.js";
3
3
  import { toSnakeFormData } from "../../lib/transformCase.js";
4
+ import {} from "../../types/facebookpost.js";
5
+ import {} from "../../types/shared.js";
6
+ import {} from "../../client.js";
4
7
  export function createCommentResource({ http, id }) {
5
8
  const get = (fields) => http.get(`/${id}`, {
6
9
  params: { fields: toGraphFields(fields) },
@@ -17,7 +20,7 @@ export function createCommentResource({ http, id }) {
17
20
  const unlike = () => {
18
21
  return http.delete(`/${id}/likes`);
19
22
  };
20
- const { create: reply, list: replies } = createCommenstResource({ http, id });
23
+ const { create: reply, list: replies } = createCommentsResource({ http, id });
21
24
  return {
22
25
  get,
23
26
  update,
@@ -28,7 +31,7 @@ export function createCommentResource({ http, id }) {
28
31
  replies,
29
32
  };
30
33
  }
31
- export const createCommenstResource = ({ http, id }) => {
34
+ export const createCommentsResource = ({ http, id }) => {
32
35
  const list = (query) => http.get(`/${id}/comments`, {
33
36
  params: { fields: toGraphFields(query.fields), ...query.options },
34
37
  });
@@ -1 +1 @@
1
- {"version":3,"file":"CommentResource.js","sourceRoot":"","sources":["../../../src/resources/comment/CommentResource.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,qBAAqB,CAAC;AAQ1C,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AA0B7D,MAAM,UAAU,qBAAqB,CAAC,EAAE,IAAI,EAAE,EAAE,EAAwB;IACtE,MAAM,GAAG,GAAe,CAAC,MAAM,EAAE,EAAE,CACjC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,EAAE;QACjB,MAAM,EAAE,EAAE,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,EAAE;KAC1C,CAAC,CAAC;IAEL,MAAM,MAAM,GAAkB,CAAC,IAAI,EAAE,EAAE;QACrC,OAAO,IAAI,CAAC,IAAI,CAAwB,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;IAC1D,CAAC,CAAC;IAEF,MAAM,MAAM,GAAkB,GAAG,EAAE;QACjC,OAAO,IAAI,CAAC,MAAM,CAAwB,IAAI,EAAE,EAAE,CAAC,CAAC;IACtD,CAAC,CAAC;IAEF,MAAM,IAAI,GAAgB,GAAG,EAAE;QAC7B,OAAO,IAAI,CAAC,IAAI,CAAsB,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC9D,CAAC,CAAC;IAEF,MAAM,MAAM,GAAkB,GAAG,EAAE;QACjC,OAAO,IAAI,CAAC,MAAM,CAAsB,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC1D,CAAC,CAAC;IAEF,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,sBAAsB,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;IAE9E,OAAO;QACL,GAAG;QACH,MAAM;QACN,MAAM,EAAE,MAAM;QACd,IAAI;QACJ,MAAM;QACN,KAAK;QACL,OAAO;KACR,CAAC;AACJ,CAAC;AAQD,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,EAAE,IAAI,EAAE,EAAE,EAAwB,EAAE,EAAE;IAC3E,MAAM,IAAI,GAAgB,CAAC,KAAK,EAAE,EAAE,CAClC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,WAAW,EAAE;QAC1B,MAAM,EAAE,EAAE,MAAM,EAAE,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,GAAG,KAAK,CAAC,OAAO,EAAE;KAClE,CAAC,CAAC;IAEL,MAAM,MAAM,GAAkB,KAAK,EAAE,IAAI,EAAE,EAAE;QAC3C,MAAM,EAAE,SAAS,EAAE,GAAG,SAAS,EAAE,GAAG,IAAI,CAAC;QACzC,MAAM,IAAI,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;QAExC,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAC,CAAC;YACpE,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;QACrC,CAAC;QAED,OAAO,MAAM,IAAI,CAAC,IAAI,CAAwB,IAAI,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC;IACzE,CAAC,CAAC;IAEF,OAAO;QACL,IAAI;QACJ,MAAM;KACP,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"CommentResource.js","sourceRoot":"","sources":["../../../src/resources/comment/CommentResource.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,qBAAqB,CAAC;AAQ1C,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAKN,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAgB,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAA+C,MAAM,iBAAiB,CAAC;AAkB9E,MAAM,UAAU,qBAAqB,CAAC,EAAE,IAAI,EAAE,EAAE,EAAwB;IAEtE,MAAM,GAAG,GAAe,CAAC,MAAM,EAAE,EAAE,CACjC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,EAAE;QACjB,MAAM,EAAE,EAAE,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,EAAE;KAC1C,CAAC,CAAC;IAGL,MAAM,MAAM,GAAkB,CAAC,IAAI,EAAE,EAAE;QACrC,OAAO,IAAI,CAAC,IAAI,CAAwB,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;IAC1D,CAAC,CAAC;IAGF,MAAM,MAAM,GAAkB,GAAG,EAAE;QACjC,OAAO,IAAI,CAAC,MAAM,CAAwB,IAAI,EAAE,EAAE,CAAC,CAAC;IACtD,CAAC,CAAC;IAGF,MAAM,IAAI,GAAgB,GAAG,EAAE;QAC7B,OAAO,IAAI,CAAC,IAAI,CAAsB,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC9D,CAAC,CAAC;IAGF,MAAM,MAAM,GAAkB,GAAG,EAAE;QACjC,OAAO,IAAI,CAAC,MAAM,CAAsB,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC1D,CAAC,CAAC;IAEF,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,sBAAsB,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;IAE9E,OAAO;QACL,GAAG;QACH,MAAM;QACN,MAAM,EAAE,MAAM;QACd,IAAI;QACJ,MAAM;QACN,KAAK;QACL,OAAO;KACR,CAAC;AACJ,CAAC;AAQD,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,EAAE,IAAI,EAAE,EAAE,EAAwB,EAAE,EAAE;IAE3E,MAAM,IAAI,GAAgB,CAAC,KAAK,EAAE,EAAE,CAClC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,WAAW,EAAE;QAC1B,MAAM,EAAE,EAAE,MAAM,EAAE,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,GAAG,KAAK,CAAC,OAAO,EAAE;KAClE,CAAC,CAAC;IAGL,MAAM,MAAM,GAAkB,KAAK,EAAE,IAAI,EAAE,EAAE;QAC3C,MAAM,EAAE,SAAS,EAAE,GAAG,SAAS,EAAE,GAAG,IAAI,CAAC;QACzC,MAAM,IAAI,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;QAExC,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAC,CAAC;YACpE,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;QACrC,CAAC;QAED,OAAO,MAAM,IAAI,CAAC,IAAI,CAAwB,IAAI,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC;IACzE,CAAC,CAAC;IAEF,OAAO;QACL,IAAI;QACJ,MAAM;KACP,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,14 @@
1
+ import { type KeysToCamel } from "../../lib/transformCase.js";
2
+ import { type CommentEdgeOptions, type CommentWithPost } from "../../types/facebookpost.js";
3
+ import { type Collection, type Fields, type FbFieldSelector } from "../../types/shared.js";
4
+ import { type CreateResourceParams } from "../../client.js";
5
+ type PageComment = KeysToCamel<CommentWithPost>;
6
+ export type GetPageComments = <F extends FbFieldSelector<PageComment>>(query: {
7
+ fields: Fields<PageComment, F>;
8
+ options?: CommentEdgeOptions;
9
+ }) => Promise<Collection<PageComment, F>>;
10
+ export declare function createPageCommentsResource({ http, id, config }: CreateResourceParams): {
11
+ list: GetPageComments;
12
+ };
13
+ export {};
14
+ //# sourceMappingURL=PageCommentResource.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PageCommentResource.d.ts","sourceRoot":"","sources":["../../../src/resources/comment/PageCommentResource.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,KAAK,kBAAkB,EAAE,KAAK,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC5F,OAAO,EAAE,KAAK,UAAU,EAAE,KAAK,MAAM,EAAE,KAAK,eAAe,EAAS,MAAM,uBAAuB,CAAC;AAElG,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAqB5D,KAAK,WAAW,GAAG,WAAW,CAAC,eAAe,CAAC,CAAC;AAGhD,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,SAAS,eAAe,CAAC,WAAW,CAAC,EAAE,KAAK,EAAE;IAC5E,MAAM,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;IAC/B,OAAO,CAAC,EAAE,kBAAkB,CAAC;CAC9B,KAAK,OAAO,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC;AAG1C,wBAAgB,0BAA0B,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,oBAAoB;;EA4DpF"}
@@ -0,0 +1,73 @@
1
+ import { fetchComments } from "../../internal/fetchers.js";
2
+ import {} from "../../lib/transformCase.js";
3
+ import {} from "../../types/facebookpost.js";
4
+ import { ORDER } from "../../types/shared.js";
5
+ import { createPostsResource } from "../PageResource.js";
6
+ import {} from "../../client.js";
7
+ function encodeCursor(cursor) {
8
+ return Buffer.from(JSON.stringify(cursor)).toString("base64url");
9
+ }
10
+ function decodeCursor(encoded) {
11
+ try {
12
+ const parsed = JSON.parse(Buffer.from(encoded, "base64url").toString("utf-8"));
13
+ const cursors = parsed?.cursors;
14
+ if (!cursors || typeof cursors !== "object")
15
+ throw new Error("missing cursors");
16
+ return parsed;
17
+ }
18
+ catch {
19
+ throw new Error(`Invalid pagination cursor: "${encoded.slice(0, 24)}..."`);
20
+ }
21
+ }
22
+ export function createPageCommentsResource({ http, id, config }) {
23
+ const PostResource = createPostsResource({ http, id });
24
+ const store = config?.store;
25
+ const postsLimit = Math.min(config?.postsLimit ?? 50, 100);
26
+ const list = async (query) => {
27
+ const { since, until, after } = query.options ?? {};
28
+ let postIds;
29
+ let cursors = {};
30
+ if (after) {
31
+ const decoded = decodeCursor(after);
32
+ cursors = decoded.cursors;
33
+ postIds = Object.keys(decoded.cursors);
34
+ }
35
+ else if (store && since) {
36
+ postIds = await store.getActivePosts(id, since);
37
+ }
38
+ else {
39
+ const posts = await PostResource.list({
40
+ fields: { id: true },
41
+ options: {
42
+ limit: postsLimit,
43
+ ...(until && { until }),
44
+ order: ORDER.NEWEST,
45
+ },
46
+ });
47
+ postIds = posts.data.map((p) => p.id);
48
+ }
49
+ if (postIds.length === 0) {
50
+ return {
51
+ data: [],
52
+ paging: { cursors: { before: "", after: "" } },
53
+ };
54
+ }
55
+ const { comments, nextCursors } = await fetchComments(http, {
56
+ postIds,
57
+ query,
58
+ cursors,
59
+ });
60
+ const hasMore = Object.keys(nextCursors).length > 0;
61
+ return {
62
+ data: comments,
63
+ paging: {
64
+ cursors: {
65
+ before: "",
66
+ after: hasMore ? encodeCursor({ cursors: nextCursors }) : "",
67
+ },
68
+ },
69
+ };
70
+ };
71
+ return { list };
72
+ }
73
+ //# sourceMappingURL=PageCommentResource.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PageCommentResource.js","sourceRoot":"","sources":["../../../src/resources/comment/PageCommentResource.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,12 @@
1
1
  import type { HttpClient } from "../httpClient.js";
2
2
  import type { BatchableRequest, BatchSubRequest } from "../types/shared.js";
3
+ import { type FacebookErrorHook } from "../internal/error.js";
3
4
  export interface BatchRequestOptions {
4
5
  includeHeaders?: boolean;
5
6
  }
7
+ export interface CreateBatchResourceOptions {
8
+ onError?: FacebookErrorHook | undefined;
9
+ }
6
10
  type BatchResponses<T extends readonly BatchSubRequest[]> = {
7
11
  -readonly [K in keyof T]: T[K] extends BatchableRequest<infer R> ? {
8
12
  status: number;
@@ -12,6 +16,6 @@ type BatchResponses<T extends readonly BatchSubRequest[]> = {
12
16
  data: any;
13
17
  };
14
18
  };
15
- export declare function createBatchResource(http: HttpClient): <const T extends readonly BatchSubRequest[]>(requests: T, options?: BatchRequestOptions) => Promise<BatchResponses<T>>;
19
+ export declare function createBatchResource(http: HttpClient, options?: CreateBatchResourceOptions): <const T extends readonly BatchSubRequest[]>(requests: T, batchOptions?: BatchRequestOptions) => Promise<BatchResponses<T>>;
16
20
  export {};
17
21
  //# sourceMappingURL=createBatchResource.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"createBatchResource.d.ts","sourceRoot":"","sources":["../../src/resources/createBatchResource.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAoB,MAAM,oBAAoB,CAAC;AAG9F,MAAM,WAAW,mBAAmB;IAClC,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,KAAK,cAAc,CAAC,CAAC,SAAS,SAAS,eAAe,EAAE,IAAI;IAC1D,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,gBAAgB,CAAC,MAAM,CAAC,CAAC,GAC5D;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,CAAC,CAAA;KAAE,GAC3B;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,GAAG,CAAA;KAAE;CAClC,CAAC;AAWF,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,UAAU,UACvB,CAAC,SAAS,SAAS,eAAe,EAAE,YACnD,CAAC,YACD,mBAAmB,KAC5B,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAsB9B"}
1
+ {"version":3,"file":"createBatchResource.d.ts","sourceRoot":"","sources":["../../src/resources/createBatchResource.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAoB,MAAM,oBAAoB,CAAC;AAE9F,OAAO,EAKL,KAAK,iBAAiB,EACvB,MAAM,sBAAsB,CAAC;AAG9B,MAAM,WAAW,mBAAmB;IAClC,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAGD,MAAM,WAAW,0BAA0B;IAEzC,OAAO,CAAC,EAAE,iBAAiB,GAAG,SAAS,CAAC;CACzC;AA4BD,KAAK,cAAc,CAAC,CAAC,SAAS,SAAS,eAAe,EAAE,IAAI;IAC1D,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,gBAAgB,CAAC,MAAM,CAAC,CAAC,GAC5D;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,CAAC,CAAA;KAAE,GAC3B;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,GAAG,CAAA;KAAE;CAClC,CAAC;AAYF,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,0BAA0B,UAM7D,CAAC,SAAS,SAAS,eAAe,EAAE,YACnD,CAAC,iBACI,mBAAmB,KACjC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAqC9B"}
@@ -1,5 +1,17 @@
1
1
  import FormData from "form-data";
2
2
  import { toCamel } from "../lib/transformCase.js";
3
+ import { toFacebookError, toNetworkError, invokeErrorHook, } from "../internal/error.js";
4
+ function reportSubResponseError(req, res, onError, accessToken) {
5
+ let fbError = null;
6
+ if (res.body) {
7
+ try {
8
+ fbError = toFacebookError(toCamel(JSON.parse(res.body)), res.code);
9
+ }
10
+ catch {
11
+ }
12
+ }
13
+ invokeErrorHook(onError, fbError ?? toNetworkError(new Error(`Batch sub-request failed with status ${res.code}`), res.code), { method: req.method, relativeUrl: req.relative_url, accessToken, source: "batch" });
14
+ }
3
15
  const processResponse = (req, res) => {
4
16
  if (res.code === 200) {
5
17
  const parsed = toCamel(JSON.parse(res.body));
@@ -8,18 +20,31 @@ const processResponse = (req, res) => {
8
20
  }
9
21
  return { status: res.code, data: res.body };
10
22
  };
11
- export function createBatchResource(http) {
12
- const batch = async (requests, options) => {
23
+ export function createBatchResource(http, options) {
24
+ const onError = options?.onError;
25
+ const accessToken = onError ? http.getToken() : "";
26
+ const batch = async (requests, batchOptions) => {
13
27
  const finalResponses = [];
14
- const includeHeaders = options?.includeHeaders ?? false;
28
+ const includeHeaders = batchOptions?.includeHeaders ?? false;
15
29
  for (let i = 0; i < requests.length; i += 50) {
16
30
  const chunk = requests.slice(i, i + 50);
17
31
  const form = new FormData();
18
32
  form.append("batch", JSON.stringify(chunk));
19
33
  form.append("include_headers", includeHeaders ? "true" : "false");
20
34
  const responses = await http.post("/", form);
21
- for (let idx = 0; idx < responses.length; idx++) {
22
- finalResponses.push(processResponse(chunk[idx], responses[idx]));
35
+ for (let idx = 0; idx < chunk.length; idx++) {
36
+ const req = chunk[idx];
37
+ const res = responses[idx];
38
+ if (!res) {
39
+ if (onError) {
40
+ invokeErrorHook(onError, toNetworkError(new Error("Batch sub-request did not complete (timed out)")), { method: req.method, relativeUrl: req.relative_url, accessToken, source: "batch" });
41
+ }
42
+ finalResponses.push({ status: 0, data: null });
43
+ continue;
44
+ }
45
+ if (onError && res.code >= 400)
46
+ reportSubResponseError(req, res, onError, accessToken);
47
+ finalResponses.push(processResponse(req, res));
23
48
  }
24
49
  }
25
50
  return finalResponses;
@@ -1 +1 @@
1
- {"version":3,"file":"createBatchResource.js","sourceRoot":"","sources":["../../src/resources/createBatchResource.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,WAAW,CAAC;AAGjC,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAYlD,MAAM,eAAe,GAAG,CAAC,GAAoB,EAAE,GAAqB,EAAE,EAAE;IACtE,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE,CAAC;QACrB,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;QAC7C,MAAM,IAAI,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QAC9D,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;IAC/B,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC;AAC9C,CAAC,CAAC;AAEF,MAAM,UAAU,mBAAmB,CAAC,IAAgB;IAClD,MAAM,KAAK,GAAG,KAAK,EACjB,QAAW,EACX,OAA6B,EACD,EAAE;QAC9B,MAAM,cAAc,GAAU,EAAE,CAAC;QACjC,MAAM,cAAc,GAAG,OAAO,EAAE,cAAc,IAAI,KAAK,CAAC;QAExD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC;YAC7C,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;YACxC,MAAM,IAAI,GAAG,IAAI,QAAQ,EAAE,CAAC;YAE5B,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;YAC5C,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAAE,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YAElE,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,IAAI,CAAqB,GAAG,EAAE,IAAI,CAAC,CAAC;YAEjE,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,SAAS,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC;gBAChD,cAAc,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,GAAG,CAAE,EAAE,SAAS,CAAC,GAAG,CAAE,CAAC,CAAC,CAAC;YACrE,CAAC;QACH,CAAC;QAED,OAAO,cAAmC,CAAC;IAC7C,CAAC,CAAC;IAEF,OAAO,KAAK,CAAC;AACf,CAAC"}
1
+ {"version":3,"file":"createBatchResource.js","sourceRoot":"","sources":["../../src/resources/createBatchResource.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ import { type CreateResourceParams } from "../../client.js";
2
+ import { type BatchableRequest, type GetNode, type ListEdge } from "../../types/shared.js";
3
+ import { type InstagramComment, type InstagramCommentParams, type InstagramCommentResult, type InstagramSuccessResult } from "../../types/instagram.js";
4
+ export type GetInstagramComment = GetNode<InstagramComment>;
5
+ export type ListInstagramComments = ListEdge<InstagramComment>;
6
+ export type CreateInstagramComment = (params: InstagramCommentParams) => BatchableRequest<InstagramCommentResult>;
7
+ export type HideInstagramComment = (hidden: boolean) => BatchableRequest<InstagramSuccessResult>;
8
+ export type DeleteInstagramComment = () => BatchableRequest<InstagramSuccessResult>;
9
+ export declare const createInstagramCommentsResource: ({ http, id }: CreateResourceParams) => {
10
+ list: ListInstagramComments;
11
+ create: CreateInstagramComment;
12
+ };
13
+ export declare function createInstagramCommentResource({ http, id }: CreateResourceParams): {
14
+ get: GetInstagramComment;
15
+ reply: CreateInstagramComment;
16
+ replies: ListInstagramComments;
17
+ hide: HideInstagramComment;
18
+ delete: DeleteInstagramComment;
19
+ };
20
+ //# sourceMappingURL=InstagramCommentResource.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InstagramCommentResource.d.ts","sourceRoot":"","sources":["../../../src/resources/instagram/InstagramCommentResource.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAE5D,OAAO,EAAE,KAAK,gBAAgB,EAAE,KAAK,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAC3F,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,sBAAsB,EAC3B,KAAK,sBAAsB,EAC3B,KAAK,sBAAsB,EAC5B,MAAM,0BAA0B,CAAC;AAGlC,MAAM,MAAM,mBAAmB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;AAE5D,MAAM,MAAM,qBAAqB,GAAG,QAAQ,CAAC,gBAAgB,CAAC,CAAC;AAE/D,MAAM,MAAM,sBAAsB,GAAG,CACnC,MAAM,EAAE,sBAAsB,KAC3B,gBAAgB,CAAC,sBAAsB,CAAC,CAAC;AAE9C,MAAM,MAAM,oBAAoB,GAAG,CAAC,MAAM,EAAE,OAAO,KAAK,gBAAgB,CAAC,sBAAsB,CAAC,CAAC;AAEjG,MAAM,MAAM,sBAAsB,GAAG,MAAM,gBAAgB,CAAC,sBAAsB,CAAC,CAAC;AAMpF,eAAO,MAAM,+BAA+B,GAAI,cAAc,oBAAoB;;;CAYjF,CAAC;AAGF,wBAAgB,8BAA8B,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,oBAAoB;;;;;;EAuBhF"}
@@ -0,0 +1,22 @@
1
+ import {} from "../../client.js";
2
+ import { toGraphFields } from "../../internal/utils.js";
3
+ import {} from "../../types/shared.js";
4
+ import {} from "../../types/instagram.js";
5
+ export const createInstagramCommentsResource = ({ http, id }) => {
6
+ const list = (query) => http.get(`/${id}/comments`, {
7
+ params: { fields: toGraphFields(query.fields), ...query.options },
8
+ });
9
+ const create = (params) => http.post(`/${id}/comments`, params);
10
+ return { list, create };
11
+ };
12
+ export function createInstagramCommentResource({ http, id }) {
13
+ const get = (fields) => http.get(`/${id}`, { params: { fields: toGraphFields(fields) } });
14
+ const reply = (params) => http.post(`/${id}/replies`, params);
15
+ const replies = (query) => http.get(`/${id}/replies`, {
16
+ params: { fields: toGraphFields(query.fields), ...query.options },
17
+ });
18
+ const hide = (hidden) => http.post(`/${id}`, { hide: hidden });
19
+ const remove = () => http.delete(`/${id}`);
20
+ return { get, reply, replies, hide, delete: remove };
21
+ }
22
+ //# sourceMappingURL=InstagramCommentResource.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InstagramCommentResource.js","sourceRoot":"","sources":["../../../src/resources/instagram/InstagramCommentResource.ts"],"names":[],"mappings":"AAAA,OAAO,EAA6B,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAsD,MAAM,uBAAuB,CAAC;AAC3F,OAAO,EAKN,MAAM,0BAA0B,CAAC;AAmBlC,MAAM,CAAC,MAAM,+BAA+B,GAAG,CAAC,EAAE,IAAI,EAAE,EAAE,EAAwB,EAAE,EAAE;IAEpF,MAAM,IAAI,GAA0B,CAAC,KAAK,EAAE,EAAE,CAC5C,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,WAAW,EAAE;QAC1B,MAAM,EAAE,EAAE,MAAM,EAAE,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,GAAG,KAAK,CAAC,OAAO,EAAE;KAClE,CAAC,CAAC;IAGL,MAAM,MAAM,GAA2B,CAAC,MAAM,EAAE,EAAE,CAChD,IAAI,CAAC,IAAI,CAAyB,IAAI,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;IAE/D,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;AAC1B,CAAC,CAAC;AAGF,MAAM,UAAU,8BAA8B,CAAC,EAAE,IAAI,EAAE,EAAE,EAAwB;IAE/E,MAAM,GAAG,GAAwB,CAAC,MAAM,EAAE,EAAE,CAC1C,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;IAGpE,MAAM,KAAK,GAA2B,CAAC,MAAM,EAAE,EAAE,CAC/C,IAAI,CAAC,IAAI,CAAyB,IAAI,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;IAG9D,MAAM,OAAO,GAA0B,CAAC,KAAK,EAAE,EAAE,CAC/C,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,UAAU,EAAE;QACzB,MAAM,EAAE,EAAE,MAAM,EAAE,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,GAAG,KAAK,CAAC,OAAO,EAAE;KAClE,CAAC,CAAC;IAGL,MAAM,IAAI,GAAyB,CAAC,MAAM,EAAE,EAAE,CAC5C,IAAI,CAAC,IAAI,CAAyB,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;IAGhE,MAAM,MAAM,GAA2B,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAyB,IAAI,EAAE,EAAE,CAAC,CAAC;IAE3F,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;AACvD,CAAC"}
@@ -0,0 +1,136 @@
1
+ import { type CreateResourceParams } from "../../client.js";
2
+ import { type BatchableRequest, type FbFieldSelector } from "../../types/shared.js";
3
+ import { type InstagramAccountInsightOptions, type InstagramInsightOptions, type InstagramInsightQuery, type InstagramInsightResponse } from "../../types/instagraminsights.js";
4
+ export declare const createInstagramMediaInsightResource: ({ http, id }: CreateResourceParams) => {
5
+ list: <F extends FbFieldSelector<{
6
+ reach: number;
7
+ views: number;
8
+ likes: number;
9
+ comments: number;
10
+ saved: number;
11
+ shares: number;
12
+ totalInteractions: number;
13
+ follows: number;
14
+ profileVisits: number;
15
+ profileActivity: number;
16
+ navigation: number;
17
+ replies: number;
18
+ linkClicks: number;
19
+ reposts: number;
20
+ igReelsAvgWatchTime: number;
21
+ igReelsVideoViewTotalTime: number;
22
+ reelsSkipRate: number;
23
+ crosspostedViews: number;
24
+ facebookViews: number;
25
+ totalComments: number;
26
+ totalLikes: number;
27
+ totalViews: number;
28
+ impressions: number;
29
+ }, 10>>(query: InstagramInsightQuery<{
30
+ reach: number;
31
+ views: number;
32
+ likes: number;
33
+ comments: number;
34
+ saved: number;
35
+ shares: number;
36
+ totalInteractions: number;
37
+ follows: number;
38
+ profileVisits: number;
39
+ profileActivity: number;
40
+ navigation: number;
41
+ replies: number;
42
+ linkClicks: number;
43
+ reposts: number;
44
+ igReelsAvgWatchTime: number;
45
+ igReelsVideoViewTotalTime: number;
46
+ reelsSkipRate: number;
47
+ crosspostedViews: number;
48
+ facebookViews: number;
49
+ totalComments: number;
50
+ totalLikes: number;
51
+ totalViews: number;
52
+ impressions: number;
53
+ }, F, InstagramInsightOptions>) => BatchableRequest<InstagramInsightResponse<{
54
+ reach: number;
55
+ views: number;
56
+ likes: number;
57
+ comments: number;
58
+ saved: number;
59
+ shares: number;
60
+ totalInteractions: number;
61
+ follows: number;
62
+ profileVisits: number;
63
+ profileActivity: number;
64
+ navigation: number;
65
+ replies: number;
66
+ linkClicks: number;
67
+ reposts: number;
68
+ igReelsAvgWatchTime: number;
69
+ igReelsVideoViewTotalTime: number;
70
+ reelsSkipRate: number;
71
+ crosspostedViews: number;
72
+ facebookViews: number;
73
+ totalComments: number;
74
+ totalLikes: number;
75
+ totalViews: number;
76
+ impressions: number;
77
+ }, F>>;
78
+ };
79
+ export declare const createInstagramAccountInsightResource: ({ http, id }: CreateResourceParams) => {
80
+ list: <F extends FbFieldSelector<{
81
+ reach: number;
82
+ views: number;
83
+ accountsEngaged: number;
84
+ totalInteractions: number;
85
+ likes: number;
86
+ comments: number;
87
+ saves: number;
88
+ shares: number;
89
+ replies: number;
90
+ reposts: number;
91
+ profileLinksTaps: number;
92
+ followsAndUnfollows: number;
93
+ engagedAudienceDemographics: number;
94
+ followerDemographics: number;
95
+ followerCount: number;
96
+ onlineFollowers: number;
97
+ impressions: number;
98
+ }, 10>>(query: InstagramInsightQuery<{
99
+ reach: number;
100
+ views: number;
101
+ accountsEngaged: number;
102
+ totalInteractions: number;
103
+ likes: number;
104
+ comments: number;
105
+ saves: number;
106
+ shares: number;
107
+ replies: number;
108
+ reposts: number;
109
+ profileLinksTaps: number;
110
+ followsAndUnfollows: number;
111
+ engagedAudienceDemographics: number;
112
+ followerDemographics: number;
113
+ followerCount: number;
114
+ onlineFollowers: number;
115
+ impressions: number;
116
+ }, F, InstagramAccountInsightOptions>) => BatchableRequest<InstagramInsightResponse<{
117
+ reach: number;
118
+ views: number;
119
+ accountsEngaged: number;
120
+ totalInteractions: number;
121
+ likes: number;
122
+ comments: number;
123
+ saves: number;
124
+ shares: number;
125
+ replies: number;
126
+ reposts: number;
127
+ profileLinksTaps: number;
128
+ followsAndUnfollows: number;
129
+ engagedAudienceDemographics: number;
130
+ followerDemographics: number;
131
+ followerCount: number;
132
+ onlineFollowers: number;
133
+ impressions: number;
134
+ }, F>>;
135
+ };
136
+ //# sourceMappingURL=InstagramInsightResource.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InstagramInsightResource.d.ts","sourceRoot":"","sources":["../../../src/resources/instagram/InstagramInsightResource.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAI5D,OAAO,EAAE,KAAK,gBAAgB,EAAE,KAAK,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACpF,OAAO,EAEL,KAAK,8BAA8B,EACnC,KAAK,uBAAuB,EAC5B,KAAK,qBAAqB,EAG1B,KAAK,wBAAwB,EAG9B,MAAM,kCAAkC,CAAC;AAyD1C,eAAO,MAAM,mCAAmC,GAAI,cAAc,oBAAoB;WA1BtE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2BgF,CAAC;AAGlG,eAAO,MAAM,qCAAqC,GAAI,cAAc,oBAAoB;WA9BxE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkCd,CAAC"}
@@ -0,0 +1,48 @@
1
+ import {} from "../../client.js";
2
+ import {} from "../../httpClient.js";
3
+ import { toGraphFields } from "../../internal/utils.js";
4
+ import { toCamelCase, toSnakeObj } from "../../lib/transformCase.js";
5
+ import {} from "../../types/shared.js";
6
+ import {} from "../../types/instagraminsights.js";
7
+ function buildInsightResult(entry) {
8
+ const series = entry.values ?? [];
9
+ const result = {
10
+ value: entry.totalValue?.value ?? series.reduce((sum, v) => sum + v.value, 0),
11
+ };
12
+ if (entry.totalValue?.breakdowns) {
13
+ result.breakdowns = entry.totalValue.breakdowns.map((b) => ({
14
+ dimensionKeys: b.dimensionKeys,
15
+ results: b.results.map((r) => ({ dimensionValues: r.dimensionValues, value: r.value })),
16
+ }));
17
+ }
18
+ if (series.length > 0) {
19
+ result.timeSeries = series.map((v) => ({
20
+ value: v.value,
21
+ endTime: v.endTime ? new Date(v.endTime).getTime() : Date.now(),
22
+ }));
23
+ }
24
+ return result;
25
+ }
26
+ const createInstagramInsightResource = (http, id) => {
27
+ const list = (query) => {
28
+ return http
29
+ .get(`/${id}/insights`, {
30
+ params: {
31
+ metric: toGraphFields(query.fields),
32
+ ...toSnakeObj(query.options ?? {}),
33
+ },
34
+ })
35
+ .transform((res) => {
36
+ const result = {};
37
+ for (const entry of res.data) {
38
+ const name = toCamelCase(entry.name);
39
+ result[name] = buildInsightResult(entry);
40
+ }
41
+ return result;
42
+ });
43
+ };
44
+ return { list };
45
+ };
46
+ export const createInstagramMediaInsightResource = ({ http, id }) => createInstagramInsightResource(http, id);
47
+ export const createInstagramAccountInsightResource = ({ http, id }) => createInstagramInsightResource(http, id);
48
+ //# sourceMappingURL=InstagramInsightResource.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InstagramInsightResource.js","sourceRoot":"","sources":["../../../src/resources/instagram/InstagramInsightResource.ts"],"names":[],"mappings":"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"}