From 3dc370535da7f1eec43578ee12eb787185485191 Mon Sep 17 00:00:00 2001 From: "Earthmark (Daniel Miller)" Date: Sat, 2 Jul 2022 14:39:57 -0700 Subject: [PATCH] Fixed the generators not being exposed, also fixed the wrong repare command being used. --- package.json | 4 ++-- src/components.test.tsx | 10 +++++----- src/components.ts | 2 +- src/index.ts | 30 ++++++++++++++++++++++++++++-- src/renderer.test.tsx | 10 +++++----- src/renderer.ts | 6 ++---- 6 files changed, 43 insertions(+), 19 deletions(-) diff --git a/package.json b/package.json index d44beef..b12b073 100644 --- a/package.json +++ b/package.json @@ -1,12 +1,12 @@ { "name": "react-neos", - "version": "0.11.0", + "version": "0.12.0", "license": "MIT", "repository": "https://github.com/Earthmark/React-Neos", "type": "module", "readme": "README.md", "scripts": { - "prepublish": "npm run build", + "prepare": "npm run build", "test": "npx jest", "prebuild": "rimraf dist", "build": "tsc", diff --git a/src/components.test.tsx b/src/components.test.tsx index 1f2e3c0..a65ee9b 100644 --- a/src/components.test.tsx +++ b/src/components.test.tsx @@ -1,7 +1,7 @@ import React from 'react'; import TestRenderer from "react-test-renderer"; import { PropUpdate } from "./signal.js"; -import n, { Props, componentDefs} from "./components.js"; +import n, { ElementProps, componentDefs} from "./components.js"; import prop from "./props.js"; import { elementPropsToTemplate, @@ -90,10 +90,10 @@ Array [ }); const testCases : Partial<{ - [key in keyof Props]: + [key in keyof ElementProps]: { - oldProps: Partial, - newProps: Partial, + oldProps: Partial, + newProps: Partial, expected: Array }[] }> = { @@ -147,7 +147,7 @@ const testCases : Partial<{ it.each( Object.entries(testCases).flatMap(([k, v]) => - (v as any).map((o: any) => ({ name: k as keyof Props, ...o})) + (v as any).map((o: any) => ({ name: k as keyof ElementProps, ...o})) ) )("element processes expected diff for set %s", ({name, oldProps, newProps, expected}) => { const src: Array = []; diff --git a/src/components.ts b/src/components.ts index 696f321..09afd1e 100644 --- a/src/components.ts +++ b/src/components.ts @@ -206,6 +206,6 @@ export const componentDefs = elementPropsSetToTemplates({ ...rectElements, }); -export type Props = ElementTemplateSetJsxSignatureLibrary; +export type ElementProps = ElementTemplateSetJsxSignatureLibrary; export default elementTemplatesToJsxPrototypes(componentDefs); diff --git a/src/index.ts b/src/index.ts index 4ee0a0f..6c666bc 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,8 +1,34 @@ import wsNeosProxyServer from "./wsNeosProxyServer.js"; -import n, { Props, componentDefs as coreElements } from "./components.js"; +import n, { ElementProps, componentDefs } from "./components.js"; import { useNeosRef } from "./componentsBase.js"; import createRender from "./renderer.js"; +import prop from "./props.js"; +import { + PropComponents, + propComponentsToPropFactories, + refComponentsToRefFactories, +} from "./propsBase.js"; +import { + hasReactChildren, + elementPropsSetToTemplates, + elementTemplatesToJsxPrototypes, + ElementTemplateSetJsxSignatureLibrary, +} from "./componentsBase.js"; -export { createRender, coreElements, useNeosRef, wsNeosProxyServer, Props }; +export { + createRender, + componentDefs, + useNeosRef, + wsNeosProxyServer, + ElementProps, + prop, + PropComponents, + propComponentsToPropFactories, + refComponentsToRefFactories, + hasReactChildren, + elementPropsSetToTemplates, + elementTemplatesToJsxPrototypes, + ElementTemplateSetJsxSignatureLibrary +}; export default n; diff --git a/src/renderer.test.tsx b/src/renderer.test.tsx index 63c4108..444c552 100644 --- a/src/renderer.test.tsx +++ b/src/renderer.test.tsx @@ -1,7 +1,7 @@ import React from 'react'; import createRender from "./renderer.js"; import { useNeosRef } from "./componentsBase.js"; -import n from "./components.js"; +import n, { componentDefs } from "./components.js"; import { EventSignal, OutboundSignal } from './signal.js'; interface Fixture { @@ -48,7 +48,7 @@ test("Verify hierarchy shows as expected", () => { ; } - const renderer = createRender(); + const renderer = createRender(, componentDefs); const items: Array = []; const instance = renderer.createInstance(signal => items.push(signal)); @@ -119,7 +119,7 @@ test("Refs Interconnect", () => { ; } - const renderer = createRender(); + const renderer = createRender(, componentDefs); const items: Array = []; renderer.createInstance(signal => items.push(signal)); @@ -127,13 +127,13 @@ test("Refs Interconnect", () => { }); test("unexpected components raise errors", () => { - const renderer = createRender(
); + const renderer = createRender(
, componentDefs); const items: Array = []; expect(() => renderer.createInstance(signal => items.push(signal))).toThrowError(); }); test("components raise errors when they unexpectedly contain text", () => { - const renderer = createRender({"I'm illegal!" as any}); + const renderer = createRender({"I'm illegal!" as any}, componentDefs); const items: Array = []; expect(() => renderer.createInstance(signal => items.push(signal))).toThrowError(); }); diff --git a/src/renderer.ts b/src/renderer.ts index f890773..bfb49e3 100644 --- a/src/renderer.ts +++ b/src/renderer.ts @@ -1,8 +1,6 @@ import React from "react"; import Reconciler from "react-reconciler"; -import { performance } from "perf_hooks"; import { ElementId, InboundSignal, OutboundSignal, PropUpdate } from "./signal.js"; -import { componentDefs } from "./components.js"; export interface ElementTemplate { updater: ElementUpdater; @@ -75,11 +73,11 @@ export default function createRender< > >( node: React.ReactNode, - elementTemplates?: AdditionalComponents + elementTemplates: AdditionalComponents ): ReactNeosRenderer { return { createInstance(handler: (signal: OutboundSignal) => void) { - const components = elementTemplates ?? componentDefs; + const components = elementTemplates; const reconciler = Reconciler< Extract, Record,