本文整理匯總了TypeScript中parsimmon.Parser.parse方法的典型用法代碼示例。如果您正苦於以下問題:TypeScript Parser.parse方法的具體用法?TypeScript Parser.parse怎麽用?TypeScript Parser.parse使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類parsimmon.Parser
的用法示例。
在下文中一共展示了Parser.parse方法的3個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的TypeScript代碼示例。
示例1:
var barPar: Parser<Bar>;
var fooOrBarPar: Parser<Foo | Bar>;
// -- -- -- -- -- -- -- -- -- -- -- -- --
var anyArrPar: Parser<any[]>;
var strArrPar: Parser<string[]>;
var fooArrPar: Parser<Foo[]>;
var barArrPar: Parser<Bar[]>;
// -- -- -- -- -- -- -- -- -- -- -- -- --
var fooMarkPar: Parser<Mark<Foo>>;
const result = fooMarkPar.parse(str);
if (result.status) {
index = result.value.start;
index = result.value.end;
foo = result.value.value;
}
// -- -- -- -- -- -- -- -- -- -- -- -- --
var fooResult: Result<Foo>;
// https://github.com/Microsoft/TypeScript/issues/12882
if (fooResult.status === true) {
foo = fooResult.value;
} else {
strArr = fooResult.expected;
示例2:
let indexPar: Parser<Index>;
let fooPar: Parser<Foo> = null!;
let barPar: Parser<Bar> = null!;
let fooOrBarPar: Parser<Foo | Bar>;
// -- -- -- -- -- -- -- -- -- -- -- -- --
let strArrPar: Parser<string[]>;
let fooArrPar: Parser<Foo[]>;
// -- -- -- -- -- -- -- -- -- -- -- -- --
let fooMarkPar: Parser<Mark<Foo>> = null!;
const result = fooMarkPar.parse(str);
if (result.status) {
index = result.value.start;
index = result.value.end;
foo = result.value.value;
}
// -- -- -- -- -- -- -- -- -- -- -- -- --
let fooResult: Result<Foo> = fooPar.parse("");
// https://github.com/Microsoft/TypeScript/issues/12882
if (fooResult.status === true) {
foo = fooResult.value;
} else {
strArr = fooResult.expected;
示例3: assertParse
'\n'
]
});
assertParse(namespaceDeclaration, `declare namespace "chrome.debugger" {}`, {
namespaceName: 'chrome.debugger',
children: []
});
const sourceFile: Parser<NamespaceDeclaration[]> =
namespaceDeclaration
.or(any.result(null))
.many()
.map(results => results.filter(r => r));
const source = fs.readFileSync('typings/globals/chrome/index.d.ts').toString();
const result = sourceFile.parse(source);
if (!result.status) {
throw new Error('Failed to parse Chrome type declarations.');
}
/* Emit the promisified source. */
const ast: NamespaceDeclaration[] = result.value;
function stringifyTypeSignature(ts: TypeSignature): string {
if (typeof ts === 'string') {
return ts;
} else {
// ts is a function type.
let out = '(';
ts.functionArguments.forEach((arg, idx) => {