@luvio/lwc-luvio 0.62.2 → 0.63.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/dist/es/es2018/LWCInfiniteScrollingLuvioWireAdapter.d.ts +6 -0
- package/dist/es/es2018/LWCLuvioBindings.d.ts +4 -0
- package/dist/es/es2018/LWCLuvioWireAdapter.d.ts +62 -0
- package/dist/es/es2018/lwcluvio.js +114 -98
- package/dist/es/es2018/main.d.ts +5 -16
- package/dist/es/es2018/utils/SnapshotState.d.ts +12 -0
- package/dist/es/es2018/utils/constants.d.ts +4 -0
- package/dist/es/es2018/utils/dataToTupleWeakMap.d.ts +1 -0
- package/dist/es/es2018/utils/isPromise.d.ts +1 -0
- package/dist/es/es2018/utils/throwAnnotatedError.d.ts +7 -0
- package/dist/umd/es2018/LWCInfiniteScrollingLuvioWireAdapter.d.ts +6 -0
- package/dist/umd/es2018/LWCLuvioBindings.d.ts +4 -0
- package/dist/umd/es2018/LWCLuvioWireAdapter.d.ts +62 -0
- package/dist/umd/es2018/lwcluvio.js +117 -100
- package/dist/umd/es2018/main.d.ts +5 -16
- package/dist/umd/es2018/utils/SnapshotState.d.ts +12 -0
- package/dist/umd/es2018/utils/constants.d.ts +4 -0
- package/dist/umd/es2018/utils/dataToTupleWeakMap.d.ts +1 -0
- package/dist/umd/es2018/utils/isPromise.d.ts +1 -0
- package/dist/umd/es2018/utils/throwAnnotatedError.d.ts +7 -0
- package/dist/umd/es5/LWCInfiniteScrollingLuvioWireAdapter.d.ts +6 -0
- package/dist/umd/es5/LWCLuvioBindings.d.ts +4 -0
- package/dist/umd/es5/LWCLuvioWireAdapter.d.ts +62 -0
- package/dist/umd/es5/lwcluvio.js +155 -102
- package/dist/umd/es5/main.d.ts +5 -16
- package/dist/umd/es5/utils/SnapshotState.d.ts +12 -0
- package/dist/umd/es5/utils/constants.d.ts +4 -0
- package/dist/umd/es5/utils/dataToTupleWeakMap.d.ts +1 -0
- package/dist/umd/es5/utils/isPromise.d.ts +1 -0
- package/dist/umd/es5/utils/throwAnnotatedError.d.ts +7 -0
- package/package.json +4 -4
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { Adapter, Luvio } from '@luvio/engine';
|
|
2
|
+
import { WireAdapterConstructor } from '@lwc/engine-core';
|
|
3
|
+
import { LWCLuvioWireAdapter } from './LWCLuvioWireAdapter';
|
|
4
|
+
export declare class LWCInfinteScrollingLuvioWireAdapter extends LWCLuvioWireAdapter {
|
|
5
|
+
}
|
|
6
|
+
export declare function createInfiniteScrollingWireAdapterConstructor(adapter: Adapter<unknown, unknown>, name: string, luvio: Luvio): WireAdapterConstructor;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { Luvio } from '@luvio/engine';
|
|
2
|
+
import { dataToTupleWeakMap } from './utils/dataToTupleWeakMap';
|
|
3
|
+
export declare function bindWireRefresh(luvio: Luvio): <D>(data: D) => Promise<undefined> | undefined;
|
|
4
|
+
export declare function refreshData<D>(data: D, dataToTuple: typeof dataToTupleWeakMap, luvio: Luvio): Promise<undefined> | undefined;
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { Adapter, Luvio, Unsubscribe } from '@luvio/engine';
|
|
2
|
+
import { WireConfigValue, WireContextValue, DataCallback, WireAdapter, WireAdapterConstructor } from '@lwc/engine-core';
|
|
3
|
+
export declare class LWCLuvioWireAdapter implements WireAdapter {
|
|
4
|
+
adapter: Adapter<unknown, unknown>;
|
|
5
|
+
name: string;
|
|
6
|
+
callback: DataCallback;
|
|
7
|
+
config?: unknown;
|
|
8
|
+
connected: boolean;
|
|
9
|
+
luvio: Luvio;
|
|
10
|
+
unsubscriber?: Unsubscribe;
|
|
11
|
+
/**
|
|
12
|
+
* Constructs a new wire adapter instance for the given adapter.
|
|
13
|
+
*
|
|
14
|
+
* @param callback callback to be invoked with new values
|
|
15
|
+
*/
|
|
16
|
+
constructor(adapter: Adapter<unknown, unknown>, name: string, luvio: Luvio, callback: DataCallback);
|
|
17
|
+
/**
|
|
18
|
+
* Called when the component associated with the wire adapter is connected.
|
|
19
|
+
*/
|
|
20
|
+
connect(): void;
|
|
21
|
+
/**
|
|
22
|
+
* Called when the component associated with the wire adapter is disconnected.
|
|
23
|
+
*/
|
|
24
|
+
disconnect(): void;
|
|
25
|
+
/**
|
|
26
|
+
* Called when new or updated config is supplied to the wire adapter.
|
|
27
|
+
*
|
|
28
|
+
* @param config new config parameters for the wire adapter
|
|
29
|
+
* @param _context not used
|
|
30
|
+
*/
|
|
31
|
+
update(config: WireConfigValue, _context?: WireContextValue): void;
|
|
32
|
+
/**
|
|
33
|
+
* Calls the adapter if config has been set and the component is connected.
|
|
34
|
+
*/
|
|
35
|
+
private callAdapter;
|
|
36
|
+
/**
|
|
37
|
+
* Emits new values to the callback.
|
|
38
|
+
*
|
|
39
|
+
* @param snapshot Snapshot to be emitted, if omitted then undefineds will be emitted
|
|
40
|
+
*/
|
|
41
|
+
private emit;
|
|
42
|
+
/**
|
|
43
|
+
* Subscribes this wire adapter to future changes to the specified snapshot. Any changes
|
|
44
|
+
* to the snapshot will be automatically emitted to the component.
|
|
45
|
+
*
|
|
46
|
+
* @param snapshot Snapshot
|
|
47
|
+
* @param subscriptionCallback callback
|
|
48
|
+
*/
|
|
49
|
+
private subscribe;
|
|
50
|
+
/**
|
|
51
|
+
* Deletes this wire adapter's snapshot subscription (if any).
|
|
52
|
+
*/
|
|
53
|
+
private unsubscribe;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Wraps a luvio Adapter in a WireAdapterConstructor that conforms to https://rfcs.lwc.dev/rfcs/lwc/0000-wire-reform#wire-adapter-protocol.
|
|
57
|
+
*
|
|
58
|
+
* @param adapter Adapter
|
|
59
|
+
* @param name name to assign to the generated constructor
|
|
60
|
+
* @param luvio Luvio
|
|
61
|
+
*/
|
|
62
|
+
export declare function createWireAdapterConstructor(adapter: Adapter<unknown, unknown>, name: string, luvio: Luvio): WireAdapterConstructor;
|
|
@@ -1,69 +1,15 @@
|
|
|
1
1
|
import { unwrap } from 'lwc';
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
const
|
|
5
|
-
const
|
|
3
|
+
// instrumentation keys to be imported by ldsInstrumentation
|
|
4
|
+
const REFRESH_ADAPTER_EVENT = 'refresh-adapter-event';
|
|
5
|
+
const ADAPTER_UNFULFILLED_ERROR = 'adapter-unfulfilled-error';
|
|
6
|
+
const USERLAND_PROVISION_ERROR_MESSAGE = "LWC component's @wire target property or method threw an error during value provisioning. Original error:";
|
|
7
|
+
const ADAPTER_SNAPSHOT_REJECTED_MESSAGE = 'Luvio wire adapter Promise<Snapshot> rejected. Original error:';
|
|
6
8
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
this.copy = {};
|
|
11
|
-
this.currentPath = {
|
|
12
|
-
key: '',
|
|
13
|
-
value: obj,
|
|
14
|
-
parent: null,
|
|
15
|
-
data: this.copy,
|
|
16
|
-
};
|
|
17
|
-
}
|
|
18
|
-
sanitize() {
|
|
19
|
-
const sanitizer = this;
|
|
20
|
-
stringify(this.obj, function (key, value) {
|
|
21
|
-
if (key === '') {
|
|
22
|
-
return value;
|
|
23
|
-
}
|
|
24
|
-
const parent = this;
|
|
25
|
-
if (parent !== sanitizer.currentPath.value) {
|
|
26
|
-
sanitizer.exit(parent);
|
|
27
|
-
}
|
|
28
|
-
if (typeof value === 'object' && value !== null) {
|
|
29
|
-
sanitizer.enter(key, value);
|
|
30
|
-
return value;
|
|
31
|
-
}
|
|
32
|
-
sanitizer.currentPath.data[key] = value;
|
|
33
|
-
return value;
|
|
34
|
-
});
|
|
35
|
-
return this.copy;
|
|
36
|
-
}
|
|
37
|
-
enter(key, value) {
|
|
38
|
-
const { currentPath: parentPath } = this;
|
|
39
|
-
const data = (parentPath.data[key] = isArray(value) ? [] : {});
|
|
40
|
-
this.currentPath = {
|
|
41
|
-
key,
|
|
42
|
-
value,
|
|
43
|
-
parent: parentPath,
|
|
44
|
-
data,
|
|
45
|
-
};
|
|
46
|
-
}
|
|
47
|
-
exit(parent) {
|
|
48
|
-
while (this.currentPath.value !== parent) {
|
|
49
|
-
this.currentPath = this.currentPath.parent || this.currentPath;
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
/**
|
|
54
|
-
* Returns a sanitized version of an object by recursively unwrapping the Proxies.
|
|
55
|
-
*
|
|
56
|
-
* In order to keep luvio performance optimal on IE11, we need to make sure that luvio code gets
|
|
57
|
-
* transformed by the es5-proxy-compat. At the same time we need to ensure that no ProxyCompat leaks
|
|
58
|
-
* into the luvio engine code nor into the adapters. All the data coming from LWC-land need to be
|
|
59
|
-
* sanitized first.
|
|
60
|
-
*/
|
|
61
|
-
function sanitize(obj) {
|
|
62
|
-
return new Sanitizer(obj).sanitize();
|
|
63
|
-
}
|
|
9
|
+
// map of emitted object -> [ adapter name, snapshot ]; snapshot is only undefined for the
|
|
10
|
+
// initially-emitted { data: undefined, error: undefined } value
|
|
11
|
+
const dataToTupleWeakMap = new WeakMap();
|
|
64
12
|
|
|
65
|
-
// Copied from engine to avoid build time dependency
|
|
66
|
-
// BEGIN OF COPY BLOCK
|
|
67
13
|
var SnapshotState;
|
|
68
14
|
(function (SnapshotState) {
|
|
69
15
|
SnapshotState["Fulfilled"] = "Fulfilled";
|
|
@@ -84,20 +30,36 @@ function isStaleSnapshot(snapshot) {
|
|
|
84
30
|
function isUnfulfilledSnapshot(snapshot) {
|
|
85
31
|
return snapshot.state === SnapshotState.Unfulfilled;
|
|
86
32
|
}
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
33
|
+
/**
|
|
34
|
+
* Transform a Snapshot into a payload suitable for passing to a DataCallback.
|
|
35
|
+
*
|
|
36
|
+
* @param snapshot Snapshot
|
|
37
|
+
*/
|
|
38
|
+
function snapshotToPayload(snapshot) {
|
|
39
|
+
if (snapshot === undefined) {
|
|
40
|
+
return {
|
|
41
|
+
data: undefined,
|
|
42
|
+
error: undefined,
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
if (isErrorSnapshot(snapshot)) {
|
|
46
|
+
return {
|
|
47
|
+
data: undefined,
|
|
48
|
+
error: snapshot.error,
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
// fulfilled or stale
|
|
52
|
+
return {
|
|
53
|
+
data: snapshot.data,
|
|
54
|
+
error: undefined,
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
|
|
93
58
|
function bindWireRefresh(luvio) {
|
|
94
59
|
return function refresh(data) {
|
|
95
60
|
return refreshData(data, dataToTupleWeakMap, luvio);
|
|
96
61
|
};
|
|
97
62
|
}
|
|
98
|
-
// instrumentation keys to be imported by ldsInstrumentation
|
|
99
|
-
const REFRESH_ADAPTER_EVENT = 'refresh-adapter-event';
|
|
100
|
-
const ADAPTER_UNFULFILLED_ERROR = 'adapter-unfulfilled-error';
|
|
101
63
|
function refreshData(data, dataToTuple, luvio) {
|
|
102
64
|
const tuple = dataToTuple.get(unwrap(data));
|
|
103
65
|
if (tuple === undefined) {
|
|
@@ -129,35 +91,17 @@ function refreshData(data, dataToTuple, luvio) {
|
|
|
129
91
|
}
|
|
130
92
|
return undefined;
|
|
131
93
|
});
|
|
132
|
-
}
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
const { freeze, keys } = Object;
|
|
97
|
+
const { isArray } = Array;
|
|
98
|
+
const { stringify } = JSON;
|
|
99
|
+
|
|
133
100
|
function isPromise(value) {
|
|
134
101
|
// check for Thenable due to test frameworks using custom Promise impls
|
|
135
102
|
return value.then !== undefined;
|
|
136
|
-
}
|
|
137
|
-
|
|
138
|
-
* Transform a Snapshot into a payload suitable for passing to a DataCallback.
|
|
139
|
-
*
|
|
140
|
-
* @param snapshot Snapshot
|
|
141
|
-
*/
|
|
142
|
-
function snapshotToPayload(snapshot) {
|
|
143
|
-
if (snapshot === undefined) {
|
|
144
|
-
return {
|
|
145
|
-
data: undefined,
|
|
146
|
-
error: undefined,
|
|
147
|
-
};
|
|
148
|
-
}
|
|
149
|
-
if (isErrorSnapshot(snapshot)) {
|
|
150
|
-
return {
|
|
151
|
-
data: undefined,
|
|
152
|
-
error: snapshot.error,
|
|
153
|
-
};
|
|
154
|
-
}
|
|
155
|
-
// fulfilled or stale
|
|
156
|
-
return {
|
|
157
|
-
data: snapshot.data,
|
|
158
|
-
error: undefined,
|
|
159
|
-
};
|
|
160
|
-
}
|
|
103
|
+
}
|
|
104
|
+
|
|
161
105
|
/**
|
|
162
106
|
* (Re)throws an error after adding a prefix to the message.
|
|
163
107
|
*
|
|
@@ -170,7 +114,66 @@ function throwAnnotatedError(error, messagePrefix) {
|
|
|
170
114
|
throw error;
|
|
171
115
|
}
|
|
172
116
|
throw new Error(`${messagePrefix}\n[${stringify(error)}]`);
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
class Sanitizer {
|
|
120
|
+
constructor(obj) {
|
|
121
|
+
this.obj = obj;
|
|
122
|
+
this.copy = {};
|
|
123
|
+
this.currentPath = {
|
|
124
|
+
key: '',
|
|
125
|
+
value: obj,
|
|
126
|
+
parent: null,
|
|
127
|
+
data: this.copy,
|
|
128
|
+
};
|
|
129
|
+
}
|
|
130
|
+
sanitize() {
|
|
131
|
+
const sanitizer = this;
|
|
132
|
+
stringify(this.obj, function (key, value) {
|
|
133
|
+
if (key === '') {
|
|
134
|
+
return value;
|
|
135
|
+
}
|
|
136
|
+
const parent = this;
|
|
137
|
+
if (parent !== sanitizer.currentPath.value) {
|
|
138
|
+
sanitizer.exit(parent);
|
|
139
|
+
}
|
|
140
|
+
if (typeof value === 'object' && value !== null) {
|
|
141
|
+
sanitizer.enter(key, value);
|
|
142
|
+
return value;
|
|
143
|
+
}
|
|
144
|
+
sanitizer.currentPath.data[key] = value;
|
|
145
|
+
return value;
|
|
146
|
+
});
|
|
147
|
+
return this.copy;
|
|
148
|
+
}
|
|
149
|
+
enter(key, value) {
|
|
150
|
+
const { currentPath: parentPath } = this;
|
|
151
|
+
const data = (parentPath.data[key] = isArray(value) ? [] : {});
|
|
152
|
+
this.currentPath = {
|
|
153
|
+
key,
|
|
154
|
+
value,
|
|
155
|
+
parent: parentPath,
|
|
156
|
+
data,
|
|
157
|
+
};
|
|
158
|
+
}
|
|
159
|
+
exit(parent) {
|
|
160
|
+
while (this.currentPath.value !== parent) {
|
|
161
|
+
this.currentPath = this.currentPath.parent || this.currentPath;
|
|
162
|
+
}
|
|
163
|
+
}
|
|
173
164
|
}
|
|
165
|
+
/**
|
|
166
|
+
* Returns a sanitized version of an object by recursively unwrapping the Proxies.
|
|
167
|
+
*
|
|
168
|
+
* In order to keep luvio performance optimal on IE11, we need to make sure that luvio code gets
|
|
169
|
+
* transformed by the es5-proxy-compat. At the same time we need to ensure that no ProxyCompat leaks
|
|
170
|
+
* into the luvio engine code nor into the adapters. All the data coming from LWC-land need to be
|
|
171
|
+
* sanitized first.
|
|
172
|
+
*/
|
|
173
|
+
function sanitize(obj) {
|
|
174
|
+
return new Sanitizer(obj).sanitize();
|
|
175
|
+
}
|
|
176
|
+
|
|
174
177
|
class LWCLuvioWireAdapter {
|
|
175
178
|
/**
|
|
176
179
|
* Constructs a new wire adapter instance for the given adapter.
|
|
@@ -340,4 +343,17 @@ function createWireAdapterConstructor(adapter, name, luvio) {
|
|
|
340
343
|
return constructor;
|
|
341
344
|
}
|
|
342
345
|
|
|
343
|
-
|
|
346
|
+
class LWCInfinteScrollingLuvioWireAdapter extends LWCLuvioWireAdapter {
|
|
347
|
+
}
|
|
348
|
+
function createInfiniteScrollingWireAdapterConstructor(adapter, name, luvio) {
|
|
349
|
+
const constructor = function (callback) {
|
|
350
|
+
const delegate = new LWCInfinteScrollingLuvioWireAdapter(adapter, name, luvio, callback);
|
|
351
|
+
this.connect = () => delegate.connect();
|
|
352
|
+
this.disconnect = () => delegate.disconnect();
|
|
353
|
+
this.update = (config, context) => delegate.update(config, context);
|
|
354
|
+
};
|
|
355
|
+
Object.defineProperty(constructor, 'name', { value: name });
|
|
356
|
+
return constructor;
|
|
357
|
+
}
|
|
358
|
+
|
|
359
|
+
export { ADAPTER_UNFULFILLED_ERROR, REFRESH_ADAPTER_EVENT, bindWireRefresh, createInfiniteScrollingWireAdapterConstructor, createWireAdapterConstructor, refreshData };
|
package/dist/es/es2018/main.d.ts
CHANGED
|
@@ -1,16 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
export
|
|
6
|
-
export declare const ADAPTER_UNFULFILLED_ERROR = "adapter-unfulfilled-error";
|
|
7
|
-
export declare function refreshData<D>(data: D, dataToTuple: typeof dataToTupleWeakMap, luvio: Luvio): Promise<undefined> | undefined;
|
|
8
|
-
/**
|
|
9
|
-
* Wraps a luvio Adapter in a WireAdapterConstructor that conforms to https://rfcs.lwc.dev/rfcs/lwc/0000-wire-reform#wire-adapter-protocol.
|
|
10
|
-
*
|
|
11
|
-
* @param adapter Adapter
|
|
12
|
-
* @param name name to assign to the generated constructor
|
|
13
|
-
* @param luvio Luvio
|
|
14
|
-
*/
|
|
15
|
-
export declare function createWireAdapterConstructor(adapter: Adapter<unknown, unknown>, name: string, luvio: Luvio): WireAdapterConstructor;
|
|
16
|
-
export {};
|
|
1
|
+
import { REFRESH_ADAPTER_EVENT, ADAPTER_UNFULFILLED_ERROR } from './utils/constants';
|
|
2
|
+
import { bindWireRefresh, refreshData } from './LWCLuvioBindings';
|
|
3
|
+
import { createWireAdapterConstructor } from './LWCLuvioWireAdapter';
|
|
4
|
+
import { createInfiniteScrollingWireAdapterConstructor } from './LWCInfiniteScrollingLuvioWireAdapter';
|
|
5
|
+
export { createWireAdapterConstructor, createInfiniteScrollingWireAdapterConstructor, bindWireRefresh, refreshData, REFRESH_ADAPTER_EVENT, ADAPTER_UNFULFILLED_ERROR, };
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { ErrorSnapshot, Snapshot, StaleSnapshot, FulfilledSnapshot, UnfulfilledSnapshot } from '@luvio/engine';
|
|
2
|
+
export declare function isErrorSnapshot(snapshot: Snapshot<unknown, unknown>): snapshot is ErrorSnapshot;
|
|
3
|
+
export declare function isFulfilledSnapshot(snapshot: Snapshot<unknown, unknown>): snapshot is FulfilledSnapshot<unknown, unknown>;
|
|
4
|
+
export declare function isStaleSnapshot(snapshot: Snapshot<unknown, unknown>): snapshot is StaleSnapshot<unknown, unknown>;
|
|
5
|
+
export declare function isUnfulfilledSnapshot(snapshot: Snapshot<unknown, unknown>): snapshot is UnfulfilledSnapshot<unknown, unknown>;
|
|
6
|
+
export declare type EmittableSnapshot = FulfilledSnapshot<unknown> | StaleSnapshot<unknown> | ErrorSnapshot;
|
|
7
|
+
/**
|
|
8
|
+
* Transform a Snapshot into a payload suitable for passing to a DataCallback.
|
|
9
|
+
*
|
|
10
|
+
* @param snapshot Snapshot
|
|
11
|
+
*/
|
|
12
|
+
export declare function snapshotToPayload(snapshot?: EmittableSnapshot): any;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export declare const REFRESH_ADAPTER_EVENT = "refresh-adapter-event";
|
|
2
|
+
export declare const ADAPTER_UNFULFILLED_ERROR = "adapter-unfulfilled-error";
|
|
3
|
+
export declare const USERLAND_PROVISION_ERROR_MESSAGE = "LWC component's @wire target property or method threw an error during value provisioning. Original error:";
|
|
4
|
+
export declare const ADAPTER_SNAPSHOT_REJECTED_MESSAGE = "Luvio wire adapter Promise<Snapshot> rejected. Original error:";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const dataToTupleWeakMap: WeakMap<any, [string, import("@luvio/engine").ErrorSnapshot | import("@luvio/engine").FulfilledSnapshot<unknown, unknown> | import("@luvio/engine").UnfulfilledSnapshot<unknown, unknown> | import("@luvio/engine").StaleSnapshot<unknown, unknown> | import("@luvio/engine").PendingSnapshot<unknown, unknown> | undefined]>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function isPromise<U>(value: Promise<U> | U): value is Promise<U>;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { Adapter, Luvio } from '@luvio/engine';
|
|
2
|
+
import { WireAdapterConstructor } from '@lwc/engine-core';
|
|
3
|
+
import { LWCLuvioWireAdapter } from './LWCLuvioWireAdapter';
|
|
4
|
+
export declare class LWCInfinteScrollingLuvioWireAdapter extends LWCLuvioWireAdapter {
|
|
5
|
+
}
|
|
6
|
+
export declare function createInfiniteScrollingWireAdapterConstructor(adapter: Adapter<unknown, unknown>, name: string, luvio: Luvio): WireAdapterConstructor;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { Luvio } from '@luvio/engine';
|
|
2
|
+
import { dataToTupleWeakMap } from './utils/dataToTupleWeakMap';
|
|
3
|
+
export declare function bindWireRefresh(luvio: Luvio): <D>(data: D) => Promise<undefined> | undefined;
|
|
4
|
+
export declare function refreshData<D>(data: D, dataToTuple: typeof dataToTupleWeakMap, luvio: Luvio): Promise<undefined> | undefined;
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { Adapter, Luvio, Unsubscribe } from '@luvio/engine';
|
|
2
|
+
import { WireConfigValue, WireContextValue, DataCallback, WireAdapter, WireAdapterConstructor } from '@lwc/engine-core';
|
|
3
|
+
export declare class LWCLuvioWireAdapter implements WireAdapter {
|
|
4
|
+
adapter: Adapter<unknown, unknown>;
|
|
5
|
+
name: string;
|
|
6
|
+
callback: DataCallback;
|
|
7
|
+
config?: unknown;
|
|
8
|
+
connected: boolean;
|
|
9
|
+
luvio: Luvio;
|
|
10
|
+
unsubscriber?: Unsubscribe;
|
|
11
|
+
/**
|
|
12
|
+
* Constructs a new wire adapter instance for the given adapter.
|
|
13
|
+
*
|
|
14
|
+
* @param callback callback to be invoked with new values
|
|
15
|
+
*/
|
|
16
|
+
constructor(adapter: Adapter<unknown, unknown>, name: string, luvio: Luvio, callback: DataCallback);
|
|
17
|
+
/**
|
|
18
|
+
* Called when the component associated with the wire adapter is connected.
|
|
19
|
+
*/
|
|
20
|
+
connect(): void;
|
|
21
|
+
/**
|
|
22
|
+
* Called when the component associated with the wire adapter is disconnected.
|
|
23
|
+
*/
|
|
24
|
+
disconnect(): void;
|
|
25
|
+
/**
|
|
26
|
+
* Called when new or updated config is supplied to the wire adapter.
|
|
27
|
+
*
|
|
28
|
+
* @param config new config parameters for the wire adapter
|
|
29
|
+
* @param _context not used
|
|
30
|
+
*/
|
|
31
|
+
update(config: WireConfigValue, _context?: WireContextValue): void;
|
|
32
|
+
/**
|
|
33
|
+
* Calls the adapter if config has been set and the component is connected.
|
|
34
|
+
*/
|
|
35
|
+
private callAdapter;
|
|
36
|
+
/**
|
|
37
|
+
* Emits new values to the callback.
|
|
38
|
+
*
|
|
39
|
+
* @param snapshot Snapshot to be emitted, if omitted then undefineds will be emitted
|
|
40
|
+
*/
|
|
41
|
+
private emit;
|
|
42
|
+
/**
|
|
43
|
+
* Subscribes this wire adapter to future changes to the specified snapshot. Any changes
|
|
44
|
+
* to the snapshot will be automatically emitted to the component.
|
|
45
|
+
*
|
|
46
|
+
* @param snapshot Snapshot
|
|
47
|
+
* @param subscriptionCallback callback
|
|
48
|
+
*/
|
|
49
|
+
private subscribe;
|
|
50
|
+
/**
|
|
51
|
+
* Deletes this wire adapter's snapshot subscription (if any).
|
|
52
|
+
*/
|
|
53
|
+
private unsubscribe;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Wraps a luvio Adapter in a WireAdapterConstructor that conforms to https://rfcs.lwc.dev/rfcs/lwc/0000-wire-reform#wire-adapter-protocol.
|
|
57
|
+
*
|
|
58
|
+
* @param adapter Adapter
|
|
59
|
+
* @param name name to assign to the generated constructor
|
|
60
|
+
* @param luvio Luvio
|
|
61
|
+
*/
|
|
62
|
+
export declare function createWireAdapterConstructor(adapter: Adapter<unknown, unknown>, name: string, luvio: Luvio): WireAdapterConstructor;
|
|
@@ -1,73 +1,19 @@
|
|
|
1
1
|
(function (global, factory) {
|
|
2
2
|
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('lwc')) :
|
|
3
3
|
typeof define === 'function' && define.amd ? define(['exports', 'lwc'], factory) :
|
|
4
|
-
(global = global || self, factory(global.lwcLuvio = {}, global.LWC));
|
|
5
|
-
}(this, (function (exports, lwc) { 'use strict';
|
|
4
|
+
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.lwcLuvio = {}, global.LWC));
|
|
5
|
+
})(this, (function (exports, lwc) { 'use strict';
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
const
|
|
9
|
-
const
|
|
7
|
+
// instrumentation keys to be imported by ldsInstrumentation
|
|
8
|
+
const REFRESH_ADAPTER_EVENT = 'refresh-adapter-event';
|
|
9
|
+
const ADAPTER_UNFULFILLED_ERROR = 'adapter-unfulfilled-error';
|
|
10
|
+
const USERLAND_PROVISION_ERROR_MESSAGE = "LWC component's @wire target property or method threw an error during value provisioning. Original error:";
|
|
11
|
+
const ADAPTER_SNAPSHOT_REJECTED_MESSAGE = 'Luvio wire adapter Promise<Snapshot> rejected. Original error:';
|
|
10
12
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
this.copy = {};
|
|
15
|
-
this.currentPath = {
|
|
16
|
-
key: '',
|
|
17
|
-
value: obj,
|
|
18
|
-
parent: null,
|
|
19
|
-
data: this.copy,
|
|
20
|
-
};
|
|
21
|
-
}
|
|
22
|
-
sanitize() {
|
|
23
|
-
const sanitizer = this;
|
|
24
|
-
stringify(this.obj, function (key, value) {
|
|
25
|
-
if (key === '') {
|
|
26
|
-
return value;
|
|
27
|
-
}
|
|
28
|
-
const parent = this;
|
|
29
|
-
if (parent !== sanitizer.currentPath.value) {
|
|
30
|
-
sanitizer.exit(parent);
|
|
31
|
-
}
|
|
32
|
-
if (typeof value === 'object' && value !== null) {
|
|
33
|
-
sanitizer.enter(key, value);
|
|
34
|
-
return value;
|
|
35
|
-
}
|
|
36
|
-
sanitizer.currentPath.data[key] = value;
|
|
37
|
-
return value;
|
|
38
|
-
});
|
|
39
|
-
return this.copy;
|
|
40
|
-
}
|
|
41
|
-
enter(key, value) {
|
|
42
|
-
const { currentPath: parentPath } = this;
|
|
43
|
-
const data = (parentPath.data[key] = isArray(value) ? [] : {});
|
|
44
|
-
this.currentPath = {
|
|
45
|
-
key,
|
|
46
|
-
value,
|
|
47
|
-
parent: parentPath,
|
|
48
|
-
data,
|
|
49
|
-
};
|
|
50
|
-
}
|
|
51
|
-
exit(parent) {
|
|
52
|
-
while (this.currentPath.value !== parent) {
|
|
53
|
-
this.currentPath = this.currentPath.parent || this.currentPath;
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
/**
|
|
58
|
-
* Returns a sanitized version of an object by recursively unwrapping the Proxies.
|
|
59
|
-
*
|
|
60
|
-
* In order to keep luvio performance optimal on IE11, we need to make sure that luvio code gets
|
|
61
|
-
* transformed by the es5-proxy-compat. At the same time we need to ensure that no ProxyCompat leaks
|
|
62
|
-
* into the luvio engine code nor into the adapters. All the data coming from LWC-land need to be
|
|
63
|
-
* sanitized first.
|
|
64
|
-
*/
|
|
65
|
-
function sanitize(obj) {
|
|
66
|
-
return new Sanitizer(obj).sanitize();
|
|
67
|
-
}
|
|
13
|
+
// map of emitted object -> [ adapter name, snapshot ]; snapshot is only undefined for the
|
|
14
|
+
// initially-emitted { data: undefined, error: undefined } value
|
|
15
|
+
const dataToTupleWeakMap = new WeakMap();
|
|
68
16
|
|
|
69
|
-
// Copied from engine to avoid build time dependency
|
|
70
|
-
// BEGIN OF COPY BLOCK
|
|
71
17
|
var SnapshotState;
|
|
72
18
|
(function (SnapshotState) {
|
|
73
19
|
SnapshotState["Fulfilled"] = "Fulfilled";
|
|
@@ -88,20 +34,36 @@
|
|
|
88
34
|
function isUnfulfilledSnapshot(snapshot) {
|
|
89
35
|
return snapshot.state === SnapshotState.Unfulfilled;
|
|
90
36
|
}
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
37
|
+
/**
|
|
38
|
+
* Transform a Snapshot into a payload suitable for passing to a DataCallback.
|
|
39
|
+
*
|
|
40
|
+
* @param snapshot Snapshot
|
|
41
|
+
*/
|
|
42
|
+
function snapshotToPayload(snapshot) {
|
|
43
|
+
if (snapshot === undefined) {
|
|
44
|
+
return {
|
|
45
|
+
data: undefined,
|
|
46
|
+
error: undefined,
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
if (isErrorSnapshot(snapshot)) {
|
|
50
|
+
return {
|
|
51
|
+
data: undefined,
|
|
52
|
+
error: snapshot.error,
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
// fulfilled or stale
|
|
56
|
+
return {
|
|
57
|
+
data: snapshot.data,
|
|
58
|
+
error: undefined,
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
|
|
97
62
|
function bindWireRefresh(luvio) {
|
|
98
63
|
return function refresh(data) {
|
|
99
64
|
return refreshData(data, dataToTupleWeakMap, luvio);
|
|
100
65
|
};
|
|
101
66
|
}
|
|
102
|
-
// instrumentation keys to be imported by ldsInstrumentation
|
|
103
|
-
const REFRESH_ADAPTER_EVENT = 'refresh-adapter-event';
|
|
104
|
-
const ADAPTER_UNFULFILLED_ERROR = 'adapter-unfulfilled-error';
|
|
105
67
|
function refreshData(data, dataToTuple, luvio) {
|
|
106
68
|
const tuple = dataToTuple.get(lwc.unwrap(data));
|
|
107
69
|
if (tuple === undefined) {
|
|
@@ -133,35 +95,17 @@
|
|
|
133
95
|
}
|
|
134
96
|
return undefined;
|
|
135
97
|
});
|
|
136
|
-
}
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
const { freeze, keys } = Object;
|
|
101
|
+
const { isArray } = Array;
|
|
102
|
+
const { stringify } = JSON;
|
|
103
|
+
|
|
137
104
|
function isPromise(value) {
|
|
138
105
|
// check for Thenable due to test frameworks using custom Promise impls
|
|
139
106
|
return value.then !== undefined;
|
|
140
|
-
}
|
|
141
|
-
|
|
142
|
-
* Transform a Snapshot into a payload suitable for passing to a DataCallback.
|
|
143
|
-
*
|
|
144
|
-
* @param snapshot Snapshot
|
|
145
|
-
*/
|
|
146
|
-
function snapshotToPayload(snapshot) {
|
|
147
|
-
if (snapshot === undefined) {
|
|
148
|
-
return {
|
|
149
|
-
data: undefined,
|
|
150
|
-
error: undefined,
|
|
151
|
-
};
|
|
152
|
-
}
|
|
153
|
-
if (isErrorSnapshot(snapshot)) {
|
|
154
|
-
return {
|
|
155
|
-
data: undefined,
|
|
156
|
-
error: snapshot.error,
|
|
157
|
-
};
|
|
158
|
-
}
|
|
159
|
-
// fulfilled or stale
|
|
160
|
-
return {
|
|
161
|
-
data: snapshot.data,
|
|
162
|
-
error: undefined,
|
|
163
|
-
};
|
|
164
|
-
}
|
|
107
|
+
}
|
|
108
|
+
|
|
165
109
|
/**
|
|
166
110
|
* (Re)throws an error after adding a prefix to the message.
|
|
167
111
|
*
|
|
@@ -174,7 +118,66 @@
|
|
|
174
118
|
throw error;
|
|
175
119
|
}
|
|
176
120
|
throw new Error(`${messagePrefix}\n[${stringify(error)}]`);
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
class Sanitizer {
|
|
124
|
+
constructor(obj) {
|
|
125
|
+
this.obj = obj;
|
|
126
|
+
this.copy = {};
|
|
127
|
+
this.currentPath = {
|
|
128
|
+
key: '',
|
|
129
|
+
value: obj,
|
|
130
|
+
parent: null,
|
|
131
|
+
data: this.copy,
|
|
132
|
+
};
|
|
133
|
+
}
|
|
134
|
+
sanitize() {
|
|
135
|
+
const sanitizer = this;
|
|
136
|
+
stringify(this.obj, function (key, value) {
|
|
137
|
+
if (key === '') {
|
|
138
|
+
return value;
|
|
139
|
+
}
|
|
140
|
+
const parent = this;
|
|
141
|
+
if (parent !== sanitizer.currentPath.value) {
|
|
142
|
+
sanitizer.exit(parent);
|
|
143
|
+
}
|
|
144
|
+
if (typeof value === 'object' && value !== null) {
|
|
145
|
+
sanitizer.enter(key, value);
|
|
146
|
+
return value;
|
|
147
|
+
}
|
|
148
|
+
sanitizer.currentPath.data[key] = value;
|
|
149
|
+
return value;
|
|
150
|
+
});
|
|
151
|
+
return this.copy;
|
|
152
|
+
}
|
|
153
|
+
enter(key, value) {
|
|
154
|
+
const { currentPath: parentPath } = this;
|
|
155
|
+
const data = (parentPath.data[key] = isArray(value) ? [] : {});
|
|
156
|
+
this.currentPath = {
|
|
157
|
+
key,
|
|
158
|
+
value,
|
|
159
|
+
parent: parentPath,
|
|
160
|
+
data,
|
|
161
|
+
};
|
|
162
|
+
}
|
|
163
|
+
exit(parent) {
|
|
164
|
+
while (this.currentPath.value !== parent) {
|
|
165
|
+
this.currentPath = this.currentPath.parent || this.currentPath;
|
|
166
|
+
}
|
|
167
|
+
}
|
|
177
168
|
}
|
|
169
|
+
/**
|
|
170
|
+
* Returns a sanitized version of an object by recursively unwrapping the Proxies.
|
|
171
|
+
*
|
|
172
|
+
* In order to keep luvio performance optimal on IE11, we need to make sure that luvio code gets
|
|
173
|
+
* transformed by the es5-proxy-compat. At the same time we need to ensure that no ProxyCompat leaks
|
|
174
|
+
* into the luvio engine code nor into the adapters. All the data coming from LWC-land need to be
|
|
175
|
+
* sanitized first.
|
|
176
|
+
*/
|
|
177
|
+
function sanitize(obj) {
|
|
178
|
+
return new Sanitizer(obj).sanitize();
|
|
179
|
+
}
|
|
180
|
+
|
|
178
181
|
class LWCLuvioWireAdapter {
|
|
179
182
|
/**
|
|
180
183
|
* Constructs a new wire adapter instance for the given adapter.
|
|
@@ -344,12 +347,26 @@
|
|
|
344
347
|
return constructor;
|
|
345
348
|
}
|
|
346
349
|
|
|
350
|
+
class LWCInfinteScrollingLuvioWireAdapter extends LWCLuvioWireAdapter {
|
|
351
|
+
}
|
|
352
|
+
function createInfiniteScrollingWireAdapterConstructor(adapter, name, luvio) {
|
|
353
|
+
const constructor = function (callback) {
|
|
354
|
+
const delegate = new LWCInfinteScrollingLuvioWireAdapter(adapter, name, luvio, callback);
|
|
355
|
+
this.connect = () => delegate.connect();
|
|
356
|
+
this.disconnect = () => delegate.disconnect();
|
|
357
|
+
this.update = (config, context) => delegate.update(config, context);
|
|
358
|
+
};
|
|
359
|
+
Object.defineProperty(constructor, 'name', { value: name });
|
|
360
|
+
return constructor;
|
|
361
|
+
}
|
|
362
|
+
|
|
347
363
|
exports.ADAPTER_UNFULFILLED_ERROR = ADAPTER_UNFULFILLED_ERROR;
|
|
348
364
|
exports.REFRESH_ADAPTER_EVENT = REFRESH_ADAPTER_EVENT;
|
|
349
365
|
exports.bindWireRefresh = bindWireRefresh;
|
|
366
|
+
exports.createInfiniteScrollingWireAdapterConstructor = createInfiniteScrollingWireAdapterConstructor;
|
|
350
367
|
exports.createWireAdapterConstructor = createWireAdapterConstructor;
|
|
351
368
|
exports.refreshData = refreshData;
|
|
352
369
|
|
|
353
370
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
354
371
|
|
|
355
|
-
}))
|
|
372
|
+
}));
|
|
@@ -1,16 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
export
|
|
6
|
-
export declare const ADAPTER_UNFULFILLED_ERROR = "adapter-unfulfilled-error";
|
|
7
|
-
export declare function refreshData<D>(data: D, dataToTuple: typeof dataToTupleWeakMap, luvio: Luvio): Promise<undefined> | undefined;
|
|
8
|
-
/**
|
|
9
|
-
* Wraps a luvio Adapter in a WireAdapterConstructor that conforms to https://rfcs.lwc.dev/rfcs/lwc/0000-wire-reform#wire-adapter-protocol.
|
|
10
|
-
*
|
|
11
|
-
* @param adapter Adapter
|
|
12
|
-
* @param name name to assign to the generated constructor
|
|
13
|
-
* @param luvio Luvio
|
|
14
|
-
*/
|
|
15
|
-
export declare function createWireAdapterConstructor(adapter: Adapter<unknown, unknown>, name: string, luvio: Luvio): WireAdapterConstructor;
|
|
16
|
-
export {};
|
|
1
|
+
import { REFRESH_ADAPTER_EVENT, ADAPTER_UNFULFILLED_ERROR } from './utils/constants';
|
|
2
|
+
import { bindWireRefresh, refreshData } from './LWCLuvioBindings';
|
|
3
|
+
import { createWireAdapterConstructor } from './LWCLuvioWireAdapter';
|
|
4
|
+
import { createInfiniteScrollingWireAdapterConstructor } from './LWCInfiniteScrollingLuvioWireAdapter';
|
|
5
|
+
export { createWireAdapterConstructor, createInfiniteScrollingWireAdapterConstructor, bindWireRefresh, refreshData, REFRESH_ADAPTER_EVENT, ADAPTER_UNFULFILLED_ERROR, };
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { ErrorSnapshot, Snapshot, StaleSnapshot, FulfilledSnapshot, UnfulfilledSnapshot } from '@luvio/engine';
|
|
2
|
+
export declare function isErrorSnapshot(snapshot: Snapshot<unknown, unknown>): snapshot is ErrorSnapshot;
|
|
3
|
+
export declare function isFulfilledSnapshot(snapshot: Snapshot<unknown, unknown>): snapshot is FulfilledSnapshot<unknown, unknown>;
|
|
4
|
+
export declare function isStaleSnapshot(snapshot: Snapshot<unknown, unknown>): snapshot is StaleSnapshot<unknown, unknown>;
|
|
5
|
+
export declare function isUnfulfilledSnapshot(snapshot: Snapshot<unknown, unknown>): snapshot is UnfulfilledSnapshot<unknown, unknown>;
|
|
6
|
+
export declare type EmittableSnapshot = FulfilledSnapshot<unknown> | StaleSnapshot<unknown> | ErrorSnapshot;
|
|
7
|
+
/**
|
|
8
|
+
* Transform a Snapshot into a payload suitable for passing to a DataCallback.
|
|
9
|
+
*
|
|
10
|
+
* @param snapshot Snapshot
|
|
11
|
+
*/
|
|
12
|
+
export declare function snapshotToPayload(snapshot?: EmittableSnapshot): any;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export declare const REFRESH_ADAPTER_EVENT = "refresh-adapter-event";
|
|
2
|
+
export declare const ADAPTER_UNFULFILLED_ERROR = "adapter-unfulfilled-error";
|
|
3
|
+
export declare const USERLAND_PROVISION_ERROR_MESSAGE = "LWC component's @wire target property or method threw an error during value provisioning. Original error:";
|
|
4
|
+
export declare const ADAPTER_SNAPSHOT_REJECTED_MESSAGE = "Luvio wire adapter Promise<Snapshot> rejected. Original error:";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const dataToTupleWeakMap: WeakMap<any, [string, import("@luvio/engine").ErrorSnapshot | import("@luvio/engine").FulfilledSnapshot<unknown, unknown> | import("@luvio/engine").UnfulfilledSnapshot<unknown, unknown> | import("@luvio/engine").StaleSnapshot<unknown, unknown> | import("@luvio/engine").PendingSnapshot<unknown, unknown> | undefined]>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function isPromise<U>(value: Promise<U> | U): value is Promise<U>;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { Adapter, Luvio } from '@luvio/engine';
|
|
2
|
+
import { WireAdapterConstructor } from '@lwc/engine-core';
|
|
3
|
+
import { LWCLuvioWireAdapter } from './LWCLuvioWireAdapter';
|
|
4
|
+
export declare class LWCInfinteScrollingLuvioWireAdapter extends LWCLuvioWireAdapter {
|
|
5
|
+
}
|
|
6
|
+
export declare function createInfiniteScrollingWireAdapterConstructor(adapter: Adapter<unknown, unknown>, name: string, luvio: Luvio): WireAdapterConstructor;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { Luvio } from '@luvio/engine';
|
|
2
|
+
import { dataToTupleWeakMap } from './utils/dataToTupleWeakMap';
|
|
3
|
+
export declare function bindWireRefresh(luvio: Luvio): <D>(data: D) => Promise<undefined> | undefined;
|
|
4
|
+
export declare function refreshData<D>(data: D, dataToTuple: typeof dataToTupleWeakMap, luvio: Luvio): Promise<undefined> | undefined;
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { Adapter, Luvio, Unsubscribe } from '@luvio/engine';
|
|
2
|
+
import { WireConfigValue, WireContextValue, DataCallback, WireAdapter, WireAdapterConstructor } from '@lwc/engine-core';
|
|
3
|
+
export declare class LWCLuvioWireAdapter implements WireAdapter {
|
|
4
|
+
adapter: Adapter<unknown, unknown>;
|
|
5
|
+
name: string;
|
|
6
|
+
callback: DataCallback;
|
|
7
|
+
config?: unknown;
|
|
8
|
+
connected: boolean;
|
|
9
|
+
luvio: Luvio;
|
|
10
|
+
unsubscriber?: Unsubscribe;
|
|
11
|
+
/**
|
|
12
|
+
* Constructs a new wire adapter instance for the given adapter.
|
|
13
|
+
*
|
|
14
|
+
* @param callback callback to be invoked with new values
|
|
15
|
+
*/
|
|
16
|
+
constructor(adapter: Adapter<unknown, unknown>, name: string, luvio: Luvio, callback: DataCallback);
|
|
17
|
+
/**
|
|
18
|
+
* Called when the component associated with the wire adapter is connected.
|
|
19
|
+
*/
|
|
20
|
+
connect(): void;
|
|
21
|
+
/**
|
|
22
|
+
* Called when the component associated with the wire adapter is disconnected.
|
|
23
|
+
*/
|
|
24
|
+
disconnect(): void;
|
|
25
|
+
/**
|
|
26
|
+
* Called when new or updated config is supplied to the wire adapter.
|
|
27
|
+
*
|
|
28
|
+
* @param config new config parameters for the wire adapter
|
|
29
|
+
* @param _context not used
|
|
30
|
+
*/
|
|
31
|
+
update(config: WireConfigValue, _context?: WireContextValue): void;
|
|
32
|
+
/**
|
|
33
|
+
* Calls the adapter if config has been set and the component is connected.
|
|
34
|
+
*/
|
|
35
|
+
private callAdapter;
|
|
36
|
+
/**
|
|
37
|
+
* Emits new values to the callback.
|
|
38
|
+
*
|
|
39
|
+
* @param snapshot Snapshot to be emitted, if omitted then undefineds will be emitted
|
|
40
|
+
*/
|
|
41
|
+
private emit;
|
|
42
|
+
/**
|
|
43
|
+
* Subscribes this wire adapter to future changes to the specified snapshot. Any changes
|
|
44
|
+
* to the snapshot will be automatically emitted to the component.
|
|
45
|
+
*
|
|
46
|
+
* @param snapshot Snapshot
|
|
47
|
+
* @param subscriptionCallback callback
|
|
48
|
+
*/
|
|
49
|
+
private subscribe;
|
|
50
|
+
/**
|
|
51
|
+
* Deletes this wire adapter's snapshot subscription (if any).
|
|
52
|
+
*/
|
|
53
|
+
private unsubscribe;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Wraps a luvio Adapter in a WireAdapterConstructor that conforms to https://rfcs.lwc.dev/rfcs/lwc/0000-wire-reform#wire-adapter-protocol.
|
|
57
|
+
*
|
|
58
|
+
* @param adapter Adapter
|
|
59
|
+
* @param name name to assign to the generated constructor
|
|
60
|
+
* @param luvio Luvio
|
|
61
|
+
*/
|
|
62
|
+
export declare function createWireAdapterConstructor(adapter: Adapter<unknown, unknown>, name: string, luvio: Luvio): WireAdapterConstructor;
|
package/dist/umd/es5/lwcluvio.js
CHANGED
|
@@ -1,74 +1,19 @@
|
|
|
1
1
|
(function (global, factory) {
|
|
2
2
|
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('lwc')) :
|
|
3
3
|
typeof define === 'function' && define.amd ? define(['exports', 'lwc'], factory) :
|
|
4
|
-
(global = global || self, factory(global.lwcLuvio = {}, global.LWC));
|
|
5
|
-
}(this, (function (exports, lwc) { 'use strict';
|
|
4
|
+
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.lwcLuvio = {}, global.LWC));
|
|
5
|
+
})(this, (function (exports, lwc) { 'use strict';
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
var
|
|
9
|
-
var
|
|
7
|
+
// instrumentation keys to be imported by ldsInstrumentation
|
|
8
|
+
var REFRESH_ADAPTER_EVENT = 'refresh-adapter-event';
|
|
9
|
+
var ADAPTER_UNFULFILLED_ERROR = 'adapter-unfulfilled-error';
|
|
10
|
+
var USERLAND_PROVISION_ERROR_MESSAGE = "LWC component's @wire target property or method threw an error during value provisioning. Original error:";
|
|
11
|
+
var ADAPTER_SNAPSHOT_REJECTED_MESSAGE = 'Luvio wire adapter Promise<Snapshot> rejected. Original error:';
|
|
10
12
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
this.copy = {};
|
|
15
|
-
this.currentPath = {
|
|
16
|
-
key: '',
|
|
17
|
-
value: obj,
|
|
18
|
-
parent: null,
|
|
19
|
-
data: this.copy,
|
|
20
|
-
};
|
|
21
|
-
}
|
|
22
|
-
Sanitizer.prototype.sanitize = function () {
|
|
23
|
-
var sanitizer = this;
|
|
24
|
-
stringify(this.obj, function (key, value) {
|
|
25
|
-
if (key === '') {
|
|
26
|
-
return value;
|
|
27
|
-
}
|
|
28
|
-
var parent = this;
|
|
29
|
-
if (parent !== sanitizer.currentPath.value) {
|
|
30
|
-
sanitizer.exit(parent);
|
|
31
|
-
}
|
|
32
|
-
if (typeof value === 'object' && value !== null) {
|
|
33
|
-
sanitizer.enter(key, value);
|
|
34
|
-
return value;
|
|
35
|
-
}
|
|
36
|
-
sanitizer.currentPath.data[key] = value;
|
|
37
|
-
return value;
|
|
38
|
-
});
|
|
39
|
-
return this.copy;
|
|
40
|
-
};
|
|
41
|
-
Sanitizer.prototype.enter = function (key, value) {
|
|
42
|
-
var parentPath = this.currentPath;
|
|
43
|
-
var data = (parentPath.data[key] = isArray(value) ? [] : {});
|
|
44
|
-
this.currentPath = {
|
|
45
|
-
key: key,
|
|
46
|
-
value: value,
|
|
47
|
-
parent: parentPath,
|
|
48
|
-
data: data,
|
|
49
|
-
};
|
|
50
|
-
};
|
|
51
|
-
Sanitizer.prototype.exit = function (parent) {
|
|
52
|
-
while (this.currentPath.value !== parent) {
|
|
53
|
-
this.currentPath = this.currentPath.parent || this.currentPath;
|
|
54
|
-
}
|
|
55
|
-
};
|
|
56
|
-
return Sanitizer;
|
|
57
|
-
}());
|
|
58
|
-
/**
|
|
59
|
-
* Returns a sanitized version of an object by recursively unwrapping the Proxies.
|
|
60
|
-
*
|
|
61
|
-
* In order to keep luvio performance optimal on IE11, we need to make sure that luvio code gets
|
|
62
|
-
* transformed by the es5-proxy-compat. At the same time we need to ensure that no ProxyCompat leaks
|
|
63
|
-
* into the luvio engine code nor into the adapters. All the data coming from LWC-land need to be
|
|
64
|
-
* sanitized first.
|
|
65
|
-
*/
|
|
66
|
-
function sanitize(obj) {
|
|
67
|
-
return new Sanitizer(obj).sanitize();
|
|
68
|
-
}
|
|
13
|
+
// map of emitted object -> [ adapter name, snapshot ]; snapshot is only undefined for the
|
|
14
|
+
// initially-emitted { data: undefined, error: undefined } value
|
|
15
|
+
var dataToTupleWeakMap = new WeakMap();
|
|
69
16
|
|
|
70
|
-
// Copied from engine to avoid build time dependency
|
|
71
|
-
// BEGIN OF COPY BLOCK
|
|
72
17
|
var SnapshotState;
|
|
73
18
|
(function (SnapshotState) {
|
|
74
19
|
SnapshotState["Fulfilled"] = "Fulfilled";
|
|
@@ -89,20 +34,36 @@
|
|
|
89
34
|
function isUnfulfilledSnapshot(snapshot) {
|
|
90
35
|
return snapshot.state === SnapshotState.Unfulfilled;
|
|
91
36
|
}
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
37
|
+
/**
|
|
38
|
+
* Transform a Snapshot into a payload suitable for passing to a DataCallback.
|
|
39
|
+
*
|
|
40
|
+
* @param snapshot Snapshot
|
|
41
|
+
*/
|
|
42
|
+
function snapshotToPayload(snapshot) {
|
|
43
|
+
if (snapshot === undefined) {
|
|
44
|
+
return {
|
|
45
|
+
data: undefined,
|
|
46
|
+
error: undefined,
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
if (isErrorSnapshot(snapshot)) {
|
|
50
|
+
return {
|
|
51
|
+
data: undefined,
|
|
52
|
+
error: snapshot.error,
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
// fulfilled or stale
|
|
56
|
+
return {
|
|
57
|
+
data: snapshot.data,
|
|
58
|
+
error: undefined,
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
|
|
98
62
|
function bindWireRefresh(luvio) {
|
|
99
63
|
return function refresh(data) {
|
|
100
64
|
return refreshData(data, dataToTupleWeakMap, luvio);
|
|
101
65
|
};
|
|
102
66
|
}
|
|
103
|
-
// instrumentation keys to be imported by ldsInstrumentation
|
|
104
|
-
var REFRESH_ADAPTER_EVENT = 'refresh-adapter-event';
|
|
105
|
-
var ADAPTER_UNFULFILLED_ERROR = 'adapter-unfulfilled-error';
|
|
106
67
|
function refreshData(data, dataToTuple, luvio) {
|
|
107
68
|
var tuple = dataToTuple.get(lwc.unwrap(data));
|
|
108
69
|
if (tuple === undefined) {
|
|
@@ -135,35 +96,17 @@
|
|
|
135
96
|
}
|
|
136
97
|
return undefined;
|
|
137
98
|
});
|
|
138
|
-
}
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
var keys = Object.keys;
|
|
102
|
+
var isArray = Array.isArray;
|
|
103
|
+
var stringify = JSON.stringify;
|
|
104
|
+
|
|
139
105
|
function isPromise(value) {
|
|
140
106
|
// check for Thenable due to test frameworks using custom Promise impls
|
|
141
107
|
return value.then !== undefined;
|
|
142
|
-
}
|
|
143
|
-
|
|
144
|
-
* Transform a Snapshot into a payload suitable for passing to a DataCallback.
|
|
145
|
-
*
|
|
146
|
-
* @param snapshot Snapshot
|
|
147
|
-
*/
|
|
148
|
-
function snapshotToPayload(snapshot) {
|
|
149
|
-
if (snapshot === undefined) {
|
|
150
|
-
return {
|
|
151
|
-
data: undefined,
|
|
152
|
-
error: undefined,
|
|
153
|
-
};
|
|
154
|
-
}
|
|
155
|
-
if (isErrorSnapshot(snapshot)) {
|
|
156
|
-
return {
|
|
157
|
-
data: undefined,
|
|
158
|
-
error: snapshot.error,
|
|
159
|
-
};
|
|
160
|
-
}
|
|
161
|
-
// fulfilled or stale
|
|
162
|
-
return {
|
|
163
|
-
data: snapshot.data,
|
|
164
|
-
error: undefined,
|
|
165
|
-
};
|
|
166
|
-
}
|
|
108
|
+
}
|
|
109
|
+
|
|
167
110
|
/**
|
|
168
111
|
* (Re)throws an error after adding a prefix to the message.
|
|
169
112
|
*
|
|
@@ -176,7 +119,67 @@
|
|
|
176
119
|
throw error;
|
|
177
120
|
}
|
|
178
121
|
throw new Error(messagePrefix + "\n[" + stringify(error) + "]");
|
|
179
|
-
}
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
var Sanitizer = /** @class */ (function () {
|
|
125
|
+
function Sanitizer(obj) {
|
|
126
|
+
this.obj = obj;
|
|
127
|
+
this.copy = {};
|
|
128
|
+
this.currentPath = {
|
|
129
|
+
key: '',
|
|
130
|
+
value: obj,
|
|
131
|
+
parent: null,
|
|
132
|
+
data: this.copy,
|
|
133
|
+
};
|
|
134
|
+
}
|
|
135
|
+
Sanitizer.prototype.sanitize = function () {
|
|
136
|
+
var sanitizer = this;
|
|
137
|
+
stringify(this.obj, function (key, value) {
|
|
138
|
+
if (key === '') {
|
|
139
|
+
return value;
|
|
140
|
+
}
|
|
141
|
+
var parent = this;
|
|
142
|
+
if (parent !== sanitizer.currentPath.value) {
|
|
143
|
+
sanitizer.exit(parent);
|
|
144
|
+
}
|
|
145
|
+
if (typeof value === 'object' && value !== null) {
|
|
146
|
+
sanitizer.enter(key, value);
|
|
147
|
+
return value;
|
|
148
|
+
}
|
|
149
|
+
sanitizer.currentPath.data[key] = value;
|
|
150
|
+
return value;
|
|
151
|
+
});
|
|
152
|
+
return this.copy;
|
|
153
|
+
};
|
|
154
|
+
Sanitizer.prototype.enter = function (key, value) {
|
|
155
|
+
var parentPath = this.currentPath;
|
|
156
|
+
var data = (parentPath.data[key] = isArray(value) ? [] : {});
|
|
157
|
+
this.currentPath = {
|
|
158
|
+
key: key,
|
|
159
|
+
value: value,
|
|
160
|
+
parent: parentPath,
|
|
161
|
+
data: data,
|
|
162
|
+
};
|
|
163
|
+
};
|
|
164
|
+
Sanitizer.prototype.exit = function (parent) {
|
|
165
|
+
while (this.currentPath.value !== parent) {
|
|
166
|
+
this.currentPath = this.currentPath.parent || this.currentPath;
|
|
167
|
+
}
|
|
168
|
+
};
|
|
169
|
+
return Sanitizer;
|
|
170
|
+
}());
|
|
171
|
+
/**
|
|
172
|
+
* Returns a sanitized version of an object by recursively unwrapping the Proxies.
|
|
173
|
+
*
|
|
174
|
+
* In order to keep luvio performance optimal on IE11, we need to make sure that luvio code gets
|
|
175
|
+
* transformed by the es5-proxy-compat. At the same time we need to ensure that no ProxyCompat leaks
|
|
176
|
+
* into the luvio engine code nor into the adapters. All the data coming from LWC-land need to be
|
|
177
|
+
* sanitized first.
|
|
178
|
+
*/
|
|
179
|
+
function sanitize(obj) {
|
|
180
|
+
return new Sanitizer(obj).sanitize();
|
|
181
|
+
}
|
|
182
|
+
|
|
180
183
|
var LWCLuvioWireAdapter = /** @class */ (function () {
|
|
181
184
|
/**
|
|
182
185
|
* Constructs a new wire adapter instance for the given adapter.
|
|
@@ -353,12 +356,62 @@
|
|
|
353
356
|
return constructor;
|
|
354
357
|
}
|
|
355
358
|
|
|
359
|
+
/*! *****************************************************************************
|
|
360
|
+
Copyright (c) Microsoft Corporation. All rights reserved.
|
|
361
|
+
Licensed under the Apache License, Version 2.0 (the "License"); you may not use
|
|
362
|
+
this file except in compliance with the License. You may obtain a copy of the
|
|
363
|
+
License at http://www.apache.org/licenses/LICENSE-2.0
|
|
364
|
+
|
|
365
|
+
THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
|
366
|
+
KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
|
|
367
|
+
WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
|
|
368
|
+
MERCHANTABLITY OR NON-INFRINGEMENT.
|
|
369
|
+
|
|
370
|
+
See the Apache Version 2.0 License for specific language governing permissions
|
|
371
|
+
and limitations under the License.
|
|
372
|
+
***************************************************************************** */
|
|
373
|
+
/* global Reflect, Promise */
|
|
374
|
+
|
|
375
|
+
var extendStatics = function(d, b) {
|
|
376
|
+
extendStatics = Object.setPrototypeOf ||
|
|
377
|
+
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
378
|
+
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
379
|
+
return extendStatics(d, b);
|
|
380
|
+
};
|
|
381
|
+
|
|
382
|
+
function __extends(d, b) {
|
|
383
|
+
extendStatics(d, b);
|
|
384
|
+
function __() { this.constructor = d; }
|
|
385
|
+
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
386
|
+
}
|
|
387
|
+
|
|
388
|
+
var LWCInfinteScrollingLuvioWireAdapter = /** @class */ (function (_super) {
|
|
389
|
+
__extends(LWCInfinteScrollingLuvioWireAdapter, _super);
|
|
390
|
+
function LWCInfinteScrollingLuvioWireAdapter() {
|
|
391
|
+
return _super !== null && _super.apply(this, arguments) || this;
|
|
392
|
+
}
|
|
393
|
+
return LWCInfinteScrollingLuvioWireAdapter;
|
|
394
|
+
}(LWCLuvioWireAdapter));
|
|
395
|
+
function createInfiniteScrollingWireAdapterConstructor(adapter, name, luvio) {
|
|
396
|
+
var constructor = function (callback) {
|
|
397
|
+
var delegate = new LWCInfinteScrollingLuvioWireAdapter(adapter, name, luvio, callback);
|
|
398
|
+
this.connect = function () { return delegate.connect(); };
|
|
399
|
+
this.disconnect = function () { return delegate.disconnect(); };
|
|
400
|
+
this.update = function (config, context) {
|
|
401
|
+
return delegate.update(config, context);
|
|
402
|
+
};
|
|
403
|
+
};
|
|
404
|
+
Object.defineProperty(constructor, 'name', { value: name });
|
|
405
|
+
return constructor;
|
|
406
|
+
}
|
|
407
|
+
|
|
356
408
|
exports.ADAPTER_UNFULFILLED_ERROR = ADAPTER_UNFULFILLED_ERROR;
|
|
357
409
|
exports.REFRESH_ADAPTER_EVENT = REFRESH_ADAPTER_EVENT;
|
|
358
410
|
exports.bindWireRefresh = bindWireRefresh;
|
|
411
|
+
exports.createInfiniteScrollingWireAdapterConstructor = createInfiniteScrollingWireAdapterConstructor;
|
|
359
412
|
exports.createWireAdapterConstructor = createWireAdapterConstructor;
|
|
360
413
|
exports.refreshData = refreshData;
|
|
361
414
|
|
|
362
415
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
363
416
|
|
|
364
|
-
}))
|
|
417
|
+
}));
|
package/dist/umd/es5/main.d.ts
CHANGED
|
@@ -1,16 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
export
|
|
6
|
-
export declare const ADAPTER_UNFULFILLED_ERROR = "adapter-unfulfilled-error";
|
|
7
|
-
export declare function refreshData<D>(data: D, dataToTuple: typeof dataToTupleWeakMap, luvio: Luvio): Promise<undefined> | undefined;
|
|
8
|
-
/**
|
|
9
|
-
* Wraps a luvio Adapter in a WireAdapterConstructor that conforms to https://rfcs.lwc.dev/rfcs/lwc/0000-wire-reform#wire-adapter-protocol.
|
|
10
|
-
*
|
|
11
|
-
* @param adapter Adapter
|
|
12
|
-
* @param name name to assign to the generated constructor
|
|
13
|
-
* @param luvio Luvio
|
|
14
|
-
*/
|
|
15
|
-
export declare function createWireAdapterConstructor(adapter: Adapter<unknown, unknown>, name: string, luvio: Luvio): WireAdapterConstructor;
|
|
16
|
-
export {};
|
|
1
|
+
import { REFRESH_ADAPTER_EVENT, ADAPTER_UNFULFILLED_ERROR } from './utils/constants';
|
|
2
|
+
import { bindWireRefresh, refreshData } from './LWCLuvioBindings';
|
|
3
|
+
import { createWireAdapterConstructor } from './LWCLuvioWireAdapter';
|
|
4
|
+
import { createInfiniteScrollingWireAdapterConstructor } from './LWCInfiniteScrollingLuvioWireAdapter';
|
|
5
|
+
export { createWireAdapterConstructor, createInfiniteScrollingWireAdapterConstructor, bindWireRefresh, refreshData, REFRESH_ADAPTER_EVENT, ADAPTER_UNFULFILLED_ERROR, };
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { ErrorSnapshot, Snapshot, StaleSnapshot, FulfilledSnapshot, UnfulfilledSnapshot } from '@luvio/engine';
|
|
2
|
+
export declare function isErrorSnapshot(snapshot: Snapshot<unknown, unknown>): snapshot is ErrorSnapshot;
|
|
3
|
+
export declare function isFulfilledSnapshot(snapshot: Snapshot<unknown, unknown>): snapshot is FulfilledSnapshot<unknown, unknown>;
|
|
4
|
+
export declare function isStaleSnapshot(snapshot: Snapshot<unknown, unknown>): snapshot is StaleSnapshot<unknown, unknown>;
|
|
5
|
+
export declare function isUnfulfilledSnapshot(snapshot: Snapshot<unknown, unknown>): snapshot is UnfulfilledSnapshot<unknown, unknown>;
|
|
6
|
+
export declare type EmittableSnapshot = FulfilledSnapshot<unknown> | StaleSnapshot<unknown> | ErrorSnapshot;
|
|
7
|
+
/**
|
|
8
|
+
* Transform a Snapshot into a payload suitable for passing to a DataCallback.
|
|
9
|
+
*
|
|
10
|
+
* @param snapshot Snapshot
|
|
11
|
+
*/
|
|
12
|
+
export declare function snapshotToPayload(snapshot?: EmittableSnapshot): any;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export declare const REFRESH_ADAPTER_EVENT = "refresh-adapter-event";
|
|
2
|
+
export declare const ADAPTER_UNFULFILLED_ERROR = "adapter-unfulfilled-error";
|
|
3
|
+
export declare const USERLAND_PROVISION_ERROR_MESSAGE = "LWC component's @wire target property or method threw an error during value provisioning. Original error:";
|
|
4
|
+
export declare const ADAPTER_SNAPSHOT_REJECTED_MESSAGE = "Luvio wire adapter Promise<Snapshot> rejected. Original error:";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const dataToTupleWeakMap: WeakMap<any, [string, import("@luvio/engine").ErrorSnapshot | import("@luvio/engine").FulfilledSnapshot<unknown, unknown> | import("@luvio/engine").UnfulfilledSnapshot<unknown, unknown> | import("@luvio/engine").StaleSnapshot<unknown, unknown> | import("@luvio/engine").PendingSnapshot<unknown, unknown> | undefined]>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function isPromise<U>(value: Promise<U> | U): value is Promise<U>;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@luvio/lwc-luvio",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.63.1",
|
|
4
4
|
"description": "Lightning Web Component bindings for Luvio",
|
|
5
5
|
"main": "dist/umd/es2018/lwcluvio.js",
|
|
6
6
|
"module": "dist/es/es2018/lwcluvio.js",
|
|
@@ -18,12 +18,12 @@
|
|
|
18
18
|
"dist/"
|
|
19
19
|
],
|
|
20
20
|
"devDependencies": {
|
|
21
|
-
"@luvio/adapter-test-library": "0.
|
|
22
|
-
"@luvio/cli": "0.
|
|
21
|
+
"@luvio/adapter-test-library": "0.63.1",
|
|
22
|
+
"@luvio/cli": "0.63.1",
|
|
23
23
|
"@lwc/jest-preset": "11.2.2"
|
|
24
24
|
},
|
|
25
25
|
"dependencies": {
|
|
26
|
-
"@luvio/engine": "0.
|
|
26
|
+
"@luvio/engine": "0.63.1",
|
|
27
27
|
"@lwc/engine-core": "^2.5.10"
|
|
28
28
|
}
|
|
29
29
|
}
|