@bgord/tools 0.10.1 → 0.11.1

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 (55) hide show
  1. package/dist/api-key.vo.d.ts +1 -1
  2. package/dist/api-key.vo.js +1 -1
  3. package/dist/build-version.vo.d.ts +1 -1
  4. package/dist/build-version.vo.js +1 -1
  5. package/dist/email-mask.service.d.ts +1 -1
  6. package/dist/email-mask.service.js +1 -1
  7. package/dist/etags.vo.d.ts +2 -2
  8. package/dist/etags.vo.js +2 -2
  9. package/dist/feature-flag.vo.d.ts +1 -1
  10. package/dist/feature-flag.vo.js +1 -1
  11. package/dist/filter.vo.d.ts +1 -1
  12. package/dist/iban.vo.d.ts +1 -1
  13. package/dist/iban.vo.js +1 -1
  14. package/dist/image.vo.d.ts +1 -1
  15. package/dist/image.vo.js +1 -1
  16. package/dist/language.vo.d.ts +1 -1
  17. package/dist/language.vo.js +1 -1
  18. package/dist/money.vo.d.ts +1 -1
  19. package/dist/money.vo.js +1 -1
  20. package/dist/package-version.vo.d.ts +1 -1
  21. package/dist/package-version.vo.js +1 -1
  22. package/dist/pagination.service.d.ts +1 -1
  23. package/dist/pagination.service.js +1 -1
  24. package/dist/reordering.service.d.ts +1 -1
  25. package/dist/reordering.service.js +1 -1
  26. package/dist/revision.vo.d.ts +2 -3
  27. package/dist/revision.vo.js +3 -3
  28. package/dist/size.vo.d.ts +1 -1
  29. package/dist/size.vo.js +1 -1
  30. package/dist/time-zone-offset-value.vo.d.ts +1 -1
  31. package/dist/time-zone-offset-value.vo.js +1 -1
  32. package/dist/timestamp.vo.d.ts +1 -1
  33. package/dist/timestamp.vo.js +1 -1
  34. package/dist/timezone.vo.d.ts +1 -1
  35. package/dist/timezone.vo.js +1 -1
  36. package/package.json +4 -3
  37. package/readme.md +77 -1
  38. package/src/api-key.vo.ts +1 -1
  39. package/src/build-version.vo.ts +1 -1
  40. package/src/email-mask.service.ts +1 -1
  41. package/src/etags.vo.ts +2 -2
  42. package/src/feature-flag.vo.ts +1 -1
  43. package/src/filter.vo.ts +1 -1
  44. package/src/iban.vo.ts +1 -1
  45. package/src/image.vo.ts +1 -1
  46. package/src/language.vo.ts +1 -1
  47. package/src/money.vo.ts +1 -1
  48. package/src/package-version.vo.ts +1 -1
  49. package/src/pagination.service.ts +1 -1
  50. package/src/reordering.service.ts +1 -1
  51. package/src/revision.vo.ts +3 -3
  52. package/src/size.vo.ts +1 -1
  53. package/src/time-zone-offset-value.vo.ts +1 -1
  54. package/src/timestamp.vo.ts +1 -1
  55. package/src/timezone.vo.ts +1 -1
@@ -1,3 +1,3 @@
1
- import { z } from "zod";
1
+ import { z } from "zod/v4";
2
2
  export declare const ApiKey: z.core.$ZodBranded<z.ZodString, "ApiKey">;
3
3
  export type ApiKeyType = z.infer<typeof ApiKey>;
@@ -1,2 +1,2 @@
1
- import { z } from "zod";
1
+ import { z } from "zod/v4";
2
2
  export const ApiKey = z.string().trim().length(64).brand("ApiKey");
@@ -1,3 +1,3 @@
1
- import { z } from "zod";
1
+ import { z } from "zod/v4";
2
2
  export declare const BuildVersion: z.core.$ZodBranded<z.ZodString, "BuildVersion">;
3
3
  export type BuildVersionType = z.infer<typeof BuildVersion>;
@@ -1,2 +1,2 @@
1
- import { z } from "zod";
1
+ import { z } from "zod/v4";
2
2
  export const BuildVersion = z.string().min(1).max(8).brand("BuildVersion");
@@ -1,4 +1,4 @@
1
- import { z } from "zod";
1
+ import { z } from "zod/v4";
2
2
  export declare const Email: z.core.$ZodBranded<z.ZodEmail, "Email">;
3
3
  export type EmailType = z.infer<typeof Email>;
4
4
  type EmailMaskedType = string;
