@crevio/sdk 0.4.10 → 0.4.12

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 (107) hide show
  1. package/README.md +7 -0
  2. package/dist/commonjs/funcs/legalPagesGet.d.ts +19 -0
  3. package/dist/commonjs/funcs/legalPagesGet.d.ts.map +1 -0
  4. package/dist/commonjs/funcs/legalPagesGet.js +124 -0
  5. package/dist/commonjs/funcs/legalPagesGet.js.map +1 -0
  6. package/dist/commonjs/funcs/legalPagesList.d.ts +19 -0
  7. package/dist/commonjs/funcs/legalPagesList.d.ts.map +1 -0
  8. package/dist/commonjs/funcs/legalPagesList.js +125 -0
  9. package/dist/commonjs/funcs/legalPagesList.js.map +1 -0
  10. package/dist/commonjs/lib/config.d.ts +3 -3
  11. package/dist/commonjs/lib/config.js +3 -3
  12. package/dist/commonjs/lib/config.js.map +1 -1
  13. package/dist/commonjs/lib/encodings.d.ts.map +1 -1
  14. package/dist/commonjs/lib/encodings.js +20 -5
  15. package/dist/commonjs/lib/encodings.js.map +1 -1
  16. package/dist/commonjs/models/index.d.ts +2 -0
  17. package/dist/commonjs/models/index.d.ts.map +1 -1
  18. package/dist/commonjs/models/index.js +2 -0
  19. package/dist/commonjs/models/index.js.map +1 -1
  20. package/dist/commonjs/models/legalpage.d.ts +26 -0
  21. package/dist/commonjs/models/legalpage.d.ts.map +1 -0
  22. package/dist/commonjs/models/legalpage.js +72 -0
  23. package/dist/commonjs/models/legalpage.js.map +1 -0
  24. package/dist/commonjs/models/listresponselegalpage.d.ts +21 -0
  25. package/dist/commonjs/models/listresponselegalpage.d.ts.map +1 -0
  26. package/dist/commonjs/models/listresponselegalpage.js +64 -0
  27. package/dist/commonjs/models/listresponselegalpage.js.map +1 -0
  28. package/dist/commonjs/models/operations/getlegalpage.d.ts +15 -0
  29. package/dist/commonjs/models/operations/getlegalpage.d.ts.map +1 -0
  30. package/dist/commonjs/models/operations/getlegalpage.js +54 -0
  31. package/dist/commonjs/models/operations/getlegalpage.js.map +1 -0
  32. package/dist/commonjs/models/operations/index.d.ts +2 -0
  33. package/dist/commonjs/models/operations/index.d.ts.map +1 -1
  34. package/dist/commonjs/models/operations/index.js +2 -0
  35. package/dist/commonjs/models/operations/index.js.map +1 -1
  36. package/dist/commonjs/models/operations/listlegalpages.d.ts +45 -0
  37. package/dist/commonjs/models/operations/listlegalpages.d.ts.map +1 -0
  38. package/dist/commonjs/models/operations/listlegalpages.js +69 -0
  39. package/dist/commonjs/models/operations/listlegalpages.js.map +1 -0
  40. package/dist/commonjs/sdk/legalpages.d.ts +20 -0
  41. package/dist/commonjs/sdk/legalpages.d.ts.map +1 -0
  42. package/dist/commonjs/sdk/legalpages.js +32 -0
  43. package/dist/commonjs/sdk/legalpages.js.map +1 -0
  44. package/dist/commonjs/sdk/sdk.d.ts +3 -0
  45. package/dist/commonjs/sdk/sdk.d.ts.map +1 -1
  46. package/dist/commonjs/sdk/sdk.js +4 -0
  47. package/dist/commonjs/sdk/sdk.js.map +1 -1
  48. package/dist/esm/funcs/legalPagesGet.d.ts +19 -0
  49. package/dist/esm/funcs/legalPagesGet.d.ts.map +1 -0
  50. package/dist/esm/funcs/legalPagesGet.js +88 -0
  51. package/dist/esm/funcs/legalPagesGet.js.map +1 -0
  52. package/dist/esm/funcs/legalPagesList.d.ts +19 -0
  53. package/dist/esm/funcs/legalPagesList.d.ts.map +1 -0
  54. package/dist/esm/funcs/legalPagesList.js +89 -0
  55. package/dist/esm/funcs/legalPagesList.js.map +1 -0
  56. package/dist/esm/lib/config.d.ts +3 -3
  57. package/dist/esm/lib/config.js +3 -3
  58. package/dist/esm/lib/config.js.map +1 -1
  59. package/dist/esm/lib/encodings.d.ts.map +1 -1
  60. package/dist/esm/lib/encodings.js +20 -5
  61. package/dist/esm/lib/encodings.js.map +1 -1
  62. package/dist/esm/models/index.d.ts +2 -0
  63. package/dist/esm/models/index.d.ts.map +1 -1
  64. package/dist/esm/models/index.js +2 -0
  65. package/dist/esm/models/index.js.map +1 -1
  66. package/dist/esm/models/legalpage.d.ts +26 -0
  67. package/dist/esm/models/legalpage.d.ts.map +1 -0
  68. package/dist/esm/models/legalpage.js +35 -0
  69. package/dist/esm/models/legalpage.js.map +1 -0
  70. package/dist/esm/models/listresponselegalpage.d.ts +21 -0
  71. package/dist/esm/models/listresponselegalpage.d.ts.map +1 -0
  72. package/dist/esm/models/listresponselegalpage.js +27 -0
  73. package/dist/esm/models/listresponselegalpage.js.map +1 -0
  74. package/dist/esm/models/operations/getlegalpage.d.ts +15 -0
  75. package/dist/esm/models/operations/getlegalpage.d.ts.map +1 -0
  76. package/dist/esm/models/operations/getlegalpage.js +17 -0
  77. package/dist/esm/models/operations/getlegalpage.js.map +1 -0
  78. package/dist/esm/models/operations/index.d.ts +2 -0
  79. package/dist/esm/models/operations/index.d.ts.map +1 -1
  80. package/dist/esm/models/operations/index.js +2 -0
  81. package/dist/esm/models/operations/index.js.map +1 -1
  82. package/dist/esm/models/operations/listlegalpages.d.ts +45 -0
  83. package/dist/esm/models/operations/listlegalpages.d.ts.map +1 -0
  84. package/dist/esm/models/operations/listlegalpages.js +32 -0
  85. package/dist/esm/models/operations/listlegalpages.js.map +1 -0
  86. package/dist/esm/sdk/legalpages.d.ts +20 -0
  87. package/dist/esm/sdk/legalpages.d.ts.map +1 -0
  88. package/dist/esm/sdk/legalpages.js +28 -0
  89. package/dist/esm/sdk/legalpages.js.map +1 -0
  90. package/dist/esm/sdk/sdk.d.ts +3 -0
  91. package/dist/esm/sdk/sdk.d.ts.map +1 -1
  92. package/dist/esm/sdk/sdk.js +4 -0
  93. package/dist/esm/sdk/sdk.js.map +1 -1
  94. package/jsr.json +1 -1
  95. package/package.json +1 -1
  96. package/src/funcs/legalPagesGet.ts +176 -0
  97. package/src/funcs/legalPagesList.ts +179 -0
  98. package/src/lib/config.ts +3 -3
  99. package/src/lib/encodings.ts +23 -4
  100. package/src/models/index.ts +2 -0
  101. package/src/models/legalpage.ts +64 -0
  102. package/src/models/listresponselegalpage.ts +56 -0
  103. package/src/models/operations/getlegalpage.ts +39 -0
  104. package/src/models/operations/index.ts +2 -0
  105. package/src/models/operations/listlegalpages.ts +76 -0
  106. package/src/sdk/legalpages.ts +46 -0
  107. package/src/sdk/sdk.ts +6 -0
