Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Po stronie przeglądarki musimy sami zarejestrować funkcję. W tym celu należy wywołać metodę register z 

Jsdoc
propertyjsdoc.plusworkflow
classNamePW.core.fn.Functions

Code Block
languagejs
var registeredFunction = Functions.register({
	name: "maxOf",
	fn: function(avalue1,b value2)
	{
		return Math.max(a,bvalue1 <= value2);
	},
	parameterTypes: ["float", FloatType]
});

W tym przypadku zarejestrowaliśmy funkcję (podaną jako drugi parametr) o nazwie maxOf.Funkcja register zwraca obiekt zarejestrowanej funkcji 

Jsdoc
propertyjsdoc.plusworkflow
classNamePW.core.fn.RegisteredFunction
. Możemy na tym obiekcie ustawić typy parametrów wejściowych funkcji za pomocą metody withParameterTypes, gdzie podajemy typy parametrów w takiej z implementacją przekazaną we właściwości fn.

Właściwość parameterTypes jest opcjonalna, jednak w większości przypadków powinna być uzupełniana. Określa ona typy parametrów funkcji, dzięki czemu podczas wywoływania funkcji podane wartości parametrów są konwertowane do tych typów. Parametry podajemy w takiej samej kolejności jak występują one w funkcji:

Code Block
languagejs
registeredFunction.withParameterTypes(FloatType, FloatType);

...

. Parametry możemy podać jako klucz typu (float), lub jako obiekt typu (FloatType). Jeżeli funkcja zostanie wywołana z większą ilością parametrów niż ilość zdefiniowanych typów, to wszystkie dodatkowe parametry zostaną przekonwertowane do typu, który jest ostatni w tablicy.

Note

Należy pamiętać, że każda funkcja zarejestrowana po stronie przeglądarki musi mieć swój odpowiednik po stronie serwera.

...