当前位置: 首页>>代码示例>>TypeScript>>正文


TypeScript JsonSchemesService.getSchemaDefinition方法代码示例

本文整理汇总了TypeScript中@tsed/common.JsonSchemesService.getSchemaDefinition方法的典型用法代码示例。如果您正苦于以下问题:TypeScript JsonSchemesService.getSchemaDefinition方法的具体用法?TypeScript JsonSchemesService.getSchemaDefinition怎么用?TypeScript JsonSchemesService.getSchemaDefinition使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在@tsed/common.JsonSchemesService的用法示例。


在下文中一共展示了JsonSchemesService.getSchemaDefinition方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。

示例1: validate

  /**
   *
   * @param obj
   * @param targetType
   * @param baseType
   * @returns {boolean}
   */
  public validate(obj: any, targetType: any, baseType?: any): boolean {
    const schema = this.jsonSchemaService.getSchemaDefinition(targetType) as any;

    if (schema && !(obj === null || obj === undefined)) {
      const collection = baseType ? obj : [obj];
      const options = {
        ignoreCallback: (obj: any, type: any) => type === Date,
        checkRequiredValue: false
      };

      const test = (obj: any) => {
        const ajv = new Ajv(this.options);
        const valid = ajv.validate(schema, obj);
        if (!valid) {
          throw this.buildErrors(ajv.errors!, targetType);
        }
      };

      Object.keys(collection).forEach((key: any) =>
        test(this.converterService.deserialize(collection[key], targetType, undefined, options))
      );
    }

    return true;
  }
开发者ID:Romakita,项目名称:ts-express-decorators,代码行数:32,代码来源:AjvService.ts

示例2: it

 it("should have expected json schema", () => {
   expect(jsonSchemesService.getSchemaDefinition(TestDate)).to.deep.eq({
     definitions: {},
     properties: {
       dateStart: {
         format: "date-time",
         type: "string"
       }
     },
     type: "object"
   });
 });
开发者ID:Romakita,项目名称:ts-express-decorators,代码行数:12,代码来源:ajv.spec.ts


注:本文中的@tsed/common.JsonSchemesService.getSchemaDefinition方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。