@@ -479,6 +479,23 @@ export const encodeSpaceDelimitedQuery = queryEncoder(encodeSpaceDelimited);
479
479
  export const encodePipeDelimitedQuery = queryEncoder(encodePipeDelimited);
480
480
  export const encodeDeepObjectQuery = queryEncoder(encodeDeepObject);
481
481
 
482
+ function isBlobLike(val: unknown): val is Blob {
483
+ if (val instanceof Blob) {
484
+ return true;
485
+ }
486
+
487
+ if (typeof val !== "object" || val == null || !(Symbol.toStringTag in val)) {
488
+ return false;
489
+ }
490
+
491
+ const tag = val[Symbol.toStringTag];
492
+ if (tag !== "Blob" && tag !== "File") {
493
+ return false;
494
+ }
495
+
496
+ return "stream" in val && typeof val.stream === "function";
497
+ }
498
+
482
499
  export function appendForm(
483
500
  fd: FormData,
484
501
  key: string,
@@ -487,10 +504,12 @@ export function appendForm(
487
504
  ): void {
488
505
  if (value == null) {
489
506
  return;
490
- } else if (value instanceof Blob && fileName) {
491
- fd.append(key, value, fileName);
492
- } else if (value instanceof Blob) {
493
- fd.append(key, value);
507
+ } else if (isBlobLike(value)) {
508
+ if (fileName) {
509
+ fd.append(key, value as Blob, fileName);
510
+ } else {
511
+ fd.append(key, value as Blob);
512
+ }
494
513
  } else {
495
514
  fd.append(key, String(value));
496
515
  }
@@ -25,6 +25,7 @@ export * from "./file.js";
25
25
  export * from "./filecreateresponse.js";
26
26
  export * from "./invoice.js";
27
27
  export * from "./invoicerequest.js";
28
+ export * from "./legalpage.js";
28
29
  export * from "./listresponseblogpost.js";
29
30
  export * from "./listresponsecheckoutlink.js";
30
31
  export * from "./listresponsecustomer.js";
@@ -32,6 +33,7 @@ export * from "./listresponsediscount.js";
32
33
  export * from "./listresponseexperience.js";
33
34
  export * from "./listresponsefile.js";
34
35
  export * from "./listresponseinvoice.js";
36
+ export * from "./listresponselegalpage.js";
35
37
  export * from "./listresponseorder.js";
36
38
  export * from "./listresponsepricevariant.js";
37
39
  export * from "./listresponseproduct.js";
@@ -0,0 +1,64 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import * as z from "zod/v3";
6
+ import { remap as remap$ } from "../lib/primitives.js";
7
+ import { safeParse } from "../lib/schemas.js";
8
+ import { ClosedEnum } from "../types/enums.js";
9
+ import { Result as SafeParseResult } from "../types/fp.js";
10
+ import { SDKValidationError } from "./errors/sdkvalidationerror.js";
11
+
12
+ export const PolicyType = {
13
+ TermsOfService: "terms_of_service",
14
+ PrivacyPolicy: "privacy_policy",
15
+ RefundPolicy: "refund_policy",
16
+ } as const;
17
+ export type PolicyType = ClosedEnum<typeof PolicyType>;
18
+
19
+ export type LegalPage = {
20
+ object: string;
21
+ id: string;
22
+ title: string;
23
+ slug: string;
24
+ body: string;
25
+ policyType: PolicyType;
26
+ createdAt: Date;
27
+ updatedAt: Date;
28
+ };
29
+
30
+ /** @internal */
31
+ export const PolicyType$inboundSchema: z.ZodNativeEnum<typeof PolicyType> = z
32
+ .nativeEnum(PolicyType);
33
+
34
+ /** @internal */
35
+ export const LegalPage$inboundSchema: z.ZodType<
36
+ LegalPage,
37
+ z.ZodTypeDef,
38
+ unknown
39
+ > = z.object({
40
+ object: z.string(),
41
+ id: z.string(),
42
+ title: z.string(),
43
+ slug: z.string(),
44
+ body: z.string(),
45
+ policy_type: PolicyType$inboundSchema,
46
+ created_at: z.string().datetime({ offset: true }).transform(v => new Date(v)),
47
+ updated_at: z.string().datetime({ offset: true }).transform(v => new Date(v)),
48
+ }).transform((v) => {
49
+ return remap$(v, {
50
+ "policy_type": "policyType",
51
+ "created_at": "createdAt",
52
+ "updated_at": "updatedAt",
53
+ });
54
+ });
55
+
56
+ export function legalPageFromJSON(
57
+ jsonString: string,
58
+ ): SafeParseResult<LegalPage, SDKValidationError> {
59
+ return safeParse(
60
+ jsonString,
61
+ (x) => LegalPage$inboundSchema.parse(JSON.parse(x)),
62
+ `Failed to parse 'LegalPage' from JSON`,
63
+ );
64
+ }
@@ -0,0 +1,56 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import * as z from "zod/v3";
6
+ import { remap as remap$ } from "../lib/primitives.js";
7
+ import { safeParse } from "../lib/schemas.js";
8
+ import { ClosedEnum } from "../types/enums.js";
9
+ import { Result as SafeParseResult } from "../types/fp.js";
10
+ import { SDKValidationError } from "./errors/sdkvalidationerror.js";
11
+ import { LegalPage, LegalPage$inboundSchema } from "./legalpage.js";
12
+
13
+ export const ListResponseLegalPageObject = {
14
+ List: "list",
15
+ } as const;
16
+ export type ListResponseLegalPageObject = ClosedEnum<
17
+ typeof ListResponseLegalPageObject
18
+ >;
19
+
20
+ export type ListResponseLegalPage = {
21
+ object: ListResponseLegalPageObject;
22
+ data: Array<LegalPage>;
23
+ hasMore: boolean;
24
+ url: string;
25
+ };
26
+
27
+ /** @internal */
28
+ export const ListResponseLegalPageObject$inboundSchema: z.ZodNativeEnum<
29
+ typeof ListResponseLegalPageObject
30
+ > = z.nativeEnum(ListResponseLegalPageObject);
31
+
32
+ /** @internal */
33
+ export const ListResponseLegalPage$inboundSchema: z.ZodType<
34
+ ListResponseLegalPage,
35
+ z.ZodTypeDef,
36
+ unknown
37
+ > = z.object({
38
+ object: ListResponseLegalPageObject$inboundSchema,
39
+ data: z.array(LegalPage$inboundSchema),
40
+ has_more: z.boolean(),
41
+ url: z.string(),
42
+ }).transform((v) => {
43
+ return remap$(v, {
44
+ "has_more": "hasMore",
45
+ });
46
+ });
47
+
48
+ export function listResponseLegalPageFromJSON(
49
+ jsonString: string,
50
+ ): SafeParseResult<ListResponseLegalPage, SDKValidationError> {
51
+ return safeParse(
52
+ jsonString,
53
+ (x) => ListResponseLegalPage$inboundSchema.parse(JSON.parse(x)),
54
+ `Failed to parse 'ListResponseLegalPage' from JSON`,
55
+ );
56
+ }
@@ -0,0 +1,39 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import * as z from "zod/v3";
6
+ import { remap as remap$ } from "../../lib/primitives.js";
7
+
8
+ export type GetLegalPageRequest = {
9
+ /**
10
+ * The resource prefix ID (e.g., "prod_abc123") or slug (e.g., "my-product")
11
+ */
12
+ idOrSlug: string;
13
+ };
14
+
15
+ /** @internal */
16
+ export type GetLegalPageRequest$Outbound = {
17
+ id_or_slug: string;
18
+ };
19
+
20
+ /** @internal */
21
+ export const GetLegalPageRequest$outboundSchema: z.ZodType<
22
+ GetLegalPageRequest$Outbound,
23
+ z.ZodTypeDef,
24
+ GetLegalPageRequest
25
+ > = z.object({
26
+ idOrSlug: z.string(),
27
+ }).transform((v) => {
28
+ return remap$(v, {
29
+ idOrSlug: "id_or_slug",
30
+ });
31
+ });
32
+
33
+ export function getLegalPageRequestToJSON(
34
+ getLegalPageRequest: GetLegalPageRequest,
35
+ ): string {
36
+ return JSON.stringify(
37
+ GetLegalPageRequest$outboundSchema.parse(getLegalPageRequest),
38
+ );
39
+ }
@@ -19,6 +19,7 @@ export * from "./getdiscount.js";
19
19
  export * from "./getexperience.js";
20
20
  export * from "./getfile.js";
21
21
  export * from "./getinvoice.js";
22
+ export * from "./getlegalpage.js";
22
23
  export * from "./getorder.js";
23
24
  export * from "./getorderitem.js";
24
25
  export * from "./getpricevariant.js";
@@ -33,6 +34,7 @@ export * from "./listdiscounts.js";
33
34
  export * from "./listexperiences.js";
34
35
  export * from "./listfiles.js";
35
36
  export * from "./listinvoices.js";
37
+ export * from "./listlegalpages.js";
36
38
  export * from "./listorders.js";
37
39
  export * from "./listpricevariants.js";
38
40
  export * from "./listproducts.js";
@@ -0,0 +1,76 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import * as z from "zod/v3";
6
+ import { remap as remap$ } from "../../lib/primitives.js";
7
+ import { ClosedEnum } from "../../types/enums.js";
8
+
9
+ /**
10
+ * Filter by policy type: terms_of_service, privacy_policy, refund_policy
11
+ */
12
+ export const PolicyType = {
13
+ TermsOfService: "terms_of_service",
14
+ PrivacyPolicy: "privacy_policy",
15
+ RefundPolicy: "refund_policy",
16
+ } as const;
17
+ /**
18
+ * Filter by policy type: terms_of_service, privacy_policy, refund_policy
19
+ */
20
+ export type PolicyType = ClosedEnum<typeof PolicyType>;
21
+
22
+ export type ListLegalPagesRequest = {
23
+ /**
24
+ * Filter by policy type: terms_of_service, privacy_policy, refund_policy
25
+ */
26
+ policyType?: PolicyType | undefined;
27
+ /**
28
+ * Search by title
29
+ */
30
+ query?: string | undefined;
31
+ /**
32
+ * Cursor for pagination — the ID of the last item in the previous page
33
+ */
34
+ startingAfter?: string | undefined;
35
+ /**
36
+ * Items per page
37
+ */
38
+ limit?: number | undefined;
39
+ };
40
+
41
+ /** @internal */
42
+ export const PolicyType$outboundSchema: z.ZodNativeEnum<typeof PolicyType> = z
43
+ .nativeEnum(PolicyType);
44
+
45
+ /** @internal */
46
+ export type ListLegalPagesRequest$Outbound = {
47
+ policy_type?: string | undefined;
48
+ query?: string | undefined;
49
+ starting_after?: string | undefined;
50
+ limit: number;
51
+ };
52
+
53
+ /** @internal */
54
+ export const ListLegalPagesRequest$outboundSchema: z.ZodType<
55
+ ListLegalPagesRequest$Outbound,
56
+ z.ZodTypeDef,
57
+ ListLegalPagesRequest
58
+ > = z.object({
59
+ policyType: PolicyType$outboundSchema.optional(),
60
+ query: z.string().optional(),
61
+ startingAfter: z.string().optional(),
62
+ limit: z.number().int().default(20),
63
+ }).transform((v) => {
64
+ return remap$(v, {
65
+ policyType: "policy_type",
66
+ startingAfter: "starting_after",
67
+ });
68
+ });
69
+
70
+ export function listLegalPagesRequestToJSON(
71
+ listLegalPagesRequest: ListLegalPagesRequest,
72
+ ): string {
73
+ return JSON.stringify(
74
+ ListLegalPagesRequest$outboundSchema.parse(listLegalPagesRequest),
75
+ );
76
+ }
@@ -0,0 +1,46 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import { legalPagesGet } from "../funcs/legalPagesGet.js";
6
+ import { legalPagesList } from "../funcs/legalPagesList.js";
7
+ import { ClientSDK, RequestOptions } from "../lib/sdks.js";
8
+ import * as models from "../models/index.js";
9
+ import * as operations from "../models/operations/index.js";
10
+ import { unwrapAsync } from "../types/fp.js";
11
+
12
+ export class LegalPages extends ClientSDK {
13
+ /**
14
+ * List legal pages
15
+ *
16
+ * @remarks
17
+ * Returns a list of legal pages (Terms of Service, Privacy Policy, Refund Policy)
18
+ */
19
+ async list(
20
+ request?: operations.ListLegalPagesRequest | undefined,
21
+ options?: RequestOptions,
22
+ ): Promise<models.ListResponseLegalPage> {
23
+ return unwrapAsync(legalPagesList(
24
+ this,
25
+ request,
26
+ options,
27
+ ));
28
+ }
29
+
30
+ /**
31
+ * Get legal page
32
+ *
33
+ * @remarks
34
+ * Returns a specific legal page by ID or slug
35
+ */
36
+ async get(
37
+ request: operations.GetLegalPageRequest,
38
+ options?: RequestOptions,
39
+ ): Promise<models.LegalPage> {
40
+ return unwrapAsync(legalPagesGet(
41
+ this,
42
+ request,
43
+ options,
44
+ ));
45
+ }
46
+ }
package/src/sdk/sdk.ts CHANGED
@@ -13,6 +13,7 @@ import { Discounts } from "./discounts.js";
13
13
  import { Experiences } from "./experiences.js";
14
14
  import { Files } from "./files.js";
15
15
  import { Invoices } from "./invoices.js";
16
+ import { LegalPages } from "./legalpages.js";
16
17
  import { Me } from "./me.js";
17
18
  import { OrderItems } from "./orderitems.js";
18
19
  import { Orders } from "./orders.js";
@@ -89,6 +90,11 @@ export class Crevio extends ClientSDK {
89
90
  return (this._blogPosts ??= new BlogPosts(this._options));
90
91
  }
91
92
 
93
+ private _legalPages?: LegalPages;
94
+ get legalPages(): LegalPages {
95
+ return (this._legalPages ??= new LegalPages(this._options));
96
+ }
97
+
92
98
  private _webhookEndpoints?: WebhookEndpoints;
93
99
  get webhookEndpoints(): WebhookEndpoints {
94
100
  return (this._webhookEndpoints ??= new WebhookEndpoints(this._options));