@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 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAc,MAAM,iBAAiB,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,EAAE,qBAAqB,EAAE,MAAM,wCAAwC,CAAC;AAE/E,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AAYzE,MAAM,UAAU,WAAW,CAAC,SAAsB,EAAE;IAClD,OAAO,CAAC,WAAmB,EAAE,EAAE;QAC7B,MAAM,IAAI,GAAG,gBAAgB,CAAC,WAAW,CAAC,CAAC;QAC3C,OAAO;YACL,IAAI,EAAE,CAAC,MAAc,EAAE,EAAE,CAAC,kBAAkB,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;YAC1E,IAAI,EAAE,CAAC,MAAc,EAAE,EAAE,CAAC,kBAAkB,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;YAC1E,OAAO,EAAE,CAAC,SAAiB,EAAE,EAAE,CAAC,qBAAqB,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC;YACtF,EAAE,EAAE,kBAAkB,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;YAClD,IAAI;YACJ,KAAK,EAAE,mBAAmB,CAAC,IAAI,CAAC;SACjC,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC;AAED,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAmB,MAAM,iBAAiB,CAAC;AACpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,EAAE,qBAAqB,EAAE,MAAM,wCAAwC,CAAC;AAE/E,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AAmCzE,MAAM,UAAU,WAAW,CAAC,SAAsB,EAAE;IAClD,OAAO,CAAC,WAAmB,EAAE,EAAE;QAC7B,MAAM,IAAI,GAAG,gBAAgB,CAAC,WAAW,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;QACxE,OAAO;YAEL,IAAI,EAAE,CAAC,MAAc,EAAE,EAAE,CAAC,kBAAkB,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;YAE1E,IAAI,EAAE,CAAC,MAAc,EAAE,EAAE,CAAC,kBAAkB,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;YAE1E,OAAO,EAAE,CAAC,SAAiB,EAAE,EAAE,CAAC,qBAAqB,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC;YAEtF,EAAE,EAAE,kBAAkB,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;YAElD,IAAI;YAEJ,KAAK,EAAE,mBAAmB,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC;SAC9D,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC;AAED,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC"}
@@ -0,0 +1,4 @@
1
+ export { FacebookUploadError, FacebookErrorBase, FacebookGraphError, FacebookAuthError, FacebookPermissionError, FacebookPolicyBlockError, FacebookRateLimitError, FacebookInvalidParamError, FacebookTransientError, FacebookUnknownError, FacebookNetworkError, FacebookErrorCode, FacebookAuthSubcode, toFacebookError, } from "./internal/error.js";
2
+ export type { FacebookError, FacebookErrorHook, FacebookGraphErrorUnion, } from "./internal/error.js";
3
+ export type { FacebookErrorCategory, FacebookErrorContext, RawFacebookError, RateLimitUsage, AppUsage, BusinessUseCaseUsage, } from "./types/facebookerror.js";
4
+ //# sourceMappingURL=errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAWA,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,uBAAuB,EACvB,wBAAwB,EACxB,sBAAsB,EACtB,yBAAyB,EACzB,sBAAsB,EACtB,oBAAoB,EACpB,oBAAoB,EACpB,iBAAiB,EACjB,mBAAmB,EACnB,eAAe,GAChB,MAAM,qBAAqB,CAAC;AAE7B,YAAY,EACV,aAAa,EACb,iBAAiB,EACjB,uBAAuB,GACxB,MAAM,qBAAqB,CAAC;AAE7B,YAAY,EACV,qBAAqB,EACrB,oBAAoB,EACpB,gBAAgB,EAChB,cAAc,EACd,QAAQ,EACR,oBAAoB,GACrB,MAAM,0BAA0B,CAAC"}
package/dist/errors.js ADDED
@@ -0,0 +1,2 @@
1
+ export { FacebookUploadError, FacebookErrorBase, FacebookGraphError, FacebookAuthError, FacebookPermissionError, FacebookPolicyBlockError, FacebookRateLimitError, FacebookInvalidParamError, FacebookTransientError, FacebookUnknownError, FacebookNetworkError, FacebookErrorCode, FacebookAuthSubcode, toFacebookError, } from "./internal/error.js";
2
+ //# sourceMappingURL=errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAWA,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,uBAAuB,EACvB,wBAAwB,EACxB,sBAAsB,EACtB,yBAAyB,EACzB,sBAAsB,EACtB,oBAAoB,EACpB,oBAAoB,EACpB,iBAAiB,EACjB,mBAAmB,EACnB,eAAe,GAChB,MAAM,qBAAqB,CAAC"}
@@ -1,7 +1,13 @@
1
- import { AxiosRequestConfig } from "axios";
1
+ import { type AxiosInstance, type AxiosRequestConfig } from "axios";
2
2
  import FormData from "form-data";
3
- import { BatchableRequest } from "./client.js";
4
- export declare const api: import("axios").AxiosInstance;
3
+ import { type BatchableRequest } from "./client.js";
4
+ import { type FacebookErrorHook } from "./internal/error.js";
5
+ export declare const api: AxiosInstance;
6
+ export declare const GRAPH_HOSTS: {
7
+ readonly facebook: "https://graph.facebook.com/v25.0";
8
+ readonly instagram: "https://graph.instagram.com/v25.0";
9
+ };
10
+ export type GraphHost = keyof typeof GRAPH_HOSTS;
5
11
  type Data = FormData | Record<string, unknown> | null;
