Extract ModuleImport/IngestedFileImport into structs for reuse

This commit is contained in:
Agus Zubiaga 2023-12-26 11:38:18 -03:00
parent 4d6e641864
commit 2d93f0c3f1
No known key found for this signature in database
10 changed files with 917 additions and 816 deletions

View file

@ -14,14 +14,16 @@ Defs {
spaces: [],
type_defs: [],
value_defs: [
ModuleImport {
before_name: [],
name: @8-12 ImportedModuleName {
package: None,
name: "Json",
ModuleImport(
ModuleImport {
before_name: [],
name: @8-12 ImportedModuleName {
package: None,
name: "Json",
},
alias: None,
exposed: None,
},
alias: None,
exposed: None,
},
),
],
}

View file

@ -30,113 +30,121 @@ Defs {
],
type_defs: [],
value_defs: [
ModuleImport {
before_name: [],
name: @8-19 ImportedModuleName {
package: Some(
"json",
),
name: "Decode",
},
alias: None,
exposed: None,
},
ModuleImport {
before_name: [],
name: @27-38 ImportedModuleName {
package: Some(
"json",
),
name: "Decode",
},
alias: Some(
KeywordItem {
keyword: Spaces {
before: [],
item: ImportAsKeyword,
after: [],
},
item: @42-44 ImportAlias(
"JD",
ModuleImport(
ModuleImport {
before_name: [],
name: @8-19 ImportedModuleName {
package: Some(
"json",
),
name: "Decode",
},
),
exposed: None,
},
ModuleImport {
before_name: [],
name: @52-63 ImportedModuleName {
package: Some(
"json",
),
name: "Decode",
alias: None,
exposed: None,
},
alias: None,
exposed: Some(
KeywordItem {
keyword: Spaces {
before: [],
item: ImportExposingKeyword,
after: [],
},
item: [
@74-81 ExposedName(
"Decoder",
),
@88-91 SpaceBefore(
ExposedName(
"map",
),
[
Newline,
],
),
],
},
),
},
ModuleImport {
before_name: [],
name: @100-111 ImportedModuleName {
package: Some(
"json",
),
name: "Decode",
},
alias: Some(
KeywordItem {
keyword: Spaces {
before: [],
item: ImportAsKeyword,
after: [],
},
item: @115-117 ImportAlias(
"JD",
),
ModuleImport(
ModuleImport {
before_name: [],
name: @27-38 ImportedModuleName {
package: Some(
"json",
),
name: "Decode",
},
),
exposed: Some(
KeywordItem {
keyword: Spaces {
before: [],
item: ImportExposingKeyword,
after: [],
alias: Some(
KeywordItem {
keyword: Spaces {
before: [],
item: ImportAsKeyword,
after: [],
},
item: @42-44 ImportAlias(
"JD",
),
},
item: [
@128-135 ExposedName(
"Decoder",
),
@142-145 SpaceBefore(
ExposedName(
"map",
),
[
Newline,
],
),
],
),
exposed: None,
},
),
ModuleImport(
ModuleImport {
before_name: [],
name: @52-63 ImportedModuleName {
package: Some(
"json",
),
name: "Decode",
},
),
},
alias: None,
exposed: Some(
KeywordItem {
keyword: Spaces {
before: [],
item: ImportExposingKeyword,
after: [],
},
item: [
@74-81 ExposedName(
"Decoder",
),
@88-91 SpaceBefore(
ExposedName(
"map",
),
[
Newline,
],
),
],
},
),
},
),
ModuleImport(
ModuleImport {
before_name: [],
name: @100-111 ImportedModuleName {
package: Some(
"json",
),
name: "Decode",
},
alias: Some(
KeywordItem {
keyword: Spaces {
before: [],
item: ImportAsKeyword,
after: [],
},
item: @115-117 ImportAlias(
"JD",
),
},
),
exposed: Some(
KeywordItem {
keyword: Spaces {
before: [],
item: ImportExposingKeyword,
after: [],
},
item: [
@128-135 ExposedName(
"Decoder",
),
@142-145 SpaceBefore(
ExposedName(
"map",
),
[
Newline,
],
),
],
},
),
},
),
],
}

View file

@ -20,45 +20,49 @@ Defs {
],
type_defs: [],
value_defs: [
ModuleImport {
before_name: [],
name: @7-17 ImportedModuleName {
package: None,
name: "JsonEncode",
},
alias: Some(
KeywordItem {
keyword: Spaces {
before: [],
item: ImportAsKeyword,
after: [],
},
item: @21-23 ImportAlias(
"JE",
),
ModuleImport(
ModuleImport {
before_name: [],
name: @7-17 ImportedModuleName {
package: None,
name: "JsonEncode",
},
),
exposed: None,
},
ModuleImport {
before_name: [],
name: @31-42 ImportedModuleName {
package: None,
name: "BytesDecode",
},
alias: Some(
KeywordItem {
keyword: Spaces {
before: [],
item: ImportAsKeyword,
after: [],
alias: Some(
KeywordItem {
keyword: Spaces {
before: [],
item: ImportAsKeyword,
after: [],
},
item: @21-23 ImportAlias(
"JE",
),
},
item: @47-49 ImportAlias(
"BD",
),
),
exposed: None,
},
),
ModuleImport(
ModuleImport {
before_name: [],
name: @31-42 ImportedModuleName {
package: None,
name: "BytesDecode",
},
),
exposed: None,
},
alias: Some(
KeywordItem {
keyword: Spaces {
before: [],
item: ImportAsKeyword,
after: [],
},
item: @47-49 ImportAlias(
"BD",
),
},
),
exposed: None,
},
),
],
}

View file

@ -90,463 +90,489 @@ Defs {
],
type_defs: [],
value_defs: [
ModuleImport {
before_name: [
Newline,
LineComment(
" comment",
ModuleImport(
ModuleImport {
before_name: [
Newline,
LineComment(
" comment",
),
],
name: @25-29 ImportedModuleName {
package: None,
name: "Json",
},
alias: Some(
KeywordItem {
keyword: Spaces {
before: [],
item: ImportAsKeyword,
after: [],
},
item: @33-34 ImportAlias(
"J",
),
},
),
],
name: @25-29 ImportedModuleName {
package: None,
name: "Json",
},
alias: Some(
KeywordItem {
keyword: Spaces {
before: [],
item: ImportAsKeyword,
after: [],
},
item: @33-34 ImportAlias(
"J",
),
},
),
exposed: Some(
KeywordItem {
keyword: Spaces {
before: [],
item: ImportExposingKeyword,
after: [],
},
item: [
@45-48 ExposedName(
"map",
),
],
},
),
},
ModuleImport {
before_name: [],
name: @58-62 ImportedModuleName {
package: None,
name: "Json",
},
alias: Some(
KeywordItem {
keyword: Spaces {
before: [
Newline,
LineComment(
" comment",
),
],
item: ImportAsKeyword,
after: [],
},
item: @84-85 ImportAlias(
"J",
),
},
),
exposed: Some(
KeywordItem {
keyword: Spaces {
before: [],
item: ImportExposingKeyword,
after: [],
},
item: [
@96-99 ExposedName(
"map",
),
],
},
),
},
ModuleImport {
before_name: [],
name: @109-113 ImportedModuleName {
package: None,
name: "Json",
},
alias: Some(
KeywordItem {
keyword: Spaces {
before: [],
item: ImportAsKeyword,
after: [
Newline,
LineComment(
" comment",
exposed: Some(
KeywordItem {
keyword: Spaces {
before: [],
item: ImportExposingKeyword,
after: [],
},
item: [
@45-48 ExposedName(
"map",
),
],
},
item: @135-136 ImportAlias(
"J",
),
},
),
exposed: None,
},
ModuleImport {
before_name: [],
name: @145-149 ImportedModuleName {
package: None,
name: "Json",
),
},
alias: Some(
KeywordItem {
keyword: Spaces {
before: [],
item: ImportAsKeyword,
after: [
Newline,
LineComment(
" comment",
),
],
},
item: @171-172 ImportAlias(
"J",
),
),
ModuleImport(
ModuleImport {
before_name: [],
name: @58-62 ImportedModuleName {
package: None,
name: "Json",
},
),
exposed: Some(
KeywordItem {
keyword: Spaces {
before: [],
item: ImportExposingKeyword,
after: [],
},
item: [
@183-186 ExposedName(
"map",
),
],
},
),
},
ModuleImport {
before_name: [],
name: @196-200 ImportedModuleName {
package: None,
name: "Json",
},
alias: Some(
KeywordItem {
keyword: Spaces {
before: [],
item: ImportAsKeyword,
after: [
Newline,
LineComment(
" comment",
),
],
},
item: @222-223 ImportAlias(
"J",
),
},
),
exposed: Some(
KeywordItem {
keyword: Spaces {
before: [],
item: ImportExposingKeyword,
after: [],
},
item: [
@234-237 ExposedName(
"map",
),
@247-251 SpaceBefore(
ExposedName(
"map2",
),
[
Newline,
],
),
],
},
),
},
ModuleImport {
before_name: [],
name: @261-265 ImportedModuleName {
package: None,
name: "Json",
},
alias: None,
exposed: Some(
KeywordItem {
keyword: Spaces {
before: [
Newline,
LineComment(
" comment",
),
],
item: ImportExposingKeyword,
after: [],
},
item: [
@294-297 ExposedName(
"map",
),
@307-311 SpaceBefore(
ExposedName(
"map2",
),
[
Newline,
],
),
],
},
),
},
ModuleImport {
before_name: [],
name: @321-325 ImportedModuleName {
package: None,
name: "Json",
},
alias: Some(
KeywordItem {
keyword: Spaces {
before: [],
item: ImportAsKeyword,
after: [],
},
item: @329-330 ImportAlias(
"J",
),
},
),
exposed: Some(
KeywordItem {
keyword: Spaces {
before: [
Newline,
LineComment(
" comment",
),
],
item: ImportExposingKeyword,
after: [],
},
item: [
@359-362 ExposedName(
"map",
),
],
},
),
},
ModuleImport {
before_name: [],
name: @372-376 ImportedModuleName {
package: None,
name: "Json",
},
alias: None,
exposed: Some(
KeywordItem {
keyword: Spaces {
before: [],
item: ImportExposingKeyword,
after: [
Newline,
LineComment(
" comment",
),
],
},
item: [
@405-408 ExposedName(
"map",
),
],
},
),
},
ModuleImport {
before_name: [],
name: @418-422 ImportedModuleName {
package: None,
name: "Json",
},
alias: Some(
KeywordItem {
keyword: Spaces {
before: [],
item: ImportAsKeyword,
after: [],
},
item: @426-427 ImportAlias(
"J",
),
},
),
exposed: Some(
KeywordItem {
keyword: Spaces {
before: [],
item: ImportExposingKeyword,
after: [
Newline,
LineComment(
" comment",
),
],
},
item: [
@456-459 ExposedName(
"map",
),
],
},
),
},
ModuleImport {
before_name: [],
name: @469-473 ImportedModuleName {
package: None,
name: "Json",
},
alias: Some(
KeywordItem {
keyword: Spaces {
before: [],
item: ImportAsKeyword,
after: [],
},
item: @477-478 ImportAlias(
"J",
),
},
),
exposed: Some(
KeywordItem {
keyword: Spaces {
before: [],
item: ImportExposingKeyword,
after: [],
},
item: [
@508-511 SpaceBefore(
SpaceAfter(
ExposedName(
"map",
),
[
Newline,
],
),
[
alias: Some(
KeywordItem {
keyword: Spaces {
before: [
Newline,
LineComment(
" comment",
),
],
item: ImportAsKeyword,
after: [],
},
item: @84-85 ImportAlias(
"J",
),
],
},
),
},
ModuleImport {
before_name: [
Newline,
LineComment(
" comment 1",
},
),
exposed: Some(
KeywordItem {
keyword: Spaces {
before: [],
item: ImportExposingKeyword,
after: [],
},
item: [
@96-99 ExposedName(
"map",
),
],
},
),
],
name: @542-546 ImportedModuleName {
package: None,
name: "Json",
},
alias: Some(
KeywordItem {
keyword: Spaces {
before: [
Newline,
LineComment(
" comment 2",
),
],
item: ImportAsKeyword,
after: [
Newline,
LineComment(
" comment 3",
),
],
},
item: @590-591 ImportAlias(
"J",
),
),
ModuleImport(
ModuleImport {
before_name: [],
name: @109-113 ImportedModuleName {
package: None,
name: "Json",
},
),
exposed: Some(
KeywordItem {
keyword: Spaces {
before: [
Newline,
LineComment(
" comment 4",
),
],
item: ImportExposingKeyword,
after: [
Newline,
LineComment(
" comment 5",
alias: Some(
KeywordItem {
keyword: Spaces {
before: [],
item: ImportAsKeyword,
after: [
Newline,
LineComment(
" comment",
),
],
},
item: @135-136 ImportAlias(
"J",
),
},
),
exposed: None,
},
),
ModuleImport(
ModuleImport {
before_name: [],
name: @145-149 ImportedModuleName {
package: None,
name: "Json",
},
alias: Some(
KeywordItem {
keyword: Spaces {
before: [],
item: ImportAsKeyword,
after: [
Newline,
LineComment(
" comment",
),
],
},
item: @171-172 ImportAlias(
"J",
),
},
),
exposed: Some(
KeywordItem {
keyword: Spaces {
before: [],
item: ImportExposingKeyword,
after: [],
},
item: [
@183-186 ExposedName(
"map",
),
],
},
item: [
@663-666 SpaceBefore(
SpaceAfter(
),
},
),
ModuleImport(
ModuleImport {
before_name: [],
name: @196-200 ImportedModuleName {
package: None,
name: "Json",
},
alias: Some(
KeywordItem {
keyword: Spaces {
before: [],
item: ImportAsKeyword,
after: [
Newline,
LineComment(
" comment",
),
],
},
item: @222-223 ImportAlias(
"J",
),
},
),
exposed: Some(
KeywordItem {
keyword: Spaces {
before: [],
item: ImportExposingKeyword,
after: [],
},
item: [
@234-237 ExposedName(
"map",
),
@247-251 SpaceBefore(
ExposedName(
"map",
"map2",
),
[
Newline,
],
),
[
],
},
),
},
),
ModuleImport(
ModuleImport {
before_name: [],
name: @261-265 ImportedModuleName {
package: None,
name: "Json",
},
alias: None,
exposed: Some(
KeywordItem {
keyword: Spaces {
before: [
Newline,
LineComment(
" comment 6",
" comment",
),
],
),
],
item: ImportExposingKeyword,
after: [],
},
item: [
@294-297 ExposedName(
"map",
),
@307-311 SpaceBefore(
ExposedName(
"map2",
),
[
Newline,
],
),
],
},
),
},
),
ModuleImport(
ModuleImport {
before_name: [],
name: @321-325 ImportedModuleName {
package: None,
name: "Json",
},
),
},
ModuleImport {
before_name: [],
name: @682-683 ImportedModuleName {
package: None,
name: "A",
alias: Some(
KeywordItem {
keyword: Spaces {
before: [],
item: ImportAsKeyword,
after: [],
},
item: @329-330 ImportAlias(
"J",
),
},
),
exposed: Some(
KeywordItem {
keyword: Spaces {
before: [
Newline,
LineComment(
" comment",
),
],
item: ImportExposingKeyword,
after: [],
},
item: [
@359-362 ExposedName(
"map",
),
],
},
),
},
alias: None,
exposed: None,
},
ModuleImport {
before_name: [],
name: @717-718 ImportedModuleName {
package: None,
name: "B",
),
ModuleImport(
ModuleImport {
before_name: [],
name: @372-376 ImportedModuleName {
package: None,
name: "Json",
},
alias: None,
exposed: Some(
KeywordItem {
keyword: Spaces {
before: [],
item: ImportExposingKeyword,
after: [
Newline,
LineComment(
" comment",
),
],
},
item: [
@405-408 ExposedName(
"map",
),
],
},
),
},
alias: None,
exposed: None,
},
),
ModuleImport(
ModuleImport {
before_name: [],
name: @418-422 ImportedModuleName {
package: None,
name: "Json",
},
alias: Some(
KeywordItem {
keyword: Spaces {
before: [],
item: ImportAsKeyword,
after: [],
},
item: @426-427 ImportAlias(
"J",
),
},
),
exposed: Some(
KeywordItem {
keyword: Spaces {
before: [],
item: ImportExposingKeyword,
after: [
Newline,
LineComment(
" comment",
),
],
},
item: [
@456-459 ExposedName(
"map",
),
],
},
),
},
),
ModuleImport(
ModuleImport {
before_name: [],
name: @469-473 ImportedModuleName {
package: None,
name: "Json",
},
alias: Some(
KeywordItem {
keyword: Spaces {
before: [],
item: ImportAsKeyword,
after: [],
},
item: @477-478 ImportAlias(
"J",
),
},
),
exposed: Some(
KeywordItem {
keyword: Spaces {
before: [],
item: ImportExposingKeyword,
after: [],
},
item: [
@508-511 SpaceBefore(
SpaceAfter(
ExposedName(
"map",
),
[
Newline,
],
),
[
Newline,
LineComment(
" comment",
),
],
),
],
},
),
},
),
ModuleImport(
ModuleImport {
before_name: [
Newline,
LineComment(
" comment 1",
),
],
name: @542-546 ImportedModuleName {
package: None,
name: "Json",
},
alias: Some(
KeywordItem {
keyword: Spaces {
before: [
Newline,
LineComment(
" comment 2",
),
],
item: ImportAsKeyword,
after: [
Newline,
LineComment(
" comment 3",
),
],
},
item: @590-591 ImportAlias(
"J",
),
},
),
exposed: Some(
KeywordItem {
keyword: Spaces {
before: [
Newline,
LineComment(
" comment 4",
),
],
item: ImportExposingKeyword,
after: [
Newline,
LineComment(
" comment 5",
),
],
},
item: [
@663-666 SpaceBefore(
SpaceAfter(
ExposedName(
"map",
),
[
Newline,
],
),
[
Newline,
LineComment(
" comment 6",
),
],
),
],
},
),
},
),
ModuleImport(
ModuleImport {
before_name: [],
name: @682-683 ImportedModuleName {
package: None,
name: "A",
},
alias: None,
exposed: None,
},
),
ModuleImport(
ModuleImport {
before_name: [],
name: @717-718 ImportedModuleName {
package: None,
name: "B",
},
alias: None,
exposed: None,
},
),
],
}

View file

@ -25,78 +25,84 @@ Defs {
],
type_defs: [],
value_defs: [
ModuleImport {
before_name: [],
name: @7-11 ImportedModuleName {
package: None,
name: "Json",
},
alias: None,
exposed: Some(
KeywordItem {
keyword: Spaces {
before: [],
item: ImportExposingKeyword,
after: [],
},
item: [
@22-25 ExposedName(
"map",
),
@27-34 ExposedName(
"Decoder",
),
],
ModuleImport(
ModuleImport {
before_name: [],
name: @7-11 ImportedModuleName {
package: None,
name: "Json",
},
),
},
ModuleImport {
before_name: [],
name: @43-47 ImportedModuleName {
package: None,
name: "Json",
},
alias: None,
exposed: Some(
KeywordItem {
keyword: Spaces {
before: [],
item: ImportExposingKeyword,
after: [],
},
item: [
@58-61 ExposedName(
"map",
),
@67-74 SpaceBefore(
ExposedName(
alias: None,
exposed: Some(
KeywordItem {
keyword: Spaces {
before: [],
item: ImportExposingKeyword,
after: [],
},
item: [
@22-25 ExposedName(
"map",
),
@27-34 ExposedName(
"Decoder",
),
[
Newline,
],
),
],
},
),
},
ModuleImport {
before_name: [],
name: @83-87 ImportedModuleName {
package: None,
name: "Json",
},
alias: None,
exposed: Some(
KeywordItem {
keyword: Spaces {
before: [],
item: ImportExposingKeyword,
after: [],
],
},
item: [],
),
},
),
ModuleImport(
ModuleImport {
before_name: [],
name: @43-47 ImportedModuleName {
package: None,
name: "Json",
},
),
},
alias: None,
exposed: Some(
KeywordItem {
keyword: Spaces {
before: [],
item: ImportExposingKeyword,
after: [],
},
item: [
@58-61 ExposedName(
"map",
),
@67-74 SpaceBefore(
ExposedName(
"Decoder",
),
[
Newline,
],
),
],
},
),
},
),
ModuleImport(
ModuleImport {
before_name: [],
name: @83-87 ImportedModuleName {
package: None,
name: "Json",
},
alias: None,
exposed: Some(
KeywordItem {
keyword: Spaces {
before: [],
item: ImportExposingKeyword,
after: [],
},
item: [],
},
),
},
),
],
}

View file

@ -20,55 +20,59 @@ Defs {
],
type_defs: [],
value_defs: [
IngestedFileImport {
before_path: [],
path: @7-25 PlainLine(
"path/to/file.txt",
),
name: KeywordItem {
keyword: Spaces {
before: [],
item: ImportAsKeyword,
after: [],
},
item: @29-39 TypedIdent {
ident: @29-33 "file",
spaces_before_colon: [],
ann: @36-39 Apply(
"",
"Str",
[],
),
IngestedFileImport(
IngestedFileImport {
before_path: [],
path: @7-25 PlainLine(
"path/to/file.txt",
),
name: KeywordItem {
keyword: Spaces {
before: [],
item: ImportAsKeyword,
after: [],
},
item: @29-39 TypedIdent {
ident: @29-33 "file",
spaces_before_colon: [],
ann: @36-39 Apply(
"",
"Str",
[],
),
},
},
},
},
IngestedFileImport {
before_path: [],
path: @47-65 PlainLine(
"path/to/file.txt",
),
name: KeywordItem {
keyword: Spaces {
before: [],
item: ImportAsKeyword,
after: [],
},
item: @70-85 TypedIdent {
ident: @70-74 "file",
spaces_before_colon: [],
ann: @78-85 Apply(
"",
"List",
[
@83-85 Apply(
"",
"U8",
[],
),
],
),
),
IngestedFileImport(
IngestedFileImport {
before_path: [],
path: @47-65 PlainLine(
"path/to/file.txt",
),
name: KeywordItem {
keyword: Spaces {
before: [],
item: ImportAsKeyword,
after: [],
},
item: @70-85 TypedIdent {
ident: @70-74 "file",
spaces_before_colon: [],
ann: @78-85 Apply(
"",
"List",
[
@83-85 Apply(
"",
"U8",
[],
),
],
),
},
},
},
},
),
],
}