@dokamerce/web-sdk 0.9.0 → 0.9.3

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 (61) hide show
  1. package/README.md +61 -19
  2. package/dist/tsconfig.tsbuildinfo +1 -1
  3. package/dist/web-sdk/src/services/attributes.d.ts +1 -1
  4. package/dist/web-sdk/src/services/attributes.js +4 -4
  5. package/dist/web-sdk/src/services/attributes.js.map +1 -1
  6. package/dist/web-sdk/src/services/brands.d.ts +1 -1
  7. package/dist/web-sdk/src/services/brands.js +4 -4
  8. package/dist/web-sdk/src/services/brands.js.map +1 -1
  9. package/dist/web-sdk/src/services/categories.d.ts +1 -1
  10. package/dist/web-sdk/src/services/categories.js +4 -4
  11. package/dist/web-sdk/src/services/categories.js.map +1 -1
  12. package/dist/web-sdk/src/services/colors.d.ts +1 -1
  13. package/dist/web-sdk/src/services/colors.js +4 -4
  14. package/dist/web-sdk/src/services/colors.js.map +1 -1
  15. package/dist/web-sdk/src/services/customers.d.ts +1 -1
  16. package/dist/web-sdk/src/services/customers.js +6 -6
  17. package/dist/web-sdk/src/services/customers.js.map +1 -1
  18. package/dist/web-sdk/src/services/files.d.ts +1 -1
  19. package/dist/web-sdk/src/services/files.js +4 -4
  20. package/dist/web-sdk/src/services/files.js.map +1 -1
  21. package/dist/web-sdk/src/services/metrics.d.ts +1 -1
  22. package/dist/web-sdk/src/services/metrics.js +3 -3
  23. package/dist/web-sdk/src/services/metrics.js.map +1 -1
  24. package/dist/web-sdk/src/services/orders.d.ts +1 -1
  25. package/dist/web-sdk/src/services/orders.js +6 -6
  26. package/dist/web-sdk/src/services/orders.js.map +1 -1
  27. package/dist/web-sdk/src/services/products.d.ts +1 -1
  28. package/dist/web-sdk/src/services/products.js +7 -7
  29. package/dist/web-sdk/src/services/products.js.map +1 -1
  30. package/dist/web-sdk/src/services/sellers.d.ts +1 -1
  31. package/dist/web-sdk/src/services/sellers.js +6 -6
  32. package/dist/web-sdk/src/services/sellers.js.map +1 -1
  33. package/package.json +16 -3
  34. package/.ls-lint.yml +0 -8
  35. package/.nvmrc +0 -1
  36. package/.prettierignore +0 -0
  37. package/.prettierrc.js +0 -3
  38. package/codegen.yml +0 -11
  39. package/src/constants/graphql-base.constant.ts +0 -1
  40. package/src/contexts/index.ts +0 -33
  41. package/src/functions/init-sdk-client.function.ts +0 -19
  42. package/src/functions/init-sdk.function.ts +0 -26
  43. package/src/functions/safe-call.function.ts +0 -29
  44. package/src/index.d.ts +0 -0
  45. package/src/index.ts +0 -74
  46. package/src/services/attributes.ts +0 -42
  47. package/src/services/brands.ts +0 -41
  48. package/src/services/categories.ts +0 -41
  49. package/src/services/colors.ts +0 -41
  50. package/src/services/customers.ts +0 -60
  51. package/src/services/files.ts +0 -58
  52. package/src/services/index.ts +0 -9
  53. package/src/services/metrics.ts +0 -39
  54. package/src/services/orders.ts +0 -59
  55. package/src/services/products.ts +0 -65
  56. package/src/services/sellers.ts +0 -91
  57. package/src/typings/pagination.typing.ts +0 -18
  58. package/src/typings/sdk.typing.ts +0 -27
  59. package/src/utils/fetch-all-infinite.util.ts +0 -41
  60. package/tsconfig.dev.json +0 -32
  61. package/tsconfig.json +0 -37
