@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.
- package/README.md +61 -19
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/web-sdk/src/services/attributes.d.ts +1 -1
- package/dist/web-sdk/src/services/attributes.js +4 -4
- package/dist/web-sdk/src/services/attributes.js.map +1 -1
- package/dist/web-sdk/src/services/brands.d.ts +1 -1
- package/dist/web-sdk/src/services/brands.js +4 -4
- package/dist/web-sdk/src/services/brands.js.map +1 -1
- package/dist/web-sdk/src/services/categories.d.ts +1 -1
- package/dist/web-sdk/src/services/categories.js +4 -4
- package/dist/web-sdk/src/services/categories.js.map +1 -1
- package/dist/web-sdk/src/services/colors.d.ts +1 -1
- package/dist/web-sdk/src/services/colors.js +4 -4
- package/dist/web-sdk/src/services/colors.js.map +1 -1
- package/dist/web-sdk/src/services/customers.d.ts +1 -1
- package/dist/web-sdk/src/services/customers.js +6 -6
- package/dist/web-sdk/src/services/customers.js.map +1 -1
- package/dist/web-sdk/src/services/files.d.ts +1 -1
- package/dist/web-sdk/src/services/files.js +4 -4
- package/dist/web-sdk/src/services/files.js.map +1 -1
- package/dist/web-sdk/src/services/metrics.d.ts +1 -1
- package/dist/web-sdk/src/services/metrics.js +3 -3
- package/dist/web-sdk/src/services/metrics.js.map +1 -1
- package/dist/web-sdk/src/services/orders.d.ts +1 -1
- package/dist/web-sdk/src/services/orders.js +6 -6
- package/dist/web-sdk/src/services/orders.js.map +1 -1
- package/dist/web-sdk/src/services/products.d.ts +1 -1
- package/dist/web-sdk/src/services/products.js +7 -7
- package/dist/web-sdk/src/services/products.js.map +1 -1
- package/dist/web-sdk/src/services/sellers.d.ts +1 -1
- package/dist/web-sdk/src/services/sellers.js +6 -6
- package/dist/web-sdk/src/services/sellers.js.map +1 -1
- package/package.json +16 -3
- package/.ls-lint.yml +0 -8
- package/.nvmrc +0 -1
- package/.prettierignore +0 -0
- package/.prettierrc.js +0 -3
- package/codegen.yml +0 -11
- package/src/constants/graphql-base.constant.ts +0 -1
- package/src/contexts/index.ts +0 -33
- package/src/functions/init-sdk-client.function.ts +0 -19
- package/src/functions/init-sdk.function.ts +0 -26
- package/src/functions/safe-call.function.ts +0 -29
- package/src/index.d.ts +0 -0
- package/src/index.ts +0 -74
- package/src/services/attributes.ts +0 -42
- package/src/services/brands.ts +0 -41
- package/src/services/categories.ts +0 -41
- package/src/services/colors.ts +0 -41
- package/src/services/customers.ts +0 -60
- package/src/services/files.ts +0 -58
- package/src/services/index.ts +0 -9
- package/src/services/metrics.ts +0 -39
- package/src/services/orders.ts +0 -59
- package/src/services/products.ts +0 -65
- package/src/services/sellers.ts +0 -91
- package/src/typings/pagination.typing.ts +0 -18
- package/src/typings/sdk.typing.ts +0 -27
- package/src/utils/fetch-all-infinite.util.ts +0 -41
- package/tsconfig.dev.json +0 -32
- 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 "
|
|
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
|