@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.
- package/README.md +73 -37
- package/dist/aws/sts.d.ts +2 -2
- package/dist/aws/sts.js +4 -4
- package/dist/business-time/index.d.ts +68 -122
- package/dist/business-time/index.js +55 -222
- package/dist/container/middleware.d.ts +1 -2
- package/dist/container/middleware.js +1 -1
- package/dist/db/index.d.ts +95 -20
- package/dist/db/index.js +56 -15
- package/dist/db/payment-failed.d.ts +1 -1
- package/dist/db/payment-failed.js +1 -1
- package/dist/index.d.ts +0 -3
- package/dist/index.js +0 -3
- package/dist/mysql/index.d.ts +9 -0
- package/dist/mysql/index.js +8 -0
- package/dist/testing/auth.d.ts +1 -1
- package/dist/testing/db.d.ts +19 -106
- package/dist/testing/db.js +3 -95
- package/dist/testing/fakes.d.ts +15 -97
- package/dist/testing/fakes.js +12 -104
- package/dist/testing/index.d.ts +8 -3
- package/dist/testing/index.js +8 -2
- package/docs/api-business-time.md +47 -30
- package/docs/api-db.md +48 -29
- package/docs/api-offline.md +11 -15
- package/docs/api-root.md +64 -58
- package/docs/api-testing.md +41 -13
- package/docs/api.md +35 -12
- package/docs/cli.md +11 -7
- package/docs/data-layer.md +68 -5
- package/docs/development.md +125 -5
- package/docs/http-auth.md +15 -0
- package/docs/realtime-offline.md +15 -0
- package/docs/role-policies.md +4 -4
- package/docs/testing-operations.md +25 -2
- package/package.json +24 -18
- package/scripts/db-baseline.mjs +3 -68
- package/scripts/workspace-package-smoke.mjs +206 -0
- package/dist/business-time/types.d.ts +0 -9
- package/dist/business-time/types.js +0 -5
- package/dist/db/columns.d.ts +0 -38
- package/dist/db/columns.js +0 -38
- package/dist/db/connection.d.ts +0 -74
- package/dist/db/connection.js +0 -67
- package/dist/db/database.d.ts +0 -249
- package/dist/db/database.js +0 -196
- package/dist/db/jst.d.ts +0 -45
- package/dist/db/jst.js +0 -47
- package/dist/db/migrate.d.ts +0 -51
- package/dist/db/migrate.js +0 -109
- package/dist/db/orm-config.d.ts +0 -127
- package/dist/db/orm-config.js +0 -122
- package/dist/db/retry.d.ts +0 -28
- package/dist/db/retry.js +0 -56
- package/dist/db/write-result.d.ts +0 -39
- package/dist/db/write-result.js +0 -34
|
@@ -1,226 +1,59 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
* -
|
|
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 '
|
|
13
|
-
|
|
14
|
-
const
|
|
15
|
-
/**
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
/**
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
*/
|
|
50
|
-
export
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
* @returns the business date as `YYYY-MM-DD`, or `null` when the input cannot be resolved.
|
|
64
|
-
* @example
|
|
65
|
-
* normalizeBusinessDate('1990-01-15'); // → '1990-01-15' (unchanged)
|
|
66
|
-
* normalizeBusinessDate('2026-07-05T20:00:00Z'); // → '2026-07-06' (JST)
|
|
67
|
-
* normalizeBusinessDate(''); // → null
|
|
68
|
-
*/
|
|
69
|
-
export function normalizeBusinessDate(value) {
|
|
70
|
-
if (value == null) {
|
|
71
|
-
return null;
|
|
72
|
-
}
|
|
73
|
-
if (value instanceof Date) {
|
|
74
|
-
if (Number.isNaN(value.getTime())) {
|
|
75
|
-
return null;
|
|
76
|
-
}
|
|
77
|
-
return toBusinessDate(value);
|
|
78
|
-
}
|
|
79
|
-
const trimmed = value.trim();
|
|
80
|
-
if (!trimmed) {
|
|
81
|
-
return null;
|
|
82
|
-
}
|
|
83
|
-
if (/^\d{4}-\d{2}-\d{2}$/.test(trimmed)) {
|
|
84
|
-
return trimmed;
|
|
85
|
-
}
|
|
86
|
-
const isoDatePrefix = /^(\d{4}-\d{2}-\d{2})/.exec(trimmed);
|
|
87
|
-
if (isoDatePrefix && !trimmed.includes('T') && !trimmed.includes(' ')) {
|
|
88
|
-
return isoDatePrefix[1];
|
|
89
|
-
}
|
|
90
|
-
const ms = new Date(trimmed).getTime();
|
|
91
|
-
if (Number.isNaN(ms)) {
|
|
92
|
-
return null;
|
|
93
|
-
}
|
|
94
|
-
return toBusinessDate(new Date(ms));
|
|
95
|
-
}
|
|
96
|
-
/**
|
|
97
|
-
* Convert a UTC instant to a JST business date-time (`YYYY-MM-DD HH:mm:ss`).
|
|
98
|
-
*
|
|
99
|
-
* @param instant - the UTC instant to convert.
|
|
100
|
-
* @returns the business date-time string.
|
|
101
|
-
* @example
|
|
102
|
-
* toBusinessDateTime(new Date('2026-07-05T21:00:00Z')); // → '2026-07-06 06:00:00' (JST)
|
|
103
|
-
*/
|
|
104
|
-
export function toBusinessDateTime(instant) {
|
|
105
|
-
const wall = toWallClock(instant);
|
|
106
|
-
return `${wall.getUTCFullYear()}-${pad2(wall.getUTCMonth() + 1)}-${pad2(wall.getUTCDate())} ${pad2(wall.getUTCHours())}:${pad2(wall.getUTCMinutes())}:${pad2(wall.getUTCSeconds())}`;
|
|
107
|
-
}
|
|
108
|
-
/** Default pattern for the Nest / foodlabel / winecode `helper.formatDate`. */
|
|
109
|
-
export const DEFAULT_BUSINESS_DATETIME_PATTERN = 'YYYY-MM-DDThh:mm:ss';
|
|
110
|
-
/**
|
|
111
|
-
* Format an instant in the business TZ, compatible with the Nest `helper.formatDate`.
|
|
112
|
-
*
|
|
113
|
-
* Supported tokens: `YYYY` / `MM` / `DD` / `hh` / `mm` / `ss`, plus `S` for the source instant's
|
|
114
|
-
* milliseconds (matching the Nest reference implementation).
|
|
115
|
-
*
|
|
116
|
-
* @param instant - the UTC instant to format.
|
|
117
|
-
* @param pattern - the format pattern; defaults to {@link DEFAULT_BUSINESS_DATETIME_PATTERN}.
|
|
118
|
-
* @returns the formatted string.
|
|
119
|
-
* @example
|
|
120
|
-
* formatBusinessDateTime(new Date('2026-07-05T21:00:00Z')); // → '2026-07-06T06:00:00' (JST)
|
|
121
|
-
*/
|
|
122
|
-
export function formatBusinessDateTime(instant, pattern = DEFAULT_BUSINESS_DATETIME_PATTERN) {
|
|
123
|
-
const wall = toWallClock(instant);
|
|
124
|
-
let out = pattern;
|
|
125
|
-
out = out.replace(/YYYY/g, String(wall.getUTCFullYear()));
|
|
126
|
-
out = out.replace(/MM/g, pad2(wall.getUTCMonth() + 1));
|
|
127
|
-
out = out.replace(/DD/g, pad2(wall.getUTCDate()));
|
|
128
|
-
out = out.replace(/hh/g, pad2(wall.getUTCHours()));
|
|
129
|
-
out = out.replace(/mm/g, pad2(wall.getUTCMinutes()));
|
|
130
|
-
out = out.replace(/ss/g, pad2(wall.getUTCSeconds()));
|
|
131
|
-
const matched = out.match(/S/g);
|
|
132
|
-
if (matched) {
|
|
133
|
-
const milliSeconds = String(instant.getMilliseconds()).padStart(3, '0');
|
|
134
|
-
const length = matched.length;
|
|
135
|
-
for (let i = 0; i < length; i++) {
|
|
136
|
-
out = out.replace(/S/, milliSeconds.substring(i, i + 1));
|
|
137
|
-
}
|
|
138
|
-
}
|
|
139
|
-
return out;
|
|
140
|
-
}
|
|
141
|
-
/**
|
|
142
|
-
* Parse a JST business date-time string into a UTC instant. Accepts a space or `T` separator
|
|
143
|
-
* (`YYYY-MM-DD HH:mm:ss` or `YYYY-MM-DDTHH:mm:ss`).
|
|
144
|
-
*
|
|
145
|
-
* @param value - the business date-time string to parse.
|
|
146
|
-
* @returns the corresponding UTC instant.
|
|
147
|
-
* @throws RangeError when `value` is not a valid business date-time.
|
|
148
|
-
* @example
|
|
149
|
-
* parseBusinessDateTime('2026-07-06 06:00:00'); // → 2026-07-05T21:00:00Z
|
|
150
|
-
*/
|
|
151
|
-
export function parseBusinessDateTime(value) {
|
|
152
|
-
const normalized = value.includes('T') ? value.replace('T', ' ') : value;
|
|
153
|
-
const m = /^(\d{4})-(\d{2})-(\d{2}) (\d{2}):(\d{2}):(\d{2})$/.exec(normalized);
|
|
154
|
-
if (!m) {
|
|
155
|
-
throw new RangeError(`Invalid BusinessDateTime: ${value}`);
|
|
156
|
-
}
|
|
157
|
-
const [, y, mo, d, h, mi, s] = m;
|
|
158
|
-
const offsetHours = BUSINESS_TIMEZONE.offsetMinutes / 60;
|
|
159
|
-
return new Date(Date.UTC(Number(y), Number(mo) - 1, Number(d), Number(h) - offsetHours, Number(mi), Number(s), 0));
|
|
160
|
-
}
|
|
161
|
-
/**
|
|
162
|
-
* The UTC instant of `00:00:00` on a JST business calendar date.
|
|
163
|
-
*
|
|
164
|
-
* @param date - the business date as `YYYY-MM-DD`.
|
|
165
|
-
* @returns the UTC instant at the start of that business day.
|
|
166
|
-
*/
|
|
167
|
-
export function startOfBusinessDay(date) {
|
|
168
|
-
return businessDateTimeInstant(date, '00:00:00');
|
|
169
|
-
}
|
|
170
|
-
/**
|
|
171
|
-
* The UTC instant of `23:59:59` on a JST business calendar date.
|
|
172
|
-
*
|
|
173
|
-
* @param date - the business date as `YYYY-MM-DD`.
|
|
174
|
-
* @returns the UTC instant at the end of that business day.
|
|
175
|
-
*/
|
|
176
|
-
export function endOfBusinessDay(date) {
|
|
177
|
-
return businessDateTimeInstant(date, '23:59:59');
|
|
178
|
-
}
|
|
179
|
-
/**
|
|
180
|
-
* Convert a JST business calendar date + wall-clock time to a UTC instant.
|
|
181
|
-
*
|
|
182
|
-
* @param date - the business date as `YYYY-MM-DD`.
|
|
183
|
-
* @param time - the wall-clock time as `HH:mm:ss` (or `HH:mm`).
|
|
184
|
-
* @returns the corresponding UTC instant.
|
|
185
|
-
* @throws RangeError when `date` or `time` is malformed.
|
|
186
|
-
* @example
|
|
187
|
-
* businessDateTimeInstant('2026-07-06', '06:00:00'); // → 2026-07-05T21:00:00Z
|
|
188
|
-
*/
|
|
189
|
-
export function businessDateTimeInstant(date, time) {
|
|
190
|
-
const [y, mo, d] = parseYmd(date);
|
|
191
|
-
const [h, mi, s] = parseHms(time);
|
|
192
|
-
const offsetHours = BUSINESS_TIMEZONE.offsetMinutes / 60;
|
|
193
|
-
return new Date(Date.UTC(y, mo - 1, d, h - offsetHours, mi, s, 0));
|
|
194
|
-
}
|
|
195
|
-
/**
|
|
196
|
-
* Add a number of calendar days to a JST business calendar date.
|
|
197
|
-
*
|
|
198
|
-
* @param date - the starting business date as `YYYY-MM-DD`.
|
|
199
|
-
* @param days - the number of calendar days to add (may be negative).
|
|
200
|
-
* @returns the resulting business date as `YYYY-MM-DD`.
|
|
201
|
-
* @example
|
|
202
|
-
* addBusinessDays('2026-07-06', 3); // → '2026-07-09'
|
|
203
|
-
*/
|
|
204
|
-
export function addBusinessDays(date, days) {
|
|
205
|
-
const anchor = businessDateTimeInstant(date, '12:00:00');
|
|
206
|
-
return toBusinessDate(new Date(anchor.getTime() + days * 24 * 60 * 60 * 1000));
|
|
207
|
-
}
|
|
208
|
-
/**
|
|
209
|
-
* The full years of age on a business calendar date (a birthday is a `BusinessDate`, not an instant).
|
|
210
|
-
*
|
|
211
|
-
* @param birthDate - the birth date as `YYYY-MM-DD`.
|
|
212
|
-
* @param asOfDate - the reference business date; defaults to {@link today}.
|
|
213
|
-
* @returns the age in completed years.
|
|
214
|
-
* @example
|
|
215
|
-
* ageOnBusinessDate('1990-07-10', '2026-07-06'); // → 35
|
|
216
|
-
*/
|
|
217
|
-
export function ageOnBusinessDate(birthDate, asOfDate) {
|
|
218
|
-
const asOf = asOfDate ?? today();
|
|
219
|
-
const [by, bm, bd] = parseYmd(birthDate);
|
|
220
|
-
const [ay, am, ad] = parseYmd(asOf);
|
|
221
|
-
let age = ay - by;
|
|
222
|
-
if (am < bm || (am === bm && ad < bd)) {
|
|
223
|
-
age--;
|
|
224
|
-
}
|
|
225
|
-
return age;
|
|
226
|
-
}
|
|
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
|
+
/** @deprecated Import from `@rdlabo/workers-timezone` instead. */
|
|
11
|
+
export const TIME_ZONES = timeZonesCanonical;
|
|
12
|
+
/** @deprecated Import from `@rdlabo/workers-timezone` instead. */
|
|
13
|
+
export const BUSINESS_TIMEZONE = businessTimezoneCanonical;
|
|
14
|
+
/** @deprecated Import from `@rdlabo/workers-timezone` instead. */
|
|
15
|
+
export const BUSINESS_TIME_ZONES = businessTimeZonesCanonical;
|
|
16
|
+
/** @deprecated Import from `@rdlabo/workers-timezone` instead. */
|
|
17
|
+
export const DEFAULT_BUSINESS_DATETIME_PATTERN = defaultBusinessDatetimePatternCanonical;
|
|
18
|
+
/** @deprecated Import from `@rdlabo/workers-timezone` instead. */
|
|
19
|
+
export const initializeTimezone = initializeTimezoneCanonical;
|
|
20
|
+
/** @deprecated Import from `@rdlabo/workers-timezone` instead. */
|
|
21
|
+
export const getTimezoneConfig = getTimezoneConfigCanonical;
|
|
22
|
+
/** @deprecated Import from `@rdlabo/workers-timezone` instead. */
|
|
23
|
+
export const toLocalDate = toLocalDateCanonical;
|
|
24
|
+
/** @deprecated Import from `@rdlabo/workers-timezone` instead. */
|
|
25
|
+
export const toLocalDateTime = toLocalDateTimeCanonical;
|
|
26
|
+
/** @deprecated Import from `@rdlabo/workers-timezone` instead. */
|
|
27
|
+
export const localDateTimeToInstant = localDateTimeToInstantCanonical;
|
|
28
|
+
/** @deprecated Import from `@rdlabo/workers-timezone` instead. */
|
|
29
|
+
export const startOfDay = startOfDayCanonical;
|
|
30
|
+
/** @deprecated Import from `@rdlabo/workers-timezone` instead. */
|
|
31
|
+
export const endOfDay = endOfDayCanonical;
|
|
32
|
+
/** @deprecated Import from `@rdlabo/workers-timezone` instead. */
|
|
33
|
+
export const addDays = addDaysCanonical;
|
|
34
|
+
/** @deprecated Import from `@rdlabo/workers-timezone` instead. */
|
|
35
|
+
export const toBusinessDate = toBusinessDateCanonical;
|
|
36
|
+
/** @deprecated Import from `@rdlabo/workers-timezone` instead. */
|
|
37
|
+
export const toBusinessDateTime = toBusinessDateTimeCanonical;
|
|
38
|
+
/** @deprecated Import from `@rdlabo/workers-timezone` instead. */
|
|
39
|
+
export const businessDateTimeInstant = businessDateTimeInstantCanonical;
|
|
40
|
+
/** @deprecated Import from `@rdlabo/workers-timezone` instead. */
|
|
41
|
+
export const startOfBusinessDay = startOfBusinessDayCanonical;
|
|
42
|
+
/** @deprecated Import from `@rdlabo/workers-timezone` instead. */
|
|
43
|
+
export const endOfBusinessDay = endOfBusinessDayCanonical;
|
|
44
|
+
/** @deprecated Import from `@rdlabo/workers-timezone` instead. */
|
|
45
|
+
export const addBusinessDays = addBusinessDaysCanonical;
|
|
46
|
+
/** @deprecated Import from `@rdlabo/workers-timezone` instead. */
|
|
47
|
+
export const today = todayCanonical;
|
|
48
|
+
/** @deprecated Import from `@rdlabo/workers-timezone` instead. */
|
|
49
|
+
export const normalizeBusinessDate = normalizeBusinessDateCanonical;
|
|
50
|
+
/** @deprecated Import from `@rdlabo/workers-timezone` instead. */
|
|
51
|
+
export const formatBusinessDateTime = formatBusinessDateTimeCanonical;
|
|
52
|
+
/** @deprecated Import from `@rdlabo/workers-timezone` instead. */
|
|
53
|
+
export const parseBusinessDateTime = parseBusinessDateTimeCanonical;
|
|
54
|
+
/** @deprecated Import from `@rdlabo/workers-timezone` instead. */
|
|
55
|
+
export const ageOnBusinessDate = ageOnBusinessDateCanonical;
|
|
56
|
+
/** @deprecated Import from `@rdlabo/workers-timezone` instead. */
|
|
57
|
+
export const initializeBusinessTime = initializeBusinessTimeCanonical;
|
|
58
|
+
/** @deprecated Import from `@rdlabo/workers-timezone` instead. */
|
|
59
|
+
export const getBusinessTimeConfig = getBusinessTimeConfigCanonical;
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
+
import type { Connection, HyperdriveLike } from '@rdlabo/workers-mysql';
|
|
1
2
|
import type { Env, MiddlewareHandler } from 'hono';
|
|
2
|
-
import type { Connection } from 'mysql2/promise';
|
|
3
|
-
import type { HyperdriveLike } from '../db/connection.js';
|
|
4
3
|
import type { ExecutionContextLike } from '../http/execution-context.js';
|
|
5
4
|
/** Inputs available while building a per-request application container. */
|
|
6
5
|
export interface ContainerBuildContext<TEnv extends Env['Bindings']> {
|
package/dist/db/index.d.ts
CHANGED
|
@@ -1,25 +1,100 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
* @remarks
|
|
6
|
-
* This module never depends on the type identity of `drizzle-orm`: the ORM instance is always
|
|
7
|
-
* supplied by the consumer. That keeps the kit safe to use even when the kit and the consuming app
|
|
8
|
-
* resolve separate copies of `drizzle-orm`.
|
|
2
|
+
* Compatibility re-export of `@rdlabo/workers-mysql` (and its `/drizzle` / `/migrations` entry points).
|
|
3
|
+
* Prefer installing those packages and importing their APIs directly. Symbol-level `@deprecated`
|
|
4
|
+
* tags mark each promoted export; kit-owned payment SQL helpers are not deprecated.
|
|
9
5
|
*
|
|
10
6
|
* @packageDocumentation
|
|
11
7
|
*/
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
export
|
|
20
|
-
|
|
21
|
-
export
|
|
22
|
-
|
|
23
|
-
export
|
|
24
|
-
|
|
8
|
+
import { MYSQL_TIMEZONE as mysqlTimezoneCanonical, affectedRowsOf as affectedRowsOfCanonical, createHyperdriveDatabase as createHyperdriveDatabaseCanonical, createMysqlDatabase as createMysqlDatabaseCanonical, databaseFrom as databaseFromCanonical, hyperdriveConnectionOptions as hyperdriveConnectionOptionsCanonical, insertIdOf as insertIdOfCanonical, insertedIdsOf as insertedIdsOfCanonical, jstDateParams as jstDateParamsCanonical, jstDatetimeParams as jstDatetimeParamsCanonical, jstTimestampParams as jstTimestampParamsCanonical, retryWhenDeadlock as retryWhenDeadlockCanonical, toJstDate as toJstDateCanonical, withMysqlConnections as withMysqlConnectionsCanonical } from '@rdlabo/workers-mysql';
|
|
9
|
+
import type { Connection as ConnectionCanonical, CreateHyperdriveDatabaseOptions as CreateHyperdriveDatabaseOptionsCanonical, CreateMysqlDatabaseOptions as CreateMysqlDatabaseOptionsCanonical, Database as DatabaseCanonical, DisposableDatabase as DisposableDatabaseCanonical, DzWriteResult as DzWriteResultCanonical, ExecutionContextLike as ExecutionContextLikeCanonical, HyperdriveDatabase as HyperdriveDatabaseCanonical, HyperdriveLike as HyperdriveLikeCanonical, Pool as PoolCanonical, QueryRunner as QueryRunnerCanonical, ReadTransaction as ReadTransactionCanonical, TxOf as TxOfCanonical } from '@rdlabo/workers-mysql';
|
|
10
|
+
import { DRIZZLE_ORM_OPTIONS as drizzleOrmOptionsCanonical, honoDrizzleConfig as honoDrizzleConfigCanonical, jstDate as jstDateCanonical, jstDatetime as jstDatetimeCanonical, jstOnUpdateNow as jstOnUpdateNowCanonical, jstTimestamp as jstTimestampCanonical, resolveDbSecret as resolveDbSecretCanonical, workersDrizzleConfig as workersDrizzleConfigCanonical } from '@rdlabo/workers-mysql/drizzle';
|
|
11
|
+
import type { HonoDrizzleConfigOptions as HonoDrizzleConfigOptionsCanonical, ResolvedDbSecret as ResolvedDbSecretCanonical, WorkersDrizzleConfigOptions as WorkersDrizzleConfigOptionsCanonical } from '@rdlabo/workers-mysql/drizzle';
|
|
12
|
+
import { baselineMigrations as baselineMigrationsCanonical, readBaselineEntry as readBaselineEntryCanonical } from '@rdlabo/workers-mysql/migrations';
|
|
13
|
+
import type { BaselineEntry as BaselineEntryCanonical, BaselineMigrationsOptions as BaselineMigrationsOptionsCanonical, BaselineResult as BaselineResultCanonical } from '@rdlabo/workers-mysql/migrations';
|
|
14
|
+
/** @deprecated Import from `@rdlabo/workers-mysql` instead. */
|
|
15
|
+
export declare const retryWhenDeadlock: typeof retryWhenDeadlockCanonical;
|
|
16
|
+
/** @deprecated Import from `@rdlabo/workers-mysql` instead. */
|
|
17
|
+
export declare const createMysqlDatabase: typeof createMysqlDatabaseCanonical;
|
|
18
|
+
/** @deprecated Import from `@rdlabo/workers-mysql` instead. */
|
|
19
|
+
export declare const createHyperdriveDatabase: typeof createHyperdriveDatabaseCanonical;
|
|
20
|
+
/** @deprecated Import from `@rdlabo/workers-mysql` instead. */
|
|
21
|
+
export declare const databaseFrom: typeof databaseFromCanonical;
|
|
22
|
+
/** @deprecated Import from `@rdlabo/workers-mysql` instead. */
|
|
23
|
+
export declare const insertIdOf: typeof insertIdOfCanonical;
|
|
24
|
+
/** @deprecated Import from `@rdlabo/workers-mysql` instead. */
|
|
25
|
+
export declare const affectedRowsOf: typeof affectedRowsOfCanonical;
|
|
26
|
+
/** @deprecated Import from `@rdlabo/workers-mysql` instead. */
|
|
27
|
+
export declare const insertedIdsOf: typeof insertedIdsOfCanonical;
|
|
28
|
+
/** @deprecated Import from `@rdlabo/workers-mysql` instead. */
|
|
29
|
+
export declare const hyperdriveConnectionOptions: typeof hyperdriveConnectionOptionsCanonical;
|
|
30
|
+
/** @deprecated Import from `@rdlabo/workers-mysql` instead. */
|
|
31
|
+
export declare const withMysqlConnections: typeof withMysqlConnectionsCanonical;
|
|
32
|
+
/** @deprecated Import from `@rdlabo/workers-mysql` instead. */
|
|
33
|
+
export declare const MYSQL_TIMEZONE: typeof mysqlTimezoneCanonical;
|
|
34
|
+
/** @deprecated Import from `@rdlabo/workers-mysql` instead. */
|
|
35
|
+
export declare const toJstDate: typeof toJstDateCanonical;
|
|
36
|
+
/** @deprecated Import from `@rdlabo/workers-mysql` instead. */
|
|
37
|
+
export declare const jstTimestampParams: typeof jstTimestampParamsCanonical;
|
|
38
|
+
/** @deprecated Import from `@rdlabo/workers-mysql` instead. */
|
|
39
|
+
export declare const jstDatetimeParams: typeof jstDatetimeParamsCanonical;
|
|
40
|
+
/** @deprecated Import from `@rdlabo/workers-mysql` instead. */
|
|
41
|
+
export declare const jstDateParams: typeof jstDateParamsCanonical;
|
|
42
|
+
/** @deprecated Import from `@rdlabo/workers-mysql` instead. */
|
|
43
|
+
export type TxOf<TDrizzle> = TxOfCanonical<TDrizzle>;
|
|
44
|
+
/** @deprecated Import from `@rdlabo/workers-mysql` instead. */
|
|
45
|
+
export type Database<TDrizzle, TTx = TxOfCanonical<TDrizzle>> = DatabaseCanonical<TDrizzle, TTx>;
|
|
46
|
+
/** @deprecated Import from `@rdlabo/workers-mysql` instead. */
|
|
47
|
+
export type DisposableDatabase<TDrizzle, TTx = TxOfCanonical<TDrizzle>> = DisposableDatabaseCanonical<TDrizzle, TTx>;
|
|
48
|
+
/** @deprecated Import from `@rdlabo/workers-mysql` instead. */
|
|
49
|
+
export type HyperdriveDatabase<TDrizzle, TTx = TxOfCanonical<TDrizzle>> = HyperdriveDatabaseCanonical<TDrizzle, TTx>;
|
|
50
|
+
/** @deprecated Import from `@rdlabo/workers-mysql` instead. */
|
|
51
|
+
export type ReadTransaction<TTx> = ReadTransactionCanonical<TTx>;
|
|
52
|
+
/** @deprecated Import from `@rdlabo/workers-mysql` instead. */
|
|
53
|
+
export type QueryRunner = QueryRunnerCanonical;
|
|
54
|
+
/** @deprecated Import from `@rdlabo/workers-mysql` instead. */
|
|
55
|
+
export type CreateMysqlDatabaseOptions<TDrizzle> = CreateMysqlDatabaseOptionsCanonical<TDrizzle>;
|
|
56
|
+
/** @deprecated Import from `@rdlabo/workers-mysql` instead. */
|
|
57
|
+
export type CreateHyperdriveDatabaseOptions<TDrizzle> = CreateHyperdriveDatabaseOptionsCanonical<TDrizzle>;
|
|
58
|
+
/** @deprecated Import from `@rdlabo/workers-mysql` instead. */
|
|
59
|
+
export type Connection = ConnectionCanonical;
|
|
60
|
+
/** @deprecated Import from `@rdlabo/workers-mysql` instead. */
|
|
61
|
+
export type Pool = PoolCanonical;
|
|
62
|
+
/** @deprecated Import from `@rdlabo/workers-mysql` instead. */
|
|
63
|
+
export type DzWriteResult = DzWriteResultCanonical;
|
|
64
|
+
/** @deprecated Import from `@rdlabo/workers-mysql` instead. */
|
|
65
|
+
export type HyperdriveLike = HyperdriveLikeCanonical;
|
|
66
|
+
/** @deprecated Import from `@rdlabo/workers-mysql` instead. */
|
|
67
|
+
export type ExecutionContextLike = ExecutionContextLikeCanonical;
|
|
68
|
+
/** @deprecated Import from `@rdlabo/workers-mysql/drizzle` instead. */
|
|
69
|
+
export declare const jstTimestamp: typeof jstTimestampCanonical;
|
|
70
|
+
/** @deprecated Import from `@rdlabo/workers-mysql/drizzle` instead. */
|
|
71
|
+
export declare const jstDatetime: typeof jstDatetimeCanonical;
|
|
72
|
+
/** @deprecated Import from `@rdlabo/workers-mysql/drizzle` instead. */
|
|
73
|
+
export declare const jstDate: typeof jstDateCanonical;
|
|
74
|
+
/** @deprecated Import from `@rdlabo/workers-mysql/drizzle` instead. */
|
|
75
|
+
export declare const jstOnUpdateNow: typeof jstOnUpdateNowCanonical;
|
|
76
|
+
/** @deprecated Import from `@rdlabo/workers-mysql/drizzle` instead. */
|
|
77
|
+
export declare const DRIZZLE_ORM_OPTIONS: typeof drizzleOrmOptionsCanonical;
|
|
78
|
+
/** @deprecated Import from `@rdlabo/workers-mysql/drizzle` instead. */
|
|
79
|
+
export declare const workersDrizzleConfig: typeof workersDrizzleConfigCanonical;
|
|
80
|
+
/** @deprecated Import `workersDrizzleConfig` from `@rdlabo/workers-mysql/drizzle` instead. */
|
|
81
|
+
export declare const honoDrizzleConfig: typeof honoDrizzleConfigCanonical;
|
|
82
|
+
/** @deprecated Import from `@rdlabo/workers-mysql/drizzle` instead. */
|
|
83
|
+
export declare const resolveDbSecret: typeof resolveDbSecretCanonical;
|
|
84
|
+
/** @deprecated Import from `@rdlabo/workers-mysql/drizzle` instead. */
|
|
85
|
+
export type WorkersDrizzleConfigOptions = WorkersDrizzleConfigOptionsCanonical;
|
|
86
|
+
/** @deprecated Import `WorkersDrizzleConfigOptions` from `@rdlabo/workers-mysql/drizzle` instead. */
|
|
87
|
+
export type HonoDrizzleConfigOptions = HonoDrizzleConfigOptionsCanonical;
|
|
88
|
+
/** @deprecated Import from `@rdlabo/workers-mysql/drizzle` instead. */
|
|
89
|
+
export type ResolvedDbSecret = ResolvedDbSecretCanonical;
|
|
90
|
+
/** @deprecated Import from `@rdlabo/workers-mysql/migrations` instead. */
|
|
91
|
+
export declare const baselineMigrations: typeof baselineMigrationsCanonical;
|
|
92
|
+
/** @deprecated Import from `@rdlabo/workers-mysql/migrations` instead. */
|
|
93
|
+
export declare const readBaselineEntry: typeof readBaselineEntryCanonical;
|
|
94
|
+
/** @deprecated Import from `@rdlabo/workers-mysql/migrations` instead. */
|
|
95
|
+
export type BaselineMigrationsOptions = BaselineMigrationsOptionsCanonical;
|
|
96
|
+
/** @deprecated Import from `@rdlabo/workers-mysql/migrations` instead. */
|
|
97
|
+
export type BaselineResult = BaselineResultCanonical;
|
|
98
|
+
/** @deprecated Import from `@rdlabo/workers-mysql/migrations` instead. */
|
|
99
|
+
export type BaselineEntry = BaselineEntryCanonical;
|
|
25
100
|
export { reopenGuardedPaymentFailedSet } from './payment-failed.js';
|
package/dist/db/index.js
CHANGED
|
@@ -1,20 +1,61 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
* @remarks
|
|
6
|
-
* This module never depends on the type identity of `drizzle-orm`: the ORM instance is always
|
|
7
|
-
* supplied by the consumer. That keeps the kit safe to use even when the kit and the consuming app
|
|
8
|
-
* resolve separate copies of `drizzle-orm`.
|
|
2
|
+
* Compatibility re-export of `@rdlabo/workers-mysql` (and its `/drizzle` / `/migrations` entry points).
|
|
3
|
+
* Prefer installing those packages and importing their APIs directly. Symbol-level `@deprecated`
|
|
4
|
+
* tags mark each promoted export; kit-owned payment SQL helpers are not deprecated.
|
|
9
5
|
*
|
|
10
6
|
* @packageDocumentation
|
|
11
7
|
*/
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
export
|
|
18
|
-
|
|
19
|
-
export
|
|
8
|
+
/* eslint-disable @typescript-eslint/no-deprecated -- compatibility aliases of promoted/canonical APIs */
|
|
9
|
+
import { MYSQL_TIMEZONE as mysqlTimezoneCanonical, affectedRowsOf as affectedRowsOfCanonical, createHyperdriveDatabase as createHyperdriveDatabaseCanonical, createMysqlDatabase as createMysqlDatabaseCanonical, databaseFrom as databaseFromCanonical, hyperdriveConnectionOptions as hyperdriveConnectionOptionsCanonical, insertIdOf as insertIdOfCanonical, insertedIdsOf as insertedIdsOfCanonical, jstDateParams as jstDateParamsCanonical, jstDatetimeParams as jstDatetimeParamsCanonical, jstTimestampParams as jstTimestampParamsCanonical, retryWhenDeadlock as retryWhenDeadlockCanonical, toJstDate as toJstDateCanonical, withMysqlConnections as withMysqlConnectionsCanonical, } from '@rdlabo/workers-mysql';
|
|
10
|
+
import { DRIZZLE_ORM_OPTIONS as drizzleOrmOptionsCanonical, honoDrizzleConfig as honoDrizzleConfigCanonical, jstDate as jstDateCanonical, jstDatetime as jstDatetimeCanonical, jstOnUpdateNow as jstOnUpdateNowCanonical, jstTimestamp as jstTimestampCanonical, resolveDbSecret as resolveDbSecretCanonical, workersDrizzleConfig as workersDrizzleConfigCanonical, } from '@rdlabo/workers-mysql/drizzle';
|
|
11
|
+
import { baselineMigrations as baselineMigrationsCanonical, readBaselineEntry as readBaselineEntryCanonical, } from '@rdlabo/workers-mysql/migrations';
|
|
12
|
+
/** @deprecated Import from `@rdlabo/workers-mysql` instead. */
|
|
13
|
+
export const retryWhenDeadlock = retryWhenDeadlockCanonical;
|
|
14
|
+
/** @deprecated Import from `@rdlabo/workers-mysql` instead. */
|
|
15
|
+
export const createMysqlDatabase = createMysqlDatabaseCanonical;
|
|
16
|
+
/** @deprecated Import from `@rdlabo/workers-mysql` instead. */
|
|
17
|
+
export const createHyperdriveDatabase = createHyperdriveDatabaseCanonical;
|
|
18
|
+
/** @deprecated Import from `@rdlabo/workers-mysql` instead. */
|
|
19
|
+
export const databaseFrom = databaseFromCanonical;
|
|
20
|
+
/** @deprecated Import from `@rdlabo/workers-mysql` instead. */
|
|
21
|
+
export const insertIdOf = insertIdOfCanonical;
|
|
22
|
+
/** @deprecated Import from `@rdlabo/workers-mysql` instead. */
|
|
23
|
+
export const affectedRowsOf = affectedRowsOfCanonical;
|
|
24
|
+
/** @deprecated Import from `@rdlabo/workers-mysql` instead. */
|
|
25
|
+
export const insertedIdsOf = insertedIdsOfCanonical;
|
|
26
|
+
/** @deprecated Import from `@rdlabo/workers-mysql` instead. */
|
|
27
|
+
export const hyperdriveConnectionOptions = hyperdriveConnectionOptionsCanonical;
|
|
28
|
+
/** @deprecated Import from `@rdlabo/workers-mysql` instead. */
|
|
29
|
+
export const withMysqlConnections = withMysqlConnectionsCanonical;
|
|
30
|
+
/** @deprecated Import from `@rdlabo/workers-mysql` instead. */
|
|
31
|
+
export const MYSQL_TIMEZONE = mysqlTimezoneCanonical;
|
|
32
|
+
/** @deprecated Import from `@rdlabo/workers-mysql` instead. */
|
|
33
|
+
export const toJstDate = toJstDateCanonical;
|
|
34
|
+
/** @deprecated Import from `@rdlabo/workers-mysql` instead. */
|
|
35
|
+
export const jstTimestampParams = jstTimestampParamsCanonical;
|
|
36
|
+
/** @deprecated Import from `@rdlabo/workers-mysql` instead. */
|
|
37
|
+
export const jstDatetimeParams = jstDatetimeParamsCanonical;
|
|
38
|
+
/** @deprecated Import from `@rdlabo/workers-mysql` instead. */
|
|
39
|
+
export const jstDateParams = jstDateParamsCanonical;
|
|
40
|
+
/** @deprecated Import from `@rdlabo/workers-mysql/drizzle` instead. */
|
|
41
|
+
export const jstTimestamp = jstTimestampCanonical;
|
|
42
|
+
/** @deprecated Import from `@rdlabo/workers-mysql/drizzle` instead. */
|
|
43
|
+
export const jstDatetime = jstDatetimeCanonical;
|
|
44
|
+
/** @deprecated Import from `@rdlabo/workers-mysql/drizzle` instead. */
|
|
45
|
+
export const jstDate = jstDateCanonical;
|
|
46
|
+
/** @deprecated Import from `@rdlabo/workers-mysql/drizzle` instead. */
|
|
47
|
+
export const jstOnUpdateNow = jstOnUpdateNowCanonical;
|
|
48
|
+
/** @deprecated Import from `@rdlabo/workers-mysql/drizzle` instead. */
|
|
49
|
+
export const DRIZZLE_ORM_OPTIONS = drizzleOrmOptionsCanonical;
|
|
50
|
+
/** @deprecated Import from `@rdlabo/workers-mysql/drizzle` instead. */
|
|
51
|
+
export const workersDrizzleConfig = workersDrizzleConfigCanonical;
|
|
52
|
+
/** @deprecated Import `workersDrizzleConfig` from `@rdlabo/workers-mysql/drizzle` instead. */
|
|
53
|
+
export const honoDrizzleConfig = honoDrizzleConfigCanonical;
|
|
54
|
+
/** @deprecated Import from `@rdlabo/workers-mysql/drizzle` instead. */
|
|
55
|
+
export const resolveDbSecret = resolveDbSecretCanonical;
|
|
56
|
+
/** @deprecated Import from `@rdlabo/workers-mysql/migrations` instead. */
|
|
57
|
+
export const baselineMigrations = baselineMigrationsCanonical;
|
|
58
|
+
/** @deprecated Import from `@rdlabo/workers-mysql/migrations` instead. */
|
|
59
|
+
export const readBaselineEntry = readBaselineEntryCanonical;
|
|
60
|
+
// Payment-domain SQL remains owned by workers-hono-kit rather than the generic MySQL package.
|
|
20
61
|
export { reopenGuardedPaymentFailedSet } from './payment-failed.js';
|
|
@@ -3,7 +3,7 @@ import type { SQL } from 'drizzle-orm';
|
|
|
3
3
|
* `payment_failed` persistence helpers (MySQL / Drizzle).
|
|
4
4
|
*
|
|
5
5
|
* @remarks
|
|
6
|
-
* Lives in the `./db` subpath because it imports `drizzle-orm`
|
|
6
|
+
* Lives in the `./db` subpath because it imports the optional `drizzle-orm` peer; the root export
|
|
7
7
|
* must stay free of ORM deps. The helper only builds SQL fragments — the consumer's repository
|
|
8
8
|
* executes them, so it works regardless of the consumer's DB access layer (`db.write` / `helper.query`).
|
|
9
9
|
*/
|
|
@@ -3,7 +3,7 @@ import { sql } from 'drizzle-orm';
|
|
|
3
3
|
* `payment_failed` persistence helpers (MySQL / Drizzle).
|
|
4
4
|
*
|
|
5
5
|
* @remarks
|
|
6
|
-
* Lives in the `./db` subpath because it imports `drizzle-orm`
|
|
6
|
+
* Lives in the `./db` subpath because it imports the optional `drizzle-orm` peer; the root export
|
|
7
7
|
* must stay free of ORM deps. The helper only builds SQL fragments — the consumer's repository
|
|
8
8
|
* executes them, so it works regardless of the consumer's DB access layer (`db.write` / `helper.query`).
|
|
9
9
|
*/
|
package/dist/index.d.ts
CHANGED
|
@@ -22,8 +22,6 @@ export { createMaintenanceMiddleware, createMaintenanceWaitHandler, isMaintenanc
|
|
|
22
22
|
export type { MaintenanceBody, MaintenanceMiddlewareOptions, MaintenanceWaitOptions, } from './middleware/maintenance.js';
|
|
23
23
|
export { createIsolateMemo } from './container/isolate-memo.js';
|
|
24
24
|
export type { IsolateMemo } from './container/isolate-memo.js';
|
|
25
|
-
export { createContainerRuntime } from './container/middleware.js';
|
|
26
|
-
export type { ContainerBuildContext, ContainerRuntime, ContainerRuntimeOptions } from './container/middleware.js';
|
|
27
25
|
export { createRolePolicy } from './authorization/role-policy.js';
|
|
28
26
|
export type { RolePermissionMap, RolePolicy, RolePolicyConfig, RoleRelationMap } from './authorization/role-policy.js';
|
|
29
27
|
export { getUserProtocol } from './http/user-protocol.js';
|
|
@@ -75,7 +73,6 @@ export { classifyAppleRenewal, verifyAppleReceipt } from './iap/apple.js';
|
|
|
75
73
|
export type { AppleRenewalClassification, AppleRenewalState, AppleVerifyReceiptResponse, ApplePendingRenewalInfo, AppleLatestReceiptInfo, } from './iap/apple.js';
|
|
76
74
|
export { classifyGoogleSubscription, getGoogleSubscription, googleAccessToken } from './iap/google.js';
|
|
77
75
|
export type { GoogleSubscriptionClassification, GoogleSubscriptionState, GoogleSubscriptionPurchase, GoogleOAuthCredentials, } from './iap/google.js';
|
|
78
|
-
export { retryWhenDeadlock } from './db/retry.js';
|
|
79
76
|
export { sendInChunks } from './queue/send.js';
|
|
80
77
|
export type { QueueLike, QueueSendMessage } from './queue/send.js';
|
|
81
78
|
export { isNonRetryableQueueError, processBatch } from './queue/consumer.js';
|
package/dist/index.js
CHANGED
|
@@ -20,7 +20,6 @@ export { AuthTokenMissingError, createAuthMiddleware } from './middleware/auth.j
|
|
|
20
20
|
export { perfLog } from './middleware/perf-log.js';
|
|
21
21
|
export { createMaintenanceMiddleware, createMaintenanceWaitHandler, isMaintenanceEnabled, MAINTENANCE_BODY, MAINTENANCE_CODE, MAINTENANCE_WAIT_PATH, } from './middleware/maintenance.js';
|
|
22
22
|
export { createIsolateMemo } from './container/isolate-memo.js';
|
|
23
|
-
export { createContainerRuntime } from './container/middleware.js';
|
|
24
23
|
// authorization
|
|
25
24
|
export { createRolePolicy } from './authorization/role-policy.js';
|
|
26
25
|
// http
|
|
@@ -55,8 +54,6 @@ export { paymentFailureMessageJa, iapFailureKey, UNRESOLVED_PAYMENT_STATUSES } f
|
|
|
55
54
|
// in-app purchase (Apple / Google)
|
|
56
55
|
export { classifyAppleRenewal, verifyAppleReceipt } from './iap/apple.js';
|
|
57
56
|
export { classifyGoogleSubscription, getGoogleSubscription, googleAccessToken } from './iap/google.js';
|
|
58
|
-
// db
|
|
59
|
-
export { retryWhenDeadlock } from './db/retry.js';
|
|
60
57
|
// queue
|
|
61
58
|
export { sendInChunks } from './queue/send.js';
|
|
62
59
|
export { isNonRetryableQueueError, processBatch } from './queue/consumer.js';
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Hono adapter for `@rdlabo/workers-mysql`.
|
|
3
|
+
*
|
|
4
|
+
* Install `@rdlabo/workers-mysql` before importing this subpath.
|
|
5
|
+
*
|
|
6
|
+
* @packageDocumentation
|
|
7
|
+
*/
|
|
8
|
+
export { createContainerRuntime } from '../container/middleware.js';
|
|
9
|
+
export type { ContainerBuildContext, ContainerRuntime, ContainerRuntimeOptions } from '../container/middleware.js';
|
package/dist/testing/auth.d.ts
CHANGED