skir-internal 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (132) hide show
  1. package/README.md +2 -0
  2. package/dist/casing.d.ts +8 -0
  3. package/dist/casing.d.ts.map +1 -0
  4. package/dist/casing.js +43 -0
  5. package/dist/casing.js.map +1 -0
  6. package/dist/casing.test.d.ts.map +1 -0
  7. package/dist/casing.test.js +136 -0
  8. package/dist/casing.test.js.map +1 -0
  9. package/dist/command_line_parser.d.ts +33 -0
  10. package/dist/command_line_parser.d.ts.map +1 -0
  11. package/dist/command_line_parser.js +168 -0
  12. package/dist/command_line_parser.js.map +1 -0
  13. package/dist/command_line_parser.test.d.ts +2 -0
  14. package/dist/command_line_parser.test.d.ts.map +1 -0
  15. package/dist/command_line_parser.test.js +297 -0
  16. package/dist/command_line_parser.test.js.map +1 -0
  17. package/dist/compatibility_checker.d.ts +74 -0
  18. package/dist/compatibility_checker.d.ts.map +1 -0
  19. package/dist/compatibility_checker.js +341 -0
  20. package/dist/compatibility_checker.js.map +1 -0
  21. package/dist/compatibility_checker.test.d.ts +2 -0
  22. package/dist/compatibility_checker.test.d.ts.map +1 -0
  23. package/dist/compatibility_checker.test.js +582 -0
  24. package/dist/compatibility_checker.test.js.map +1 -0
  25. package/dist/compiler.d.ts.map +1 -0
  26. package/dist/compiler.js +375 -0
  27. package/dist/compiler.js.map +1 -0
  28. package/dist/config.d.ts +47 -0
  29. package/dist/config.d.ts.map +1 -0
  30. package/dist/config.js +23 -0
  31. package/dist/config.js.map +1 -0
  32. package/dist/definition_finder.d.ts +12 -0
  33. package/dist/definition_finder.d.ts.map +1 -0
  34. package/dist/definition_finder.js +180 -0
  35. package/dist/definition_finder.js.map +1 -0
  36. package/dist/definition_finder.test.d.ts +2 -0
  37. package/dist/definition_finder.test.d.ts.map +1 -0
  38. package/dist/definition_finder.test.js +164 -0
  39. package/dist/definition_finder.test.js.map +1 -0
  40. package/dist/doc_comment_parser.d.ts +3 -0
  41. package/dist/doc_comment_parser.d.ts.map +1 -0
  42. package/dist/doc_comment_parser.js +219 -0
  43. package/dist/doc_comment_parser.js.map +1 -0
  44. package/dist/doc_comment_parser.test.d.ts +2 -0
  45. package/dist/doc_comment_parser.test.d.ts.map +1 -0
  46. package/dist/doc_comment_parser.test.js +494 -0
  47. package/dist/doc_comment_parser.test.js.map +1 -0
  48. package/dist/encoding.d.ts +2 -0
  49. package/dist/encoding.d.ts.map +1 -0
  50. package/dist/encoding.js +38 -0
  51. package/dist/encoding.js.map +1 -0
  52. package/dist/encoding.test.d.ts +2 -0
  53. package/dist/encoding.test.d.ts.map +1 -0
  54. package/dist/encoding.test.js +23 -0
  55. package/dist/encoding.test.js.map +1 -0
  56. package/dist/error_renderer.d.ts +10 -0
  57. package/dist/error_renderer.d.ts.map +1 -0
  58. package/dist/error_renderer.js +266 -0
  59. package/dist/error_renderer.js.map +1 -0
  60. package/dist/formatter.d.ts +16 -0
  61. package/dist/formatter.d.ts.map +1 -0
  62. package/dist/formatter.js +220 -0
  63. package/dist/formatter.js.map +1 -0
  64. package/dist/formatter.test.d.ts +2 -0
  65. package/dist/formatter.test.d.ts.map +1 -0
  66. package/dist/formatter.test.js +390 -0
  67. package/dist/formatter.test.js.map +1 -0
  68. package/dist/formatter2.d.ts +3 -0
  69. package/dist/formatter2.d.ts.map +1 -0
  70. package/dist/formatter2.js +67 -0
  71. package/dist/formatter2.js.map +1 -0
  72. package/dist/index.d.ts +6 -0
  73. package/dist/index.d.ts.map +1 -0
  74. package/dist/index.js +5 -0
  75. package/dist/index.js.map +1 -0
  76. package/dist/index.test.d.ts.map +1 -0
  77. package/dist/index.test.js +14 -0
  78. package/dist/index.test.js.map +1 -0
  79. package/dist/io.d.ts.map +1 -0
  80. package/dist/io.js +22 -0
  81. package/dist/io.js.map +1 -0
  82. package/dist/language_server.d.ts +15 -0
  83. package/dist/language_server.d.ts.map +1 -0
  84. package/dist/language_server.js +248 -0
  85. package/dist/language_server.js.map +1 -0
  86. package/dist/literals.d.ts +13 -0
  87. package/dist/literals.d.ts.map +1 -0
  88. package/dist/literals.js +100 -0
  89. package/dist/literals.js.map +1 -0
  90. package/dist/literals.test.d.ts.map +1 -0
  91. package/dist/literals.test.js +149 -0
  92. package/dist/literals.test.js.map +1 -0
  93. package/dist/module_collector.d.ts +3 -0
  94. package/dist/module_collector.d.ts.map +1 -0
  95. package/dist/module_collector.js +22 -0
  96. package/dist/module_collector.js.map +1 -0
  97. package/dist/module_set.d.ts +40 -0
  98. package/dist/module_set.d.ts.map +1 -0
  99. package/dist/module_set.js +1178 -0
  100. package/dist/module_set.js.map +1 -0
  101. package/dist/module_set.test.d.ts.map +1 -0
  102. package/dist/module_set.test.js +1897 -0
  103. package/dist/module_set.test.js.map +1 -0
  104. package/dist/parser.d.ts +7 -0
  105. package/dist/parser.d.ts.map +1 -0
  106. package/dist/parser.js +1075 -0
  107. package/dist/parser.js.map +1 -0
  108. package/dist/parser.test.d.ts.map +1 -0
  109. package/dist/parser.test.js +1594 -0
  110. package/dist/parser.test.js.map +1 -0
  111. package/dist/project_initializer.d.ts +2 -0
  112. package/dist/project_initializer.d.ts.map +1 -0
  113. package/dist/project_initializer.js +30 -0
  114. package/dist/project_initializer.js.map +1 -0
  115. package/dist/snapshotter.d.ts +9 -0
  116. package/dist/snapshotter.d.ts.map +1 -0
  117. package/dist/snapshotter.js +144 -0
  118. package/dist/snapshotter.js.map +1 -0
  119. package/dist/tokenizer.d.ts +10 -0
  120. package/dist/tokenizer.d.ts.map +1 -0
  121. package/dist/tokenizer.js +198 -0
  122. package/dist/tokenizer.js.map +1 -0
  123. package/dist/tokenizer.test.d.ts.map +1 -0
  124. package/dist/tokenizer.test.js +441 -0
  125. package/dist/tokenizer.test.js.map +1 -0
  126. package/dist/types.d.ts +439 -0
  127. package/dist/types.d.ts.map +1 -0
  128. package/dist/types.js +2 -0
  129. package/dist/types.js.map +1 -0
  130. package/package.json +58 -0
  131. package/src/casing.ts +53 -0
  132. package/src/types.ts +585 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parser.test.js","sourceRoot":"","sources":["../src/parser.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function initializeProject(rootDir: string): void;
