@cobre-npm/library-response-catalog-node 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/LICENSE +15 -0
- package/README.md +92 -0
- package/dist/domain/core/models/catalog-client-exception.d.ts +42 -0
- package/dist/domain/core/models/catalog-client-exception.d.ts.map +1 -0
- package/dist/domain/core/models/response.d.ts +67 -0
- package/dist/domain/core/models/response.d.ts.map +1 -0
- package/dist/domain/core/models/supplier-error-context.d.ts +39 -0
- package/dist/domain/core/models/supplier-error-context.d.ts.map +1 -0
- package/dist/domain/ports/out/catalog.port.d.ts +16 -0
- package/dist/domain/ports/out/catalog.port.d.ts.map +1 -0
- package/dist/index.d.ts +20 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +25 -0
- package/dist/index.js.map +1 -0
- package/package.json +58 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
ISC License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Cobre
|
|
4
|
+
|
|
5
|
+
Permission to use, copy, modify, and/or distribute this software for any
|
|
6
|
+
purpose with or without fee is hereby granted, provided that the above
|
|
7
|
+
copyright notice and this permission notice appear in all copies.
|
|
8
|
+
|
|
9
|
+
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
|
10
|
+
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
|
11
|
+
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
|
12
|
+
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
|
13
|
+
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|
14
|
+
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
15
|
+
PERFORMANCE OF THIS SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
# library-response-catalog-node
|
|
2
|
+
|
|
3
|
+
Node.js SDK that will resolve a supplier-reported error against Cobre's Response Catalog
|
|
4
|
+
Read API (`GET /v1/resolve`). Callers send a supplier, domain, and error code; the catalog
|
|
5
|
+
returns a localized frontend message plus internal metadata.
|
|
6
|
+
|
|
7
|
+
This release adds the **domain contract** (`0.2.0`): the `Response` shape, the
|
|
8
|
+
`SupplierErrorContext` builder, the `CatalogPort` outbound port, and
|
|
9
|
+
`CatalogClientException`. There is no HTTP implementation yet — that lands in a later
|
|
10
|
+
stacked PR on `Feature/BLCK-28319-*`.
|
|
11
|
+
|
|
12
|
+
The finished client will own HTTP, retries, the circuit breaker, and — unlike
|
|
13
|
+
[`library-response-catalog-java`](https://github.com/Cobre-Colombia/library-response-catalog-java)
|
|
14
|
+
— a **local technical fallback** when the catalog is unavailable.
|
|
15
|
+
|
|
16
|
+
## Install
|
|
17
|
+
|
|
18
|
+
```bash
|
|
19
|
+
pnpm add @cobre-npm/library-response-catalog-node
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
Requires [pnpm](https://pnpm.io) `10.27.0` (see `packageManager` in `package.json`).
|
|
23
|
+
Same-cluster calls will need nothing else. Cross-cluster (`INTERNAL_GATEWAY`) will also
|
|
24
|
+
need `@cobre-npm/library-nodejs-common`.
|
|
25
|
+
|
|
26
|
+
## Public API (0.2.0)
|
|
27
|
+
|
|
28
|
+
| Export | Role |
|
|
29
|
+
|---|---|
|
|
30
|
+
| `LIBRARY_VERSION` | Package version string (`0.2.0`). Matches `package.json`. |
|
|
31
|
+
| `buildSupplierErrorContext` | Validates and builds a `SupplierErrorContext` (`supplier`/`domain`/`code` required, `locale` optional). |
|
|
32
|
+
| `SupplierErrorContext`, `SupplierErrorContextInput` | Validated context type and its raw input. |
|
|
33
|
+
| `CatalogPort` | Outbound port: `fetchResponse(context): Promise<Response>`. |
|
|
34
|
+
| `Response`, `SupplierInfo`, `InternalInfo`, `ApiInfo` | Resolved catalog entry: supplier/internal/api views plus the localized message. |
|
|
35
|
+
| `CatalogClientException` | Thrown by a `CatalogPort` implementation. `isTransient()` / `isCredentialError()` classify the failure. |
|
|
36
|
+
|
|
37
|
+
## Usage
|
|
38
|
+
|
|
39
|
+
```typescript
|
|
40
|
+
import {
|
|
41
|
+
buildSupplierErrorContext,
|
|
42
|
+
CatalogClientException,
|
|
43
|
+
CatalogPort,
|
|
44
|
+
} from '@cobre-npm/library-response-catalog-node'
|
|
45
|
+
|
|
46
|
+
const context = buildSupplierErrorContext({
|
|
47
|
+
supplier: 'nequi',
|
|
48
|
+
domain: 'wallets',
|
|
49
|
+
code: '58',
|
|
50
|
+
locale: 'es-CO',
|
|
51
|
+
})
|
|
52
|
+
|
|
53
|
+
try {
|
|
54
|
+
const response = await catalogPort.fetchResponse(context)
|
|
55
|
+
console.log(response.resolvedMessage)
|
|
56
|
+
} catch (error) {
|
|
57
|
+
if (error instanceof CatalogClientException && error.isTransient()) {
|
|
58
|
+
// safe to retry, or fall back locally once that layer ships
|
|
59
|
+
}
|
|
60
|
+
throw error
|
|
61
|
+
}
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
A runnable copy of this snippet lives in
|
|
65
|
+
[`examples/domain-context.ts`](examples/domain-context.ts). `catalogPort` above is any
|
|
66
|
+
`CatalogPort` implementation — the real HTTP client ships in a later layer.
|
|
67
|
+
|
|
68
|
+
## What "resolve" means
|
|
69
|
+
|
|
70
|
+
A supplier (for example Nequi) reports a raw error code. The catalog maps that code to:
|
|
71
|
+
|
|
72
|
+
- a **frontend token** or localized `resolvedMessage`
|
|
73
|
+
- `internal` / `api` metadata for support and observability
|
|
74
|
+
- an optional remote `fallbackApplied` flag when the catalog itself substituted an entry
|
|
75
|
+
|
|
76
|
+
## Build
|
|
77
|
+
|
|
78
|
+
```bash
|
|
79
|
+
pnpm lint
|
|
80
|
+
pnpm test
|
|
81
|
+
pnpm run build
|
|
82
|
+
pnpm run docs # generates TypeDoc HTML into docs/api/ (gitignored)
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
## Documentation
|
|
86
|
+
|
|
87
|
+
- [Architecture](ARCHITECTURE.md)
|
|
88
|
+
- [Changelog](CHANGELOG.md)
|
|
89
|
+
- [Scaffold notes](docs/releases/01-scaffold.md)
|
|
90
|
+
- [Docs index](docs/README.md)
|
|
91
|
+
- [Examples](examples/README.md)
|
|
92
|
+
- [Contributing](CONTRIBUTING.md)
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Raised when a {@link CatalogPort} implementation fails to resolve a
|
|
3
|
+
* supplier error, whether due to an HTTP error response from the catalog or
|
|
4
|
+
* a network-level failure (timeout, DNS, connection reset).
|
|
5
|
+
*
|
|
6
|
+
* @example
|
|
7
|
+
* ```typescript
|
|
8
|
+
* try {
|
|
9
|
+
* await catalogPort.fetchResponse(context)
|
|
10
|
+
* } catch (error) {
|
|
11
|
+
* if (error instanceof CatalogClientException && error.isTransient()) {
|
|
12
|
+
* // safe to retry or fall back locally
|
|
13
|
+
* }
|
|
14
|
+
* }
|
|
15
|
+
* ```
|
|
16
|
+
*/
|
|
17
|
+
export declare class CatalogClientException extends Error {
|
|
18
|
+
/**
|
|
19
|
+
* HTTP status code returned by the catalog, or `null` when the failure
|
|
20
|
+
* was a network-level error (no HTTP response was received).
|
|
21
|
+
*/
|
|
22
|
+
readonly httpStatusCode: number | null;
|
|
23
|
+
/**
|
|
24
|
+
* @param message - Human-readable description of the failure
|
|
25
|
+
* @param httpStatusCodeOrCause - HTTP status code from the catalog response,
|
|
26
|
+
* or the underlying `Error` when the failure happened before a response
|
|
27
|
+
* was received (network failure). Omit for failures with neither.
|
|
28
|
+
*/
|
|
29
|
+
constructor(message: string, httpStatusCodeOrCause?: number | Error);
|
|
30
|
+
/**
|
|
31
|
+
* Whether this failure is likely temporary and safe to retry: a network
|
|
32
|
+
* failure (`httpStatusCode` is `null`) or a `5xx` response from the
|
|
33
|
+
* catalog.
|
|
34
|
+
*/
|
|
35
|
+
isTransient(): boolean;
|
|
36
|
+
/**
|
|
37
|
+
* Whether this failure was caused by invalid or expired credentials:
|
|
38
|
+
* `401`, `403`, or the catalog's custom credential-error codes `491`/`493`.
|
|
39
|
+
*/
|
|
40
|
+
isCredentialError(): boolean;
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=catalog-client-exception.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"catalog-client-exception.d.ts","sourceRoot":"","sources":["../../../../src/domain/core/models/catalog-client-exception.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,sBAAuB,SAAQ,KAAK;IAC/C;;;OAGG;IACH,QAAQ,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAA;IAEtC;;;;;OAKG;gBACS,OAAO,EAAE,MAAM,EAAE,qBAAqB,CAAC,EAAE,MAAM,GAAG,KAAK;IAYnE;;;;OAIG;IACH,WAAW,IAAI,OAAO;IAItB;;;OAGG;IACH,iBAAiB,IAAI,OAAO;CAG7B"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Raw status as reported by the supplier for this error code, before any
|
|
3
|
+
* catalog resolution is applied.
|
|
4
|
+
*
|
|
5
|
+
* @see {@link Response}
|
|
6
|
+
*/
|
|
7
|
+
export interface SupplierInfo {
|
|
8
|
+
readonly supplierId: string;
|
|
9
|
+
readonly domain: string;
|
|
10
|
+
readonly supplierResponseStatusCode: string;
|
|
11
|
+
readonly supplierResponseStatusDescription?: string;
|
|
12
|
+
readonly status?: string;
|
|
13
|
+
readonly internalStatusCode?: string;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Cobre-internal classification of the error, independent of what the
|
|
17
|
+
* supplier or the public API report.
|
|
18
|
+
*
|
|
19
|
+
* @see {@link Response}
|
|
20
|
+
*/
|
|
21
|
+
export interface InternalInfo {
|
|
22
|
+
readonly internalStatusCode: string;
|
|
23
|
+
readonly internalStatusDescription?: string;
|
|
24
|
+
/** Whether Cobre-internal tooling should retry the originating operation. */
|
|
25
|
+
readonly retryable: boolean;
|
|
26
|
+
readonly status?: string;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Public-facing error metadata returned to API consumers, including the
|
|
30
|
+
* HTTP status the caller should surface.
|
|
31
|
+
*
|
|
32
|
+
* @see {@link Response}
|
|
33
|
+
*/
|
|
34
|
+
export interface ApiInfo {
|
|
35
|
+
readonly code: string;
|
|
36
|
+
readonly message: string;
|
|
37
|
+
readonly httpResponseCode: number;
|
|
38
|
+
/** Error category (for example `validation`, `technical`). */
|
|
39
|
+
readonly type?: string;
|
|
40
|
+
/** Comma-separated list of request fields the error applies to, if any. */
|
|
41
|
+
readonly fields?: string;
|
|
42
|
+
/** Whether the caller should retry the originating request. */
|
|
43
|
+
readonly retryable: boolean;
|
|
44
|
+
/** Link to public documentation describing this error code. */
|
|
45
|
+
readonly docUrl?: string;
|
|
46
|
+
readonly status?: string;
|
|
47
|
+
readonly internalStatusCode?: string;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Result of resolving a {@link SupplierErrorContext} against the Response
|
|
51
|
+
* Catalog: the supplier/internal/api views of the error, plus the message
|
|
52
|
+
* already localized for the caller.
|
|
53
|
+
*
|
|
54
|
+
* `supplier`, `internal`, and `api` are `null` when the catalog has no
|
|
55
|
+
* matching entry for that view (for example, a supplier-only error with no
|
|
56
|
+
* public API mapping yet).
|
|
57
|
+
*/
|
|
58
|
+
export interface Response {
|
|
59
|
+
readonly supplier: SupplierInfo | null;
|
|
60
|
+
readonly internal: InternalInfo | null;
|
|
61
|
+
readonly api: ApiInfo | null;
|
|
62
|
+
readonly resolvedLocale: string;
|
|
63
|
+
readonly resolvedMessage: string;
|
|
64
|
+
/** `true` when this response was produced by the local fallback resolver instead of the remote catalog. */
|
|
65
|
+
readonly fallbackApplied: boolean;
|
|
66
|
+
}
|
|
67
|
+
//# sourceMappingURL=response.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"response.d.ts","sourceRoot":"","sources":["../../../../src/domain/core/models/response.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,0BAA0B,EAAE,MAAM,CAAA;IAC3C,QAAQ,CAAC,iCAAiC,CAAC,EAAE,MAAM,CAAA;IACnD,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAA;CACrC;AAED;;;;;GAKG;AACH,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAA;IACnC,QAAQ,CAAC,yBAAyB,CAAC,EAAE,MAAM,CAAA;IAC3C,6EAA6E;IAC7E,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CACzB;AAED;;;;;GAKG;AACH,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAA;IACjC,8DAA8D;IAC9D,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB,2EAA2E;IAC3E,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;IACxB,+DAA+D;IAC/D,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAA;IAC3B,+DAA+D;IAC/D,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAA;CACrC;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI,CAAA;IACtC,QAAQ,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI,CAAA;IACtC,QAAQ,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI,CAAA;IAC5B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;IAC/B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAA;IAChC,2GAA2G;IAC3G,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAA;CAClC"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Raw input for {@link buildSupplierErrorContext}. `supplier`, `domain`, and
|
|
3
|
+
* `code` must be non-blank; `locale` is optional and normalized to `null`
|
|
4
|
+
* when omitted.
|
|
5
|
+
*/
|
|
6
|
+
export interface SupplierErrorContextInput {
|
|
7
|
+
readonly supplier: string;
|
|
8
|
+
readonly domain: string;
|
|
9
|
+
readonly code: string;
|
|
10
|
+
readonly locale?: string | null;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Validated coordinates identifying a supplier-reported error, ready to pass
|
|
14
|
+
* to {@link CatalogPort.fetchResponse}.
|
|
15
|
+
*/
|
|
16
|
+
export interface SupplierErrorContext {
|
|
17
|
+
readonly supplier: string;
|
|
18
|
+
readonly domain: string;
|
|
19
|
+
readonly code: string;
|
|
20
|
+
readonly locale: string | null;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Validates and builds a {@link SupplierErrorContext} from raw input.
|
|
24
|
+
*
|
|
25
|
+
* @param input - Supplier, domain, error code, and optional locale
|
|
26
|
+
* @returns A `SupplierErrorContext` with `locale` normalized to `null` when omitted
|
|
27
|
+
* @throws {Error} When `supplier`, `domain`, or `code` is `null`, `undefined`, or blank
|
|
28
|
+
* @example
|
|
29
|
+
* ```typescript
|
|
30
|
+
* const context = buildSupplierErrorContext({
|
|
31
|
+
* supplier: 'nequi',
|
|
32
|
+
* domain: 'wallets',
|
|
33
|
+
* code: '58',
|
|
34
|
+
* locale: 'es-CO',
|
|
35
|
+
* })
|
|
36
|
+
* ```
|
|
37
|
+
*/
|
|
38
|
+
export declare const buildSupplierErrorContext: (input: SupplierErrorContextInput) => SupplierErrorContext;
|
|
39
|
+
//# sourceMappingURL=supplier-error-context.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"supplier-error-context.d.ts","sourceRoot":"","sources":["../../../../src/domain/core/models/supplier-error-context.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAChC;AAED;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;CAC/B;AASD;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,yBAAyB,GACpC,OAAO,yBAAyB,KAC/B,oBAKD,CAAA"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { Response } from '../../core/models/response';
|
|
2
|
+
import type { SupplierErrorContext } from '../../core/models/supplier-error-context';
|
|
3
|
+
/** Outbound port: resolve a supplier error against the response catalog. */
|
|
4
|
+
export declare abstract class CatalogPort {
|
|
5
|
+
/**
|
|
6
|
+
* Resolves a supplier-reported error against the Response Catalog.
|
|
7
|
+
*
|
|
8
|
+
* @param context - Validated supplier, domain, error code, and optional locale
|
|
9
|
+
* @returns The resolved {@link Response}
|
|
10
|
+
* @throws {CatalogClientException} When the catalog request fails (network
|
|
11
|
+
* failure or non-2xx response). Use `isTransient()` to decide whether to
|
|
12
|
+
* retry or fall back locally.
|
|
13
|
+
*/
|
|
14
|
+
abstract fetchResponse(context: SupplierErrorContext): Promise<Response>;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=catalog.port.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"catalog.port.d.ts","sourceRoot":"","sources":["../../../../src/domain/ports/out/catalog.port.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAA;AAC1D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,0CAA0C,CAAA;AAEpF,4EAA4E;AAC5E,8BAAsB,WAAW;IAC/B;;;;;;;;OAQG;IACH,QAAQ,CAAC,aAAa,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,QAAQ,CAAC;CACzE"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Published package version. Matches `package.json`.
|
|
3
|
+
*
|
|
4
|
+
* @example
|
|
5
|
+
* ```typescript
|
|
6
|
+
* import { LIBRARY_VERSION } from '@cobre-npm/library-response-catalog-node'
|
|
7
|
+
*
|
|
8
|
+
* console.log(LIBRARY_VERSION) // '0.2.0'
|
|
9
|
+
* ```
|
|
10
|
+
*
|
|
11
|
+
* @see {@link https://github.com/Cobre-Colombia/library-response-catalog-node/blob/trunk/CHANGELOG.md | CHANGELOG}
|
|
12
|
+
* @see {@link https://github.com/Cobre-Colombia/library-response-catalog-node/blob/trunk/docs/releases/01-scaffold.md | Scaffold notes}
|
|
13
|
+
*/
|
|
14
|
+
export declare const LIBRARY_VERSION = "0.2.0";
|
|
15
|
+
export { CatalogPort } from './domain/ports/out/catalog.port';
|
|
16
|
+
export type { Response, SupplierInfo, InternalInfo, ApiInfo, } from './domain/core/models/response';
|
|
17
|
+
export { buildSupplierErrorContext } from './domain/core/models/supplier-error-context';
|
|
18
|
+
export type { SupplierErrorContext, SupplierErrorContextInput, } from './domain/core/models/supplier-error-context';
|
|
19
|
+
export { CatalogClientException } from './domain/core/models/catalog-client-exception';
|
|
20
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,eAAe,UAAU,CAAA;AAEtC,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAA;AAE7D,YAAY,EACV,QAAQ,EACR,YAAY,EACZ,YAAY,EACZ,OAAO,GACR,MAAM,+BAA+B,CAAA;AAEtC,OAAO,EAAE,yBAAyB,EAAE,MAAM,6CAA6C,CAAA;AAEvF,YAAY,EACV,oBAAoB,EACpB,yBAAyB,GAC1B,MAAM,6CAA6C,CAAA;AAEpD,OAAO,EAAE,sBAAsB,EAAE,MAAM,+CAA+C,CAAA"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.CatalogClientException = exports.buildSupplierErrorContext = exports.CatalogPort = exports.LIBRARY_VERSION = void 0;
|
|
5
|
+
/**
|
|
6
|
+
* Published package version. Matches `package.json`.
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* ```typescript
|
|
10
|
+
* import { LIBRARY_VERSION } from '@cobre-npm/library-response-catalog-node'
|
|
11
|
+
*
|
|
12
|
+
* console.log(LIBRARY_VERSION) // '0.2.0'
|
|
13
|
+
* ```
|
|
14
|
+
*
|
|
15
|
+
* @see {@link https://github.com/Cobre-Colombia/library-response-catalog-node/blob/trunk/CHANGELOG.md | CHANGELOG}
|
|
16
|
+
* @see {@link https://github.com/Cobre-Colombia/library-response-catalog-node/blob/trunk/docs/releases/01-scaffold.md | Scaffold notes}
|
|
17
|
+
*/
|
|
18
|
+
exports.LIBRARY_VERSION = '0.2.0';
|
|
19
|
+
var catalog_port_1 = require("./domain/ports/out/catalog.port");
|
|
20
|
+
Object.defineProperty(exports, "CatalogPort", { enumerable: true, get: function () { return catalog_port_1.CatalogPort; } });
|
|
21
|
+
var supplier_error_context_1 = require("./domain/core/models/supplier-error-context");
|
|
22
|
+
Object.defineProperty(exports, "buildSupplierErrorContext", { enumerable: true, get: function () { return supplier_error_context_1.buildSupplierErrorContext; } });
|
|
23
|
+
var catalog_client_exception_1 = require("./domain/core/models/catalog-client-exception");
|
|
24
|
+
Object.defineProperty(exports, "CatalogClientException", { enumerable: true, get: function () { return catalog_client_exception_1.CatalogClientException; } });
|
|
25
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../src/index.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;AAAA;;;;;;;;;;;;AAYG;AACU,OAAA,CAAA,eAAe,GAAG,OAAO;AAEtC,IAAA,cAAA,GAAA,OAAA,CAAA,iCAAA,CAAA;AAAS,MAAA,CAAA,cAAA,CAAA,OAAA,EAAA,aAAA,EAAA,EAAA,UAAA,EAAA,IAAA,EAAA,GAAA,EAAA,YAAA,EAAA,OAAA,cAAA,CAAA,WAAW,CAAA,CAAA,CAAA,EAAA,CAAA;AASpB,IAAA,wBAAA,GAAA,OAAA,CAAA,6CAAA,CAAA;AAAS,MAAA,CAAA,cAAA,CAAA,OAAA,EAAA,2BAAA,EAAA,EAAA,UAAA,EAAA,IAAA,EAAA,GAAA,EAAA,YAAA,EAAA,OAAA,wBAAA,CAAA,yBAAyB,CAAA,CAAA,CAAA,EAAA,CAAA;AAOlC,IAAA,0BAAA,GAAA,OAAA,CAAA,+CAAA,CAAA;AAAS,MAAA,CAAA,cAAA,CAAA,OAAA,EAAA,wBAAA,EAAA,EAAA,UAAA,EAAA,IAAA,EAAA,GAAA,EAAA,YAAA,EAAA,OAAA,0BAAA,CAAA,sBAAsB,CAAA,CAAA,CAAA,EAAA,CAAA"}
|
package/package.json
ADDED
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@cobre-npm/library-response-catalog-node",
|
|
3
|
+
"version": "0.2.0",
|
|
4
|
+
"packageManager": "pnpm@10.27.0",
|
|
5
|
+
"description": "Node.js Cobre library for resolving supplier errors against the Response Catalog Read API",
|
|
6
|
+
"main": "dist/index.js",
|
|
7
|
+
"types": "dist/index.d.ts",
|
|
8
|
+
"files": [
|
|
9
|
+
"dist"
|
|
10
|
+
],
|
|
11
|
+
"scripts": {
|
|
12
|
+
"build": "rollup -c rollup.config.mjs",
|
|
13
|
+
"build:dev": "npm run build",
|
|
14
|
+
"build:qa": "npm run build",
|
|
15
|
+
"build:prod": "npm run build",
|
|
16
|
+
"build:dev-arm": "npm run build",
|
|
17
|
+
"build:qa-arm": "npm run build",
|
|
18
|
+
"build:prod-arm": "npm run build",
|
|
19
|
+
"lint": "eslint src --ext .ts",
|
|
20
|
+
"test": "jest",
|
|
21
|
+
"test:coverage": "jest --coverage",
|
|
22
|
+
"docs": "typedoc"
|
|
23
|
+
},
|
|
24
|
+
"license": "ISC",
|
|
25
|
+
"dependencies": {
|
|
26
|
+
"@cobre-npm/library-nodejs-telemetry": "^1.4.0",
|
|
27
|
+
"@opentelemetry/api": "^1.9.0",
|
|
28
|
+
"axios": "^1.6.8",
|
|
29
|
+
"cockatiel": "^3.2.0"
|
|
30
|
+
},
|
|
31
|
+
"peerDependencies": {
|
|
32
|
+
"@cobre-npm/library-nodejs-common": "^3.0.0"
|
|
33
|
+
},
|
|
34
|
+
"peerDependenciesMeta": {
|
|
35
|
+
"@cobre-npm/library-nodejs-common": {
|
|
36
|
+
"optional": true
|
|
37
|
+
}
|
|
38
|
+
},
|
|
39
|
+
"devDependencies": {
|
|
40
|
+
"@rollup/plugin-json": "^6.1.0",
|
|
41
|
+
"@rollup/plugin-node-resolve": "^15.2.3",
|
|
42
|
+
"@rollup/plugin-typescript": "^12.3.0",
|
|
43
|
+
"@types/jest": "^29.5.12",
|
|
44
|
+
"@types/node": "^20.14.9",
|
|
45
|
+
"@typescript-eslint/eslint-plugin": "^7.15.0",
|
|
46
|
+
"@typescript-eslint/parser": "^7.15.0",
|
|
47
|
+
"eslint": "^8.57.0",
|
|
48
|
+
"jest": "^29.7.0",
|
|
49
|
+
"nock": "^13.5.4",
|
|
50
|
+
"rimraf": "^5.0.7",
|
|
51
|
+
"rollup": "^4.18.0",
|
|
52
|
+
"rollup-plugin-typescript2": "^0.36.0",
|
|
53
|
+
"ts-jest": "^29.2.3",
|
|
54
|
+
"tslib": "^2.8.1",
|
|
55
|
+
"typedoc": "^0.28.20",
|
|
56
|
+
"typescript": "^5.5.3"
|
|
57
|
+
}
|
|
58
|
+
}
|