@backland/schema
Version:
TypeScript schema declaration and validation library with static type inference
34 lines (33 loc) • 1.59 kB
JavaScript
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
import { jsonToTypescript } from '@backland/utils';
import { objectToJSON } from './objectToJSON';
var defaultBannerComment = "";
/**
* Creates a typescript declaration from an object
* @param name
* @param object
* @param options
*/
export function objectToTypescript(_x, _x2, _x3) {
return _objectToTypescript.apply(this, arguments);
}
function _objectToTypescript() {
_objectToTypescript = _asyncToGenerator(function* (name, object, options) {
var {
bannerComment = defaultBannerComment,
format = true,
unreachableDefinitions = false,
strictIndexSignatures = true
} = options || {};
var json = objectToJSON(name, object, options);
return jsonToTypescript(json, name, {
bannerComment,
format,
strictIndexSignatures,
unreachableDefinitions
});
});
return _objectToTypescript.apply(this, arguments);
}
//# sourceMappingURL=objectToTypescript.js.map