package/README.md CHANGED
@@ -1,47 +1,89 @@
1
+ # @dokamerce/web-sdk
2
+
3
+ A lightweight, TypeScript‑ready SDK for interacting with Dokamerce GraphQL APIs.
4
+ It provides a simple, intuitive interface for creating, updating, listing, and deleting products, with built‑in support for pagination and infinite fetching.
5
+
6
+ ---
7
+
8
+ ## 🚀 Installation
9
+
10
+ ```bash
11
+ npm install @dokamerce/web-sdk graphql graphql-request
12
+ # or
13
+ yarn add @dokamerce/web-sdk graphql graphql-request
14
+
15
+ 📦 Features
16
+ 🔗 Easy GraphQL client integration
17
+
18
+ 🛍️ Product CRUD operations (create, update, delete)
19
+
20
+ 📑 Pagination and infinite fetch helpers
21
+
22
+ ✅ TypeScript definitions included
23
+
24
+ ⚡ Lightweight and modular
25
+ 🛠 Usage Example
26
+ ts
1
27
  import { GraphQLClient } from "graphql-request";
2
- import { createProductsSdk } from "@/sdk/products-sdk";
28
+ import { createProductsSdk } from "@dokamerce/web-sdk";
3
29
 
4
30
  async function main() {
5
- // 1️⃣ Initialize GraphQL client
6
31
  const client = new GraphQLClient("https://api.example.com/graphql", {
7
- headers: {
8
- Authorization: `Bearer YOUR_API_TOKEN`,
9
- },
32
+ headers: { Authorization: `Bearer YOUR_API_TOKEN` },
10
33
  });
11
34
 
12
- // 2️⃣ Create the Products SDK
13
35
  const productsSdk = createProductsSdk(client);
14
36
 
15
- // 3️⃣ Create a new product
16
37
  const newProduct = await productsSdk.create({
17
- input: {
18
- name: "Sample Product",
19
- price: 19.99,
20
- description: "This is a sample product",
21
- },
38
+ input: { name: "Sample Product", price: 19.99, description: "This is a sample product" },
22
39
  });
23
40
  console.log("Created Product:", newProduct.createProduct);
24
41
 
25
- // 4️⃣ Update the product
26
42
  const updatedProduct = await productsSdk.update({
27
43
  id: newProduct.createProduct.id,
28
- input: {
29
- price: 24.99,
30
- },
44
+ input: { price: 24.99 },
31
45
  });
32
46
  console.log("Updated Product Price:", updatedProduct.updateProduct.price);
33
47
 
34
- // 5️⃣ Fetch products (paginated)
35
48
  const paginated = await productsSdk.list({ page: 1, limit: 10 });
36
49
  console.log("Paginated Products:", paginated.paginatedProducts.items);
37
50
 
38
- // 6️⃣ Fetch products (infinite)
39
51
  const allProducts = await productsSdk.fetchAll({ cursor: null, limit: 5 });
40
52
  console.log("All Products via Infinite Fetch:", allProducts);
41
53
 
42
- // 7️⃣ Delete the product
43
54
  await productsSdk.delete({ id: newProduct.createProduct.id });
44
55
  console.log("Product deleted!");
45
56
  }
46
57
 
47
58
  main().catch(console.error);
59
+ 📖 API Reference
60
+ createProductsSdk(client: GraphQLClient)
61
+ Initializes the SDK with a GraphQL client.
62
+
63
+ Methods
64
+ create({ input }) → Creates a new product.
65
+
66
+ update({ id, input }) → Updates an existing product.
67
+
68
+ list({ page, limit }) → Fetches products with pagination.
69
+
70
+ fetchAll({ cursor, limit }) → Fetches products using infinite scrolling.
71
+
72
+ delete({ id }) → Deletes a product by ID.
73
+
74
+ 🧩 Requirements
75
+ Node.js ≥ 16
76
+
77
+ GraphQL API endpoint
78
+
79
+ Valid API token
80
+
81
+ 📜 License
82
+ MIT © Dokamerce
83
+ 🤝 Contributing
84
+ Contributions, issues, and feature requests are welcome!
85
+ Feel free to open a PR or start a discussion in the GitHub repository.
86
+
87
+ Code
88
+
89
+ I’ll now prepare this as a **downloadable `README.md` file card** so you can grab it direc