@holoscript/std 2.1.0 → 3.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +197 -0
- package/dist/__tests__/EconomicPrimitives.test.d.ts.map +1 -0
- package/dist/__tests__/EconomicTraits.test.d.ts.map +1 -0
- package/dist/__tests__/SimulationLabPrimitives.test.d.ts.map +1 -0
- package/dist/__tests__/Sprint33.test.d.ts.map +1 -0
- package/dist/__tests__/Sprint56.test.d.ts.map +1 -0
- package/dist/__tests__/collections.test.d.ts.map +1 -0
- package/dist/__tests__/events.test.d.ts.map +1 -0
- package/dist/__tests__/materials.test.d.ts.map +1 -0
- package/dist/__tests__/math.test.d.ts.map +1 -0
- package/dist/__tests__/physics.test.d.ts.map +1 -0
- package/dist/__tests__/spatial.test.d.ts.map +1 -0
- package/dist/__tests__/string-decoupled.test.d.ts.map +1 -0
- package/dist/__tests__/string.test.d.ts.map +1 -0
- package/dist/__tests__/time.test.d.ts.map +1 -0
- package/dist/collections.d.ts.map +1 -1
- package/dist/events.d.ts.map +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +42 -9
- package/dist/materials.d.ts.map +1 -0
- package/dist/math.d.ts.map +1 -1
- package/dist/physics.d.ts.map +1 -0
- package/dist/spatial.d.ts.map +1 -0
- package/dist/string.d.ts.map +1 -1
- package/dist/time.d.ts.map +1 -1
- package/dist/traits/ARTraits.d.ts.map +1 -0
- package/dist/traits/EconomicPrimitives.d.ts.map +1 -0
- package/dist/traits/EconomicTraits.d.ts.map +1 -0
- package/dist/traits/IoTTraits.d.ts.map +1 -0
- package/dist/traits/SimulationLabPrimitives.d.ts.map +1 -0
- package/dist/traits/SimulationLabTraits.d.ts.map +1 -0
- package/dist/traits/VRRTraits.d.ts.map +1 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +17 -6
- package/src/__tests__/EconomicPrimitives.test.ts +690 -0
- package/src/__tests__/EconomicTraits.test.ts +425 -0
- package/src/__tests__/SimulationLabPrimitives.test.ts +415 -0
- package/src/__tests__/Sprint33.test.ts +1301 -0
- package/src/__tests__/Sprint56.test.ts +1070 -0
- package/src/__tests__/collections.test.ts +182 -0
- package/src/__tests__/events.test.ts +135 -0
- package/src/__tests__/materials.test.ts +84 -0
- package/src/__tests__/math.test.ts +246 -0
- package/src/__tests__/physics.test.ts +83 -0
- package/src/__tests__/spatial.test.ts +333 -0
- package/src/__tests__/string-decoupled.test.ts +16 -0
- package/src/__tests__/string.test.ts +164 -0
- package/src/__tests__/time.test.ts +110 -0
- package/src/collections.ts +8 -2
- package/src/events.ts +88 -0
- package/src/index.ts +161 -11
- package/src/materials.ts +109 -0
- package/src/math.ts +30 -14
- package/src/physics.ts +141 -0
- package/src/spatial.ts +320 -0
- package/src/string.basic.test.ts +14 -0
- package/src/string.test.ts +335 -0
- package/src/string.ts +19 -2
- package/src/time.ts +9 -10
- package/src/traits/ARTraits.ts +103 -0
- package/src/traits/EconomicPrimitives.ts +755 -0
- package/src/traits/EconomicTraits.ts +552 -0
- package/src/traits/IoTTraits.ts +102 -0
- package/src/traits/SimulationLabPrimitives.ts +650 -0
- package/src/traits/SimulationLabTraits.ts +191 -0
- package/src/traits/VRRTraits.ts +326 -0
- package/src/types.ts +47 -12
- package/vitest.config.ts +10 -0
- package/dist/collections.d.ts +0 -177
- package/dist/collections.js +0 -720
- package/dist/collections.js.map +0 -1
- package/dist/index.d.ts +0 -89
- package/dist/index.js.map +0 -1
- package/dist/math.d.ts +0 -162
- package/dist/math.js +0 -539
- package/dist/math.js.map +0 -1
- package/dist/string.d.ts +0 -208
- package/dist/string.js +0 -443
- package/dist/string.js.map +0 -1
- package/dist/time.d.ts +0 -215
- package/dist/time.js +0 -530
- package/dist/time.js.map +0 -1
- package/dist/types.d.ts +0 -193
- package/dist/types.js +0 -198
- package/dist/types.js.map +0 -1
package/dist/time.d.ts
DELETED
|
@@ -1,215 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @holoscript/std - Time Module
|
|
3
|
-
*
|
|
4
|
-
* Time, timer, and scheduling utilities for HoloScript Plus programs.
|
|
5
|
-
*/
|
|
6
|
-
/**
|
|
7
|
-
* Get current timestamp in milliseconds
|
|
8
|
-
*/
|
|
9
|
-
export declare function now(): number;
|
|
10
|
-
/**
|
|
11
|
-
* Get high-resolution timestamp (for performance measurement)
|
|
12
|
-
*/
|
|
13
|
-
export declare function hrTime(): number;
|
|
14
|
-
/**
|
|
15
|
-
* Sleep for a specified number of milliseconds
|
|
16
|
-
*/
|
|
17
|
-
export declare function sleep(ms: number): Promise<void>;
|
|
18
|
-
/**
|
|
19
|
-
* Wait until a condition is true
|
|
20
|
-
*/
|
|
21
|
-
export declare function waitUntil(condition: () => boolean | Promise<boolean>, options?: {
|
|
22
|
-
timeout?: number;
|
|
23
|
-
interval?: number;
|
|
24
|
-
}): Promise<void>;
|
|
25
|
-
/**
|
|
26
|
-
* Execute a function with timeout
|
|
27
|
-
*/
|
|
28
|
-
export declare function withTimeout<T>(fn: () => Promise<T>, ms: number): Promise<T>;
|
|
29
|
-
/**
|
|
30
|
-
* Retry a function with exponential backoff
|
|
31
|
-
*/
|
|
32
|
-
export declare function retry<T>(fn: () => Promise<T>, options?: {
|
|
33
|
-
maxAttempts?: number;
|
|
34
|
-
initialDelay?: number;
|
|
35
|
-
maxDelay?: number;
|
|
36
|
-
factor?: number;
|
|
37
|
-
onRetry?: (error: Error, attempt: number) => void;
|
|
38
|
-
}): Promise<T>;
|
|
39
|
-
/**
|
|
40
|
-
* Debounce a function
|
|
41
|
-
*/
|
|
42
|
-
export declare function debounce<T extends (...args: unknown[]) => unknown>(fn: T, ms: number): T;
|
|
43
|
-
/**
|
|
44
|
-
* Throttle a function
|
|
45
|
-
*/
|
|
46
|
-
export declare function throttle<T extends (...args: unknown[]) => unknown>(fn: T, ms: number): T;
|
|
47
|
-
/**
|
|
48
|
-
* Measure execution time of a function
|
|
49
|
-
*/
|
|
50
|
-
export declare function measure<T>(fn: () => T | Promise<T>): Promise<{
|
|
51
|
-
result: T;
|
|
52
|
-
duration: number;
|
|
53
|
-
}>;
|
|
54
|
-
/**
|
|
55
|
-
* Measure execution time and log it
|
|
56
|
-
*/
|
|
57
|
-
export declare function timed<T>(label: string, fn: () => T | Promise<T>): Promise<T>;
|
|
58
|
-
/**
|
|
59
|
-
* Simple stopwatch for measuring elapsed time
|
|
60
|
-
*/
|
|
61
|
-
export declare class Stopwatch {
|
|
62
|
-
private startTime;
|
|
63
|
-
private pausedTime;
|
|
64
|
-
private running;
|
|
65
|
-
start(): this;
|
|
66
|
-
stop(): number;
|
|
67
|
-
reset(): this;
|
|
68
|
-
restart(): this;
|
|
69
|
-
get elapsed(): number;
|
|
70
|
-
get isRunning(): boolean;
|
|
71
|
-
lap(): number;
|
|
72
|
-
}
|
|
73
|
-
/**
|
|
74
|
-
* Interval timer with pause/resume support
|
|
75
|
-
*/
|
|
76
|
-
export declare class IntervalTimer {
|
|
77
|
-
private intervalId;
|
|
78
|
-
private callback;
|
|
79
|
-
private intervalMs;
|
|
80
|
-
private isPaused;
|
|
81
|
-
constructor(callback: () => void, intervalMs: number);
|
|
82
|
-
start(): this;
|
|
83
|
-
stop(): this;
|
|
84
|
-
pause(): this;
|
|
85
|
-
resume(): this;
|
|
86
|
-
get running(): boolean;
|
|
87
|
-
get paused(): boolean;
|
|
88
|
-
}
|
|
89
|
-
/**
|
|
90
|
-
* Countdown timer
|
|
91
|
-
*/
|
|
92
|
-
export declare class CountdownTimer {
|
|
93
|
-
private remainingMs;
|
|
94
|
-
private startTime;
|
|
95
|
-
private running;
|
|
96
|
-
private onTick?;
|
|
97
|
-
private onComplete?;
|
|
98
|
-
private tickIntervalId;
|
|
99
|
-
constructor(durationMs: number, options?: {
|
|
100
|
-
onTick?: (remaining: number) => void;
|
|
101
|
-
onComplete?: () => void;
|
|
102
|
-
tickInterval?: number;
|
|
103
|
-
});
|
|
104
|
-
start(): this;
|
|
105
|
-
pause(): this;
|
|
106
|
-
resume(): this;
|
|
107
|
-
reset(durationMs?: number): this;
|
|
108
|
-
stop(): this;
|
|
109
|
-
get remaining(): number;
|
|
110
|
-
get isRunning(): boolean;
|
|
111
|
-
get isComplete(): boolean;
|
|
112
|
-
private scheduleCompletion;
|
|
113
|
-
}
|
|
114
|
-
/**
|
|
115
|
-
* Frame-based timer for game loops
|
|
116
|
-
*/
|
|
117
|
-
export declare class FrameTimer {
|
|
118
|
-
private lastFrameTime;
|
|
119
|
-
private deltaTime;
|
|
120
|
-
private frameCount;
|
|
121
|
-
private fps;
|
|
122
|
-
private fpsUpdateInterval;
|
|
123
|
-
private lastFpsUpdate;
|
|
124
|
-
private framesSinceLastFpsUpdate;
|
|
125
|
-
/**
|
|
126
|
-
* Call at the start of each frame
|
|
127
|
-
*/
|
|
128
|
-
update(): void;
|
|
129
|
-
/**
|
|
130
|
-
* Get delta time in seconds since last frame
|
|
131
|
-
*/
|
|
132
|
-
get delta(): number;
|
|
133
|
-
/**
|
|
134
|
-
* Get delta time in milliseconds since last frame
|
|
135
|
-
*/
|
|
136
|
-
get deltaMs(): number;
|
|
137
|
-
/**
|
|
138
|
-
* Get total frame count
|
|
139
|
-
*/
|
|
140
|
-
get frames(): number;
|
|
141
|
-
/**
|
|
142
|
-
* Get current FPS (frames per second)
|
|
143
|
-
*/
|
|
144
|
-
get currentFps(): number;
|
|
145
|
-
/**
|
|
146
|
-
* Get total elapsed time in seconds
|
|
147
|
-
*/
|
|
148
|
-
get totalTime(): number;
|
|
149
|
-
/**
|
|
150
|
-
* Reset the timer
|
|
151
|
-
*/
|
|
152
|
-
reset(): void;
|
|
153
|
-
}
|
|
154
|
-
/**
|
|
155
|
-
* Schedule a callback to run after a delay
|
|
156
|
-
*/
|
|
157
|
-
export declare function schedule(callback: () => void, delayMs: number): () => void;
|
|
158
|
-
/**
|
|
159
|
-
* Schedule a callback to run at regular intervals
|
|
160
|
-
*/
|
|
161
|
-
export declare function scheduleInterval(callback: () => void, intervalMs: number): () => void;
|
|
162
|
-
/**
|
|
163
|
-
* Schedule a callback to run on the next animation frame (browser only)
|
|
164
|
-
*/
|
|
165
|
-
export declare function scheduleFrame(callback: (timestamp: number) => void): () => void;
|
|
166
|
-
/**
|
|
167
|
-
* Create a ticker that calls a callback at a target frame rate
|
|
168
|
-
*/
|
|
169
|
-
export declare function createTicker(callback: (delta: number) => void, targetFps?: number): {
|
|
170
|
-
start: () => void;
|
|
171
|
-
stop: () => void;
|
|
172
|
-
};
|
|
173
|
-
/**
|
|
174
|
-
* Date/time formatting utilities
|
|
175
|
-
*/
|
|
176
|
-
export declare const DateTime: {
|
|
177
|
-
/**
|
|
178
|
-
* Format a date as ISO string
|
|
179
|
-
*/
|
|
180
|
-
toISO(date?: Date): string;
|
|
181
|
-
/**
|
|
182
|
-
* Format a date as local string
|
|
183
|
-
*/
|
|
184
|
-
toLocal(date?: Date): string;
|
|
185
|
-
/**
|
|
186
|
-
* Format a date using a pattern
|
|
187
|
-
* Supports: YYYY, MM, DD, HH, mm, ss, SSS
|
|
188
|
-
*/
|
|
189
|
-
format(date: Date, pattern: string): string;
|
|
190
|
-
/**
|
|
191
|
-
* Parse a date string
|
|
192
|
-
*/
|
|
193
|
-
parse(dateString: string): Date;
|
|
194
|
-
/**
|
|
195
|
-
* Get difference between two dates in various units
|
|
196
|
-
*/
|
|
197
|
-
diff(date1: Date, date2: Date, unit?: "ms" | "s" | "m" | "h" | "d"): number;
|
|
198
|
-
/**
|
|
199
|
-
* Add time to a date
|
|
200
|
-
*/
|
|
201
|
-
add(date: Date, amount: number, unit: "ms" | "s" | "m" | "h" | "d"): Date;
|
|
202
|
-
/**
|
|
203
|
-
* Check if a date is today
|
|
204
|
-
*/
|
|
205
|
-
isToday(date: Date): boolean;
|
|
206
|
-
/**
|
|
207
|
-
* Get start of day
|
|
208
|
-
*/
|
|
209
|
-
startOfDay(date?: Date): Date;
|
|
210
|
-
/**
|
|
211
|
-
* Get end of day
|
|
212
|
-
*/
|
|
213
|
-
endOfDay(date?: Date): Date;
|
|
214
|
-
};
|
|
215
|
-
//# sourceMappingURL=time.d.ts.map
|