@cleanweb/react 1.1.1-beta.15 → 1.1.1-beta.16
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/build/classy/class.d.ts
CHANGED
@@ -1,15 +1,16 @@
|
|
1
1
|
import type { VoidFunctionComponent } from 'react';
|
2
|
-
import type { IComponentInstanceClass } from './instance';
|
3
2
|
import type { TStateData } from '../base';
|
3
|
+
import type { IComponentInstanceClass } from './instance';
|
4
4
|
import { ComponentInstance } from './instance';
|
5
|
+
import { THooksBase } from './logic';
|
5
6
|
export declare const useRerender: () => () => void;
|
6
7
|
type ComponentClassParams = ConstructorParameters<typeof ClassComponent>;
|
7
8
|
type o = object;
|
8
|
-
export interface IComponentClass<Instance extends ClassComponent<o, o,
|
9
|
+
export interface IComponentClass<Instance extends ClassComponent<o, o, THooksBase> = ClassComponent, Params extends ComponentClassParams = ComponentClassParams> extends IComponentInstanceClass<Instance, Params> {
|
9
10
|
}
|
10
11
|
type Extractor = <TComponent extends typeof ClassComponent<o, o, o>>(this: NonNullable<typeof _Component>, _Component?: TComponent & IComponentClass<InstanceType<TComponent>>) => VoidFunctionComponent<InstanceType<TComponent>['props']>;
|
11
12
|
type ReactTemplate = React.JSX.Element | null;
|
12
|
-
export declare class ClassComponent<TProps extends o = WeakEmptyObject, TState extends TStateData = WeakEmptyObject, THooks extends
|
13
|
+
export declare class ClassComponent<TProps extends o = WeakEmptyObject, TState extends TStateData = WeakEmptyObject, THooks extends THooksBase = void> extends ComponentInstance<TProps, TState, THooks> {
|
13
14
|
Render?: VoidFunctionComponent<{}>;
|
14
15
|
template?: ReactTemplate | (() => ReactTemplate);
|
15
16
|
readonly forceUpdate: VoidFunction;
|
package/build/classy/class.js
CHANGED
@@ -96,8 +96,8 @@ var ClassComponent = /** @class */ (function (_super) {
|
|
96
96
|
else
|
97
97
|
throw new Error([
|
98
98
|
'A ClassComponent must have either a `template` or a `Render` property. But neither was found.',
|
99
|
-
'Add a `template
|
100
|
-
'Alternatively, add a `Render
|
99
|
+
'Add a `template: (JSX.Element | null);` member to your class, (or a `template` method that returns the same type).',
|
100
|
+
'Alternatively, add a `Render: FunctionComponent;` method.',
|
101
101
|
'\n\n',
|
102
102
|
'Expected `Render` to be a Function Component because `template` was `undefined`.',
|
103
103
|
"Instead got the following '".concat(typeof Render, "': $o"),
|
@@ -1,10 +1,11 @@
|
|
1
|
-
import { TStateData } from '../base/state';
|
2
|
-
import {
|
1
|
+
import type { TStateData } from '../base/state';
|
2
|
+
import type { THooksBase, IComponentLogicClass } from './logic';
|
3
|
+
import { ComponentLogic } from './logic';
|
3
4
|
type AsyncAllowedEffectCallback = () => Awaitable<IVoidFunction>;
|
4
5
|
type UseMountCallbacks = <TInstance extends ComponentInstance<any, any, any>>(instance: TInstance) => void;
|
5
6
|
export declare const useMountCallbacks: UseMountCallbacks;
|
6
7
|
export declare const noOp: () => void;
|
7
|
-
export declare class ComponentInstance<TProps extends o = {}, TState extends TStateData = WeakEmptyObject, THooks extends
|
8
|
+
export declare class ComponentInstance<TProps extends o = {}, TState extends TStateData = WeakEmptyObject, THooks extends THooksBase = void> extends ComponentLogic<TProps, TState, THooks> {
|
8
9
|
/**
|
9
10
|
* Runs only _before_ first render, i.e before the component instance is mounted.
|
10
11
|
* Useful for logic that is involved in determining what to render.
|
@@ -51,11 +52,11 @@ export declare class ComponentInstance<TProps extends o = {}, TState extends TSt
|
|
51
52
|
}
|
52
53
|
type o = object;
|
53
54
|
type InstanceClassParams = ConstructorParameters<typeof ComponentInstance<o, o, o>>;
|
54
|
-
export interface IComponentInstanceClass<Instance extends ComponentInstance<o, o,
|
55
|
+
export interface IComponentInstanceClass<Instance extends ComponentInstance<o, o, THooksBase> = ComponentInstance, Params extends InstanceClassParams = InstanceClassParams> extends IComponentLogicClass<Instance, Params> {
|
55
56
|
}
|
56
57
|
type UseInstance = {
|
57
|
-
<Class extends typeof ComponentInstance<HardEmptyObject, o,
|
58
|
-
<Class extends typeof ComponentInstance<o, o,
|
58
|
+
<Class extends typeof ComponentInstance<HardEmptyObject, o, THooksBase>>(Methods: Class & IComponentInstanceClass<InstanceType<Class>>): InstanceType<Class>;
|
59
|
+
<Class extends typeof ComponentInstance<o, o, THooksBase>>(Methods: Class & IComponentInstanceClass<InstanceType<Class>>, props: InstanceType<Class>['props']): InstanceType<Class>;
|
59
60
|
};
|
60
61
|
export declare const useInstance: UseInstance;
|
61
62
|
export {};
|
package/build/classy/instance.js
CHANGED
@@ -46,6 +46,7 @@ var useMountCallbacks = function (instance) {
|
|
46
46
|
exports.useMountCallbacks = useMountCallbacks;
|
47
47
|
var noOp = function () { };
|
48
48
|
exports.noOp = noOp;
|
49
|
+
// @todo Use rollup. Insert globals.ts reference tag to all d.ts output files.
|
49
50
|
var ComponentInstance = /** @class */ (function (_super) {
|
50
51
|
__extends(ComponentInstance, _super);
|
51
52
|
function ComponentInstance() {
|
package/build/classy/logic.d.ts
CHANGED
@@ -1,21 +1,22 @@
|
|
1
1
|
import type { TCleanState, ExtractCleanStateData, TStateData } from '../base/state';
|
2
2
|
export type HardEmpty = HardEmptyObject;
|
3
3
|
export type WeakEmpty = WeakEmptyObject;
|
4
|
+
export type THooksBase = o | void;
|
4
5
|
type o = object;
|
5
|
-
export declare class ComponentLogic<TProps extends object = {}, TState extends TStateData = WeakEmpty, THooks extends
|
6
|
+
export declare class ComponentLogic<TProps extends object = {}, TState extends TStateData = WeakEmpty, THooks extends THooksBase = void> {
|
6
7
|
state: TCleanState<TState>;
|
7
8
|
readonly props: TProps;
|
8
|
-
readonly hooks: THooks;
|
9
|
+
readonly hooks: THooks extends object ? THooks : WeakEmptyObject;
|
9
10
|
static getInitialState: (p?: object) => object;
|
10
|
-
useHooks: THooks extends
|
11
|
+
useHooks: THooks extends void ? undefined | (() => void | HardEmptyObject) : () => THooks;
|
11
12
|
}
|
12
13
|
type LogicClassParams = ConstructorParameters<typeof ComponentLogic>;
|
13
|
-
export interface IComponentLogicClass<Instance extends ComponentLogic<o, o,
|
14
|
+
export interface IComponentLogicClass<Instance extends ComponentLogic<o, o, THooksBase> = ComponentLogic, Params extends LogicClassParams = LogicClassParams> extends Constructor<Instance, Params> {
|
14
15
|
getInitialState: (props?: Instance['props']) => ExtractCleanStateData<Instance['state']>;
|
15
16
|
}
|
16
17
|
type UseLogic = {
|
17
|
-
<Class extends typeof ComponentLogic<HardEmptyObject, o,
|
18
|
-
<Class extends typeof ComponentLogic<o, o,
|
18
|
+
<Class extends typeof ComponentLogic<HardEmptyObject, o, THooksBase>>(Methods: Class & IComponentLogicClass<InstanceType<Class>>): InstanceType<Class>;
|
19
|
+
<Class extends typeof ComponentLogic<o, o, THooksBase>>(Methods: Class & IComponentLogicClass<InstanceType<Class>>, props: InstanceType<Class>['props']): InstanceType<Class>;
|
19
20
|
};
|
20
21
|
declare const useLogic: UseLogic;
|
21
22
|
export { useLogic };
|