Method Overview
Name | Return Type | Summary | |
---|---|---|---|
Function | A property decorator that creates a two-way binding between the property it decorates and an inner property of one of its members. more details | more details | |
Function | This method decorator is used to define the method that will cast a property from a class. more details | more details | |
Function | This parameter decorator is used to define the function or class for a parameter of a method. more details | more details | |
* | A function that can be used as a class. more details | more details | |
Function | This convenience decorator is used to define an Accessor property. more details | more details | |
Function | A class decorator that must be used together with the | more details |
Method Details
aliasOf(propertyName){Function}
A property decorator that creates a two-way binding between the property it decorates and an inner property of one of its members.
Parameter:propertyName StringThe aliased property name.
Returns:Type Description Function The property decorator. Examples:@aliasOf("viewModel.name") name: string = "name";
@aliasOf("viewModel.someMethod") someMethod: () => string;
cast(propertyName){Function}
This method decorator is used to define the method that will cast a property from a class.
Parameter:propertyName StringThe property name the function will cast.
Returns:Type Description Function The method descriptor. - See also:
Example:/// <amd-dependency path="esri/core/tsSupport/declareExtendsHelper" name="__extends" /> /// <amd-dependency path="esri/core/tsSupport/decorateHelper" name="__decorate" /> import Accessor = require("esri/core/Accessor"); import { subclass, property, declared, cast } from "esri/core/tsSupport/declare"; @subclass() class Color extends declared(Accessor) { @property() r: number = 0; @property() g: number = 0; @property() b: number = 0; @property() a: number = 1; @cast("r") @cast("g") @cast("b") protected castComponent(value) { // cast method that clamp the value that // will be set on r, g or b between 0 and 255 return Math.max(0, Math.min(255, value)); } @cast("a") protected castAlpha(value) { // cast method that clamp the value that // will be set on a between 0 and 255 return Math.max(0, Math.min(1, value)); } }
cast(classFunction){Function}
This parameter decorator is used to define the function or class for a parameter of a method.
Parameter:classFunction FunctionThe function or class to cast the parameter
Returns:Type Description Function The method descriptor. - See also:
Example:/// <amd-dependency path="esri/core/tsSupport/declareExtendsHelper" name="__extends" /> /// <amd-dependency path="esri/core/tsSupport/decorateHelper" name="__decorate" /> import Accessor = require("esri/core/Accessor"); import { subclass, property, declared } from "esri/core/tsSupport/declare"; @subclass() class QueryTask extends declared(Accessor) { execute(@cast(Query) query: Query): IPromise<FeatureSet> { return ...; } }
declared(baseClass, mixinClasses){*}
Since: ArcGIS API for JavaScript 4.2A function that can be used as a class. It extends expression and is used in conjunction with the
@subclass
decorator to create a class compatible to dojo.declare. Please refer to thesubclass
documentation for further information.Parameters:baseClassThe class to extend.
repeatablemixinClasses ObjectThe mixin classes used to extend the base class.
Returns:Type Description * The first baseClass. Example:// typescript syntax which creates a subclass that extends the Accessor class. @subclass("my.custom.class") class MyCustomClass extends declared(Accessor) { // ... }
property(propertyMetadata){Function}
This convenience decorator is used to define an Accessor property. Any property defined with this decorator can now be
get
andset
. In addition, you can watch for any property changes. Many times this decorator is used in conjunction with the @renderable decorator.Parameters:optionalpropertyMetadata objectAn object describing the property.
Specification:optionaldependsOn String[]Property names of dependencies.
optionaltype FunctionThe constructor used to autocast the property.
optionalcast FunctionThe function to use to autocast the property. Alternative to define the
type
. The function is called with the value set by the user and should return the cast value.optionalreadOnly BooleanIndicates whether the property is read-only, default is
false
.optionalaliasOf StringThe property decorator that creates a two-way binding between the property it decorates and an inner property of one of its members.
optionalvalue objectThe default value for the property.
Returns:Type Description Function The property descriptor. - See also:
Example:// typescript syntax to specify the property. @property() title: string = "Awesome Title!"
subclass(declaredClass){Function}
A class decorator that must be used together with the
declared
function to create a class compatible to dojo.declare. It supports both single and multiple inheritance and can be considered the underlying functionality needed when creating 4.x classes.Parameter:optionaldeclaredClass StringThe subclass name.
Returns:Type Description Function The class decorator. Examples:// Single inheritance - typescript syntax which creates a subclass that extends the Accessor class. @subclass("my.custom.class") class MyCustomClass extends declared(Accessor) { // ... }
// Multiple inheritance - typescript syntax which creates a subclass that extends multiple classes // Use declaration merging to add mixins to the SceneLayer type interface SceneLayer extends SceneService { } // provide a fully qualified namespace for the resulting subclass @subclass("esri.layers.SceneLayer") class SceneLayer extends declared(Layer, SceneService) { // do something }