/
githubmirror
/
deno
Обзор
Документация
Войти
/
githubmirror
/
deno
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
ext/napi/sym/lib.rs
31 строка
779 B
Kenta Moriuchi
chore: Happy New Year 2026 (#31748)
08 янв 2026, 18:28
Не верифицирован
08 янв 2026, 18:28
8193cf9
Код
Авторство
О чём код?
// Copyright 2018-2026 the Deno authors. MIT license. use proc_macro::TokenStream; use quote::quote; use serde::Deserialize; static NAPI_EXPORTS: &str = include_str!("./symbol_exports.json"); #[derive(Deserialize)] struct SymbolExports { pub symbols: Vec<String>, } #[proc_macro_attribute] pub fn napi_sym(_attr: TokenStream, item: TokenStream) -> TokenStream { let func = syn::parse::<syn::ItemFn>(item).expect("expected a function"); let exports: SymbolExports = serde_json::from_str(NAPI_EXPORTS).expect("failed to parse exports"); let name = &func.sig.ident; assert!( exports.symbols.contains(&name.to_string()), "cli/napi/sym/symbol_exports.json is out of sync!" ); TokenStream::from(quote! { crate::napi_wrap! { #func } }) }