pareto-fountain-pen
Version:
A TypeScript library for easily generating source code files with proper indentation in the pareto programming style/language
112 lines (111 loc) • 3.79 kB
TypeScript
import * as _i_core from "../../core/unconstrained";
export type _T_Block = _i_core._T_List<null, _T_Block_Part>;
export type _T_Block_Part = _i_core._T_State_Group<null, readonly ['line', string] | readonly ['nested line', _T_Line] | readonly ['nothing', null] | readonly ['sub block', _T_Block]>;
export type _T_Directory = _i_core._T_Dictionary<null, _i_core._T_State_Group<null, readonly ['directory', _T_Directory] | readonly ['file', _T_Block]>>;
export type _T_Line = _i_core._T_List<null, _T_Line_Part>;
export type _T_Line_Part = _i_core._T_State_Group<null, readonly ['indent', _T_Block] | readonly ['nothing', null] | readonly ['snippet', string] | readonly ['sub line', _T_Line]>;
export type Block = _T_Block;
export type Block_Part = _T_Block_Part;
export type Directory = _T_Directory;
export type Line = _T_Line;
export type Line_Part = _T_Line_Part;
export declare namespace _T_Block {
namespace L {
}
type L = _T_Block_Part;
}
export declare namespace _T_Block_Part {
namespace SG {
type line = string;
namespace nested_line {
}
type nested_line = _T_Line;
type nothing = null;
namespace sub_block {
}
type sub_block = _T_Block;
}
type SG = readonly ['line', string] | readonly ['nested line', _T_Line] | readonly ['nothing', null] | readonly ['sub block', _T_Block];
}
export declare namespace _T_Directory {
namespace D {
namespace SG {
namespace directory {
}
type directory = _T_Directory;
namespace file {
}
type file = _T_Block;
}
type SG = readonly ['directory', _T_Directory] | readonly ['file', _T_Block];
}
type D = _i_core._T_State_Group<null, readonly ['directory', _T_Directory] | readonly ['file', _T_Block]>;
}
export declare namespace _T_Line {
namespace L {
}
type L = _T_Line_Part;
}
export declare namespace _T_Line_Part {
namespace SG {
namespace indent {
}
type indent = _T_Block;
type nothing = null;
type snippet = string;
namespace sub_line {
}
type sub_line = _T_Line;
}
type SG = readonly ['indent', _T_Block] | readonly ['nothing', null] | readonly ['snippet', string] | readonly ['sub line', _T_Line];
}
export declare namespace Block {
namespace L {
}
type L = _T_Block_Part;
}
export declare namespace Block_Part {
namespace SG {
type line = string;
namespace nested_line {
}
type nested_line = _T_Line;
type nothing = null;
namespace sub_block {
}
type sub_block = _T_Block;
}
type SG = readonly ['line', string] | readonly ['nested line', _T_Line] | readonly ['nothing', null] | readonly ['sub block', _T_Block];
}
export declare namespace Directory {
namespace D {
namespace SG {
namespace directory {
}
type directory = _T_Directory;
namespace file {
}
type file = _T_Block;
}
type SG = readonly ['directory', _T_Directory] | readonly ['file', _T_Block];
}
type D = _i_core._T_State_Group<null, readonly ['directory', _T_Directory] | readonly ['file', _T_Block]>;
}
export declare namespace Line {
namespace L {
}
type L = _T_Line_Part;
}
export declare namespace Line_Part {
namespace SG {
namespace indent {
}
type indent = _T_Block;
type nothing = null;
type snippet = string;
namespace sub_line {
}
type sub_line = _T_Line;
}
type SG = readonly ['indent', _T_Block] | readonly ['nothing', null] | readonly ['snippet', string] | readonly ['sub line', _T_Line];
}