@zedtech/zedkit-core 0.1.3 → 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 CHANGED
@@ -6,6 +6,10 @@
6
6
  Typed Result helpers, safe try/catch wrappers, and prefixed IDs for any
7
7
  JS/TS project. Original work by the same author.
8
8
 
9
+ Install from npm only (no shadcn registry copy path). See
10
+ [install or copy on the docs site](https://zedkit.app/docs/getting-started#install-or-copy)
11
+ for how that differs from UI bricks.
12
+
9
13
  ## Install
10
14
 
11
15
  ```sh
@@ -0,0 +1,7 @@
1
+ /** Injectable time source for deterministic tests and domain code. */
2
+ export interface Clock {
3
+ now(): Date;
4
+ }
5
+ export declare const systemClock: Clock;
6
+ export declare const fixedClock: (at: Date) => Clock;
7
+ //# sourceMappingURL=clock.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clock.d.ts","sourceRoot":"","sources":["../src/clock.ts"],"names":[],"mappings":"AAEA,sEAAsE;AACtE,MAAM,WAAW,KAAK;IACpB,GAAG,IAAI,IAAI,CAAC;CACb;AAED,eAAO,MAAM,WAAW,EAAE,KAAiC,CAAC;AAE5D,eAAO,MAAM,UAAU,GAAI,IAAI,IAAI,KAAG,KAAsC,CAAC"}
package/dist/clock.js ADDED
@@ -0,0 +1,4 @@
1
+ // Original work by the same author.
2
+ export const systemClock = { now: () => new Date() };
3
+ export const fixedClock = (at) => ({ now: () => new Date(at) });
4
+ //# sourceMappingURL=clock.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clock.js","sourceRoot":"","sources":["../src/clock.ts"],"names":[],"mappings":"AAAA,oCAAoC;AAOpC,MAAM,CAAC,MAAM,WAAW,GAAU,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC;AAE5D,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,EAAQ,EAAS,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC"}
@@ -0,0 +1,24 @@
1
+ export type ErrorKind = "domain" | "transient" | "permanent";
2
+ export declare class DomainError extends Error {
3
+ readonly code: string;
4
+ readonly details?: unknown | undefined;
5
+ readonly kind: "domain";
6
+ constructor(code: string, message: string, details?: unknown | undefined, options?: {
7
+ cause?: unknown;
8
+ });
9
+ }
10
+ export declare class TransientError extends Error {
11
+ readonly kind: "transient";
12
+ constructor(message: string, options?: {
13
+ cause?: unknown;
14
+ });
15
+ }
16
+ export declare class PermanentError extends Error {
17
+ readonly kind: "permanent";
18
+ constructor(message: string, options?: {
19
+ cause?: unknown;
20
+ });
21
+ }
22
+ /** Maps thrown values to a retry/DLQ policy kind. Unknown errors count as transient. */
23
+ export declare function classifyError(error: unknown): ErrorKind;
24
+ //# sourceMappingURL=errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,SAAS,GAAG,QAAQ,GAAG,WAAW,GAAG,WAAW,CAAC;AAE7D,qBAAa,WAAY,SAAQ,KAAK;IAIlC,QAAQ,CAAC,IAAI,EAAE,MAAM;IAErB,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO;IAL5B,QAAQ,CAAC,IAAI,EAAG,QAAQ,CAAU;gBAGvB,IAAI,EAAE,MAAM,EACrB,OAAO,EAAE,MAAM,EACN,OAAO,CAAC,EAAE,OAAO,YAAA,EAC1B,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE;CAKhC;AAED,qBAAa,cAAe,SAAQ,KAAK;IACvC,QAAQ,CAAC,IAAI,EAAG,WAAW,CAAU;gBAEzB,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE;CAI3D;AAED,qBAAa,cAAe,SAAQ,KAAK;IACvC,QAAQ,CAAC,IAAI,EAAG,WAAW,CAAU;gBAEzB,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE;CAI3D;AAED,wFAAwF;AACxF,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS,CAIvD"}
package/dist/errors.js ADDED
@@ -0,0 +1,35 @@
1
+ // Original work by the same author.
2
+ export class DomainError extends Error {
3
+ code;
4
+ details;
5
+ kind = "domain";
6
+ constructor(code, message, details, options) {
7
+ super(message, options);
8
+ this.code = code;
9
+ this.details = details;
10
+ this.name = "DomainError";
11
+ }
12
+ }
13
+ export class TransientError extends Error {
14
+ kind = "transient";
15
+ constructor(message, options) {
16
+ super(message, options);
17
+ this.name = "TransientError";
18
+ }
19
+ }
20
+ export class PermanentError extends Error {
21
+ kind = "permanent";
22
+ constructor(message, options) {
23
+ super(message, options);
24
+ this.name = "PermanentError";
25
+ }
26
+ }
27
+ /** Maps thrown values to a retry/DLQ policy kind. Unknown errors count as transient. */
28
+ export function classifyError(error) {
29
+ if (error instanceof DomainError)
30
+ return "domain";
31
+ if (error instanceof PermanentError)
32
+ return "permanent";
33
+ return "transient";
34
+ }
35
+ //# sourceMappingURL=errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,oCAAoC;AAIpC,MAAM,OAAO,WAAY,SAAQ,KAAK;IAIzB;IAEA;IALF,IAAI,GAAG,QAAiB,CAAC;IAElC,YACW,IAAY,EACrB,OAAe,EACN,OAAiB,EAC1B,OAA6B;QAE7B,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QALf,SAAI,GAAJ,IAAI,CAAQ;QAEZ,YAAO,GAAP,OAAO,CAAU;QAI1B,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC;IAC5B,CAAC;CACF;AAED,MAAM,OAAO,cAAe,SAAQ,KAAK;IAC9B,IAAI,GAAG,WAAoB,CAAC;IAErC,YAAY,OAAe,EAAE,OAA6B;QACxD,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAC;IAC/B,CAAC;CACF;AAED,MAAM,OAAO,cAAe,SAAQ,KAAK;IAC9B,IAAI,GAAG,WAAoB,CAAC;IAErC,YAAY,OAAe,EAAE,OAA6B;QACxD,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAC;IAC/B,CAAC;CACF;AAED,wFAAwF;AACxF,MAAM,UAAU,aAAa,CAAC,KAAc;IAC1C,IAAI,KAAK,YAAY,WAAW;QAAE,OAAO,QAAQ,CAAC;IAClD,IAAI,KAAK,YAAY,cAAc;QAAE,OAAO,WAAW,CAAC;IACxD,OAAO,WAAW,CAAC;AACrB,CAAC"}
package/dist/index.d.ts CHANGED
@@ -1,3 +1,5 @@
1
+ export { fixedClock, systemClock, type Clock } from "./clock.js";
2
+ export { classifyError, DomainError, type ErrorKind, PermanentError, TransientError, } from "./errors.js";
1
3
  export { type Result, err, isErr, isOk, mapResult, ok, unwrapOr } from "./result.js";
2
4
  export { normalizeThrown, tryCatch, tryCatchAsync } from "./try-catch.js";
3
5
  export { isPrefixedId, newPrefixedId } from "./ids.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACrF,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC1E,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,KAAK,KAAK,EAAE,MAAM,YAAY,CAAC;AACjE,OAAO,EACL,aAAa,EACb,WAAW,EACX,KAAK,SAAS,EACd,cAAc,EACd,cAAc,GACf,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,KAAK,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACrF,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC1E,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC"}
package/dist/index.js CHANGED
@@ -1,3 +1,5 @@
1
+ export { fixedClock, systemClock } from "./clock.js";
2
+ export { classifyError, DomainError, PermanentError, TransientError, } from "./errors.js";
1
3
  export { err, isErr, isOk, mapResult, ok, unwrapOr } from "./result.js";
2
4
  export { normalizeThrown, tryCatch, tryCatchAsync } from "./try-catch.js";
3
5
  export { isPrefixedId, newPrefixedId } from "./ids.js";
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACrF,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC1E,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAc,MAAM,YAAY,CAAC;AACjE,OAAO,EACL,aAAa,EACb,WAAW,EAEX,cAAc,EACd,cAAc,GACf,MAAM,aAAa,CAAC;AACrB,OAAO,EAAe,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACrF,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC1E,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zedtech/zedkit-core",
3
- "version": "0.1.3",
3
+ "version": "0.2.0",
4
4
  "publishConfig": {
5
5
  "access": "public",
6
6
  "registry": "https://registry.npmjs.org/"
@@ -50,8 +50,8 @@
50
50
  },
51
51
  "devDependencies": {
52
52
  "typescript": "5.9.3",
53
- "vitest": "2.1.9",
54
- "@zedtech/zedkit-quality": "0.2.0"
53
+ "vitest": "5.0.5",
54
+ "@zedtech/zedkit-quality": "0.4.0"
55
55
  },
56
56
  "scripts": {
57
57
  "build": "tsc -p tsconfig.json",