本文整理汇总了TypeScript中plywood.Action类的典型用法代码示例。如果您正苦于以下问题:TypeScript Action类的具体用法?TypeScript Action怎么用?TypeScript Action使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了Action类的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: fromJS
static fromJS(parameters: SplitCombineJS, context?: SplitCombineContext): SplitCombine {
if (typeof parameters === 'string') {
if (!context) throw new Error('must have context for string split');
var dimension = context.dimensions.find(d => d.name === parameters);
if (!dimension) throw new Error(`can not find dimension ${parameters}`);
return new SplitCombine({
expression: dimension.expression,
bucketAction: null,
sortAction: null,
limitAction: null
});
} else {
var value: SplitCombineValue = {
expression: Expression.fromJSLoose(parameters.expression),
bucketAction: null,
sortAction: null,
limitAction: null
};
if (parameters.bucketAction) value.bucketAction = Action.fromJS(parameters.bucketAction);
if (parameters.sortAction) value.sortAction = SortAction.fromJS(parameters.sortAction);
if (parameters.limitAction) value.limitAction = LimitAction.fromJS(parameters.limitAction);
return new SplitCombine(value);
}
}
示例2: toJS
public toJS(): SplitCombineJS {
var js: SplitCombineJSFull = {
expression: this.expression.toJS()
};
if (this.bucketAction) js.bucketAction = this.bucketAction.toJS();
if (this.sortAction) js.sortAction = this.sortAction.toJS();
if (this.limitAction) js.limitAction = this.limitAction.toJS();
return js;
}
示例3: getBucketAction
public getBucketAction(): Action {
if (this.type === 'TIME') {
return Action.fromJS({
action: 'timeBucket',
duration: 'PT1H',
timezone: 'Etc/UTC'
});
}
return null;
}
示例4: equals
public equals(other: SplitCombine): boolean {
var { expression, bucketAction, sortAction, limitAction } = this;
return SplitCombine.isSplitCombine(other) &&
expression.equals(other.expression) &&
Boolean(bucketAction) === Boolean(other.bucketAction) &&
(!bucketAction || bucketAction.equals(other.bucketAction)) &&
Boolean(sortAction) === Boolean(other.sortAction) &&
(!sortAction || sortAction.equals(other.sortAction)) &&
Boolean(limitAction) === Boolean(other.limitAction) &&
(!limitAction || limitAction.equals(other.limitAction));
}
示例5: granularityFromJS
export function granularityFromJS(input: GranularityJS): Granularity {
if (typeof input === 'number') return NumberBucketAction.fromJS({ size: input });
if (typeof input === 'string') return TimeBucketAction.fromJS({ duration: input });
if (typeof input === "object") {
if (!hasOwnProperty(input, 'action')) {
throw new Error(`could not recognize object as action`);
}
return (Action.fromJS(input as GranularityJS) as Granularity);
}
throw new Error(`input should be of type number, string, or action`);
}
示例6: fromJS
static fromJS(parameters: SplitCombineJS): SplitCombine {
var value: SplitCombineValue = {
expression: Expression.fromJS(parameters.expression),
bucketAction: null,
sortAction: null,
limitAction: null
};
if (parameters.bucketAction) value.bucketAction = Action.fromJS(parameters.bucketAction);
if (parameters.sortAction) value.sortAction = SortAction.fromJS(parameters.sortAction);
if (parameters.limitAction) value.limitAction = LimitAction.fromJS(parameters.limitAction);
return new SplitCombine(value);
}
示例7: timezoneDependant
public timezoneDependant(): boolean {
const { bucketAction } = this;
if (!bucketAction) return false;
return bucketAction.needsEnvironment();
}