@viewfly/core 2.0.0 → 2.1.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/bundles/index.d.ts +63 -17
- package/bundles/index.esm.js +80 -1
- package/bundles/index.js +82 -0
- package/package.json +1 -1
package/bundles/index.d.ts
CHANGED
|
@@ -191,22 +191,6 @@ declare class ReflectiveInjector implements Injector {
|
|
|
191
191
|
|
|
192
192
|
declare function makeError(name: string): (message: string) => Error;
|
|
193
193
|
|
|
194
|
-
interface Props {
|
|
195
|
-
children?: JSXNode | JSXNode[];
|
|
196
|
-
}
|
|
197
|
-
declare function Fragment(props: Props): () => JSXNode | JSXNode[];
|
|
198
|
-
type Key = number | string;
|
|
199
|
-
declare function jsx(type: string | ComponentSetup, props: Props & Record<string, any>, key?: Key): ViewFlyNode;
|
|
200
|
-
declare const jsxs: typeof jsx;
|
|
201
|
-
interface ViewFlyNode<T = string | ComponentSetup> {
|
|
202
|
-
type: T;
|
|
203
|
-
props: Props & Record<string, any>;
|
|
204
|
-
key?: Key;
|
|
205
|
-
}
|
|
206
|
-
declare const JSXNodeFactory: {
|
|
207
|
-
createNode<T = string | ComponentSetup<any>>(type: T, props: Props & Record<string, any>, key?: Key): ViewFlyNode<T>;
|
|
208
|
-
};
|
|
209
|
-
|
|
210
194
|
declare function comparePropsWithCallbacks(oldProps: Record<string, any>, newProps: Record<string, any>, onDeleted: (key: string, oldValue: any) => void, onAdded: (key: string, value: any) => void, onUpdated: (key: string, newValue: any, oldValue: any) => void): void;
|
|
211
195
|
declare const TextAtomType: unique symbol;
|
|
212
196
|
declare const ElementAtomType: unique symbol;
|
|
@@ -267,6 +251,63 @@ declare abstract class NativeRenderer<ElementNode = NativeNode, TextNode = Nativ
|
|
|
267
251
|
abstract getNameSpace(type: string, namespace: ElementNamespace): string | void;
|
|
268
252
|
}
|
|
269
253
|
|
|
254
|
+
interface Props {
|
|
255
|
+
children?: JSXNode | JSXNode[];
|
|
256
|
+
}
|
|
257
|
+
declare function Fragment(props: Props): () => JSXNode | JSXNode[];
|
|
258
|
+
type Key = number | string;
|
|
259
|
+
declare function jsx(type: string | ComponentSetup, props: Props & Record<string, any>, key?: Key): ViewFlyNode;
|
|
260
|
+
declare const jsxs: typeof jsx;
|
|
261
|
+
interface ViewFlyNode<T = string | ComponentSetup> {
|
|
262
|
+
type: T;
|
|
263
|
+
props: Props & Record<string, any>;
|
|
264
|
+
key?: Key;
|
|
265
|
+
}
|
|
266
|
+
declare const JSXNodeFactory: {
|
|
267
|
+
createNode<T = string | ComponentSetup<any>>(type: T, props: Props & Record<string, any>, key?: Key): ViewFlyNode<T>;
|
|
268
|
+
};
|
|
269
|
+
/**
|
|
270
|
+
* 给组件的视图元素节点添加自定义属性标记
|
|
271
|
+
* @param marks
|
|
272
|
+
* @param setup
|
|
273
|
+
* @example
|
|
274
|
+
* ```tsx
|
|
275
|
+
* const App = withMark('mark', function(props) {
|
|
276
|
+
* return () => {
|
|
277
|
+
* return <div>...</div>
|
|
278
|
+
* }
|
|
279
|
+
* })
|
|
280
|
+
* ```
|
|
281
|
+
*/
|
|
282
|
+
declare function withMark<T extends ComponentSetup>(marks: string | string[], setup: T): T;
|
|
283
|
+
declare function applyMark(mark: string | string[], render: () => JSXNode): JSXNode;
|
|
284
|
+
interface PortalProps<T extends NativeNode> extends Props {
|
|
285
|
+
host: T;
|
|
286
|
+
}
|
|
287
|
+
/**
|
|
288
|
+
* 将子节点渲染到指定节点
|
|
289
|
+
* @param props
|
|
290
|
+
* @example
|
|
291
|
+
* ```tsx
|
|
292
|
+
* function App() {
|
|
293
|
+
* const modal = document.getElementById('modal')!
|
|
294
|
+
* return () => {
|
|
295
|
+
* return (
|
|
296
|
+
* <div>
|
|
297
|
+
* <Portal host={modal}>
|
|
298
|
+
* 这里的内容将渲染到 modal 节点
|
|
299
|
+
* </Portal>
|
|
300
|
+
* </div>
|
|
301
|
+
* )
|
|
302
|
+
* }
|
|
303
|
+
* }
|
|
304
|
+
* ```
|
|
305
|
+
*/
|
|
306
|
+
declare function Portal<T extends NativeNode>(props: PortalProps<T>): {
|
|
307
|
+
$portalHost: T;
|
|
308
|
+
$render(): JSXNode | JSXNode[];
|
|
309
|
+
};
|
|
310
|
+
|
|
270
311
|
interface RefListener<T> {
|
|
271
312
|
(current: T): void | (() => void);
|
|
272
313
|
}
|
|
@@ -490,6 +531,11 @@ declare function getDepContext(): Dep | undefined;
|
|
|
490
531
|
declare function pushDepContext(dep: Dep): void;
|
|
491
532
|
declare function popDepContext(): void;
|
|
492
533
|
|
|
534
|
+
/**
|
|
535
|
+
* @deprecated 即将弃用,Viewfly 默认就有 memo 的效果
|
|
536
|
+
* @param canUseMemo
|
|
537
|
+
* @param render
|
|
538
|
+
*/
|
|
493
539
|
declare function withMemo<T extends Props = Props>(canUseMemo: ComponentInstance<T>['$useMemo'], render: () => JSXNode): ComponentInstance<T>;
|
|
494
540
|
|
|
495
541
|
declare function createRenderer(component: Component, nativeRenderer: NativeRenderer, namespace: ElementNamespace): (host: NativeNode) => void;
|
|
@@ -719,4 +765,4 @@ declare function createEffect<T, T1, T2, T3, T4, T5, T6, T7>(deps: [Signal<T>, S
|
|
|
719
765
|
declare function createEffect<T>(deps: () => T, callback: EffectCallback<T>): () => void;
|
|
720
766
|
declare function createEffect<T = any>(deps: Signal<any>[], callback: EffectCallback<T[]>): () => void;
|
|
721
767
|
|
|
722
|
-
export { type AbstractInstanceType, type AbstractProvider, type AbstractType, type Application, ArrayReactiveHandler, type Atom, type ClassNames, type ClassProvider, Component, type ComponentAnnotation, type ComponentInstance, type ComponentSetup, type ComponentViewMetadata, type Computed, type Config, type ConstructorProvider, type ContextProvider, type ContextProviderParams, Dep, DynamicRef, type EffectCallback, type ElementNamespace, type ExistingProvider, type ExtractInstanceType, type ExtractValueType, type FactoryProvider, ForwardRef, Fragment, Inject, type InjectDecorator, InjectFlags, Injectable, type InjectableDecorator, type InjectableOptions, InjectionToken, Injector, JSX, type JSXNode, JSXNodeFactory, type Key, type LifeCycleCallback, MapReactiveHandler, type Module, type NativeNode, NativeRenderer, type NormalizedProvider, NullInjector, ObjectReactiveHandler, Optional, type OptionalDecorator, Prop, type PropDecorator, type Props, type ProvideScope, type Provider, type ReactiveConfig, type RefListener, type ReflectiveDependency, ReflectiveInjector, RootComponent, Scope, Self, type SelfDecorator, SetReactiveHandler, type Signal, SkipSelf, type SkipSelfDecorator, type StaticProvider, StaticRef, THROW_IF_NOT_FOUND, TrackOpTypes, TriggerOpTypes, Type, type TypeProvider, type ValueProvider, type ViewFlyNode, comparePropsWithCallbacks, computed, createContext, createContextProvider, createDerived, createDynamicRef, createEffect, createRef, createRenderer, createSignal, defaultArrayReactiveHandler, defaultMapReactiveHandler, defaultObjectReactiveHandler, defaultSetReactiveHandler, defaultShallowArrayReactiveHandler, defaultShallowMapReactiveHandler, defaultShallowObjectReactiveHandler, defaultShallowSetReactiveHandler, forwardRef, getCurrentInstance, getDepContext, getSetupContext, inject, internalWrite, isReactive, jsx, jsxs, makeError, normalizeProvider, onMounted, onUnmounted, onUpdated, popDepContext, proxyToRawCache, pushDepContext, rawToProxyCache, reactive, readonlyProxyHandler, registryComponentDestroyCallback, shallowReactive, toRaw, track, trigger, viewfly, watch, withAnnotation, withMemo };
|
|
768
|
+
export { type AbstractInstanceType, type AbstractProvider, type AbstractType, type Application, ArrayReactiveHandler, type Atom, type ClassNames, type ClassProvider, Component, type ComponentAnnotation, type ComponentInstance, type ComponentSetup, type ComponentViewMetadata, type Computed, type Config, type ConstructorProvider, type ContextProvider, type ContextProviderParams, Dep, DynamicRef, type EffectCallback, type ElementNamespace, type ExistingProvider, type ExtractInstanceType, type ExtractValueType, type FactoryProvider, ForwardRef, Fragment, Inject, type InjectDecorator, InjectFlags, Injectable, type InjectableDecorator, type InjectableOptions, InjectionToken, Injector, JSX, type JSXNode, JSXNodeFactory, type Key, type LifeCycleCallback, MapReactiveHandler, type Module, type NativeNode, NativeRenderer, type NormalizedProvider, NullInjector, ObjectReactiveHandler, Optional, type OptionalDecorator, Portal, type PortalProps, Prop, type PropDecorator, type Props, type ProvideScope, type Provider, type ReactiveConfig, type RefListener, type ReflectiveDependency, ReflectiveInjector, RootComponent, Scope, Self, type SelfDecorator, SetReactiveHandler, type Signal, SkipSelf, type SkipSelfDecorator, type StaticProvider, StaticRef, THROW_IF_NOT_FOUND, TrackOpTypes, TriggerOpTypes, Type, type TypeProvider, type ValueProvider, type ViewFlyNode, applyMark, comparePropsWithCallbacks, computed, createContext, createContextProvider, createDerived, createDynamicRef, createEffect, createRef, createRenderer, createSignal, defaultArrayReactiveHandler, defaultMapReactiveHandler, defaultObjectReactiveHandler, defaultSetReactiveHandler, defaultShallowArrayReactiveHandler, defaultShallowMapReactiveHandler, defaultShallowObjectReactiveHandler, defaultShallowSetReactiveHandler, forwardRef, getCurrentInstance, getDepContext, getSetupContext, inject, internalWrite, isReactive, jsx, jsxs, makeError, normalizeProvider, onMounted, onUnmounted, onUpdated, popDepContext, proxyToRawCache, pushDepContext, rawToProxyCache, reactive, readonlyProxyHandler, registryComponentDestroyCallback, shallowReactive, toRaw, track, trigger, viewfly, watch, withAnnotation, withMark, withMemo };
|
package/bundles/index.esm.js
CHANGED
|
@@ -1645,6 +1645,80 @@ const JSXNodeFactory = {
|
|
|
1645
1645
|
};
|
|
1646
1646
|
}
|
|
1647
1647
|
};
|
|
1648
|
+
/**
|
|
1649
|
+
* 给组件的视图元素节点添加自定义属性标记
|
|
1650
|
+
* @param marks
|
|
1651
|
+
* @param setup
|
|
1652
|
+
* @example
|
|
1653
|
+
* ```tsx
|
|
1654
|
+
* const App = withMark('mark', function(props) {
|
|
1655
|
+
* return () => {
|
|
1656
|
+
* return <div>...</div>
|
|
1657
|
+
* }
|
|
1658
|
+
* })
|
|
1659
|
+
* ```
|
|
1660
|
+
*/
|
|
1661
|
+
function withMark(marks, setup) {
|
|
1662
|
+
if (!marks) {
|
|
1663
|
+
return setup;
|
|
1664
|
+
}
|
|
1665
|
+
return function (props) {
|
|
1666
|
+
const componentRenderFn = setup(props);
|
|
1667
|
+
const isFn = typeof componentRenderFn === 'function';
|
|
1668
|
+
if (isFn) {
|
|
1669
|
+
return function () {
|
|
1670
|
+
return applyMark(marks, componentRenderFn);
|
|
1671
|
+
};
|
|
1672
|
+
}
|
|
1673
|
+
const oldRender = componentRenderFn.$render;
|
|
1674
|
+
componentRenderFn.$render = function () {
|
|
1675
|
+
return applyMark(marks, () => {
|
|
1676
|
+
return oldRender.call(componentRenderFn);
|
|
1677
|
+
});
|
|
1678
|
+
};
|
|
1679
|
+
return componentRenderFn;
|
|
1680
|
+
};
|
|
1681
|
+
}
|
|
1682
|
+
function applyMark(mark, render) {
|
|
1683
|
+
const oldCreateNote = JSXNodeFactory.createNode;
|
|
1684
|
+
const spaces = Array.isArray(mark) ? mark : [mark];
|
|
1685
|
+
JSXNodeFactory.createNode = function (name, props, key) {
|
|
1686
|
+
for (const scopedId of spaces) {
|
|
1687
|
+
props[scopedId] = '';
|
|
1688
|
+
}
|
|
1689
|
+
return oldCreateNote.apply(JSXNodeFactory, [name, props, key]);
|
|
1690
|
+
};
|
|
1691
|
+
const vDom = render();
|
|
1692
|
+
JSXNodeFactory.createNode = oldCreateNote;
|
|
1693
|
+
return vDom;
|
|
1694
|
+
}
|
|
1695
|
+
/**
|
|
1696
|
+
* 将子节点渲染到指定节点
|
|
1697
|
+
* @param props
|
|
1698
|
+
* @example
|
|
1699
|
+
* ```tsx
|
|
1700
|
+
* function App() {
|
|
1701
|
+
* const modal = document.getElementById('modal')!
|
|
1702
|
+
* return () => {
|
|
1703
|
+
* return (
|
|
1704
|
+
* <div>
|
|
1705
|
+
* <Portal host={modal}>
|
|
1706
|
+
* 这里的内容将渲染到 modal 节点
|
|
1707
|
+
* </Portal>
|
|
1708
|
+
* </div>
|
|
1709
|
+
* )
|
|
1710
|
+
* }
|
|
1711
|
+
* }
|
|
1712
|
+
* ```
|
|
1713
|
+
*/
|
|
1714
|
+
function Portal(props) {
|
|
1715
|
+
return {
|
|
1716
|
+
$portalHost: props.host,
|
|
1717
|
+
$render() {
|
|
1718
|
+
return props.children;
|
|
1719
|
+
}
|
|
1720
|
+
};
|
|
1721
|
+
}
|
|
1648
1722
|
|
|
1649
1723
|
function watch(trigger, callback) {
|
|
1650
1724
|
let prevFn;
|
|
@@ -1753,6 +1827,11 @@ function withAnnotation(annotation, componentSetup) {
|
|
|
1753
1827
|
class NativeRenderer {
|
|
1754
1828
|
}
|
|
1755
1829
|
|
|
1830
|
+
/**
|
|
1831
|
+
* @deprecated 即将弃用,Viewfly 默认就有 memo 的效果
|
|
1832
|
+
* @param canUseMemo
|
|
1833
|
+
* @param render
|
|
1834
|
+
*/
|
|
1756
1835
|
function withMemo(canUseMemo, render) {
|
|
1757
1836
|
return {
|
|
1758
1837
|
$useMemo: canUseMemo,
|
|
@@ -2618,4 +2697,4 @@ function createEffect(deps, callback) {
|
|
|
2618
2697
|
return unWatch;
|
|
2619
2698
|
}
|
|
2620
2699
|
|
|
2621
|
-
export { ArrayReactiveHandler, Component, Dep, DynamicRef, ForwardRef, Fragment, Inject, InjectFlags, Injectable, InjectionToken, Injector, JSXNodeFactory, MapReactiveHandler, NativeRenderer, NullInjector, ObjectReactiveHandler, Optional, Prop, ReflectiveInjector, RootComponent, Scope, Self, SetReactiveHandler, SkipSelf, StaticRef, THROW_IF_NOT_FOUND, TrackOpTypes, TriggerOpTypes, Type, comparePropsWithCallbacks, computed, createContext, createContextProvider, createDerived, createDynamicRef, createEffect, createRef, createRenderer, createSignal, defaultArrayReactiveHandler, defaultMapReactiveHandler, defaultObjectReactiveHandler, defaultSetReactiveHandler, defaultShallowArrayReactiveHandler, defaultShallowMapReactiveHandler, defaultShallowObjectReactiveHandler, defaultShallowSetReactiveHandler, forwardRef, getCurrentInstance, getDepContext, getSetupContext, inject, internalWrite, isReactive, jsx, jsxs, makeError, normalizeProvider, onMounted, onUnmounted, onUpdated, popDepContext, proxyToRawCache, pushDepContext, rawToProxyCache, reactive, readonlyProxyHandler, registryComponentDestroyCallback, shallowReactive, toRaw, track, trigger, viewfly, watch, withAnnotation, withMemo };
|
|
2700
|
+
export { ArrayReactiveHandler, Component, Dep, DynamicRef, ForwardRef, Fragment, Inject, InjectFlags, Injectable, InjectionToken, Injector, JSXNodeFactory, MapReactiveHandler, NativeRenderer, NullInjector, ObjectReactiveHandler, Optional, Portal, Prop, ReflectiveInjector, RootComponent, Scope, Self, SetReactiveHandler, SkipSelf, StaticRef, THROW_IF_NOT_FOUND, TrackOpTypes, TriggerOpTypes, Type, applyMark, comparePropsWithCallbacks, computed, createContext, createContextProvider, createDerived, createDynamicRef, createEffect, createRef, createRenderer, createSignal, defaultArrayReactiveHandler, defaultMapReactiveHandler, defaultObjectReactiveHandler, defaultSetReactiveHandler, defaultShallowArrayReactiveHandler, defaultShallowMapReactiveHandler, defaultShallowObjectReactiveHandler, defaultShallowSetReactiveHandler, forwardRef, getCurrentInstance, getDepContext, getSetupContext, inject, internalWrite, isReactive, jsx, jsxs, makeError, normalizeProvider, onMounted, onUnmounted, onUpdated, popDepContext, proxyToRawCache, pushDepContext, rawToProxyCache, reactive, readonlyProxyHandler, registryComponentDestroyCallback, shallowReactive, toRaw, track, trigger, viewfly, watch, withAnnotation, withMark, withMemo };
|
package/bundles/index.js
CHANGED
|
@@ -1647,6 +1647,80 @@ const JSXNodeFactory = {
|
|
|
1647
1647
|
};
|
|
1648
1648
|
}
|
|
1649
1649
|
};
|
|
1650
|
+
/**
|
|
1651
|
+
* 给组件的视图元素节点添加自定义属性标记
|
|
1652
|
+
* @param marks
|
|
1653
|
+
* @param setup
|
|
1654
|
+
* @example
|
|
1655
|
+
* ```tsx
|
|
1656
|
+
* const App = withMark('mark', function(props) {
|
|
1657
|
+
* return () => {
|
|
1658
|
+
* return <div>...</div>
|
|
1659
|
+
* }
|
|
1660
|
+
* })
|
|
1661
|
+
* ```
|
|
1662
|
+
*/
|
|
1663
|
+
function withMark(marks, setup) {
|
|
1664
|
+
if (!marks) {
|
|
1665
|
+
return setup;
|
|
1666
|
+
}
|
|
1667
|
+
return function (props) {
|
|
1668
|
+
const componentRenderFn = setup(props);
|
|
1669
|
+
const isFn = typeof componentRenderFn === 'function';
|
|
1670
|
+
if (isFn) {
|
|
1671
|
+
return function () {
|
|
1672
|
+
return applyMark(marks, componentRenderFn);
|
|
1673
|
+
};
|
|
1674
|
+
}
|
|
1675
|
+
const oldRender = componentRenderFn.$render;
|
|
1676
|
+
componentRenderFn.$render = function () {
|
|
1677
|
+
return applyMark(marks, () => {
|
|
1678
|
+
return oldRender.call(componentRenderFn);
|
|
1679
|
+
});
|
|
1680
|
+
};
|
|
1681
|
+
return componentRenderFn;
|
|
1682
|
+
};
|
|
1683
|
+
}
|
|
1684
|
+
function applyMark(mark, render) {
|
|
1685
|
+
const oldCreateNote = JSXNodeFactory.createNode;
|
|
1686
|
+
const spaces = Array.isArray(mark) ? mark : [mark];
|
|
1687
|
+
JSXNodeFactory.createNode = function (name, props, key) {
|
|
1688
|
+
for (const scopedId of spaces) {
|
|
1689
|
+
props[scopedId] = '';
|
|
1690
|
+
}
|
|
1691
|
+
return oldCreateNote.apply(JSXNodeFactory, [name, props, key]);
|
|
1692
|
+
};
|
|
1693
|
+
const vDom = render();
|
|
1694
|
+
JSXNodeFactory.createNode = oldCreateNote;
|
|
1695
|
+
return vDom;
|
|
1696
|
+
}
|
|
1697
|
+
/**
|
|
1698
|
+
* 将子节点渲染到指定节点
|
|
1699
|
+
* @param props
|
|
1700
|
+
* @example
|
|
1701
|
+
* ```tsx
|
|
1702
|
+
* function App() {
|
|
1703
|
+
* const modal = document.getElementById('modal')!
|
|
1704
|
+
* return () => {
|
|
1705
|
+
* return (
|
|
1706
|
+
* <div>
|
|
1707
|
+
* <Portal host={modal}>
|
|
1708
|
+
* 这里的内容将渲染到 modal 节点
|
|
1709
|
+
* </Portal>
|
|
1710
|
+
* </div>
|
|
1711
|
+
* )
|
|
1712
|
+
* }
|
|
1713
|
+
* }
|
|
1714
|
+
* ```
|
|
1715
|
+
*/
|
|
1716
|
+
function Portal(props) {
|
|
1717
|
+
return {
|
|
1718
|
+
$portalHost: props.host,
|
|
1719
|
+
$render() {
|
|
1720
|
+
return props.children;
|
|
1721
|
+
}
|
|
1722
|
+
};
|
|
1723
|
+
}
|
|
1650
1724
|
|
|
1651
1725
|
function watch(trigger, callback) {
|
|
1652
1726
|
let prevFn;
|
|
@@ -1755,6 +1829,11 @@ function withAnnotation(annotation, componentSetup) {
|
|
|
1755
1829
|
class NativeRenderer {
|
|
1756
1830
|
}
|
|
1757
1831
|
|
|
1832
|
+
/**
|
|
1833
|
+
* @deprecated 即将弃用,Viewfly 默认就有 memo 的效果
|
|
1834
|
+
* @param canUseMemo
|
|
1835
|
+
* @param render
|
|
1836
|
+
*/
|
|
1758
1837
|
function withMemo(canUseMemo, render) {
|
|
1759
1838
|
return {
|
|
1760
1839
|
$useMemo: canUseMemo,
|
|
@@ -2636,6 +2715,7 @@ exports.NativeRenderer = NativeRenderer;
|
|
|
2636
2715
|
exports.NullInjector = NullInjector;
|
|
2637
2716
|
exports.ObjectReactiveHandler = ObjectReactiveHandler;
|
|
2638
2717
|
exports.Optional = Optional;
|
|
2718
|
+
exports.Portal = Portal;
|
|
2639
2719
|
exports.Prop = Prop;
|
|
2640
2720
|
exports.ReflectiveInjector = ReflectiveInjector;
|
|
2641
2721
|
exports.RootComponent = RootComponent;
|
|
@@ -2646,6 +2726,7 @@ exports.SkipSelf = SkipSelf;
|
|
|
2646
2726
|
exports.StaticRef = StaticRef;
|
|
2647
2727
|
exports.THROW_IF_NOT_FOUND = THROW_IF_NOT_FOUND;
|
|
2648
2728
|
exports.Type = Type;
|
|
2729
|
+
exports.applyMark = applyMark;
|
|
2649
2730
|
exports.comparePropsWithCallbacks = comparePropsWithCallbacks;
|
|
2650
2731
|
exports.computed = computed;
|
|
2651
2732
|
exports.createContext = createContext;
|
|
@@ -2692,4 +2773,5 @@ exports.trigger = trigger;
|
|
|
2692
2773
|
exports.viewfly = viewfly;
|
|
2693
2774
|
exports.watch = watch;
|
|
2694
2775
|
exports.withAnnotation = withAnnotation;
|
|
2776
|
+
exports.withMark = withMark;
|
|
2695
2777
|
exports.withMemo = withMemo;
|
package/package.json
CHANGED