Exemplo n.º 1
0
        /// <summary>Initializes a new instance of the <see cref="SwaggerToTypeScriptClientGenerator" /> class.</summary>
        /// <param name="service">The service.</param>
        /// <param name="settings">The settings.</param>
        /// <exception cref="System.ArgumentNullException">service</exception>
        /// <exception cref="ArgumentNullException"><paramref name="service" /> is <see langword="null" />.</exception>
        public SwaggerToTypeScriptClientGenerator(SwaggerService service, SwaggerToTypeScriptClientGeneratorSettings settings)
        {
            if (service == null)
            {
                throw new ArgumentNullException(nameof(service));
            }

            Settings = settings;

            _service = service;

            foreach (var definition in _service.Definitions.Where(p => string.IsNullOrEmpty(p.Value.TypeNameRaw)))
            {
                definition.Value.TypeNameRaw = definition.Key;
            }

            _resolver = new TypeScriptTypeResolver(Settings.TypeScriptGeneratorSettings, service);
            _resolver.AddSchemas(_service.Definitions);
        }
        /// <summary>Initializes a new instance of the <see cref="SwaggerToTypeScriptClientGenerator" /> class.</summary>
        /// <param name="document">The Swagger document.</param>
        /// <param name="settings">The settings.</param>
        /// <param name="resolver">The resolver.</param>
        /// <exception cref="ArgumentNullException"><paramref name="document" /> is <see langword="null" />.</exception>
        public SwaggerToTypeScriptClientGenerator(SwaggerDocument document, SwaggerToTypeScriptClientGeneratorSettings settings, TypeScriptTypeResolver resolver)
            : base(resolver, settings.CodeGeneratorSettings)
        {
            if (document == null)
            {
                throw new ArgumentNullException(nameof(document));
            }

            Settings = settings;

            _document = document;
            _resolver = resolver;

            foreach (var definition in _document.Definitions.Where(p => string.IsNullOrEmpty(p.Value.TypeNameRaw)))
            {
                definition.Value.TypeNameRaw = definition.Key;
            }

            _resolver.AddSchemas(_document.Definitions);
        }