Skip to content

Commit

Permalink
progress
Browse files Browse the repository at this point in the history
  • Loading branch information
GabiGrin committed Sep 29, 2024
1 parent 602135b commit 49cb11f
Show file tree
Hide file tree
Showing 15 changed files with 240 additions and 600 deletions.
23 changes: 23 additions & 0 deletions core/src/node/macro-node.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import { CodeNode, CodeNodeDefinition, NodeMetadata } from "./node";
import type React from "react";
import { MacroNodeInstance } from "./node-instance";

export type MacroEditorFieldDefinitionType =
| "string"
Expand Down Expand Up @@ -162,3 +163,25 @@ export const isMacroNodeDefinition = (
return editorConfig?.type === "structured";
}
};

export function processMacroNodeInstance(
namespace: string,
macro: MacroNode<any>,
instance: MacroNodeInstance
) {
const metaData = macro.definitionBuilder(instance.macroData);
const runFn = macro.runFnBuilder(instance.macroData);

const id = `${namespace}${macro.id}__${instance.id}`;

const resolvedNode: CodeNode = {
...metaData,
defaultStyle: metaData.defaultStyle ?? macro.defaultStyle,
displayName: metaData.displayName ?? macro.id,
namespace: macro.namespace,
id,
run: runFn,
};

return resolvedNode;
}
2 changes: 1 addition & 1 deletion playground/stdlib-bundle/inline-macros.ts

Large diffs are not rendered by default.

3 changes: 3 additions & 0 deletions playground/types/@flyde-core.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -711,6 +711,9 @@ declare module '@flyde/core/node/macro-node' {
}
export interface JsonFieldDefinition extends BaseFieldDefinition {
type: "json";
typeData?: {
helperText?: string;
};
}
export interface LongTextFieldDefinition extends BaseFieldDefinition {
type: "longtext";
Expand Down
Original file line number Diff line number Diff line change
@@ -1,23 +1 @@
import { MacroNode, MacroNodeInstance, CodeNode } from "@flyde/core";

export function processMacroNodeInstance(
namespace: string,
macro: MacroNode<any>,
instance: MacroNodeInstance
) {
const metaData = macro.definitionBuilder(instance.macroData);
const runFn = macro.runFnBuilder(instance.macroData);

const id = `${namespace}${macro.id}__${instance.id}`;

const resolvedNode: CodeNode = {
...metaData,
defaultStyle: metaData.defaultStyle ?? macro.defaultStyle,
displayName: metaData.displayName ?? macro.id,
namespace: macro.namespace,
id,
run: runFn,
};

return resolvedNode;
}
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ import {
MacroNodeDefinition,
isMacroNodeInstance,
isBaseNode,
Node,
processMacroNodeInstance,
} from "@flyde/core";
import { existsSync, readFileSync } from "fs";
import _ = require("lodash");
Expand All @@ -29,7 +29,6 @@ import * as _StdLib from "@flyde/stdlib/dist/all";

import requireReload from "require-reload";
import { macroNodeToDefinition } from "./macro-node-to-definition";
import { processMacroNodeInstance } from "./process-macro-node-instance";

const StdLib = Object.values(_StdLib).reduce<Record<string, any>>(
(acc, curr) => {
Expand Down
Loading

0 comments on commit 49cb11f

Please sign in to comment.