6
12
  export interface HttpClient {
7
13
  get<T>(path: string, options?: AxiosRequestConfig): BatchableRequest<T>;
@@ -9,6 +15,10 @@ export interface HttpClient {
9
15
  delete<T>(path: string, options?: AxiosRequestConfig): BatchableRequest<T>;
10
16
  getToken(): string;
11
17
  }
12
- export declare function createHttpClient(accessToken: string): HttpClient;
18
+ export interface CreateHttpClientOptions {
19
+ onError?: FacebookErrorHook | undefined;
20
+ host?: GraphHost | undefined;
21
+ }
22
+ export declare function createHttpClient(accessToken: string, options?: CreateHttpClientOptions): HttpClient;
13
23
  export {};
14
24
  //# sourceMappingURL=httpClient.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"httpClient.d.ts","sourceRoot":"","sources":["../src/httpClient.ts"],"names":[],"mappings":"AAAA,OAAc,EAAE,kBAAkB,EAAE,MAAM,OAAO,CAAC;AAElD,OAAO,QAAQ,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAE/C,eAAO,MAAM,GAAG,+BAA8B,CAAC;AAS/C,KAAK,IAAI,GAAG,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;AAEtD,MAAM,WAAW,UAAU;IACzB,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,kBAAkB,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC;IACxE,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,kBAAkB,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC;IACrF,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,kBAAkB,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC;IAC3E,QAAQ,IAAI,MAAM,CAAC;CACpB;AAED,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,UAAU,CAgChE"}
1
+ {"version":3,"file":"httpClient.d.ts","sourceRoot":"","sources":["../src/httpClient.ts"],"names":[],"mappings":"AAAA,OAAc,EAAgB,KAAK,aAAa,EAAE,KAAK,kBAAkB,EAAE,MAAM,OAAO,CAAC;AAEzF,OAAO,QAAQ,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAIL,KAAK,iBAAiB,EACvB,MAAM,qBAAqB,CAAC;AAM7B,eAAO,MAAM,GAAG,eAA2D,CAAC;AAO5E,eAAO,MAAM,WAAW;;;CAGd,CAAC;AAGX,MAAM,MAAM,SAAS,GAAG,MAAM,OAAO,WAAW,CAAC;AA2BjD,KAAK,IAAI,GAAG,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;AAGtD,MAAM,WAAW,UAAU;IACzB,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,kBAAkB,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC;IACxE,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,kBAAkB,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC;IACrF,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,kBAAkB,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC;IAC3E,QAAQ,IAAI,MAAM,CAAC;CACpB;AAGD,MAAM,WAAW,uBAAuB;IAEtC,OAAO,CAAC,EAAE,iBAAiB,GAAG,SAAS,CAAC;IAExC,IAAI,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;CAC9B;AAiCD,wBAAgB,gBAAgB,CAC9B,WAAW,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE,uBAAuB,GAChC,UAAU,CAuEZ"}
@@ -1,39 +1,120 @@
1
- import axios from "axios";
1
+ import axios, { isAxiosError } from "axios";
2
2
  import { toCamel, toSnakeObj } from "./lib/transformCase.js";
3
3
  import FormData from "form-data";
4
- import { createBatchableRequest, buildRelativeUrl } from "./internal/batchable.js";
5
- export const api = axios.create({ family: 4 });
6
- const fbApi = axios.create({
7
- baseURL: "https://graph.facebook.com/v25.0",
8
- family: 4,
9
- headers: { "Accept-Encoding": "gzip, deflate, br" },
10
- transformResponse: (data) => toCamel(JSON.parse(data)),
11
- });
12
- export function createHttpClient(accessToken) {
13
- return {
14
- get: (path, options) => {
15
- const params = options?.params ?? {};
16
- return createBatchableRequest("GET", buildRelativeUrl(path, params), async () => fbApi.get(path, {
17
- params: { access_token: accessToken, ...params },
18
- ...options,
19
- }));
4
+ import { createBatchableRequest, buildRelativeUrl, toUrlEncodedBody } from "./internal/batchable.js";
5
+ import {} from "./client.js";
6
+ import { toFacebookError, toNetworkError, invokeErrorHook, } from "./internal/error.js";
7
+ const DEFAULT_TIMEOUT_MS = 60_000;
8
+ export const api = axios.create({ family: 4, timeout: DEFAULT_TIMEOUT_MS });
9
+ export const GRAPH_HOSTS = {
10
+ facebook: "https://graph.facebook.com/v25.0",
11
+ instagram: "https://graph.instagram.com/v25.0",
12
+ };
13
+ const graphApiCache = new Map();
14
+ function getGraphApi(baseURL) {
15
+ const cached = graphApiCache.get(baseURL);
16
+ if (cached)
17
+ return cached;
18
+ const instance = axios.create({
19
+ baseURL,
20
+ family: 4,
21
+ timeout: DEFAULT_TIMEOUT_MS,
22
+ headers: { "Accept-Encoding": "gzip, deflate, br" },
23
+ transformResponse: (data) => {
24
+ if (typeof data !== "string" || data.length === 0)
25
+ return data;
26
+ try {
27
+ return toCamel(JSON.parse(data));
28
+ }
29
+ catch {
30
+ return data;
31
+ }
20
32
  },
21
- post: (path, data, options) => {
22
- return createBatchableRequest("POST", buildRelativeUrl(path, {}), async () => {
23
- const isForm = data instanceof FormData;
24
- return fbApi.post(path, isForm ? data : toSnakeObj(data), {
25
- headers: isForm ? data.getHeaders() : {},
26
- params: { access_token: accessToken },
27
- ...options,
28
- });
33
+ });
34
+ graphApiCache.set(baseURL, instance);
35
+ return instance;
36
+ }
37
+ function reportThrownError(error, onError, method, relativeUrl, accessToken) {
38
+ const context = { method, relativeUrl, accessToken, source: "request" };
39
+ if (isAxiosError(error) && error.response) {
40
+ const fbError = toFacebookError(error.response.data, error.response.status, error.response.headers);
41
+ invokeErrorHook(onError, fbError ?? toNetworkError(error, error.response.status), context);
42
+ }
43
+ else {
44
+ invokeErrorHook(onError, toNetworkError(error), context);
45
+ }
46
+ }
47
+ function reportResponseError(data, status, onError, method, relativeUrl, accessToken) {
48
+ const fbError = toFacebookError(data, status);
49
+ if (fbError)
50
+ invokeErrorHook(onError, fbError, { method, relativeUrl, accessToken, source: "request" });
51
+ }
52
+ export function createHttpClient(accessToken, options) {
53
+ const onError = options?.onError;
54
+ const graphApi = getGraphApi(GRAPH_HOSTS[options?.host ?? "facebook"]);
55
+ return {
56
+ get: (path, reqOptions) => {
57
+ const params = reqOptions?.params ?? {};
58
+ const relativeUrl = buildRelativeUrl(path, params);
59
+ return createBatchableRequest("GET", relativeUrl, async () => {
60
+ try {
61
+ const res = await graphApi.get(path, {
62
+ ...reqOptions,
63
+ params: { access_token: accessToken, ...params },
64
+ });
65
+ if (onError)
66
+ reportResponseError(res.data, res.status, onError, "GET", relativeUrl, accessToken);
67
+ return res.data;
68
+ }
69
+ catch (error) {
70
+ if (onError)
71
+ reportThrownError(error, onError, "GET", relativeUrl, accessToken);
72
+ throw error;
73
+ }
29
74
  });
30
75
  },
31
- delete: (path, options) => {
32
- const params = options?.params ?? {};
33
- return createBatchableRequest("DELETE", buildRelativeUrl(path, params), async () => fbApi.delete(path, {
34
- params: { access_token: accessToken, ...params },
35
- ...options,
36
- }));
76
+ post: (path, data, reqOptions) => {
77
+ const params = reqOptions?.params ?? {};
78
+ const relativeUrl = buildRelativeUrl(path, params);
79
+ const isForm = data instanceof FormData;
80
+ const body = !isForm && data ? toUrlEncodedBody(toSnakeObj(data)) : undefined;
81
+ return createBatchableRequest("POST", relativeUrl, async () => {
82
+ try {
83
+ const res = await graphApi.post(path, isForm ? data : toSnakeObj(data), {
84
+ ...reqOptions,
85
+ headers: { ...reqOptions?.headers, ...(isForm ? data.getHeaders() : {}) },
86
+ params: { access_token: accessToken, ...params },
87
+ });
88
+ if (onError)
89
+ reportResponseError(res.data, res.status, onError, "POST", relativeUrl, accessToken);
90
+ return res.data;
91
+ }
92
+ catch (error) {
93
+ if (onError)
94
+ reportThrownError(error, onError, "POST", relativeUrl, accessToken);
95
+ throw error;
96
+ }
97
+ }, undefined, body);
98
+ },
99
+ delete: (path, reqOptions) => {
100
+ const params = reqOptions?.params ?? {};
101
+ const relativeUrl = buildRelativeUrl(path, params);
102
+ return createBatchableRequest("DELETE", relativeUrl, async () => {
103
+ try {
104
+ const res = await graphApi.delete(path, {
105
+ ...reqOptions,
106
+ params: { access_token: accessToken, ...params },
107
+ });
108
+ if (onError)
109
+ reportResponseError(res.data, res.status, onError, "DELETE", relativeUrl, accessToken);
110
+ return res.data;
111
+ }
112
+ catch (error) {
113
+ if (onError)
114
+ reportThrownError(error, onError, "DELETE", relativeUrl, accessToken);
115
+ throw error;
116
+ }
117
+ });
37
118
  },
38
119
  getToken: () => accessToken,
39
120
  };
@@ -1 +1 @@
1
- {"version":3,"file":"httpClient.js","sourceRoot":"","sources":["../src/httpClient.ts"],"names":[],"mappings":"AAAA,OAAO,KAA6B,MAAM,OAAO,CAAC;AAClD,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,QAAQ,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAGnF,MAAM,CAAC,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;AAE/C,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC;IACzB,OAAO,EAAE,kCAAkC;IAC3C,MAAM,EAAE,CAAC;IACT,OAAO,EAAE,EAAE,iBAAiB,EAAE,mBAAmB,EAAE;IACnD,iBAAiB,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;CACvD,CAAC,CAAC;AAWH,MAAM,UAAU,gBAAgB,CAAC,WAAmB;IAClD,OAAO;QACL,GAAG,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;YACrB,MAAM,MAAM,GAAG,OAAO,EAAE,MAAM,IAAI,EAAE,CAAC;YACrC,OAAO,sBAAsB,CAAC,KAAK,EAAE,gBAAgB,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,KAAK,IAAI,EAAE,CAC9E,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE;gBACd,MAAM,EAAE,EAAE,YAAY,EAAE,WAAW,EAAE,GAAG,MAAM,EAAE;gBAChD,GAAG,OAAO;aACX,CAAC,CACH,CAAC;QACJ,CAAC;QACD,IAAI,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE;YAC5B,OAAO,sBAAsB,CAAC,MAAM,EAAE,gBAAgB,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,KAAK,IAAI,EAAE;gBAC3E,MAAM,MAAM,GAAG,IAAI,YAAY,QAAQ,CAAC;gBACxC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;oBACxD,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE;oBACxC,MAAM,EAAE,EAAE,YAAY,EAAE,WAAW,EAAE;oBACrC,GAAG,OAAO;iBACX,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC;QACD,MAAM,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;YACxB,MAAM,MAAM,GAAG,OAAO,EAAE,MAAM,IAAI,EAAE,CAAC;YACrC,OAAO,sBAAsB,CAAC,QAAQ,EAAE,gBAAgB,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,KAAK,IAAI,EAAE,CACjF,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE;gBACjB,MAAM,EAAE,EAAE,YAAY,EAAE,WAAW,EAAE,GAAG,MAAM,EAAE;gBAChD,GAAG,OAAO;aACX,CAAC,CACH,CAAC;QACJ,CAAC;QACD,QAAQ,EAAE,GAAG,EAAE,CAAC,WAAW;KAC5B,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"httpClient.js","sourceRoot":"","sources":["../src/httpClient.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,174 @@
1
+ import { type HttpClient } from "./httpClient.js";
2
+ import type { FacebookErrorHook } from "./internal/error.js";
3
+ export interface InstagramSdkConfig {
4
+ onError?: FacebookErrorHook;
5
+ }
6
+ export declare function createInstagramSdk(config?: InstagramSdkConfig): (accessToken: string) => {
7
+ account: (igUserId: string) => {
8
+ get: import("./resources/instagram/InstagramResource.js").GetInstagramAccount;
9
+ media: {
10
+ publishImage: import("./resources/instagram/InstagramMediaResource.js").PublishImage;
11
+ publishReel: import("./resources/instagram/InstagramMediaResource.js").PublishReel;
12
+ publishStory: import("./resources/instagram/InstagramMediaResource.js").PublishStory;
13
+ publishCarousel: import("./resources/instagram/InstagramMediaResource.js").PublishCarousel;
14
+ contentPublishingLimit: import("./resources/instagram/InstagramMediaResource.js").GetContentPublishingLimit;
15
+ list: import("./resources/instagram/InstagramMediaResource.js").ListInstagramMedia;
16
+ };
17
+ insights: {
18
+ list: <F extends import("./client.js").FbFieldSelector<{
19
+ reach: number;
20
+ views: number;
21
+ accountsEngaged: number;
22
+ totalInteractions: number;
23
+ likes: number;
24
+ comments: number;
25
+ saves: number;
26
+ shares: number;
27
+ replies: number;
28
+ reposts: number;
29
+ profileLinksTaps: number;
30
+ followsAndUnfollows: number;
31
+ engagedAudienceDemographics: number;
32
+ followerDemographics: number;
33
+ followerCount: number;
34
+ onlineFollowers: number;
35
+ impressions: number;
36
+ }, 10>>(query: import("./client.js").InstagramInsightQuery<{
37
+ reach: number;
38
+ views: number;
39
+ accountsEngaged: number;
40
+ totalInteractions: number;
41
+ likes: number;
42
+ comments: number;
43
+ saves: number;
44
+ shares: number;
45
+ replies: number;
46
+ reposts: number;
47
+ profileLinksTaps: number;
48
+ followsAndUnfollows: number;
49
+ engagedAudienceDemographics: number;
50
+ followerDemographics: number;
51
+ followerCount: number;
52
+ onlineFollowers: number;
53
+ impressions: number;
54
+ }, F, import("./client.js").InstagramAccountInsightOptions>) => import("./client.js").BatchableRequest<import("./client.js").InstagramInsightResponse<{
55
+ reach: number;
56
+ views: number;
57
+ accountsEngaged: number;
58
+ totalInteractions: number;
59
+ likes: number;
60
+ comments: number;
61
+ saves: number;
62
+ shares: number;
63
+ replies: number;
64
+ reposts: number;
65
+ profileLinksTaps: number;
66
+ followsAndUnfollows: number;
67
+ engagedAudienceDemographics: number;
68
+ followerDemographics: number;
69
+ followerCount: number;
70
+ onlineFollowers: number;
71
+ impressions: number;
72
+ }, F>>;
73
+ };
74
+ mentions: {
75
+ reply: import("./resources/instagram/InstagramMentionsResource.js").ReplyInstagramMention;
76
+ getComment: <F extends import("./client.js").FbFieldSelector<import("./client.js").InstagramComment>>(commentId: string, fields: import("./client.js").Fields<import("./client.js").InstagramComment, F>) => import("./client.js").BatchableRequest<import("./client.js").FbPickDeep<import("./client.js").InstagramComment, F>>;
77
+ getMedia: <F extends import("./client.js").FbFieldSelector<import("./client.js").InstagramMedia>>(mediaId: string, fields: import("./client.js").Fields<import("./client.js").InstagramMedia, F>) => import("./client.js").BatchableRequest<import("./client.js").FbPickDeep<import("./client.js").InstagramMedia, F>>;
78
+ };
79
+ stories: import("./resources/instagram/InstagramResource.js").ListInstagramStories;
80
+ tags: import("./resources/instagram/InstagramResource.js").ListInstagramTags;
81
+ };
82
+ media: (mediaId: string) => {
83
+ get: import("./resources/instagram/InstagramMediaNodeResource.js").GetInstagramMedia;
84
+ setCommentEnabled: import("./resources/instagram/InstagramMediaNodeResource.js").SetInstagramCommentEnabled;
85
+ comments: {
86
+ list: import("./resources/instagram/InstagramCommentResource.js").ListInstagramComments;
87
+ create: import("./resources/instagram/InstagramCommentResource.js").CreateInstagramComment;
88
+ };
89
+ insights: {
90
+ list: <F extends import("./client.js").FbFieldSelector<{
91
+ reach: number;
92
+ views: number;
93
+ likes: number;
94
+ comments: number;
95
+ saved: number;
96
+ shares: number;
97
+ totalInteractions: number;
98
+ follows: number;
99
+ profileVisits: number;
100
+ profileActivity: number;
101
+ navigation: number;
102
+ replies: number;
103
+ linkClicks: number;
104
+ reposts: number;
105
+ igReelsAvgWatchTime: number;
106
+ igReelsVideoViewTotalTime: number;
107
+ reelsSkipRate: number;
108
+ crosspostedViews: number;
109
+ facebookViews: number;
110
+ totalComments: number;
111
+ totalLikes: number;
112
+ totalViews: number;
113
+ impressions: number;
114
+ }, 10>>(query: import("./client.js").InstagramInsightQuery<{
115
+ reach: number;
116
+ views: number;
117
+ likes: number;
118
+ comments: number;
119
+ saved: number;
120
+ shares: number;
121
+ totalInteractions: number;
122
+ follows: number;
123
+ profileVisits: number;
124
+ profileActivity: number;
125
+ navigation: number;
126
+ replies: number;
127
+ linkClicks: number;
128
+ reposts: number;
129
+ igReelsAvgWatchTime: number;
130
+ igReelsVideoViewTotalTime: number;
131
+ reelsSkipRate: number;
132
+ crosspostedViews: number;
133
+ facebookViews: number;
134
+ totalComments: number;
135
+ totalLikes: number;
136
+ totalViews: number;
137
+ impressions: number;
138
+ }, F, import("./client.js").InstagramInsightOptions>) => import("./client.js").BatchableRequest<import("./client.js").InstagramInsightResponse<{
139
+ reach: number;
140
+ views: number;
141
+ likes: number;
142
+ comments: number;
143
+ saved: number;
144
+ shares: number;
145
+ totalInteractions: number;
146
+ follows: number;
147
+ profileVisits: number;
148
+ profileActivity: number;
149
+ navigation: number;
150
+ replies: number;
151
+ linkClicks: number;
152
+ reposts: number;
153
+ igReelsAvgWatchTime: number;
154
+ igReelsVideoViewTotalTime: number;
155
+ reelsSkipRate: number;
156
+ crosspostedViews: number;
157
+ facebookViews: number;
158
+ totalComments: number;
159
+ totalLikes: number;
160
+ totalViews: number;
161
+ impressions: number;
162
+ }, F>>;
163
+ };
164
+ };
165
+ comment: (commentId: string) => {
166
+ get: import("./resources/instagram/InstagramCommentResource.js").GetInstagramComment;
167
+ reply: import("./resources/instagram/InstagramCommentResource.js").CreateInstagramComment;
168
+ replies: import("./resources/instagram/InstagramCommentResource.js").ListInstagramComments;
169
+ hide: import("./resources/instagram/InstagramCommentResource.js").HideInstagramComment;
170
+ delete: import("./resources/instagram/InstagramCommentResource.js").DeleteInstagramComment;
171
+ };
172
+ http: HttpClient;
173
+ };
174
+ //# sourceMappingURL=instagramClient.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"instagramClient.d.ts","sourceRoot":"","sources":["../src/instagramClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,KAAK,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAIpE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAG7D,MAAM,WAAW,kBAAkB;IAMjC,OAAO,CAAC,EAAE,iBAAiB,CAAC;CAC7B;AAcD,wBAAgB,kBAAkB,CAAC,MAAM,GAAE,kBAAuB,IACxD,aAAa,MAAM;wBAOH,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBAET,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yBAEF,MAAM;;;;;;;;EAKhC"}
@@ -0,0 +1,19 @@
1
+ import { createHttpClient } from "./httpClient.js";
2
+ import { createInstagramResource } from "./resources/instagram/InstagramResource.js";
3
+ import { createInstagramMediaNodeResource } from "./resources/instagram/InstagramMediaNodeResource.js";
4
+ import { createInstagramCommentResource } from "./resources/instagram/InstagramCommentResource.js";
5
+ export function createInstagramSdk(config = {}) {
6
+ return (accessToken) => {
7
+ const http = createHttpClient(accessToken, {
8
+ onError: config.onError,
9
+ host: "instagram",
10
+ });
11
+ return {
12
+ account: (igUserId) => createInstagramResource({ http, id: igUserId, config }),
13
+ media: (mediaId) => createInstagramMediaNodeResource({ http, id: mediaId, config }),
14
+ comment: (commentId) => createInstagramCommentResource({ http, id: commentId, config }),
15
+ http,
16
+ };
17
+ };
18
+ }
19
+ //# sourceMappingURL=instagramClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"instagramClient.js","sourceRoot":"","sources":["../src/instagramClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAmB,MAAM,iBAAiB,CAAC;AACpE,OAAO,EAAE,uBAAuB,EAAE,MAAM,4CAA4C,CAAC;AACrF,OAAO,EAAE,gCAAgC,EAAE,MAAM,qDAAqD,CAAC;AACvG,OAAO,EAAE,8BAA8B,EAAE,MAAM,mDAAmD,CAAC;AAyBnG,MAAM,UAAU,kBAAkB,CAAC,SAA6B,EAAE;IAChE,OAAO,CAAC,WAAmB,EAAE,EAAE;QAC7B,MAAM,IAAI,GAAe,gBAAgB,CAAC,WAAW,EAAE;YACrD,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,IAAI,EAAE,WAAW;SAClB,CAAC,CAAC;QACH,OAAO;YAEL,OAAO,EAAE,CAAC,QAAgB,EAAE,EAAE,CAAC,uBAAuB,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;YAEtF,KAAK,EAAE,CAAC,OAAe,EAAE,EAAE,CAAC,gCAAgC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;YAE3F,OAAO,EAAE,CAAC,SAAiB,EAAE,EAAE,CAAC,8BAA8B,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC;YAE/F,IAAI;SACL,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC"}
@@ -1,4 +1,5 @@
1
- import { BatchableRequest } from "../client.js";
2
- export declare function createBatchableRequest<T>(method: string, relativeUrl: string, executor: () => Promise<T>, _transform?: (raw: any) => any): BatchableRequest<T>;
1
+ import type { BatchableRequest } from "../client.js";
2
+ export declare function createBatchableRequest<T>(method: string, relativeUrl: string, executor: () => Promise<T>, _transform?: (raw: any) => any, body?: string): BatchableRequest<T>;
3
3
  export declare function buildRelativeUrl(path: string, params: Record<string, unknown>): string;
4
+ export declare function toUrlEncodedBody(obj: Record<string, unknown>): string;
4
5
  //# sourceMappingURL=batchable.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"batchable.d.ts","sourceRoot":"","sources":["../../src/internal/batchable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAGhD,wBAAgB,sBAAsB,CAAC,CAAC,EACtC,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAC1B,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,GAAG,GAC7B,gBAAgB,CAAC,CAAC,CAAC,CAwBrB;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAUtF"}
1
+ {"version":3,"file":"batchable.d.ts","sourceRoot":"","sources":["../../src/internal/batchable.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAOrD,wBAAgB,sBAAsB,CAAC,CAAC,EACtC,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAC1B,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,GAAG,EAC9B,IAAI,CAAC,EAAE,MAAM,GACZ,gBAAgB,CAAC,CAAC,CAAC,CA6BrB;AAGD,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAUtF;AAOD,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAOrE"}
@@ -1,21 +1,25 @@
1
1
  import { toSnakeCase } from "../lib/transformCase.js";
2
- export function createBatchableRequest(method, relativeUrl, executor, _transform) {
2
+ export function createBatchableRequest(method, relativeUrl, executor, _transform, body) {
3
+ let inflight;
4
+ const run = () => (inflight ??= executor());
3
5
  const req = {
4
6
  method,
5
7
  relative_url: relativeUrl,
6
8
  then(onFulfilled, onRejected) {
7
- return executor().then(onFulfilled, onRejected);
9
+ return run().then(onFulfilled, onRejected);
8
10
  },
9
11
  catch(onRejected) {
10
- return executor().then(undefined, onRejected);
12
+ return run().then(undefined, onRejected);
11
13
  },
12
14
  transform(fn) {
13
15
  const prev = _transform;
14
- return createBatchableRequest(method, relativeUrl, () => executor().then(fn), (raw) => fn(prev ? prev(raw) : raw));
16
+ return createBatchableRequest(method, relativeUrl, () => run().then(fn), (raw) => fn(prev ? prev(raw) : raw), body);
15
17
  },
16
18
  };
17
19
  if (_transform)
18
20
  req._transform = _transform;
21
+ if (body !== undefined)
22
+ req.body = body;
19
23
  return req;
20
24
  }
21
25
  export function buildRelativeUrl(path, params) {
@@ -28,4 +32,13 @@ export function buildRelativeUrl(path, params) {
28
32
  }
29
33
  return parts.length > 0 ? `${stripped}?${parts.join("&")}` : stripped;
30
34
  }
35
+ export function toUrlEncodedBody(obj) {
36
+ const params = new URLSearchParams();
37
+ for (const [key, value] of Object.entries(obj)) {
38
+ if (value === undefined || value === null)
39
+ continue;
40
+ params.append(key, typeof value === "object" ? JSON.stringify(value) : String(value));
41
+ }
42
+ return params.toString();
43
+ }
31
44
  //# sourceMappingURL=batchable.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"batchable.js","sourceRoot":"","sources":["../../src/internal/batchable.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAEtD,MAAM,UAAU,sBAAsB,CACpC,MAAc,EACd,WAAmB,EACnB,QAA0B,EAC1B,UAA8B;IAE9B,MAAM,GAAG,GAAQ;QACf,MAAM;QACN,YAAY,EAAE,WAAW;QACzB,IAAI,CAAC,WAAiB,EAAE,UAAgB;YACtC,OAAO,QAAQ,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;QAClD,CAAC;QACD,KAAK,CAAC,UAAgB;YACpB,OAAO,QAAQ,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;QAChD,CAAC;QACD,SAAS,CAAI,EAAiB;YAC5B,MAAM,IAAI,GAAG,UAAU,CAAC;YACxB,OAAO,sBAAsB,CAC3B,MAAM,EACN,WAAW,EACX,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EACzB,CAAC,GAAQ,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CACzC,CAAC;QACJ,CAAC;KACF,CAAC;IAEF,IAAI,UAAU;QAAE,GAAG,CAAC,UAAU,GAAG,UAAU,CAAC;IAE5C,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,IAAY,EAAE,MAA+B;IAC5E,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC7D,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAClD,IAAI,KAAK,KAAK,SAAS;YAAE,SAAS;QAClC,KAAK,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC,IAAI,kBAAkB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;IACzE,CAAC;IAED,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,QAAQ,IAAI,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;AACxE,CAAC"}
1
+ {"version":3,"file":"batchable.js","sourceRoot":"","sources":["../../src/internal/batchable.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAMtD,MAAM,UAAU,sBAAsB,CACpC,MAAc,EACd,WAAmB,EACnB,QAA0B,EAC1B,UAA8B,EAC9B,IAAa;IAEb,IAAI,QAAgC,CAAC;IACrC,MAAM,GAAG,GAAG,GAAG,EAAE,CAAC,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC,CAAC;IAE5C,MAAM,GAAG,GAAQ;QACf,MAAM;QACN,YAAY,EAAE,WAAW;QACzB,IAAI,CAAC,WAAiB,EAAE,UAAgB;YACtC,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;QAC7C,CAAC;QACD,KAAK,CAAC,UAAgB;YACpB,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;QAC3C,CAAC;QACD,SAAS,CAAI,EAAiB;YAC5B,MAAM,IAAI,GAAG,UAAU,CAAC;YACxB,OAAO,sBAAsB,CAC3B,MAAM,EACN,WAAW,EACX,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EACpB,CAAC,GAAQ,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EACxC,IAAI,CACL,CAAC;QACJ,CAAC;KACF,CAAC;IAEF,IAAI,UAAU;QAAE,GAAG,CAAC,UAAU,GAAG,UAAU,CAAC;IAC5C,IAAI,IAAI,KAAK,SAAS;QAAE,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC;IAExC,OAAO,GAAG,CAAC;AACb,CAAC;AAGD,MAAM,UAAU,gBAAgB,CAAC,IAAY,EAAE,MAA+B;IAC5E,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC7D,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAClD,IAAI,KAAK,KAAK,SAAS;YAAE,SAAS;QAClC,KAAK,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC,IAAI,kBAAkB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;IACzE,CAAC;IAED,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,QAAQ,IAAI,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;AACxE,CAAC;AAOD,MAAM,UAAU,gBAAgB,CAAC,GAA4B;IAC3D,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;IACrC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QAC/C,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI;YAAE,SAAS;QACpD,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IACxF,CAAC;IACD,OAAO,MAAM,CAAC,QAAQ,EAAE,CAAC;AAC3B,CAAC"}
@@ -1,6 +1,99 @@
1
- import { FacebookMedia } from "../types/facebookmedia.js";
1
+ import { type FacebookMedia } from "../types/facebookmedia.js";
2
+ import type { FacebookErrorCategory, FacebookErrorContext, RateLimitUsage, RawFacebookError } from "../types/facebookerror.js";
2
3
  export declare class FacebookUploadError extends Error {
3
4
  readonly status?: FacebookMedia["status"] | undefined;
4
5
  constructor(message: string, status?: FacebookMedia["status"] | undefined);
5
6
  }
7
+ export declare abstract class FacebookErrorBase extends Error {
8
+ abstract readonly category: FacebookErrorCategory;
9
+ abstract readonly raw: unknown;
10
+ readonly httpStatus: number;
11
+ readonly isTransient: boolean;
12
+ constructor(message: string, httpStatus: number, isTransient: boolean);
13
+ }
14
+ interface GraphErrorInit {
15
+ message: string;
16
+ type: string;
17
+ code: number;
18
+ subcode: number | undefined;
19
+ traceId: string | undefined;
20
+ userTitle: string | undefined;
21
+ userMessage: string | undefined;
22
+ isTransient: boolean;
23
+ httpStatus: number;
24
+ raw: RawFacebookError;
25
+ }
26
+ export declare abstract class FacebookGraphError extends FacebookErrorBase {
27
+ readonly raw: RawFacebookError;
28
+ readonly code: number;
29
+ readonly type: string;
30
+ readonly subcode?: number;
31
+ readonly traceId?: string;
32
+ readonly userTitle?: string;
33
+ readonly userMessage?: string;
34
+ constructor(init: GraphErrorInit);
35
+ }
36
+ export declare class FacebookAuthError extends FacebookGraphError {
37
+ readonly category: "auth";
38
+ }
39
+ export declare class FacebookPermissionError extends FacebookGraphError {
40
+ readonly category: "permission";
41
+ }
42
+ export declare class FacebookPolicyBlockError extends FacebookGraphError {
43
+ readonly category: "policy_block";
44
+ }
45
+ export declare class FacebookRateLimitError extends FacebookGraphError {
46
+ readonly category: "rate_limit";
47
+ readonly usage?: RateLimitUsage;
48
+ constructor(init: GraphErrorInit & {
49
+ usage: RateLimitUsage | undefined;
50
+ });
51
+ }
52
+ export declare class FacebookInvalidParamError extends FacebookGraphError {
53
+ readonly category: "invalid_param";
54
+ }
55
+ export declare class FacebookTransientError extends FacebookGraphError {
56
+ readonly category: "transient";
57
+ }
58
+ export declare class FacebookUnknownError extends FacebookGraphError {
59
+ readonly category: "unknown";
60
+ }
61
+ export declare class FacebookNetworkError extends FacebookErrorBase {
62
+ readonly category: "network";
63
+ readonly raw: unknown;
64
+ constructor(cause: unknown, httpStatus?: number);
65
+ }
66
+ export type FacebookGraphErrorUnion = FacebookAuthError | FacebookPermissionError | FacebookPolicyBlockError | FacebookRateLimitError | FacebookInvalidParamError | FacebookTransientError | FacebookUnknownError;
67
+ export type FacebookError = FacebookGraphErrorUnion | FacebookNetworkError;
68
+ export type FacebookErrorHook = (error: FacebookError, context: FacebookErrorContext) => void;
69
+ export declare const FacebookErrorCode: {
70
+ readonly UNKNOWN: 1;
71
+ readonly SERVICE: 2;
72
+ readonly METHOD: 3;
73
+ readonly TOO_MANY_CALLS: 4;
74
+ readonly PERMISSION_DENIED: 10;
75
+ readonly USER_TOO_MANY_CALLS: 17;
76
+ readonly PAGE_RATE_LIMIT: 32;
77
+ readonly INVALID_PARAM: 100;
78
+ readonly SESSION: 102;
79
+ readonly ACCESS_TOKEN: 190;
80
+ readonly APP_ACTION_LIMIT: 341;
81
+ readonly POLICY_BLOCK: 368;
82
+ readonly DUPLICATE_POST: 506;
83
+ readonly CUSTOM_RATE_LIMIT: 613;
84
+ readonly LINK_SCRAPE: 1609005;
85
+ };
86
+ export declare const FacebookAuthSubcode: {
87
+ readonly APP_NOT_INSTALLED: 458;
88
+ readonly USER_CHECKPOINTED: 459;
89
+ readonly PASSWORD_CHANGED: 460;
90
+ readonly EXPIRED: 463;
91
+ readonly UNCONFIRMED_USER: 464;
92
+ readonly INVALID_ACCESS_TOKEN: 467;
93
+ readonly INVALID_PAGE_ROLE: 492;
94
+ };
95
+ export declare function toFacebookError(payload: unknown, httpStatus: number, headers?: unknown): FacebookGraphErrorUnion | null;
96
+ export declare function toNetworkError(cause: unknown, httpStatus?: number): FacebookNetworkError;
97
+ export declare function invokeErrorHook(hook: FacebookErrorHook, error: FacebookError, context: FacebookErrorContext): void;
98
+ export {};
6
99
  //# sourceMappingURL=error.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../../src/internal/error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAE1D,qBAAa,mBAAoB,SAAQ,KAAK;aAG1B,MAAM,CAAC,EAAE,aAAa,CAAC,QAAQ,CAAC;gBADhD,OAAO,EAAE,MAAM,EACC,MAAM,CAAC,EAAE,aAAa,CAAC,QAAQ,CAAC,YAAA;CAKnD"}
1
+ {"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../../src/internal/error.ts"],"names":[],"mappings":"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"}