@rdlabo/workers-hono-kit 0.11.2 → 0.12.0-beta.pr48.sha371f5792ce8a

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 (56) hide show
  1. package/README.md +73 -37
  2. package/dist/aws/sts.d.ts +2 -2
  3. package/dist/aws/sts.js +4 -4
  4. package/dist/business-time/index.d.ts +68 -122
  5. package/dist/business-time/index.js +55 -222
  6. package/dist/container/middleware.d.ts +1 -2
  7. package/dist/container/middleware.js +1 -1
  8. package/dist/db/index.d.ts +95 -20
  9. package/dist/db/index.js +56 -15
  10. package/dist/db/payment-failed.d.ts +1 -1
  11. package/dist/db/payment-failed.js +1 -1
  12. package/dist/index.d.ts +0 -3
  13. package/dist/index.js +0 -3
  14. package/dist/mysql/index.d.ts +9 -0
  15. package/dist/mysql/index.js +8 -0
  16. package/dist/testing/auth.d.ts +1 -1
  17. package/dist/testing/db.d.ts +19 -106
  18. package/dist/testing/db.js +3 -95
  19. package/dist/testing/fakes.d.ts +15 -97
  20. package/dist/testing/fakes.js +12 -104
  21. package/dist/testing/index.d.ts +8 -3
  22. package/dist/testing/index.js +8 -2
  23. package/docs/api-business-time.md +47 -30
  24. package/docs/api-db.md +48 -29
  25. package/docs/api-offline.md +11 -15
  26. package/docs/api-root.md +64 -58
  27. package/docs/api-testing.md +41 -13
  28. package/docs/api.md +35 -12
  29. package/docs/cli.md +11 -7
  30. package/docs/data-layer.md +68 -5
  31. package/docs/development.md +125 -5
  32. package/docs/http-auth.md +15 -0
  33. package/docs/realtime-offline.md +15 -0
  34. package/docs/role-policies.md +4 -4
  35. package/docs/testing-operations.md +25 -2
  36. package/package.json +24 -18
  37. package/scripts/db-baseline.mjs +3 -68
  38. package/scripts/workspace-package-smoke.mjs +206 -0
  39. package/dist/business-time/types.d.ts +0 -9
  40. package/dist/business-time/types.js +0 -5
  41. package/dist/db/columns.d.ts +0 -38
  42. package/dist/db/columns.js +0 -38
  43. package/dist/db/connection.d.ts +0 -74
  44. package/dist/db/connection.js +0 -67
  45. package/dist/db/database.d.ts +0 -249
  46. package/dist/db/database.js +0 -196
  47. package/dist/db/jst.d.ts +0 -45
  48. package/dist/db/jst.js +0 -47
  49. package/dist/db/migrate.d.ts +0 -51
  50. package/dist/db/migrate.js +0 -109
  51. package/dist/db/orm-config.d.ts +0 -127
  52. package/dist/db/orm-config.js +0 -122
  53. package/dist/db/retry.d.ts +0 -28
  54. package/dist/db/retry.js +0 -56
  55. package/dist/db/write-result.d.ts +0 -39
  56. package/dist/db/write-result.js +0 -34
package/README.md CHANGED
@@ -1,65 +1,100 @@
1
1
  # @rdlabo/workers-hono-kit
2
2
 
3
- `@rdlabo/workers-hono-kit` provides infrastructure-layer helpers for Hono on Cloudflare Workers. Domain logic, database schemas, and application-specific policy stay in the consuming application.
3
+ Shared Hono building blocks for Cloudflare Workers APIs: weak ETags, NestJS-shaped validation and
4
+ error bodies, Firebase auth middleware, AWS helpers, AI Gateway wiring, Stripe, KV, queues,
5
+ realtime, and offline contracts. Domain logic and database schemas stay in the consuming
6
+ application.
7
+
8
+ ## Choose an entry point
9
+
10
+ | Import | Responsibility |
11
+ | ---------------------------------------- | -------------------------------------------------------------------- |
12
+ | `@rdlabo/workers-hono-kit` | HTTP, auth, Firebase, AWS, AI, Stripe, KV, and queue primitives |
13
+ | `@rdlabo/workers-hono-kit/mysql` | Hono container adapter for `@rdlabo/workers-mysql` |
14
+ | `@rdlabo/workers-hono-kit/offline` | Offline replica wire, cursor, journal, and compatibility contracts |
15
+ | `@rdlabo/workers-hono-kit/realtime` | Durable Object WebSocket and retry helpers |
16
+ | `@rdlabo/workers-hono-kit/testing` | Auth helpers, fakes, Stripe fixtures, and compatibility test exports |
17
+ | `@rdlabo/workers-hono-kit/db` | Deprecated compatibility path for `@rdlabo/workers-mysql` |
18
+ | `@rdlabo/workers-hono-kit/business-time` | Deprecated compatibility path for `@rdlabo/workers-timezone` |
19
+
20
+ The root entry point does not load MySQL, Drizzle, or Node-only migration modules. MySQL consumers
21
+ install the standalone package, which owns `mysql2`; Hono-specific wiring stays in the `/mysql`
22
+ adapter.
23
+
24
+ ## Install
4
25
 
