@tricoteuses/arbre-de-la-loi
Version:
Generate ASTs from the French bills & laws; manipulate & export them to Markdown, etc.
70 lines (58 loc) • 5.95 kB
JavaScript
;
require("core-js/modules/es.object.define-property.js");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = hastFromXast;
require("core-js/modules/es.function.name.js");
require("core-js/modules/es.array.map.js");
var _hast = require("./hast");
var _xast = require("./xast");
function hastFromXast(xastNode) {
switch (xastNode.type) {
case _xast.XastType.Cdata:
case _xast.XastType.Comment:
case _xast.XastType.Instruction:
return {
data: xastNode.data,
position: xastNode.position,
type: _hast.HastType.Comment,
value: xastNode.value
};
case _xast.XastType.Doctype:
return {
data: xastNode.data,
name: xastNode.name,
position: xastNode.position,
"public": xastNode["public"],
system: xastNode.system,
type: _hast.HastType.Doctype
};
case _xast.XastType.Root:
return {
children: xastNode.children.map(hastFromXast),
data: xastNode.data,
position: xastNode.position,
type: _hast.HastType.Root
};
case _xast.XastType.Text:
return {
data: xastNode.data,
position: xastNode.position,
type: _hast.HastType.Text,
value: xastNode.value
};
case _xast.XastType.Element:
return {
children: xastNode.children.map(hastFromXast),
data: xastNode.data,
position: xastNode.position,
properties: xastNode.attributes,
tagName: xastNode.name,
type: _hast.HastType.Element
};
default:
(0, _xast.assertNeverXastNode)(xastNode);
}
}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9oYXN0X2Zyb21feGFzdC50cyJdLCJuYW1lcyI6WyJoYXN0RnJvbVhhc3QiLCJ4YXN0Tm9kZSIsInR5cGUiLCJYYXN0VHlwZSIsIkNkYXRhIiwiQ29tbWVudCIsIkluc3RydWN0aW9uIiwiZGF0YSIsInBvc2l0aW9uIiwiSGFzdFR5cGUiLCJ2YWx1ZSIsIkRvY3R5cGUiLCJuYW1lIiwic3lzdGVtIiwiUm9vdCIsImNoaWxkcmVuIiwibWFwIiwiVGV4dCIsIkVsZW1lbnQiLCJwcm9wZXJ0aWVzIiwiYXR0cmlidXRlcyIsInRhZ05hbWUiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFFZSxTQUFTQSxZQUFULENBQXNCQyxRQUF0QixFQUFvRDtBQUNqRSxVQUFRQSxRQUFRLENBQUNDLElBQWpCO0FBQ0UsU0FBS0MsZUFBU0MsS0FBZDtBQUNBLFNBQUtELGVBQVNFLE9BQWQ7QUFDQSxTQUFLRixlQUFTRyxXQUFkO0FBQ0UsYUFBTztBQUNMQyxRQUFBQSxJQUFJLEVBQUVOLFFBQVEsQ0FBQ00sSUFEVjtBQUVMQyxRQUFBQSxRQUFRLEVBQUVQLFFBQVEsQ0FBQ08sUUFGZDtBQUdMTixRQUFBQSxJQUFJLEVBQUVPLGVBQVNKLE9BSFY7QUFJTEssUUFBQUEsS0FBSyxFQUFFVCxRQUFRLENBQUNTO0FBSlgsT0FBUDs7QUFPRixTQUFLUCxlQUFTUSxPQUFkO0FBQ0UsYUFBTztBQUNMSixRQUFBQSxJQUFJLEVBQUVOLFFBQVEsQ0FBQ00sSUFEVjtBQUVMSyxRQUFBQSxJQUFJLEVBQUVYLFFBQVEsQ0FBQ1csSUFGVjtBQUdMSixRQUFBQSxRQUFRLEVBQUVQLFFBQVEsQ0FBQ08sUUFIZDtBQUlMLGtCQUFRUCxRQUFRLFVBSlg7QUFLTFksUUFBQUEsTUFBTSxFQUFFWixRQUFRLENBQUNZLE1BTFo7QUFNTFgsUUFBQUEsSUFBSSxFQUFFTyxlQUFTRTtBQU5WLE9BQVA7O0FBU0YsU0FBS1IsZUFBU1csSUFBZDtBQUNFLGFBQU87QUFDTEMsUUFBQUEsUUFBUSxFQUFFZCxRQUFRLENBQUNjLFFBQVQsQ0FBa0JDLEdBQWxCLENBQXNCaEIsWUFBdEIsQ0FETDtBQUVMTyxRQUFBQSxJQUFJLEVBQUVOLFFBQVEsQ0FBQ00sSUFGVjtBQUdMQyxRQUFBQSxRQUFRLEVBQUVQLFFBQVEsQ0FBQ08sUUFIZDtBQUlMTixRQUFBQSxJQUFJLEVBQUVPLGVBQVNLO0FBSlYsT0FBUDs7QUFPRixTQUFLWCxlQUFTYyxJQUFkO0FBQ0UsYUFBTztBQUNMVixRQUFBQSxJQUFJLEVBQUVOLFFBQVEsQ0FBQ00sSUFEVjtBQUVMQyxRQUFBQSxRQUFRLEVBQUVQLFFBQVEsQ0FBQ08sUUFGZDtBQUdMTixRQUFBQSxJQUFJLEVBQUVPLGVBQVNRLElBSFY7QUFJTFAsUUFBQUEsS0FBSyxFQUFFVCxRQUFRLENBQUNTO0FBSlgsT0FBUDs7QUFPRixTQUFLUCxlQUFTZSxPQUFkO0FBQ0UsYUFBTztBQUNMSCxRQUFBQSxRQUFRLEVBQUVkLFFBQVEsQ0FBQ2MsUUFBVCxDQUFrQkMsR0FBbEIsQ0FBc0JoQixZQUF0QixDQURMO0FBRUxPLFFBQUFBLElBQUksRUFBRU4sUUFBUSxDQUFDTSxJQUZWO0FBR0xDLFFBQUFBLFFBQVEsRUFBRVAsUUFBUSxDQUFDTyxRQUhkO0FBSUxXLFFBQUFBLFVBQVUsRUFBRWxCLFFBQVEsQ0FBQ21CLFVBSmhCO0FBS0xDLFFBQUFBLE9BQU8sRUFBRXBCLFFBQVEsQ0FBQ1csSUFMYjtBQU1MVixRQUFBQSxJQUFJLEVBQUVPLGVBQVNTO0FBTlYsT0FBUDs7QUFTRjtBQUNFLHFDQUFvQmpCLFFBQXBCO0FBaERKO0FBa0REIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSGFzdEVsZW1lbnQsIEhhc3ROb2RlLCBIYXN0Um9vdCwgSGFzdFR5cGUgfSBmcm9tIFwiLi9oYXN0XCJcbmltcG9ydCB7IGFzc2VydE5ldmVyWGFzdE5vZGUsIFhhc3ROb2RlLCBYYXN0VHlwZSB9IGZyb20gXCIuL3hhc3RcIlxuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBoYXN0RnJvbVhhc3QoeGFzdE5vZGU6IFhhc3ROb2RlKTogSGFzdE5vZGUge1xuICBzd2l0Y2ggKHhhc3ROb2RlLnR5cGUpIHtcbiAgICBjYXNlIFhhc3RUeXBlLkNkYXRhOlxuICAgIGNhc2UgWGFzdFR5cGUuQ29tbWVudDpcbiAgICBjYXNlIFhhc3RUeXBlLkluc3RydWN0aW9uOlxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgZGF0YTogeGFzdE5vZGUuZGF0YSxcbiAgICAgICAgcG9zaXRpb246IHhhc3ROb2RlLnBvc2l0aW9uLFxuICAgICAgICB0eXBlOiBIYXN0VHlwZS5Db21tZW50LFxuICAgICAgICB2YWx1ZTogeGFzdE5vZGUudmFsdWUsXG4gICAgICB9XG5cbiAgICBjYXNlIFhhc3RUeXBlLkRvY3R5cGU6XG4gICAgICByZXR1cm4ge1xuICAgICAgICBkYXRhOiB4YXN0Tm9kZS5kYXRhLFxuICAgICAgICBuYW1lOiB4YXN0Tm9kZS5uYW1lLFxuICAgICAgICBwb3NpdGlvbjogeGFzdE5vZGUucG9zaXRpb24sXG4gICAgICAgIHB1YmxpYzogeGFzdE5vZGUucHVibGljLFxuICAgICAgICBzeXN0ZW06IHhhc3ROb2RlLnN5c3RlbSxcbiAgICAgICAgdHlwZTogSGFzdFR5cGUuRG9jdHlwZSxcbiAgICAgIH1cblxuICAgIGNhc2UgWGFzdFR5cGUuUm9vdDpcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGNoaWxkcmVuOiB4YXN0Tm9kZS5jaGlsZHJlbi5tYXAoaGFzdEZyb21YYXN0KSBhcyBIYXN0Um9vdFtcImNoaWxkcmVuXCJdLFxuICAgICAgICBkYXRhOiB4YXN0Tm9kZS5kYXRhLFxuICAgICAgICBwb3NpdGlvbjogeGFzdE5vZGUucG9zaXRpb24sXG4gICAgICAgIHR5cGU6IEhhc3RUeXBlLlJvb3QsXG4gICAgICB9XG5cbiAgICBjYXNlIFhhc3RUeXBlLlRleHQ6XG4gICAgICByZXR1cm4ge1xuICAgICAgICBkYXRhOiB4YXN0Tm9kZS5kYXRhLFxuICAgICAgICBwb3NpdGlvbjogeGFzdE5vZGUucG9zaXRpb24sXG4gICAgICAgIHR5cGU6IEhhc3RUeXBlLlRleHQsXG4gICAgICAgIHZhbHVlOiB4YXN0Tm9kZS52YWx1ZSxcbiAgICAgIH1cblxuICAgIGNhc2UgWGFzdFR5cGUuRWxlbWVudDpcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGNoaWxkcmVuOiB4YXN0Tm9kZS5jaGlsZHJlbi5tYXAoaGFzdEZyb21YYXN0KSBhcyBIYXN0RWxlbWVudFtcImNoaWxkcmVuXCJdLFxuICAgICAgICBkYXRhOiB4YXN0Tm9kZS5kYXRhLFxuICAgICAgICBwb3NpdGlvbjogeGFzdE5vZGUucG9zaXRpb24sXG4gICAgICAgIHByb3BlcnRpZXM6IHhhc3ROb2RlLmF0dHJpYnV0ZXMsXG4gICAgICAgIHRhZ05hbWU6IHhhc3ROb2RlLm5hbWUsXG4gICAgICAgIHR5cGU6IEhhc3RUeXBlLkVsZW1lbnQsXG4gICAgICB9XG5cbiAgICBkZWZhdWx0OlxuICAgICAgYXNzZXJ0TmV2ZXJYYXN0Tm9kZSh4YXN0Tm9kZSlcbiAgfVxufSJdfQ==