整整十年 - Agent Framework for TypeScript 2.0

十年前,我发布了 Agent Framework for .NET 2.0

今天,Agent 又开始了新的旅程, 这次支持的语言是 TypeScript 2.0

上需求:init函数只能被调用一次

废话不说,贴代码

import { prerequistie, success } from ‘agentframework‘

class NewAgent {

  @prerequisite(‘initialized‘, false, ‘Already initialized‘)
  @success(‘initialized‘, true)
  public init(configDir: string = process.cwd()): void {
    // do init
  }

}

用法解释:

1. 调用 init 之前先检查 initialized 的值,如果是false,那么就继续执行,如果不是false,那就抛出一个异常 new Error(‘Already initialized‘)

2. 调用 init 之后如果运行成功,那么 initialized的值就设置为true.

更多玩法还在设计中

时间: 2024-10-20 04:59:17

整整十年 - Agent Framework for TypeScript 2.0的相关文章

在 Typescript 2.0 中使用 @types 类型定义

在 Typescript 2.0 中使用 @type 类型定义 基于 Typescript 开发的时候,很麻烦的一个问题就是类型定义.导致在编译的时候,经常会看到一连串的找不到类型的提示.解决的方式经过了许多的变化,从 DefinitelyTyped 到 typings.最后是 @types.在 Typescript 2.0 之后,推荐使用 @types 方式. DefinitelyTyped 这个工具已经不被推荐,仅作介绍. 多数来自 javascript 的库是没有 TypeScript 类

ASP.NET Core 开发-Entity Framework (EF) Core 1.0 Database First

ASP.NET Core 开发-Entity Framework Core 1.0 Database First,ASP.NET Core 1.0 EF Core操作数据库. Entity Framework Core 1.0 也已经发布了,可以适用于 .NET Core 1.0 及ASP.NET Core 1.0 . EF Core RC2 时,使用的Code First: http://www.cnblogs.com/linezero/p/EntityFrameworkCore.html E

微软即将发布 TypeScript 2.0:候选版本已放出

微软推出TypeScript编程语言已有差不多4年时间,不过该公司正准备发布第二个大版本.TypeScript 2.0的开发似乎已近完成,因为该公司已经开放了候选发布(RC)版本的下载.在发行说明中,其主要提到了三方面的增强,分别是——(1)Tagged unions:(2)更多Literal字体:(3)全局.包含.例外. 更多微软即将发布 TypeScript 2.0:候选版本已放出,请访问勤快学资讯http://qkxue.net/info/ 开发者们可以通过“npm install -g

.Net Core 控制台程序错误:Can not find runtime target for framework '.NETCoreApp,Version=v1.0' compatible with one of the target runtimes: 'win10-x64, win81-x64, win8-x64, win7-x64'.

.Net Core 控制台程序错误:Can not find runtime target for framework '.NETCoreApp,Version=v1.0' compatible with one of the target runtimes: 'win10-x64, win81-x64, win8-x64, win7-x64'. 解决方法: 在项目文件project.json里添加: "runtimes": {    "win10-x64": {}

C#OOP之十四 .Net Framework简介

.Net FrameWork 从以前的dos平台到现今的Windows 2003.Vista.Win7,开发语言也是百花齐放.究竟选择哪一种,到底哪个才是最好的?更为痛苦的是团队内成员之间用的开发语言的一致性的要求,不一致的话,VC++开发的类库文件Delphi,无法调,反之也如此,无法良好的实现代码重用.效率提高等,不得不痛苦的去查Windows API等巨厚无比的手册.宝典,自己重新写成类库等来调用. 那么没有更好技术,实现各个语言之间的共通吗?团队成员之间不再局限于语言的困扰,.Net F

十二.Django---restful framework框架 restful 规范

一 .restful 规范 Django REST框架是一个功能强大且灵活的工具包,用于构建Web API. Django Rest Framework(DRF)为我们的Django Talk项目创建RESTFul API ,这是一个用于快速构建基于Django模型的RESTful API的应用程序. 一个能快速为我们提供API接口,方便我们编程的框架.API是后端编程人员写的,为了让前端拿数据的一个接口,通常就是以url的形式存在 原文地址:https://www.cnblogs.com/lo

Android 4.4 Kitkat Phone工作流程浅析(十二)__4.4小结与5.0概览

前置文章: <Android 4.4 Kitkat Phone工作流程浅析(一)__概要和学习计划> <Android 4.4 Kitkat Phone工作流程浅析(二)__UI结构分析> <Android 4.4 Kitkat Phone工作流程浅析(三)__MO(去电)流程分析> <Android 4.4 Kitkat Phone工作流程浅析(四)__RILJ工作流程简析> <Android 4.4 Kitkat Phone工作流程浅析(五)__M

[ExtJS5学习笔记]第二十八节 sencha ext js 5.1.0发布版本正式发布

本文地址:http://blog.csdn.net/sushengmiyan/article/details/41242993 本文作者:sushengmiyan ------------------------------------------------------------------------------------------------------------------------------------ 官方博客发布了这个新版本说明,英文文章请戳下面 http://www.

TypeScript 3.0下react默认属性DefaultProps解决方案

ts和react的默认属性的四种解决方案 Non-null assertion operator(非空断言语句) Component type casting(组件类型重置) High order function for defining defaultProps(高阶组件) Props getter function(Getter函数) 1. 非空断言语句 1.const color = this.props.color!; 2.this.props.onBlur ? this.props.