@@ -1,4 +1,4 @@
1
- import { z } from "zod";
1
+ import { z } from "zod/v4";
2
2
  export const Email = z.email().brand("Email");
3
3
  export class EmailMask {
4
4
  static censor(email) {
@@ -1,5 +1,5 @@
1
- import { z } from "zod";
2
- export declare const RevisionValue: z.core.$ZodBranded<z.ZodNumber, "RevisionValue">;
1
+ import { z } from "zod/v4";
2
+ declare const RevisionValue: z.ZodNumber;
3
3
  type RevisionValueType = z.infer<typeof RevisionValue>;
4
4
  type ETagValueType = string;
5
5
  export declare class ETag {
package/dist/etags.vo.js CHANGED
@@ -1,5 +1,5 @@
1
- import { z } from "zod";
2
- export const RevisionValue = z.number().int().min(0).brand("RevisionValue");
1
+ import { z } from "zod/v4";
2
+ const RevisionValue = z.number().int().min(0);
3
3
  export class ETag {
4
4
  revision;
5
5
  static HEADER_NAME = "ETag";
@@ -1,4 +1,4 @@
1
- import { z } from "zod";
1
+ import { z } from "zod/v4";
2
2
  export declare enum FeatureFlagEnum {
3
3
  yes = "yes",
4
4
  no = "no"
@@ -1,4 +1,4 @@
1
- import { z } from "zod";
1
+ import { z } from "zod/v4";
2
2
  export var FeatureFlagEnum;
3
3
  (function (FeatureFlagEnum) {
4
4
  FeatureFlagEnum["yes"] = "yes";
@@ -1,4 +1,4 @@
1
- import { z } from "zod";
1
+ import { z } from "zod/v4";
2
2
  export type DefaultFilterSchemaType = z.ZodRawShape;
3
3
  export type FilterValuesType = Record<string, unknown>;
4
4
  export type FilterSchemaType<T extends DefaultFilterSchemaType> = z.ZodObject<T>;
package/dist/iban.vo.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { z } from "zod";
1
+ import { z } from "zod/v4";
2
2
  declare const IBANValueSchema: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
3
3
  type IBANValueType = z.infer<typeof IBANValueSchema>;
4
4
  type IBANCountryCode = string;
package/dist/iban.vo.js CHANGED
@@ -1,4 +1,4 @@
1
- import { z } from "zod";
1
+ import { z } from "zod/v4";
2
2
  // Basic IBAN format regex (2-letter country code + 2 digits + 11–30 alphanumerics)
3
3
  const IBAN_REGEX = /^[A-Z]{2}[0-9]{2}[A-Z0-9]{11,30}$/;
4
4
  const IBANValueSchema = z
@@ -1,4 +1,4 @@
1
- import { z } from "zod";
1
+ import { z } from "zod/v4";
2
2
  export declare const Width: z.core.$ZodBranded<z.ZodNumber, "Width">;
3
3
  export type WidthType = z.infer<typeof Width>;
4
4
  export declare const Height: z.core.$ZodBranded<z.ZodNumber, "Height">;
package/dist/image.vo.js CHANGED
@@ -1,3 +1,3 @@
1
- import { z } from "zod";
1
+ import { z } from "zod/v4";
2
2
  export const Width = z.number().int().positive().max(10000).brand("Width");
3
3
  export const Height = z.number().int().positive().max(10000).brand("Height");
@@ -1,3 +1,3 @@
1
- import { z } from "zod";
1
+ import { z } from "zod/v4";
2
2
  export declare const Language: z.core.$ZodBranded<z.ZodString, "Language">;
3
3
  export type LanguageType = z.infer<typeof Language>;
@@ -1,4 +1,4 @@
1
- import { z } from "zod";
1
+ import { z } from "zod/v4";
2
2
  export const Language = z
3
3
  .string()
4
4
  .length(2)
@@ -1,4 +1,4 @@
1
- import { z } from "zod";
1
+ import { z } from "zod/v4";
2
2
  import { RoundingStrategy } from "./rounding.service";
3
3
  export declare const MoneyAmount: z.core.$ZodBranded<z.ZodNumber, "MoneyAmount">;
4
4
  export type MoneyAmountType = z.infer<typeof MoneyAmount>;
package/dist/money.vo.js CHANGED
@@ -1,4 +1,4 @@
1
- import { z } from "zod";
1
+ import { z } from "zod/v4";
2
2
  import { RoundToNearest } from "./rounding.service";
3
3
  export const MoneyAmount = z
4
4
  .number()
@@ -1,4 +1,4 @@
1
- import { z } from "zod";
1
+ import { z } from "zod/v4";
2
2
  type MajorType = number;
3
3
  type MinorType = number;
4
4
  type PatchType = number;
@@ -1,4 +1,4 @@
1
- import { z } from "zod";
1
+ import { z } from "zod/v4";
2
2
  export const PackageVersionValue = z
3
3
  .string()
4
4
  .min(1)
@@ -1,4 +1,4 @@
1
- import { z } from "zod";
1
+ import { z } from "zod/v4";
2
2
  declare const Take: z.ZodNumber;
3
3
  type TakeType = z.infer<typeof Take>;
4
4
  declare const Skip: z.ZodNumber;
@@ -1,4 +1,4 @@
1
- import { z } from "zod";
1
+ import { z } from "zod/v4";
2
2
  const Take = z.number().int().gte(0);
3
3
  const Skip = z.number().int().gte(0);
4
4
  const Page = z.coerce
@@ -1,4 +1,4 @@
1
- import { z } from "zod";
1
+ import { z } from "zod/v4";
2
2
  export declare const ReorderingItemPositionValue: z.ZodNumber;
3
3
  export type ReorderingItemPositionValueType = z.infer<typeof ReorderingItemPositionValue>;
4
4
  export declare const ReorderingCorrelationId: z.ZodString;
@@ -1,4 +1,4 @@
1
- import { z } from "zod";
1
+ import { z } from "zod/v4";
2
2
  import { DoublyLinkedList, Node } from "./dll.service";
3
3
  export const ReorderingItemPositionValue = z.number().int().min(0);
4
4
  export const ReorderingCorrelationId = z.string().min(1);
@@ -1,6 +1,6 @@
1
- import { z } from "zod";
1
+ import { z } from "zod/v4";
2
2
  import { ETag, WeakETag } from "./etags.vo";
3
- declare const RevisionValue: z.core.$ZodBranded<z.ZodNumber, "RevisionValue">;
3
+ export declare const RevisionValue: z.ZodNumber;
4
4
  export type RevisionValueType = z.infer<typeof RevisionValue>;
5
5
  export declare class Revision {
6
6
  readonly value: RevisionValueType;
@@ -18,4 +18,3 @@ export declare class RevisionMismatchError extends Error {
18
18
  export declare class InvalidRevisionError extends Error {
19
19
  constructor();
20
20
  }
21
- export {};
@@ -1,8 +1,8 @@
1
- import { z } from "zod";
2
- const RevisionValue = z.number().int().min(0).brand("RevisionValue");
1
+ import { z } from "zod/v4";
2
+ export const RevisionValue = z.number().int().min(0);
3
3
  export class Revision {
4
4
  value;
5
- static initial = RevisionValue.parse(0);
5
+ static initial = 0;
6
6
  constructor(value) {
7
7
  const result = RevisionValue.safeParse(value);
8
8
  if (!result.success)
package/dist/size.vo.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { z } from "zod";
1
+ import { z } from "zod/v4";
2
2
  export declare enum SizeUnit {
3
3
  b = "b",
4
4
  kB = "kB",
package/dist/size.vo.js CHANGED
@@ -1,4 +1,4 @@
1
- import { z } from "zod";
1
+ import { z } from "zod/v4";
2
2
  import { RoundToDecimal } from "./rounding.service";
3
3
  export var SizeUnit;
4
4
  (function (SizeUnit) {
@@ -1,3 +1,3 @@
1
- import { z } from "zod";
1
+ import { z } from "zod/v4";
2
2
  export declare const TimeZoneOffsetValue: z.core.$ZodBranded<z.ZodPipe<z.ZodPipe<z.ZodUnion<[z.ZodString, z.ZodUndefined]>, z.ZodTransform<number, string | undefined>>, z.ZodTransform<number, number>>, "TimeZoneOffsetValue">;
3
3
  export type TimeZoneOffsetValueType = z.infer<typeof TimeZoneOffsetValue>;
@@ -1,4 +1,4 @@
1
- import { z } from "zod";
1
+ import { z } from "zod/v4";
2
2
  export const TimeZoneOffsetValue = z
3
3
  .string()
4
4
  .trim()
@@ -1,3 +1,3 @@
1
- import { z } from "zod";
1
+ import { z } from "zod/v4";
2
2
  export declare const Timestamp: z.core.$ZodBranded<z.ZodDefault<z.ZodNumber>, "Timestamp">;
3
3
  export type TimestampType = z.infer<typeof Timestamp>;
@@ -1,4 +1,4 @@
1
- import { z } from "zod";
1
+ import { z } from "zod/v4";
2
2
  export const Timestamp = z
3
3
  .number()
4
4
  .int()
@@ -1,3 +1,3 @@
1
- import { z } from "zod";
1
+ import { z } from "zod/v4";
2
2
  export declare const Timezone: z.core.$ZodBranded<z.ZodString, "Timezone">;
3
3
  export type TimezoneType = z.infer<typeof Timezone>;
@@ -1,4 +1,4 @@
1
- import { z } from "zod";
1
+ import { z } from "zod/v4";
2
2
  export const Timezone = z
3
3
  .string()
4
4
  .min(1)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bgord/tools",
3
- "version": "0.10.1",
3
+ "version": "0.11.1",
4
4
  "type": "module",
5
5
  "license": "MIT",
6
6
  "author": "Bartosz Gordon",
@@ -26,14 +26,15 @@
26
26
  "@commitlint/config-conventional": "19.8.1",
27
27
  "@types/bun": "1.2.18",
28
28
  "cspell": "9.1.3",
29
- "lefthook": "1.12.1",
29
+ "knip": "5.61.3",
30
+ "lefthook": "1.12.2",
30
31
  "only-allow": "1.2.1",
31
32
  "shellcheck": "3.1.0",
32
33
  "typescript": "5.8.3"
33
34
  },
34
35
  "dependencies": {
35
36
  "date-fns": "4.1.0",
36
- "zod": "4.0.3"
37
+ "zod": "3.25.76"
37
38
  },
38
39
  "sideEffects": false
39
40
  }
package/readme.md CHANGED
@@ -1 +1,77 @@
1
- # @bgord/tools
1
+ # bgord-tools
2
+
3
+ ## Configuration:
4
+
5
+ Clone the repository
6
+
7
+ ```
8
+ git clone git@github.com:bgord/journal.git --recurse-submodules
9
+ ```
10
+
11
+ Install packages
12
+
13
+ ```
14
+ bun i
15
+ ```
16
+
17
+ Run the tests
18
+
19
+ ```
20
+ ./bgord-scripts/test-run.sh
21
+ ```
22
+
23
+ ## Files:
24
+
25
+ ```
26
+ src/
27
+ ├── api-key.vo.ts
28
+ ├── build-version.vo.ts
29
+ ├── clock.vo.ts
30
+ ├── date-calculator.service.ts
31
+ ├── date-formatter.service.ts
32
+ ├── dates-of-the-week.vo.ts
33
+ ├── dll.service.ts
34
+ ├── email-mask.service.ts
35
+ ├── etags.vo.ts
36
+ ├── feature-flag.vo.ts
37
+ ├── filter.vo.ts
38
+ ├── hour.vo.ts
39
+ ├── iban-mask.service.ts
40
+ ├── iban.vo.ts
41
+ ├── image.vo.ts
42
+ ├── language.vo.ts
43
+ ├── leap-year-checker.service.ts
44
+ ├── mean.service.ts
45
+ ├── mime-types.vo.ts
46
+ ├── mime.vo.ts
47
+ ├── min-max-scaler.service.ts
48
+ ├── minute.vo.ts
49
+ ├── money.vo.ts
50
+ ├── noop.service.ts
51
+ ├── outlier-detector.service.ts
52
+ ├── package-version.vo.ts
53
+ ├── pagination.service.ts
54
+ ├── percentage.service.ts
55
+ ├── population-standard-deviation.service.ts
56
+ ├── random.service.ts
57
+ ├── rate-limiter.service.ts
58
+ ├── relative-date.vo.ts
59
+ ├── reordering.service.ts
60
+ ├── revision.vo.ts
61
+ ├── rounding.service.ts
62
+ ├── simple-linear-regression.service.ts
63
+ ├── size.vo.ts
64
+ ├── stepper.service.ts
65
+ ├── stopwatch.service.ts
66
+ ├── streak-calculator.service.ts
67
+ ├── sum.service.ts
68
+ ├── thousands-separator.service.ts
69
+ ├── time-zone-offset-value.vo.ts
70
+ ├── time.service.ts
71
+ ├── timestamp.vo.ts
72
+ ├── timezone.vo.ts
73
+ ├── ts-utils.ts
74
+ ├── visually-unambiguous-characters-generator.service.ts
75
+ └── z-score.service.ts
76
+ ```
77
+
package/src/api-key.vo.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { z } from "zod";
1
+ import { z } from "zod/v4";
2
2
 
3
3
  export const ApiKey = z.string().trim().length(64).brand("ApiKey");
4
4
 
@@ -1,4 +1,4 @@
1
- import { z } from "zod";
1
+ import { z } from "zod/v4";
2
2
 
3
3
  export const BuildVersion = z.string().min(1).max(8).brand("BuildVersion");
4
4
 
@@ -1,4 +1,4 @@
1
- import { z } from "zod";
1
+ import { z } from "zod/v4";
2
2
 
3
3
  export const Email = z.email().brand("Email");
4
4
 
package/src/etags.vo.ts CHANGED
@@ -1,6 +1,6 @@
1
- import { z } from "zod";
1
+ import { z } from "zod/v4";
2
2
 
3
- export const RevisionValue = z.number().int().min(0).brand("RevisionValue");
3
+ const RevisionValue = z.number().int().min(0);
4
4
 
5
5
  type RevisionValueType = z.infer<typeof RevisionValue>;
6
6
 
@@ -1,4 +1,4 @@
1
- import { z } from "zod";
1
+ import { z } from "zod/v4";
2
2
 
3
3
  export enum FeatureFlagEnum {
4
4
  yes = "yes",
package/src/filter.vo.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { z } from "zod";
1
+ import { z } from "zod/v4";
2
2
 
3
3
  export type DefaultFilterSchemaType = z.ZodRawShape;
4
4
 
package/src/iban.vo.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { z } from "zod";
1
+ import { z } from "zod/v4";
2
2
 
3
3
  // Basic IBAN format regex (2-letter country code + 2 digits + 11–30 alphanumerics)
4
4
  const IBAN_REGEX = /^[A-Z]{2}[0-9]{2}[A-Z0-9]{11,30}$/;
package/src/image.vo.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { z } from "zod";
1
+ import { z } from "zod/v4";
2
2
 
3
3
  export const Width = z.number().int().positive().max(10000).brand("Width");
4
4
 
@@ -1,4 +1,4 @@
1
- import { z } from "zod";
1
+ import { z } from "zod/v4";
2
2
 
3
3
  export const Language = z
4
4
  .string()
package/src/money.vo.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { z } from "zod";
1
+ import { z } from "zod/v4";
2
2
 
3
3
  import { RoundingStrategy, RoundToNearest } from "./rounding.service";
4
4
 
@@ -1,4 +1,4 @@
1
- import { z } from "zod";
1
+ import { z } from "zod/v4";
2
2
 
3
3
  type MajorType = number;
4
4
 
@@ -1,4 +1,4 @@
1
- import { z } from "zod";
1
+ import { z } from "zod/v4";
2
2
 
3
3
  const Take = z.number().int().gte(0);
4
4
 
@@ -1,4 +1,4 @@
1
- import { z } from "zod";
1
+ import { z } from "zod/v4";
2
2
 
3
3
  import { DoublyLinkedList, Node } from "./dll.service";
4
4
 
@@ -1,15 +1,15 @@
1
- import { z } from "zod";
1
+ import { z } from "zod/v4";
2
2
 
3
3
  import { ETag, WeakETag } from "./etags.vo";
4
4
 
5
- const RevisionValue = z.number().int().min(0).brand("RevisionValue");
5
+ export const RevisionValue = z.number().int().min(0);
6
6
 
7
7
  export type RevisionValueType = z.infer<typeof RevisionValue>;
8
8
 
9
9
  export class Revision {
10
10
  readonly value: RevisionValueType;
11
11
 
12
- static initial: RevisionValueType = RevisionValue.parse(0);
12
+ static initial: RevisionValueType = 0;
13
13
 
14
14
  constructor(value: unknown) {
15
15
  const result = RevisionValue.safeParse(value);
package/src/size.vo.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { z } from "zod";
1
+ import { z } from "zod/v4";
2
2
 
3
3
  import { RoundToDecimal } from "./rounding.service";
4
4
 
@@ -1,4 +1,4 @@
1
- import { z } from "zod";
1
+ import { z } from "zod/v4";
2
2
 
3
3
  export const TimeZoneOffsetValue = z
4
4
  .string()
@@ -1,4 +1,4 @@
1
- import { z } from "zod";
1
+ import { z } from "zod/v4";
2
2
 
3
3
  export const Timestamp = z
4
4
  .number()
@@ -1,4 +1,4 @@
1
- import { z } from "zod";
1
+ import { z } from "zod/v4";
2
2
 
3
3
  export const Timezone = z
4
4
  .string()