@buildplease/core 1.0.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 +21 -0
- package/dist/src/index.cjs +1 -0
- package/dist/src/index.d.cts +2296 -0
- package/dist/src/index.d.ts +2296 -0
- package/dist/src/index.js +1 -0
- package/dist/src-node/index.cjs +2 -0
- package/dist/src-node/index.d.cts +454 -0
- package/dist/src-node/index.d.mts +454 -0
- package/dist/src-node/index.mjs +2 -0
- package/dist/src-node-test/index.cjs +2 -0
- package/dist/src-node-test/index.d.cts +99 -0
- package/dist/src-node-test/index.d.mts +99 -0
- package/dist/src-node-test/index.mjs +2 -0
- package/package.json +77 -0
- package/resources/index.ts +1 -0
|
@@ -0,0 +1,2296 @@
|
|
|
1
|
+
import "reflect-metadata";
|
|
2
|
+
import { Container, Container as Container$1 } from "inversify";
|
|
3
|
+
import { Duration, FormatOptions, FromUnixTimeOptions } from "date-fns";
|
|
4
|
+
import { FormatOptionsWithTZ } from "date-fns-tz";
|
|
5
|
+
import { E_ALREADY_LOCKED, E_CANCELED, E_TIMEOUT, Mutex, MutexInterface, Semaphore, SemaphoreInterface, tryAcquire, withTimeout } from "async-mutex";
|
|
6
|
+
import { z } from "zod";
|
|
7
|
+
export * from "date-fns";
|
|
8
|
+
//#region src/di/symbols.d.ts
|
|
9
|
+
declare const CoreSymbols: {
|
|
10
|
+
DI: {
|
|
11
|
+
Formatter: {
|
|
12
|
+
UnitController: symbol;
|
|
13
|
+
};
|
|
14
|
+
Logger: symbol;
|
|
15
|
+
};
|
|
16
|
+
};
|
|
17
|
+
//#endregion
|
|
18
|
+
//#region src/di/assembly.d.ts
|
|
19
|
+
type AssemblyContainer = Container$1;
|
|
20
|
+
interface Assembly {
|
|
21
|
+
assemble(container: AssemblyContainer): void;
|
|
22
|
+
}
|
|
23
|
+
//#endregion
|
|
24
|
+
//#region src/di/scope-controller.d.ts
|
|
25
|
+
declare class ScopeController {
|
|
26
|
+
private _container;
|
|
27
|
+
constructor();
|
|
28
|
+
get container(): Container$1;
|
|
29
|
+
getInstance<T>(serviceIdentifier: symbol): T;
|
|
30
|
+
registerAssemblies(assemblies: Assembly[]): Promise<void>;
|
|
31
|
+
}
|
|
32
|
+
//#endregion
|
|
33
|
+
//#region src/converter/async-converter.d.ts
|
|
34
|
+
/**
|
|
35
|
+
* Base class for asynchronous data conversion between two types.
|
|
36
|
+
*
|
|
37
|
+
* @template Input - The source data type.
|
|
38
|
+
* @template Output - The target data type.
|
|
39
|
+
*/
|
|
40
|
+
declare abstract class AsyncConverter<Input, Output> {
|
|
41
|
+
/**
|
|
42
|
+
* Converts a single input into the target output type asynchronously.
|
|
43
|
+
*
|
|
44
|
+
* @param input - The input data to convert.
|
|
45
|
+
* @returns A promise resolving to the converted output.
|
|
46
|
+
*/
|
|
47
|
+
abstract convert(input: Input): Promise<Output>;
|
|
48
|
+
/**
|
|
49
|
+
* Converts an array of inputs into outputs asynchronously.
|
|
50
|
+
*
|
|
51
|
+
* @param inputs - An array of input data.
|
|
52
|
+
* @returns A promise resolving to an array of converted outputs.
|
|
53
|
+
*/
|
|
54
|
+
convertArray(inputs: Input[]): Promise<Output[]>;
|
|
55
|
+
/**
|
|
56
|
+
* Converts an array of inputs, skipping invalid entries asynchronously.
|
|
57
|
+
*
|
|
58
|
+
* @param inputs - An array of input data.
|
|
59
|
+
* @returns A promise resolving to an array of valid outputs, ignoring errors.
|
|
60
|
+
*/
|
|
61
|
+
convertArrayIgnoreInvalid(inputs: Input[]): Promise<Output[]>;
|
|
62
|
+
}
|
|
63
|
+
//#endregion
|
|
64
|
+
//#region src/converter/converter.d.ts
|
|
65
|
+
/**
|
|
66
|
+
* Base class for synchronous data conversion between two types.
|
|
67
|
+
*
|
|
68
|
+
* @template Input - The source data type.
|
|
69
|
+
* @template Output - The target data type.
|
|
70
|
+
*/
|
|
71
|
+
declare abstract class Converter<Input, Output> {
|
|
72
|
+
/**
|
|
73
|
+
* Converts a single input into the target output type.
|
|
74
|
+
*
|
|
75
|
+
* @param input - The input data to convert.
|
|
76
|
+
* @returns The converted output.
|
|
77
|
+
*/
|
|
78
|
+
abstract convert(input: Input): Output;
|
|
79
|
+
/**
|
|
80
|
+
* Converts an array of inputs into outputs.
|
|
81
|
+
*
|
|
82
|
+
* @param inputs - An array of input data.
|
|
83
|
+
* @returns An array of converted outputs.
|
|
84
|
+
*/
|
|
85
|
+
convertArray(inputs: Input[]): Output[];
|
|
86
|
+
/**
|
|
87
|
+
* Converts an array of inputs, skipping invalid entries.
|
|
88
|
+
*
|
|
89
|
+
* @param inputs - An array of input data.
|
|
90
|
+
* @returns An array of valid outputs, ignoring errors.
|
|
91
|
+
*/
|
|
92
|
+
convertArrayIgnoreInvalid(inputs: Input[]): Output[];
|
|
93
|
+
}
|
|
94
|
+
//#endregion
|
|
95
|
+
//#region src/device/device-type.d.ts
|
|
96
|
+
declare enum DeviceType {
|
|
97
|
+
MOBILE = "MOBILE",
|
|
98
|
+
DESKTOP = "DESKTOP",
|
|
99
|
+
WEB = "WEB",
|
|
100
|
+
TABLET = "TABLET"
|
|
101
|
+
}
|
|
102
|
+
//#endregion
|
|
103
|
+
//#region src/device/os-type.d.ts
|
|
104
|
+
declare enum OSType {
|
|
105
|
+
IOS = "IOS",
|
|
106
|
+
ANDROID = "ANDROID",
|
|
107
|
+
WINDOWS = "WINDOWS",
|
|
108
|
+
MACOS = "MACOS",
|
|
109
|
+
LINUX = "LINUX"
|
|
110
|
+
}
|
|
111
|
+
//#endregion
|
|
112
|
+
//#region src/device/push-notification-status.d.ts
|
|
113
|
+
declare enum PushNotificationStatus {
|
|
114
|
+
UNKNOWN = "UNKNOWN",
|
|
115
|
+
ON = "ON",
|
|
116
|
+
OFF = "OFF"
|
|
117
|
+
}
|
|
118
|
+
//#endregion
|
|
119
|
+
//#region src/error/canceled-error.d.ts
|
|
120
|
+
declare class CanceledError extends Error {
|
|
121
|
+
readonly code = "CANCELED";
|
|
122
|
+
constructor(opts?: {
|
|
123
|
+
message?: string;
|
|
124
|
+
cause?: unknown;
|
|
125
|
+
});
|
|
126
|
+
}
|
|
127
|
+
//#endregion
|
|
128
|
+
//#region src/error/conversion-error.d.ts
|
|
129
|
+
declare class ConversionError extends Error {
|
|
130
|
+
readonly code = "MALFORMED_DATA";
|
|
131
|
+
readonly field?: string;
|
|
132
|
+
constructor(opts?: {
|
|
133
|
+
message?: string;
|
|
134
|
+
field?: string;
|
|
135
|
+
cause?: unknown;
|
|
136
|
+
});
|
|
137
|
+
}
|
|
138
|
+
//#endregion
|
|
139
|
+
//#region src/error/network-error.d.ts
|
|
140
|
+
declare class NetworkError extends Error {
|
|
141
|
+
readonly code = "NETWORK_ERROR";
|
|
142
|
+
constructor(opts?: {
|
|
143
|
+
message?: string;
|
|
144
|
+
cause?: unknown;
|
|
145
|
+
});
|
|
146
|
+
}
|
|
147
|
+
//#endregion
|
|
148
|
+
//#region src/error/timeout-error.d.ts
|
|
149
|
+
declare class TimeoutError extends Error {
|
|
150
|
+
readonly code = "TIMEOUT";
|
|
151
|
+
constructor(opts?: {
|
|
152
|
+
message?: string;
|
|
153
|
+
cause?: unknown;
|
|
154
|
+
});
|
|
155
|
+
}
|
|
156
|
+
//#endregion
|
|
157
|
+
//#region src/error/unknown-error.d.ts
|
|
158
|
+
declare class UnknownError extends Error {
|
|
159
|
+
readonly code = "UNKNOWN";
|
|
160
|
+
constructor(opts?: {
|
|
161
|
+
message?: string;
|
|
162
|
+
cause?: unknown;
|
|
163
|
+
});
|
|
164
|
+
}
|
|
165
|
+
//#endregion
|
|
166
|
+
//#region src/utils/application/enum-utils.d.ts
|
|
167
|
+
/**
|
|
168
|
+
* Try to map any input into one of the values of a TS enum.
|
|
169
|
+
*
|
|
170
|
+
* - Supports string and numeric enums.
|
|
171
|
+
* - Compares against both the enum’s KEY and VALUE (after normalization).
|
|
172
|
+
* - Skips the reverse-mapping keys TS emits for numeric enums (e.g. "0").
|
|
173
|
+
*
|
|
174
|
+
* @param input Anything; only strings/numbers are considered (others → null).
|
|
175
|
+
* @param enumObj The enum object to map into.
|
|
176
|
+
* @param options.normalize Optional normalizer (default: trim + uppercase).
|
|
177
|
+
* @returns One of the enum’s values (E[keyof E]) or null if no match.
|
|
178
|
+
*/
|
|
179
|
+
declare function mapToEnum<E extends Record<string, string | number>>(input: unknown, enumObj: E, options?: {
|
|
180
|
+
normalize?: (s: string) => string;
|
|
181
|
+
}): E[keyof E] | null;
|
|
182
|
+
//#endregion
|
|
183
|
+
//#region src/utils/application/error-utils.d.ts
|
|
184
|
+
/**
|
|
185
|
+
* Checks if a value is an Error instance.
|
|
186
|
+
*
|
|
187
|
+
* @param value - Value to check.
|
|
188
|
+
* @returns True if the value is an Error.
|
|
189
|
+
*/
|
|
190
|
+
declare function isError(value: unknown): value is Error;
|
|
191
|
+
//#endregion
|
|
192
|
+
//#region src/utils/application/object-utils.d.ts
|
|
193
|
+
interface ObjectFilterOptions {
|
|
194
|
+
filterNull?: boolean;
|
|
195
|
+
filterUndefined?: boolean;
|
|
196
|
+
filterEmptyString?: boolean;
|
|
197
|
+
filterEmptyObject?: boolean;
|
|
198
|
+
filterEmptyArray?: boolean;
|
|
199
|
+
}
|
|
200
|
+
/**
|
|
201
|
+
* Recursively filters properties from an object based on the provided options.
|
|
202
|
+
*
|
|
203
|
+
* @template T - The type of the object to filter.
|
|
204
|
+
* @param {T} obj - The object to filter.
|
|
205
|
+
* @param {ObjectFilterOptions} [options={}] - Options that determine which properties to filter out.
|
|
206
|
+
* @param {boolean} [options.filterNull=true] - If true, properties with null values will be filtered out.
|
|
207
|
+
* @param {boolean} [options.filterUndefined=true] - If true, properties with undefined values will be filtered out.
|
|
208
|
+
* @param {boolean} [options.filterEmptyString=false] - If true, properties with empty string values will be filtered out.
|
|
209
|
+
* @param {boolean} [options.filterEmptyObject=false] - If true, properties with empty object values will be filtered out.
|
|
210
|
+
* @param {boolean} [options.filterEmptyArray=false] - If true, properties with empty array values will be filtered out.
|
|
211
|
+
* @returns {Partial<T>} - A new object with the filtered properties.
|
|
212
|
+
*/
|
|
213
|
+
declare function filterObject<T extends object | null | undefined>(obj: T, options?: ObjectFilterOptions): Partial<T>;
|
|
214
|
+
/**
|
|
215
|
+
* Checks if a value is an object.
|
|
216
|
+
*
|
|
217
|
+
* @param {unknown} value - The value to check.
|
|
218
|
+
* @returns {value is object} - True if the value is an object, false otherwise.
|
|
219
|
+
*/
|
|
220
|
+
declare function isObject(value: unknown): value is object;
|
|
221
|
+
/**
|
|
222
|
+
* Checks if a value is an empty object.
|
|
223
|
+
* This checks if the object is null, undefined, or an empty object and returns a type guard.
|
|
224
|
+
*
|
|
225
|
+
* @param {T | null | undefined} value - The value to check.
|
|
226
|
+
* @returns {value is T} - True if the value is an empty object, false otherwise.
|
|
227
|
+
*/
|
|
228
|
+
declare function isEmptyObject<T extends object>(value: T | null | undefined): value is T;
|
|
229
|
+
/**
|
|
230
|
+
* Checks if a value is a non-empty object, ensuring it is not null, undefined, or empty.
|
|
231
|
+
* This acts as a type guard.
|
|
232
|
+
*
|
|
233
|
+
* @param {T | null | undefined} value - The value to check.
|
|
234
|
+
* @returns {value is T} - True if the value is a non-empty object, false otherwise.
|
|
235
|
+
*/
|
|
236
|
+
declare function isNonEmptyObject<T extends object>(value: T | null | undefined): value is T;
|
|
237
|
+
/**
|
|
238
|
+
* Checks if a value is a plain object (not a class instance or built-in object).
|
|
239
|
+
*
|
|
240
|
+
* @param {unknown} value - The value to check.
|
|
241
|
+
* @returns {value is Record<string, any>} - True if the value is a plain object, false otherwise.
|
|
242
|
+
*/
|
|
243
|
+
declare function isPlainObject(value: unknown): value is Record<string, any>;
|
|
244
|
+
//#endregion
|
|
245
|
+
//#region src/utils/application/optional-utils.d.ts
|
|
246
|
+
/**
|
|
247
|
+
* Excludes `undefined` from the given type `T`.
|
|
248
|
+
*
|
|
249
|
+
* @template T - The type to evaluate.
|
|
250
|
+
* @example
|
|
251
|
+
* type A = NonUndefined<string | undefined>; // string
|
|
252
|
+
* type B = NonUndefined<number | null | undefined>; // number | null
|
|
253
|
+
* type C = NonUndefined<undefined>; // never
|
|
254
|
+
*/
|
|
255
|
+
type NonUndefined<T> = T extends undefined ? never : T;
|
|
256
|
+
/**
|
|
257
|
+
* A type that represents a value that can be null or undefined.
|
|
258
|
+
*
|
|
259
|
+
* @template T
|
|
260
|
+
*/
|
|
261
|
+
type OptionalValue<T> = T | null | undefined;
|
|
262
|
+
/**
|
|
263
|
+
* Wraps a value to provide optional-aware operations.
|
|
264
|
+
*
|
|
265
|
+
* @template T
|
|
266
|
+
*/
|
|
267
|
+
declare class Optional<T> {
|
|
268
|
+
private readonly value;
|
|
269
|
+
constructor(value: T | null | undefined);
|
|
270
|
+
/**
|
|
271
|
+
* Checks if the value is `null` or `undefined`.
|
|
272
|
+
*
|
|
273
|
+
* @returns {boolean}
|
|
274
|
+
* True if the contained value is `null` or `undefined`.
|
|
275
|
+
*/
|
|
276
|
+
get isNil(): boolean;
|
|
277
|
+
/**
|
|
278
|
+
* Applies a transformation if the value is present.
|
|
279
|
+
*
|
|
280
|
+
* @param {(value: T) => U} transform
|
|
281
|
+
* A function to apply to the contained value.
|
|
282
|
+
* @template U
|
|
283
|
+
* @returns {Optional<U>}
|
|
284
|
+
* A new Optional wrapping the transformed value, or `Optional<null>` if absent.
|
|
285
|
+
*/
|
|
286
|
+
map<U>(transform: (value: T) => U): Optional<U>;
|
|
287
|
+
/**
|
|
288
|
+
* Applies a transformation and expects an Optional as the result.
|
|
289
|
+
* Useful for chaining nested Optionals.
|
|
290
|
+
*
|
|
291
|
+
* @param {(value: T) => Optional<U>} transform
|
|
292
|
+
* A function returning an Optional.
|
|
293
|
+
* @template U
|
|
294
|
+
* @returns {Optional<U>}
|
|
295
|
+
* The result of the transformation, or `Optional<null>` if absent.
|
|
296
|
+
*/
|
|
297
|
+
flatMap<U>(transform: (value: T) => Optional<U>): Optional<U>;
|
|
298
|
+
/**
|
|
299
|
+
* Returns the contained value if not null or undefined, or the result of the provided closure otherwise.
|
|
300
|
+
*
|
|
301
|
+
* @param {() => T} closure
|
|
302
|
+
* A function that returns a default value.
|
|
303
|
+
* @returns {T}
|
|
304
|
+
* The contained value if present, or the result of `closure()`.
|
|
305
|
+
*/
|
|
306
|
+
or(closure: () => T): T;
|
|
307
|
+
/**
|
|
308
|
+
* Returns the contained value if not null or undefined, otherwise throws the specified error.
|
|
309
|
+
* If no error is provided, throws a default `Error('Conversion Error')`.
|
|
310
|
+
*
|
|
311
|
+
* @param {Error} [error]
|
|
312
|
+
* Optional error to throw if the value is absent.
|
|
313
|
+
* @returns {T}
|
|
314
|
+
* The contained value if present.
|
|
315
|
+
* @throws {Error}
|
|
316
|
+
* The provided error, or `Error('Conversion Error')` if none provided.
|
|
317
|
+
*/
|
|
318
|
+
orThrow(error?: Error): T;
|
|
319
|
+
/**
|
|
320
|
+
* Returns the contained value if not null or undefined, or the provided default value otherwise.
|
|
321
|
+
* Allows `null` as a default only if `T | null` is assignable to the expected type.
|
|
322
|
+
*
|
|
323
|
+
* @param {U} defaultValue
|
|
324
|
+
* A default value to return if the contained value is absent.
|
|
325
|
+
* @template U
|
|
326
|
+
* @returns {T | U}
|
|
327
|
+
* The contained value if present, or `defaultValue` otherwise.
|
|
328
|
+
*/
|
|
329
|
+
orDefault<U>(defaultValue: U): T | U;
|
|
330
|
+
/**
|
|
331
|
+
* If the value is present, applies the provided function to it.
|
|
332
|
+
*
|
|
333
|
+
* @param {(value: T) => void} closure
|
|
334
|
+
* A function to execute if the value is present.
|
|
335
|
+
* @returns {this}
|
|
336
|
+
* The current Optional instance for chaining.
|
|
337
|
+
*/
|
|
338
|
+
ifPresent(closure: (value: T) => void): this;
|
|
339
|
+
/**
|
|
340
|
+
* If the value is absent (`null` or `undefined`), executes the provided function.
|
|
341
|
+
*
|
|
342
|
+
* @param {() => void} closure
|
|
343
|
+
* A function to execute if the value is absent.
|
|
344
|
+
* @returns {this}
|
|
345
|
+
* The current Optional instance for chaining.
|
|
346
|
+
*/
|
|
347
|
+
ifAbsent(closure: () => void): this;
|
|
348
|
+
}
|
|
349
|
+
/**
|
|
350
|
+
* Wraps a value in an `Optional` instance.
|
|
351
|
+
*
|
|
352
|
+
* @param {T | null | undefined} value
|
|
353
|
+
* The value to wrap.
|
|
354
|
+
* @template T
|
|
355
|
+
* @returns {Optional<T>}
|
|
356
|
+
* An instance of `Optional` containing the given value.
|
|
357
|
+
*/
|
|
358
|
+
declare function optional<T>(value: T | null | undefined): Optional<T>;
|
|
359
|
+
/**
|
|
360
|
+
* Checks if a value is defined (not `undefined`).
|
|
361
|
+
*
|
|
362
|
+
* @param {OptionalValue<T>} value
|
|
363
|
+
* The value to check.
|
|
364
|
+
* @template T
|
|
365
|
+
* @returns {boolean}
|
|
366
|
+
* True if the value is not `undefined`.
|
|
367
|
+
*/
|
|
368
|
+
declare function isDefined<T>(value: OptionalValue<T>): value is NonUndefined<T>;
|
|
369
|
+
/**
|
|
370
|
+
* Checks if a value is not `null`.
|
|
371
|
+
*
|
|
372
|
+
* @param {OptionalValue<T>} value
|
|
373
|
+
* The value to check.
|
|
374
|
+
* @template T
|
|
375
|
+
* @returns {boolean}
|
|
376
|
+
* True if the value is not `null`.
|
|
377
|
+
*/
|
|
378
|
+
declare function isNotNull<T>(value: OptionalValue<T>): value is NonNullable<T>;
|
|
379
|
+
/**
|
|
380
|
+
* Checks if a value is defined (not `undefined`) and not `null`.
|
|
381
|
+
*
|
|
382
|
+
* @param {OptionalValue<T>} value
|
|
383
|
+
* The value to check.
|
|
384
|
+
* @template T
|
|
385
|
+
* @returns {boolean}
|
|
386
|
+
* True if the value is neither `undefined` nor `null`.
|
|
387
|
+
*/
|
|
388
|
+
declare function isDefinedAndNotNull<T>(value: OptionalValue<T>): value is NonNullable<T>;
|
|
389
|
+
/**
|
|
390
|
+
* Executes a function and wraps the result in an Optional.
|
|
391
|
+
* If the function throws, returns an Optional with `null` value.
|
|
392
|
+
*
|
|
393
|
+
* @param fn - The function to execute.
|
|
394
|
+
* @template T
|
|
395
|
+
* @returns An Optional wrapping the function result, or `Optional<null>` if an error occurs.
|
|
396
|
+
*
|
|
397
|
+
* @example
|
|
398
|
+
* // A) single-expression sync (no braces, no return)
|
|
399
|
+
* const optA = ignoreError(() => JSON.parse('{ bad json }'));
|
|
400
|
+
* // optA.isNil === true
|
|
401
|
+
*
|
|
402
|
+
* @example
|
|
403
|
+
* // B) block-body sync (braces, implicit return via function result)
|
|
404
|
+
* const optB = ignoreError(() => {
|
|
405
|
+
* // might throw
|
|
406
|
+
* return JSON.parse('{"ok":true}');
|
|
407
|
+
* });
|
|
408
|
+
* // optB.or(() => ({ ok: false })) === { ok: true }
|
|
409
|
+
*
|
|
410
|
+
* @example
|
|
411
|
+
* // C) throwing sync
|
|
412
|
+
* const optC = ignoreError(() => { throw new Error('ouch'); });
|
|
413
|
+
* // optC.isNil === true
|
|
414
|
+
*/
|
|
415
|
+
declare function ignoreError<T>(fn: () => T): Optional<T>;
|
|
416
|
+
/**
|
|
417
|
+
* Executes the provided function and suppresses any errors.
|
|
418
|
+
* Supports both synchronous and asynchronous bodies.
|
|
419
|
+
* Optionally handles any error via `onError`.
|
|
420
|
+
*
|
|
421
|
+
* @param fn
|
|
422
|
+
* A function that can return a value or a Promise.
|
|
423
|
+
* @param onError
|
|
424
|
+
* Optional function that handles the error.
|
|
425
|
+
* @returns Promise that always resolves to void.
|
|
426
|
+
*
|
|
427
|
+
* @example
|
|
428
|
+
* // A) single-expression async return
|
|
429
|
+
* await ignoreErrorAsync(() => cleanupTempFiles());
|
|
430
|
+
*
|
|
431
|
+
* @example
|
|
432
|
+
* // B) block-body sync (fn returns void)
|
|
433
|
+
* await ignoreErrorAsync(() => {
|
|
434
|
+
* console.log('might throw');
|
|
435
|
+
* // no return needed
|
|
436
|
+
* });
|
|
437
|
+
*
|
|
438
|
+
* @example
|
|
439
|
+
* // C) block-body returning a Promise
|
|
440
|
+
* await ignoreErrorAsync(() => {
|
|
441
|
+
* return fetch('/api/data');
|
|
442
|
+
* }, err => {
|
|
443
|
+
* console.warn('fetch failed:', err);
|
|
444
|
+
* });
|
|
445
|
+
*
|
|
446
|
+
* @example
|
|
447
|
+
* // D) async wrapper (can use await inside)
|
|
448
|
+
* await ignoreErrorAsync(async () => {
|
|
449
|
+
* await cleanupTempFiles();
|
|
450
|
+
* await notifyAdmin();
|
|
451
|
+
* }, err => {
|
|
452
|
+
* console.error('cleanup+notify failed:', err);
|
|
453
|
+
* });
|
|
454
|
+
*/
|
|
455
|
+
declare function ignoreErrorAsync(fn: () => any | Promise<any>, onError?: (error: any) => void): Promise<void>;
|
|
456
|
+
/**
|
|
457
|
+
* Executes an async function and wraps the result in an Optional.
|
|
458
|
+
* If the function throws, returns an Optional with `null` value.
|
|
459
|
+
*
|
|
460
|
+
* @param fn - The async function to execute.
|
|
461
|
+
* @param onError - Optional handler for any thrown error.
|
|
462
|
+
* @template T
|
|
463
|
+
* @returns Promise<Optional<T>> wrapping the result or null.
|
|
464
|
+
*
|
|
465
|
+
* @example
|
|
466
|
+
* // A) simple async call
|
|
467
|
+
* const optA = await ignoreErrorOptionalAsync(() => fetchJson('/user'));
|
|
468
|
+
* // optA.ifPresent(data => console.log(data))
|
|
469
|
+
*
|
|
470
|
+
* @example
|
|
471
|
+
* // B) block-body async with error callback
|
|
472
|
+
* const optB = await ignoreErrorOptionalAsync(async () => {
|
|
473
|
+
* const resp = await fetch('/user');
|
|
474
|
+
* return resp.json();
|
|
475
|
+
* }, err => {
|
|
476
|
+
* console.error('load user failed:', err);
|
|
477
|
+
* });
|
|
478
|
+
*
|
|
479
|
+
* @example
|
|
480
|
+
* // C) explicit return of promise
|
|
481
|
+
* const optC = await ignoreErrorOptionalAsync(() => fetchJson('/settings'));
|
|
482
|
+
*/
|
|
483
|
+
declare function ignoreErrorOptionalAsync<T>(fn: () => Promise<T>, onError?: (error: unknown) => void): Promise<Optional<T>>;
|
|
484
|
+
//#endregion
|
|
485
|
+
//#region src/utils/application/promise-utils.d.ts
|
|
486
|
+
type Awaitable<T> = T | Promise<T>;
|
|
487
|
+
declare function delay(ms: number): Promise<void>;
|
|
488
|
+
//#endregion
|
|
489
|
+
//#region src/utils/application/string-utils.d.ts
|
|
490
|
+
/**
|
|
491
|
+
* Checks if the value is a string and non-empty after trimming.
|
|
492
|
+
*
|
|
493
|
+
* @param value The value to check.
|
|
494
|
+
* @returns True if value is a non-empty string.
|
|
495
|
+
*/
|
|
496
|
+
declare function isNonEmptyString(value: unknown): value is string;
|
|
497
|
+
/**
|
|
498
|
+
* Checks if the value is null, undefined, or an empty string after trimming.
|
|
499
|
+
*
|
|
500
|
+
* @param value The value to check.
|
|
501
|
+
* @returns True if value is null, undefined, or empty string.
|
|
502
|
+
*/
|
|
503
|
+
declare function isNullOrEmpty(value: unknown): value is null | undefined | '';
|
|
504
|
+
/**
|
|
505
|
+
* Transforms an empty string or undefined to `null`. Otherwise, returns the string as is.
|
|
506
|
+
*/
|
|
507
|
+
declare function emptyOrUndefinedStringToNull(value: unknown): string | null;
|
|
508
|
+
/**
|
|
509
|
+
* Capitalizes the first character of a string.
|
|
510
|
+
* Returns `null` if the input is not a valid non-empty string.
|
|
511
|
+
*/
|
|
512
|
+
declare function capitalized(value: unknown): string | null;
|
|
513
|
+
//#endregion
|
|
514
|
+
//#region src/utils/domain/empty.d.ts
|
|
515
|
+
type Empty = Record<string, never>;
|
|
516
|
+
//#endregion
|
|
517
|
+
//#region src/utils/domain/json-serializable.d.ts
|
|
518
|
+
/**
|
|
519
|
+
* JSON primitive.
|
|
520
|
+
*
|
|
521
|
+
* @remarks Valid JSON primitive types are: string, number, boolean, null.
|
|
522
|
+
*/
|
|
523
|
+
type JSONPrimitive = string | number | boolean | null;
|
|
524
|
+
/**
|
|
525
|
+
* JSON object (string keys, JSON values).
|
|
526
|
+
*
|
|
527
|
+
* @remarks Keys must be strings. Values must be valid {@link JSONValue}.
|
|
528
|
+
*/
|
|
529
|
+
type JSONObject = {
|
|
530
|
+
[key: string]: JSONValue;
|
|
531
|
+
};
|
|
532
|
+
/**
|
|
533
|
+
* Any JSON value.
|
|
534
|
+
*
|
|
535
|
+
* @remarks Safe to pass to `JSON.stringify` and read back with `JSON.parse`.
|
|
536
|
+
*/
|
|
537
|
+
type JSONValue = JSONPrimitive | JSONObject | ReadonlyArray<JSONValue>;
|
|
538
|
+
/**
|
|
539
|
+
* Implemented by types that can serialize themselves to JSON.
|
|
540
|
+
*/
|
|
541
|
+
interface JSONSerializable {
|
|
542
|
+
/**
|
|
543
|
+
* Convert this instance to a JSON value.
|
|
544
|
+
*
|
|
545
|
+
* @returns A {@link JSONValue} suitable for `JSON.stringify`.
|
|
546
|
+
*/
|
|
547
|
+
toJSON(): JSONValue;
|
|
548
|
+
}
|
|
549
|
+
/**
|
|
550
|
+
* Checks whether a value is a JSON primitive.
|
|
551
|
+
*
|
|
552
|
+
* @param value - Input value to test.
|
|
553
|
+
* @returns `true` if `value` is a JSON primitive (`string | number | boolean | null`), otherwise `false`.
|
|
554
|
+
*/
|
|
555
|
+
declare function isJSONPrimitive(value: unknown): value is JSONPrimitive;
|
|
556
|
+
/**
|
|
557
|
+
* Checks whether a value implements {@link JSONSerializable}.
|
|
558
|
+
*
|
|
559
|
+
* @param value - Input value to test.
|
|
560
|
+
* @returns `true` if `value` is a non-null object with a `toJSON()` function, otherwise `false`.
|
|
561
|
+
*/
|
|
562
|
+
declare function isJSONSerializable(value: unknown): value is JSONSerializable;
|
|
563
|
+
//#endregion
|
|
564
|
+
//#region src/utils/domain/partial.d.ts
|
|
565
|
+
/**
|
|
566
|
+
* Recursively makes all properties of an object type optional, including nested objects.
|
|
567
|
+
*
|
|
568
|
+
* This is useful when you want to construct partial configuration or input objects,
|
|
569
|
+
* where any depth of nesting may be optionally provided.
|
|
570
|
+
*
|
|
571
|
+
* @template T The object type to transform.
|
|
572
|
+
*
|
|
573
|
+
* @example
|
|
574
|
+
* type User = {
|
|
575
|
+
* name: string;
|
|
576
|
+
* profile: {
|
|
577
|
+
* age: number;
|
|
578
|
+
* location: string;
|
|
579
|
+
* };
|
|
580
|
+
* };
|
|
581
|
+
*
|
|
582
|
+
* type PartialUser = DeepPartial<User>;
|
|
583
|
+
* // Equivalent to:
|
|
584
|
+
* // {
|
|
585
|
+
* // name?: string;
|
|
586
|
+
* // profile?: {
|
|
587
|
+
* // age?: number;
|
|
588
|
+
* // location?: string;
|
|
589
|
+
* // };
|
|
590
|
+
* // }
|
|
591
|
+
*/
|
|
592
|
+
type DeepPartial<T> = { [P in keyof T]?: T[P] extends object ? DeepPartial<T[P]> : T[P]; };
|
|
593
|
+
/**
|
|
594
|
+
* Makes only the leaf (non-object) properties of a type optional,
|
|
595
|
+
* while preserving the required structure of nested objects.
|
|
596
|
+
*
|
|
597
|
+
* Special handling for `Date`: it is treated as a leaf and made optional.
|
|
598
|
+
*
|
|
599
|
+
* @template T The object type to transform.
|
|
600
|
+
*
|
|
601
|
+
* @example
|
|
602
|
+
* type User = {
|
|
603
|
+
* name: string;
|
|
604
|
+
* profile: {
|
|
605
|
+
* age: number;
|
|
606
|
+
* location: string;
|
|
607
|
+
* createdAt: Date;
|
|
608
|
+
* };
|
|
609
|
+
* };
|
|
610
|
+
*
|
|
611
|
+
* type OptionalUser = OptionalPartial<User>;
|
|
612
|
+
* // Equivalent to:
|
|
613
|
+
* // {
|
|
614
|
+
* // name?: string;
|
|
615
|
+
* // profile: {
|
|
616
|
+
* // age?: number;
|
|
617
|
+
* // location?: string;
|
|
618
|
+
* // createdAt?: Date;
|
|
619
|
+
* // };
|
|
620
|
+
* // }
|
|
621
|
+
*/
|
|
622
|
+
type OptionalPartial<T> = { [K in keyof T]: T[K] extends object ? T[K] extends Date ? T[K] | undefined : OptionalPartial<T[K]> : T[K] | undefined; };
|
|
623
|
+
//#endregion
|
|
624
|
+
//#region src/utils/domain/primitive.d.ts
|
|
625
|
+
type Primitive = string | number | boolean | bigint | symbol | null | undefined;
|
|
626
|
+
/**
|
|
627
|
+
* Checks if a value is a JavaScript primitive.
|
|
628
|
+
*
|
|
629
|
+
* @param value - The value to check.
|
|
630
|
+
* @returns True if the value is a primitive.
|
|
631
|
+
*/
|
|
632
|
+
declare function isPrimitive(value: unknown): value is Primitive;
|
|
633
|
+
//#endregion
|
|
634
|
+
//#region src/utils/domain/query.d.ts
|
|
635
|
+
type Query<T> = { [P in keyof T]?: T[P]; };
|
|
636
|
+
//#endregion
|
|
637
|
+
//#region src/utils/domain/required.d.ts
|
|
638
|
+
/**
|
|
639
|
+
* Deeply marks all properties as required (including nested objects and arrays).
|
|
640
|
+
* @template T
|
|
641
|
+
*/
|
|
642
|
+
type DeepRequired<T> = T extends ((...args: unknown[]) => unknown) ? T : T extends Primitive ? T : T extends Array<infer U> ? Array<DeepRequired<U>> : T extends Array<infer U> ? Array<DeepRequired<U>> : { [K in keyof T]-?: DeepRequired<NonNullable<T[K]>>; };
|
|
643
|
+
//#endregion
|
|
644
|
+
//#region src/utils/extensions/array-extensions.d.ts
|
|
645
|
+
declare global {
|
|
646
|
+
interface Array<T> {
|
|
647
|
+
/**
|
|
648
|
+
* Checks if the array is empty or undefined or null.
|
|
649
|
+
* @returns `true` if the array is empty, undefined, or null; otherwise `false`.
|
|
650
|
+
*/
|
|
651
|
+
isEmpty(): boolean;
|
|
652
|
+
}
|
|
653
|
+
}
|
|
654
|
+
//#endregion
|
|
655
|
+
//#region src/utils/extensions/string-extensions.d.ts
|
|
656
|
+
declare global {
|
|
657
|
+
interface String {
|
|
658
|
+
capitalized(): string;
|
|
659
|
+
}
|
|
660
|
+
}
|
|
661
|
+
//#endregion
|
|
662
|
+
//#region src/model/address.d.ts
|
|
663
|
+
declare class Address implements JSONSerializable {
|
|
664
|
+
streetLine1: string;
|
|
665
|
+
streetLine2?: string | null;
|
|
666
|
+
postalCode?: string | null;
|
|
667
|
+
state?: string | null;
|
|
668
|
+
city?: string | null;
|
|
669
|
+
country: string;
|
|
670
|
+
countryCode?: string | null;
|
|
671
|
+
constructor(input: {
|
|
672
|
+
streetLine1: string;
|
|
673
|
+
streetLine2?: string | null;
|
|
674
|
+
postalCode?: string | null;
|
|
675
|
+
state?: string | null;
|
|
676
|
+
city?: string | null;
|
|
677
|
+
country: string;
|
|
678
|
+
countryCode?: string | null;
|
|
679
|
+
});
|
|
680
|
+
toJSON(): any;
|
|
681
|
+
formatted(): string;
|
|
682
|
+
}
|
|
683
|
+
//#endregion
|
|
684
|
+
//#region src/model/contacts.d.ts
|
|
685
|
+
declare class Contacts implements JSONSerializable {
|
|
686
|
+
email?: string | null;
|
|
687
|
+
fb?: string | null;
|
|
688
|
+
ig?: string | null;
|
|
689
|
+
phone?: string | null;
|
|
690
|
+
web?: string | null;
|
|
691
|
+
constructor({ email, fb, ig, phone, web }: {
|
|
692
|
+
email?: string | null;
|
|
693
|
+
fb?: string | null;
|
|
694
|
+
ig?: string | null;
|
|
695
|
+
phone?: string | null;
|
|
696
|
+
web?: string | null;
|
|
697
|
+
});
|
|
698
|
+
toJSON(): any;
|
|
699
|
+
}
|
|
700
|
+
//#endregion
|
|
701
|
+
//#region src/model/date-time.d.ts
|
|
702
|
+
/**
|
|
703
|
+
* A date-and-time utility class offering parsing, formatting, and arithmetic.
|
|
704
|
+
*
|
|
705
|
+
* - Instantiate with no arguments for current date/time.
|
|
706
|
+
* - Instantiate with a `Date` or ISO-format string.
|
|
707
|
+
*
|
|
708
|
+
* @throws {Error} If the provided date input is invalid.
|
|
709
|
+
*
|
|
710
|
+
* @example
|
|
711
|
+
* const now = new DateTime();
|
|
712
|
+
* const fromDate = new DateTime(new Date('2022-12-12'));
|
|
713
|
+
* const fromIso = new DateTime('2022-12-12T00:00:00Z');
|
|
714
|
+
*/
|
|
715
|
+
declare class DateTime implements JSONSerializable {
|
|
716
|
+
private readonly date;
|
|
717
|
+
/**
|
|
718
|
+
* @param {Date | string} [input]
|
|
719
|
+
* A Date object or ISO-format date string. Omit to use current date/time.
|
|
720
|
+
* @throws {Error}
|
|
721
|
+
* If `input` is neither a valid Date nor a parseable string.
|
|
722
|
+
*/
|
|
723
|
+
constructor(input?: Date | string);
|
|
724
|
+
/**
|
|
725
|
+
* Static method to create a DateTime from a Unix timestamp (seconds).
|
|
726
|
+
* @param {number} unixTimestamp - The Unix timestamp in seconds.
|
|
727
|
+
* @param {FromUnixTimeOptions} options
|
|
728
|
+
* @returns {DateTime}
|
|
729
|
+
*/
|
|
730
|
+
static fromUnixTimestamp(unixTimestamp: number, options?: FromUnixTimeOptions): DateTime;
|
|
731
|
+
/** @returns The current moment as a DateTime. */
|
|
732
|
+
static now(): DateTime;
|
|
733
|
+
/**
|
|
734
|
+
* JSON.stringify will look for `toJSON()` first, so
|
|
735
|
+
* we emit an ISO string by default.
|
|
736
|
+
*/
|
|
737
|
+
toJSON(): string;
|
|
738
|
+
/** @returns The wrapped JavaScript Date. */
|
|
739
|
+
toDate(): Date;
|
|
740
|
+
/** @returns The Unix timestamp in seconds. */
|
|
741
|
+
toUnixTimestamp(): number;
|
|
742
|
+
/**
|
|
743
|
+
* Returns the time value in milliseconds (similar to getTime() method of Date).
|
|
744
|
+
* @returns {number} The time in milliseconds.
|
|
745
|
+
*/
|
|
746
|
+
getTime(): number;
|
|
747
|
+
/** @returns An ISO‐8601 string. */
|
|
748
|
+
toISOString(): string;
|
|
749
|
+
/**
|
|
750
|
+
* Formats this DateTime using the given pattern.
|
|
751
|
+
*
|
|
752
|
+
* @param pattern
|
|
753
|
+
* A format string (for example, one of the `DateFormat` values or
|
|
754
|
+
* any custom string).
|
|
755
|
+
* @param options
|
|
756
|
+
* Optional `{ locale?: Locale }` for localized month/day names.
|
|
757
|
+
* @returns
|
|
758
|
+
* The formatted date string.
|
|
759
|
+
*
|
|
760
|
+
* @example
|
|
761
|
+
* ```ts
|
|
762
|
+
* const dt = new DateTime('2025-06-05T14:30:00Z');
|
|
763
|
+
* console.log(dt.format(DateFormat.ISO_DATETIME)); // "2025-06-05T14:30:00+00:00"
|
|
764
|
+
* console.log(dt.format(DateFormat.MM_DD_YYYY)); // "06/05/2025"
|
|
765
|
+
* console.log(dt.format(DateFormat.RSS)); // "Fri, 05 Jun 2025 14:30:00 +0000"
|
|
766
|
+
* console.log(dt.format('yyyy/MM/dd HH:mm:ss')); // "2025/06/05 14:30:00"
|
|
767
|
+
* ```
|
|
768
|
+
*/
|
|
769
|
+
format(pattern: DateFormat | string, options?: FormatOptions): string;
|
|
770
|
+
addingDuration(duration: Duration): DateTime;
|
|
771
|
+
addingMilliseconds(msCount: number): DateTime;
|
|
772
|
+
addingSeconds(sec: number): DateTime;
|
|
773
|
+
addingMinutes(min: number): DateTime;
|
|
774
|
+
addingHours(hr: number): DateTime;
|
|
775
|
+
addingDays(d: number): DateTime;
|
|
776
|
+
addingWeeks(w: number): DateTime;
|
|
777
|
+
addingMonths(m: number): DateTime;
|
|
778
|
+
addingYears(y: number): DateTime;
|
|
779
|
+
subtractingDuration(duration: Duration): DateTime;
|
|
780
|
+
subtractingMilliseconds(msCount: number): DateTime;
|
|
781
|
+
subtractingSeconds(sec: number): DateTime;
|
|
782
|
+
subtractingMinutes(min: number): DateTime;
|
|
783
|
+
subtractingHours(hr: number): DateTime;
|
|
784
|
+
subtractingDays(d: number): DateTime;
|
|
785
|
+
subtractingWeeks(w: number): DateTime;
|
|
786
|
+
subtractingMonths(m: number): DateTime;
|
|
787
|
+
subtractingYears(y: number): DateTime;
|
|
788
|
+
differenceInMilliseconds(other: DateTime): number;
|
|
789
|
+
differenceInSeconds(other: DateTime): number;
|
|
790
|
+
differenceInMinutes(other: DateTime): number;
|
|
791
|
+
differenceInHours(other: DateTime): number;
|
|
792
|
+
differenceInDays(other: DateTime): number;
|
|
793
|
+
differenceInWeeks(other: DateTime): number;
|
|
794
|
+
differenceInMonths(other: DateTime): number;
|
|
795
|
+
differenceInYears(other: DateTime): number;
|
|
796
|
+
isEqualTo(other: DateTime): boolean;
|
|
797
|
+
isBefore(other: DateTime): boolean;
|
|
798
|
+
isAfter(other: DateTime): boolean;
|
|
799
|
+
compareTo(other: DateTime): number;
|
|
800
|
+
isSameDayAs(other: DateTime): boolean;
|
|
801
|
+
startOfDay(): DateTime;
|
|
802
|
+
endOfDay(): DateTime;
|
|
803
|
+
startOfWeek(): DateTime;
|
|
804
|
+
endOfWeek(): DateTime;
|
|
805
|
+
startOfMonth(): DateTime;
|
|
806
|
+
endOfMonth(): DateTime;
|
|
807
|
+
startOfYear(): DateTime;
|
|
808
|
+
endOfYear(): DateTime;
|
|
809
|
+
/** Day of month (1–31). */
|
|
810
|
+
get dayOfMonth(): number;
|
|
811
|
+
/** Day of week (0–6, 0 = Sunday). */
|
|
812
|
+
get dayOfWeek(): number;
|
|
813
|
+
/** Month (0–11). */
|
|
814
|
+
get month(): number;
|
|
815
|
+
/** Year. */
|
|
816
|
+
get year(): number;
|
|
817
|
+
/** Hours (0–23). */
|
|
818
|
+
get hours(): number;
|
|
819
|
+
/** Minutes (0–59). */
|
|
820
|
+
get minutes(): number;
|
|
821
|
+
/** Seconds (0–59). */
|
|
822
|
+
get seconds(): number;
|
|
823
|
+
/**
|
|
824
|
+
* Sets the day of the month.
|
|
825
|
+
*
|
|
826
|
+
* @param day Day of the month (1–31).
|
|
827
|
+
* @returns {DateTime}
|
|
828
|
+
*/
|
|
829
|
+
settingDayOfMonth(day: number): DateTime;
|
|
830
|
+
/**
|
|
831
|
+
* Sets the day of the week.
|
|
832
|
+
*
|
|
833
|
+
* @param day Day of the week (0–6, 0 = Sunday).
|
|
834
|
+
* @returns {DateTime}
|
|
835
|
+
*/
|
|
836
|
+
settingDayOfWeek(day: number): DateTime;
|
|
837
|
+
/**
|
|
838
|
+
* Sets the month.
|
|
839
|
+
*
|
|
840
|
+
* @param month Month (0–11).
|
|
841
|
+
* @returns {DateTime}
|
|
842
|
+
*/
|
|
843
|
+
settingMonth(month: number): DateTime;
|
|
844
|
+
/**
|
|
845
|
+
* Sets the year.
|
|
846
|
+
*
|
|
847
|
+
* @param year Year.
|
|
848
|
+
* @returns {DateTime}
|
|
849
|
+
*/
|
|
850
|
+
settingYear(year: number): DateTime;
|
|
851
|
+
/**
|
|
852
|
+
* Sets the hours.
|
|
853
|
+
*
|
|
854
|
+
* @param hours Hours (0–23).
|
|
855
|
+
* @returns {DateTime}
|
|
856
|
+
*/
|
|
857
|
+
settingHours(hours: number): DateTime;
|
|
858
|
+
/**
|
|
859
|
+
* Sets the minutes.
|
|
860
|
+
*
|
|
861
|
+
* @param minutes Minutes (0–59).
|
|
862
|
+
* @returns {DateTime}
|
|
863
|
+
*/
|
|
864
|
+
settingMinutes(minutes: number): DateTime;
|
|
865
|
+
/**
|
|
866
|
+
* Sets the seconds.
|
|
867
|
+
*
|
|
868
|
+
* @param seconds Seconds (0–59).
|
|
869
|
+
* @returns {DateTime}
|
|
870
|
+
*/
|
|
871
|
+
settingSeconds(seconds: number): DateTime;
|
|
872
|
+
}
|
|
873
|
+
declare enum DateFormat {
|
|
874
|
+
/** ISO date only (yyyy-MM-dd), e.g. "2025-06-05" */
|
|
875
|
+
ISO_DATE = "yyyy-MM-dd",
|
|
876
|
+
/** ISO date + time with offset, e.g. "2025-06-05T13:24:00+00:00" */
|
|
877
|
+
ISO_DATETIME = "yyyy-MM-dd'T'HH:mm:ssXXX",
|
|
878
|
+
/** Month/day/year, e.g. "06/05/2025" */
|
|
879
|
+
MM_DD_YYYY = "MM/dd/yyyy",
|
|
880
|
+
/** Full month name + day + year, e.g. "June 5, 2025" */
|
|
881
|
+
FULL_MONTH_DAY_YEAR = "MMMM d, yyyy",
|
|
882
|
+
/** Abbreviated month + day + year, e.g. "Jun 5, 2025" */
|
|
883
|
+
ABBR_MONTH_DAY_YEAR = "MMM d, yyyy",
|
|
884
|
+
/** RFC-3339 with milliseconds, e.g. "2025-06-05T13:24:00.000Z" */
|
|
885
|
+
RFC_3339 = "yyyy-MM-dd'T'HH:mm:ss.SSSxxx",
|
|
886
|
+
/** Alternative RSS date, e.g. "09 Sep 2011 15:26:08 +0200" */
|
|
887
|
+
ALT_RSS = "d MMM yyyy HH:mm:ss ZZZ",
|
|
888
|
+
/** Standard RSS date, e.g. "Fri, 09 Sep 2011 15:26:08 +0200" */
|
|
889
|
+
RSS = "EEE, d MMM yyyy HH:mm:ss ZZZ",
|
|
890
|
+
/** HTTP header date, e.g. "Tue, 15 Nov 1994 12:45:26 GMT" */
|
|
891
|
+
HTTP_HEADER = "EEE, dd MMM yyyy HH:mm:ss zzz",
|
|
892
|
+
/** Generic standard format, e.g. "Fri Sep 09 15:26:08 +0000 2011" */
|
|
893
|
+
STANDARD = "EEE MMM dd HH:mm:ss Z yyyy",
|
|
894
|
+
/** Extended format, e.g. "Fri 09-Sep-2011 AD 15:26:08.000 UTC" */
|
|
895
|
+
EXTENDED = "eee dd-MMM-yyyy GG HH:mm:ss.SSS zzz"
|
|
896
|
+
}
|
|
897
|
+
//#endregion
|
|
898
|
+
//#region src/model/zoned-date-time.d.ts
|
|
899
|
+
/**
|
|
900
|
+
* A UTC instant paired with an IANA time zone for formatting and conversions.
|
|
901
|
+
*
|
|
902
|
+
* @example
|
|
903
|
+
* const zoned = ZonedDateTime.fromUtc(new Date(), 'Europe/Bratislava')
|
|
904
|
+
* zoned.toLocalIsoMinutes()
|
|
905
|
+
*/
|
|
906
|
+
declare class ZonedDateTime {
|
|
907
|
+
/**
|
|
908
|
+
* UTC instant (truth).
|
|
909
|
+
*
|
|
910
|
+
* @default new Date()
|
|
911
|
+
* @output Date
|
|
912
|
+
*/
|
|
913
|
+
readonly utc: Date;
|
|
914
|
+
/**
|
|
915
|
+
* IANA time zone identifier.
|
|
916
|
+
*
|
|
917
|
+
* @output string
|
|
918
|
+
* @example "Europe/Bratislava"
|
|
919
|
+
*/
|
|
920
|
+
readonly timeZone: string;
|
|
921
|
+
/**
|
|
922
|
+
* @input timeZone IANA time zone identifier.
|
|
923
|
+
* @input utc UTC instant. Defaults to `new Date()`.
|
|
924
|
+
* @output ZonedDateTime
|
|
925
|
+
* @example new ZonedDateTime('Europe/Bratislava', new Date('2025-12-31T23:30:00.000Z'))
|
|
926
|
+
*/
|
|
927
|
+
constructor(timeZone: string, utc?: Date);
|
|
928
|
+
/**
|
|
929
|
+
* Create from a UTC instant.
|
|
930
|
+
*
|
|
931
|
+
* @input utc UTC instant.
|
|
932
|
+
* @input timeZone IANA time zone identifier.
|
|
933
|
+
* @output ZonedDateTime
|
|
934
|
+
* @example ZonedDateTime.fromUtc(new Date('2025-12-31T23:30:00.000Z'), 'Europe/Bratislava')
|
|
935
|
+
*/
|
|
936
|
+
static fromUtc(utc: Date, timeZone: string): ZonedDateTime;
|
|
937
|
+
/**
|
|
938
|
+
* Create from a local wall-clock time interpreted in the provided time zone.
|
|
939
|
+
*
|
|
940
|
+
* @input localIso Local date-time without offset: "YYYY-MM-DDTHH:mm" (or with seconds).
|
|
941
|
+
* @input timeZone IANA time zone identifier.
|
|
942
|
+
* @output ZonedDateTime
|
|
943
|
+
* @example ZonedDateTime.fromLocalIso('2026-01-01T18:00', 'Europe/Bratislava').toISOString()
|
|
944
|
+
*/
|
|
945
|
+
static fromLocalIso(localIso: string, timeZone: string): ZonedDateTime;
|
|
946
|
+
/**
|
|
947
|
+
* Format this instant in the configured time zone.
|
|
948
|
+
*
|
|
949
|
+
* @input pattern date-fns format pattern.
|
|
950
|
+
* @input options date-fns-tz format options (locale, weekStartsOn, etc).
|
|
951
|
+
* @output string
|
|
952
|
+
* @example zoned.format("yyyy-MM-dd'T'HH:mm")
|
|
953
|
+
*/
|
|
954
|
+
format(pattern: string, options?: FormatOptionsWithTZ): string;
|
|
955
|
+
/**
|
|
956
|
+
* Local ISO string without offset, minute precision.
|
|
957
|
+
*
|
|
958
|
+
* @output string
|
|
959
|
+
* @example zoned.toLocalIsoMinutes()
|
|
960
|
+
*/
|
|
961
|
+
toLocalIsoMinutes(options?: FormatOptionsWithTZ): string;
|
|
962
|
+
/**
|
|
963
|
+
* Local ISO string without offset, second precision.
|
|
964
|
+
*
|
|
965
|
+
* @output string
|
|
966
|
+
* @example zoned.toLocalIsoSeconds()
|
|
967
|
+
*/
|
|
968
|
+
toLocalIsoSeconds(options?: FormatOptionsWithTZ): string;
|
|
969
|
+
/**
|
|
970
|
+
* UTC ISO string (always Z).
|
|
971
|
+
*
|
|
972
|
+
* @output string
|
|
973
|
+
* @example zoned.toISOString()
|
|
974
|
+
*/
|
|
975
|
+
toISOString(): string;
|
|
976
|
+
/**
|
|
977
|
+
* Unix timestamp in seconds.
|
|
978
|
+
*
|
|
979
|
+
* @output number
|
|
980
|
+
* @example zoned.toUnixTimestamp()
|
|
981
|
+
*/
|
|
982
|
+
toUnixTimestamp(): number;
|
|
983
|
+
/**
|
|
984
|
+
* Date that formats to the local time of `timeZone` (useful for date pickers).
|
|
985
|
+
*
|
|
986
|
+
* @output Date
|
|
987
|
+
* @example const pickerDate = zoned.toZonedDate()
|
|
988
|
+
*/
|
|
989
|
+
toZonedDate(): Date;
|
|
990
|
+
/**
|
|
991
|
+
* Offset in milliseconds between the configured time zone and UTC at the given instant.
|
|
992
|
+
*
|
|
993
|
+
* @input atUtc UTC instant to evaluate offset at. Defaults to this.utc.
|
|
994
|
+
* @output number
|
|
995
|
+
* @example zoned.timezoneOffsetMs()
|
|
996
|
+
*/
|
|
997
|
+
timezoneOffsetMs(atUtc?: Date): number;
|
|
998
|
+
}
|
|
999
|
+
//#endregion
|
|
1000
|
+
//#region src/model/geojson.d.ts
|
|
1001
|
+
/**
|
|
1002
|
+
* Represents a coordinate pair.
|
|
1003
|
+
*
|
|
1004
|
+
* @property {number} longitude The longitude value (−180 to 180).
|
|
1005
|
+
* @property {number} latitude The latitude value (−90 to 90).
|
|
1006
|
+
*
|
|
1007
|
+
* @throws {Error} If longitude or latitude are out of range.
|
|
1008
|
+
*/
|
|
1009
|
+
declare class Coordinates implements JSONSerializable {
|
|
1010
|
+
readonly value: [number, number];
|
|
1011
|
+
constructor([longitude, latitude]: [number, number]);
|
|
1012
|
+
/**
|
|
1013
|
+
* @returns {number} The longitude.
|
|
1014
|
+
*/
|
|
1015
|
+
get longitude(): number;
|
|
1016
|
+
/**
|
|
1017
|
+
* @returns {number} The latitude.
|
|
1018
|
+
*/
|
|
1019
|
+
get latitude(): number;
|
|
1020
|
+
/**
|
|
1021
|
+
* Custom JSON serialization.
|
|
1022
|
+
*
|
|
1023
|
+
* @returns {[number, number]} Plain tuple [lon, lat]
|
|
1024
|
+
*/
|
|
1025
|
+
toJSON(): [number, number];
|
|
1026
|
+
}
|
|
1027
|
+
/**
|
|
1028
|
+
* Base GeoJSON object.
|
|
1029
|
+
*
|
|
1030
|
+
* @property {GeoJsonTypes} type The GeoJSON object type.
|
|
1031
|
+
* @property {BBox} [bbox] Optional bounding box array.
|
|
1032
|
+
*/
|
|
1033
|
+
interface GeoJsonObject {
|
|
1034
|
+
type: GeoJsonTypes;
|
|
1035
|
+
bbox?: BBox;
|
|
1036
|
+
}
|
|
1037
|
+
/**
|
|
1038
|
+
* Point geometry.
|
|
1039
|
+
*
|
|
1040
|
+
* @property {'Point'} type
|
|
1041
|
+
* @property {Coordinates} coordinates The coordinate pair.
|
|
1042
|
+
* @property {BBox} [bbox] Optional bounding box.
|
|
1043
|
+
*/
|
|
1044
|
+
declare class Point implements GeoJsonObject, JSONSerializable {
|
|
1045
|
+
readonly type = GeoJsonType.Point;
|
|
1046
|
+
coordinates: Coordinates;
|
|
1047
|
+
bbox?: BBox;
|
|
1048
|
+
constructor(coordinates: Coordinates, bbox?: BBox);
|
|
1049
|
+
toJSON(): any;
|
|
1050
|
+
}
|
|
1051
|
+
/**
|
|
1052
|
+
* MultiPoint geometry.
|
|
1053
|
+
*
|
|
1054
|
+
* @property {'MultiPoint'} type
|
|
1055
|
+
* @property {Coordinates[]} coordinates Array of coordinate pairs.
|
|
1056
|
+
* @property {BBox} [bbox] Optional bounding box.
|
|
1057
|
+
*/
|
|
1058
|
+
declare class MultiPoint implements GeoJsonObject, JSONSerializable {
|
|
1059
|
+
readonly type = GeoJsonType.MultiPoint;
|
|
1060
|
+
coordinates: Coordinates[];
|
|
1061
|
+
bbox?: BBox;
|
|
1062
|
+
constructor(coordinates: Coordinates[], bbox?: BBox);
|
|
1063
|
+
toJSON(): any;
|
|
1064
|
+
}
|
|
1065
|
+
/**
|
|
1066
|
+
* LineString geometry.
|
|
1067
|
+
*
|
|
1068
|
+
* @property {'LineString'} type
|
|
1069
|
+
* @property {Coordinates[]} coordinates Array of coordinate pairs.
|
|
1070
|
+
* @property {BBox} [bbox] Optional bounding box.
|
|
1071
|
+
*/
|
|
1072
|
+
declare class LineString implements GeoJsonObject, JSONSerializable {
|
|
1073
|
+
readonly type = GeoJsonType.LineString;
|
|
1074
|
+
coordinates: Coordinates[];
|
|
1075
|
+
bbox?: BBox;
|
|
1076
|
+
constructor(coordinates: Coordinates[], bbox?: BBox);
|
|
1077
|
+
toJSON(): any;
|
|
1078
|
+
}
|
|
1079
|
+
/**
|
|
1080
|
+
* MultiLineString geometry.
|
|
1081
|
+
*
|
|
1082
|
+
* @property {'MultiLineString'} type
|
|
1083
|
+
* @property {Coordinates[][]} coordinates Array of LineStrings (arrays of Coordinates).
|
|
1084
|
+
* @property {BBox} [bbox] Optional bounding box.
|
|
1085
|
+
*/
|
|
1086
|
+
declare class MultiLineString implements GeoJsonObject, JSONSerializable {
|
|
1087
|
+
readonly type = GeoJsonType.MultiLineString;
|
|
1088
|
+
coordinates: Coordinates[][];
|
|
1089
|
+
bbox?: BBox;
|
|
1090
|
+
constructor(coordinates: Coordinates[][], bbox?: BBox);
|
|
1091
|
+
toJSON(): any;
|
|
1092
|
+
}
|
|
1093
|
+
/**
|
|
1094
|
+
* Polygon geometry.
|
|
1095
|
+
*
|
|
1096
|
+
* @property {'Polygon'} type
|
|
1097
|
+
* @property {Coordinates[][]} coordinates Array of linear rings (arrays of Coordinates).
|
|
1098
|
+
* @property {BBox} [bbox] Optional bounding box.
|
|
1099
|
+
*/
|
|
1100
|
+
declare class Polygon implements GeoJsonObject, JSONSerializable {
|
|
1101
|
+
readonly type = GeoJsonType.Polygon;
|
|
1102
|
+
coordinates: Coordinates[][];
|
|
1103
|
+
bbox?: BBox;
|
|
1104
|
+
constructor(coordinates: Coordinates[][], bbox?: BBox);
|
|
1105
|
+
toJSON(): any;
|
|
1106
|
+
}
|
|
1107
|
+
/**
|
|
1108
|
+
* MultiPolygon geometry.
|
|
1109
|
+
*
|
|
1110
|
+
* @property {'MultiPolygon'} type
|
|
1111
|
+
* @property {Coordinates[][][]} coordinates Array of Polygons (arrays of rings of Coordinates).
|
|
1112
|
+
* @property {BBox} [bbox] Optional bounding box.
|
|
1113
|
+
*/
|
|
1114
|
+
declare class MultiPolygon implements GeoJsonObject, JSONSerializable {
|
|
1115
|
+
readonly type = GeoJsonType.MultiPolygon;
|
|
1116
|
+
coordinates: Coordinates[][][];
|
|
1117
|
+
bbox?: BBox;
|
|
1118
|
+
constructor(coordinates: Coordinates[][][], bbox?: BBox);
|
|
1119
|
+
toJSON(): any;
|
|
1120
|
+
}
|
|
1121
|
+
/**
|
|
1122
|
+
* Bounding box for GeoJSON geometries.
|
|
1123
|
+
*
|
|
1124
|
+
* - [minX, minY, maxX, maxY] or
|
|
1125
|
+
* - [minX, minY, minZ, maxX, maxY, maxZ].
|
|
1126
|
+
*/
|
|
1127
|
+
type BBox = [number, number, number, number] | [number, number, number, number, number, number];
|
|
1128
|
+
/**
|
|
1129
|
+
* Union of all geometry types.
|
|
1130
|
+
*/
|
|
1131
|
+
type Geometry = Point | MultiPoint | LineString | MultiLineString | Polygon | MultiPolygon;
|
|
1132
|
+
/**
|
|
1133
|
+
* Valid GeoJSON types, based on geometry classes.
|
|
1134
|
+
*/
|
|
1135
|
+
type GeoJsonTypes = `${GeoJsonType}`;
|
|
1136
|
+
declare enum GeoJsonType {
|
|
1137
|
+
Point = "Point",
|
|
1138
|
+
MultiPoint = "MultiPoint",
|
|
1139
|
+
LineString = "LineString",
|
|
1140
|
+
MultiLineString = "MultiLineString",
|
|
1141
|
+
Polygon = "Polygon",
|
|
1142
|
+
MultiPolygon = "MultiPolygon"
|
|
1143
|
+
}
|
|
1144
|
+
//#endregion
|
|
1145
|
+
//#region src/model/object-id.d.ts
|
|
1146
|
+
/**
|
|
1147
|
+
* Immutable identifier value object.
|
|
1148
|
+
*
|
|
1149
|
+
* Stores a non-empty string and provides value-based equality, ordering,
|
|
1150
|
+
* hashing, and JSON serialization.
|
|
1151
|
+
*/
|
|
1152
|
+
declare class ObjectId implements JSONSerializable {
|
|
1153
|
+
/**
|
|
1154
|
+
* Canonical identifier value.
|
|
1155
|
+
*/
|
|
1156
|
+
readonly value: string;
|
|
1157
|
+
/**
|
|
1158
|
+
* Creates a new {@link ObjectId}.
|
|
1159
|
+
*
|
|
1160
|
+
* @param input Raw identifier value.
|
|
1161
|
+
* @throws {Error} If `input` is `null`, `undefined`, or an empty/whitespace-only string.
|
|
1162
|
+
*
|
|
1163
|
+
* @example
|
|
1164
|
+
* ```ts
|
|
1165
|
+
* const id = new ObjectId("507f1f77bcf86cd799439011");
|
|
1166
|
+
* ```
|
|
1167
|
+
*/
|
|
1168
|
+
constructor(input: string | null | undefined);
|
|
1169
|
+
/**
|
|
1170
|
+
* Shorthand alias for {@link ObjectId.value}.
|
|
1171
|
+
*
|
|
1172
|
+
* Value as string semantic clarity.
|
|
1173
|
+
*
|
|
1174
|
+
* @returns Raw id string.
|
|
1175
|
+
*
|
|
1176
|
+
* @example
|
|
1177
|
+
* ```ts
|
|
1178
|
+
* const id = new ObjectId("abc");
|
|
1179
|
+
* id.asString; // "abc"
|
|
1180
|
+
* ```
|
|
1181
|
+
*/
|
|
1182
|
+
get asString(): string;
|
|
1183
|
+
/**
|
|
1184
|
+
* Checks value equality.
|
|
1185
|
+
*
|
|
1186
|
+
* @param other Another id or raw string.
|
|
1187
|
+
* @returns `true` if both values match.
|
|
1188
|
+
*
|
|
1189
|
+
* @example
|
|
1190
|
+
* ```ts
|
|
1191
|
+
* id.equals("abc");
|
|
1192
|
+
* id.equals(new ObjectId("abc"));
|
|
1193
|
+
* ```
|
|
1194
|
+
*/
|
|
1195
|
+
equals(other: ObjectId | string): boolean;
|
|
1196
|
+
/**
|
|
1197
|
+
* Compares two ids lexicographically.
|
|
1198
|
+
*
|
|
1199
|
+
* @param other Another id or raw string.
|
|
1200
|
+
* @returns -1 if less, 0 if equal, 1 if greater.
|
|
1201
|
+
*
|
|
1202
|
+
* @example
|
|
1203
|
+
* ```ts
|
|
1204
|
+
* ids.sort((a, b) => a.compare(b));
|
|
1205
|
+
* ```
|
|
1206
|
+
*/
|
|
1207
|
+
compare(other: ObjectId | string): -1 | 0 | 1;
|
|
1208
|
+
/**
|
|
1209
|
+
* Returns a stable hash key for Maps/Sets.
|
|
1210
|
+
*
|
|
1211
|
+
* @returns String hash key.
|
|
1212
|
+
*
|
|
1213
|
+
* @example
|
|
1214
|
+
* ```ts
|
|
1215
|
+
* const map = new Map<string, number>();
|
|
1216
|
+
* map.set(id.hash(), 1);
|
|
1217
|
+
* ```
|
|
1218
|
+
*/
|
|
1219
|
+
hash(): string;
|
|
1220
|
+
/**
|
|
1221
|
+
* Serializes to JSON as the raw identifier string.
|
|
1222
|
+
*
|
|
1223
|
+
* @returns Raw id value.
|
|
1224
|
+
*/
|
|
1225
|
+
toJSON(): string;
|
|
1226
|
+
/**
|
|
1227
|
+
* Converts to string.
|
|
1228
|
+
*
|
|
1229
|
+
* @returns Raw id value.
|
|
1230
|
+
*/
|
|
1231
|
+
toString(): string;
|
|
1232
|
+
/**
|
|
1233
|
+
* Coerces to a primitive string (e.g., template literals).
|
|
1234
|
+
*
|
|
1235
|
+
* @returns Raw id value.
|
|
1236
|
+
*
|
|
1237
|
+
* @example
|
|
1238
|
+
* ```ts
|
|
1239
|
+
* `${id}`;
|
|
1240
|
+
* ```
|
|
1241
|
+
*/
|
|
1242
|
+
[Symbol.toPrimitive](): string;
|
|
1243
|
+
/**
|
|
1244
|
+
* Normalizes an id-like value into an {@link ObjectId}.
|
|
1245
|
+
*
|
|
1246
|
+
* @param value Raw string or {@link ObjectId}.
|
|
1247
|
+
* @returns Normalized {@link ObjectId} instance.
|
|
1248
|
+
*
|
|
1249
|
+
* @example
|
|
1250
|
+
* ```ts
|
|
1251
|
+
* const id = ObjectId.from("abc");
|
|
1252
|
+
* ```
|
|
1253
|
+
*/
|
|
1254
|
+
static from(value: ObjectId | string): ObjectId;
|
|
1255
|
+
/**
|
|
1256
|
+
* Checks if a value can be used to construct an {@link ObjectId}.
|
|
1257
|
+
*
|
|
1258
|
+
* @param value Value to check.
|
|
1259
|
+
* @returns `true` if it is a non-empty string.
|
|
1260
|
+
*/
|
|
1261
|
+
static isValid(value: unknown): value is string;
|
|
1262
|
+
/**
|
|
1263
|
+
* Creates a value-based set of unique id strings.
|
|
1264
|
+
*
|
|
1265
|
+
* Useful when you need deduplication independent of object identity.
|
|
1266
|
+
*
|
|
1267
|
+
* @param values Iterable of id-like values.
|
|
1268
|
+
* @returns Set of unique raw id strings.
|
|
1269
|
+
*
|
|
1270
|
+
* @example
|
|
1271
|
+
* ```ts
|
|
1272
|
+
* const unique = ObjectId.toValueSet([new ObjectId("a"), "a", "b"]);
|
|
1273
|
+
* unique.has("a"); // true
|
|
1274
|
+
* unique.size; // 2
|
|
1275
|
+
* ```
|
|
1276
|
+
*/
|
|
1277
|
+
static toValueSet(values: Iterable<ObjectId | string>): Set<string>;
|
|
1278
|
+
}
|
|
1279
|
+
//#endregion
|
|
1280
|
+
//#region src/model/opening-hour.d.ts
|
|
1281
|
+
type OpeningHourInterval = {
|
|
1282
|
+
open: string;
|
|
1283
|
+
close: string;
|
|
1284
|
+
};
|
|
1285
|
+
declare class OpeningHour implements JSONSerializable {
|
|
1286
|
+
day: number;
|
|
1287
|
+
intervals: OpeningHourInterval[];
|
|
1288
|
+
constructor(day: number, intervals: OpeningHourInterval[]);
|
|
1289
|
+
toJSON(): any;
|
|
1290
|
+
}
|
|
1291
|
+
//#endregion
|
|
1292
|
+
//#region src/model/time-interval.d.ts
|
|
1293
|
+
/**
|
|
1294
|
+
* Represents a time interval in milliseconds, with helper methods for common time units.
|
|
1295
|
+
*
|
|
1296
|
+
* @param interval
|
|
1297
|
+
* A number (milliseconds), a string in ms format (e.g. "2d", "10h", "30m"),
|
|
1298
|
+
* or null/undefined (throws at runtime).
|
|
1299
|
+
*
|
|
1300
|
+
* @param options
|
|
1301
|
+
* Options passed directly to `ms()` when producing a string:
|
|
1302
|
+
* • `{ long: true }` produces a verbose form (e.g. "1 hour 30 minutes").
|
|
1303
|
+
*
|
|
1304
|
+
* @throws {Error}
|
|
1305
|
+
* If `interval` is null/undefined, or if a provided string cannot be parsed by `ms()`.
|
|
1306
|
+
*
|
|
1307
|
+
* @example
|
|
1308
|
+
* const t1 = new TimeInterval("2h");
|
|
1309
|
+
* console.log(t1.milliseconds); // 7200000
|
|
1310
|
+
* console.log(t1.hours); // 2
|
|
1311
|
+
* console.log(t1.formatted); // "2h"
|
|
1312
|
+
* console.log(t1.toString()); // "2h"
|
|
1313
|
+
*
|
|
1314
|
+
* @example
|
|
1315
|
+
* const t2 = new TimeInterval(15000, { long: true });
|
|
1316
|
+
* console.log(t2.seconds); // 15
|
|
1317
|
+
* console.log(t2.toString()); // "15 seconds"
|
|
1318
|
+
*
|
|
1319
|
+
* @example
|
|
1320
|
+
* try {
|
|
1321
|
+
* new TimeInterval("invalid");
|
|
1322
|
+
* } catch (err) {
|
|
1323
|
+
* console.error(err.message); // "Invalid interval format: invalid"
|
|
1324
|
+
* }
|
|
1325
|
+
*
|
|
1326
|
+
* @example
|
|
1327
|
+
* try {
|
|
1328
|
+
* new TimeInterval(null);
|
|
1329
|
+
* } catch (err) {
|
|
1330
|
+
* console.error(err.message); // "Invalid interval format: null"
|
|
1331
|
+
* }
|
|
1332
|
+
*/
|
|
1333
|
+
declare class TimeInterval {
|
|
1334
|
+
private readonly _milliseconds;
|
|
1335
|
+
private readonly _long;
|
|
1336
|
+
constructor(interval: string | number | null | undefined, options?: {
|
|
1337
|
+
long: boolean;
|
|
1338
|
+
});
|
|
1339
|
+
/**
|
|
1340
|
+
* @returns The interval duration in milliseconds.
|
|
1341
|
+
*/
|
|
1342
|
+
get milliseconds(): number;
|
|
1343
|
+
/**
|
|
1344
|
+
* @returns The interval duration in seconds.
|
|
1345
|
+
*/
|
|
1346
|
+
get seconds(): number;
|
|
1347
|
+
/**
|
|
1348
|
+
* @returns The interval duration in minutes.
|
|
1349
|
+
*/
|
|
1350
|
+
get minutes(): number;
|
|
1351
|
+
/**
|
|
1352
|
+
* @returns The interval duration in hours.
|
|
1353
|
+
*/
|
|
1354
|
+
get hours(): number;
|
|
1355
|
+
/**
|
|
1356
|
+
* @returns The interval duration in days.
|
|
1357
|
+
*/
|
|
1358
|
+
get days(): number;
|
|
1359
|
+
/**
|
|
1360
|
+
* @returns The interval duration in weeks.
|
|
1361
|
+
*/
|
|
1362
|
+
get weeks(): number;
|
|
1363
|
+
/**
|
|
1364
|
+
* @returns A compact, formatted string (e.g. "1h 30m", "45s").
|
|
1365
|
+
*/
|
|
1366
|
+
get formatted(): string;
|
|
1367
|
+
/**
|
|
1368
|
+
* @returns A string representation of the interval.
|
|
1369
|
+
* If `{ long: true }` was passed, returns a verbose form (e.g. "1 hour 30 minutes");
|
|
1370
|
+
* otherwise, returns a compact form (e.g. "1h 30m").
|
|
1371
|
+
*/
|
|
1372
|
+
toString(): string;
|
|
1373
|
+
/**
|
|
1374
|
+
* @returns An object with all time units for programmatic use.
|
|
1375
|
+
*/
|
|
1376
|
+
toObject(): {
|
|
1377
|
+
milliseconds: number;
|
|
1378
|
+
seconds: number;
|
|
1379
|
+
minutes: number;
|
|
1380
|
+
hours: number;
|
|
1381
|
+
days: number;
|
|
1382
|
+
weeks: number;
|
|
1383
|
+
};
|
|
1384
|
+
}
|
|
1385
|
+
//#endregion
|
|
1386
|
+
//#region src/model/unit.d.ts
|
|
1387
|
+
declare enum ByteUnit {
|
|
1388
|
+
Byte = "B",
|
|
1389
|
+
Kilobyte = "KB",
|
|
1390
|
+
Megabyte = "MB",
|
|
1391
|
+
Gigabyte = "GB",
|
|
1392
|
+
Terabyte = "TB"
|
|
1393
|
+
}
|
|
1394
|
+
declare enum DistanceUnit {
|
|
1395
|
+
Millimeter = "mm",
|
|
1396
|
+
Centimeter = "cm",
|
|
1397
|
+
Meter = "m",
|
|
1398
|
+
Kilometer = "km"
|
|
1399
|
+
}
|
|
1400
|
+
declare enum WeightUnit {
|
|
1401
|
+
Milligram = "mg",
|
|
1402
|
+
Gram = "g",
|
|
1403
|
+
Kilogram = "kg",
|
|
1404
|
+
Tonne = "t"
|
|
1405
|
+
}
|
|
1406
|
+
//#endregion
|
|
1407
|
+
//#region src/formatter/format-bytes-options.d.ts
|
|
1408
|
+
interface FormatBytesOptions {
|
|
1409
|
+
inputUnit?: ByteUnit;
|
|
1410
|
+
outputUnit?: ByteUnit | 'auto';
|
|
1411
|
+
decimals?: number;
|
|
1412
|
+
}
|
|
1413
|
+
interface FormattedBytes {
|
|
1414
|
+
value: number;
|
|
1415
|
+
unit: ByteUnit;
|
|
1416
|
+
bytes: number;
|
|
1417
|
+
}
|
|
1418
|
+
//#endregion
|
|
1419
|
+
//#region src/formatter/unit-formatter-controller.d.ts
|
|
1420
|
+
interface UnitFormatterController {
|
|
1421
|
+
/**
|
|
1422
|
+
* Formats a byte size into a human-readable value and unit.
|
|
1423
|
+
*
|
|
1424
|
+
* @param size
|
|
1425
|
+
* Size expressed in the given input unit (or bytes by default).
|
|
1426
|
+
*
|
|
1427
|
+
* @param [options]
|
|
1428
|
+
* Optional formatting options.
|
|
1429
|
+
*
|
|
1430
|
+
* @param [options.inputUnit]
|
|
1431
|
+
* Unit of the input size.
|
|
1432
|
+
* @default ByteUnit.Byte
|
|
1433
|
+
*
|
|
1434
|
+
* @param [options.outputUnit]
|
|
1435
|
+
* Target unit. When 'auto', picks the largest unit with value ≥ 1.
|
|
1436
|
+
* @default 'auto'
|
|
1437
|
+
*
|
|
1438
|
+
* @param [options.decimals]
|
|
1439
|
+
* Number of decimal places to keep in the formatted value.
|
|
1440
|
+
* @default 1
|
|
1441
|
+
*
|
|
1442
|
+
* @returns
|
|
1443
|
+
* Formatted value with unit and the original size in bytes.
|
|
1444
|
+
*
|
|
1445
|
+
* @example
|
|
1446
|
+
* // 1.0 MB
|
|
1447
|
+
* formatter.formatBytes(1048576);
|
|
1448
|
+
*
|
|
1449
|
+
* @example
|
|
1450
|
+
* // 512.00 KB
|
|
1451
|
+
* formatter.formatBytes(512, {
|
|
1452
|
+
* inputUnit: ByteUnit.Kilobyte,
|
|
1453
|
+
* outputUnit: ByteUnit.Kilobyte,
|
|
1454
|
+
* decimals: 2,
|
|
1455
|
+
* });
|
|
1456
|
+
*/
|
|
1457
|
+
formatBytes(size: number, options?: FormatBytesOptions): FormattedBytes;
|
|
1458
|
+
}
|
|
1459
|
+
declare class UnitFormatterControllerImpl implements UnitFormatterController {
|
|
1460
|
+
formatBytes(size: number, options?: FormatBytesOptions): FormattedBytes;
|
|
1461
|
+
}
|
|
1462
|
+
//#endregion
|
|
1463
|
+
//#region src/l10n/l10n.d.ts
|
|
1464
|
+
type L10nResources = Readonly<Record<string, Readonly<Record<string, unknown>>>>;
|
|
1465
|
+
//#endregion
|
|
1466
|
+
//#region src/l10n/define-l10n-resource.d.ts
|
|
1467
|
+
type L10nDeepMerge<TLeft, TRight> = TLeft extends Record<string, unknown> ? TRight extends Record<string, unknown> ? { readonly [TKey in keyof TLeft | keyof TRight]: TKey extends keyof TRight ? TKey extends keyof TLeft ? L10nDeepMerge<TLeft[TKey], TRight[TKey]> : TRight[TKey] : TKey extends keyof TLeft ? TLeft[TKey] : never; } : TRight : TRight;
|
|
1468
|
+
declare class L10nResource<TResources extends L10nResources> {
|
|
1469
|
+
readonly resources: TResources;
|
|
1470
|
+
constructor(resources: TResources);
|
|
1471
|
+
extend<const TExtension extends L10nResources>(options: {
|
|
1472
|
+
resources: TExtension;
|
|
1473
|
+
}): L10nResource<L10nDeepMerge<TResources, TExtension>>;
|
|
1474
|
+
}
|
|
1475
|
+
declare function defineL10nResource<const TResources extends L10nResources>(options: {
|
|
1476
|
+
resources: TResources;
|
|
1477
|
+
}): L10nResource<TResources>;
|
|
1478
|
+
//#endregion
|
|
1479
|
+
//#region src/l10n/resources.d.ts
|
|
1480
|
+
declare const CoreL10nResource: L10nResource<{
|
|
1481
|
+
readonly en: {
|
|
1482
|
+
readonly core: {
|
|
1483
|
+
common: {
|
|
1484
|
+
actions: {
|
|
1485
|
+
save: string;
|
|
1486
|
+
cancel: string;
|
|
1487
|
+
delete: string;
|
|
1488
|
+
confirm: string;
|
|
1489
|
+
close: string;
|
|
1490
|
+
back: string;
|
|
1491
|
+
next: string;
|
|
1492
|
+
};
|
|
1493
|
+
date_time: {
|
|
1494
|
+
relative: {
|
|
1495
|
+
today: string;
|
|
1496
|
+
tomorrow: string;
|
|
1497
|
+
yesterday: string;
|
|
1498
|
+
};
|
|
1499
|
+
interval: {
|
|
1500
|
+
second: {
|
|
1501
|
+
one: string;
|
|
1502
|
+
few: string;
|
|
1503
|
+
many: string;
|
|
1504
|
+
other: string;
|
|
1505
|
+
};
|
|
1506
|
+
minute: {
|
|
1507
|
+
one: string;
|
|
1508
|
+
few: string;
|
|
1509
|
+
many: string;
|
|
1510
|
+
other: string;
|
|
1511
|
+
};
|
|
1512
|
+
hour: {
|
|
1513
|
+
one: string;
|
|
1514
|
+
few: string;
|
|
1515
|
+
many: string;
|
|
1516
|
+
other: string;
|
|
1517
|
+
};
|
|
1518
|
+
day: {
|
|
1519
|
+
one: string;
|
|
1520
|
+
few: string;
|
|
1521
|
+
many: string;
|
|
1522
|
+
other: string;
|
|
1523
|
+
};
|
|
1524
|
+
week: {
|
|
1525
|
+
one: string;
|
|
1526
|
+
few: string;
|
|
1527
|
+
many: string;
|
|
1528
|
+
other: string;
|
|
1529
|
+
};
|
|
1530
|
+
month: {
|
|
1531
|
+
one: string;
|
|
1532
|
+
few: string;
|
|
1533
|
+
many: string;
|
|
1534
|
+
other: string;
|
|
1535
|
+
};
|
|
1536
|
+
year: {
|
|
1537
|
+
one: string;
|
|
1538
|
+
few: string;
|
|
1539
|
+
many: string;
|
|
1540
|
+
other: string;
|
|
1541
|
+
};
|
|
1542
|
+
};
|
|
1543
|
+
weekday: {
|
|
1544
|
+
monday: string;
|
|
1545
|
+
tuesday: string;
|
|
1546
|
+
wednesday: string;
|
|
1547
|
+
thursday: string;
|
|
1548
|
+
friday: string;
|
|
1549
|
+
saturday: string;
|
|
1550
|
+
sunday: string;
|
|
1551
|
+
};
|
|
1552
|
+
month: {
|
|
1553
|
+
january: string;
|
|
1554
|
+
february: string;
|
|
1555
|
+
march: string;
|
|
1556
|
+
april: string;
|
|
1557
|
+
may: string;
|
|
1558
|
+
june: string;
|
|
1559
|
+
july: string;
|
|
1560
|
+
august: string;
|
|
1561
|
+
september: string;
|
|
1562
|
+
october: string;
|
|
1563
|
+
november: string;
|
|
1564
|
+
december: string;
|
|
1565
|
+
};
|
|
1566
|
+
};
|
|
1567
|
+
validation: {
|
|
1568
|
+
opening_hours: {
|
|
1569
|
+
time_required: string;
|
|
1570
|
+
time_range_incomplete: string;
|
|
1571
|
+
};
|
|
1572
|
+
};
|
|
1573
|
+
};
|
|
1574
|
+
};
|
|
1575
|
+
};
|
|
1576
|
+
readonly sk: {
|
|
1577
|
+
readonly core: {
|
|
1578
|
+
common: {
|
|
1579
|
+
actions: {
|
|
1580
|
+
save: string;
|
|
1581
|
+
cancel: string;
|
|
1582
|
+
delete: string;
|
|
1583
|
+
confirm: string;
|
|
1584
|
+
close: string;
|
|
1585
|
+
back: string;
|
|
1586
|
+
next: string;
|
|
1587
|
+
};
|
|
1588
|
+
date_time: {
|
|
1589
|
+
relative: {
|
|
1590
|
+
today: string;
|
|
1591
|
+
tomorrow: string;
|
|
1592
|
+
yesterday: string;
|
|
1593
|
+
};
|
|
1594
|
+
interval: {
|
|
1595
|
+
second: {
|
|
1596
|
+
one: string;
|
|
1597
|
+
few: string;
|
|
1598
|
+
many: string;
|
|
1599
|
+
other: string;
|
|
1600
|
+
};
|
|
1601
|
+
minute: {
|
|
1602
|
+
one: string;
|
|
1603
|
+
few: string;
|
|
1604
|
+
many: string;
|
|
1605
|
+
other: string;
|
|
1606
|
+
};
|
|
1607
|
+
hour: {
|
|
1608
|
+
one: string;
|
|
1609
|
+
few: string;
|
|
1610
|
+
many: string;
|
|
1611
|
+
other: string;
|
|
1612
|
+
};
|
|
1613
|
+
day: {
|
|
1614
|
+
one: string;
|
|
1615
|
+
few: string;
|
|
1616
|
+
many: string;
|
|
1617
|
+
other: string;
|
|
1618
|
+
};
|
|
1619
|
+
week: {
|
|
1620
|
+
one: string;
|
|
1621
|
+
few: string;
|
|
1622
|
+
many: string;
|
|
1623
|
+
other: string;
|
|
1624
|
+
};
|
|
1625
|
+
month: {
|
|
1626
|
+
one: string;
|
|
1627
|
+
few: string;
|
|
1628
|
+
many: string;
|
|
1629
|
+
other: string;
|
|
1630
|
+
};
|
|
1631
|
+
year: {
|
|
1632
|
+
one: string;
|
|
1633
|
+
few: string;
|
|
1634
|
+
many: string;
|
|
1635
|
+
other: string;
|
|
1636
|
+
};
|
|
1637
|
+
};
|
|
1638
|
+
weekday: {
|
|
1639
|
+
monday: string;
|
|
1640
|
+
tuesday: string;
|
|
1641
|
+
wednesday: string;
|
|
1642
|
+
thursday: string;
|
|
1643
|
+
friday: string;
|
|
1644
|
+
saturday: string;
|
|
1645
|
+
sunday: string;
|
|
1646
|
+
};
|
|
1647
|
+
month: {
|
|
1648
|
+
january: string;
|
|
1649
|
+
february: string;
|
|
1650
|
+
march: string;
|
|
1651
|
+
april: string;
|
|
1652
|
+
may: string;
|
|
1653
|
+
june: string;
|
|
1654
|
+
july: string;
|
|
1655
|
+
august: string;
|
|
1656
|
+
september: string;
|
|
1657
|
+
october: string;
|
|
1658
|
+
november: string;
|
|
1659
|
+
december: string;
|
|
1660
|
+
};
|
|
1661
|
+
};
|
|
1662
|
+
validation: {
|
|
1663
|
+
opening_hours: {
|
|
1664
|
+
time_required: string;
|
|
1665
|
+
time_range_incomplete: string;
|
|
1666
|
+
};
|
|
1667
|
+
};
|
|
1668
|
+
};
|
|
1669
|
+
};
|
|
1670
|
+
};
|
|
1671
|
+
readonly cs: {
|
|
1672
|
+
readonly core: {
|
|
1673
|
+
common: {
|
|
1674
|
+
actions: {
|
|
1675
|
+
save: string;
|
|
1676
|
+
cancel: string;
|
|
1677
|
+
delete: string;
|
|
1678
|
+
confirm: string;
|
|
1679
|
+
close: string;
|
|
1680
|
+
back: string;
|
|
1681
|
+
next: string;
|
|
1682
|
+
};
|
|
1683
|
+
date_time: {
|
|
1684
|
+
relative: {
|
|
1685
|
+
today: string;
|
|
1686
|
+
tomorrow: string;
|
|
1687
|
+
yesterday: string;
|
|
1688
|
+
};
|
|
1689
|
+
interval: {
|
|
1690
|
+
second: {
|
|
1691
|
+
one: string;
|
|
1692
|
+
few: string;
|
|
1693
|
+
many: string;
|
|
1694
|
+
other: string;
|
|
1695
|
+
};
|
|
1696
|
+
minute: {
|
|
1697
|
+
one: string;
|
|
1698
|
+
few: string;
|
|
1699
|
+
many: string;
|
|
1700
|
+
other: string;
|
|
1701
|
+
};
|
|
1702
|
+
hour: {
|
|
1703
|
+
one: string;
|
|
1704
|
+
few: string;
|
|
1705
|
+
many: string;
|
|
1706
|
+
other: string;
|
|
1707
|
+
};
|
|
1708
|
+
day: {
|
|
1709
|
+
one: string;
|
|
1710
|
+
few: string;
|
|
1711
|
+
many: string;
|
|
1712
|
+
other: string;
|
|
1713
|
+
};
|
|
1714
|
+
week: {
|
|
1715
|
+
one: string;
|
|
1716
|
+
few: string;
|
|
1717
|
+
many: string;
|
|
1718
|
+
other: string;
|
|
1719
|
+
};
|
|
1720
|
+
month: {
|
|
1721
|
+
one: string;
|
|
1722
|
+
few: string;
|
|
1723
|
+
many: string;
|
|
1724
|
+
other: string;
|
|
1725
|
+
};
|
|
1726
|
+
year: {
|
|
1727
|
+
one: string;
|
|
1728
|
+
few: string;
|
|
1729
|
+
many: string;
|
|
1730
|
+
other: string;
|
|
1731
|
+
};
|
|
1732
|
+
};
|
|
1733
|
+
weekday: {
|
|
1734
|
+
monday: string;
|
|
1735
|
+
tuesday: string;
|
|
1736
|
+
wednesday: string;
|
|
1737
|
+
thursday: string;
|
|
1738
|
+
friday: string;
|
|
1739
|
+
saturday: string;
|
|
1740
|
+
sunday: string;
|
|
1741
|
+
};
|
|
1742
|
+
month: {
|
|
1743
|
+
january: string;
|
|
1744
|
+
february: string;
|
|
1745
|
+
march: string;
|
|
1746
|
+
april: string;
|
|
1747
|
+
may: string;
|
|
1748
|
+
june: string;
|
|
1749
|
+
july: string;
|
|
1750
|
+
august: string;
|
|
1751
|
+
september: string;
|
|
1752
|
+
october: string;
|
|
1753
|
+
november: string;
|
|
1754
|
+
december: string;
|
|
1755
|
+
};
|
|
1756
|
+
};
|
|
1757
|
+
validation: {
|
|
1758
|
+
opening_hours: {
|
|
1759
|
+
time_required: string;
|
|
1760
|
+
time_range_incomplete: string;
|
|
1761
|
+
};
|
|
1762
|
+
};
|
|
1763
|
+
};
|
|
1764
|
+
};
|
|
1765
|
+
};
|
|
1766
|
+
}>;
|
|
1767
|
+
declare const CoreL10n: {
|
|
1768
|
+
readonly Core: {
|
|
1769
|
+
readonly Common: {
|
|
1770
|
+
readonly Actions: {
|
|
1771
|
+
readonly Close: "core.common.actions.close";
|
|
1772
|
+
readonly Save: "core.common.actions.save";
|
|
1773
|
+
readonly Cancel: "core.common.actions.cancel";
|
|
1774
|
+
readonly Delete: "core.common.actions.delete";
|
|
1775
|
+
readonly Confirm: "core.common.actions.confirm";
|
|
1776
|
+
readonly Back: "core.common.actions.back";
|
|
1777
|
+
readonly Next: "core.common.actions.next";
|
|
1778
|
+
};
|
|
1779
|
+
readonly DateTime: {
|
|
1780
|
+
readonly Month: {
|
|
1781
|
+
readonly January: "core.common.date_time.month.january";
|
|
1782
|
+
readonly February: "core.common.date_time.month.february";
|
|
1783
|
+
readonly March: "core.common.date_time.month.march";
|
|
1784
|
+
readonly April: "core.common.date_time.month.april";
|
|
1785
|
+
readonly May: "core.common.date_time.month.may";
|
|
1786
|
+
readonly June: "core.common.date_time.month.june";
|
|
1787
|
+
readonly July: "core.common.date_time.month.july";
|
|
1788
|
+
readonly August: "core.common.date_time.month.august";
|
|
1789
|
+
readonly September: "core.common.date_time.month.september";
|
|
1790
|
+
readonly October: "core.common.date_time.month.october";
|
|
1791
|
+
readonly November: "core.common.date_time.month.november";
|
|
1792
|
+
readonly December: "core.common.date_time.month.december";
|
|
1793
|
+
};
|
|
1794
|
+
readonly Relative: {
|
|
1795
|
+
readonly Today: "core.common.date_time.relative.today";
|
|
1796
|
+
readonly Tomorrow: "core.common.date_time.relative.tomorrow";
|
|
1797
|
+
readonly Yesterday: "core.common.date_time.relative.yesterday";
|
|
1798
|
+
};
|
|
1799
|
+
readonly Interval: {
|
|
1800
|
+
readonly Day: {
|
|
1801
|
+
readonly One: "core.common.date_time.interval.day.one";
|
|
1802
|
+
readonly Few: "core.common.date_time.interval.day.few";
|
|
1803
|
+
readonly Many: "core.common.date_time.interval.day.many";
|
|
1804
|
+
readonly Other: "core.common.date_time.interval.day.other";
|
|
1805
|
+
};
|
|
1806
|
+
readonly Second: {
|
|
1807
|
+
readonly One: "core.common.date_time.interval.second.one";
|
|
1808
|
+
readonly Few: "core.common.date_time.interval.second.few";
|
|
1809
|
+
readonly Many: "core.common.date_time.interval.second.many";
|
|
1810
|
+
readonly Other: "core.common.date_time.interval.second.other";
|
|
1811
|
+
};
|
|
1812
|
+
readonly Minute: {
|
|
1813
|
+
readonly One: "core.common.date_time.interval.minute.one";
|
|
1814
|
+
readonly Few: "core.common.date_time.interval.minute.few";
|
|
1815
|
+
readonly Many: "core.common.date_time.interval.minute.many";
|
|
1816
|
+
readonly Other: "core.common.date_time.interval.minute.other";
|
|
1817
|
+
};
|
|
1818
|
+
readonly Hour: {
|
|
1819
|
+
readonly One: "core.common.date_time.interval.hour.one";
|
|
1820
|
+
readonly Few: "core.common.date_time.interval.hour.few";
|
|
1821
|
+
readonly Many: "core.common.date_time.interval.hour.many";
|
|
1822
|
+
readonly Other: "core.common.date_time.interval.hour.other";
|
|
1823
|
+
};
|
|
1824
|
+
readonly Week: {
|
|
1825
|
+
readonly One: "core.common.date_time.interval.week.one";
|
|
1826
|
+
readonly Few: "core.common.date_time.interval.week.few";
|
|
1827
|
+
readonly Many: "core.common.date_time.interval.week.many";
|
|
1828
|
+
readonly Other: "core.common.date_time.interval.week.other";
|
|
1829
|
+
};
|
|
1830
|
+
readonly Month: {
|
|
1831
|
+
readonly One: "core.common.date_time.interval.month.one";
|
|
1832
|
+
readonly Few: "core.common.date_time.interval.month.few";
|
|
1833
|
+
readonly Many: "core.common.date_time.interval.month.many";
|
|
1834
|
+
readonly Other: "core.common.date_time.interval.month.other";
|
|
1835
|
+
};
|
|
1836
|
+
readonly Year: {
|
|
1837
|
+
readonly One: "core.common.date_time.interval.year.one";
|
|
1838
|
+
readonly Few: "core.common.date_time.interval.year.few";
|
|
1839
|
+
readonly Many: "core.common.date_time.interval.year.many";
|
|
1840
|
+
readonly Other: "core.common.date_time.interval.year.other";
|
|
1841
|
+
};
|
|
1842
|
+
};
|
|
1843
|
+
readonly Weekday: {
|
|
1844
|
+
readonly Monday: "core.common.date_time.weekday.monday";
|
|
1845
|
+
readonly Tuesday: "core.common.date_time.weekday.tuesday";
|
|
1846
|
+
readonly Wednesday: "core.common.date_time.weekday.wednesday";
|
|
1847
|
+
readonly Thursday: "core.common.date_time.weekday.thursday";
|
|
1848
|
+
readonly Friday: "core.common.date_time.weekday.friday";
|
|
1849
|
+
readonly Saturday: "core.common.date_time.weekday.saturday";
|
|
1850
|
+
readonly Sunday: "core.common.date_time.weekday.sunday";
|
|
1851
|
+
};
|
|
1852
|
+
};
|
|
1853
|
+
readonly Validation: {
|
|
1854
|
+
readonly OpeningHours: {
|
|
1855
|
+
readonly TimeRequired: "core.common.validation.opening_hours.time_required";
|
|
1856
|
+
readonly TimeRangeIncomplete: "core.common.validation.opening_hours.time_range_incomplete";
|
|
1857
|
+
};
|
|
1858
|
+
};
|
|
1859
|
+
};
|
|
1860
|
+
};
|
|
1861
|
+
};
|
|
1862
|
+
//#endregion
|
|
1863
|
+
//#region src/l10n/define-l10n.d.ts
|
|
1864
|
+
type L10nLocaleResource = Readonly<Record<string, unknown>>;
|
|
1865
|
+
type L10nUnionKeys<TValue> = TValue extends TValue ? keyof TValue : never;
|
|
1866
|
+
type L10nUnionValue<TValue, TKey extends PropertyKey> = TValue extends TValue ? TKey extends keyof TValue ? TValue[TKey] : never : never;
|
|
1867
|
+
type L10nChildResource<TResource, TKey extends PropertyKey> = Extract<L10nUnionValue<TResource, TKey>, L10nLocaleResource>;
|
|
1868
|
+
type L10nKeyTree<TResource, TPrefix extends string = ''> = { readonly [TKey in L10nUnionKeys<TResource> & string as L10nPascalCase<TKey>]: [L10nChildResource<TResource, TKey>] extends [never] ? L10nJoin<TPrefix, TKey> : L10nKeyTree<L10nChildResource<TResource, TKey>, L10nJoin<TPrefix, TKey>>; };
|
|
1869
|
+
type L10nJoin<TPrefix extends string, TKey extends string> = TPrefix extends '' ? TKey : `${TPrefix}.${TKey}`;
|
|
1870
|
+
type L10nPascalCase<TValue extends string, TCapitalizeNext extends boolean = true> = TValue extends `${infer TCharacter}${infer TRest}` ? TCharacter extends '_' | '-' | ' ' ? L10nPascalCase<TRest, true> : `${TCapitalizeNext extends true ? Uppercase<TCharacter> : TCharacter}${L10nPascalCase<TRest, false>}` : '';
|
|
1871
|
+
declare function defineL10n<const TResources extends L10nResources>(resource: L10nResource<TResources>): L10nKeyTree<TResources[keyof TResources]>;
|
|
1872
|
+
//#endregion
|
|
1873
|
+
//#region src/foundation/identity.d.ts
|
|
1874
|
+
type Identity = string | number | symbol;
|
|
1875
|
+
//#endregion
|
|
1876
|
+
//#region src/foundation/equatable.d.ts
|
|
1877
|
+
interface Equatable {
|
|
1878
|
+
equals(other: unknown): boolean;
|
|
1879
|
+
}
|
|
1880
|
+
//#endregion
|
|
1881
|
+
//#region src/foundation/hashable.d.ts
|
|
1882
|
+
interface Hashable {
|
|
1883
|
+
hash(): Identity;
|
|
1884
|
+
}
|
|
1885
|
+
//#endregion
|
|
1886
|
+
//#region src/localization/localizable-text.d.ts
|
|
1887
|
+
declare class LocalizableText implements JSONSerializable {
|
|
1888
|
+
values: {
|
|
1889
|
+
[lang: string]: string;
|
|
1890
|
+
};
|
|
1891
|
+
constructor(LocalizableTexts: {
|
|
1892
|
+
[lang: string]: string;
|
|
1893
|
+
});
|
|
1894
|
+
getLocalized(lang: string): string | null;
|
|
1895
|
+
toJSON(): any;
|
|
1896
|
+
}
|
|
1897
|
+
//#endregion
|
|
1898
|
+
//#region src/operation/async-operation.d.ts
|
|
1899
|
+
interface AsyncOperation<Input, Output, Options = undefined> {
|
|
1900
|
+
execute(input: Input, options?: Options): Promise<Output>;
|
|
1901
|
+
}
|
|
1902
|
+
//#endregion
|
|
1903
|
+
//#region src/operation/operation.d.ts
|
|
1904
|
+
interface Operation<Input, Output, Options = undefined> {
|
|
1905
|
+
execute(input: Input, options?: Options): Output;
|
|
1906
|
+
}
|
|
1907
|
+
//#endregion
|
|
1908
|
+
//#region src/security/hash.d.ts
|
|
1909
|
+
/**
|
|
1910
|
+
* Generates a hash for a given input string.
|
|
1911
|
+
*
|
|
1912
|
+
* @param input - The input string to hash.
|
|
1913
|
+
* @param salt - The number of salt rounds to use. Default is 10.
|
|
1914
|
+
* @returns A promise that resolves to the hashed string.
|
|
1915
|
+
*/
|
|
1916
|
+
declare function makeHash(input: string, salt?: number): Promise<string>;
|
|
1917
|
+
/**
|
|
1918
|
+
* Compares a candidate string with a hashed string.
|
|
1919
|
+
*
|
|
1920
|
+
* @param candidate - The candidate string to compare.
|
|
1921
|
+
* @param hashed - The hashed string to compare against.
|
|
1922
|
+
* @returns A promise that resolves to a boolean indicating if the candidate matches the hash.
|
|
1923
|
+
*/
|
|
1924
|
+
declare function compareHash(candidate: string, hashed: string): Promise<boolean>;
|
|
1925
|
+
//#endregion
|
|
1926
|
+
//#region src/validation/validation-schema-i18n-params.d.ts
|
|
1927
|
+
type ValidationSchemaI18nParams = {
|
|
1928
|
+
i18n: {
|
|
1929
|
+
key: string;
|
|
1930
|
+
values?: Record<string, unknown>;
|
|
1931
|
+
};
|
|
1932
|
+
};
|
|
1933
|
+
//#endregion
|
|
1934
|
+
//#region src/validation/validation-schemas.d.ts
|
|
1935
|
+
declare const UUIDSchema: z.ZodUUID;
|
|
1936
|
+
declare const DateTimeSchema: z.ZodPipe<z.ZodISODateTime, z.ZodTransform<DateTime, string>>;
|
|
1937
|
+
declare const ObjectIdSchema: z.ZodPipe<z.ZodString, z.ZodTransform<ObjectId, string>>;
|
|
1938
|
+
type UUIDDto = z.input<typeof UUIDSchema>;
|
|
1939
|
+
type DateTimeDto = z.input<typeof DateTimeSchema>;
|
|
1940
|
+
type ObjectIdDto = z.input<typeof ObjectIdSchema>;
|
|
1941
|
+
declare const LongitudeSchema: z.ZodNumber;
|
|
1942
|
+
declare const LatitudeSchema: z.ZodNumber;
|
|
1943
|
+
type LongitudeDto = z.input<typeof LongitudeSchema>;
|
|
1944
|
+
type LatitudeDto = z.input<typeof LatitudeSchema>;
|
|
1945
|
+
declare const CoordinatesSchema: z.ZodPipe<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, z.ZodTransform<Coordinates, [number, number]>>;
|
|
1946
|
+
type CoordinatesDto = z.input<typeof CoordinatesSchema>;
|
|
1947
|
+
declare const BBoxSchema: z.ZodUnion<readonly [z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>]>;
|
|
1948
|
+
type BBoxDto = z.input<typeof BBoxSchema>;
|
|
1949
|
+
declare const PointGeometrySchema: z.ZodPipe<z.ZodObject<{
|
|
1950
|
+
type: z.ZodLiteral<"Point">;
|
|
1951
|
+
coordinates: z.ZodPipe<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, z.ZodTransform<Coordinates, [number, number]>>;
|
|
1952
|
+
bbox: z.ZodOptional<z.ZodUnion<readonly [z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>]>>;
|
|
1953
|
+
}, z.core.$strip>, z.ZodTransform<Point, {
|
|
1954
|
+
type: "Point";
|
|
1955
|
+
coordinates: Coordinates;
|
|
1956
|
+
bbox?: [number, number, number, number] | [number, number, number, number, number, number] | undefined;
|
|
1957
|
+
}>>;
|
|
1958
|
+
type PointGeometryDto = z.input<typeof PointGeometrySchema>;
|
|
1959
|
+
declare const MultiPointGeometrySchema: z.ZodPipe<z.ZodObject<{
|
|
1960
|
+
type: z.ZodLiteral<"MultiPoint">;
|
|
1961
|
+
coordinates: z.ZodArray<z.ZodPipe<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, z.ZodTransform<Coordinates, [number, number]>>>;
|
|
1962
|
+
bbox: z.ZodOptional<z.ZodUnion<readonly [z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>]>>;
|
|
1963
|
+
}, z.core.$strip>, z.ZodTransform<MultiPoint, {
|
|
1964
|
+
type: "MultiPoint";
|
|
1965
|
+
coordinates: Coordinates[];
|
|
1966
|
+
bbox?: [number, number, number, number] | [number, number, number, number, number, number] | undefined;
|
|
1967
|
+
}>>;
|
|
1968
|
+
type MultiPointGeometryDto = z.input<typeof MultiPointGeometrySchema>;
|
|
1969
|
+
declare const LineStringGeometrySchema: z.ZodPipe<z.ZodObject<{
|
|
1970
|
+
type: z.ZodLiteral<"LineString">;
|
|
1971
|
+
coordinates: z.ZodArray<z.ZodPipe<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, z.ZodTransform<Coordinates, [number, number]>>>;
|
|
1972
|
+
bbox: z.ZodOptional<z.ZodUnion<readonly [z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>]>>;
|
|
1973
|
+
}, z.core.$strip>, z.ZodTransform<LineString, {
|
|
1974
|
+
type: "LineString";
|
|
1975
|
+
coordinates: Coordinates[];
|
|
1976
|
+
bbox?: [number, number, number, number] | [number, number, number, number, number, number] | undefined;
|
|
1977
|
+
}>>;
|
|
1978
|
+
type LineStringGeometryDto = z.input<typeof LineStringGeometrySchema>;
|
|
1979
|
+
declare const MultiLineStringGeometrySchema: z.ZodPipe<z.ZodObject<{
|
|
1980
|
+
type: z.ZodLiteral<"MultiLineString">;
|
|
1981
|
+
coordinates: z.ZodArray<z.ZodArray<z.ZodPipe<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, z.ZodTransform<Coordinates, [number, number]>>>>;
|
|
1982
|
+
bbox: z.ZodOptional<z.ZodUnion<readonly [z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>]>>;
|
|
1983
|
+
}, z.core.$strip>, z.ZodTransform<MultiLineString, {
|
|
1984
|
+
type: "MultiLineString";
|
|
1985
|
+
coordinates: Coordinates[][];
|
|
1986
|
+
bbox?: [number, number, number, number] | [number, number, number, number, number, number] | undefined;
|
|
1987
|
+
}>>;
|
|
1988
|
+
type MultiLineStringGeometryDto = z.input<typeof MultiLineStringGeometrySchema>;
|
|
1989
|
+
declare const PolygonGeometrySchema: z.ZodPipe<z.ZodObject<{
|
|
1990
|
+
type: z.ZodLiteral<"Polygon">;
|
|
1991
|
+
coordinates: z.ZodArray<z.ZodArray<z.ZodPipe<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, z.ZodTransform<Coordinates, [number, number]>>>>;
|
|
1992
|
+
bbox: z.ZodOptional<z.ZodUnion<readonly [z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>]>>;
|
|
1993
|
+
}, z.core.$strip>, z.ZodTransform<Polygon, {
|
|
1994
|
+
type: "Polygon";
|
|
1995
|
+
coordinates: Coordinates[][];
|
|
1996
|
+
bbox?: [number, number, number, number] | [number, number, number, number, number, number] | undefined;
|
|
1997
|
+
}>>;
|
|
1998
|
+
type PolygonGeometryDto = z.input<typeof PolygonGeometrySchema>;
|
|
1999
|
+
declare const MultiPolygonGeometrySchema: z.ZodPipe<z.ZodObject<{
|
|
2000
|
+
type: z.ZodLiteral<"MultiPolygon">;
|
|
2001
|
+
coordinates: z.ZodArray<z.ZodArray<z.ZodArray<z.ZodPipe<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, z.ZodTransform<Coordinates, [number, number]>>>>>;
|
|
2002
|
+
bbox: z.ZodOptional<z.ZodUnion<readonly [z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>]>>;
|
|
2003
|
+
}, z.core.$strip>, z.ZodTransform<MultiPolygon, {
|
|
2004
|
+
type: "MultiPolygon";
|
|
2005
|
+
coordinates: Coordinates[][][];
|
|
2006
|
+
bbox?: [number, number, number, number] | [number, number, number, number, number, number] | undefined;
|
|
2007
|
+
}>>;
|
|
2008
|
+
type MultiPolygonGeometryDto = z.input<typeof MultiPolygonGeometrySchema>;
|
|
2009
|
+
declare const GeometrySchema: z.ZodUnion<readonly [z.ZodPipe<z.ZodObject<{
|
|
2010
|
+
type: z.ZodLiteral<"Point">;
|
|
2011
|
+
coordinates: z.ZodPipe<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, z.ZodTransform<Coordinates, [number, number]>>;
|
|
2012
|
+
bbox: z.ZodOptional<z.ZodUnion<readonly [z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>]>>;
|
|
2013
|
+
}, z.core.$strip>, z.ZodTransform<Point, {
|
|
2014
|
+
type: "Point";
|
|
2015
|
+
coordinates: Coordinates;
|
|
2016
|
+
bbox?: [number, number, number, number] | [number, number, number, number, number, number] | undefined;
|
|
2017
|
+
}>>, z.ZodPipe<z.ZodObject<{
|
|
2018
|
+
type: z.ZodLiteral<"MultiPoint">;
|
|
2019
|
+
coordinates: z.ZodArray<z.ZodPipe<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, z.ZodTransform<Coordinates, [number, number]>>>;
|
|
2020
|
+
bbox: z.ZodOptional<z.ZodUnion<readonly [z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>]>>;
|
|
2021
|
+
}, z.core.$strip>, z.ZodTransform<MultiPoint, {
|
|
2022
|
+
type: "MultiPoint";
|
|
2023
|
+
coordinates: Coordinates[];
|
|
2024
|
+
bbox?: [number, number, number, number] | [number, number, number, number, number, number] | undefined;
|
|
2025
|
+
}>>, z.ZodPipe<z.ZodObject<{
|
|
2026
|
+
type: z.ZodLiteral<"LineString">;
|
|
2027
|
+
coordinates: z.ZodArray<z.ZodPipe<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, z.ZodTransform<Coordinates, [number, number]>>>;
|
|
2028
|
+
bbox: z.ZodOptional<z.ZodUnion<readonly [z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>]>>;
|
|
2029
|
+
}, z.core.$strip>, z.ZodTransform<LineString, {
|
|
2030
|
+
type: "LineString";
|
|
2031
|
+
coordinates: Coordinates[];
|
|
2032
|
+
bbox?: [number, number, number, number] | [number, number, number, number, number, number] | undefined;
|
|
2033
|
+
}>>, z.ZodPipe<z.ZodObject<{
|
|
2034
|
+
type: z.ZodLiteral<"MultiLineString">;
|
|
2035
|
+
coordinates: z.ZodArray<z.ZodArray<z.ZodPipe<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, z.ZodTransform<Coordinates, [number, number]>>>>;
|
|
2036
|
+
bbox: z.ZodOptional<z.ZodUnion<readonly [z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>]>>;
|
|
2037
|
+
}, z.core.$strip>, z.ZodTransform<MultiLineString, {
|
|
2038
|
+
type: "MultiLineString";
|
|
2039
|
+
coordinates: Coordinates[][];
|
|
2040
|
+
bbox?: [number, number, number, number] | [number, number, number, number, number, number] | undefined;
|
|
2041
|
+
}>>, z.ZodPipe<z.ZodObject<{
|
|
2042
|
+
type: z.ZodLiteral<"Polygon">;
|
|
2043
|
+
coordinates: z.ZodArray<z.ZodArray<z.ZodPipe<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, z.ZodTransform<Coordinates, [number, number]>>>>;
|
|
2044
|
+
bbox: z.ZodOptional<z.ZodUnion<readonly [z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>]>>;
|
|
2045
|
+
}, z.core.$strip>, z.ZodTransform<Polygon, {
|
|
2046
|
+
type: "Polygon";
|
|
2047
|
+
coordinates: Coordinates[][];
|
|
2048
|
+
bbox?: [number, number, number, number] | [number, number, number, number, number, number] | undefined;
|
|
2049
|
+
}>>, z.ZodPipe<z.ZodObject<{
|
|
2050
|
+
type: z.ZodLiteral<"MultiPolygon">;
|
|
2051
|
+
coordinates: z.ZodArray<z.ZodArray<z.ZodArray<z.ZodPipe<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, z.ZodTransform<Coordinates, [number, number]>>>>>;
|
|
2052
|
+
bbox: z.ZodOptional<z.ZodUnion<readonly [z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>]>>;
|
|
2053
|
+
}, z.core.$strip>, z.ZodTransform<MultiPolygon, {
|
|
2054
|
+
type: "MultiPolygon";
|
|
2055
|
+
coordinates: Coordinates[][][];
|
|
2056
|
+
bbox?: [number, number, number, number] | [number, number, number, number, number, number] | undefined;
|
|
2057
|
+
}>>]>;
|
|
2058
|
+
type GeometryDto = z.input<typeof GeometrySchema>;
|
|
2059
|
+
declare const OpeningHourIntervalSchema: z.ZodObject<{
|
|
2060
|
+
open: z.ZodString;
|
|
2061
|
+
close: z.ZodString;
|
|
2062
|
+
}, z.core.$strip>;
|
|
2063
|
+
declare const OpeningHourSchema: z.ZodPipe<z.ZodObject<{
|
|
2064
|
+
day: z.ZodNumber;
|
|
2065
|
+
intervals: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
2066
|
+
open: z.ZodString;
|
|
2067
|
+
close: z.ZodString;
|
|
2068
|
+
}, z.core.$strip>>>;
|
|
2069
|
+
}, z.core.$strip>, z.ZodTransform<OpeningHour, {
|
|
2070
|
+
day: number;
|
|
2071
|
+
intervals: {
|
|
2072
|
+
open: string;
|
|
2073
|
+
close: string;
|
|
2074
|
+
}[];
|
|
2075
|
+
}>>;
|
|
2076
|
+
declare const OpeningHoursSchema: z.ZodArray<z.ZodPipe<z.ZodObject<{
|
|
2077
|
+
day: z.ZodNumber;
|
|
2078
|
+
intervals: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
2079
|
+
open: z.ZodString;
|
|
2080
|
+
close: z.ZodString;
|
|
2081
|
+
}, z.core.$strip>>>;
|
|
2082
|
+
}, z.core.$strip>, z.ZodTransform<OpeningHour, {
|
|
2083
|
+
day: number;
|
|
2084
|
+
intervals: {
|
|
2085
|
+
open: string;
|
|
2086
|
+
close: string;
|
|
2087
|
+
}[];
|
|
2088
|
+
}>>>;
|
|
2089
|
+
type OpeningHourIntervalDto = z.input<typeof OpeningHourIntervalSchema>;
|
|
2090
|
+
type OpeningHourDto = z.input<typeof OpeningHourSchema>;
|
|
2091
|
+
type OpeningHoursDto = z.input<typeof OpeningHoursSchema>;
|
|
2092
|
+
declare const ContactsSchema: z.ZodPipe<z.ZodObject<{
|
|
2093
|
+
email: z.ZodNullable<z.ZodOptional<z.ZodEmail>>;
|
|
2094
|
+
fb: z.ZodNullable<z.ZodOptional<z.ZodString>>;
|
|
2095
|
+
ig: z.ZodNullable<z.ZodOptional<z.ZodString>>;
|
|
2096
|
+
phone: z.ZodNullable<z.ZodOptional<z.ZodString>>;
|
|
2097
|
+
web: z.ZodNullable<z.ZodOptional<z.ZodString>>;
|
|
2098
|
+
}, z.core.$strip>, z.ZodTransform<Contacts, {
|
|
2099
|
+
email?: string | null | undefined;
|
|
2100
|
+
fb?: string | null | undefined;
|
|
2101
|
+
ig?: string | null | undefined;
|
|
2102
|
+
phone?: string | null | undefined;
|
|
2103
|
+
web?: string | null | undefined;
|
|
2104
|
+
}>>;
|
|
2105
|
+
type ContactsDto = z.input<typeof ContactsSchema>;
|
|
2106
|
+
declare const AddressSchema: z.ZodPipe<z.ZodObject<{
|
|
2107
|
+
streetLine1: z.ZodString;
|
|
2108
|
+
streetLine2: z.ZodNullable<z.ZodOptional<z.ZodString>>;
|
|
2109
|
+
postalCode: z.ZodNullable<z.ZodOptional<z.ZodString>>;
|
|
2110
|
+
city: z.ZodNullable<z.ZodOptional<z.ZodString>>;
|
|
2111
|
+
state: z.ZodNullable<z.ZodOptional<z.ZodString>>;
|
|
2112
|
+
country: z.ZodString;
|
|
2113
|
+
countryCode: z.ZodNullable<z.ZodOptional<z.ZodString>>;
|
|
2114
|
+
}, z.core.$strip>, z.ZodTransform<Address, {
|
|
2115
|
+
streetLine1: string;
|
|
2116
|
+
country: string;
|
|
2117
|
+
streetLine2?: string | null | undefined;
|
|
2118
|
+
postalCode?: string | null | undefined;
|
|
2119
|
+
city?: string | null | undefined;
|
|
2120
|
+
state?: string | null | undefined;
|
|
2121
|
+
countryCode?: string | null | undefined;
|
|
2122
|
+
}>>;
|
|
2123
|
+
type AddressDto = z.input<typeof AddressSchema>;
|
|
2124
|
+
declare const ValidationSchemas: {
|
|
2125
|
+
UUID: z.ZodUUID;
|
|
2126
|
+
DateTime: z.ZodPipe<z.ZodISODateTime, z.ZodTransform<DateTime, string>>;
|
|
2127
|
+
ObjectId: z.ZodPipe<z.ZodString, z.ZodTransform<ObjectId, string>>;
|
|
2128
|
+
Longitude: z.ZodNumber;
|
|
2129
|
+
Latitude: z.ZodNumber;
|
|
2130
|
+
Coordinates: z.ZodPipe<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, z.ZodTransform<Coordinates, [number, number]>>;
|
|
2131
|
+
BBox: z.ZodUnion<readonly [z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>]>;
|
|
2132
|
+
PointGeometry: z.ZodPipe<z.ZodObject<{
|
|
2133
|
+
type: z.ZodLiteral<"Point">;
|
|
2134
|
+
coordinates: z.ZodPipe<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, z.ZodTransform<Coordinates, [number, number]>>;
|
|
2135
|
+
bbox: z.ZodOptional<z.ZodUnion<readonly [z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>]>>;
|
|
2136
|
+
}, z.core.$strip>, z.ZodTransform<Point, {
|
|
2137
|
+
type: "Point";
|
|
2138
|
+
coordinates: Coordinates;
|
|
2139
|
+
bbox?: [number, number, number, number] | [number, number, number, number, number, number] | undefined;
|
|
2140
|
+
}>>;
|
|
2141
|
+
MultiPointGeometry: z.ZodPipe<z.ZodObject<{
|
|
2142
|
+
type: z.ZodLiteral<"MultiPoint">;
|
|
2143
|
+
coordinates: z.ZodArray<z.ZodPipe<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, z.ZodTransform<Coordinates, [number, number]>>>;
|
|
2144
|
+
bbox: z.ZodOptional<z.ZodUnion<readonly [z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>]>>;
|
|
2145
|
+
}, z.core.$strip>, z.ZodTransform<MultiPoint, {
|
|
2146
|
+
type: "MultiPoint";
|
|
2147
|
+
coordinates: Coordinates[];
|
|
2148
|
+
bbox?: [number, number, number, number] | [number, number, number, number, number, number] | undefined;
|
|
2149
|
+
}>>;
|
|
2150
|
+
LineStringGeometry: z.ZodPipe<z.ZodObject<{
|
|
2151
|
+
type: z.ZodLiteral<"LineString">;
|
|
2152
|
+
coordinates: z.ZodArray<z.ZodPipe<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, z.ZodTransform<Coordinates, [number, number]>>>;
|
|
2153
|
+
bbox: z.ZodOptional<z.ZodUnion<readonly [z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>]>>;
|
|
2154
|
+
}, z.core.$strip>, z.ZodTransform<LineString, {
|
|
2155
|
+
type: "LineString";
|
|
2156
|
+
coordinates: Coordinates[];
|
|
2157
|
+
bbox?: [number, number, number, number] | [number, number, number, number, number, number] | undefined;
|
|
2158
|
+
}>>;
|
|
2159
|
+
MultiLineStringGeometry: z.ZodPipe<z.ZodObject<{
|
|
2160
|
+
type: z.ZodLiteral<"MultiLineString">;
|
|
2161
|
+
coordinates: z.ZodArray<z.ZodArray<z.ZodPipe<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, z.ZodTransform<Coordinates, [number, number]>>>>;
|
|
2162
|
+
bbox: z.ZodOptional<z.ZodUnion<readonly [z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>]>>;
|
|
2163
|
+
}, z.core.$strip>, z.ZodTransform<MultiLineString, {
|
|
2164
|
+
type: "MultiLineString";
|
|
2165
|
+
coordinates: Coordinates[][];
|
|
2166
|
+
bbox?: [number, number, number, number] | [number, number, number, number, number, number] | undefined;
|
|
2167
|
+
}>>;
|
|
2168
|
+
PolygonGeometry: z.ZodPipe<z.ZodObject<{
|
|
2169
|
+
type: z.ZodLiteral<"Polygon">;
|
|
2170
|
+
coordinates: z.ZodArray<z.ZodArray<z.ZodPipe<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, z.ZodTransform<Coordinates, [number, number]>>>>;
|
|
2171
|
+
bbox: z.ZodOptional<z.ZodUnion<readonly [z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>]>>;
|
|
2172
|
+
}, z.core.$strip>, z.ZodTransform<Polygon, {
|
|
2173
|
+
type: "Polygon";
|
|
2174
|
+
coordinates: Coordinates[][];
|
|
2175
|
+
bbox?: [number, number, number, number] | [number, number, number, number, number, number] | undefined;
|
|
2176
|
+
}>>;
|
|
2177
|
+
MultiPolygonGeometry: z.ZodPipe<z.ZodObject<{
|
|
2178
|
+
type: z.ZodLiteral<"MultiPolygon">;
|
|
2179
|
+
coordinates: z.ZodArray<z.ZodArray<z.ZodArray<z.ZodPipe<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, z.ZodTransform<Coordinates, [number, number]>>>>>;
|
|
2180
|
+
bbox: z.ZodOptional<z.ZodUnion<readonly [z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>]>>;
|
|
2181
|
+
}, z.core.$strip>, z.ZodTransform<MultiPolygon, {
|
|
2182
|
+
type: "MultiPolygon";
|
|
2183
|
+
coordinates: Coordinates[][][];
|
|
2184
|
+
bbox?: [number, number, number, number] | [number, number, number, number, number, number] | undefined;
|
|
2185
|
+
}>>;
|
|
2186
|
+
Geometry: z.ZodUnion<readonly [z.ZodPipe<z.ZodObject<{
|
|
2187
|
+
type: z.ZodLiteral<"Point">;
|
|
2188
|
+
coordinates: z.ZodPipe<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, z.ZodTransform<Coordinates, [number, number]>>;
|
|
2189
|
+
bbox: z.ZodOptional<z.ZodUnion<readonly [z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>]>>;
|
|
2190
|
+
}, z.core.$strip>, z.ZodTransform<Point, {
|
|
2191
|
+
type: "Point";
|
|
2192
|
+
coordinates: Coordinates;
|
|
2193
|
+
bbox?: [number, number, number, number] | [number, number, number, number, number, number] | undefined;
|
|
2194
|
+
}>>, z.ZodPipe<z.ZodObject<{
|
|
2195
|
+
type: z.ZodLiteral<"MultiPoint">;
|
|
2196
|
+
coordinates: z.ZodArray<z.ZodPipe<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, z.ZodTransform<Coordinates, [number, number]>>>;
|
|
2197
|
+
bbox: z.ZodOptional<z.ZodUnion<readonly [z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>]>>;
|
|
2198
|
+
}, z.core.$strip>, z.ZodTransform<MultiPoint, {
|
|
2199
|
+
type: "MultiPoint";
|
|
2200
|
+
coordinates: Coordinates[];
|
|
2201
|
+
bbox?: [number, number, number, number] | [number, number, number, number, number, number] | undefined;
|
|
2202
|
+
}>>, z.ZodPipe<z.ZodObject<{
|
|
2203
|
+
type: z.ZodLiteral<"LineString">;
|
|
2204
|
+
coordinates: z.ZodArray<z.ZodPipe<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, z.ZodTransform<Coordinates, [number, number]>>>;
|
|
2205
|
+
bbox: z.ZodOptional<z.ZodUnion<readonly [z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>]>>;
|
|
2206
|
+
}, z.core.$strip>, z.ZodTransform<LineString, {
|
|
2207
|
+
type: "LineString";
|
|
2208
|
+
coordinates: Coordinates[];
|
|
2209
|
+
bbox?: [number, number, number, number] | [number, number, number, number, number, number] | undefined;
|
|
2210
|
+
}>>, z.ZodPipe<z.ZodObject<{
|
|
2211
|
+
type: z.ZodLiteral<"MultiLineString">;
|
|
2212
|
+
coordinates: z.ZodArray<z.ZodArray<z.ZodPipe<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, z.ZodTransform<Coordinates, [number, number]>>>>;
|
|
2213
|
+
bbox: z.ZodOptional<z.ZodUnion<readonly [z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>]>>;
|
|
2214
|
+
}, z.core.$strip>, z.ZodTransform<MultiLineString, {
|
|
2215
|
+
type: "MultiLineString";
|
|
2216
|
+
coordinates: Coordinates[][];
|
|
2217
|
+
bbox?: [number, number, number, number] | [number, number, number, number, number, number] | undefined;
|
|
2218
|
+
}>>, z.ZodPipe<z.ZodObject<{
|
|
2219
|
+
type: z.ZodLiteral<"Polygon">;
|
|
2220
|
+
coordinates: z.ZodArray<z.ZodArray<z.ZodPipe<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, z.ZodTransform<Coordinates, [number, number]>>>>;
|
|
2221
|
+
bbox: z.ZodOptional<z.ZodUnion<readonly [z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>]>>;
|
|
2222
|
+
}, z.core.$strip>, z.ZodTransform<Polygon, {
|
|
2223
|
+
type: "Polygon";
|
|
2224
|
+
coordinates: Coordinates[][];
|
|
2225
|
+
bbox?: [number, number, number, number] | [number, number, number, number, number, number] | undefined;
|
|
2226
|
+
}>>, z.ZodPipe<z.ZodObject<{
|
|
2227
|
+
type: z.ZodLiteral<"MultiPolygon">;
|
|
2228
|
+
coordinates: z.ZodArray<z.ZodArray<z.ZodArray<z.ZodPipe<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, z.ZodTransform<Coordinates, [number, number]>>>>>;
|
|
2229
|
+
bbox: z.ZodOptional<z.ZodUnion<readonly [z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>]>>;
|
|
2230
|
+
}, z.core.$strip>, z.ZodTransform<MultiPolygon, {
|
|
2231
|
+
type: "MultiPolygon";
|
|
2232
|
+
coordinates: Coordinates[][][];
|
|
2233
|
+
bbox?: [number, number, number, number] | [number, number, number, number, number, number] | undefined;
|
|
2234
|
+
}>>]>;
|
|
2235
|
+
OpeningHour: z.ZodPipe<z.ZodObject<{
|
|
2236
|
+
day: z.ZodNumber;
|
|
2237
|
+
intervals: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
2238
|
+
open: z.ZodString;
|
|
2239
|
+
close: z.ZodString;
|
|
2240
|
+
}, z.core.$strip>>>;
|
|
2241
|
+
}, z.core.$strip>, z.ZodTransform<OpeningHour, {
|
|
2242
|
+
day: number;
|
|
2243
|
+
intervals: {
|
|
2244
|
+
open: string;
|
|
2245
|
+
close: string;
|
|
2246
|
+
}[];
|
|
2247
|
+
}>>;
|
|
2248
|
+
OpeningHours: z.ZodArray<z.ZodPipe<z.ZodObject<{
|
|
2249
|
+
day: z.ZodNumber;
|
|
2250
|
+
intervals: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
2251
|
+
open: z.ZodString;
|
|
2252
|
+
close: z.ZodString;
|
|
2253
|
+
}, z.core.$strip>>>;
|
|
2254
|
+
}, z.core.$strip>, z.ZodTransform<OpeningHour, {
|
|
2255
|
+
day: number;
|
|
2256
|
+
intervals: {
|
|
2257
|
+
open: string;
|
|
2258
|
+
close: string;
|
|
2259
|
+
}[];
|
|
2260
|
+
}>>>;
|
|
2261
|
+
Contacts: z.ZodPipe<z.ZodObject<{
|
|
2262
|
+
email: z.ZodNullable<z.ZodOptional<z.ZodEmail>>;
|
|
2263
|
+
fb: z.ZodNullable<z.ZodOptional<z.ZodString>>;
|
|
2264
|
+
ig: z.ZodNullable<z.ZodOptional<z.ZodString>>;
|
|
2265
|
+
phone: z.ZodNullable<z.ZodOptional<z.ZodString>>;
|
|
2266
|
+
web: z.ZodNullable<z.ZodOptional<z.ZodString>>;
|
|
2267
|
+
}, z.core.$strip>, z.ZodTransform<Contacts, {
|
|
2268
|
+
email?: string | null | undefined;
|
|
2269
|
+
fb?: string | null | undefined;
|
|
2270
|
+
ig?: string | null | undefined;
|
|
2271
|
+
phone?: string | null | undefined;
|
|
2272
|
+
web?: string | null | undefined;
|
|
2273
|
+
}>>;
|
|
2274
|
+
Address: z.ZodPipe<z.ZodObject<{
|
|
2275
|
+
streetLine1: z.ZodString;
|
|
2276
|
+
streetLine2: z.ZodNullable<z.ZodOptional<z.ZodString>>;
|
|
2277
|
+
postalCode: z.ZodNullable<z.ZodOptional<z.ZodString>>;
|
|
2278
|
+
city: z.ZodNullable<z.ZodOptional<z.ZodString>>;
|
|
2279
|
+
state: z.ZodNullable<z.ZodOptional<z.ZodString>>;
|
|
2280
|
+
country: z.ZodString;
|
|
2281
|
+
countryCode: z.ZodNullable<z.ZodOptional<z.ZodString>>;
|
|
2282
|
+
}, z.core.$strip>, z.ZodTransform<Address, {
|
|
2283
|
+
streetLine1: string;
|
|
2284
|
+
country: string;
|
|
2285
|
+
streetLine2?: string | null | undefined;
|
|
2286
|
+
postalCode?: string | null | undefined;
|
|
2287
|
+
city?: string | null | undefined;
|
|
2288
|
+
state?: string | null | undefined;
|
|
2289
|
+
countryCode?: string | null | undefined;
|
|
2290
|
+
}>>;
|
|
2291
|
+
};
|
|
2292
|
+
//#endregion
|
|
2293
|
+
//#region src/index.d.ts
|
|
2294
|
+
declare function coreAssembly(): Assembly[];
|
|
2295
|
+
//#endregion
|
|
2296
|
+
export { Address, AddressDto, Assembly, AssemblyContainer, AsyncConverter, AsyncOperation, Awaitable, BBox, BBoxDto, ByteUnit, CanceledError, Contacts, ContactsDto, type Container, ConversionError, Converter, Coordinates, CoordinatesDto, CoreL10n, CoreL10nResource, CoreSymbols, DateFormat, DateTime, DateTimeDto, DeepPartial, DeepRequired, DeviceType, DistanceUnit, type E_ALREADY_LOCKED, type E_CANCELED, type E_TIMEOUT, Empty, Equatable, FormatBytesOptions, FormattedBytes, GeoJsonObject, GeoJsonType, GeoJsonTypes, Geometry, GeometryDto, Hashable, Identity, JSONObject, JSONPrimitive, JSONSerializable, JSONValue, L10nResource, L10nResources, LatitudeDto, LineString, LineStringGeometryDto, LocalizableText, LongitudeDto, MultiLineString, MultiLineStringGeometryDto, MultiPoint, MultiPointGeometryDto, MultiPolygon, MultiPolygonGeometryDto, Mutex, type MutexInterface, NetworkError, NonUndefined, OSType, ObjectFilterOptions, ObjectId, ObjectIdDto, OpeningHour, OpeningHourDto, OpeningHourInterval, OpeningHourIntervalDto, OpeningHoursDto, Operation, Optional, OptionalPartial, OptionalValue, Point, PointGeometryDto, Polygon, PolygonGeometryDto, Primitive, PushNotificationStatus, Query, ScopeController, Semaphore, type SemaphoreInterface, TimeInterval, TimeoutError, UUIDDto, UnitFormatterController, UnitFormatterControllerImpl, UnknownError, ValidationSchemaI18nParams, ValidationSchemas, WeightUnit, ZonedDateTime, capitalized, compareHash, coreAssembly, defineL10n, defineL10nResource, delay, emptyOrUndefinedStringToNull, filterObject, ignoreError, ignoreErrorAsync, ignoreErrorOptionalAsync, isDefined, isDefinedAndNotNull, isEmptyObject, isError, isJSONPrimitive, isJSONSerializable, isNonEmptyObject, isNonEmptyString, isNotNull, isNullOrEmpty, isObject, isPlainObject, isPrimitive, makeHash, mapToEnum, optional, tryAcquire, withTimeout };
|