注: 以下の翻訳の正確性は検証されていません。AIPを利用して英語版の原文から機械的に翻訳されたものです。

新しいオブジェクトのための一意のIDの生成

オブジェクトを作成するオントロジー編集関数を書く際、新たに作成されたオブジェクトに対して一意のIDを生成することが望ましいかもしれません。この設定は、グローバルに一意の識別子を生成するための @foundry/functions-utils パッケージを使用して関数内で設定できます。

パッケージのインポート

@foundry/functions-utils パッケージはデフォルトでインストールされていますが、もしパッケージが package.json ファイルに存在しない場合:

  • "dependencies" セクションに "@foundry/functions-utils": "0.1.0" を追加します。

依存関係の追加に関するドキュメンテーションで述べられているように、新しいパッケージをオートコンプリートで利用可能にするためには、Code Assistを再起動することを忘れないでください。

コードでパッケージの使用

一意のIDを生成するために、@foundry/functions-utils パッケージから Uuid.random() ユーティリティ関数を使用することができます。以下のコード例では、オントロジー編集関数の一例として random 関数をどのように使用できるかを示しています。

Copied!
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 // @foundry/functions-apiからOntologyEditFunctionとTimestampをインポートします import { OntologyEditFunction, Timestamp } from "@foundry/functions-api"; // @foundry/ontology-apiからObjectsをインポートします import { Objects } from "@foundry/ontology-api"; // @foundry/functions-utilsからUuidをインポートします import { Uuid } from "@foundry/functions-utils"; // ExampleEditFunctionsクラスをエクスポートします export class ExampleEditFunctions { // FlightScenarioを編集する関数を定義します @Edits(FlightScenario) // OntologyEditFunctionデコレータを使用します @OntologyEditFunction() // createFlightScenarioという新しいフライトシナリオを作成するための関数を定義します public createFlightScenario(): void { // 新しいフライトシナリオを作成します // ランダムなUuidを持つフライトシナリオを作成します const scenario = Objects.create().flightScenarios(Uuid.random()); // シナリオの名前を"New scenario"に設定します scenario.scenarioName = "New scenario"; // シナリオの作成時間を現在の時間に設定します scenario.creationTime = Timestamp.now(); } }