2
+ //# sourceMappingURL=project_initializer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project_initializer.d.ts","sourceRoot":"","sources":["../src/project_initializer.ts"],"names":[],"mappings":"AAGA,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CA0BvD"}
@@ -0,0 +1,30 @@
1
+ import * as fs from "fs";
2
+ import * as paths from "path";
3
+ export function initializeProject(rootDir) {
4
+ const skirYmlPath = paths.join(rootDir, "skir.yml");
5
+ // Check if skir.yml already exists
6
+ if (fs.existsSync(skirYmlPath)) {
7
+ console.log("A skir.yml file already exists in this directory. Skipping project initialization.");
8
+ return;
9
+ }
10
+ // Create skir.yml file
11
+ fs.writeFileSync(skirYmlPath, SKIR_YML_CONTENT, "utf-8");
12
+ // Check if skir-src directory exists
13
+ const skirSrcDir = paths.join(rootDir, "skir-src");
14
+ if (!fs.existsSync(skirSrcDir)) {
15
+ // Create skir-src directory
16
+ fs.mkdirSync(skirSrcDir, { recursive: true });
17
+ // Create hello_world.skir file
18
+ const helloWorldPath = paths.join(skirSrcDir, "hello_world.skir");
19
+ fs.writeFileSync(helloWorldPath, HELLO_WORLD_SKIR_CONTENT, "utf-8");
20
+ }
21
+ console.log(`Done. Please edit: ${paths.resolve(skirYmlPath)}`);
22
+ }
23
+ const SKIR_YML_CONTENT = `srcDir: skir-src
24
+ `;
25
+ const HELLO_WORLD_SKIR_CONTENT = `struct Point {
26
+ x: int32;
27
+ y: int32;
28
+ }
29
+ `;
30
+ //# sourceMappingURL=project_initializer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project_initializer.js","sourceRoot":"","sources":["../src/project_initializer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,KAAK,MAAM,MAAM,CAAC;AAE9B,MAAM,UAAU,iBAAiB,CAAC,OAAe;IAC/C,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IAEpD,mCAAmC;IACnC,IAAI,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAC/B,OAAO,CAAC,GAAG,CACT,oFAAoF,CACrF,CAAC;QACF,OAAO;IACT,CAAC;IAED,uBAAuB;IACvB,EAAE,CAAC,aAAa,CAAC,WAAW,EAAE,gBAAgB,EAAE,OAAO,CAAC,CAAC;IAEzD,qCAAqC;IACrC,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IACnD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC/B,4BAA4B;QAC5B,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAE9C,+BAA+B;QAC/B,MAAM,cAAc,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,kBAAkB,CAAC,CAAC;QAClE,EAAE,CAAC,aAAa,CAAC,cAAc,EAAE,wBAAwB,EAAE,OAAO,CAAC,CAAC;IACtE,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,sBAAsB,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;AAClE,CAAC;AAED,MAAM,gBAAgB,GAAG;CACxB,CAAC;AAEF,MAAM,wBAAwB,GAAG;;;;CAIhC,CAAC"}
@@ -0,0 +1,9 @@
1
+ export declare function takeSnapshot(args: {
2
+ rootDir: string;
3
+ srcDir: string;
4
+ check: boolean;
5
+ }): Promise<void>;
6
+ export declare function viewSnapshot(args: {
7
+ rootDir: string;
8
+ }): Promise<void>;
9
+ //# sourceMappingURL=snapshotter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"snapshotter.d.ts","sourceRoot":"","sources":["../src/snapshotter.ts"],"names":[],"mappings":"AAaA,wBAAsB,YAAY,CAAC,IAAI,EAAE;IACvC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,OAAO,CAAC;CAChB,GAAG,OAAO,CAAC,IAAI,CAAC,CA6ChB;AAoDD,wBAAsB,YAAY,CAAC,IAAI,EAAE;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAmC3E"}
@@ -0,0 +1,144 @@
1
+ import { readFile, writeFile } from "node:fs/promises";
2
+ import { join } from "node:path";
3
+ import { checkBackwardCompatibility } from "./compatibility_checker.js";
4
+ import { formatError, makeGreen, makeRed, renderBreakingChanges, renderErrors, } from "./error_renderer.js";
5
+ import { collectModules } from "./module_collector.js";
6
+ import { ModuleSet } from "./module_set.js";
7
+ export async function takeSnapshot(args) {
8
+ const newModuleSet = await collectModules(args.srcDir);
9
+ if (newModuleSet.errors.length) {
10
+ renderErrors(newModuleSet.errors);
11
+ process.exit(1);
12
+ }
13
+ const snapshotPath = join(args.rootDir, "skir-snapshot.json");
14
+ const oldModuleSet = await readLastSnapshot(join(args.rootDir, snapshotPath));
15
+ if (!(oldModuleSet instanceof ModuleSet)) {
16
+ console.error(makeRed(`Corrupted snapshot file: ${snapshotPath}`));
17
+ console.error(`Error: ${oldModuleSet.error.toString()}`);
18
+ console.log("If the snapshot file cannot be restored to a valid state, delete it and run again. " +
19
+ "Breaking changes from recent commits will not be detected, but a valid snapshot will be created for future comparisons.");
20
+ process.exit(1);
21
+ }
22
+ const breakingChanges = checkBackwardCompatibility({
23
+ before: oldModuleSet,
24
+ after: newModuleSet,
25
+ });
26
+ if (breakingChanges.length) {
27
+ renderBreakingChanges(breakingChanges, {
28
+ before: oldModuleSet,
29
+ after: newModuleSet,
30
+ });
31
+ process.exit(1);
32
+ }
33
+ const now = new Date();
34
+ const newSnapshot = makeSnapshot(newModuleSet, now);
35
+ if (sameModules(newSnapshot, makeSnapshot(oldModuleSet, now))) {
36
+ console.log("No changes detected since last snapshot.");
37
+ return;
38
+ }
39
+ if (args.check) {
40
+ console.error(makeRed(`Modules have changed since the last snapshot. ` +
41
+ `Run the command without 'check' to take a new snapshot.`));
42
+ process.exit(1);
43
+ }
44
+ await writeFile(snapshotPath, JSON.stringify(newSnapshot, null, 2), "utf-8");
45
+ console.log("Snapshot taken. No breaking changes detected.");
46
+ }
47
+ async function readLastSnapshot(snapshotPath) {
48
+ let snapshot;
49
+ try {
50
+ const textContent = await readFile(snapshotPath, "utf-8");
51
+ snapshot = JSON.parse(textContent);
52
+ }
53
+ catch (error) {
54
+ if (error instanceof SyntaxError) {
55
+ return {
56
+ kind: "corrupted",
57
+ error: error,
58
+ };
59
+ }
60
+ const isNotFoundError = error instanceof Error && "code" in error && error.code === "ENOENT";
61
+ if (isNotFoundError) {
62
+ return ModuleSet.fromMap(new Map());
63
+ }
64
+ else {
65
+ // Rethrow I/O error
66
+ throw error;
67
+ }
68
+ }
69
+ const pathToSourceCode = new Map();
70
+ try {
71
+ for (const [path, sourceCode] of Object.entries(snapshot.modules)) {
72
+ // + "" to ensure string type
73
+ pathToSourceCode.set(path + "", sourceCode + "");
74
+ }
75
+ }
76
+ catch (error) {
77
+ return {
78
+ kind: "corrupted",
79
+ error: error,
80
+ };
81
+ }
82
+ const moduleSet = ModuleSet.fromMap(pathToSourceCode);
83
+ if (moduleSet.errors.length) {
84
+ const firstError = formatError(moduleSet.errors[0]);
85
+ return {
86
+ kind: "corrupted",
87
+ error: new Error(`errors in modules; first error: ${firstError}`),
88
+ };
89
+ }
90
+ return moduleSet;
91
+ }
92
+ export async function viewSnapshot(args) {
93
+ const snapshotPath = join(args.rootDir, "skir-snapshot.json");
94
+ let snapshot;
95
+ try {
96
+ const textContent = await readFile(snapshotPath, "utf-8");
97
+ snapshot = JSON.parse(textContent);
98
+ }
99
+ catch (error) {
100
+ if (error instanceof SyntaxError) {
101
+ console.error(makeRed(`Corrupted snapshot file: ${snapshotPath}`));
102
+ console.error(`Error: ${error.toString()}`);
103
+ process.exit(1);
104
+ }
105
+ const isNotFoundError = error instanceof Error && "code" in error && error.code === "ENOENT";
106
+ if (isNotFoundError) {
107
+ console.log("No snapshot found.");
108
+ return;
109
+ }
110
+ else {
111
+ // Rethrow I/O error
112
+ throw error;
113
+ }
114
+ }
115
+ console.log(`Last snapshot: ${snapshot.lastChange}\n`);
116
+ const modulePaths = Object.keys(snapshot.modules).sort();
117
+ for (const path of modulePaths) {
118
+ console.log(makeGreen("-".repeat(80)));
119
+ console.log(makeGreen(path));
120
+ console.log(makeGreen("-".repeat(80)));
121
+ console.log();
122
+ const sourceCode = snapshot.modules[path];
123
+ console.log(sourceCode);
124
+ console.log();
125
+ }
126
+ }
127
+ function makeSnapshot(moduleSet, now) {
128
+ const modules = {};
129
+ for (const module of moduleSet.resolvedModules) {
130
+ modules[module.path] = module.sourceCode;
131
+ }
132
+ return {
133
+ readMe: "DO NOT EDIT. To update, run: npx skir snapshot",
134
+ lastChange: now.toISOString(),
135
+ modules,
136
+ };
137
+ }
138
+ function sameModules(a, b) {
139
+ return (Object.keys(a.modules).length === Object.keys(b.modules).length &&
140
+ Object.entries(a.modules).every(([path, sourceCode]) => {
141
+ return sourceCode === b.modules[path];
142
+ }));
143
+ }
144
+ //# sourceMappingURL=snapshotter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"snapshotter.js","sourceRoot":"","sources":["../src/snapshotter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import type { Result, Token } from "./types.js";
2
+ export interface ModuleTokens {
3
+ readonly tokens: readonly Token[];
4
+ readonly tokensWithComments: readonly Token[];
5
+ readonly sourceCode: string;
6
+ readonly modulePath: string;
7
+ }
8
+ /** Tokenizes the given module. */
9
+ export declare function tokenizeModule(sourceCode: string, modulePath: string): Result<ModuleTokens>;
10
+ //# sourceMappingURL=tokenizer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tokenizer.d.ts","sourceRoot":"","sources":["../src/tokenizer.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAuB,MAAM,EAAa,KAAK,EAAE,MAAM,YAAY,CAAC;AAEhF,MAAM,WAAW,YAAY;IAE3B,QAAQ,CAAC,MAAM,EAAE,SAAS,KAAK,EAAE,CAAC;IAElC,QAAQ,CAAC,kBAAkB,EAAE,SAAS,KAAK,EAAE,CAAC;IAC9C,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAED,kCAAkC;AAClC,wBAAgB,cAAc,CAC5B,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,GACjB,MAAM,CAAC,YAAY,CAAC,CA0HtB"}
@@ -0,0 +1,198 @@
1
+ import { unquoteAndUnescape } from "./literals.js";
2
+ /** Tokenizes the given module. */
3
+ export function tokenizeModule(sourceCode, modulePath) {
4
+ const tokens = [];
5
+ const errors = [];
6
+ const lines = new Lines(sourceCode, modulePath);
7
+ // Multiline comment: \/\*([^*]|\*[^\/])*(\*\/)?
8
+ // Single-line comment: \/\/[^\n\r]*
9
+ // Number: -?(0|[1-9][0-9]*)(\.[0-9]+)?\b
10
+ // Word: \b\w+\b
11
+ // Whitespaces: [ \n\r\t]+
12
+ // Symbol: \.\.|\{\||\|\}|[{}[\]()*.:=;|?,]
13
+ // Double-quote string literal: "(\\(\n|\r|\n\r|.)|[^\\\"\n\r])*"?
14
+ // Single-quote string literal: '(\\(\n|\r|\n\r|.)|[^\\\'\n\r])*'?
15
+ //
16
+ // To iterate on this regex, use https://regex101.com/.
17
+ const re = /(\/\*([^*]|\*[^/])*(\*\/)?)|(\/\/[^\n\r]*)|(-?(0|[1-9][0-9]*)(\.[0-9]+)?\b)|\b(\w+)\b|([ \n\r\t]+)|(\.\.|\{\||\|\}|[{}[\]()*.:=;|?,])|("(\\(\n|\r|\n\r|.)|[^\\"\n\r])*"?)|('(\\(\n|\r|\n\r|.)|[^\\'\n\r])*'?)|($)/g;
18
+ // 1 2 3 4 5 6 7 8 9 10 11 13 14 16 17
19
+ let group;
20
+ let expectedPosition = 0;
21
+ while ((group = re.exec(sourceCode)) !== null) {
22
+ const position = re.lastIndex - group[0].length;
23
+ // Check that all the regex matches are consecutive.
24
+ // If there is a gap between two matches, it means that we have an invalid
25
+ // sequence of characters.
26
+ if (position !== expectedPosition) {
27
+ const line = lines.advancePosition(expectedPosition);
28
+ const colNumber = expectedPosition - line.position;
29
+ const text = sourceCode.substring(expectedPosition, position);
30
+ errors.push({
31
+ token: {
32
+ text: text,
33
+ originalText: text,
34
+ position: expectedPosition,
35
+ line: line,
36
+ colNumber: colNumber,
37
+ },
38
+ message: "Invalid sequence of characters",
39
+ });
40
+ }
41
+ expectedPosition = re.lastIndex;
42
+ const line = lines.advancePosition(position);
43
+ const colNumber = position - line.position;
44
+ const token = {
45
+ text: group[0],
46
+ originalText: group[0],
47
+ position: position,
48
+ line: line,
49
+ colNumber: colNumber,
50
+ };
51
+ if (group[1] !== undefined && !group[1].endsWith("*/")) {
52
+ errors.push({
53
+ token: token,
54
+ message: "Unterminated multi-line comment",
55
+ });
56
+ }
57
+ if (group[8] !== undefined) {
58
+ if (!validateWord(token, errors)) {
59
+ continue;
60
+ }
61
+ }
62
+ // Skip whitespaces.
63
+ if (group[9] !== undefined)
64
+ continue;
65
+ // Validate string literals.
66
+ const stringLiteral = group[11] || group[14];
67
+ if (stringLiteral !== undefined) {
68
+ if (!stringLiteral.endsWith(stringLiteral[0])) {
69
+ errors.push({
70
+ token: token,
71
+ message: "Unterminated string literal",
72
+ });
73
+ continue;
74
+ }
75
+ const stringLiteralRe = /^["'](\\(\r\n|u[0-9A-Fa-f]{4}|["'\\/bfnrt\n\r])|[^\\])*["']$/;
76
+ if (!stringLiteralRe.test(stringLiteral)) {
77
+ errors.push({
78
+ token: token,
79
+ message: "String literal contains invalid escape sequence",
80
+ });
81
+ continue;
82
+ }
83
+ // Check that the string doesn't contain lone surrogates.
84
+ // See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/isWellFormed
85
+ const unquoted = unquoteAndUnescape(stringLiteral);
86
+ try {
87
+ encodeURIComponent(unquoted);
88
+ }
89
+ catch {
90
+ errors.push({
91
+ token: token,
92
+ message: "String literal contains lone surrogates",
93
+ });
94
+ continue;
95
+ }
96
+ }
97
+ tokens.push(token);
98
+ if (group[17] !== undefined) {
99
+ // The end of the string has been reached.
100
+ // The last token we added is an empty string.
101
+ break;
102
+ }
103
+ }
104
+ return {
105
+ result: {
106
+ tokens: tokens.filter((t) => !isRegularComment(t.originalText)),
107
+ tokensWithComments: tokens,
108
+ sourceCode: sourceCode,
109
+ modulePath: modulePath,
110
+ },
111
+ errors: errors,
112
+ };
113
+ }
114
+ function validateWord(token, errors) {
115
+ if (/^[0-9]/.test(token.text)) {
116
+ errors.push({
117
+ token: token,
118
+ message: "Invalid number",
119
+ });
120
+ return false;
121
+ }
122
+ if (token.text.startsWith("_")) {
123
+ errors.push({
124
+ token: token,
125
+ message: "Identifier cannot start with _",
126
+ });
127
+ return false;
128
+ }
129
+ if (token.text.endsWith("_")) {
130
+ errors.push({
131
+ token: token,
132
+ message: "Identifier cannot end with _",
133
+ });
134
+ return false;
135
+ }
136
+ if (token.text.includes("__")) {
137
+ errors.push({
138
+ token: token,
139
+ message: "Identifier cannot contain __ sequence",
140
+ });
141
+ return false;
142
+ }
143
+ if (/_[0-9]/.test(token.text)) {
144
+ // The problem is we could end up with duplicate field names when converting
145
+ // to camel case. For example: "field0" and "field_0" would both be
146
+ // converted to "field0".
147
+ errors.push({
148
+ token: token,
149
+ message: "Digit cannot follow _",
150
+ });
151
+ return false;
152
+ }
153
+ return true;
154
+ }
155
+ function isRegularComment(token) {
156
+ return (token.startsWith("/*") ||
157
+ (token.startsWith("//") && !token.startsWith("///")));
158
+ }
159
+ class Lines {
160
+ /** Splits the given code into multiple lines. */
161
+ constructor(code, modulePath) {
162
+ this.lines = [];
163
+ const lines = this.lines;
164
+ let lineStart = 0;
165
+ let group;
166
+ const re = /\n|\r|\n\r|$/g;
167
+ while ((group = re.exec(code)) !== null) {
168
+ const match = group[0];
169
+ const lineEnd = re.lastIndex - match.length;
170
+ const lineString = code.substring(lineStart, lineEnd);
171
+ lines.push({
172
+ lineNumber: lines.length,
173
+ line: lineString,
174
+ position: lineStart,
175
+ modulePath: modulePath,
176
+ });
177
+ // Record the position after the EOL or EOF.
178
+ lineStart = re.lastIndex;
179
+ if (match === "") {
180
+ break;
181
+ }
182
+ }
183
+ }
184
+ /**
185
+ * Returns the line at the given position, where the position is the char
186
+ * index within `code`.
187
+ * Requires the position to be >= the position given the last time the method
188
+ * was called.
189
+ */
190
+ advancePosition(position) {
191
+ const lines = this.lines;
192
+ while (lines.length >= 2 && position >= this.lines[1].position) {
193
+ lines.shift();
194
+ }
195
+ return lines[0];
196
+ }
197
+ }
198
+ //# sourceMappingURL=tokenizer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tokenizer.js","sourceRoot":"","sources":["../src/tokenizer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tokenizer.test.d.ts","sourceRoot":"","sources":["../src/tokenizer.test.ts"],"names":[],"mappings":""}