moss-partner-sdk 0.1.0 → 0.2.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 (45) hide show
  1. package/dist/__tests__/setup.d.ts +2 -13
  2. package/dist/__tests__/setup.d.ts.map +1 -1
  3. package/dist/__tests__/setup.js +3 -16
  4. package/dist/__tests__/setup.js.map +1 -1
  5. package/dist/analytics.d.ts +4 -15
  6. package/dist/analytics.d.ts.map +1 -1
  7. package/dist/analytics.js +1 -38
  8. package/dist/analytics.js.map +1 -1
  9. package/dist/billing.d.ts +13 -0
  10. package/dist/billing.d.ts.map +1 -0
  11. package/dist/billing.js +18 -0
  12. package/dist/billing.js.map +1 -0
  13. package/dist/client.d.ts +5 -3
  14. package/dist/client.d.ts.map +1 -1
  15. package/dist/client.js +6 -14
  16. package/dist/client.js.map +1 -1
  17. package/dist/customers.d.ts +12 -11
  18. package/dist/customers.d.ts.map +1 -1
  19. package/dist/customers.js +116 -101
  20. package/dist/customers.js.map +1 -1
  21. package/dist/http.d.ts +3 -4
  22. package/dist/http.d.ts.map +1 -1
  23. package/dist/http.js +76 -91
  24. package/dist/http.js.map +1 -1
  25. package/dist/index.d.ts +10 -3
  26. package/dist/index.d.ts.map +1 -1
  27. package/dist/index.js +9 -3
  28. package/dist/index.js.map +1 -1
  29. package/dist/types.d.ts +343 -131
  30. package/dist/types.d.ts.map +1 -1
  31. package/dist/types.js +8 -1
  32. package/dist/types.js.map +1 -1
  33. package/dist/usage.d.ts +19 -0
  34. package/dist/usage.d.ts.map +1 -0
  35. package/dist/usage.js +26 -0
  36. package/dist/usage.js.map +1 -0
  37. package/dist/webhooks.d.ts +6 -6
  38. package/dist/webhooks.d.ts.map +1 -1
  39. package/dist/webhooks.js +28 -14
  40. package/dist/webhooks.js.map +1 -1
  41. package/package.json +2 -2
  42. package/dist/utils/case.d.ts +0 -5
  43. package/dist/utils/case.d.ts.map +0 -1
  44. package/dist/utils/case.js +0 -47
  45. package/dist/utils/case.js.map +0 -1
@@ -1,16 +1,16 @@
1
1
  import { HTTPClient } from './http';
2
- import { Webhook, CreateWebhookRequest, WebhookEvent } from './types';
2
+ import { Webhook, CreateWebhookRequest, WebhookListResponse, WebhookDeliveriesResponse } from './types';
3
3
  export declare class WebhooksResource {
4
4
  private http;
5
5
  constructor(http: HTTPClient);
6
6
  create(request: CreateWebhookRequest): Promise<Webhook>;
7
- list(): Promise<Webhook[]>;
7
+ list(): Promise<WebhookListResponse>;
8
8
  get(webhookId: string): Promise<Webhook>;
9
- update(webhookId: string, request: Partial<CreateWebhookRequest>): Promise<Webhook>;
10
- delete(webhookId: string): Promise<void>;
11
- verify(payload: string | Buffer, signature: string, timestamp: string, secret: string, toleranceSeconds?: number): boolean;
9
+ verify(webhookId: string): Promise<Webhook>;
10
+ deliveries(webhookId: string, cursor?: string, limit?: number): Promise<WebhookDeliveriesResponse>;
11
+ delete(webhookId: string): Promise<Webhook>;
12
+ verifySignature(payload: string | Buffer, signature: string, timestamp: string, secret: string, toleranceSeconds?: number): boolean;
12
13
  private computeSignature;
13
14
  private secureCompare;
14
- on<T = any>(_eventType: string, _handler: (event: WebhookEvent<T>) => void | Promise<void>): void;
15
15
  }
