UNPKG

@tanstack/router-utils

Version:

Modern and scalable routing for React applications

1 lines 1.59 kB
{"version":3,"file":"ast.cjs","sources":["../../src/ast.ts"],"sourcesContent":["import { parse } from '@babel/parser'\nimport _generate from '@babel/generator'\nimport type { GeneratorOptions, GeneratorResult } from '@babel/generator'\nimport type { ParseResult, ParserOptions } from '@babel/parser'\nimport type * as _babel_types from '@babel/types'\n\nexport type ParseAstOptions = ParserOptions & {\n code: string\n}\n\nexport function parseAst({\n code,\n ...opts\n}: ParseAstOptions): ParseResult<_babel_types.File> {\n return parse(code, {\n plugins: ['jsx', 'typescript', 'explicitResourceManagement'],\n sourceType: 'module',\n ...opts,\n })\n}\n\nlet generate = _generate\n\nif ('default' in generate) {\n generate = generate.default as typeof generate\n}\ntype GenerateFromAstOptions = GeneratorOptions &\n Required<Pick<GeneratorOptions, 'sourceFileName' | 'filename'>>\nexport function generateFromAst(\n ast: _babel_types.Node,\n opts?: GenerateFromAstOptions,\n): GeneratorResult {\n return generate(\n ast,\n opts\n ? { importAttributesKeyword: 'with', sourceMaps: true, ...opts }\n : undefined,\n )\n}\nexport type { GeneratorResult } from '@babel/generator'\n"],"names":["parse"],"mappings":";;;;AAUO,SAAS,SAAS;AAAA,EACvB;AAAA,EACA,GAAG;AACL,GAAoD;AAClD,SAAOA,OAAAA,MAAM,MAAM;AAAA,IACjB,SAAS,CAAC,OAAO,cAAc,4BAA4B;AAAA,IAC3D,YAAY;AAAA,IACZ,GAAG;AAAA,EAAA,CACJ;AACH;AAEA,IAAI,WAAW;AAEf,IAAI,aAAa,UAAU;AACzB,aAAW,SAAS;AACtB;AAGgB,SAAA,gBACd,KACA,MACiB;AACV,SAAA;AAAA,IACL;AAAA,IACA,OACI,EAAE,yBAAyB,QAAQ,YAAY,MAAM,GAAG,SACxD;AAAA,EACN;AACF;;;"}