+2
-1
@@ -21,5 +21,6 @@ export declare type ForgoRef<T> = { | ||
| export declare type ForgoComponent<TProps extends ForgoElementProps> = { | ||
| render: (props: TProps, args: ForgoRenderArgs) => ForgoElement<ForgoComponentCtor<TProps>, TProps>; | ||
| error?: (props: TProps, args: ForgoErrorArgs) => ForgoElement<ForgoComponentCtor<TProps>, TProps>; | ||
| render: (props: TProps, args: ForgoRenderArgs) => ForgoElement<ForgoComponentCtor<TProps>, TProps>; | ||
| unmount?: () => void; | ||
| shouldUpdate?: (newProps: TProps, oldProps: TProps) => boolean; | ||
| }; | ||
@@ -26,0 +27,0 @@ export declare type ForgoElement<TType extends string | ForgoComponentCtor<TProps>, TProps extends ForgoElementProps> = { |
+27
-16
@@ -149,13 +149,21 @@ "use strict"; | ||
| if (fullRerender || | ||
| havePropsChanged(savedComponentState.props, forgoElement.props)) { | ||
| // Since we have compatible state already stored, | ||
| // we'll push the savedComponentState into pending states for later attachment. | ||
| const statesToAttach = pendingAttachStates.concat(Object.assign(Object.assign({}, savedComponentState), { props: forgoElement.props })); | ||
| // Get a new element by calling render on existing component. | ||
| const newForgoElement = savedComponentState.component.render(forgoElement.props, savedComponentState.args); | ||
| return boundaryFallback(node, forgoElement.props, savedComponentState.args, statesToAttach, fullRerender, boundary, () => { | ||
| // Pass it on for rendering... | ||
| return internalRender(newForgoElement, node, statesToAttach, fullRerender, boundary); | ||
| }); | ||
| havePropsChanged(forgoElement.props, savedComponentState.props)) { | ||
| if (!savedComponentState.component.shouldUpdate || | ||
| savedComponentState.component.shouldUpdate(forgoElement.props, savedComponentState.props)) { | ||
| // Since we have compatible state already stored, | ||
| // we'll push the savedComponentState into pending states for later attachment. | ||
| const statesToAttach = pendingAttachStates.concat(Object.assign(Object.assign({}, savedComponentState), { props: forgoElement.props })); | ||
| // Get a new element by calling render on existing component. | ||
| const newForgoElement = savedComponentState.component.render(forgoElement.props, savedComponentState.args); | ||
| return boundaryFallback(node, forgoElement.props, savedComponentState.args, statesToAttach, fullRerender, boundary, () => { | ||
| // Pass it on for rendering... | ||
| return internalRender(newForgoElement, node, statesToAttach, fullRerender, boundary); | ||
| }); | ||
| } | ||
| // shouldUpdate() returned false | ||
| else { | ||
| return { node, boundary }; | ||
| } | ||
| } | ||
| // not a fullRender and havePropsChanged() returned false | ||
| else { | ||
@@ -431,3 +439,3 @@ return { node, boundary }; | ||
| */ | ||
| function havePropsChanged(oldProps, newProps) { | ||
| function havePropsChanged(newProps, oldProps) { | ||
| const oldKeys = Object.keys(oldProps); | ||
@@ -474,7 +482,10 @@ const newKeys = Object.keys(newProps); | ||
| const effectiveProps = typeof props !== "undefined" ? props : component.props; | ||
| const forgoNode = component.component.render(effectiveProps, component.args); | ||
| const statesToAttach = state.components | ||
| .slice(0, element.componentIndex) | ||
| .concat(Object.assign(Object.assign({}, component), { props: effectiveProps })); | ||
| internalRender(forgoNode, element.node, statesToAttach, fullRerender); | ||
| if (!component.component.shouldUpdate || | ||
| component.component.shouldUpdate(effectiveProps, component.props)) { | ||
| const forgoNode = component.component.render(effectiveProps, component.args); | ||
| const statesToAttach = state.components | ||
| .slice(0, element.componentIndex) | ||
| .concat(Object.assign(Object.assign({}, component), { props: effectiveProps })); | ||
| internalRender(forgoNode, element.node, statesToAttach, fullRerender); | ||
| } | ||
| } | ||
@@ -481,0 +492,0 @@ else { |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"} |
+1
-1
| { | ||
| "name": "forgo", | ||
| "version": "0.0.20", | ||
| "version": "0.0.21", | ||
| "main": "./dist", | ||
@@ -5,0 +5,0 @@ "devDependencies": { |
+17
-0
@@ -132,2 +132,19 @@ # forgo | ||
| ## Bailing out of a render | ||
| When the shouldUpdate() function is defined for a component, Forgo will call it with newProps and oldProps and check if the return value is true before rendering the component. Returning false will skip rendering the component. | ||
| ```jsx | ||
| function Greeter(props) { | ||
| return { | ||
| render(props, args) { | ||
| return <div>Hello {props.firstName}</div>; | ||
| }, | ||
| shouldUpdate(newProps, oldProps) { | ||
| return newProps.firstName !== oldProps.firstName; | ||
| }, | ||
| }; | ||
| } | ||
| ``` | ||
| ## Error handling | ||
@@ -134,0 +151,0 @@ |
+67
-47
@@ -44,2 +44,6 @@ /* | ||
| export type ForgoComponent<TProps extends ForgoElementProps> = { | ||
| render: ( | ||
| props: TProps, | ||
| args: ForgoRenderArgs | ||
| ) => ForgoElement<ForgoComponentCtor<TProps>, TProps>; | ||
| error?: ( | ||
@@ -49,7 +53,4 @@ props: TProps, | ||
| ) => ForgoElement<ForgoComponentCtor<TProps>, TProps>; | ||
| render: ( | ||
| props: TProps, | ||
| args: ForgoRenderArgs | ||
| ) => ForgoElement<ForgoComponentCtor<TProps>, TProps>; | ||
| unmount?: () => void; | ||
| shouldUpdate?: (newProps: TProps, oldProps: TProps) => boolean; | ||
| }; | ||
@@ -340,36 +341,50 @@ | ||
| fullRerender || | ||
| havePropsChanged(savedComponentState.props, forgoElement.props) | ||
| havePropsChanged(forgoElement.props, savedComponentState.props) | ||
| ) { | ||
| // Since we have compatible state already stored, | ||
| // we'll push the savedComponentState into pending states for later attachment. | ||
| const statesToAttach = pendingAttachStates.concat({ | ||
| ...savedComponentState, | ||
| props: forgoElement.props, | ||
| }); | ||
| if ( | ||
| !savedComponentState.component.shouldUpdate || | ||
| savedComponentState.component.shouldUpdate( | ||
| forgoElement.props, | ||
| savedComponentState.props | ||
| ) | ||
| ) { | ||
| // Since we have compatible state already stored, | ||
| // we'll push the savedComponentState into pending states for later attachment. | ||
| const statesToAttach = pendingAttachStates.concat({ | ||
| ...savedComponentState, | ||
| props: forgoElement.props, | ||
| }); | ||
| // Get a new element by calling render on existing component. | ||
| const newForgoElement = savedComponentState.component.render( | ||
| forgoElement.props, | ||
| savedComponentState.args | ||
| ); | ||
| // Get a new element by calling render on existing component. | ||
| const newForgoElement = savedComponentState.component.render( | ||
| forgoElement.props, | ||
| savedComponentState.args | ||
| ); | ||
| return boundaryFallback( | ||
| node, | ||
| forgoElement.props, | ||
| savedComponentState.args, | ||
| statesToAttach, | ||
| fullRerender, | ||
| boundary, | ||
| () => { | ||
| // Pass it on for rendering... | ||
| return internalRender( | ||
| newForgoElement, | ||
| node, | ||
| statesToAttach, | ||
| fullRerender, | ||
| boundary | ||
| ); | ||
| } | ||
| ); | ||
| } else { | ||
| return boundaryFallback( | ||
| node, | ||
| forgoElement.props, | ||
| savedComponentState.args, | ||
| statesToAttach, | ||
| fullRerender, | ||
| boundary, | ||
| () => { | ||
| // Pass it on for rendering... | ||
| return internalRender( | ||
| newForgoElement, | ||
| node, | ||
| statesToAttach, | ||
| fullRerender, | ||
| boundary | ||
| ); | ||
| } | ||
| ); | ||
| } | ||
| // shouldUpdate() returned false | ||
| else { | ||
| return { node, boundary }; | ||
| } | ||
| } | ||
| // not a fullRender and havePropsChanged() returned false | ||
| else { | ||
| return { node, boundary }; | ||
@@ -754,3 +769,3 @@ } | ||
| */ | ||
| function havePropsChanged(oldProps: any, newProps: any) { | ||
| function havePropsChanged(newProps: any, oldProps: any) { | ||
| const oldKeys = Object.keys(oldProps); | ||
@@ -806,15 +821,20 @@ const newKeys = Object.keys(newProps); | ||
| const forgoNode = component.component.render( | ||
| effectiveProps, | ||
| component.args | ||
| ); | ||
| if ( | ||
| !component.component.shouldUpdate || | ||
| component.component.shouldUpdate(effectiveProps, component.props) | ||
| ) { | ||
| const forgoNode = component.component.render( | ||
| effectiveProps, | ||
| component.args | ||
| ); | ||
| const statesToAttach = state.components | ||
| .slice(0, element.componentIndex) | ||
| .concat({ | ||
| ...component, | ||
| props: effectiveProps, | ||
| }); | ||
| const statesToAttach = state.components | ||
| .slice(0, element.componentIndex) | ||
| .concat({ | ||
| ...component, | ||
| props: effectiveProps, | ||
| }); | ||
| internalRender(forgoNode, element.node, statesToAttach, fullRerender); | ||
| internalRender(forgoNode, element.node, statesToAttach, fullRerender); | ||
| } | ||
| } else { | ||
@@ -821,0 +841,0 @@ throw new Error(`Missing forgo state on node.`); |
Network access
Supply chain riskThis module accesses the network.
Found 1 instance in 1 package
Long strings
Supply chain riskContains long string literals, which may be a sign of obfuscated or packed code.
Found 1 instance in 1 package
Network access
Supply chain riskThis module accesses the network.
Found 1 instance in 1 package
Long strings
Supply chain riskContains long string literals, which may be a sign of obfuscated or packed code.
Found 1 instance in 1 package
81627
2.79%1405
2.33%381
4.67%7
40%