{"type":"data","nodes":[null,null,{"type":"data","data":[{"version":1,"api":2},"0.1.77",{"NativePlugin":3,"process_file":10,"get_mapper":10,"map_diagnostics":10,"log":10,"set_log_file":10},{"name":4,"kind":5,"signature":6,"description":7,"examples":8},"NativePlugin","struct","pub struct NativePlugin","The main plugin class for macro expansion with caching support.\n\n`NativePlugin` is designed to be instantiated once and reused across multiple\nfile processing operations. It maintains a cache of expansion results keyed\nby filepath and version, enabling efficient incremental processing.",[9],"// Create a single plugin instance (typically at startup)\nconst plugin = new NativePlugin();\n\n// Process files with caching\nconst result1 = plugin.process_file(\"src/foo.ts\", code1, { version: \"1\" });\nconst result2 = plugin.process_file(\"src/foo.ts\", code2, { version: \"1\" }); // Cache hit!\nconst result3 = plugin.process_file(\"src/foo.ts\", code3, { version: \"2\" }); // Cache miss\n\n// Get a mapper for position translation\nconst mapper = plugin.get_mapper(\"src/foo.ts\");",null],"uses":{}}]}
