snapse 0.0.0-stage → 0.9.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/LICENSE +21 -0
- package/README.md +1169 -2
- package/dist/DOM/domFunctions.d.ts +12 -0
- package/dist/DOM/elements/DOMElements.d.ts +141 -0
- package/dist/DOM/elements/SVGElements.d.ts +65 -0
- package/dist/DOM/elements/elementAttributeTypes.d.ts +100 -0
- package/dist/DOM/nodeControllers/ComponentController.d.ts +10 -0
- package/dist/DOM/nodeControllers/ElementController.d.ts +14 -0
- package/dist/DOM/nodeControllers/NodeController.d.ts +81 -0
- package/dist/DOM/nodeControllers/RootController.d.ts +12 -0
- package/dist/DOM/nodeControllers/SVGElementController.d.ts +4 -0
- package/dist/DOM/nodeControllers/StateController.d.ts +43 -0
- package/dist/DOM/server/serialize.d.ts +2 -0
- package/dist/DOM/server/serverNodes.d.ts +41 -0
- package/dist/DOM/types.d.ts +84 -0
- package/dist/DOM/util/RenderError.d.ts +10 -0
- package/dist/DOM/util/childShape.d.ts +7 -0
- package/dist/DOM/util/deferredNodes.d.ts +7 -0
- package/dist/DOM/util/domNode.d.ts +2 -0
- package/dist/DOM/util/moveBeforeSupport.d.ts +1 -0
- package/dist/DOM/util/nodeCount.d.ts +2 -0
- package/dist/DOM/util/util.d.ts +2 -0
- package/dist/DOM.d.ts +4 -0
- package/dist/SVG.d.ts +3 -0
- package/dist/common/computeMutation.d.ts +16 -0
- package/dist/common/dev.d.ts +1 -0
- package/dist/common/shorthands.d.ts +1 -0
- package/dist/common/undoUtils.d.ts +1 -0
- package/dist/common/util.d.ts +4 -0
- package/dist/index.d.ts +7 -0
- package/dist/lint/index.d.ts +7 -0
- package/dist/lint/index.js +8 -0
- package/dist/lint/noBooleanStateArgument.d.ts +2 -0
- package/dist/lint/noBooleanStateArgument.js +43 -0
- package/dist/lint/noStateTruthiness.d.ts +2 -0
- package/dist/lint/noStateTruthiness.js +92 -0
- package/dist/lint/stateTypes.d.ts +4 -0
- package/dist/lint/stateTypes.js +14 -0
- package/dist/server.d.ts +2 -0
- package/dist/snapse.DOM.cjs +1 -0
- package/dist/snapse.DOM.development.cjs +115 -0
- package/dist/snapse.DOM.development.js +1 -0
- package/dist/snapse.SVG.cjs +1 -0
- package/dist/snapse.SVG.development.cjs +66 -0
- package/dist/snapse.SVG.development.js +1 -0
- package/dist/snapse.SVG.js +1 -0
- package/dist/snapse.cjs +1 -0
- package/dist/snapse.development.cjs +13 -0
- package/dist/snapse.development.js +1 -0
- package/dist/snapse.js +75 -0
- package/dist/snapse.server.cjs +1 -0
- package/dist/snapse.server.development.cjs +3 -0
- package/dist/snapse.server.development.js +1 -0
- package/dist/snapseCore-Bc8ZDYHa.cjs +1 -0
- package/dist/snapseCore-DpadpXgD.js +3002 -0
- package/dist/snapseCore-Xfnvf03Z.cjs +4135 -0
- package/dist/state/common/refCountAndType.d.ts +8 -0
- package/dist/state/common/stateProperty.d.ts +1 -0
- package/dist/state/compute.d.ts +2 -0
- package/dist/state/state.d.ts +39 -0
- package/dist/state/stateInternals/LightState.d.ts +20 -0
- package/dist/state/stateInternals/internalFunctions.d.ts +13 -0
- package/dist/state/stateInternals/notify.d.ts +7 -0
- package/dist/state/stateInternals/poison.d.ts +4 -0
- package/dist/state/stateInternals/stateUpdate.d.ts +9 -0
- package/dist/state/subscribeChanges.d.ts +2 -0
- package/dist/state/transforms/CallbackTransform.d.ts +13 -0
- package/dist/state/transforms/ChainFunctionTransform.d.ts +8 -0
- package/dist/state/transforms/ChangeAggregateTransform.d.ts +20 -0
- package/dist/state/transforms/ChangeCallbackTransform.d.ts +5 -0
- package/dist/state/transforms/ComputeTransform.d.ts +4 -0
- package/dist/state/transforms/DOMRootTransform.d.ts +8 -0
- package/dist/state/transforms/FunctionTransform.d.ts +5 -0
- package/dist/state/transforms/IsTransform.d.ts +25 -0
- package/dist/state/transforms/LightStateFunctionTransform.d.ts +3 -0
- package/dist/state/transforms/MapArrayTransform.d.ts +10 -0
- package/dist/state/transforms/MapValueTransform.d.ts +3 -0
- package/dist/state/transforms/OptTransform.d.ts +10 -0
- package/dist/state/transforms/PromiseTransform.d.ts +6 -0
- package/dist/state/transforms/SubscribeTransform.d.ts +13 -0
- package/dist/state/transforms/Transform.d.ts +35 -0
- package/dist/state/transforms/transforms.d.ts +30 -0
- package/dist/state/types/stateTypes.d.ts +175 -0
- package/dist/state/types/types.d.ts +35 -0
- package/dist/undo/undo.d.ts +39 -0
- package/package.json +141 -4
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import { ObjectStateOf, State } from '../state/types/types.js';
|
|
2
|
+
import { LightState } from '../state/stateInternals/LightState.js';
|
|
3
|
+
import { NodeController, TEXT_NODE } from './nodeControllers/NodeController.js';
|
|
4
|
+
import { ComponentController } from './nodeControllers/ComponentController.js';
|
|
5
|
+
import { RenderError } from './util/RenderError.js';
|
|
6
|
+
export type { MaybeState } from '../state/types/types.js';
|
|
7
|
+
export type StringablePrimitive = string | number | bigint;
|
|
8
|
+
export type TreeNode = Node | NodeController;
|
|
9
|
+
export type ChildNode = TreeNode | typeof TEXT_NODE;
|
|
10
|
+
type Nullish = null | undefined;
|
|
11
|
+
type ElementPropertySubvalue = StringablePrimitive | boolean | Nullish;
|
|
12
|
+
type ElementPropertyValue = ElementPropertySubvalue | readonly ElementPropertySubvalue[];
|
|
13
|
+
export type DOMEventListener = (a?: {
|
|
14
|
+
target?: HTMLElement | SVGElement;
|
|
15
|
+
}) => void;
|
|
16
|
+
export type EventListenerWithOptions = [EventListener, AddEventListenerOptions];
|
|
17
|
+
export type DOMHandlerEvent<EventName extends keyof HTMLElementEventMap, ElementType extends HTMLElement = HTMLInputElement> = HTMLElementEventMap[EventName] & {
|
|
18
|
+
target: ElementType;
|
|
19
|
+
currentTarget: ElementType;
|
|
20
|
+
};
|
|
21
|
+
export type DOMHandler<EventName extends keyof HTMLElementEventMap, ElementType extends HTMLElement = HTMLInputElement> = (event: DOMHandlerEvent<EventName, ElementType>) => void;
|
|
22
|
+
export type SVGHandlerEvent<EventName extends keyof SVGElementEventMap, ElementType extends SVGElement = SVGElement> = SVGElementEventMap[EventName] & {
|
|
23
|
+
target: ElementType;
|
|
24
|
+
currentTarget: ElementType;
|
|
25
|
+
};
|
|
26
|
+
export type SVGHandler<EventName extends keyof SVGElementEventMap, ElementType extends SVGElement = SVGElement> = (event: SVGHandlerEvent<EventName, ElementType>) => void;
|
|
27
|
+
type InputEventListener = DOMHandler<'input', HTMLInputElement>;
|
|
28
|
+
type BareCSSStyleValue = StringablePrimitive | Nullish;
|
|
29
|
+
type CSSStyleValue = BareCSSStyleValue | readonly BareCSSStyleValue[];
|
|
30
|
+
export type CSSStyleDeclaration = Record<string, CSSStyleValue>;
|
|
31
|
+
type ElementClassSubValue = string | Record<string, unknown> | string[];
|
|
32
|
+
export type ElementClassValue = string | Record<string, unknown> | readonly ElementClassSubValue[];
|
|
33
|
+
type BareElementAttributeValue = ElementPropertyValue | CSSStyleDeclaration | ElementClassValue | InputEventListener | EventListenerOrEventListenerObject;
|
|
34
|
+
type ElementAttributeValue = BareElementAttributeValue | State<BareElementAttributeValue>;
|
|
35
|
+
export type DOMElementAttributes = Record<string, ElementAttributeValue>;
|
|
36
|
+
export type ComponentFactory = (...args: ComponentArguments) => ComponentController;
|
|
37
|
+
export type ChildFunction = () => unknown;
|
|
38
|
+
type BareChildProp = ChildNode | StringablePrimitive | Nullish | ChildFunction;
|
|
39
|
+
type BareChildProps = BareChildProp | BareChildProp[];
|
|
40
|
+
export interface ChildPropArray extends ReadonlyArray<ChildProp> {
|
|
41
|
+
}
|
|
42
|
+
type DOMChildValue = StringablePrimitive | Nullish | NodeController | ChildFunction;
|
|
43
|
+
export type DOMChild = DOMChildValue | DOMChildValue[];
|
|
44
|
+
export type ChildProp = BareChildProps | State<BareChildProps> | Promise<BareChildProps> | ChildPropArray;
|
|
45
|
+
export type CatchFallbackFunction = (renderError: RenderError) => ChildProp;
|
|
46
|
+
export type CatchFallback = ChildProp | CatchFallbackFunction | State<CatchFallbackFunction>;
|
|
47
|
+
export type ComponentFunctionBody<T = ComponentProps> = (properties: T) => ChildProp;
|
|
48
|
+
export type DOMNodeDefinition = ComponentFunctionBody | LightState | string | HTMLElement;
|
|
49
|
+
export type RenderMode = 'render' | 'hydrate' | 'csr';
|
|
50
|
+
export type RootOptions = {
|
|
51
|
+
root?: HTMLElement | null;
|
|
52
|
+
mode?: RenderMode;
|
|
53
|
+
};
|
|
54
|
+
export type NodeFactory = {
|
|
55
|
+
createElement(tagName: string): HTMLElement;
|
|
56
|
+
createTextNode(data: string): Text;
|
|
57
|
+
createComment(data: string): Comment;
|
|
58
|
+
};
|
|
59
|
+
export type RenderContext = RootOptions & {
|
|
60
|
+
doc?: NodeFactory;
|
|
61
|
+
};
|
|
62
|
+
export type NodeContext = {
|
|
63
|
+
md?: number;
|
|
64
|
+
doc?: NodeFactory;
|
|
65
|
+
};
|
|
66
|
+
export type ComponentProps = {
|
|
67
|
+
children: ChildProp[];
|
|
68
|
+
renderError?: RenderError;
|
|
69
|
+
[key: string]: unknown;
|
|
70
|
+
};
|
|
71
|
+
export type ComponentOptions = Record<string, unknown>;
|
|
72
|
+
export type ElementOptions = object;
|
|
73
|
+
export type DOMElementArguments<T = DOMElementAttributes> = ChildProp[] | [T | ObjectStateOf<T>, ...ChildProp[]];
|
|
74
|
+
export type ComponentArguments = ChildProp[] | [ComponentOptions, ...ChildProp[]];
|
|
75
|
+
export type NodeArguments = DOMElementArguments | ComponentArguments;
|
|
76
|
+
export type FindNodeResult = {
|
|
77
|
+
p: Node;
|
|
78
|
+
n: Node | null;
|
|
79
|
+
i: number;
|
|
80
|
+
s: number;
|
|
81
|
+
};
|
|
82
|
+
export type HydrationContext = {
|
|
83
|
+
nxt?: Node | null;
|
|
84
|
+
};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export declare class RenderError extends Error {
|
|
2
|
+
private resetFn;
|
|
3
|
+
readonly cause: unknown;
|
|
4
|
+
fallbackRendered: boolean;
|
|
5
|
+
private halted;
|
|
6
|
+
constructor(cause: unknown, resetFn: () => void);
|
|
7
|
+
reset(): void;
|
|
8
|
+
stopPropagation(): void;
|
|
9
|
+
get propagationStopped(): boolean;
|
|
10
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export declare const SHAPE_ELEMENT = 0;
|
|
2
|
+
export declare const SHAPE_STATIC = 1;
|
|
3
|
+
export declare const SHAPE_DYNAMIC = 2;
|
|
4
|
+
export declare const SHAPE_EMPTY = 3;
|
|
5
|
+
export type ChildShape = typeof SHAPE_ELEMENT | typeof SHAPE_STATIC | typeof SHAPE_DYNAMIC | typeof SHAPE_EMPTY;
|
|
6
|
+
export declare const HYDRATE_MARKER_TEXT = "\uD835\uDCAE";
|
|
7
|
+
export declare const computeUnsafeJunctions: (shapes: ChildShape[]) => boolean[];
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export declare const deferNode: (n: Node) => void;
|
|
2
|
+
export declare const adoptDeferredNode: (n: Node) => void;
|
|
3
|
+
export declare const hasDeferredNodes: () => boolean;
|
|
4
|
+
export declare const swapDeferredNodes: () => void;
|
|
5
|
+
export declare const clearDrainedDeferredNodes: () => void;
|
|
6
|
+
export declare const liveChildNodeAt: (parent: Node, atIndex: number, startNode?: Node | null, startNodeIndex?: number) => Node | null;
|
|
7
|
+
export declare const liveChildNodeCount: (parent: Node) => number;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const supportsMoveBefore: boolean;
|
package/dist/DOM.d.ts
ADDED
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export * from './DOM/elements/DOMElements.js';
|
|
2
|
+
export { domElement } from './DOM/domFunctions.js';
|
|
3
|
+
export type { ChildProp, DOMChild, ChildNode, TreeNode, StringablePrimitive, DOMElementAttributes, DOMElementArguments, NodeArguments, ComponentProps, ComponentOptions, ComponentFactory, ComponentFunctionBody, ComponentArguments, RootOptions, RenderMode, DOMEventListener, DOMHandler, DOMHandlerEvent, EventListenerWithOptions, } from './DOM/types.js';
|
|
4
|
+
export type { ElementAttributesOf, FrameworkProps } from './DOM/elements/elementAttributeTypes.js';
|
package/dist/SVG.d.ts
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export type Mutation = {
|
|
2
|
+
removed?: number[];
|
|
3
|
+
moved?: number[];
|
|
4
|
+
added?: number[];
|
|
5
|
+
kept?: number[];
|
|
6
|
+
pre?: number;
|
|
7
|
+
suf?: number;
|
|
8
|
+
};
|
|
9
|
+
export type KnownDifferences = {
|
|
10
|
+
pre: number;
|
|
11
|
+
suf?: number;
|
|
12
|
+
changedCount?: number;
|
|
13
|
+
};
|
|
14
|
+
export declare const computeMutation: <T = unknown>(before: T[], after: T[], known?: KnownDifferences) => Mutation;
|
|
15
|
+
export declare const diffChangedMiddle: <T>(before: T[], after: T[], prefixL: number, suffixL: number) => Mutation;
|
|
16
|
+
export declare const extractLongestIncreasingSubsequence: (X: number[]) => number[];
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const DEV: boolean;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const isArray: (arg: any) => arg is any[];
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const decodeAscendingRLE: (range: number[] | undefined) => Generator<number>;
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export { component, SnapseRoot } from './DOM/domFunctions.js';
|
|
2
|
+
export { compute } from './state/compute.js';
|
|
3
|
+
export { flush } from './state/stateInternals/notify.js';
|
|
4
|
+
export { CircularDependencyError, findState, isState, peek, state, subscribe, } from './state/state.js';
|
|
5
|
+
export { TrackHistory } from './undo/undo.js';
|
|
6
|
+
export type { State, PrimitiveState, ArrayState, ObjectState, FunctionState, OptType, SubscribeCallback, SubscribeOptions, OptOption, StateType, } from './state/types/types.js';
|
|
7
|
+
export type { HistoryEntry, ChangeRecord } from './undo/undo.js';
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
declare const _default: {
|
|
2
|
+
rules: {
|
|
3
|
+
'no-boolean-state-argument': import("@typescript-eslint/utils/ts-eslint").RuleModule<"booleanState", [], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener>;
|
|
4
|
+
'no-state-truthiness': import("@typescript-eslint/utils/ts-eslint").RuleModule<"alwaysTruthy", [], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener>;
|
|
5
|
+
};
|
|
6
|
+
};
|
|
7
|
+
export default _default;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { noBooleanStateArgument } from "./noBooleanStateArgument.js";
|
|
2
|
+
import { noStateTruthiness } from "./noStateTruthiness.js";
|
|
3
|
+
export default {
|
|
4
|
+
rules: {
|
|
5
|
+
'no-boolean-state-argument': noBooleanStateArgument,
|
|
6
|
+
'no-state-truthiness': noStateTruthiness,
|
|
7
|
+
},
|
|
8
|
+
};
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { ESLintUtils } from '@typescript-eslint/utils';
|
|
2
|
+
import { isAlwaysState, isNullish, isStateType } from "./stateTypes.js";
|
|
3
|
+
// A parameter typed as a plain boolean will almost certainly be tested for truthiness, which a
|
|
4
|
+
// boolean State always passes. Numbers and strings are left alone: they are rarely only tested.
|
|
5
|
+
// A string being assignable rules out `any` and `unknown`; a State is excluded explicitly, as its
|
|
6
|
+
// type is assignable to its value type.
|
|
7
|
+
const isPlainBooleanType = (checker, type) => {
|
|
8
|
+
const values = (type.isUnion() ? type.types : [type]).filter(t => !isNullish(checker, t));
|
|
9
|
+
return values.length > 0 && values.every(t => checker.isTypeAssignableTo(t, checker.getBooleanType())
|
|
10
|
+
&& !checker.isTypeAssignableTo(checker.getStringType(), t) && !isStateType(t));
|
|
11
|
+
};
|
|
12
|
+
export const noBooleanStateArgument = ESLintUtils.RuleCreator.withoutDocs({
|
|
13
|
+
meta: {
|
|
14
|
+
type: 'problem',
|
|
15
|
+
messages: {
|
|
16
|
+
booleanState: 'A boolean State passed as a plain boolean is always treated as true. Pass `!!+state`.',
|
|
17
|
+
},
|
|
18
|
+
schema: [],
|
|
19
|
+
},
|
|
20
|
+
defaultOptions: [],
|
|
21
|
+
create(context) {
|
|
22
|
+
const services = ESLintUtils.getParserServices(context);
|
|
23
|
+
const checker = services.program.getTypeChecker();
|
|
24
|
+
const checkArguments = (node) => {
|
|
25
|
+
for (const argument of node.arguments) {
|
|
26
|
+
if (argument.type === 'SpreadElement')
|
|
27
|
+
continue;
|
|
28
|
+
const type = services.getTypeAtLocation(argument);
|
|
29
|
+
const isBooleanState = isAlwaysState(checker, type)
|
|
30
|
+
&& checker.isTypeAssignableTo(type, checker.getBooleanType());
|
|
31
|
+
if (!isBooleanState)
|
|
32
|
+
continue;
|
|
33
|
+
// The type of the parameter this argument is passed to, in the resolved signature
|
|
34
|
+
const tsArgument = services.esTreeNodeToTSNodeMap.get(argument);
|
|
35
|
+
const parameterType = checker.getContextualType(tsArgument);
|
|
36
|
+
if (parameterType && isPlainBooleanType(checker, parameterType)) {
|
|
37
|
+
context.report({ node: argument, messageId: 'booleanState' });
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
};
|
|
41
|
+
return { CallExpression: checkArguments, NewExpression: checkArguments };
|
|
42
|
+
},
|
|
43
|
+
});
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import { ESLintUtils } from '@typescript-eslint/utils';
|
|
2
|
+
import { isAlwaysState, isStateType } from "./stateTypes.js";
|
|
3
|
+
const PREDICATE_METHODS = new Set([
|
|
4
|
+
'every', 'filter', 'find', 'findIndex', 'findLast', 'findLastIndex', 'some',
|
|
5
|
+
]);
|
|
6
|
+
export const noStateTruthiness = ESLintUtils.RuleCreator.withoutDocs({
|
|
7
|
+
meta: {
|
|
8
|
+
type: 'problem',
|
|
9
|
+
messages: {
|
|
10
|
+
alwaysTruthy: 'A State is always truthy. Test its value, e.g. `+state` for a boolean or number.',
|
|
11
|
+
},
|
|
12
|
+
schema: [],
|
|
13
|
+
},
|
|
14
|
+
defaultOptions: [],
|
|
15
|
+
create(context) {
|
|
16
|
+
const services = ESLintUtils.getParserServices(context);
|
|
17
|
+
const checker = services.program.getTypeChecker();
|
|
18
|
+
const typeOf = (node) => services.getTypeAtLocation(node);
|
|
19
|
+
// A node can be reached both from its enclosing condition and from its own `&&`
|
|
20
|
+
const reported = new Set();
|
|
21
|
+
const checkTested = (node) => {
|
|
22
|
+
if (node.type === 'LogicalExpression' && node.operator !== '??') {
|
|
23
|
+
checkTested(node.left);
|
|
24
|
+
checkTested(node.right);
|
|
25
|
+
}
|
|
26
|
+
else if (!reported.has(node) && isAlwaysState(checker, typeOf(node))) {
|
|
27
|
+
reported.add(node);
|
|
28
|
+
context.report({ node, messageId: 'alwaysTruthy' });
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
const checkPredicate = (callback) => {
|
|
32
|
+
if (callback.type !== 'ArrowFunctionExpression' && callback.type !== 'FunctionExpression')
|
|
33
|
+
return;
|
|
34
|
+
if (callback.body.type !== 'BlockStatement') {
|
|
35
|
+
checkTested(callback.body);
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
const returns = [];
|
|
39
|
+
const collect = (node) => {
|
|
40
|
+
if (node.type === 'ReturnStatement' && node.argument)
|
|
41
|
+
returns.push(node.argument);
|
|
42
|
+
if (node.type.includes('Function'))
|
|
43
|
+
return;
|
|
44
|
+
for (const child of childNodes(node))
|
|
45
|
+
collect(child);
|
|
46
|
+
};
|
|
47
|
+
for (const statement of callback.body.body)
|
|
48
|
+
collect(statement);
|
|
49
|
+
returns.forEach(checkTested);
|
|
50
|
+
};
|
|
51
|
+
return {
|
|
52
|
+
'IfStatement, WhileStatement, DoWhileStatement, ForStatement, ConditionalExpression'(node) {
|
|
53
|
+
if (node.test)
|
|
54
|
+
checkTested(node.test);
|
|
55
|
+
},
|
|
56
|
+
// `a && b` and `a || b` always test `a`; `b` is tested only where the whole expression is.
|
|
57
|
+
LogicalExpression(node) {
|
|
58
|
+
if (node.operator !== '??')
|
|
59
|
+
checkTested(node.left);
|
|
60
|
+
},
|
|
61
|
+
UnaryExpression(node) {
|
|
62
|
+
if (node.operator === '!')
|
|
63
|
+
checkTested(node.argument);
|
|
64
|
+
},
|
|
65
|
+
CallExpression(node) {
|
|
66
|
+
const callee = node.callee;
|
|
67
|
+
if (callee.type === 'Identifier' && callee.name === 'Boolean' && node.arguments[0]) {
|
|
68
|
+
checkTested(node.arguments[0]);
|
|
69
|
+
}
|
|
70
|
+
// A State array's own predicate methods accept a State result.
|
|
71
|
+
if (callee.type === 'MemberExpression' && callee.property.type === 'Identifier'
|
|
72
|
+
&& PREDICATE_METHODS.has(callee.property.name) && node.arguments[0]
|
|
73
|
+
&& !isStateType(typeOf(callee.object))) {
|
|
74
|
+
checkPredicate(node.arguments[0]);
|
|
75
|
+
}
|
|
76
|
+
},
|
|
77
|
+
};
|
|
78
|
+
},
|
|
79
|
+
});
|
|
80
|
+
function childNodes(node) {
|
|
81
|
+
const children = [];
|
|
82
|
+
for (const [key, value] of Object.entries(node)) {
|
|
83
|
+
if (key === 'parent')
|
|
84
|
+
continue;
|
|
85
|
+
for (const item of Array.isArray(value) ? value : [value]) {
|
|
86
|
+
if (item && typeof item === 'object' && typeof item.type === 'string') {
|
|
87
|
+
children.push(item);
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
return children;
|
|
92
|
+
}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type ts from 'typescript';
|
|
2
|
+
export declare const isStateType: (type: ts.Type) => boolean;
|
|
3
|
+
export declare const isNullish: (checker: ts.TypeChecker, type: ts.Type) => boolean;
|
|
4
|
+
export declare const isAlwaysState: (checker: ts.TypeChecker, type: ts.Type) => boolean;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
// A State is an object wrapping its value, so it is truthy whatever the value. TypeScript cannot
|
|
2
|
+
// see this: a primitive State is typed as an intersection with its value type.
|
|
3
|
+
//
|
|
4
|
+
// Types are inspected only through the checker of the program being linted, never through
|
|
5
|
+
// TypeScript's own enums: type flag values differ between TypeScript versions, and the linted
|
|
6
|
+
// program's TypeScript need not be the one this plugin would import.
|
|
7
|
+
export const isStateType = (type) => type.getProperties().some(p => String(p.escapedName).startsWith('__@STATE_BRAND@'));
|
|
8
|
+
export const isNullish = (checker, type) => [checker.getNullType(), checker.getUndefinedType(), checker.getVoidType()]
|
|
9
|
+
.some(nullish => checker.isTypeAssignableTo(type, nullish));
|
|
10
|
+
// `State | undefined` is a presence check, which is meaningful; only a value that is a State in
|
|
11
|
+
// every case is always truthy.
|
|
12
|
+
export const isAlwaysState = (checker, type) => type.isUnion()
|
|
13
|
+
? type.types.every(t => !isNullish(checker, t) && isAlwaysState(checker, t))
|
|
14
|
+
: isStateType(type);
|
package/dist/server.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./snapseCore-Bc8ZDYHa.cjs");exports.a=e.dt,exports.abbr=e.ft,exports.address=e.pt,exports.area=e.mt,exports.article=e.ht,exports.aside=e.gt,exports.audio=e._t,exports.b=e.vt,exports.base=e.yt,exports.bdi=e.bt,exports.bdo=e.xt,exports.blockquote=e.St,exports.body=e.Ct,exports.br=e.wt,exports.button=e.Tt,exports.canvas=e.Et,exports.caption=e.Dt,exports.cite=e.Ot,exports.code=e.kt,exports.col=e.At,exports.colgroup=e.jt,exports.data=e.Nt,exports.datalist=e.Pt,exports.dd=e.Ft,exports.del=e.It,exports.details=e.Lt,exports.dfn=e.Rt,exports.dialog=e.zt,exports.div=e.Bt,exports.dl=e.Vt,exports.domElement=e.yr,exports.dt=e.Ht,exports.em=e.Ut,exports.embed=e.Wt,exports.fieldset=e.Gt,exports.figcaption=e.Kt,exports.figure=e.qt,exports.footer=e.Jt,exports.form=e.Yt,exports.h1=e.Xt,exports.h2=e.Zt,exports.h3=e.Qt,exports.h4=e.$t,exports.h5=e.en,exports.h6=e.tn,exports.head=e.nn,exports.header=e.rn,exports.hgroup=e.in,exports.hr=e.an,exports.html=e.on,exports.i=e.sn,exports.iframe=e.cn,exports.img=e.ln,exports.input=e.un,exports.ins=e.dn,exports.kbd=e.fn,exports.label=e.pn,exports.legend=e.mn,exports.li=e.hn,exports.link=e.gn,exports.main=e._n,exports.map=e.vn,exports.mark=e.yn,exports.menu=e.bn,exports.meta=e.xn,exports.meter=e.Sn,exports.nav=e.Cn,exports.noscript=e.wn,exports.object=e.Tn,exports.ol=e.En,exports.optgroup=e.Dn,exports.option=e.On,exports.output=e.kn,exports.p=e.An,exports.picture=e.jn,exports.pre=e.Mn,exports.progress=e.Nn,exports.q=e.Pn,exports.rp=e.Fn,exports.rt=e.In,exports.ruby=e.Ln,exports.s=e.Rn,exports.samp=e.zn,exports.script=e.Bn,exports.search=e.Vn,exports.section=e.Hn,exports.select=e.Un,exports.slot=e.Wn,exports.small=e.Gn,exports.source=e.Kn,exports.span=e.qn,exports.strong=e.Jn,exports.style=e.Yn,exports.sub=e.Xn,exports.summary=e.Zn,exports.sup=e.Qn,exports.table=e.$n,exports.tbody=e.er,exports.td=e.tr,exports.template=e.nr,exports.textarea=e.rr,exports.tfoot=e.ir,exports.th=e.ar,exports.thead=e.or,exports.time=e.sr,exports.title=e.cr,exports.tr=e.lr,exports.track=e.ur,exports.u=e.dr,exports.ul=e.fr,exports.var=e.Mt,exports.video=e.pr,exports.wbr=e.mr;
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
const require_snapseCore = require("./snapseCore-Xfnvf03Z.cjs");
|
|
3
|
+
exports.a = require_snapseCore.a$1;
|
|
4
|
+
exports.abbr = require_snapseCore.abbr;
|
|
5
|
+
exports.address = require_snapseCore.address;
|
|
6
|
+
exports.area = require_snapseCore.area;
|
|
7
|
+
exports.article = require_snapseCore.article;
|
|
8
|
+
exports.aside = require_snapseCore.aside;
|
|
9
|
+
exports.audio = require_snapseCore.audio;
|
|
10
|
+
exports.b = require_snapseCore.b;
|
|
11
|
+
exports.base = require_snapseCore.base;
|
|
12
|
+
exports.bdi = require_snapseCore.bdi;
|
|
13
|
+
exports.bdo = require_snapseCore.bdo;
|
|
14
|
+
exports.blockquote = require_snapseCore.blockquote;
|
|
15
|
+
exports.body = require_snapseCore.body;
|
|
16
|
+
exports.br = require_snapseCore.br;
|
|
17
|
+
exports.button = require_snapseCore.button;
|
|
18
|
+
exports.canvas = require_snapseCore.canvas;
|
|
19
|
+
exports.caption = require_snapseCore.caption;
|
|
20
|
+
exports.cite = require_snapseCore.cite;
|
|
21
|
+
exports.code = require_snapseCore.code;
|
|
22
|
+
exports.col = require_snapseCore.col;
|
|
23
|
+
exports.colgroup = require_snapseCore.colgroup;
|
|
24
|
+
exports.data = require_snapseCore.data;
|
|
25
|
+
exports.datalist = require_snapseCore.datalist;
|
|
26
|
+
exports.dd = require_snapseCore.dd;
|
|
27
|
+
exports.del = require_snapseCore.del;
|
|
28
|
+
exports.details = require_snapseCore.details;
|
|
29
|
+
exports.dfn = require_snapseCore.dfn;
|
|
30
|
+
exports.dialog = require_snapseCore.dialog;
|
|
31
|
+
exports.div = require_snapseCore.div;
|
|
32
|
+
exports.dl = require_snapseCore.dl;
|
|
33
|
+
exports.domElement = require_snapseCore.domElement;
|
|
34
|
+
exports.dt = require_snapseCore.dt;
|
|
35
|
+
exports.em = require_snapseCore.em;
|
|
36
|
+
exports.embed = require_snapseCore.embed;
|
|
37
|
+
exports.fieldset = require_snapseCore.fieldset;
|
|
38
|
+
exports.figcaption = require_snapseCore.figcaption;
|
|
39
|
+
exports.figure = require_snapseCore.figure;
|
|
40
|
+
exports.footer = require_snapseCore.footer;
|
|
41
|
+
exports.form = require_snapseCore.form;
|
|
42
|
+
exports.h1 = require_snapseCore.h1;
|
|
43
|
+
exports.h2 = require_snapseCore.h2;
|
|
44
|
+
exports.h3 = require_snapseCore.h3;
|
|
45
|
+
exports.h4 = require_snapseCore.h4;
|
|
46
|
+
exports.h5 = require_snapseCore.h5;
|
|
47
|
+
exports.h6 = require_snapseCore.h6;
|
|
48
|
+
exports.head = require_snapseCore.head;
|
|
49
|
+
exports.header = require_snapseCore.header;
|
|
50
|
+
exports.hgroup = require_snapseCore.hgroup;
|
|
51
|
+
exports.hr = require_snapseCore.hr;
|
|
52
|
+
exports.html = require_snapseCore.html;
|
|
53
|
+
exports.i = require_snapseCore.i;
|
|
54
|
+
exports.iframe = require_snapseCore.iframe;
|
|
55
|
+
exports.img = require_snapseCore.img;
|
|
56
|
+
exports.input = require_snapseCore.input;
|
|
57
|
+
exports.ins = require_snapseCore.ins;
|
|
58
|
+
exports.kbd = require_snapseCore.kbd;
|
|
59
|
+
exports.label = require_snapseCore.label;
|
|
60
|
+
exports.legend = require_snapseCore.legend;
|
|
61
|
+
exports.li = require_snapseCore.li;
|
|
62
|
+
exports.link = require_snapseCore.link;
|
|
63
|
+
exports.main = require_snapseCore.main;
|
|
64
|
+
exports.map = require_snapseCore.map;
|
|
65
|
+
exports.mark = require_snapseCore.mark;
|
|
66
|
+
exports.menu = require_snapseCore.menu;
|
|
67
|
+
exports.meta = require_snapseCore.meta;
|
|
68
|
+
exports.meter = require_snapseCore.meter;
|
|
69
|
+
exports.nav = require_snapseCore.nav;
|
|
70
|
+
exports.noscript = require_snapseCore.noscript;
|
|
71
|
+
exports.object = require_snapseCore.object;
|
|
72
|
+
exports.ol = require_snapseCore.ol;
|
|
73
|
+
exports.optgroup = require_snapseCore.optgroup;
|
|
74
|
+
exports.option = require_snapseCore.option;
|
|
75
|
+
exports.output = require_snapseCore.output;
|
|
76
|
+
exports.p = require_snapseCore.p;
|
|
77
|
+
exports.picture = require_snapseCore.picture;
|
|
78
|
+
exports.pre = require_snapseCore.pre;
|
|
79
|
+
exports.progress = require_snapseCore.progress;
|
|
80
|
+
exports.q = require_snapseCore.q;
|
|
81
|
+
exports.rp = require_snapseCore.rp;
|
|
82
|
+
exports.rt = require_snapseCore.rt;
|
|
83
|
+
exports.ruby = require_snapseCore.ruby;
|
|
84
|
+
exports.s = require_snapseCore.s;
|
|
85
|
+
exports.samp = require_snapseCore.samp;
|
|
86
|
+
exports.script = require_snapseCore.script$1;
|
|
87
|
+
exports.search = require_snapseCore.search;
|
|
88
|
+
exports.section = require_snapseCore.section;
|
|
89
|
+
exports.select = require_snapseCore.select;
|
|
90
|
+
exports.slot = require_snapseCore.slot;
|
|
91
|
+
exports.small = require_snapseCore.small;
|
|
92
|
+
exports.source = require_snapseCore.source;
|
|
93
|
+
exports.span = require_snapseCore.span;
|
|
94
|
+
exports.strong = require_snapseCore.strong;
|
|
95
|
+
exports.style = require_snapseCore.style$1;
|
|
96
|
+
exports.sub = require_snapseCore.sub;
|
|
97
|
+
exports.summary = require_snapseCore.summary;
|
|
98
|
+
exports.sup = require_snapseCore.sup;
|
|
99
|
+
exports.table = require_snapseCore.table;
|
|
100
|
+
exports.tbody = require_snapseCore.tbody;
|
|
101
|
+
exports.td = require_snapseCore.td;
|
|
102
|
+
exports.template = require_snapseCore.template;
|
|
103
|
+
exports.textarea = require_snapseCore.textarea;
|
|
104
|
+
exports.tfoot = require_snapseCore.tfoot;
|
|
105
|
+
exports.th = require_snapseCore.th;
|
|
106
|
+
exports.thead = require_snapseCore.thead;
|
|
107
|
+
exports.time = require_snapseCore.time;
|
|
108
|
+
exports.title = require_snapseCore.title$1;
|
|
109
|
+
exports.tr = require_snapseCore.tr;
|
|
110
|
+
exports.track = require_snapseCore.track;
|
|
111
|
+
exports.u = require_snapseCore.u;
|
|
112
|
+
exports.ul = require_snapseCore.ul;
|
|
113
|
+
exports.var = require_snapseCore.cvar;
|
|
114
|
+
exports.video = require_snapseCore.video;
|
|
115
|
+
exports.wbr = require_snapseCore.wbr;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { dt as a, ft as abbr, pt as address, mt as area, ht as article, gt as aside, _t as audio, vt as b, yt as base, bt as bdi, xt as bdo, St as blockquote, Ct as body, wt as br, Tt as button, Et as canvas, Dt as caption, Ot as cite, kt as code, At as col, jt as colgroup, Nt as data, Pt as datalist, Ft as dd, It as del, Lt as details, Rt as dfn, zt as dialog, Bt as div, Vt as dl, yr as domElement, Ht as dt, Ut as em, Wt as embed, Gt as fieldset, Kt as figcaption, qt as figure, Jt as footer, Yt as form, Xt as h1, Zt as h2, Qt as h3, $t as h4, en as h5, tn as h6, nn as head, rn as header, in as hgroup, an as hr, on as html, sn as i, cn as iframe, ln as img, un as input, dn as ins, fn as kbd, pn as label, mn as legend, hn as li, gn as link, _n as main, vn as map, yn as mark, bn as menu, xn as meta, Sn as meter, Cn as nav, wn as noscript, Tn as object, En as ol, Dn as optgroup, On as option, kn as output, An as p, jn as picture, Mn as pre, Nn as progress, Pn as q, Fn as rp, In as rt, Ln as ruby, Rn as s, zn as samp, Bn as script, Vn as search, Hn as section, Un as select, Wn as slot, Gn as small, Kn as source, qn as span, Jn as strong, Yn as style, Xn as sub, Zn as summary, Qn as sup, $n as table, er as tbody, tr as td, nr as template, rr as textarea, ir as tfoot, ar as th, or as thead, sr as time, cr as title, lr as tr, ur as track, dr as u, fr as ul, Mt as var, pr as video, mr as wbr } from "./snapseCore-DpadpXgD.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./snapseCore-Bc8ZDYHa.cjs");exports.a=e.n,exports.animate=e.r,exports.animateMotion=e.i,exports.animateTransform=e.a,exports.circle=e.o,exports.clipPath=e.s,exports.defs=e.l,exports.desc=e.u,exports.ellipse=e.d,exports.feBlend=e.f,exports.feColorMatrix=e.p,exports.feComponentTransfer=e.m,exports.feComposite=e.h,exports.feConvolveMatrix=e.g,exports.feDiffuseLighting=e._,exports.feDisplacementMap=e.v,exports.feDistantLight=e.y,exports.feDropShadow=e.b,exports.feFlood=e.x,exports.feFuncA=e.S,exports.feFuncB=e.C,exports.feFuncG=e.w,exports.feFuncR=e.T,exports.feGaussianBlur=e.E,exports.feImage=e.D,exports.feMerge=e.O,exports.feMergeNode=e.k,exports.feMorphology=e.A,exports.feOffset=e.j,exports.fePointLight=e.M,exports.feSpecularLighting=e.N,exports.feSpotLight=e.P,exports.feTile=e.F,exports.feTurbulence=e.I,exports.filter=e.L,exports.foreignObject=e.R,exports.g=e.z,exports.image=e.B,exports.line=e.V,exports.linearGradient=e.H,exports.marker=e.U,exports.mask=e.W,exports.metadata=e.G,exports.mpath=e.K,exports.path=e.q,exports.pattern=e.J,exports.polygon=e.Y,exports.polyline=e.X,exports.radialGradient=e.Z,exports.rect=e.Q,exports.script=e.$,exports.set=e.et,exports.stop=e.tt,exports.style=e.nt,exports.svg=e.rt,exports.svgElement=e.br,exports.switch=e.c,exports.symbol=e.it,exports.text=e.at,exports.textPath=e.ot,exports.title=e.st,exports.tspan=e.ct,exports.use=e.lt,exports.view=e.ut;
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
const require_snapseCore = require("./snapseCore-Xfnvf03Z.cjs");
|
|
3
|
+
exports.a = require_snapseCore.a;
|
|
4
|
+
exports.animate = require_snapseCore.animate;
|
|
5
|
+
exports.animateMotion = require_snapseCore.animateMotion;
|
|
6
|
+
exports.animateTransform = require_snapseCore.animateTransform;
|
|
7
|
+
exports.circle = require_snapseCore.circle;
|
|
8
|
+
exports.clipPath = require_snapseCore.clipPath;
|
|
9
|
+
exports.defs = require_snapseCore.defs;
|
|
10
|
+
exports.desc = require_snapseCore.desc;
|
|
11
|
+
exports.ellipse = require_snapseCore.ellipse;
|
|
12
|
+
exports.feBlend = require_snapseCore.feBlend;
|
|
13
|
+
exports.feColorMatrix = require_snapseCore.feColorMatrix;
|
|
14
|
+
exports.feComponentTransfer = require_snapseCore.feComponentTransfer;
|
|
15
|
+
exports.feComposite = require_snapseCore.feComposite;
|
|
16
|
+
exports.feConvolveMatrix = require_snapseCore.feConvolveMatrix;
|
|
17
|
+
exports.feDiffuseLighting = require_snapseCore.feDiffuseLighting;
|
|
18
|
+
exports.feDisplacementMap = require_snapseCore.feDisplacementMap;
|
|
19
|
+
exports.feDistantLight = require_snapseCore.feDistantLight;
|
|
20
|
+
exports.feDropShadow = require_snapseCore.feDropShadow;
|
|
21
|
+
exports.feFlood = require_snapseCore.feFlood;
|
|
22
|
+
exports.feFuncA = require_snapseCore.feFuncA;
|
|
23
|
+
exports.feFuncB = require_snapseCore.feFuncB;
|
|
24
|
+
exports.feFuncG = require_snapseCore.feFuncG;
|
|
25
|
+
exports.feFuncR = require_snapseCore.feFuncR;
|
|
26
|
+
exports.feGaussianBlur = require_snapseCore.feGaussianBlur;
|
|
27
|
+
exports.feImage = require_snapseCore.feImage;
|
|
28
|
+
exports.feMerge = require_snapseCore.feMerge;
|
|
29
|
+
exports.feMergeNode = require_snapseCore.feMergeNode;
|
|
30
|
+
exports.feMorphology = require_snapseCore.feMorphology;
|
|
31
|
+
exports.feOffset = require_snapseCore.feOffset;
|
|
32
|
+
exports.fePointLight = require_snapseCore.fePointLight;
|
|
33
|
+
exports.feSpecularLighting = require_snapseCore.feSpecularLighting;
|
|
34
|
+
exports.feSpotLight = require_snapseCore.feSpotLight;
|
|
35
|
+
exports.feTile = require_snapseCore.feTile;
|
|
36
|
+
exports.feTurbulence = require_snapseCore.feTurbulence;
|
|
37
|
+
exports.filter = require_snapseCore.filter;
|
|
38
|
+
exports.foreignObject = require_snapseCore.foreignObject;
|
|
39
|
+
exports.g = require_snapseCore.g;
|
|
40
|
+
exports.image = require_snapseCore.image;
|
|
41
|
+
exports.line = require_snapseCore.line;
|
|
42
|
+
exports.linearGradient = require_snapseCore.linearGradient;
|
|
43
|
+
exports.marker = require_snapseCore.marker;
|
|
44
|
+
exports.mask = require_snapseCore.mask;
|
|
45
|
+
exports.metadata = require_snapseCore.metadata;
|
|
46
|
+
exports.mpath = require_snapseCore.mpath;
|
|
47
|
+
exports.path = require_snapseCore.path;
|
|
48
|
+
exports.pattern = require_snapseCore.pattern;
|
|
49
|
+
exports.polygon = require_snapseCore.polygon;
|
|
50
|
+
exports.polyline = require_snapseCore.polyline;
|
|
51
|
+
exports.radialGradient = require_snapseCore.radialGradient;
|
|
52
|
+
exports.rect = require_snapseCore.rect;
|
|
53
|
+
exports.script = require_snapseCore.script;
|
|
54
|
+
exports.set = require_snapseCore.set;
|
|
55
|
+
exports.stop = require_snapseCore.stop;
|
|
56
|
+
exports.style = require_snapseCore.style;
|
|
57
|
+
exports.svg = require_snapseCore.svg;
|
|
58
|
+
exports.svgElement = require_snapseCore.svgElement;
|
|
59
|
+
exports.switch = require_snapseCore.cswitch;
|
|
60
|
+
exports.symbol = require_snapseCore.symbol;
|
|
61
|
+
exports.text = require_snapseCore.text;
|
|
62
|
+
exports.textPath = require_snapseCore.textPath;
|
|
63
|
+
exports.title = require_snapseCore.title;
|
|
64
|
+
exports.tspan = require_snapseCore.tspan;
|
|
65
|
+
exports.use = require_snapseCore.use;
|
|
66
|
+
exports.view = require_snapseCore.view;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { n as a, r as animate, i as animateMotion, a as animateTransform, o as circle, s as clipPath, l as defs, u as desc, d as ellipse, f as feBlend, p as feColorMatrix, m as feComponentTransfer, h as feComposite, g as feConvolveMatrix, _ as feDiffuseLighting, v as feDisplacementMap, y as feDistantLight, b as feDropShadow, x as feFlood, S as feFuncA, C as feFuncB, w as feFuncG, T as feFuncR, E as feGaussianBlur, D as feImage, O as feMerge, k as feMergeNode, A as feMorphology, j as feOffset, M as fePointLight, N as feSpecularLighting, P as feSpotLight, F as feTile, I as feTurbulence, L as filter, R as foreignObject, z as g, B as image, V as line, H as linearGradient, U as marker, W as mask, G as metadata, K as mpath, q as path, J as pattern, Y as polygon, X as polyline, Z as radialGradient, Q as rect, $ as script, et as set, tt as stop, nt as style, rt as svg, br as svgElement, c as switch, it as symbol, at as text, ot as textPath, st as title, ct as tspan, lt as use, ut as view } from "./snapseCore-DpadpXgD.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export{svg_a as a,animate,animateMotion,animateTransform,circle,clipPath,defs,desc,ellipse,feBlend,feColorMatrix,feComponentTransfer,feComposite,feConvolveMatrix,feDiffuseLighting,feDisplacementMap,feDistantLight,feDropShadow,feFlood,feFuncA,feFuncB,feFuncG,feFuncR,feGaussianBlur,feImage,feMerge,feMergeNode,feMorphology,feOffset,fePointLight,feSpecularLighting,feSpotLight,feTile,feTurbulence,filter,foreignObject,g,image,line,linearGradient,marker,mask,metadata,mpath,path,pattern,polygon,polyline,radialGradient,rect,svg_script as script,set,stop,svg_style as style,svg,svgElement,switch,symbol,text,textPath,svg_title as title,tspan,use,view}from'snapse';
|
package/dist/snapse.cjs
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./snapseCore-Bc8ZDYHa.cjs");exports.CircularDependencyError=e.xr,exports.SnapseRoot=e._r,exports.TrackHistory=e.hr,exports.component=e.vr,exports.compute=e.gr,exports.findState=e.Sr,exports.flush=e.Dr,exports.isState=e.Cr,exports.peek=e.wr,exports.state=e.Tr,exports.subscribe=e.Er;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
const require_snapseCore = require("./snapseCore-Xfnvf03Z.cjs");
|
|
3
|
+
exports.CircularDependencyError = require_snapseCore.CircularDependencyError;
|
|
4
|
+
exports.SnapseRoot = require_snapseCore.SnapseRoot;
|
|
5
|
+
exports.TrackHistory = require_snapseCore.TrackHistory;
|
|
6
|
+
exports.component = require_snapseCore.component;
|
|
7
|
+
exports.compute = require_snapseCore.compute;
|
|
8
|
+
exports.findState = require_snapseCore.findState;
|
|
9
|
+
exports.flush = require_snapseCore.flush;
|
|
10
|
+
exports.isState = require_snapseCore.isState;
|
|
11
|
+
exports.peek = require_snapseCore.peek;
|
|
12
|
+
exports.state = require_snapseCore.state;
|
|
13
|
+
exports.subscribe = require_snapseCore.subscribe;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { xr as CircularDependencyError, _r as SnapseRoot, hr as TrackHistory, vr as component, gr as compute, Sr as findState, Dr as flush, Cr as isState, wr as peek, Tr as state, Er as subscribe } from "./snapseCore-DpadpXgD.js";
|