@inowu/cashdro 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.
- package/README.md +80 -0
- package/dist/cashdro.d.ts +41 -2
- package/dist/cashdro.d.ts.map +1 -1
- package/dist/cashdro.js +113 -21
- package/dist/cashdro.js.map +1 -1
- package/package.json +47 -45
package/README.md
CHANGED
|
@@ -11,6 +11,8 @@ withdrawals and cash-management operations, plus cash-level and reporting querie
|
|
|
11
11
|
- [Authentication](#authentication)
|
|
12
12
|
- [Configuration](#configuration)
|
|
13
13
|
- [How transactions work](#how-transactions-work)
|
|
14
|
+
- [Non-blocking usage](#non-blocking-usage)
|
|
15
|
+
- [Debug mode](#debug-mode)
|
|
14
16
|
- [Client reference](#client-reference)
|
|
15
17
|
- [Connectivity & health](#connectivity--health)
|
|
16
18
|
- [Transactions — lifecycle](#transactions--lifecycle)
|
|
@@ -82,6 +84,7 @@ The optional `posuser`, `posid` and `aliasid` fields accepted by transactions ar
|
|
|
82
84
|
| `maxRetries` | Automatic retries with exponential backoff (default 2). |
|
|
83
85
|
| `headers` | Extra headers to send on every request. |
|
|
84
86
|
| `fetch` | Custom `fetch` implementation (see [Advanced](#custom-fetch--self-signed-tls)). |
|
|
87
|
+
| `debug` | Trace the multi-operation helpers — `true` to log, or a handler function (see [Debug mode](#debug-mode)). |
|
|
85
88
|
|
|
86
89
|
```ts
|
|
87
90
|
const cashdro = new CashDroClient({
|
|
@@ -123,6 +126,83 @@ is configured for.
|
|
|
123
126
|
while one is active fails with `code -2`. Use `askOperationExecuting()` to detect
|
|
124
127
|
and recover a stuck operation.
|
|
125
128
|
|
|
129
|
+
## Non-blocking usage
|
|
130
|
+
|
|
131
|
+
A sale can take a while — the unit waits for the customer to insert cash. Don't
|
|
132
|
+
`await` the whole `start → wait → import` chain in a request handler; instead let
|
|
133
|
+
it run in the background and react via callbacks. The `onStart` callback hands you
|
|
134
|
+
the `operationId` the instant it's known (before any waiting), so the UI can show a
|
|
135
|
+
pay screen and offer a Cancel button immediately.
|
|
136
|
+
|
|
137
|
+
```ts
|
|
138
|
+
import { CashDroClient, CashDroTimeoutError } from "@inowu/cashdro";
|
|
139
|
+
|
|
140
|
+
// Fire-and-forget: runs start → acknowledge → poll → import in the background.
|
|
141
|
+
void cashdro
|
|
142
|
+
.sale(1250, {
|
|
143
|
+
waitForFinish: true, // poll until the customer finishes paying
|
|
144
|
+
autoImport: true, // record it on the unit when done
|
|
145
|
+
onStart: (operationId) => showPayScreen(operationId), // returned immediately
|
|
146
|
+
poll: { onPoll: (status) => updateUi(status), timeoutMs: 120_000 },
|
|
147
|
+
})
|
|
148
|
+
.then((r) => onPaid(r.final?.response?.operation?.operation)) // totalin / totalout
|
|
149
|
+
.catch((err) => {
|
|
150
|
+
if (err instanceof CashDroTimeoutError) return; // nobody paid in time
|
|
151
|
+
onError(err);
|
|
152
|
+
});
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
To let a **Cancel** button stop a sale in flight, cancel it on the unit — the
|
|
156
|
+
background poll then resolves at state `F` on its next tick:
|
|
157
|
+
|
|
158
|
+
```ts
|
|
159
|
+
cancelButton.onclick = () => cashdro.finishOperation(operationId, 2);
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
Equivalently you can drive the steps yourself: `await cashdro.sale(...)` returns
|
|
163
|
+
after start+acknowledge (fast), then call `cashdro.pollUntilFinished(id)` from a
|
|
164
|
+
background task. Pass an `AbortSignal` in `poll`/`pollUntilFinished` options if you
|
|
165
|
+
need to stop polling without cancelling the transaction.
|
|
166
|
+
|
|
167
|
+
## Debug mode
|
|
168
|
+
|
|
169
|
+
The multi-operation helpers (`sale`, `runOperation`, `pollUntilFinished`, …) can
|
|
170
|
+
trace exactly what they do — each underlying call, its result, and every status
|
|
171
|
+
poll. Pass `debug: true` to log to the console:
|
|
172
|
+
|
|
173
|
+
```ts
|
|
174
|
+
const cashdro = new CashDroClient({ baseUrl, username, password, debug: true });
|
|
175
|
+
await cashdro.sale(100, { waitForFinish: true, autoImport: true });
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
```text
|
|
179
|
+
[cashdro] sale: startOperation(type=4, amount=100)
|
|
180
|
+
[cashdro] sale: startOperation → operationId=128 (code=1, 41ms)
|
|
181
|
+
[cashdro] sale: acknowledgeOperationId(128) → code=1
|
|
182
|
+
[cashdro] pollUntilFinished(128): polling every 1000ms, timeout 120000ms
|
|
183
|
+
[cashdro] pollUntilFinished(128): poll #1 → state=Q
|
|
184
|
+
[cashdro] pollUntilFinished(128): poll #2 → state=E
|
|
185
|
+
[cashdro] pollUntilFinished(128): finished after 3 poll(s)
|
|
186
|
+
[cashdro] sale: setOperationImported(128) → code=1
|
|
187
|
+
[cashdro] sale: done (operationId=128)
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
For structured logging, pass a handler instead and route the `CashDroDebugEvent`s
|
|
191
|
+
to your own logger:
|
|
192
|
+
|
|
193
|
+
```ts
|
|
194
|
+
const cashdro = new CashDroClient({
|
|
195
|
+
baseUrl,
|
|
196
|
+
username,
|
|
197
|
+
password,
|
|
198
|
+
debug: (e) => logger.debug({ seq: e.seq, helper: e.helper, op: e.op, ...e.detail }, e.message),
|
|
199
|
+
});
|
|
200
|
+
```
|
|
201
|
+
|
|
202
|
+
Each event is `{ seq, at, helper, op, phase, detail, message }` — `phase` is
|
|
203
|
+
`"call"`, `"result"`, `"poll"`, or `"info"`. This traces the helper orchestration
|
|
204
|
+
and is independent of the transport layer.
|
|
205
|
+
|
|
126
206
|
## Client reference
|
|
127
207
|
|
|
128
208
|
Methods that map 1:1 to a device operation return the raw response; the convenience
|
package/dist/cashdro.d.ts
CHANGED
|
@@ -14,6 +14,29 @@
|
|
|
14
14
|
* purely a nicer surface and is never overwritten by `fern generate`.
|
|
15
15
|
*/
|
|
16
16
|
import { CashDroApiClient, CashDroApi } from "./index.js";
|
|
17
|
+
/**
|
|
18
|
+
* A single trace event emitted by the multi-operation helpers when debug is
|
|
19
|
+
* enabled (see {@link CashDroOptions.debug}). One is emitted before and after
|
|
20
|
+
* each underlying call, plus one per status poll.
|
|
21
|
+
*/
|
|
22
|
+
export interface CashDroDebugEvent {
|
|
23
|
+
/** 1-based sequence number within this client instance. */
|
|
24
|
+
seq: number;
|
|
25
|
+
/** Timestamp (ms since epoch) the event was emitted. */
|
|
26
|
+
at: number;
|
|
27
|
+
/** The high-level helper in play, e.g. "sale", "runOperation", "pollUntilFinished". */
|
|
28
|
+
helper?: string;
|
|
29
|
+
/** The underlying operation, e.g. "startOperation", "askOperation", "done". */
|
|
30
|
+
op: string;
|
|
31
|
+
/** "call" before a request, "result" after it, "poll" per status poll, "info" for milestones. */
|
|
32
|
+
phase: "call" | "result" | "poll" | "info";
|
|
33
|
+
/** Structured details (operationId, type, amount, code, state, attempt, durationMs, ...). */
|
|
34
|
+
detail?: Record<string, unknown>;
|
|
35
|
+
/** Pre-formatted, human-readable one-liner. */
|
|
36
|
+
message: string;
|
|
37
|
+
}
|
|
38
|
+
/** Receives {@link CashDroDebugEvent}s. Pass one as `debug` to integrate with your own logger. */
|
|
39
|
+
export type CashDroDebugHandler = (event: CashDroDebugEvent) => void;
|
|
17
40
|
/** Thrown when a CashDro call returns a non-success `code`. Carries the raw response. */
|
|
18
41
|
export declare class CashDroError extends Error {
|
|
19
42
|
readonly response: unknown;
|
|
@@ -46,6 +69,8 @@ export interface RunOperationOptions {
|
|
|
46
69
|
onStart?: (operationId: number, started: CashDroApi.StartOperationResponse) => void;
|
|
47
70
|
/** Forwarded to pollUntilFinished when waitForFinish is true. */
|
|
48
71
|
poll?: PollOptions;
|
|
72
|
+
/** Label shown in debug output (e.g. "sale"). Defaults to "runOperation". */
|
|
73
|
+
helper?: string;
|
|
49
74
|
}
|
|
50
75
|
/**
|
|
51
76
|
* Result of {@link CashDroClient.runOperation}. Nothing is hidden — every raw
|
|
@@ -69,8 +94,18 @@ export interface RunOperationResult {
|
|
|
69
94
|
* e.g. `{ baseUrl: "https://cashdro.prod.example/" }`.
|
|
70
95
|
* - `environment` — alternative to baseUrl (baseUrl takes precedence).
|
|
71
96
|
* - `headers`, `fetch`, `timeoutInSeconds`, `maxRetries`, `auth`, ...
|
|
97
|
+
*
|
|
98
|
+
* Plus a `debug` option to trace the multi-operation helpers.
|
|
72
99
|
*/
|
|
73
|
-
export type CashDroOptions = CashDroApiClient.Options
|
|
100
|
+
export type CashDroOptions = CashDroApiClient.Options & {
|
|
101
|
+
/**
|
|
102
|
+
* Trace the multi-operation helpers (`runOperation`, `pollUntilFinished`,
|
|
103
|
+
* `sale`, …) so you can see each underlying call, its result, and every
|
|
104
|
+
* status poll. `true` logs to the console; pass a function to receive
|
|
105
|
+
* structured {@link CashDroDebugEvent}s and route them to your own logger.
|
|
106
|
+
*/
|
|
107
|
+
debug?: boolean | CashDroDebugHandler;
|
|
108
|
+
};
|
|
74
109
|
/** type id for startOperation. 4 = sale, 3 = payment, 1 = load, 2 = withdrawal, 8 = transfer, 16 = deposit, 18 = change. */
|
|
75
110
|
export type OperationType = number;
|
|
76
111
|
export interface StartOperationParams {
|
|
@@ -95,9 +130,13 @@ export interface DenominationPiece {
|
|
|
95
130
|
isBill: boolean;
|
|
96
131
|
}
|
|
97
132
|
export declare class CashDroClient {
|
|
98
|
-
/** The underlying
|
|
133
|
+
/** The underlying generated client, exposed for escape-hatch access. */
|
|
99
134
|
readonly api: CashDroApiClient;
|
|
135
|
+
private readonly emitDebug?;
|
|
136
|
+
private seq;
|
|
100
137
|
constructor(options: CashDroOptions);
|
|
138
|
+
/** Emit a debug event if a handler is configured (no-op otherwise). */
|
|
139
|
+
private emit;
|
|
101
140
|
/** Verify connection and credentials. */
|
|
102
141
|
doTest(requestOptions?: CashDroApiClient.RequestOptions): import("./core/index.js").HttpResponsePromise<CashDroApi.SimpleResponse>;
|
|
103
142
|
/** Open a cash-movement transaction; returns an operationId. */
|
package/dist/cashdro.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cashdro.d.ts","sourceRoot":"","sources":["../cashdro.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAI1D,yFAAyF;AACzF,qBAAa,YAAa,SAAQ,KAAK;IAG/B,QAAQ,CAAC,QAAQ,EAAE,OAAO;gBAD1B,OAAO,EAAE,MAAM,EACN,QAAQ,EAAE,OAAO;CAKjC;AAED,sGAAsG;AACtG,qBAAa,mBAAoB,SAAQ,KAAK;IAEtC,QAAQ,CAAC,WAAW,EAAE,MAAM;IAC5B,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC,oBAAoB;gBADrC,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,UAAU,CAAC,oBAAoB;CAKrD;AAED,MAAM,WAAW,WAAW;IACxB,kDAAkD;IAClD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,qFAAqF;IACrF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iCAAiC;IACjC,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,oFAAoF;IACpF,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,UAAU,CAAC,oBAAoB,KAAK,IAAI,CAAC;CAC9D;AAED,MAAM,WAAW,mBAAmB;IAChC,gEAAgE;IAChE,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,8FAA8F;IAC9F,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,gEAAgE;IAChE,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,uEAAuE;IACvE,OAAO,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,CAAC,sBAAsB,KAAK,IAAI,CAAC;IACpF,iEAAiE;IACjE,IAAI,CAAC,EAAE,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"cashdro.d.ts","sourceRoot":"","sources":["../cashdro.ts"],"names":[],"mappings":"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"}
|
package/dist/cashdro.js
CHANGED
|
@@ -15,6 +15,10 @@
|
|
|
15
15
|
*/
|
|
16
16
|
import { CashDroApiClient } from "./index.js";
|
|
17
17
|
const sleep = (ms) => new Promise((r) => setTimeout(r, ms));
|
|
18
|
+
const defaultDebugHandler = (e) => {
|
|
19
|
+
// eslint-disable-next-line no-console
|
|
20
|
+
console.debug(`[cashdro] ${e.message}`);
|
|
21
|
+
};
|
|
18
22
|
/** Thrown when a CashDro call returns a non-success `code`. Carries the raw response. */
|
|
19
23
|
export class CashDroError extends Error {
|
|
20
24
|
response;
|
|
@@ -46,10 +50,21 @@ const toSpanishPiece = (p) => ({
|
|
|
46
50
|
isBillete: String(p.isBill),
|
|
47
51
|
});
|
|
48
52
|
export class CashDroClient {
|
|
49
|
-
/** The underlying
|
|
53
|
+
/** The underlying generated client, exposed for escape-hatch access. */
|
|
50
54
|
api;
|
|
55
|
+
emitDebug;
|
|
56
|
+
seq = 0;
|
|
51
57
|
constructor(options) {
|
|
52
|
-
|
|
58
|
+
const { debug, ...apiOptions } = options;
|
|
59
|
+
this.api = new CashDroApiClient(apiOptions);
|
|
60
|
+
this.emitDebug =
|
|
61
|
+
debug === true ? defaultDebugHandler : typeof debug === "function" ? debug : undefined;
|
|
62
|
+
}
|
|
63
|
+
/** Emit a debug event if a handler is configured (no-op otherwise). */
|
|
64
|
+
emit(event) {
|
|
65
|
+
const handler = this.emitDebug;
|
|
66
|
+
if (handler)
|
|
67
|
+
handler({ seq: ++this.seq, at: Date.now(), ...event });
|
|
53
68
|
}
|
|
54
69
|
/** Verify connection and credentials. */
|
|
55
70
|
doTest(requestOptions) {
|
|
@@ -122,15 +137,51 @@ export class CashDroClient {
|
|
|
122
137
|
async pollUntilFinished(operationId, opts = {}) {
|
|
123
138
|
const { intervalMs = 1000, timeoutMs = 120_000, signal, onPoll } = opts;
|
|
124
139
|
const deadline = Date.now() + timeoutMs;
|
|
140
|
+
this.emit({
|
|
141
|
+
op: "pollUntilFinished",
|
|
142
|
+
phase: "info",
|
|
143
|
+
detail: { operationId, intervalMs, timeoutMs },
|
|
144
|
+
message: `pollUntilFinished(${operationId}): polling every ${intervalMs}ms, timeout ${timeoutMs}ms`,
|
|
145
|
+
});
|
|
146
|
+
let attempt = 0;
|
|
125
147
|
while (true) {
|
|
148
|
+
attempt++;
|
|
126
149
|
const status = await this.askOperation(operationId);
|
|
150
|
+
const state = status.response?.operation?.operation?.state;
|
|
151
|
+
this.emit({
|
|
152
|
+
op: "askOperation",
|
|
153
|
+
phase: "poll",
|
|
154
|
+
detail: { operationId, attempt, state },
|
|
155
|
+
message: `pollUntilFinished(${operationId}): poll #${attempt} → state=${state ?? "?"}`,
|
|
156
|
+
});
|
|
127
157
|
onPoll?.(status);
|
|
128
|
-
if (
|
|
158
|
+
if (state === "F") {
|
|
159
|
+
this.emit({
|
|
160
|
+
op: "pollUntilFinished",
|
|
161
|
+
phase: "info",
|
|
162
|
+
detail: { operationId, attempt, state },
|
|
163
|
+
message: `pollUntilFinished(${operationId}): finished after ${attempt} poll(s)`,
|
|
164
|
+
});
|
|
129
165
|
return status;
|
|
130
|
-
|
|
166
|
+
}
|
|
167
|
+
if (signal?.aborted) {
|
|
168
|
+
this.emit({
|
|
169
|
+
op: "pollUntilFinished",
|
|
170
|
+
phase: "info",
|
|
171
|
+
detail: { operationId, attempt, aborted: true },
|
|
172
|
+
message: `pollUntilFinished(${operationId}): aborted after ${attempt} poll(s)`,
|
|
173
|
+
});
|
|
131
174
|
throw new CashDroError(`poll aborted for operation ${operationId}`, status);
|
|
132
|
-
|
|
175
|
+
}
|
|
176
|
+
if (Date.now() >= deadline) {
|
|
177
|
+
this.emit({
|
|
178
|
+
op: "pollUntilFinished",
|
|
179
|
+
phase: "info",
|
|
180
|
+
detail: { operationId, attempt, timedOut: true },
|
|
181
|
+
message: `pollUntilFinished(${operationId}): timed out after ${attempt} poll(s)`,
|
|
182
|
+
});
|
|
133
183
|
throw new CashDroTimeoutError(operationId, status);
|
|
184
|
+
}
|
|
134
185
|
await sleep(intervalMs);
|
|
135
186
|
}
|
|
136
187
|
}
|
|
@@ -146,75 +197,116 @@ export class CashDroClient {
|
|
|
146
197
|
*/
|
|
147
198
|
async runOperation(params, opts = {}) {
|
|
148
199
|
const { acknowledge = true, waitForFinish = false, autoImport = false, onStart, poll } = opts;
|
|
200
|
+
const helper = opts.helper ?? "runOperation";
|
|
201
|
+
this.emit({
|
|
202
|
+
helper,
|
|
203
|
+
op: "startOperation",
|
|
204
|
+
phase: "call",
|
|
205
|
+
detail: { type: params.type, amount: params.amount, parameters: params.parameters },
|
|
206
|
+
message: `${helper}: startOperation(type=${params.type}${params.amount != null ? `, amount=${params.amount}` : ""})`,
|
|
207
|
+
});
|
|
208
|
+
let t = Date.now();
|
|
149
209
|
const started = await this.startOperation(params);
|
|
150
210
|
const operationId = Number(started.response?.operation?.operationId);
|
|
211
|
+
this.emit({
|
|
212
|
+
helper,
|
|
213
|
+
op: "startOperation",
|
|
214
|
+
phase: "result",
|
|
215
|
+
detail: { operationId, code: started.code, durationMs: Date.now() - t },
|
|
216
|
+
message: `${helper}: startOperation → operationId=${operationId} (code=${started.code}, ${Date.now() - t}ms)`,
|
|
217
|
+
});
|
|
151
218
|
if (started.code !== 1 || Number.isNaN(operationId)) {
|
|
152
219
|
throw new CashDroError(`startOperation failed (code ${started.code})`, started);
|
|
153
220
|
}
|
|
154
221
|
onStart?.(operationId, started);
|
|
155
222
|
const result = { operationId, started };
|
|
156
|
-
if (acknowledge)
|
|
157
|
-
|
|
223
|
+
if (acknowledge) {
|
|
224
|
+
t = Date.now();
|
|
225
|
+
const ack = await this.acknowledgeOperationId(operationId);
|
|
226
|
+
this.emit({
|
|
227
|
+
helper,
|
|
228
|
+
op: "acknowledgeOperationId",
|
|
229
|
+
phase: "result",
|
|
230
|
+
detail: { operationId, code: ack.code, durationMs: Date.now() - t },
|
|
231
|
+
message: `${helper}: acknowledgeOperationId(${operationId}) → code=${ack.code}`,
|
|
232
|
+
});
|
|
233
|
+
}
|
|
158
234
|
if (waitForFinish)
|
|
159
235
|
result.final = await this.pollUntilFinished(operationId, poll);
|
|
160
|
-
if (autoImport)
|
|
236
|
+
if (autoImport) {
|
|
237
|
+
t = Date.now();
|
|
161
238
|
result.imported = await this.setOperationImported(operationId);
|
|
239
|
+
this.emit({
|
|
240
|
+
helper,
|
|
241
|
+
op: "setOperationImported",
|
|
242
|
+
phase: "result",
|
|
243
|
+
detail: { operationId, code: result.imported.code, durationMs: Date.now() - t },
|
|
244
|
+
message: `${helper}: setOperationImported(${operationId}) → code=${result.imported.code}`,
|
|
245
|
+
});
|
|
246
|
+
}
|
|
247
|
+
this.emit({
|
|
248
|
+
helper,
|
|
249
|
+
op: "done",
|
|
250
|
+
phase: "info",
|
|
251
|
+
detail: { operationId, finalState: result.final?.response?.operation?.operation?.state },
|
|
252
|
+
message: `${helper}: done (operationId=${operationId})`,
|
|
253
|
+
});
|
|
162
254
|
return result;
|
|
163
255
|
}
|
|
164
256
|
/** Shared plumbing for the per-transaction conveniences below. */
|
|
165
|
-
txn(type, opts, extra) {
|
|
257
|
+
txn(type, opts, extra, helper) {
|
|
166
258
|
const { posid, posuser, aliasid, ...run } = opts;
|
|
167
|
-
return this.runOperation({ type, posid, posuser, aliasid, amount: extra?.amount, parameters: extra?.parameters }, run);
|
|
259
|
+
return this.runOperation({ type, posid, posuser, aliasid, amount: extra?.amount, parameters: extra?.parameters }, { ...run, helper: helper ?? run.helper });
|
|
168
260
|
}
|
|
169
261
|
// --- amount-based transactions (parameters = {"amount":"<minor units>"}) ---
|
|
170
262
|
/** Sale / venta (type 4). */
|
|
171
263
|
sale(amount, opts = {}) {
|
|
172
|
-
return this.txn(4, opts, { amount });
|
|
264
|
+
return this.txn(4, opts, { amount }, "sale");
|
|
173
265
|
}
|
|
174
266
|
/** Payment / pago (type 3). */
|
|
175
267
|
payment(amount, opts = {}) {
|
|
176
|
-
return this.txn(3, opts, { amount });
|
|
268
|
+
return this.txn(3, opts, { amount }, "payment");
|
|
177
269
|
}
|
|
178
270
|
/** Deposit by amount / ingreso por importe (type 17). */
|
|
179
271
|
depositByAmount(amount, opts = {}) {
|
|
180
|
-
return this.txn(17, opts, { amount });
|
|
272
|
+
return this.txn(17, opts, { amount }, "depositByAmount");
|
|
181
273
|
}
|
|
182
274
|
// --- denomination-based payment (parameters = {"pieces":{"piece":[...]}}) ---
|
|
183
275
|
/** Pay by denomination / pago por denominación (type 3) — dispense the given pieces. */
|
|
184
276
|
paymentByDenomination(pieces, opts = {}) {
|
|
185
277
|
const parameters = JSON.stringify({ pieces: { piece: pieces.map(toEnglishPiece) } });
|
|
186
|
-
return this.txn(3, opts, { parameters });
|
|
278
|
+
return this.txn(3, opts, { parameters }, "paymentByDenomination");
|
|
187
279
|
}
|
|
188
280
|
// --- transactions with no startOperation parameters ---
|
|
189
281
|
// (driven to completion on the unit's web UI, by finishOperation, or by the
|
|
190
282
|
// operator; use waitForFinish / finishOperation / finishWithPieces as needed)
|
|
191
283
|
/** Deposit / ingreso (type 16). Finalize with finishOperation(id, 1) once the user is done. */
|
|
192
284
|
deposit(opts = {}) {
|
|
193
|
-
return this.txn(16, opts);
|
|
285
|
+
return this.txn(16, opts, undefined, "deposit");
|
|
194
286
|
}
|
|
195
287
|
/** Change / cambio (type 18). */
|
|
196
288
|
change(opts = {}) {
|
|
197
|
-
return this.txn(18, opts);
|
|
289
|
+
return this.txn(18, opts, undefined, "change");
|
|
198
290
|
}
|
|
199
291
|
/** Load / carga (type 1). */
|
|
200
292
|
load(opts = {}) {
|
|
201
|
-
return this.txn(1, opts);
|
|
293
|
+
return this.txn(1, opts, undefined, "load");
|
|
202
294
|
}
|
|
203
295
|
/** Withdrawal / retirada (type 2), driven by the unit's web UI. */
|
|
204
296
|
withdraw(opts = {}) {
|
|
205
|
-
return this.txn(2, opts);
|
|
297
|
+
return this.txn(2, opts, undefined, "withdraw");
|
|
206
298
|
}
|
|
207
299
|
/** Transfer to cassette / traspaso a casete (type 8), driven by the unit's web UI. */
|
|
208
300
|
transferToCassette(opts = {}) {
|
|
209
|
-
return this.txn(8, opts);
|
|
301
|
+
return this.txn(8, opts, undefined, "transferToCassette");
|
|
210
302
|
}
|
|
211
303
|
/** Empty the note cassette / retirada casete de billetes (type 10). */
|
|
212
304
|
emptyNoteCassette(opts = {}) {
|
|
213
|
-
return this.txn(10, opts);
|
|
305
|
+
return this.txn(10, opts, undefined, "emptyNoteCassette");
|
|
214
306
|
}
|
|
215
307
|
/** Empty the coin cassette / retirada casete de monedas (type 11). */
|
|
216
308
|
emptyCoinCassette(opts = {}) {
|
|
217
|
-
return this.txn(11, opts);
|
|
309
|
+
return this.txn(11, opts, undefined, "emptyCoinCassette");
|
|
218
310
|
}
|
|
219
311
|
/**
|
|
220
312
|
* Finalize a "sin interfaz web" withdrawal (type 2) or transfer to cassette
|
package/dist/cashdro.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cashdro.js","sourceRoot":"","sources":["../cashdro.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cashdro.js","sourceRoot":"","sources":["../cashdro.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,47 +1,49 @@
|
|
|
1
1
|
{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
2
|
+
"name": "@inowu/cashdro",
|
|
3
|
+
"version": "0.2.0",
|
|
4
|
+
"description": "TypeScript client for CashDro automated cash recyclers over the Web Service integration API.",
|
|
5
|
+
"license": "UNLICENSED",
|
|
6
|
+
"author": "Inowu",
|
|
7
|
+
"keywords": [
|
|
8
|
+
"cashdro",
|
|
9
|
+
"cash-recycler",
|
|
10
|
+
"payments",
|
|
11
|
+
"point-of-sale",
|
|
12
|
+
"sdk"
|
|
13
|
+
],
|
|
14
|
+
"repository": {
|
|
15
|
+
"type": "git",
|
|
16
|
+
"url": "git+https://github.com/Inowu/cashdro-sdk-typescript.git"
|
|
17
|
+
},
|
|
18
|
+
"type": "module",
|
|
19
|
+
"main": "./dist/main.js",
|
|
20
|
+
"module": "./dist/main.js",
|
|
21
|
+
"types": "./dist/main.d.ts",
|
|
22
|
+
"exports": {
|
|
23
|
+
".": {
|
|
24
|
+
"types": "./dist/main.d.ts",
|
|
25
|
+
"import": "./dist/main.js",
|
|
26
|
+
"default": "./dist/main.js"
|
|
27
|
+
},
|
|
28
|
+
"./package.json": "./package.json"
|
|
29
|
+
},
|
|
30
|
+
"files": [
|
|
31
|
+
"dist",
|
|
32
|
+
"README.md"
|
|
33
|
+
],
|
|
34
|
+
"sideEffects": false,
|
|
35
|
+
"engines": {
|
|
36
|
+
"node": ">=18"
|
|
37
|
+
},
|
|
38
|
+
"publishConfig": {
|
|
39
|
+
"access": "public"
|
|
40
|
+
},
|
|
41
|
+
"scripts": {
|
|
42
|
+
"build": "tsc -p tsconfig.json",
|
|
43
|
+
"prepack": "npm run build"
|
|
44
|
+
},
|
|
45
|
+
"devDependencies": {
|
|
46
|
+
"@types/node": "^22",
|
|
47
|
+
"typescript": "^5.6.3"
|
|
27
48
|
}
|
|
28
|
-
|
|
29
|
-
"files": [
|
|
30
|
-
"dist",
|
|
31
|
-
"README.md"
|
|
32
|
-
],
|
|
33
|
-
"sideEffects": false,
|
|
34
|
-
"engines": {
|
|
35
|
-
"node": ">=18"
|
|
36
|
-
},
|
|
37
|
-
"publishConfig": {
|
|
38
|
-
"access": "public"
|
|
39
|
-
},
|
|
40
|
-
"devDependencies": {
|
|
41
|
-
"@types/node": "^22",
|
|
42
|
-
"typescript": "^5.6.3"
|
|
43
|
-
},
|
|
44
|
-
"scripts": {
|
|
45
|
-
"build": "tsc -p tsconfig.json"
|
|
46
|
-
}
|
|
47
|
-
}
|
|
49
|
+
}
|