作成中のアルゴリズム/ユーティリティ集の同梱インポーター
解決したいこと
TsやJs、Python、Java、Elixir…など多数の言語で実装されたアルゴリズム/ユーティリティ集を現在作成中です。内部同梱インポーターの実装について教えてください。
発生している問題
この度内部依存関係(アルゴリズムやユーティリティを実装する際にこのアルゴリズム/ユーティリティ集のなかに含まれる別のアルゴリズムやユーティリティを使用すること)を簡単に解決することのできるemployという機能を実装しようとしました。しかし実装方法があまり思いつかず、以下のような構造とすることにしました。
- employ("使用するアルゴリズムやユーティリティのID")が呼ばれる
- .meta//にある.jsonを探す
- そのjsonを読み、dependencies欄にあるIDをまた見つけ、2に戻る
- 探すものがなくなったらそれまでの取得した依存関係をリスト化し、そのそれぞれの.jsonを読みに行く
- そのJsonに記載されたソースファイルのパスを見つけ、その先のファイルを探して動的インポートさせる
しかし、JsやTsなどではFSへのアクセスが難しく、実装方法に悩んでいます。また、上記のような実装でよいのかわかりません。解決方法を教えてください。