@knocklabs/client 0.8.18 → 0.8.19

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 (121) hide show
  1. package/dist/api.d.ts +25 -0
  2. package/dist/api.d.ts.map +1 -0
  3. package/dist/api.js +84 -0
  4. package/dist/cjs/api.js +2 -133
  5. package/dist/cjs/api.js.map +1 -1
  6. package/dist/cjs/clients/feed/feed.js +2 -939
  7. package/dist/cjs/clients/feed/feed.js.map +1 -1
  8. package/dist/cjs/clients/feed/index.js +2 -34
  9. package/dist/cjs/clients/feed/index.js.map +1 -1
  10. package/dist/cjs/clients/feed/store.js +2 -111
  11. package/dist/cjs/clients/feed/store.js.map +1 -1
  12. package/dist/cjs/clients/feed/utils.js +2 -26
  13. package/dist/cjs/clients/feed/utils.js.map +1 -1
  14. package/dist/cjs/clients/preferences/index.js +2 -373
  15. package/dist/cjs/clients/preferences/index.js.map +1 -1
  16. package/dist/cjs/clients/users/index.js +2 -185
  17. package/dist/cjs/clients/users/index.js.map +1 -1
  18. package/dist/cjs/index.js +2 -102
  19. package/dist/cjs/index.js.map +1 -1
  20. package/dist/cjs/knock.js +6 -89
  21. package/dist/cjs/knock.js.map +1 -1
  22. package/dist/cjs/networkStatus.js +2 -18
  23. package/dist/cjs/networkStatus.js.map +1 -1
  24. package/dist/clients/feed/feed.d.ts +64 -0
  25. package/dist/clients/feed/feed.d.ts.map +1 -0
  26. package/dist/clients/feed/feed.js +572 -0
  27. package/dist/clients/feed/index.d.ts +15 -0
  28. package/dist/clients/feed/index.d.ts.map +1 -0
  29. package/dist/clients/feed/index.js +34 -0
  30. package/dist/clients/feed/interfaces.d.ts +60 -0
  31. package/dist/clients/feed/interfaces.d.ts.map +1 -0
  32. package/dist/clients/feed/interfaces.js +2 -0
  33. package/dist/clients/feed/store.d.ts +3 -0
  34. package/dist/clients/feed/store.d.ts.map +1 -0
  35. package/dist/clients/feed/store.js +72 -0
  36. package/dist/clients/feed/types.d.ts +34 -0
  37. package/dist/clients/feed/types.d.ts.map +1 -0
  38. package/dist/clients/feed/types.js +2 -0
  39. package/dist/clients/feed/utils.d.ts +4 -0
  40. package/dist/clients/feed/utils.d.ts.map +1 -0
  41. package/dist/clients/feed/utils.js +21 -0
  42. package/dist/clients/preferences/index.d.ts +46 -0
  43. package/dist/clients/preferences/index.d.ts.map +1 -0
  44. package/dist/clients/preferences/index.js +129 -0
  45. package/dist/clients/preferences/interfaces.d.ts +26 -0
  46. package/dist/clients/preferences/interfaces.d.ts.map +1 -0
  47. package/dist/clients/preferences/interfaces.js +2 -0
  48. package/dist/clients/users/index.d.ts +16 -0
  49. package/dist/clients/users/index.d.ts.map +1 -0
  50. package/dist/clients/users/index.js +56 -0
  51. package/dist/clients/users/interfaces.d.ts +8 -0
  52. package/dist/clients/users/interfaces.d.ts.map +1 -0
  53. package/dist/clients/users/interfaces.js +2 -0
  54. package/dist/esm/api.js +44 -84
  55. package/dist/esm/api.js.map +1 -1
  56. package/dist/esm/clients/feed/feed.js +296 -603
  57. package/dist/esm/clients/feed/feed.js.map +1 -1
  58. package/dist/esm/clients/feed/index.js +28 -12
  59. package/dist/esm/clients/feed/index.js.map +1 -1
  60. package/dist/esm/clients/feed/store.js +37 -71
  61. package/dist/esm/clients/feed/store.js.map +1 -1
  62. package/dist/esm/clients/feed/utils.js +10 -15
  63. package/dist/esm/clients/feed/utils.js.map +1 -1
  64. package/dist/esm/clients/preferences/index.js +79 -146
  65. package/dist/esm/clients/preferences/index.js.map +1 -1
  66. package/dist/esm/clients/users/index.js +52 -76
  67. package/dist/esm/clients/users/index.js.map +1 -1
  68. package/dist/esm/index.js +12 -11
  69. package/dist/esm/index.js.map +1 -1
  70. package/dist/esm/knock.js +72 -51
  71. package/dist/esm/knock.js.map +1 -1
  72. package/dist/esm/networkStatus.js +14 -10
  73. package/dist/esm/networkStatus.js.map +1 -1
  74. package/dist/index.d.ts +11 -0
  75. package/dist/index.d.ts.map +1 -0
  76. package/dist/index.js +43 -0
  77. package/dist/interfaces.d.ts +41 -0
  78. package/dist/interfaces.d.ts.map +1 -0
  79. package/dist/interfaces.js +2 -0
  80. package/dist/knock.d.ts +30 -0
  81. package/dist/knock.d.ts.map +1 -0
  82. package/dist/knock.js +135 -0
  83. package/dist/networkStatus.d.ts +8 -0
  84. package/dist/networkStatus.d.ts.map +1 -0
  85. package/dist/networkStatus.js +18 -0
  86. package/dist/types/api.d.ts +0 -2
  87. package/dist/types/api.d.ts.map +1 -1
  88. package/dist/types/clients/feed/feed.d.ts +12 -4
  89. package/dist/types/clients/feed/feed.d.ts.map +1 -1
  90. package/dist/types/clients/feed/index.d.ts +4 -0
  91. package/dist/types/clients/feed/index.d.ts.map +1 -1
  92. package/dist/types/clients/feed/store.d.ts.map +1 -1
  93. package/dist/types/clients/feed/types.d.ts +0 -1
  94. package/dist/types/clients/feed/types.d.ts.map +1 -1
  95. package/dist/types/index.d.ts +1 -1
  96. package/dist/types/index.d.ts.map +1 -1
  97. package/dist/types/interfaces.d.ts +7 -0
  98. package/dist/types/interfaces.d.ts.map +1 -1
  99. package/dist/types/knock.d.ts +12 -4
  100. package/dist/types/knock.d.ts.map +1 -1
  101. package/package.json +12 -8
  102. package/dist/cjs/clients/feed/interfaces.js +0 -6
  103. package/dist/cjs/clients/feed/interfaces.js.map +0 -1
  104. package/dist/cjs/clients/feed/types.js +0 -6
  105. package/dist/cjs/clients/feed/types.js.map +0 -1
  106. package/dist/cjs/clients/preferences/interfaces.js +0 -6
  107. package/dist/cjs/clients/preferences/interfaces.js.map +0 -1
  108. package/dist/cjs/clients/users/interfaces.js +0 -6
  109. package/dist/cjs/clients/users/interfaces.js.map +0 -1
  110. package/dist/cjs/interfaces.js +0 -6
  111. package/dist/cjs/interfaces.js.map +0 -1
  112. package/dist/esm/clients/feed/interfaces.js +0 -2
  113. package/dist/esm/clients/feed/interfaces.js.map +0 -1
  114. package/dist/esm/clients/feed/types.js +0 -2
  115. package/dist/esm/clients/feed/types.js.map +0 -1
  116. package/dist/esm/clients/preferences/interfaces.js +0 -2
  117. package/dist/esm/clients/preferences/interfaces.js.map +0 -1
  118. package/dist/esm/clients/users/interfaces.js +0 -2
  119. package/dist/esm/clients/users/interfaces.js.map +0 -1
  120. package/dist/esm/interfaces.js +0 -2
  121. package/dist/esm/interfaces.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"api.js","names":["axios","axiosRetry","Socket","ApiClient","constructor","options","_defineProperty","host","apiKey","userToken","axiosClient","create","baseURL","headers","Accept","Authorization","concat","window","socket","replace","params","user_token","api_key","retries","retryCondition","canRetryRequest","retryDelay","exponentialDelay","makeRequest","req","_this","_asyncToGenerator","result","statusCode","status","body","data","error","undefined","e","console","reconnectSocket","isConnected","connect","disconnectSocket","disconnect","isNetworkError","response"],"sources":["../../src/api.ts"],"sourcesContent":["import axios, { AxiosInstance, AxiosRequestConfig } from \"axios\";\nimport axiosRetry from \"axios-retry\";\nimport { Socket } from \"phoenix\";\nimport { AxiosError } from \"axios\";\n\ntype ApiClientOptions = {\n host: string;\n apiKey: string;\n userToken: string | undefined;\n};\n\nexport interface ApiResponse {\n // eslint-disable-next-line\n error?: any;\n // eslint-disable-next-line\n body?: any;\n statusCode: \"ok\" | \"error\";\n status: number;\n}\n\nclass ApiClient {\n private host: string;\n private apiKey: string;\n private userToken: string | null;\n private axiosClient: AxiosInstance;\n\n public socket: Socket | undefined;\n\n constructor(options: ApiClientOptions) {\n this.host = options.host;\n this.apiKey = options.apiKey;\n this.userToken = options.userToken || null;\n\n // Create a retryable axios client\n this.axiosClient = axios.create({\n baseURL: this.host,\n headers: {\n Accept: \"application/json\",\n \"Content-Type\": \"application/json\",\n Authorization: `Bearer ${this.apiKey}`,\n \"X-Knock-User-Token\": this.userToken,\n },\n });\n\n if (typeof window !== \"undefined\") {\n this.socket = new Socket(`${this.host.replace(\"http\", \"ws\")}/ws/v1`, {\n params: {\n user_token: this.userToken,\n api_key: this.apiKey,\n },\n });\n }\n\n axiosRetry(this.axiosClient, {\n retries: 3,\n retryCondition: this.canRetryRequest,\n retryDelay: axiosRetry.exponentialDelay,\n });\n }\n\n async makeRequest(req: AxiosRequestConfig): Promise<ApiResponse> {\n try {\n const result = await this.axiosClient(req);\n\n return {\n statusCode: result.status < 300 ? \"ok\" : \"error\",\n body: result.data,\n error: undefined,\n status: result.status,\n };\n\n // eslint:disable-next-line\n } catch (e: unknown) {\n console.error(e);\n\n return {\n statusCode: \"error\",\n status: 500,\n body: undefined,\n error: e,\n };\n }\n }\n\n reconnectSocket() {\n if (this.socket && !this.socket.isConnected()) {\n this.socket.connect();\n }\n }\n\n disconnectSocket() {\n if (this.socket) {\n this.socket.disconnect();\n }\n }\n\n private canRetryRequest(error: AxiosError) {\n // Retry Network Errors.\n if (axiosRetry.isNetworkError(error)) {\n return true;\n }\n\n if (!error.response) {\n // Cannot determine if the request can be retried\n return false;\n }\n\n // Retry Server Errors (5xx).\n if (error.response.status >= 500 && error.response.status <= 599) {\n return true;\n }\n\n // Retry if rate limited.\n if (error.response.status === 429) {\n return true;\n }\n\n return false;\n }\n}\n\nexport default ApiClient;\n"],"mappings":"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"}
