@fireberry/sdk 0.0.3 → 0.0.5

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 (304) hide show
  1. package/{node_modules/asynckit/LICENSE → LICENSE.md} +2 -2
  2. package/README.md +85 -37
  3. package/dist/cjs/constants/index.d.ts +13 -0
  4. package/dist/cjs/constants/index.d.ts.map +1 -0
  5. package/dist/cjs/constants/index.js +16 -0
  6. package/dist/cjs/constants/index.js.map +1 -0
  7. package/dist/cjs/context/context.d.ts +7 -0
  8. package/dist/cjs/context/context.d.ts.map +1 -0
  9. package/dist/cjs/context/context.js +11 -0
  10. package/dist/cjs/context/context.js.map +1 -0
  11. package/dist/cjs/context/index.d.ts +2 -0
  12. package/dist/cjs/context/index.d.ts.map +1 -0
  13. package/dist/cjs/context/index.js.map +1 -0
  14. package/dist/cjs/fireberrySDK.client.d.ts +18 -0
  15. package/dist/cjs/fireberrySDK.client.d.ts.map +1 -0
  16. package/dist/cjs/fireberrySDK.client.js +66 -0
  17. package/dist/cjs/fireberrySDK.client.js.map +1 -0
  18. package/dist/cjs/iframeMessageManager.d.ts +12 -0
  19. package/dist/cjs/iframeMessageManager.d.ts.map +1 -0
  20. package/dist/cjs/iframeMessageManager.js +68 -0
  21. package/dist/cjs/iframeMessageManager.js.map +1 -0
  22. package/dist/cjs/types/index.d.ts +67 -0
  23. package/dist/cjs/types/index.d.ts.map +1 -0
  24. package/dist/{src/fireberryAPI/types.js → cjs/types/index.js} +1 -0
  25. package/dist/cjs/types/index.js.map +1 -0
  26. package/dist/esm/constants/index.d.ts +13 -0
  27. package/dist/esm/constants/index.d.ts.map +1 -0
  28. package/dist/esm/constants/index.js +13 -0
  29. package/dist/esm/constants/index.js.map +1 -0
  30. package/dist/esm/context/context.d.ts +7 -0
  31. package/dist/esm/context/context.d.ts.map +1 -0
  32. package/dist/esm/context/context.js +7 -0
  33. package/dist/esm/context/context.js.map +1 -0
  34. package/dist/esm/context/index.d.ts +2 -0
  35. package/dist/esm/context/index.d.ts.map +1 -0
  36. package/dist/esm/context/index.js +2 -0
  37. package/dist/esm/context/index.js.map +1 -0
  38. package/dist/esm/fireberrySDK.client.d.ts +18 -0
  39. package/dist/esm/fireberrySDK.client.d.ts.map +1 -0
  40. package/dist/esm/fireberrySDK.client.js +62 -0
  41. package/dist/esm/fireberrySDK.client.js.map +1 -0
  42. package/dist/esm/iframeMessageManager.d.ts +12 -0
  43. package/dist/esm/iframeMessageManager.d.ts.map +1 -0
  44. package/dist/esm/iframeMessageManager.js +64 -0
  45. package/dist/esm/iframeMessageManager.js.map +1 -0
  46. package/dist/esm/types/index.d.ts +67 -0
  47. package/dist/esm/types/index.d.ts.map +1 -0
  48. package/dist/esm/types/index.js +2 -0
  49. package/dist/esm/types/index.js.map +1 -0
  50. package/package.json +51 -28
  51. package/.eslintrc.json +0 -36
  52. package/.prettierrc.json +0 -7
  53. package/.vscode/settings.json +0 -35
  54. package/dist/base.fireberrySDK.d.ts +0 -7
  55. package/dist/base.fireberrySDK.js +0 -10
  56. package/dist/base.fireberrySDK.js.map +0 -1
  57. package/dist/context/context.d.ts +0 -13
  58. package/dist/context/context.js +0 -22
  59. package/dist/context/context.js.map +0 -1
  60. package/dist/context/context.record.test.d.ts +0 -1
  61. package/dist/context/context.record.test.js +0 -45
  62. package/dist/context/context.record.test.js.map +0 -1
  63. package/dist/context/index.d.ts +0 -5
  64. package/dist/context/index.js.map +0 -1
  65. package/dist/context/record.d.ts +0 -9
  66. package/dist/context/record.js +0 -33
  67. package/dist/context/record.js.map +0 -1
  68. package/dist/context/user.d.ts +0 -5
  69. package/dist/context/user.js +0 -27
  70. package/dist/context/user.js.map +0 -1
  71. package/dist/fireberry.sdk.d.ts +0 -4
  72. package/dist/fireberry.sdk.js +0 -13
  73. package/dist/fireberry.sdk.js.map +0 -1
  74. package/dist/fireberryAPI/fireberryV2Api.d.ts +0 -17
  75. package/dist/fireberryAPI/fireberryV2Api.js +0 -54
  76. package/dist/fireberryAPI/fireberryV2Api.js.map +0 -1
  77. package/dist/fireberryAPI/fireberryV2Api.test.d.ts +0 -1
  78. package/dist/fireberryAPI/fireberryV2Api.test.js +0 -56
  79. package/dist/fireberryAPI/fireberryV2Api.test.js.map +0 -1
  80. package/dist/fireberryAPI/index.d.ts +0 -2
  81. package/dist/fireberryAPI/index.js +0 -21
  82. package/dist/fireberryAPI/index.js.map +0 -1
  83. package/dist/fireberryAPI/types.d.ts +0 -10
  84. package/dist/fireberryAPI/types.js +0 -3
  85. package/dist/fireberryAPI/types.js.map +0 -1
  86. package/dist/fireberrySDK.client.d.ts +0 -5
  87. package/dist/fireberrySDK.client.js +0 -13
  88. package/dist/fireberrySDK.client.js.map +0 -1
  89. package/dist/fireberrySDK.server.d.ts +0 -6
  90. package/dist/fireberrySDK.server.js +0 -12
  91. package/dist/fireberrySDK.server.js.map +0 -1
  92. package/dist/index.d.ts +0 -6
  93. package/dist/index.js +0 -25
  94. package/dist/index.js.map +0 -1
  95. package/dist/jest.config.d.ts +0 -6
  96. package/dist/jest.config.js +0 -11
  97. package/dist/src/context/context.d.ts +0 -13
  98. package/dist/src/context/context.js +0 -21
  99. package/dist/src/context/context.record.test.d.ts +0 -1
  100. package/dist/src/context/context.record.test.js +0 -36
  101. package/dist/src/context/index.d.ts +0 -5
  102. package/dist/src/context/index.js +0 -17
  103. package/dist/src/context/record.d.ts +0 -9
  104. package/dist/src/context/record.js +0 -32
  105. package/dist/src/context/user.d.ts +0 -8
  106. package/dist/src/context/user.js +0 -31
  107. package/dist/src/fireberry.sdk.d.ts +0 -9
  108. package/dist/src/fireberry.sdk.js +0 -14
  109. package/dist/src/fireberryAPI/fireberryV2Api.d.ts +0 -14
  110. package/dist/src/fireberryAPI/fireberryV2Api.js +0 -41
  111. package/dist/src/fireberryAPI/index.d.ts +0 -2
  112. package/dist/src/fireberryAPI/index.js +0 -20
  113. package/dist/src/fireberryAPI/types.d.ts +0 -10
  114. package/dist/src/index.d.ts +0 -9
  115. package/dist/src/index.js +0 -6
  116. package/dist/src/utils/axios.util.d.ts +0 -6
  117. package/dist/src/utils/axios.util.js +0 -24
  118. package/dist/src/utils/index.d.ts +0 -2
  119. package/dist/src/utils/index.js +0 -18
  120. package/dist/src/utils/queryParam.util.d.ts +0 -1
  121. package/dist/src/utils/queryParam.util.js +0 -10
  122. package/dist/utils/axios.util.d.ts +0 -6
  123. package/dist/utils/axios.util.js +0 -24
  124. package/dist/utils/axios.util.js.map +0 -1
  125. package/dist/utils/index.d.ts +0 -2
  126. package/dist/utils/index.js +0 -19
  127. package/dist/utils/index.js.map +0 -1
  128. package/dist/utils/queryParam.util.d.ts +0 -1
  129. package/dist/utils/queryParam.util.js +0 -12
  130. package/dist/utils/queryParam.util.js.map +0 -1
  131. package/jest.config.ts +0 -10
  132. package/node_modules/asynckit/README.md +0 -233
  133. package/node_modules/asynckit/bench.js +0 -76
  134. package/node_modules/asynckit/index.js +0 -6
  135. package/node_modules/asynckit/lib/abort.js +0 -29
  136. package/node_modules/asynckit/lib/async.js +0 -34
  137. package/node_modules/asynckit/lib/defer.js +0 -26
  138. package/node_modules/asynckit/lib/iterate.js +0 -75
  139. package/node_modules/asynckit/lib/readable_asynckit.js +0 -91
  140. package/node_modules/asynckit/lib/readable_parallel.js +0 -25
  141. package/node_modules/asynckit/lib/readable_serial.js +0 -25
  142. package/node_modules/asynckit/lib/readable_serial_ordered.js +0 -29
  143. package/node_modules/asynckit/lib/state.js +0 -37
  144. package/node_modules/asynckit/lib/streamify.js +0 -141
  145. package/node_modules/asynckit/lib/terminator.js +0 -29
  146. package/node_modules/asynckit/package.json +0 -63
  147. package/node_modules/asynckit/parallel.js +0 -43
  148. package/node_modules/asynckit/serial.js +0 -17
  149. package/node_modules/asynckit/serialOrdered.js +0 -75
  150. package/node_modules/asynckit/stream.js +0 -21
  151. package/node_modules/axios/CHANGELOG.md +0 -874
  152. package/node_modules/axios/LICENSE +0 -7
  153. package/node_modules/axios/MIGRATION_GUIDE.md +0 -3
  154. package/node_modules/axios/README.md +0 -1650
  155. package/node_modules/axios/SECURITY.md +0 -6
  156. package/node_modules/axios/dist/axios.js +0 -3448
  157. package/node_modules/axios/dist/axios.js.map +0 -1
  158. package/node_modules/axios/dist/axios.min.js +0 -2
  159. package/node_modules/axios/dist/axios.min.js.map +0 -1
  160. package/node_modules/axios/dist/browser/axios.cjs +0 -3258
  161. package/node_modules/axios/dist/browser/axios.cjs.map +0 -1
  162. package/node_modules/axios/dist/esm/axios.js +0 -3281
  163. package/node_modules/axios/dist/esm/axios.js.map +0 -1
  164. package/node_modules/axios/dist/esm/axios.min.js +0 -2
  165. package/node_modules/axios/dist/esm/axios.min.js.map +0 -1
  166. package/node_modules/axios/dist/node/axios.cjs +0 -4354
  167. package/node_modules/axios/dist/node/axios.cjs.map +0 -1
  168. package/node_modules/axios/index.d.cts +0 -542
  169. package/node_modules/axios/index.d.ts +0 -559
  170. package/node_modules/axios/index.js +0 -43
  171. package/node_modules/axios/lib/adapters/README.md +0 -37
  172. package/node_modules/axios/lib/adapters/adapters.js +0 -77
  173. package/node_modules/axios/lib/adapters/http.js +0 -685
  174. package/node_modules/axios/lib/adapters/xhr.js +0 -260
  175. package/node_modules/axios/lib/axios.js +0 -89
  176. package/node_modules/axios/lib/cancel/CancelToken.js +0 -121
  177. package/node_modules/axios/lib/cancel/CanceledError.js +0 -25
  178. package/node_modules/axios/lib/cancel/isCancel.js +0 -5
  179. package/node_modules/axios/lib/core/Axios.js +0 -225
  180. package/node_modules/axios/lib/core/AxiosError.js +0 -100
  181. package/node_modules/axios/lib/core/AxiosHeaders.js +0 -298
  182. package/node_modules/axios/lib/core/InterceptorManager.js +0 -71
  183. package/node_modules/axios/lib/core/README.md +0 -8
  184. package/node_modules/axios/lib/core/buildFullPath.js +0 -21
  185. package/node_modules/axios/lib/core/dispatchRequest.js +0 -81
  186. package/node_modules/axios/lib/core/mergeConfig.js +0 -106
  187. package/node_modules/axios/lib/core/settle.js +0 -27
  188. package/node_modules/axios/lib/core/transformData.js +0 -28
  189. package/node_modules/axios/lib/defaults/index.js +0 -156
  190. package/node_modules/axios/lib/defaults/transitional.js +0 -7
  191. package/node_modules/axios/lib/env/README.md +0 -3
  192. package/node_modules/axios/lib/env/classes/FormData.js +0 -2
  193. package/node_modules/axios/lib/env/data.js +0 -1
  194. package/node_modules/axios/lib/helpers/AxiosTransformStream.js +0 -191
  195. package/node_modules/axios/lib/helpers/AxiosURLSearchParams.js +0 -58
  196. package/node_modules/axios/lib/helpers/HttpStatusCode.js +0 -71
  197. package/node_modules/axios/lib/helpers/README.md +0 -7
  198. package/node_modules/axios/lib/helpers/ZlibHeaderTransformStream.js +0 -28
  199. package/node_modules/axios/lib/helpers/bind.js +0 -7
  200. package/node_modules/axios/lib/helpers/buildURL.js +0 -63
  201. package/node_modules/axios/lib/helpers/callbackify.js +0 -16
  202. package/node_modules/axios/lib/helpers/combineURLs.js +0 -15
  203. package/node_modules/axios/lib/helpers/cookies.js +0 -42
  204. package/node_modules/axios/lib/helpers/deprecatedMethod.js +0 -26
  205. package/node_modules/axios/lib/helpers/formDataToJSON.js +0 -95
  206. package/node_modules/axios/lib/helpers/formDataToStream.js +0 -111
  207. package/node_modules/axios/lib/helpers/fromDataURI.js +0 -53
  208. package/node_modules/axios/lib/helpers/isAbsoluteURL.js +0 -15
  209. package/node_modules/axios/lib/helpers/isAxiosError.js +0 -14
  210. package/node_modules/axios/lib/helpers/isURLSameOrigin.js +0 -67
  211. package/node_modules/axios/lib/helpers/null.js +0 -2
  212. package/node_modules/axios/lib/helpers/parseHeaders.js +0 -55
  213. package/node_modules/axios/lib/helpers/parseProtocol.js +0 -6
  214. package/node_modules/axios/lib/helpers/readBlob.js +0 -15
  215. package/node_modules/axios/lib/helpers/speedometer.js +0 -55
  216. package/node_modules/axios/lib/helpers/spread.js +0 -28
  217. package/node_modules/axios/lib/helpers/throttle.js +0 -33
  218. package/node_modules/axios/lib/helpers/toFormData.js +0 -219
  219. package/node_modules/axios/lib/helpers/toURLEncodedForm.js +0 -18
  220. package/node_modules/axios/lib/helpers/validator.js +0 -91
  221. package/node_modules/axios/lib/platform/browser/classes/Blob.js +0 -3
  222. package/node_modules/axios/lib/platform/browser/classes/FormData.js +0 -3
  223. package/node_modules/axios/lib/platform/browser/classes/URLSearchParams.js +0 -4
  224. package/node_modules/axios/lib/platform/browser/index.js +0 -13
  225. package/node_modules/axios/lib/platform/common/utils.js +0 -47
  226. package/node_modules/axios/lib/platform/index.js +0 -7
  227. package/node_modules/axios/lib/platform/node/classes/FormData.js +0 -3
  228. package/node_modules/axios/lib/platform/node/classes/URLSearchParams.js +0 -4
  229. package/node_modules/axios/lib/platform/node/index.js +0 -12
  230. package/node_modules/axios/lib/utils.js +0 -723
  231. package/node_modules/axios/package.json +0 -218
  232. package/node_modules/combined-stream/License +0 -19
  233. package/node_modules/combined-stream/Readme.md +0 -138
  234. package/node_modules/combined-stream/lib/combined_stream.js +0 -208
  235. package/node_modules/combined-stream/package.json +0 -25
  236. package/node_modules/delayed-stream/.npmignore +0 -1
  237. package/node_modules/delayed-stream/License +0 -19
  238. package/node_modules/delayed-stream/Makefile +0 -7
  239. package/node_modules/delayed-stream/Readme.md +0 -141
  240. package/node_modules/delayed-stream/lib/delayed_stream.js +0 -107
  241. package/node_modules/delayed-stream/package.json +0 -27
  242. package/node_modules/dotenv/CHANGELOG.md +0 -475
  243. package/node_modules/dotenv/LICENSE +0 -23
  244. package/node_modules/dotenv/README-es.md +0 -448
  245. package/node_modules/dotenv/README.md +0 -728
  246. package/node_modules/dotenv/config.d.ts +0 -1
  247. package/node_modules/dotenv/config.js +0 -9
  248. package/node_modules/dotenv/lib/cli-options.js +0 -11
  249. package/node_modules/dotenv/lib/env-options.js +0 -24
  250. package/node_modules/dotenv/lib/main.d.ts +0 -153
  251. package/node_modules/dotenv/lib/main.js +0 -361
  252. package/node_modules/dotenv/package.json +0 -65
  253. package/node_modules/follow-redirects/LICENSE +0 -18
  254. package/node_modules/follow-redirects/README.md +0 -155
  255. package/node_modules/follow-redirects/debug.js +0 -15
  256. package/node_modules/follow-redirects/http.js +0 -1
  257. package/node_modules/follow-redirects/https.js +0 -1
  258. package/node_modules/follow-redirects/index.js +0 -672
  259. package/node_modules/follow-redirects/package.json +0 -58
  260. package/node_modules/form-data/License +0 -19
  261. package/node_modules/form-data/README.md.bak +0 -358
  262. package/node_modules/form-data/Readme.md +0 -358
  263. package/node_modules/form-data/index.d.ts +0 -62
  264. package/node_modules/form-data/lib/browser.js +0 -2
  265. package/node_modules/form-data/lib/form_data.js +0 -501
  266. package/node_modules/form-data/lib/populate.js +0 -10
  267. package/node_modules/form-data/package.json +0 -68
  268. package/node_modules/mime-db/HISTORY.md +0 -507
  269. package/node_modules/mime-db/LICENSE +0 -23
  270. package/node_modules/mime-db/README.md +0 -100
  271. package/node_modules/mime-db/db.json +0 -8519
  272. package/node_modules/mime-db/index.js +0 -12
  273. package/node_modules/mime-db/package.json +0 -60
  274. package/node_modules/mime-types/HISTORY.md +0 -397
  275. package/node_modules/mime-types/LICENSE +0 -23
  276. package/node_modules/mime-types/README.md +0 -113
  277. package/node_modules/mime-types/index.js +0 -188
  278. package/node_modules/mime-types/package.json +0 -44
  279. package/node_modules/proxy-from-env/.eslintrc +0 -29
  280. package/node_modules/proxy-from-env/.travis.yml +0 -10
  281. package/node_modules/proxy-from-env/LICENSE +0 -20
  282. package/node_modules/proxy-from-env/README.md +0 -131
  283. package/node_modules/proxy-from-env/index.js +0 -108
  284. package/node_modules/proxy-from-env/package.json +0 -34
  285. package/node_modules/proxy-from-env/test.js +0 -483
  286. package/src/base.fireberrySDK.ts +0 -7
  287. package/src/context/context.record.test.ts +0 -47
  288. package/src/context/context.ts +0 -28
  289. package/src/context/index.ts +0 -6
  290. package/src/context/record.ts +0 -22
  291. package/src/context/user.ts +0 -15
  292. package/src/fireberry.sdk.ts +0 -14
  293. package/src/fireberryAPI/fireberryV2Api.test.ts +0 -57
  294. package/src/fireberryAPI/fireberryV2Api.ts +0 -61
  295. package/src/fireberryAPI/index.ts +0 -2
  296. package/src/fireberryAPI/types.ts +0 -10
  297. package/src/fireberrySDK.client.ts +0 -10
  298. package/src/fireberrySDK.server.ts +0 -8
  299. package/src/index.ts +0 -9
  300. package/src/utils/axios.util.ts +0 -20
  301. package/src/utils/index.ts +0 -2
  302. package/src/utils/queryParam.util.ts +0 -8
  303. package/tsconfig.json +0 -123
  304. /package/dist/{context → cjs/context}/index.js +0 -0
