@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/collections.d.ts
DELETED
|
@@ -1,177 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @holoscript/std - Collections Module
|
|
3
|
-
*
|
|
4
|
-
* Provides List, Map, and Set implementations with functional operations
|
|
5
|
-
* for use in HoloScript Plus programs.
|
|
6
|
-
*/
|
|
7
|
-
import type { Vec3 } from './types.js';
|
|
8
|
-
/**
|
|
9
|
-
* Immutable List with functional operations
|
|
10
|
-
*/
|
|
11
|
-
export declare class List<T> {
|
|
12
|
-
private readonly items;
|
|
13
|
-
constructor(items?: Iterable<T>);
|
|
14
|
-
static of<T>(...items: T[]): List<T>;
|
|
15
|
-
static from<T>(iterable: Iterable<T>): List<T>;
|
|
16
|
-
static range(start: number, end: number, step?: number): List<number>;
|
|
17
|
-
static repeat<T>(value: T, count: number): List<T>;
|
|
18
|
-
get length(): number;
|
|
19
|
-
get isEmpty(): boolean;
|
|
20
|
-
get(index: number): T | undefined;
|
|
21
|
-
first(): T | undefined;
|
|
22
|
-
last(): T | undefined;
|
|
23
|
-
map<U>(fn: (item: T, index: number) => U): List<U>;
|
|
24
|
-
flatMap<U>(fn: (item: T, index: number) => List<U> | U[]): List<U>;
|
|
25
|
-
filter(predicate: (item: T, index: number) => boolean): List<T>;
|
|
26
|
-
reject(predicate: (item: T, index: number) => boolean): List<T>;
|
|
27
|
-
reduce<U>(fn: (acc: U, item: T, index: number) => U, initial: U): U;
|
|
28
|
-
fold<U>(initial: U, fn: (acc: U, item: T) => U): U;
|
|
29
|
-
find(predicate: (item: T, index: number) => boolean): T | undefined;
|
|
30
|
-
findIndex(predicate: (item: T, index: number) => boolean): number;
|
|
31
|
-
indexOf(item: T): number;
|
|
32
|
-
includes(item: T): boolean;
|
|
33
|
-
some(predicate: (item: T, index: number) => boolean): boolean;
|
|
34
|
-
every(predicate: (item: T, index: number) => boolean): boolean;
|
|
35
|
-
none(predicate: (item: T, index: number) => boolean): boolean;
|
|
36
|
-
count(predicate: (item: T, index: number) => boolean): number;
|
|
37
|
-
forEach(fn: (item: T, index: number) => void): void;
|
|
38
|
-
concat(...lists: (List<T> | T[])[]): List<T>;
|
|
39
|
-
append(item: T): List<T>;
|
|
40
|
-
prepend(item: T): List<T>;
|
|
41
|
-
insert(index: number, item: T): List<T>;
|
|
42
|
-
remove(index: number): List<T>;
|
|
43
|
-
update(index: number, item: T): List<T>;
|
|
44
|
-
slice(start?: number, end?: number): List<T>;
|
|
45
|
-
take(n: number): List<T>;
|
|
46
|
-
takeLast(n: number): List<T>;
|
|
47
|
-
takeWhile(predicate: (item: T, index: number) => boolean): List<T>;
|
|
48
|
-
drop(n: number): List<T>;
|
|
49
|
-
dropLast(n: number): List<T>;
|
|
50
|
-
dropWhile(predicate: (item: T, index: number) => boolean): List<T>;
|
|
51
|
-
reverse(): List<T>;
|
|
52
|
-
sort(compareFn?: (a: T, b: T) => number): List<T>;
|
|
53
|
-
sortBy<U>(fn: (item: T) => U): List<T>;
|
|
54
|
-
shuffle(): List<T>;
|
|
55
|
-
unique(): List<T>;
|
|
56
|
-
uniqueBy<U>(fn: (item: T) => U): List<T>;
|
|
57
|
-
groupBy<K>(fn: (item: T) => K): HoloMap<K, List<T>>;
|
|
58
|
-
partition(predicate: (item: T, index: number) => boolean): [List<T>, List<T>];
|
|
59
|
-
zip<U>(other: List<U>): List<[T, U]>;
|
|
60
|
-
zipWith<U, V>(other: List<U>, fn: (a: T, b: U) => V): List<V>;
|
|
61
|
-
flatten<U>(this: List<List<U> | U[]>): List<U>;
|
|
62
|
-
sum(this: List<number>): number;
|
|
63
|
-
min(this: List<number>): number | undefined;
|
|
64
|
-
max(this: List<number>): number | undefined;
|
|
65
|
-
average(this: List<number>): number | undefined;
|
|
66
|
-
join(separator?: string): string;
|
|
67
|
-
toArray(): T[];
|
|
68
|
-
toSet(): HoloSet<T>;
|
|
69
|
-
[Symbol.iterator](): Iterator<T>;
|
|
70
|
-
toString(): string;
|
|
71
|
-
}
|
|
72
|
-
/**
|
|
73
|
-
* Immutable Map with functional operations
|
|
74
|
-
*/
|
|
75
|
-
export declare class HoloMap<K, V> {
|
|
76
|
-
private readonly _map;
|
|
77
|
-
constructor(entries?: Iterable<[K, V]> | Map<K, V>);
|
|
78
|
-
static of<K, V>(...entries: [K, V][]): HoloMap<K, V>;
|
|
79
|
-
static from<K, V>(entries: Iterable<[K, V]>): HoloMap<K, V>;
|
|
80
|
-
static fromObject<V>(obj: Record<string, V>): HoloMap<string, V>;
|
|
81
|
-
get size(): number;
|
|
82
|
-
get isEmpty(): boolean;
|
|
83
|
-
get(key: K): V | undefined;
|
|
84
|
-
getOrDefault(key: K, defaultValue: V): V;
|
|
85
|
-
has(key: K): boolean;
|
|
86
|
-
set(key: K, value: V): HoloMap<K, V>;
|
|
87
|
-
delete(key: K): HoloMap<K, V>;
|
|
88
|
-
update(key: K, fn: (value: V | undefined) => V): HoloMap<K, V>;
|
|
89
|
-
merge(other: HoloMap<K, V>): HoloMap<K, V>;
|
|
90
|
-
keys(): List<K>;
|
|
91
|
-
values(): List<V>;
|
|
92
|
-
entries(): List<[K, V]>;
|
|
93
|
-
map<U>(fn: (value: V, key: K) => U): HoloMap<K, U>;
|
|
94
|
-
mapKeys<K2>(fn: (key: K, value: V) => K2): HoloMap<K2, V>;
|
|
95
|
-
filter(predicate: (value: V, key: K) => boolean): HoloMap<K, V>;
|
|
96
|
-
reduce<U>(fn: (acc: U, value: V, key: K) => U, initial: U): U;
|
|
97
|
-
forEach(fn: (value: V, key: K) => void): void;
|
|
98
|
-
find(predicate: (value: V, key: K) => boolean): [K, V] | undefined;
|
|
99
|
-
some(predicate: (value: V, key: K) => boolean): boolean;
|
|
100
|
-
every(predicate: (value: V, key: K) => boolean): boolean;
|
|
101
|
-
toObject(this: HoloMap<string, V>): Record<string, V>;
|
|
102
|
-
toNativeMap(): Map<K, V>;
|
|
103
|
-
[Symbol.iterator](): Iterator<[K, V]>;
|
|
104
|
-
toString(): string;
|
|
105
|
-
}
|
|
106
|
-
/**
|
|
107
|
-
* Immutable Set with functional operations
|
|
108
|
-
*/
|
|
109
|
-
export declare class HoloSet<T> {
|
|
110
|
-
private readonly set;
|
|
111
|
-
constructor(items?: Iterable<T>);
|
|
112
|
-
static of<T>(...items: T[]): HoloSet<T>;
|
|
113
|
-
static from<T>(iterable: Iterable<T>): HoloSet<T>;
|
|
114
|
-
get size(): number;
|
|
115
|
-
get isEmpty(): boolean;
|
|
116
|
-
has(item: T): boolean;
|
|
117
|
-
add(item: T): HoloSet<T>;
|
|
118
|
-
delete(item: T): HoloSet<T>;
|
|
119
|
-
addAll(items: Iterable<T>): HoloSet<T>;
|
|
120
|
-
union(other: HoloSet<T>): HoloSet<T>;
|
|
121
|
-
intersection(other: HoloSet<T>): HoloSet<T>;
|
|
122
|
-
difference(other: HoloSet<T>): HoloSet<T>;
|
|
123
|
-
symmetricDifference(other: HoloSet<T>): HoloSet<T>;
|
|
124
|
-
isSubsetOf(other: HoloSet<T>): boolean;
|
|
125
|
-
isSupersetOf(other: HoloSet<T>): boolean;
|
|
126
|
-
isDisjointFrom(other: HoloSet<T>): boolean;
|
|
127
|
-
map<U>(fn: (item: T) => U): HoloSet<U>;
|
|
128
|
-
filter(predicate: (item: T) => boolean): HoloSet<T>;
|
|
129
|
-
reduce<U>(fn: (acc: U, item: T) => U, initial: U): U;
|
|
130
|
-
forEach(fn: (item: T) => void): void;
|
|
131
|
-
find(predicate: (item: T) => boolean): T | undefined;
|
|
132
|
-
some(predicate: (item: T) => boolean): boolean;
|
|
133
|
-
every(predicate: (item: T) => boolean): boolean;
|
|
134
|
-
toArray(): T[];
|
|
135
|
-
toList(): List<T>;
|
|
136
|
-
toNativeSet(): Set<T>;
|
|
137
|
-
[Symbol.iterator](): Iterator<T>;
|
|
138
|
-
toString(): string;
|
|
139
|
-
}
|
|
140
|
-
/**
|
|
141
|
-
* Spatial grid for efficient spatial queries (useful for game worlds)
|
|
142
|
-
*/
|
|
143
|
-
export declare class SpatialGrid<T> {
|
|
144
|
-
private readonly cellSize;
|
|
145
|
-
private readonly cells;
|
|
146
|
-
constructor(cellSize: number);
|
|
147
|
-
private getCellKey;
|
|
148
|
-
insert(position: Vec3, item: T): void;
|
|
149
|
-
remove(position: Vec3, item: T): boolean;
|
|
150
|
-
query(center: Vec3, radius: number): T[];
|
|
151
|
-
queryBox(min: Vec3, max: Vec3): T[];
|
|
152
|
-
clear(): void;
|
|
153
|
-
get cellCount(): number;
|
|
154
|
-
get itemCount(): number;
|
|
155
|
-
}
|
|
156
|
-
/**
|
|
157
|
-
* Priority queue (min-heap by default)
|
|
158
|
-
*/
|
|
159
|
-
export declare class PriorityQueue<T> {
|
|
160
|
-
private compareFn;
|
|
161
|
-
private heap;
|
|
162
|
-
constructor(compareFn?: (a: number, b: number) => number);
|
|
163
|
-
static minHeap<T>(): PriorityQueue<T>;
|
|
164
|
-
static maxHeap<T>(): PriorityQueue<T>;
|
|
165
|
-
get size(): number;
|
|
166
|
-
get isEmpty(): boolean;
|
|
167
|
-
enqueue(item: T, priority: number): void;
|
|
168
|
-
dequeue(): T | undefined;
|
|
169
|
-
peek(): T | undefined;
|
|
170
|
-
peekPriority(): number | undefined;
|
|
171
|
-
clear(): void;
|
|
172
|
-
private bubbleUp;
|
|
173
|
-
private bubbleDown;
|
|
174
|
-
}
|
|
175
|
-
export { HoloMap as Map };
|
|
176
|
-
export { HoloSet as Set };
|
|
177
|
-
//# sourceMappingURL=collections.d.ts.map
|