ripple 0.2.90 → 0.2.92
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/package.json +1 -1
- package/src/compiler/index.js +14 -8
- package/src/compiler/phases/1-parse/index.js +74 -20
- package/src/compiler/phases/3-transform/client/index.js +101 -49
- package/src/compiler/phases/3-transform/segments.js +248 -34
- package/src/compiler/scope.js +478 -404
- package/src/compiler/types/index.d.ts +299 -3
- package/src/compiler/utils.js +173 -30
- package/src/runtime/date.js +73 -0
- package/src/runtime/index-client.js +24 -21
- package/src/runtime/internal/client/html.js +18 -8
- package/src/runtime/internal/client/index.js +1 -0
- package/src/runtime/internal/client/portal.js +55 -32
- package/src/runtime/internal/client/render.js +31 -1
- package/src/runtime/internal/client/runtime.js +53 -22
- package/src/utils/normalize_css_property_name.js +23 -0
- package/tests/client/basic.test.ripple +207 -1
- package/tests/client/compiler.test.ripple +95 -1
- package/tests/client/date.test.ripple +392 -0
- package/tests/client/html.test.ripple +29 -1
- package/tests/client/portal.test.ripple +167 -0
- package/types/index.d.ts +37 -28
package/types/index.d.ts
CHANGED
|
@@ -5,6 +5,8 @@ export declare function mount(
|
|
|
5
5
|
options: { target: HTMLElement; props?: Record<string, any> },
|
|
6
6
|
): () => void;
|
|
7
7
|
|
|
8
|
+
export declare function tick(): Promise<void>;
|
|
9
|
+
|
|
8
10
|
export declare function untrack<T>(fn: () => T): T;
|
|
9
11
|
|
|
10
12
|
export declare function flushSync<T>(fn: () => T): T;
|
|
@@ -12,13 +14,13 @@ export declare function flushSync<T>(fn: () => T): T;
|
|
|
12
14
|
export declare function effect(fn: (() => void) | (() => () => void)): void;
|
|
13
15
|
|
|
14
16
|
export interface TrackedArrayConstructor {
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
17
|
+
new <T>(...elements: T[]): TrackedArray<T>; // must be used with `new`
|
|
18
|
+
from<T>(arrayLike: ArrayLike<T>): TrackedArray<T>;
|
|
19
|
+
of<T>(...items: T[]): TrackedArray<T>;
|
|
20
|
+
fromAsync<T>(iterable: AsyncIterable<T>): Promise<TrackedArray<T>>;
|
|
19
21
|
}
|
|
20
22
|
|
|
21
|
-
export interface TrackedArray<T> extends Array<T> {}
|
|
23
|
+
export interface TrackedArray<T> extends Array<T> { }
|
|
22
24
|
|
|
23
25
|
export declare const TrackedArray: TrackedArrayConstructor;
|
|
24
26
|
|
|
@@ -38,10 +40,12 @@ export declare class TrackedSet<T> extends Set<T> {
|
|
|
38
40
|
symmetricDifference(other: TrackedSet<T> | Set<T>): TrackedSet<T>;
|
|
39
41
|
union(other: TrackedSet<T> | Set<T>): TrackedSet<T>;
|
|
40
42
|
toJSON(): T[];
|
|
43
|
+
#private;
|
|
41
44
|
}
|
|
42
45
|
|
|
43
46
|
export declare class TrackedMap<K, V> extends Map<K, V> {
|
|
44
47
|
toJSON(): [K, V][];
|
|
48
|
+
#private;
|
|
45
49
|
}
|
|
46
50
|
|
|
47
51
|
// Compiler-injected runtime symbols (for Ripple component development)
|
|
@@ -74,17 +78,17 @@ export type Tracked<V> = { '#v': V };
|
|
|
74
78
|
export type Props<K extends PropertyKey = any, V = unknown> = Record<K, V>;
|
|
75
79
|
export type PropsWithExtras<T extends object> = Props & T & Record<string, unknown>;
|
|
76
80
|
export type PropsWithChildren<T extends object = {}> =
|
|
77
|
-
|
|
81
|
+
Expand<Omit<Props, 'children'> & { children: Component } & T>;
|
|
78
82
|
|
|
79
83
|
type Expand<T> = T extends infer O ? { [K in keyof O]: O[K] } : never;
|
|
80
84
|
|
|
81
85
|
type PickKeys<T, K extends readonly (keyof T)[]> =
|
|
82
|
-
|
|
86
|
+
{ [I in keyof K]: Tracked<T[K[I] & keyof T]> };
|
|
83
87
|
|
|
84
88
|
type RestKeys<T, K extends readonly (keyof T)[]> = Expand<Omit<T, K[number]>>;
|
|
85
89
|
|
|
86
90
|
type SplitResult<T extends Props, K extends readonly (keyof T)[]> =
|
|
87
|
-
|
|
91
|
+
[...PickKeys<T, K>, Tracked<RestKeys<T, K>>];
|
|
88
92
|
|
|
89
93
|
export declare function track<V>(value?: V | (() => V), get?: (v: V) => V, set?: (next: V, prev: V) => V): Tracked<V>;
|
|
90
94
|
|
|
@@ -129,33 +133,38 @@ export function on(
|
|
|
129
133
|
): () => void;
|
|
130
134
|
|
|
131
135
|
export type TrackedObjectShallow<T> = {
|
|
132
|
-
|
|
136
|
+
[K in keyof T]: T[K] | Tracked<T[K]>;
|
|
133
137
|
};
|
|
134
138
|
|
|
135
139
|
export type TrackedObjectDeep<T> =
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
140
|
+
T extends string | number | boolean | null | undefined | symbol | bigint
|
|
141
|
+
? T | Tracked<T>
|
|
142
|
+
: T extends TrackedArray<infer U>
|
|
143
|
+
? TrackedArray<U> | Tracked<TrackedArray<U>>
|
|
144
|
+
: T extends TrackedSet<infer U>
|
|
145
|
+
? TrackedSet<U> | Tracked<TrackedSet<U>>
|
|
146
|
+
: T extends TrackedMap<infer K, infer V>
|
|
147
|
+
? TrackedMap<K, V> | Tracked<TrackedMap<K, V>>
|
|
148
|
+
: T extends Array<infer U>
|
|
149
|
+
? Array<TrackedObjectDeep<U>> | Tracked<Array<TrackedObjectDeep<U>>>
|
|
150
|
+
: T extends Set<infer U>
|
|
151
|
+
? Set<TrackedObjectDeep<U>> | Tracked<Set<TrackedObjectDeep<U>>>
|
|
152
|
+
: T extends Map<infer K, infer V>
|
|
153
|
+
? Map<TrackedObjectDeep<K>, TrackedObjectDeep<V>> |
|
|
154
|
+
Tracked<Map<TrackedObjectDeep<K>, TrackedObjectDeep<V>>>
|
|
155
|
+
: T extends object
|
|
156
|
+
? { [K in keyof T]: TrackedObjectDeep<T[K]> | Tracked<TrackedObjectDeep<T[K]>> }
|
|
157
|
+
: T | Tracked<T>;
|
|
154
158
|
|
|
155
159
|
export type TrackedObject<T extends object> = T & {};
|
|
156
160
|
|
|
157
161
|
export interface TrackedObjectConstructor {
|
|
158
|
-
|
|
162
|
+
new <T extends object>(obj: T): TrackedObject<T>;
|
|
159
163
|
}
|
|
160
164
|
|
|
161
165
|
export declare const TrackedObject: TrackedObjectConstructor;
|
|
166
|
+
|
|
167
|
+
export class SvelteDate extends Date {
|
|
168
|
+
constructor(...params: any[]);
|
|
169
|
+
#private;
|
|
170
|
+
}
|