16
16
  //# sourceMappingURL=webhooks.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"webhooks.d.ts","sourceRoot":"","sources":["../src/webhooks.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AACpC,OAAO,EACL,OAAO,EACP,oBAAoB,EACpB,YAAY,EACb,MAAM,SAAS,CAAC;AAEjB,qBAAa,gBAAgB;IACf,OAAO,CAAC,IAAI;gBAAJ,IAAI,EAAE,UAAU;IAiB9B,MAAM,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,OAAO,CAAC;IAuBvD,IAAI,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IAe1B,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAwBxC,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,oBAAoB,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IAenF,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAsC9C,MAAM,CACJ,OAAO,EAAE,MAAM,GAAG,MAAM,EACxB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,gBAAgB,GAAE,MAAY,GAC7B,OAAO;IAiCV,OAAO,CAAC,gBAAgB;IAaxB,OAAO,CAAC,aAAa;IA4BrB,EAAE,CAAC,CAAC,GAAG,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;CASlG"}
1
+ {"version":3,"file":"webhooks.d.ts","sourceRoot":"","sources":["../src/webhooks.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AACpC,OAAO,EACL,OAAO,EACP,oBAAoB,EACpB,mBAAmB,EACnB,yBAAyB,EAC1B,MAAM,SAAS,CAAC;AAEjB,qBAAa,gBAAgB;IACf,OAAO,CAAC,IAAI;gBAAJ,IAAI,EAAE,UAAU;IAU9B,MAAM,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,OAAO,CAAC;IAgBvD,IAAI,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAepC,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAaxC,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAa3C,UAAU,CACd,SAAS,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,MAAM,EACf,KAAK,GAAE,MAAW,GACjB,OAAO,CAAC,yBAAyB,CAAC;IAsB/B,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAyBjD,eAAe,CACb,OAAO,EAAE,MAAM,GAAG,MAAM,EACxB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,gBAAgB,GAAE,MAAY,GAC7B,OAAO;IAmCV,OAAO,CAAC,gBAAgB;IASxB,OAAO,CAAC,aAAa;CAUtB"}
package/dist/webhooks.js CHANGED
@@ -19,7 +19,9 @@ class WebhooksResource {
19
19
  method: 'GET',
20
20
  path: '/v1/partner/webhooks',
21
21
  });
22
- return response.data.data;
22
+ return {
23
+ webhooks: response.data.webhooks || [],
24
+ };
23
25
  }