1
+ {"version":3,"file":"api.js","sources":["../../src/api.ts"],"sourcesContent":["import axios, { AxiosError, AxiosInstance, AxiosRequestConfig } from \"axios\";\nimport axiosRetry from \"axios-retry\";\nimport { Socket } from \"phoenix\";\n\ntype ApiClientOptions = {\n host: string;\n apiKey: string;\n userToken: string | undefined;\n};\n\nexport interface ApiResponse {\n // eslint-disable-next-line\n error?: any;\n // eslint-disable-next-line\n body?: any;\n statusCode: \"ok\" | \"error\";\n status: number;\n}\n\nclass ApiClient {\n private host: string;\n private apiKey: string;\n private userToken: string | null;\n private axiosClient: AxiosInstance;\n\n public socket: Socket | undefined;\n\n constructor(options: ApiClientOptions) {\n this.host = options.host;\n this.apiKey = options.apiKey;\n this.userToken = options.userToken || null;\n\n // Create a retryable axios client\n this.axiosClient = axios.create({\n baseURL: this.host,\n headers: {\n Accept: \"application/json\",\n \"Content-Type\": \"application/json\",\n Authorization: `Bearer ${this.apiKey}`,\n \"X-Knock-User-Token\": this.userToken,\n },\n });\n\n if (typeof window !== \"undefined\") {\n this.socket = new Socket(`${this.host.replace(\"http\", \"ws\")}/ws/v1`, {\n params: {\n user_token: this.userToken,\n api_key: this.apiKey,\n },\n });\n }\n\n axiosRetry(this.axiosClient, {\n retries: 3,\n retryCondition: this.canRetryRequest,\n retryDelay: axiosRetry.exponentialDelay,\n });\n }\n\n async makeRequest(req: AxiosRequestConfig): Promise<ApiResponse> {\n try {\n const result = await this.axiosClient(req);\n\n return {\n statusCode: result.status < 300 ? \"ok\" : \"error\",\n body: result.data,\n error: undefined,\n status: result.status,\n };\n\n // eslint:disable-next-line\n } catch (e: unknown) {\n console.error(e);\n\n return {\n statusCode: \"error\",\n status: 500,\n body: undefined,\n error: e,\n };\n }\n }\n\n private canRetryRequest(error: AxiosError) {\n // Retry Network Errors.\n if (axiosRetry.isNetworkError(error)) {\n return true;\n }\n\n if (!error.response) {\n // Cannot determine if the request can be retried\n return false;\n }\n\n // Retry Server Errors (5xx).\n if (error.response.status >= 500 && error.response.status <= 599) {\n return true;\n }\n\n // Retry if rate limited.\n if (error.response.status === 429) {\n return true;\n }\n\n return false;\n }\n}\n\nexport default ApiClient;\n"],"names":["ApiClient","options","__publicField","axios","Socket","axiosRetry","req","result","e","error"],"mappings":";;;;;;AAmBA,MAAMA,EAAU;AAAA,EAQd,YAAYC,GAA2B;AAP/B,IAAAC,EAAA;AACA,IAAAA,EAAA;AACA,IAAAA,EAAA;AACA,IAAAA,EAAA;AAED,IAAAA,EAAA;AAGL,SAAK,OAAOD,EAAQ,MACpB,KAAK,SAASA,EAAQ,QACjB,KAAA,YAAYA,EAAQ,aAAa,MAGjC,KAAA,cAAcE,EAAM,OAAO;AAAA,MAC9B,SAAS,KAAK;AAAA,MACd,SAAS;AAAA,QACP,QAAQ;AAAA,QACR,gBAAgB;AAAA,QAChB,eAAe,UAAU,KAAK,MAAM;AAAA,QACpC,sBAAsB,KAAK;AAAA,MAC7B;AAAA,IAAA,CACD,GAEG,OAAO,SAAW,QACf,KAAA,SAAS,IAAIC,EAAO,GAAG,KAAK,KAAK,QAAQ,QAAQ,IAAI,CAAC,UAAU;AAAA,MACnE,QAAQ;AAAA,QACN,YAAY,KAAK;AAAA,QACjB,SAAS,KAAK;AAAA,MAChB;AAAA,IAAA,CACD,IAGHC,EAAW,KAAK,aAAa;AAAA,MAC3B,SAAS;AAAA,MACT,gBAAgB,KAAK;AAAA,MACrB,YAAYA,EAAW;AAAA,IAAA,CACxB;AAAA,EACH;AAAA,EAEA,MAAM,YAAYC,GAA+C;AAC3D,QAAA;AACF,YAAMC,IAAS,MAAM,KAAK,YAAYD,CAAG;AAElC,aAAA;AAAA,QACL,YAAYC,EAAO,SAAS,MAAM,OAAO;AAAA,QACzC,MAAMA,EAAO;AAAA,QACb,OAAO;AAAA,QACP,QAAQA,EAAO;AAAA,MAAA;AAAA,aAIVC,GAAY;AACnB,qBAAQ,MAAMA,CAAC,GAER;AAAA,QACL,YAAY;AAAA,QACZ,QAAQ;AAAA,QACR,MAAM;AAAA,QACN,OAAOA;AAAA,MAAA;AAAA,IAEX;AAAA,EACF;AAAA,EAEQ,gBAAgBC,GAAmB;AAErC,WAAAJ,EAAW,eAAeI,CAAK,IAC1B,KAGJA,EAAM,WAMPA,EAAM,SAAS,UAAU,OAAOA,EAAM,SAAS,UAAU,OAKzDA,EAAM,SAAS,WAAW,MATrB;AAAA,EAcX;AACF;"}