5
26
  ```sh
6
27
  npm install @rdlabo/workers-hono-kit
7
28
  ```
8
29
 
9
- Install only the peer dependencies required by the features you use:
30
+ The package is ESM with TypeScript declarations and requires Node.js 20 or later for tooling.
31
+ Stripe is included directly. npm installs the required Hono, validation, authentication, AWS, and
32
+ AI Gateway peers; package managers configured not to install peers automatically must add them
33
+ explicitly:
10
34
 
11
35
  ```sh
12
- # Core HTTP, validation, Firebase, and AWS helpers
13
- npm install hono zod @hono/zod-validator jose aws4fetch
14
-
15
- # Data and testing entry points
16
- npm install drizzle-orm mysql2
17
-
18
- # AI Gateway
19
- npm install ai ai-gateway-provider
36
+ npm install hono zod @hono/zod-validator jose aws4fetch ai-gateway-provider
20
37
  ```
21
38
 
22
- Stripe is a direct dependency of the kit. The package is compiled ESM with declarations, uses Web-standard APIs such as `fetch`, `crypto.subtle`, and `Response`, and requires Node.js 20 or later for tooling.
39
+ Additional optional peers and packages stay separate:
23
40
 
24
- ## Entry points
41
+ | Capability | Install |
42
+ | ----------------------- | ------------------------------------------------------------------------------------------------------------------ |
43
+ | AI SDK model wrappers | `ai` |
44
+ | MySQL and Hyperdrive | [`@rdlabo/workers-mysql`](https://docs.rdlabo.dev/projects/workers-mysql/docs/readme) and optionally `drizzle-orm` |
45
+ | IANA timezone utilities | [`@rdlabo/workers-timezone`](https://docs.rdlabo.dev/projects/workers-timezone/docs/readme) |
25
46
 
26
- | Import | Responsibility |
27
- | ---------------------------------------- | ------------------------------------------------------------------------------ |
28
- | `@rdlabo/workers-hono-kit` | HTTP, auth, errors, Firebase, AWS, AI, Stripe, KV, queues, realtime primitives |
29
- | `@rdlabo/workers-hono-kit/db` | Hyperdrive, MySQL, Drizzle, migrations, JST columns |
30
- | `@rdlabo/workers-hono-kit/business-time` | JST business dates and date-times |
31
- | `@rdlabo/workers-hono-kit/offline` | Offline replica wire, cursor, journal, and compatibility contracts |
32
- | `@rdlabo/workers-hono-kit/realtime` | Durable Object WebSocket and retry helpers |
33
- | `@rdlabo/workers-hono-kit/testing` | Test databases, auth helpers, fakes, and Stripe fixtures |
47
+ From `0.12.0`, `/testing` retains static DB compatibility exports. Every `/testing` consumer,
48
+ including applications using only Firebase or KV fakes, must install `@rdlabo/workers-mysql` and
49
+ `drizzle-orm`.
34
50
 
35
- Subpath imports keep optional database and testing dependencies out of the root runtime surface.
51
+ Version `0.12.0` moves the root MySQL exports to the standalone package and `/mysql` adapter.
52
+ Existing users should follow the [MySQL migration guide](https://docs.rdlabo.dev/projects/workers-hono-kit/docs/data-layer)
53
+ before upgrading.
36
54
 
37
- ## Documentation
55
+ ## Quick start
38
56
 
39
- - [HTTP and Authentication](https://docs.rdlabo.dev/projects/workers-hono-kit/docs/http-auth)
40
- - [Data Layer](https://docs.rdlabo.dev/projects/workers-hono-kit/docs/data-layer)
41
- - [Realtime and Offline](https://docs.rdlabo.dev/projects/workers-hono-kit/docs/realtime-offline)
42
- - [Testing and Operations](https://docs.rdlabo.dev/projects/workers-hono-kit/docs/testing-operations)
43
- - [API Reference](https://docs.rdlabo.dev/projects/workers-hono-kit/docs/api)
57
+ A minimal Hono app with weak ETags, the shared error body, and 404 JSON
58
+ `{ message: 'Cannot METHOD path', error: 'Not Found', statusCode: 404 }`:
44
59
 
45
- <!-- rdlabo-docs-omit -->
46
- **Full documentation:** [https://docs.rdlabo.dev/projects/workers-hono-kit](https://docs.rdlabo.dev/projects/workers-hono-kit)
60
+ ```ts
61
+ import { Hono } from 'hono';
62
+ import { createAppErrorHandler, finalizeResponse, notFoundHandler } from '@rdlabo/workers-hono-kit';
47
63
 
48
- ## Prerelease channels
64
+ const app = new Hono();
49
65
 
50
- An open, non-draft pull request can be published to the npm `beta` dist-tag after its `Validation` and `Package Candidate` workflows pass. A repository owner or maintainer must add a comment whose entire body is:
66
+ app.use('*', finalizeResponse());
67
+ app.onError(createAppErrorHandler());
68
+ app.notFound(notFoundHandler);
51
69
 
52
- ```text
53
- /beta
70
+ app.get('/health', (c) => c.json({ ok: true }));
71
+
72
+ export default app;
54
73
  ```
55
74
 
56
- The request authorizes only the pull request head SHA that existed when the comment was added. The workflow revalidates the owner or maintainer permission and head SHA immediately before publishing. Any new commit requires CI to pass again and a fresh owner or maintainer `/beta` comment. Fork pull requests are supported. Pull requests that change a release-gating workflow cannot be beta-published until those workflow changes land on `main`.
75
+ ### Compatibility import deprecations
57
76
 
58
- Beta versions use `<base>-beta.pr<PR number>.sha<12-character SHA>`. The candidate is built in a read-only workflow without npm publishing credentials. The privileged release workflow publishes only the validated immutable package artifact with lifecycle scripts disabled. A notification failure cannot invalidate a successful npm publish.
77
+ Kit `/db`, `/business-time`, and the DB-related `/testing` exports (`createTestDb`, pool/noop
78
+ database fakes, and shared `Database` types) carry symbol-level `@deprecated` tags that point at
79
+ `@rdlabo/workers-mysql` / `@rdlabo/workers-timezone`. Prefer those packages for new code. The
80
+ compatibility aliases keep the same runtime identity and signatures; there is no planned removal.
81
+ Kit-owned helpers such as `reopenGuardedPaymentFailedSet`, `/mysql` `createContainerRuntime`, and
82
+ Firebase/auth/KV/Stripe test helpers are not deprecated by this migration.
59
83
 
60
- When a pull request is merged into `main`, it is automatically published to `beta` only after the required CI and `Package Candidate` succeed for that exact merge commit. Direct pushes to `main` do not publish a candidate.
84
+ ## Documentation
61
85
 
62
- Only `npm run release` creates a release tag. Stable `vX.Y.Z` tags publish to npm `latest`; revision/prerelease tags publish to `next`. Neither `beta` nor `next` publishing changes the npm `latest` dist-tag.
86
+ - [HTTP and Authentication](https://docs.rdlabo.dev/projects/workers-hono-kit/docs/http-auth)
87
+ - [Data Layer and MySQL migration](https://docs.rdlabo.dev/projects/workers-hono-kit/docs/data-layer)
88
+ - [Realtime and Offline](https://docs.rdlabo.dev/projects/workers-hono-kit/docs/realtime-offline)
89
+ - [Testing and Operations](https://docs.rdlabo.dev/projects/workers-hono-kit/docs/testing-operations)
90
+ - [Packages and API Reference](https://docs.rdlabo.dev/projects/workers-hono-kit/docs/api)
91
+
92
+ <!-- rdlabo-docs-omit -->
93
+
94
+ **Full documentation:** [https://docs.rdlabo.dev/projects/workers-hono-kit](https://docs.rdlabo.dev/projects/workers-hono-kit)
95
+
96
+ Candidate artifacts and publication controls are documented in
97
+ [Development](https://docs.rdlabo.dev/projects/workers-hono-kit/docs/development).
63
98
 
64
99
  ## Maintainers
65
100
 
@@ -68,4 +103,5 @@ Only `npm run release` creates a release tag. Stable `vX.Y.Z` tags publish to np
68
103
  ## License
69
104
 
70
105
  [MIT](./LICENSE) © rdlabo-dev
106
+
71
107
  <!-- /rdlabo-docs-omit -->
package/dist/aws/sts.d.ts CHANGED
@@ -48,8 +48,8 @@ export interface StsCredentials {
48
48
  /**
49
49
  * Call STS `AssumeRole` via SigV4-signed `fetch` (aws4fetch) and return temporary credentials.
50
50
  *
51
- * Port of winecode / airlec browser-upload credential issuance — no AWS SDK. The consuming app
52
- * supplies `roleArn` and `roleSessionName`; the kit only performs the signed STS request and XML parse.
51
+ * Issues temporary credentials for browser uploads via STS `AssumeRole` — no AWS SDK. The consuming
52
+ * app supplies `roleArn` and `roleSessionName`; the kit only performs the signed STS request and XML parse.
53
53
  *
54
54
  * @param options - Caller AWS keys plus assume-role parameters.
55
55
  * @returns Temporary credentials for browser or edge PutObject / GetObject.
package/dist/aws/sts.js CHANGED
@@ -1,16 +1,16 @@
1
1
  import { AwsClient } from 'aws4fetch';
2
2
  /** STS SigV4 signing region for the global endpoint (`sts.amazonaws.com`). */
3
3
  const DEFAULT_STS_REGION = 'us-east-1';
4
- /** winecode / airlec default — 15 minutes. */
4
+ /** Default AssumeRole session duration — 15 minutes. */
5
5
  const DEFAULT_DURATION_SECONDS = 900;
6
6
  const STS_API_VERSION = '2011-06-15';
7
- /** Global STS endpoint (unchanged from winecode AwsService). */
7
+ /** Global STS endpoint (`sts.amazonaws.com`). */
8
8
  const DEFAULT_STS_ENDPOINT = 'https://sts.amazonaws.com/';
9
9
  /**
10
10
  * Call STS `AssumeRole` via SigV4-signed `fetch` (aws4fetch) and return temporary credentials.
11
11
  *
12
- * Port of winecode / airlec browser-upload credential issuance — no AWS SDK. The consuming app
13
- * supplies `roleArn` and `roleSessionName`; the kit only performs the signed STS request and XML parse.
12
+ * Issues temporary credentials for browser uploads via STS `AssumeRole` — no AWS SDK. The consuming
13
+ * app supplies `roleArn` and `roleSessionName`; the kit only performs the signed STS request and XML parse.
14
14
  *
15
15
  * @param options - Caller AWS keys plus assume-role parameters.
16
16
  * @returns Temporary credentials for browser or edge PutObject / GetObject.
@@ -1,126 +1,72 @@
1
1
  /**
2
- * Explicit JST business-time API (Workers UTC instant ↔ business calendar date / date-time).
3
- *
4
- * @remarks
5
- * - The DB stays on JST. The app does not implicitly rely on the mysql2 `timezone` option; it goes
6
- * through this module to handle JST.
7
- * - Converting to the MySQL wire format is the responsibility of {@link ../db/jst.js | db/jst}.
8
- * - Do not use a `Date`'s local getters (`getHours`, etc.) for business-time decisions.
2
+ * Compatibility re-export of `@rdlabo/workers-timezone`. Prefer importing the standalone package
3
+ * directly. Symbol-level `@deprecated` tags mark each promoted export. Historical offsets and
4
+ * invalid calendar or wall-clock inputs follow the migration behavior documented in
5
+ * `docs/api-business-time.md`.
9
6
  *
10
7
  * @packageDocumentation
11
8
  */
12
- import { BUSINESS_TIMEZONE } from './types.js';
13
- import type { BusinessDate, BusinessDateTime } from './types.js';
14
- export { BUSINESS_TIMEZONE, type BusinessDate, type BusinessDateTime };
15
- /**
16
- * The JST business calendar date of a reference instant.
17
- *
18
- * @param ref - the instant to read; defaults to now.
19
- * @returns the business date as `YYYY-MM-DD`.
20
- * @example
21
- * today(new Date('2026-07-05T20:00:00Z')); // → '2026-07-06' (JST)
22
- */
23
- export declare function today(ref?: Date): BusinessDate;
24
- /**
25
- * Convert a UTC instant to a JST business calendar date.
26
- *
27
- * @param instant - the UTC instant to convert.
28
- * @returns the business date as `YYYY-MM-DD`.
29
- */
30
- export declare function toBusinessDate(instant: Date): BusinessDate;
31
- /**
32
- * Normalize a client / DB input to a JST business calendar date `YYYY-MM-DD`.
33
- *
34
- * - A string already in `YYYY-MM-DD` form is returned as-is, **without** constructing a `Date`
35
- * (a birthday is a calendar day, not an instant).
36
- * - ISO 8601 and similar values are converted to a JST calendar date via their instant.
37
- * - Nullish / empty / invalid inputs yield `null`.
38
- *
39
- * @param value - the string, `Date`, or nullish value to normalize.
40
- * @returns the business date as `YYYY-MM-DD`, or `null` when the input cannot be resolved.
41
- * @example
42
- * normalizeBusinessDate('1990-01-15'); // → '1990-01-15' (unchanged)
43
- * normalizeBusinessDate('2026-07-05T20:00:00Z'); // → '2026-07-06' (JST)
44
- * normalizeBusinessDate(''); // → null
45
- */
46
- export declare function normalizeBusinessDate(value: string | Date | null | undefined): BusinessDate | null;
47
- /**
48
- * Convert a UTC instant to a JST business date-time (`YYYY-MM-DD HH:mm:ss`).
49
- *
50
- * @param instant - the UTC instant to convert.
51
- * @returns the business date-time string.
52
- * @example
53
- * toBusinessDateTime(new Date('2026-07-05T21:00:00Z')); // → '2026-07-06 06:00:00' (JST)
54
- */
55
- export declare function toBusinessDateTime(instant: Date): BusinessDateTime;
56
- /** Default pattern for the Nest / foodlabel / winecode `helper.formatDate`. */
57
- export declare const DEFAULT_BUSINESS_DATETIME_PATTERN: "YYYY-MM-DDThh:mm:ss";
58
- /**
59
- * Format an instant in the business TZ, compatible with the Nest `helper.formatDate`.
60
- *
61
- * Supported tokens: `YYYY` / `MM` / `DD` / `hh` / `mm` / `ss`, plus `S` for the source instant's
62
- * milliseconds (matching the Nest reference implementation).
63
- *
64
- * @param instant - the UTC instant to format.
65
- * @param pattern - the format pattern; defaults to {@link DEFAULT_BUSINESS_DATETIME_PATTERN}.
66
- * @returns the formatted string.
67
- * @example
68
- * formatBusinessDateTime(new Date('2026-07-05T21:00:00Z')); // → '2026-07-06T06:00:00' (JST)
69
- */
70
- export declare function formatBusinessDateTime(instant: Date, pattern?: string): string;
71
- /**
72
- * Parse a JST business date-time string into a UTC instant. Accepts a space or `T` separator
73
- * (`YYYY-MM-DD HH:mm:ss` or `YYYY-MM-DDTHH:mm:ss`).
74
- *
75
- * @param value - the business date-time string to parse.
76
- * @returns the corresponding UTC instant.
77
- * @throws RangeError when `value` is not a valid business date-time.
78
- * @example
79
- * parseBusinessDateTime('2026-07-06 06:00:00'); // → 2026-07-05T21:00:00Z
80
- */
81
- export declare function parseBusinessDateTime(value: BusinessDateTime): Date;
82
- /**
83
- * The UTC instant of `00:00:00` on a JST business calendar date.
84
- *
85
- * @param date - the business date as `YYYY-MM-DD`.
86
- * @returns the UTC instant at the start of that business day.
87
- */
88
- export declare function startOfBusinessDay(date: BusinessDate): Date;
89
- /**
90
- * The UTC instant of `23:59:59` on a JST business calendar date.
91
- *
92
- * @param date - the business date as `YYYY-MM-DD`.
93
- * @returns the UTC instant at the end of that business day.
94
- */
95
- export declare function endOfBusinessDay(date: BusinessDate): Date;
96
- /**
97
- * Convert a JST business calendar date + wall-clock time to a UTC instant.
98
- *
99
- * @param date - the business date as `YYYY-MM-DD`.
100
- * @param time - the wall-clock time as `HH:mm:ss` (or `HH:mm`).
101
- * @returns the corresponding UTC instant.
102
- * @throws RangeError when `date` or `time` is malformed.
103
- * @example
104
- * businessDateTimeInstant('2026-07-06', '06:00:00'); // → 2026-07-05T21:00:00Z
105
- */
106
- export declare function businessDateTimeInstant(date: BusinessDate, time: string): Date;
107
- /**
108
- * Add a number of calendar days to a JST business calendar date.
109
- *
110
- * @param date - the starting business date as `YYYY-MM-DD`.
111
- * @param days - the number of calendar days to add (may be negative).
112
- * @returns the resulting business date as `YYYY-MM-DD`.
113
- * @example
114
- * addBusinessDays('2026-07-06', 3); // → '2026-07-09'
115
- */
116
- export declare function addBusinessDays(date: BusinessDate, days: number): BusinessDate;
117
- /**
118
- * The full years of age on a business calendar date (a birthday is a `BusinessDate`, not an instant).
119
- *
120
- * @param birthDate - the birth date as `YYYY-MM-DD`.
121
- * @param asOfDate - the reference business date; defaults to {@link today}.
122
- * @returns the age in completed years.
123
- * @example
124
- * ageOnBusinessDate('1990-07-10', '2026-07-06'); // → 35
125
- */
126
- export declare function ageOnBusinessDate(birthDate: BusinessDate, asOfDate?: BusinessDate): number;
9
+ import { BUSINESS_TIMEZONE as businessTimezoneCanonical, BUSINESS_TIME_ZONES as businessTimeZonesCanonical, DEFAULT_BUSINESS_DATETIME_PATTERN as defaultBusinessDatetimePatternCanonical, TIME_ZONES as timeZonesCanonical, addBusinessDays as addBusinessDaysCanonical, addDays as addDaysCanonical, ageOnBusinessDate as ageOnBusinessDateCanonical, businessDateTimeInstant as businessDateTimeInstantCanonical, endOfBusinessDay as endOfBusinessDayCanonical, endOfDay as endOfDayCanonical, formatBusinessDateTime as formatBusinessDateTimeCanonical, getBusinessTimeConfig as getBusinessTimeConfigCanonical, getTimezoneConfig as getTimezoneConfigCanonical, initializeBusinessTime as initializeBusinessTimeCanonical, initializeTimezone as initializeTimezoneCanonical, localDateTimeToInstant as localDateTimeToInstantCanonical, normalizeBusinessDate as normalizeBusinessDateCanonical, parseBusinessDateTime as parseBusinessDateTimeCanonical, startOfBusinessDay as startOfBusinessDayCanonical, startOfDay as startOfDayCanonical, toBusinessDate as toBusinessDateCanonical, toBusinessDateTime as toBusinessDateTimeCanonical, toLocalDate as toLocalDateCanonical, toLocalDateTime as toLocalDateTimeCanonical, today as todayCanonical } from '@rdlabo/workers-timezone';
10
+ import type { BusinessDate as BusinessDateCanonical, BusinessDateTime as BusinessDateTimeCanonical, BusinessTimeConfig as BusinessTimeConfigCanonical, BusinessTimeZone as BusinessTimeZoneCanonical, TimeZone as TimeZoneCanonical, TimezoneConfig as TimezoneConfigCanonical } from '@rdlabo/workers-timezone';
11
+ /** @deprecated Import from `@rdlabo/workers-timezone` instead. */
12
+ export declare const TIME_ZONES: typeof timeZonesCanonical;
13
+ /** @deprecated Import from `@rdlabo/workers-timezone` instead. */
14
+ export declare const BUSINESS_TIMEZONE: typeof businessTimezoneCanonical;
15
+ /** @deprecated Import from `@rdlabo/workers-timezone` instead. */
16
+ export declare const BUSINESS_TIME_ZONES: typeof businessTimeZonesCanonical;
17
+ /** @deprecated Import from `@rdlabo/workers-timezone` instead. */
18
+ export declare const DEFAULT_BUSINESS_DATETIME_PATTERN: typeof defaultBusinessDatetimePatternCanonical;
19
+ /** @deprecated Import from `@rdlabo/workers-timezone` instead. */
20
+ export declare const initializeTimezone: typeof initializeTimezoneCanonical;
21
+ /** @deprecated Import from `@rdlabo/workers-timezone` instead. */
22
+ export declare const getTimezoneConfig: typeof getTimezoneConfigCanonical;
23
+ /** @deprecated Import from `@rdlabo/workers-timezone` instead. */
24
+ export declare const toLocalDate: typeof toLocalDateCanonical;
25
+ /** @deprecated Import from `@rdlabo/workers-timezone` instead. */
26
+ export declare const toLocalDateTime: typeof toLocalDateTimeCanonical;
27
+ /** @deprecated Import from `@rdlabo/workers-timezone` instead. */
28
+ export declare const localDateTimeToInstant: typeof localDateTimeToInstantCanonical;
29
+ /** @deprecated Import from `@rdlabo/workers-timezone` instead. */
30
+ export declare const startOfDay: typeof startOfDayCanonical;
31
+ /** @deprecated Import from `@rdlabo/workers-timezone` instead. */
32
+ export declare const endOfDay: typeof endOfDayCanonical;
33
+ /** @deprecated Import from `@rdlabo/workers-timezone` instead. */
34
+ export declare const addDays: typeof addDaysCanonical;
35
+ /** @deprecated Import from `@rdlabo/workers-timezone` instead. */
36
+ export declare const toBusinessDate: typeof toBusinessDateCanonical;
37
+ /** @deprecated Import from `@rdlabo/workers-timezone` instead. */
38
+ export declare const toBusinessDateTime: typeof toBusinessDateTimeCanonical;
39
+ /** @deprecated Import from `@rdlabo/workers-timezone` instead. */
40
+ export declare const businessDateTimeInstant: typeof businessDateTimeInstantCanonical;
41
+ /** @deprecated Import from `@rdlabo/workers-timezone` instead. */
42
+ export declare const startOfBusinessDay: typeof startOfBusinessDayCanonical;
43
+ /** @deprecated Import from `@rdlabo/workers-timezone` instead. */
44
+ export declare const endOfBusinessDay: typeof endOfBusinessDayCanonical;
45
+ /** @deprecated Import from `@rdlabo/workers-timezone` instead. */
46
+ export declare const addBusinessDays: typeof addBusinessDaysCanonical;
47
+ /** @deprecated Import from `@rdlabo/workers-timezone` instead. */
48
+ export declare const today: typeof todayCanonical;
49
+ /** @deprecated Import from `@rdlabo/workers-timezone` instead. */
50
+ export declare const normalizeBusinessDate: typeof normalizeBusinessDateCanonical;
51
+ /** @deprecated Import from `@rdlabo/workers-timezone` instead. */
52
+ export declare const formatBusinessDateTime: typeof formatBusinessDateTimeCanonical;
53
+ /** @deprecated Import from `@rdlabo/workers-timezone` instead. */
54
+ export declare const parseBusinessDateTime: typeof parseBusinessDateTimeCanonical;
55
+ /** @deprecated Import from `@rdlabo/workers-timezone` instead. */
56
+ export declare const ageOnBusinessDate: typeof ageOnBusinessDateCanonical;
57
+ /** @deprecated Import from `@rdlabo/workers-timezone` instead. */
58
+ export declare const initializeBusinessTime: typeof initializeBusinessTimeCanonical;
59
+ /** @deprecated Import from `@rdlabo/workers-timezone` instead. */
60
+ export declare const getBusinessTimeConfig: typeof getBusinessTimeConfigCanonical;
61
+ /** @deprecated Import from `@rdlabo/workers-timezone` instead. */
62
+ export type TimeZone = TimeZoneCanonical;
63
+ /** @deprecated Import from `@rdlabo/workers-timezone` instead. */
64
+ export type TimezoneConfig = TimezoneConfigCanonical;
65
+ /** @deprecated Import from `@rdlabo/workers-timezone` instead. */
66
+ export type BusinessTimeZone = BusinessTimeZoneCanonical;
67
+ /** @deprecated Import from `@rdlabo/workers-timezone` instead. */
68
+ export type BusinessTimeConfig = BusinessTimeConfigCanonical;
69
+ /** @deprecated Import from `@rdlabo/workers-timezone` instead. */
70
+ export type BusinessDate = BusinessDateCanonical;
71
+ /** @deprecated Import from `@rdlabo/workers-timezone` instead. */
72
+ export type BusinessDateTime = BusinessDateTimeCanonical;