24
26
  async get(webhookId) {
25
27
  const response = await this.http.request({
@@ -28,22 +30,37 @@ class WebhooksResource {
28
30
  });
29
31
  return response.data;
30
32
  }
31
- async update(webhookId, request) {
33
+ async verify(webhookId) {
32
34
  const response = await this.http.request({
33
- method: 'PATCH',
34
- path: `/v1/partner/webhooks/${webhookId}`,
35
- body: request,
35
+ method: 'POST',
36
+ path: `/v1/partner/webhooks/${webhookId}/verify`,
37
+ });
38
+ return response.data;
39
+ }
40
+ async deliveries(webhookId, cursor, limit = 50) {
41
+ const query = { limit };
42
+ if (cursor) {
43
+ query.cursor = cursor;
44
+ }
45
+ const response = await this.http.request({
46
+ method: 'GET',
47
+ path: `/v1/partner/webhooks/${webhookId}/deliveries`,
48
+ query,
36
49
  });
37
50
  return response.data;
38
51
  }
39
52
  async delete(webhookId) {
40
- await this.http.request({
53
+ const response = await this.http.request({
41
54
  method: 'DELETE',
42
55
  path: `/v1/partner/webhooks/${webhookId}`,
43
56
  });
57
+ return response.data;
44
58
  }
45
- verify(payload, signature, timestamp, secret, toleranceSeconds = 300) {
59
+ verifySignature(payload, signature, timestamp, secret, toleranceSeconds = 300) {
46
60
  try {
61
+ const sigHex = signature.startsWith('sha256=')
62
+ ? signature.slice(7)
63
+ : signature;
47
64
  const now = Math.floor(Date.now() / 1000);
48
65
  const webhookTime = parseInt(timestamp, 10);
49
66
  if (isNaN(webhookTime)) {
@@ -53,11 +70,12 @@ class WebhooksResource {
53
70
  if (age > toleranceSeconds) {
54
71
  return false;
55
72
  }
56
- const signedPayload = `${timestamp}.${payload}`;
73
+ const payloadStr = typeof payload === 'string' ? payload : payload.toString('utf-8');
74
+ const signedPayload = `${timestamp}.${payloadStr}`;
57
75
  const expectedSignature = this.computeSignature(signedPayload, secret);
58
- return this.secureCompare(signature, expectedSignature);
76
+ return this.secureCompare(sigHex, expectedSignature);
59
77
  }
60
- catch (error) {
78
+ catch {
61
79
  return false;
62
80
  }
63
81
  }
@@ -74,10 +92,6 @@ class WebhooksResource {
74
92
  const bufferB = Buffer.from(b);
75
93
  return (0, crypto_1.timingSafeEqual)(bufferA, bufferB);
76
94
  }
77
- on(_eventType, _handler) {
78
- throw new Error('Event handler registration is not yet implemented. ' +
79
- 'Use the verify() method to validate webhooks in your HTTP handler.');
80
- }
81
95
  }
82
96
  exports.WebhooksResource = WebhooksResource;
83
97
  //# sourceMappingURL=webhooks.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"webhooks.js","sourceRoot":"","sources":["../src/webhooks.ts"],"names":[],"mappings":";;;AAMA,mCAAqD;AAQrD,MAAa,gBAAgB;IAC3B,YAAoB,IAAgB;QAAhB,SAAI,GAAJ,IAAI,CAAY;IAAG,CAAC;IAiBxC,KAAK,CAAC,MAAM,CAAC,OAA6B;QACxC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAU;YAChD,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,sBAAsB;YAC5B,IAAI,EAAE,OAAO;SACd,CAAC,CAAC;QAEH,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC;IAeD,KAAK,CAAC,IAAI;QACR,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAsB;YAC5D,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,sBAAsB;SAC7B,CAAC,CAAC;QAEH,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;IAC5B,CAAC;IAQD,KAAK,CAAC,GAAG,CAAC,SAAiB;QACzB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAU;YAChD,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,wBAAwB,SAAS,EAAE;SAC1C,CAAC,CAAC;QAEH,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC;IAiBD,KAAK,CAAC,MAAM,CAAC,SAAiB,EAAE,OAAsC;QACpE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAU;YAChD,MAAM,EAAE,OAAO;YACf,IAAI,EAAE,wBAAwB,SAAS,EAAE;YACzC,IAAI,EAAE,OAAO;SACd,CAAC,CAAC;QAEH,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC;IAOD,KAAK,CAAC,MAAM,CAAC,SAAiB;QAC5B,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;YACtB,MAAM,EAAE,QAAQ;YAChB,IAAI,EAAE,wBAAwB,SAAS,EAAE;SAC1C,CAAC,CAAC;IACL,CAAC;IAiCD,MAAM,CACJ,OAAwB,EACxB,SAAiB,EACjB,SAAiB,EACjB,MAAc,EACd,mBAA2B,GAAG;QAE9B,IAAI,CAAC;YAEH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;YAC1C,MAAM,WAAW,GAAG,QAAQ,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;YAE5C,IAAI,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC;gBACvB,OAAO,KAAK,CAAC;YACf,CAAC;YAED,MAAM,GAAG,GAAG,GAAG,GAAG,WAAW,CAAC;YAC9B,IAAI,GAAG,GAAG,gBAAgB,EAAE,CAAC;gBAC3B,OAAO,KAAK,CAAC;YACf,CAAC;YAGD,MAAM,aAAa,GAAG,GAAG,SAAS,IAAI,OAAO,EAAE,CAAC;YAChD,MAAM,iBAAiB,GAAG,IAAI,CAAC,gBAAgB,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;YAGvE,OAAO,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC;QAC1D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IASO,gBAAgB,CAAC,OAAe,EAAE,MAAc;QACtD,MAAM,IAAI,GAAG,IAAA,mBAAU,EAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAC1C,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACrB,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC;IASO,aAAa,CAAC,CAAS,EAAE,CAAS;QACxC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC;YAC1B,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC/B,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAE/B,OAAO,IAAA,wBAAe,EAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC3C,CAAC;IAmBD,EAAE,CAAU,UAAkB,EAAE,QAA0D;QAIxF,MAAM,IAAI,KAAK,CACb,qDAAqD;YACrD,oEAAoE,CACrE,CAAC;IACJ,CAAC;CACF;AA9ND,4CA8NC"}
1
+ {"version":3,"file":"webhooks.js","sourceRoot":"","sources":["../src/webhooks.ts"],"names":[],"mappings":";;;AAaA,mCAAqD;AASrD,MAAa,gBAAgB;IAC3B,YAAoB,IAAgB;QAAhB,SAAI,GAAJ,IAAI,CAAY;IAAG,CAAC;IAUxC,KAAK,CAAC,MAAM,CAAC,OAA6B;QACxC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAM;YAC5C,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,sBAAsB;YAC5B,IAAI,EAAE,OAAO;SACd,CAAC,CAAC;QAEH,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC;IAQD,KAAK,CAAC,IAAI;QACR,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAM;YAC5C,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,sBAAsB;SAC7B,CAAC,CAAC;QAEH,OAAO;YACL,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE;SACvC,CAAC;IACJ,CAAC;IAMD,KAAK,CAAC,GAAG,CAAC,SAAiB;QACzB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAM;YAC5C,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,wBAAwB,SAAS,EAAE;SAC1C,CAAC,CAAC;QAEH,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC;IAMD,KAAK,CAAC,MAAM,CAAC,SAAiB;QAC5B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAM;YAC5C,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,wBAAwB,SAAS,SAAS;SACjD,CAAC,CAAC;QAEH,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC;IAMD,KAAK,CAAC,UAAU,CACd,SAAiB,EACjB,MAAe,EACf,QAAgB,EAAE;QAElB,MAAM,KAAK,GAA0D,EAAE,KAAK,EAAE,CAAC;QAC/E,IAAI,MAAM,EAAE,CAAC;YACX,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;QACxB,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAM;YAC5C,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,wBAAwB,SAAS,aAAa;YACpD,KAAK;SACN,CAAC,CAAC;QAEH,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC;IASD,KAAK,CAAC,MAAM,CAAC,SAAiB;QAC5B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAM;YAC5C,MAAM,EAAE,QAAQ;YAChB,IAAI,EAAE,wBAAwB,SAAS,EAAE;SAC1C,CAAC,CAAC;QAEH,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC;IAkBD,eAAe,CACb,OAAwB,EACxB,SAAiB,EACjB,SAAiB,EACjB,MAAc,EACd,mBAA2B,GAAG;QAE9B,IAAI,CAAC;YAEH,MAAM,MAAM,GAAG,SAAS,CAAC,UAAU,CAAC,SAAS,CAAC;gBAC5C,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;gBACpB,CAAC,CAAC,SAAS,CAAC;YAGd,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;YAC1C,MAAM,WAAW,GAAG,QAAQ,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;YAE5C,IAAI,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC;gBACvB,OAAO,KAAK,CAAC;YACf,CAAC;YAED,MAAM,GAAG,GAAG,GAAG,GAAG,WAAW,CAAC;YAC9B,IAAI,GAAG,GAAG,gBAAgB,EAAE,CAAC;gBAC3B,OAAO,KAAK,CAAC;YACf,CAAC;YAGD,MAAM,UAAU,GAAG,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YACrF,MAAM,aAAa,GAAG,GAAG,SAAS,IAAI,UAAU,EAAE,CAAC;YACnD,MAAM,iBAAiB,GAAG,IAAI,CAAC,gBAAgB,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;YAGvE,OAAO,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;QACvD,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAKO,gBAAgB,CAAC,OAAe,EAAE,MAAc;QACtD,MAAM,IAAI,GAAG,IAAA,mBAAU,EAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAC1C,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACrB,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC;IAKO,aAAa,CAAC,CAAS,EAAE,CAAS;QACxC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC;YAC1B,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC/B,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAE/B,OAAO,IAAA,wBAAe,EAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC3C,CAAC;CACF;AAnLD,4CAmLC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "moss-partner-sdk",
3
- "version": "0.1.0",
3
+ "version": "0.2.0",
4
4
  "description": "TypeScript SDK for MOSS Partner API - Manage customers, configure governance, and monitor compliance",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -28,7 +28,7 @@
28
28
  "license": "SEE LICENSE IN LICENSE",
29
29
  "repository": {
30
30
  "type": "git",
31
- "url": "https://github.com/mosscomputing/moss-partner-sdk-ts.git",
31
+ "url": "git+https://github.com/mosscomputing/moss-partner-sdk-ts.git",
32
32
  "private": true
33
33
  },
34
34
  "publishConfig": {
@@ -1,5 +0,0 @@
1
- export declare function toSnakeCase(str: string): string;
2
- export declare function toCamelCase(str: string): string;
3
- export declare function keysToSnakeCase<T = any>(obj: any): T;
4
- export declare function keysToCamelCase<T = any>(obj: any): T;
5
- //# sourceMappingURL=case.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"case.d.ts","sourceRoot":"","sources":["../../src/utils/case.ts"],"names":[],"mappings":"AAQA,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE/C;AAKD,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE/C;AAKD,wBAAgB,eAAe,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC,CAmBpD;AAKD,wBAAgB,eAAe,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC,CAmBpD"}
@@ -1,47 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.toSnakeCase = toSnakeCase;
4
- exports.toCamelCase = toCamelCase;
5
- exports.keysToSnakeCase = keysToSnakeCase;
6
- exports.keysToCamelCase = keysToCamelCase;
7
- function toSnakeCase(str) {
8
- return str.replace(/[A-Z]/g, (letter) => `_${letter.toLowerCase()}`);
9
- }
10
- function toCamelCase(str) {
11
- return str.replace(/_([a-z])/g, (_, letter) => letter.toUpperCase());
12
- }
13
- function keysToSnakeCase(obj) {
14
- if (obj === null || obj === undefined) {
15
- return obj;
16
- }
17
- if (Array.isArray(obj)) {
18
- return obj.map((item) => keysToSnakeCase(item));
19
- }
20
- if (typeof obj === 'object' && obj.constructor === Object) {
21
- const result = {};
22
- for (const [key, value] of Object.entries(obj)) {
23
- const newKey = toSnakeCase(key);
24
- result[newKey] = keysToSnakeCase(value);
25
- }
26
- return result;
27
- }
28
- return obj;
29
- }
30
- function keysToCamelCase(obj) {
31
- if (obj === null || obj === undefined) {
32
- return obj;
33
- }
34
- if (Array.isArray(obj)) {
35
- return obj.map((item) => keysToCamelCase(item));
36
- }
37
- if (typeof obj === 'object' && obj.constructor === Object) {
38
- const result = {};
39
- for (const [key, value] of Object.entries(obj)) {
40
- const newKey = toCamelCase(key);
41
- result[newKey] = keysToCamelCase(value);
42
- }
43
- return result;
44
- }
45
- return obj;
46
- }
47
- //# sourceMappingURL=case.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"case.js","sourceRoot":"","sources":["../../src/utils/case.ts"],"names":[],"mappings":";;AAQA,kCAEC;AAKD,kCAEC;AAKD,0CAmBC;AAKD,0CAmBC;AAzDD,SAAgB,WAAW,CAAC,GAAW;IACrC,OAAO,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;AACvE,CAAC;AAKD,SAAgB,WAAW,CAAC,GAAW;IACrC,OAAO,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;AACvE,CAAC;AAKD,SAAgB,eAAe,CAAU,GAAQ;IAC/C,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACtC,OAAO,GAAG,CAAC;IACb,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACvB,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,CAAM,CAAC;IACvD,CAAC;IAED,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,WAAW,KAAK,MAAM,EAAE,CAAC;QAC1D,MAAM,MAAM,GAAQ,EAAE,CAAC;QACvB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YAC/C,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;YAChC,MAAM,CAAC,MAAM,CAAC,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;QAC1C,CAAC;QACD,OAAO,MAAW,CAAC;IACrB,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC;AAKD,SAAgB,eAAe,CAAU,GAAQ;IAC/C,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACtC,OAAO,GAAG,CAAC;IACb,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACvB,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,CAAM,CAAC;IACvD,CAAC;IAED,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,WAAW,KAAK,MAAM,EAAE,CAAC;QAC1D,MAAM,MAAM,GAAQ,EAAE,CAAC;QACvB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YAC/C,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;YAChC,MAAM,CAAC,MAAM,CAAC,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;QAC1C,CAAC;QACD,OAAO,MAAW,CAAC;IACrB,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC"}