@@ -1,6 +1,6 @@
1
- The MIT License (MIT)
1
+ MIT License
2
2
 
3
- Copyright (c) 2016 Alex Indigo
3
+ Copyright (c) 2025 Fireberry LTD
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
package/README.md CHANGED
@@ -1,37 +1,85 @@
1
- # Fireberry SDK
2
-
3
- ## Overview
4
-
5
- Welcome to the Fireberry SDK! This software development kit (SDK) is designed to help developers who are looking to integrate Fireberry into their application. This guide will provide you with the necessary information to get started.
6
-
7
- ## Features
8
-
9
- - Get current record: Using FireberryApi module you can fetch the current record.
10
- - [Feature 2]: Description of the second feature.
11
- - [Feature 3]: Description of the third feature.
12
- - ...
13
-
14
- ## Installation
15
-
16
- To integrate Fireberry SDK into your project, follow these simple steps:
17
-
18
- 1. URL params: The SDK uses `recordType` and `recordId` url params, make sure you don't overrides them.
19
- 2. tokenId variable: On dev mode only, pass the tokenId as a config to the FireberrySDK instance.
20
- _Pay attention: In production, the SDK will use the cookie as an authentication, and not the token_
21
- 3. node env variable: Add to your `.env` file a `NODE_ENV` param:
22
- `NODE_ENV=development`
23
-
24
- ### How to use
25
-
26
- ```
27
- const [record, setRecord] = useState(null);
28
-
29
- useEffect(() => {
30
- const fbSDK = new FireberrySDK({
31
- tokenId: "YOUR DEVELOPMENT ONLY TOKEN",
32
- });
33
- fbSDK.context.record.all().then((record) => {
34
- setRecord(record);
35
- });
36
- }, []);
37
- ```
1
+ # Fireberry SDK
2
+
3
+ A lightweight TypeScript SDK for integrating with the Fireberry platform, providing seamless communication for embedded applications. Built with modern TypeScript and designed for optimal developer experience.
4
+
5
+ ## Features
6
+
7
+ - **📝 Full CRUD Operations**: Create, Query (Read), Update, Delete operations for business objects
8
+ - **🔍 Advanced Querying**: Flexible querying with field selection, filtering, and pagination
9
+ - **⚡ TypeScript First**: Full type safety with comprehensive TypeScript definitions
10
+ - **🎯 Context Awareness**: Automatic context detection and management
11
+ - **🚀 Promise-based API**: Modern async/await support for all operations
12
+
13
+ ## Installation
14
+
15
+ ```bash
16
+ npm install @fireberry/sdk
17
+ ```
18
+
19
+ ## Quick Start
20
+
21
+ ### Basic Usage
22
+
23
+ ```typescript
24
+ import FireberryClientSDK from '@fireberry/sdk/client';
25
+
26
+ // Create a new instance
27
+ const client = new FireberryClientSDK();
28
+
29
+ // Initialize context
30
+ await client.initializeContext();
31
+
32
+ // Access the API through the api getter
33
+ const api = client.api;
34
+
35
+ // Get current context information (If not initialized first context will return null)
36
+ const context = client.context;
37
+ ```
38
+
39
+ ### CRUD Operations
40
+
41
+ ```typescript
42
+ const objectType = 1;
43
+
44
+ // Query records with advanced filtering
45
+ const results = await api.query(objectType, {
46
+ fields: 'id,name,createdOn,ownerName',
47
+ query: 'name LIKE "test%" AND ownerName = "John"',
48
+ page_size: 20,
49
+ page_number: 1,
50
+ });
51
+
52
+ // Create a new record
53
+ const newRecord = await api.create(objectType, {
54
+ name: 'New Business Record',
55
+ description: 'Detailed description of the record',
56
+ status: 'active',
57
+ });
58
+
59
+ // Update an existing record
60
+ const updatedRecord = await api.update(objectType, 'recordId123', {
61
+ name: 'Updated Record Name',
62
+ status: 'completed',
63
+ });
64
+
65
+ // Delete a record
66
+ const deleteRecord = await api.delete(objectType, 'recordId123');
67
+ ```
68
+
69
+ ## Browser Support
70
+
71
+ - Modern browsers with ES6+ support
72
+ - Iframe communication support required
73
+ - TypeScript 4.0+ for development
74
+
75
+ ## License
76
+
77
+ MIT
78
+
79
+ ## Maintainers
80
+
81
+ - **Johnny Marelly** (johnnym@fireberry.com) - Project maintenance and enhancements
82
+
83
+ ## Support
84
+
85
+ For questions, issues, or contributions, please contact the maintainers or open an issue in the project repository.
@@ -0,0 +1,13 @@
1
+ export declare const MESSAGE_TYPES: {
2
+ readonly RESPONSE: "RESPONSE";
3
+ readonly REQUEST: "REQUEST";
4
+ readonly REQUEST_CONTEXT: "REQUEST_CONTEXT";
5
+ };
6
+ export declare const REQUEST_ACTIONS: {
7
+ readonly CREATE: "CREATE";
8
+ readonly DELETE: "DELETE";
9
+ readonly UPDATE: "UPDATE";
10
+ readonly QUERY: "QUERY";
11
+ };
12
+ export declare const TIMEOUT_DURATION = 60000;
13
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/constants/index.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,aAAa;;;;CAIhB,CAAC;AAEX,eAAO,MAAM,eAAe;;;;;CAKlB,CAAC;AAEX,eAAO,MAAM,gBAAgB,QAAQ,CAAC"}
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TIMEOUT_DURATION = exports.REQUEST_ACTIONS = exports.MESSAGE_TYPES = void 0;
4
+ exports.MESSAGE_TYPES = {
5
+ RESPONSE: 'RESPONSE',
6
+ REQUEST: 'REQUEST',
7
+ REQUEST_CONTEXT: 'REQUEST_CONTEXT',
8
+ };
9
+ exports.REQUEST_ACTIONS = {
10
+ CREATE: 'CREATE',
11
+ DELETE: 'DELETE',
12
+ UPDATE: 'UPDATE',
13
+ QUERY: 'QUERY',
14
+ };
15
+ exports.TIMEOUT_DURATION = 60000;
16
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/constants/index.ts"],"names":[],"mappings":";;;AAAa,QAAA,aAAa,GAAG;IAC3B,QAAQ,EAAE,UAAU;IACpB,OAAO,EAAE,SAAS;IAClB,eAAe,EAAE,iBAAiB;CAC1B,CAAC;AAEE,QAAA,eAAe,GAAG;IAC7B,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;IAChB,KAAK,EAAE,OAAO;CACN,CAAC;AAEE,QAAA,gBAAgB,GAAG,KAAK,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { ContextDetails, RecordDetails, UserDetails } from '../types';
2
+ export declare class Context {
3
+ user: UserDetails;
4
+ record: RecordDetails;
5
+ constructor(context: ContextDetails);
6
+ }
7
+ //# sourceMappingURL=context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/context/context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAEtE,qBAAa,OAAO;IACX,IAAI,EAAE,WAAW,CAAC;IAClB,MAAM,EAAE,aAAa,CAAC;gBAEjB,OAAO,EAAE,cAAc;CAIpC"}
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Context = void 0;
4
+ class Context {
5
+ constructor(context) {
6
+ this.user = context.user;
7
+ this.record = context.record;
8
+ }
9
+ }
10
+ exports.Context = Context;
11
+ //# sourceMappingURL=context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../../src/context/context.ts"],"names":[],"mappings":";;;AAEA,MAAa,OAAO;IAIlB,YAAY,OAAuB;QACjC,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QACzB,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAC/B,CAAC;CACF;AARD,0BAQC"}
@@ -0,0 +1,2 @@
1
+ export * from './context';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/context/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/context/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4CAA0B"}
@@ -0,0 +1,18 @@
1
+ import { Context } from './context';
2
+ import { IframeMessageManager } from './iframeMessageManager';
3
+ import type { API, Response } from './types';
4
+ export declare class FireberryClientSDK<TData extends Response> extends IframeMessageManager<TData> {
5
+ private _context;
6
+ constructor();
7
+ get api(): API<TData>;
8
+ get context(): Context | null;
9
+ initializeContext<T extends TData>(this: FireberryClientSDK<T>): Promise<FireberryClientSDK<T>>;
10
+ private setContext;
11
+ private query;
12
+ private create;
13
+ private delete;
14
+ private update;
15
+ }
16
+ export type { BusinessObject, Data, Payload, QueryPayload, ResponseData, ResponseError, } from './types';
17
+ export default FireberryClientSDK;
18
+ //# sourceMappingURL=fireberrySDK.client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fireberrySDK.client.d.ts","sourceRoot":"","sources":["../../src/fireberrySDK.client.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,KAAK,EACV,GAAG,EAIH,QAAQ,EAIT,MAAM,SAAS,CAAC;AAEjB,qBAAa,kBAAkB,CAAC,KAAK,SAAS,QAAQ,CAAE,SAAQ,oBAAoB,CAAC,KAAK,CAAC;IACzF,OAAO,CAAC,QAAQ,CAAwB;;IAKxC,IAAI,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAOpB;IAED,IAAI,OAAO,IAAI,OAAO,GAAG,IAAI,CAE5B;IAIK,iBAAiB,CAAC,CAAC,SAAS,KAAK,EACrC,IAAI,EAAE,kBAAkB,CAAC,CAAC,CAAC,GAC1B,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;IAgCjC,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,KAAK;IASb,OAAO,CAAC,MAAM;IAYd,OAAO,CAAC,MAAM;IASd,OAAO,CAAC,MAAM;CAaf;AAED,YAAY,EACV,cAAc,EACd,IAAI,EACJ,OAAO,EACP,YAAY,EACZ,YAAY,EACZ,aAAa,GACd,MAAM,SAAS,CAAC;AAEjB,eAAe,kBAAkB,CAAC"}
@@ -0,0 +1,66 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FireberryClientSDK = void 0;
4
+ const constants_1 = require("./constants");
5
+ const context_1 = require("./context");
6
+ const iframeMessageManager_1 = require("./iframeMessageManager");
7
+ class FireberryClientSDK extends iframeMessageManager_1.IframeMessageManager {
8
+ constructor() {
9
+ super();
10
+ this._context = null;
11
+ }
12
+ get api() {
13
+ return {
14
+ query: this.query.bind(this),
15
+ create: this.create.bind(this),
16
+ delete: this.delete.bind(this),
17
+ update: this.update.bind(this),
18
+ };
19
+ }
20
+ get context() {
21
+ return this._context;
22
+ }
23
+ async initializeContext() {
24
+ var _a, _b, _c;
25
+ if (this.context) {
26
+ return this;
27
+ }
28
+ const response = await this.sendMessageWithPromise({
29
+ type: constants_1.MESSAGE_TYPES.REQUEST_CONTEXT,
30
+ });
31
+ const { status, data, statusText } = (_a = response === null || response === void 0 ? void 0 : response.error) !== null && _a !== void 0 ? _a : {};
32
+ if (status && status !== 200) {
33
+ throw new Error((_b = data === null || data === void 0 ? void 0 : data.Message) !== null && _b !== void 0 ? _b : statusText);
34
+ }
35
+ const { recordId, objectType, userInfo } = (_c = response.data) !== null && _c !== void 0 ? _c : {};
36
+ this.setContext(new context_1.Context({
37
+ record: { id: recordId, type: objectType },
38
+ user: { fullName: userInfo.fullName, id: userInfo.id },
39
+ }));
40
+ return this;
41
+ }
42
+ setContext(context) {
43
+ this._context = context;
44
+ }
45
+ query(objectType, payload) {
46
+ return this.sendMessageWithPromise(Object.assign({ type: constants_1.MESSAGE_TYPES.REQUEST, action: constants_1.REQUEST_ACTIONS.QUERY, objecttype: objectType }, payload));
47
+ }
48
+ create(objectType, payload) {
49
+ return this.sendMessageWithPromise(Object.assign({ type: constants_1.MESSAGE_TYPES.REQUEST, action: constants_1.REQUEST_ACTIONS.CREATE, objectType }, payload));
50
+ }
51
+ delete(objectType, recordId) {
52
+ return this.sendMessageWithPromise({
53
+ type: constants_1.MESSAGE_TYPES.REQUEST,
54
+ action: constants_1.REQUEST_ACTIONS.DELETE,
55
+ objectType,
56
+ recordId,
57
+ });
58
+ }
59
+ update(objectType, recordId, payload) {
60
+ return this.sendMessageWithPromise(Object.assign({ type: constants_1.MESSAGE_TYPES.REQUEST, action: constants_1.REQUEST_ACTIONS.UPDATE, objectType,
61
+ recordId }, payload));
62
+ }
63
+ }
64
+ exports.FireberryClientSDK = FireberryClientSDK;
65
+ exports.default = FireberryClientSDK;
66
+ //# sourceMappingURL=fireberrySDK.client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fireberrySDK.client.js","sourceRoot":"","sources":["../../src/fireberrySDK.client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import { MessagePayload, Response, ResponseData } from './types';
2
+ export declare class IframeMessageManager<TData extends Response> {
3
+ private requestIdCounter;
4
+ private pendingRequests;
5
+ constructor();
6
+ private listen;
7
+ private sendMessage;
8
+ protected sendMessageWithPromise(payload: MessagePayload): Promise<ResponseData<TData>>;
9
+ private handleMessage;
10
+ destroy(): void;
11
+ }
12
+ //# sourceMappingURL=iframeMessageManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"iframeMessageManager.d.ts","sourceRoot":"","sources":["../../src/iframeMessageManager.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEjE,qBAAa,oBAAoB,CAAC,KAAK,SAAS,QAAQ;IACtD,OAAO,CAAC,gBAAgB,CAAa;IACrC,OAAO,CAAC,eAAe,CAOT;;IAMd,OAAO,CAAC,MAAM;IAOd,OAAO,CAAC,WAAW;IAMnB,SAAS,CAAC,sBAAsB,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IAsBvF,OAAO,CAAC,aAAa;IAiCd,OAAO,IAAI,IAAI;CASvB"}
@@ -0,0 +1,68 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.IframeMessageManager = void 0;
4
+ const constants_1 = require("./constants");
5
+ class IframeMessageManager {
6
+ constructor() {
7
+ this.requestIdCounter = 0;
8
+ this.pendingRequests = new Map();
9
+ this.listen();
10
+ }
11
+ listen() {
12
+ this.handleMessage = this.handleMessage.bind(this);
13
+ window.addEventListener('message', this.handleMessage);
14
+ return this;
15
+ }
16
+ sendMessage(payload) {
17
+ if (window.parent && window.parent !== window) {
18
+ window.parent.postMessage(payload, '*');
19
+ }
20
+ }
21
+ sendMessageWithPromise(payload) {
22
+ const requestId = `req_${++this.requestIdCounter}_${Date.now()}`;
23
+ return new Promise((resolve, reject) => {
24
+ this.pendingRequests.set(requestId, { resolve, reject });
25
+ const payloadWithId = Object.assign(Object.assign({}, payload), { requestId });
26
+ this.sendMessage(payloadWithId);
27
+ setTimeout(() => {
28
+ if (this.pendingRequests.has(requestId)) {
29
+ this.pendingRequests.delete(requestId);
30
+ reject(new Error('Request timeout: No response received'));
31
+ }
32
+ }, constants_1.TIMEOUT_DURATION);
33
+ });
34
+ }
35
+ handleMessage(event) {
36
+ const { data: payload } = event;
37
+ if (!payload || typeof payload !== 'object' || !payload.type) {
38
+ return;
39
+ }
40
+ const { type, requestId } = payload;
41
+ const handlePendingRequest = (requestId, callback) => {
42
+ if (requestId && this.pendingRequests.has(requestId)) {
43
+ const { resolve } = this.pendingRequests.get(requestId);
44
+ this.pendingRequests.delete(requestId);
45
+ resolve(payload);
46
+ }
47
+ if (callback) {
48
+ callback(payload);
49
+ }
50
+ };
51
+ switch (type) {
52
+ case constants_1.MESSAGE_TYPES.RESPONSE:
53
+ handlePendingRequest(requestId);
54
+ break;
55
+ default:
56
+ throw new Error(`Unknown response type: ${type}`);
57
+ }
58
+ }
59
+ destroy() {
60
+ window.removeEventListener('message', this.handleMessage);
61
+ this.pendingRequests.forEach(({ reject }) => {
62
+ reject(new Error('SDK destroyed'));
63
+ });
64
+ this.pendingRequests.clear();
65
+ }
66
+ }
67
+ exports.IframeMessageManager = IframeMessageManager;
68
+ //# sourceMappingURL=iframeMessageManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"iframeMessageManager.js","sourceRoot":"","sources":["../../src/iframeMessageManager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,67 @@
1
+ import { MESSAGE_TYPES, REQUEST_ACTIONS } from '../constants';
2
+ import { Context } from '../context';
3
+ export type Response = Partial<BusinessObject> & Partial<Context>;
4
+ export type Data = Partial<BusinessObject> & {
5
+ requestId?: string;
6
+ };
7
+ export type MessageType = (typeof MESSAGE_TYPES)[keyof typeof MESSAGE_TYPES];
8
+ export type RequestAction = (typeof REQUEST_ACTIONS)[keyof typeof REQUEST_ACTIONS];
9
+ export type MessagePayload = Record<string, unknown> & {
10
+ type: MessageType;
11
+ } & Partial<RequestPayload>;
12
+ export type Payload = Record<string, unknown>;
13
+ export type ResponseError = {
14
+ data: Record<string, any> & {
15
+ Message?: string;
16
+ };
17
+ status: number;
18
+ statusText: string;
19
+ };
20
+ export type RecordDetails = Partial<{
21
+ type: number;
22
+ id: string;
23
+ }>;
24
+ export type UserDetails = Partial<{
25
+ fullName: string;
26
+ id: string;
27
+ }>;
28
+ export type ContextDetails = {
29
+ record: RecordDetails;
30
+ user: UserDetails;
31
+ };
32
+ export type RequestPayload = {
33
+ action: RequestAction;
34
+ objectType?: string | number;
35
+ recordId?: string;
36
+ };
37
+ export type BusinessObject = {
38
+ createdBy: string;
39
+ createdByName: string;
40
+ createdOn: Date;
41
+ ownerId: string;
42
+ ownerName: string;
43
+ modifiedBy: string;
44
+ modifiedByName: string;
45
+ modifiedOn: Date;
46
+ };
47
+ export type ResponseData<T extends Response> = {
48
+ type?: MessageType;
49
+ success: boolean;
50
+ data: T & Data;
51
+ error?: ResponseError;
52
+ isParentReady: boolean;
53
+ requestId: string;
54
+ };
55
+ export type QueryPayload = {
56
+ fields: string;
57
+ query: string;
58
+ page_size?: number;
59
+ page_number?: number;
60
+ };
61
+ export interface API<TData extends Response> {
62
+ query: (objectType: string | number, payload: QueryPayload) => Promise<ResponseData<TData>>;
63
+ create: <T extends Payload>(objectType: string | number, payload: T) => Promise<ResponseData<TData>>;
64
+ delete: (objectType: string | number, recordId: string) => Promise<ResponseData<TData>>;
65
+ update: <T extends Payload>(objectType: string | number, recordId: string, payload: T) => Promise<ResponseData<TData>>;
66
+ }
67
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":""}
@@ -0,0 +1,13 @@
1
+ export declare const MESSAGE_TYPES: {
2
+ readonly RESPONSE: "RESPONSE";
3
+ readonly REQUEST: "REQUEST";
4
+ readonly REQUEST_CONTEXT: "REQUEST_CONTEXT";
5
+ };
6
+ export declare const REQUEST_ACTIONS: {
7
+ readonly CREATE: "CREATE";
8
+ readonly DELETE: "DELETE";
9
+ readonly UPDATE: "UPDATE";
10
+ readonly QUERY: "QUERY";
11
+ };
12
+ export declare const TIMEOUT_DURATION = 60000;
13
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/constants/index.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,aAAa;;;;CAIhB,CAAC;AAEX,eAAO,MAAM,eAAe;;;;;CAKlB,CAAC;AAEX,eAAO,MAAM,gBAAgB,QAAQ,CAAC"}
@@ -0,0 +1,13 @@
1
+ export const MESSAGE_TYPES = {
2
+ RESPONSE: 'RESPONSE',
3
+ REQUEST: 'REQUEST',
4
+ REQUEST_CONTEXT: 'REQUEST_CONTEXT',
5
+ };
6
+ export const REQUEST_ACTIONS = {
7
+ CREATE: 'CREATE',
8
+ DELETE: 'DELETE',
9
+ UPDATE: 'UPDATE',
10
+ QUERY: 'QUERY',
11
+ };
12
+ export const TIMEOUT_DURATION = 60000;
13
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/constants/index.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,QAAQ,EAAE,UAAU;IACpB,OAAO,EAAE,SAAS;IAClB,eAAe,EAAE,iBAAiB;CAC1B,CAAC;AAEX,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;IAChB,KAAK,EAAE,OAAO;CACN,CAAC;AAEX,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { ContextDetails, RecordDetails, UserDetails } from '../types';
2
+ export declare class Context {
3
+ user: UserDetails;
4
+ record: RecordDetails;
5
+ constructor(context: ContextDetails);
6
+ }
7
+ //# sourceMappingURL=context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/context/context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAEtE,qBAAa,OAAO;IACX,IAAI,EAAE,WAAW,CAAC;IAClB,MAAM,EAAE,aAAa,CAAC;gBAEjB,OAAO,EAAE,cAAc;CAIpC"}
@@ -0,0 +1,7 @@
1
+ export class Context {
2
+ constructor(context) {
3
+ this.user = context.user;
4
+ this.record = context.record;
5
+ }
6
+ }
7
+ //# sourceMappingURL=context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../../src/context/context.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,OAAO;IAIlB,YAAY,OAAuB;QACjC,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QACzB,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAC/B,CAAC;CACF"}
@@ -0,0 +1,2 @@
1
+ export * from './context';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/context/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from './context';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/context/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC"}
@@ -0,0 +1,18 @@
1
+ import { Context } from './context';
2
+ import { IframeMessageManager } from './iframeMessageManager';
3
+ import type { API, Response } from './types';
4
+ export declare class FireberryClientSDK<TData extends Response> extends IframeMessageManager<TData> {
5
+ private _context;
6
+ constructor();
7
+ get api(): API<TData>;
8
+ get context(): Context | null;
9
+ initializeContext<T extends TData>(this: FireberryClientSDK<T>): Promise<FireberryClientSDK<T>>;
10
+ private setContext;
11
+ private query;
12
+ private create;
13
+ private delete;
14
+ private update;
15
+ }
16
+ export type { BusinessObject, Data, Payload, QueryPayload, ResponseData, ResponseError, } from './types';
17
+ export default FireberryClientSDK;
18
+ //# sourceMappingURL=fireberrySDK.client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fireberrySDK.client.d.ts","sourceRoot":"","sources":["../../src/fireberrySDK.client.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,KAAK,EACV,GAAG,EAIH,QAAQ,EAIT,MAAM,SAAS,CAAC;AAEjB,qBAAa,kBAAkB,CAAC,KAAK,SAAS,QAAQ,CAAE,SAAQ,oBAAoB,CAAC,KAAK,CAAC;IACzF,OAAO,CAAC,QAAQ,CAAwB;;IAKxC,IAAI,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAOpB;IAED,IAAI,OAAO,IAAI,OAAO,GAAG,IAAI,CAE5B;IAIK,iBAAiB,CAAC,CAAC,SAAS,KAAK,EACrC,IAAI,EAAE,kBAAkB,CAAC,CAAC,CAAC,GAC1B,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;IAgCjC,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,KAAK;IASb,OAAO,CAAC,MAAM;IAYd,OAAO,CAAC,MAAM;IASd,OAAO,CAAC,MAAM;CAaf;AAED,YAAY,EACV,cAAc,EACd,IAAI,EACJ,OAAO,EACP,YAAY,EACZ,YAAY,EACZ,aAAa,GACd,MAAM,SAAS,CAAC;AAEjB,eAAe,kBAAkB,CAAC"}