@esgettext/tools 1.0.0

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 (102) hide show
  1. package/LICENSE +19 -0
  2. package/README.md +126 -0
  3. package/bin/esgettext-install.js +5 -0
  4. package/bin/esgettext-mo2json.js +5 -0
  5. package/bin/esgettext-msgfmt-all.js +5 -0
  6. package/bin/esgettext-msgmerge-all.js +5 -0
  7. package/bin/esgettext-xgettext.js +5 -0
  8. package/dist/cli/getopt.d.ts +34 -0
  9. package/dist/cli/getopt.js +150 -0
  10. package/dist/cli/getopt.js.map +1 -0
  11. package/dist/cli/getopt.spec.d.ts +1 -0
  12. package/dist/cli/getopt.spec.js +164 -0
  13. package/dist/cli/getopt.spec.js.map +1 -0
  14. package/dist/cli/install.d.ts +1 -0
  15. package/dist/cli/install.js +91 -0
  16. package/dist/cli/install.js.map +1 -0
  17. package/dist/cli/mo2json-cli.d.ts +1 -0
  18. package/dist/cli/mo2json-cli.js +48 -0
  19. package/dist/cli/mo2json-cli.js.map +1 -0
  20. package/dist/cli/msgfmt-all.d.ts +1 -0
  21. package/dist/cli/msgfmt-all.js +99 -0
  22. package/dist/cli/msgfmt-all.js.map +1 -0
  23. package/dist/cli/msgmerge-all.d.ts +1 -0
  24. package/dist/cli/msgmerge-all.js +85 -0
  25. package/dist/cli/msgmerge-all.js.map +1 -0
  26. package/dist/cli/xgettext-cli.d.ts +1 -0
  27. package/dist/cli/xgettext-cli.js +303 -0
  28. package/dist/cli/xgettext-cli.js.map +1 -0
  29. package/dist/install/install.d.ts +10 -0
  30. package/dist/install/install.js +157 -0
  31. package/dist/install/install.js.map +1 -0
  32. package/dist/msgfmt-all/msgfmt-all.d.ts +8 -0
  33. package/dist/msgfmt-all/msgfmt-all.js +142 -0
  34. package/dist/msgfmt-all/msgfmt-all.js.map +1 -0
  35. package/dist/msgmerge-all/msgmerge-all.d.ts +9 -0
  36. package/dist/msgmerge-all/msgmerge-all.js +157 -0
  37. package/dist/msgmerge-all/msgmerge-all.js.map +1 -0
  38. package/dist/package.d.ts +4 -0
  39. package/dist/package.js +17 -0
  40. package/dist/package.js.map +1 -0
  41. package/dist/parser/__snapshots__/javascript.spec.js.snap +56 -0
  42. package/dist/parser/__snapshots__/po.spec.js.snap +176 -0
  43. package/dist/parser/javascript.d.ts +4 -0
  44. package/dist/parser/javascript.js +47 -0
  45. package/dist/parser/javascript.js.map +1 -0
  46. package/dist/parser/javascript.spec.d.ts +1 -0
  47. package/dist/parser/javascript.spec.js +436 -0
  48. package/dist/parser/javascript.spec.js.map +1 -0
  49. package/dist/parser/parser.d.ts +45 -0
  50. package/dist/parser/parser.js +582 -0
  51. package/dist/parser/parser.js.map +1 -0
  52. package/dist/parser/po.d.ts +22 -0
  53. package/dist/parser/po.js +394 -0
  54. package/dist/parser/po.js.map +1 -0
  55. package/dist/parser/po.spec.d.ts +1 -0
  56. package/dist/parser/po.spec.js +296 -0
  57. package/dist/parser/po.spec.js.map +1 -0
  58. package/dist/parser/typescript.d.ts +4 -0
  59. package/dist/parser/typescript.js +47 -0
  60. package/dist/parser/typescript.js.map +1 -0
  61. package/dist/parser/typescript.spec.d.ts +1 -0
  62. package/dist/parser/typescript.spec.js +106 -0
  63. package/dist/parser/typescript.spec.js.map +1 -0
  64. package/dist/pot/__snapshots__/catalog.spec.js.snap +591 -0
  65. package/dist/pot/catalog.d.ts +26 -0
  66. package/dist/pot/catalog.js +210 -0
  67. package/dist/pot/catalog.js.map +1 -0
  68. package/dist/pot/catalog.spec.d.ts +1 -0
  69. package/dist/pot/catalog.spec.js +240 -0
  70. package/dist/pot/catalog.spec.js.map +1 -0
  71. package/dist/pot/entry.d.ts +35 -0
  72. package/dist/pot/entry.js +322 -0
  73. package/dist/pot/entry.js.map +1 -0
  74. package/dist/pot/entry.spec.d.ts +1 -0
  75. package/dist/pot/entry.spec.js +317 -0
  76. package/dist/pot/entry.spec.js.map +1 -0
  77. package/dist/pot/keyword.d.ts +17 -0
  78. package/dist/pot/keyword.js +181 -0
  79. package/dist/pot/keyword.js.map +1 -0
  80. package/dist/pot/keyword.spec.d.ts +1 -0
  81. package/dist/pot/keyword.spec.js +54 -0
  82. package/dist/pot/keyword.spec.js.map +1 -0
  83. package/dist/xgettext/__snapshots__/xgettext.spec.js.snap +462 -0
  84. package/dist/xgettext/file-resolver.d.ts +5 -0
  85. package/dist/xgettext/file-resolver.js +23 -0
  86. package/dist/xgettext/file-resolver.js.map +1 -0
  87. package/dist/xgettext/file-resolver.spec.d.ts +1 -0
  88. package/dist/xgettext/file-resolver.spec.js +22 -0
  89. package/dist/xgettext/file-resolver.spec.js.map +1 -0
  90. package/dist/xgettext/files-collector.d.ts +5 -0
  91. package/dist/xgettext/files-collector.js +41 -0
  92. package/dist/xgettext/files-collector.js.map +1 -0
  93. package/dist/xgettext/files-collector.spec.d.ts +1 -0
  94. package/dist/xgettext/files-collector.spec.js +78 -0
  95. package/dist/xgettext/files-collector.spec.js.map +1 -0
  96. package/dist/xgettext/xgettext.d.ts +16 -0
  97. package/dist/xgettext/xgettext.js +335 -0
  98. package/dist/xgettext/xgettext.js.map +1 -0
  99. package/dist/xgettext/xgettext.spec.d.ts +1 -0
  100. package/dist/xgettext/xgettext.spec.js +743 -0
  101. package/dist/xgettext/xgettext.spec.js.map +1 -0
  102. package/package.json +88 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"javascript.spec.js","sourceRoot":"","sources":["../../src/parser/javascript.spec.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,45 @@
1
+ /// <reference types="node" />
2
+ import * as t from '@babel/types';
3
+ import { Catalog } from '../pot/catalog';
4
+ import { Keyword } from '../pot/keyword';
5
+ export interface ParserOptions {
6
+ addAllComments?: boolean;
7
+ addComments?: Array<string>;
8
+ extractAll?: boolean;
9
+ keyword?: Array<Keyword>;
10
+ instance?: Array<string>;
11
+ fromCode?: string;
12
+ }
13
+ export declare abstract class Parser {
14
+ protected readonly catalog: Catalog;
15
+ protected readonly options: ParserOptions;
16
+ protected filename: string;
17
+ protected errors: number;
18
+ private comments;
19
+ private readonly instances;
20
+ private readonly keywords;
21
+ constructor(catalog: Catalog, options?: ParserOptions);
22
+ protected abstract doParse(input: string, filename: string): boolean;
23
+ parse(buf: Buffer, filename: string): boolean;
24
+ protected extract(filename: string, ast: t.File): boolean;
25
+ private extractStrings;
26
+ private extractAllStrings;
27
+ private checkPath;
28
+ private checkInstance;
29
+ private extractArguments;
30
+ private extractArgument;
31
+ private extractBinaryExpression;
32
+ private extractTemplateLiteral;
33
+ private concatStrings;
34
+ private addEntry;
35
+ private methodFromMemberExpression;
36
+ private literalValue;
37
+ private findPrecedingComments;
38
+ private filterComments;
39
+ private static cookedDefaultKeywords;
40
+ private static defaultKeywords;
41
+ protected warn(msg: string, loc: t.SourceLocation): void;
42
+ protected error(msg: string, loc: t.SourceLocation): void;
43
+ private canonicalizeEncoding;
44
+ private findNonUtf8;
45
+ }
@@ -0,0 +1,582 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ exports.Parser = void 0;
30
+ var iconv_lite_1 = require("iconv-lite");
31
+ var traverse_1 = __importDefault(require("@babel/traverse"));
32
+ var t = __importStar(require("@babel/types"));
33
+ var runtime_1 = require("@esgettext/runtime");
34
+ var entry_1 = require("../pot/entry");
35
+ var keyword_1 = require("../pot/keyword");
36
+ var gtx = runtime_1.Textdomain.getInstance('tools');
37
+ var Parser = (function () {
38
+ function Parser(catalog, options) {
39
+ if (options === void 0) { options = {}; }
40
+ var _this = this;
41
+ this.catalog = catalog;
42
+ this.options = options;
43
+ this.keywords = {};
44
+ (options.keyword || Parser.cookedDefaultKeywords()).forEach(function (keyword) {
45
+ _this.keywords[keyword.method] = keyword;
46
+ });
47
+ if (options.instance) {
48
+ this.instances = new Array();
49
+ for (var i = 0; i < options.instance.length; ++i) {
50
+ this.instances[i] = options.instance[i].split('.').reverse();
51
+ }
52
+ }
53
+ }
54
+ Parser.prototype.parse = function (buf, filename) {
55
+ this.filename = filename;
56
+ var encoding = typeof this.options.fromCode === 'undefined'
57
+ ? 'ascii'
58
+ : this.options.fromCode;
59
+ var canonical = this.canonicalizeEncoding(encoding);
60
+ var input;
61
+ var pos = 0;
62
+ if ('ascii' === canonical) {
63
+ if (buf.find(function (ord, idx) {
64
+ if (ord > 0x7f) {
65
+ pos = idx;
66
+ return true;
67
+ }
68
+ else {
69
+ return false;
70
+ }
71
+ })) {
72
+ var loc = {
73
+ start: {
74
+ line: 1,
75
+ column: pos,
76
+ index: 0
77
+ },
78
+ end: null,
79
+ filename: filename,
80
+ identifierName: null
81
+ };
82
+ for (var i = 0; i < pos; ++i) {
83
+ if (buf[i] === 10) {
84
+ ++loc.start.line;
85
+ loc.start.column = 1;
86
+ }
87
+ else {
88
+ ++loc.start.column;
89
+ }
90
+ }
91
+ this.error(gtx._('Non-ASCII character.\n' +
92
+ 'Please specify the encoding through "--from-code".'), loc);
93
+ return false;
94
+ }
95
+ input = buf.toString();
96
+ }
97
+ else if ('utf8' === canonical) {
98
+ var loc = this.findNonUtf8(buf);
99
+ if (loc !== null) {
100
+ this.error(gtx._('invalid multibyte sequence'), loc);
101
+ return false;
102
+ }
103
+ input = buf.toString();
104
+ }
105
+ else {
106
+ try {
107
+ input = (0, iconv_lite_1.decode)(buf, this.options.fromCode);
108
+ }
109
+ catch (e) {
110
+ var usedFilename = '-' === filename ? gtx._('[standard input]') : filename;
111
+ console.error("".concat(usedFilename, ": ").concat(e));
112
+ return false;
113
+ }
114
+ }
115
+ return this.doParse(input, filename);
116
+ };
117
+ Parser.prototype.extract = function (filename, ast) {
118
+ this.errors = 0;
119
+ this.comments = this.filterComments(ast.comments);
120
+ this.filename = filename;
121
+ if (this.options.extractAll) {
122
+ this.extractAllStrings(ast);
123
+ }
124
+ else {
125
+ this.extractStrings(ast);
126
+ }
127
+ return !this.errors;
128
+ };
129
+ Parser.prototype.extractStrings = function (ast) {
130
+ var _this = this;
131
+ (0, traverse_1.default)(ast, {
132
+ CallExpression: function (path) {
133
+ _this.extractArguments(path);
134
+ },
135
+ });
136
+ };
137
+ Parser.prototype.extractAllStrings = function (ast) {
138
+ var _this = this;
139
+ (0, traverse_1.default)(ast, {
140
+ StringLiteral: function (path) {
141
+ _this.concatStrings(path);
142
+ },
143
+ });
144
+ (0, traverse_1.default)(ast, {
145
+ StringLiteral: function (path) {
146
+ if (!t.isBinaryExpression(path.parentPath.node)) {
147
+ var loc = path.node.loc;
148
+ _this.addEntry({ msgid: path.node.value, loc: loc });
149
+ }
150
+ },
151
+ });
152
+ };
153
+ Parser.prototype.checkPath = function (wanted, got) {
154
+ for (var i = 0; i < got.length; ++i) {
155
+ if (i >= wanted.length) {
156
+ return true;
157
+ }
158
+ else if (wanted[i] !== got[i]) {
159
+ return false;
160
+ }
161
+ }
162
+ return true;
163
+ };
164
+ Parser.prototype.checkInstance = function (instance) {
165
+ if (!this.options.instance) {
166
+ return true;
167
+ }
168
+ for (var i = 0; i < this.instances.length; ++i) {
169
+ if (this.checkPath(this.instances[i], instance)) {
170
+ return true;
171
+ }
172
+ }
173
+ return false;
174
+ };
175
+ Parser.prototype.extractArguments = function (path) {
176
+ var method;
177
+ if (t.isIdentifier(path.node.callee) && !this.instances) {
178
+ method = path.node.callee.name;
179
+ }
180
+ else if (t.isMemberExpression(path.node.callee)) {
181
+ var instance = new Array();
182
+ method = this.methodFromMemberExpression(path.node.callee, instance);
183
+ if (method === null) {
184
+ return;
185
+ }
186
+ instance.shift();
187
+ if (!this.checkInstance(instance)) {
188
+ return;
189
+ }
190
+ }
191
+ else {
192
+ return;
193
+ }
194
+ if (!Object.prototype.hasOwnProperty.call(this.keywords, method)) {
195
+ return;
196
+ }
197
+ var keywordSpec = this.keywords[method];
198
+ if (keywordSpec.totalArgs &&
199
+ path.node.arguments.length !== keywordSpec.totalArgs) {
200
+ return;
201
+ }
202
+ if (keywordSpec.singular > path.node.arguments.length) {
203
+ return;
204
+ }
205
+ if (keywordSpec.plural && keywordSpec.plural > path.node.arguments.length) {
206
+ return;
207
+ }
208
+ if (keywordSpec.context &&
209
+ keywordSpec.context > path.node.arguments.length) {
210
+ return;
211
+ }
212
+ var msgid = this.extractArgument(path.node.arguments[keywordSpec.singular - 1]);
213
+ if (msgid === null) {
214
+ return;
215
+ }
216
+ var msgidPlural;
217
+ if (keywordSpec.plural) {
218
+ msgidPlural = this.extractArgument(path.node.arguments[keywordSpec.plural - 1]);
219
+ if (msgidPlural === null) {
220
+ return;
221
+ }
222
+ }
223
+ var msgctxt;
224
+ if (keywordSpec.context) {
225
+ msgctxt = this.extractArgument(path.node.arguments[keywordSpec.context - 1]);
226
+ if (msgctxt === null) {
227
+ return;
228
+ }
229
+ }
230
+ this.addEntry({ msgid: msgid, loc: path.node.loc, method: method, msgidPlural: msgidPlural, msgctxt: msgctxt });
231
+ };
232
+ Parser.prototype.extractArgument = function (argument) {
233
+ if (t.isStringLiteral(argument)) {
234
+ return argument.value;
235
+ }
236
+ else if (t.isBinaryExpression(argument)) {
237
+ return this.extractBinaryExpression(argument);
238
+ }
239
+ else if (t.isTemplateLiteral(argument)) {
240
+ return this.extractTemplateLiteral(argument);
241
+ }
242
+ return null;
243
+ };
244
+ Parser.prototype.extractBinaryExpression = function (exp) {
245
+ var left = this.extractArgument(exp.left);
246
+ if (left === null) {
247
+ return null;
248
+ }
249
+ var right = this.extractArgument(exp.right);
250
+ if (right === null) {
251
+ return null;
252
+ }
253
+ return left + right;
254
+ };
255
+ Parser.prototype.extractTemplateLiteral = function (literal) {
256
+ if (literal.expressions.length === 0 &&
257
+ literal.quasis.length === 1 &&
258
+ t.isTemplateElement(literal.quasis[0])) {
259
+ return literal.quasis[0].value.cooked;
260
+ }
261
+ this.error(gtx._('template literals with embedded expressions are not' +
262
+ ' allowed as arguments to gettext functions because they' +
263
+ ' are not constant'), literal.loc);
264
+ return null;
265
+ };
266
+ Parser.prototype.concatStrings = function (path) {
267
+ if (!t.isBinaryExpression(path.parent)) {
268
+ return;
269
+ }
270
+ var parentPath = path.parentPath;
271
+ if (parentPath.node.operator === '+' &&
272
+ t.isStringLiteral(parentPath.node.left) &&
273
+ t.isStringLiteral(parentPath.node.right)) {
274
+ parentPath.replaceWithSourceString("\"".concat(parentPath.node.left.value).concat(parentPath.node.right.value, "\""));
275
+ }
276
+ };
277
+ Parser.prototype.addEntry = function (props) {
278
+ props.flag = new Array();
279
+ console.log(props);
280
+ var dict = props.loc;
281
+ var references = [];
282
+ if (dict != null) {
283
+ var filename = '-' === dict.filename ? '[stdin]' : dict.filename;
284
+ references = ["".concat(filename, ":").concat(props.loc.start.line)];
285
+ }
286
+ var commentBlocks = this.findPrecedingComments(props.loc);
287
+ var extractedComments = commentBlocks.map(function (block) { return block.value.trim(); });
288
+ if (typeof props.method !== 'undefined') {
289
+ extractedComments = extractedComments
290
+ .map(function (comment) {
291
+ var match = /xgettext:(.*)/.exec(comment);
292
+ if (match) {
293
+ var str = match[1];
294
+ var validTokens_1 = ['fuzzy', 'wrap', 'no-wrap'];
295
+ var tokens = str.split(/[ \x09-\x0d]+/);
296
+ tokens.forEach(function (token) {
297
+ if (validTokens_1.includes(token) ||
298
+ /^(?:[a-z]+-)+(?:format|check)$/.exec(token)) {
299
+ props.flag.push(token);
300
+ }
301
+ });
302
+ comment = '';
303
+ }
304
+ return comment;
305
+ })
306
+ .filter(function (comment) { return comment !== ''; });
307
+ }
308
+ if (!props.flag.includes('no-perl-brace-format') &&
309
+ /\{[_a-zA-Z][_a-zA-Z0-9]*\}/.exec(props.msgid)) {
310
+ props.flag.push('perl-brace-format');
311
+ }
312
+ this.catalog.addEntry(new entry_1.POTEntry({
313
+ msgid: props.msgid,
314
+ msgidPlural: props.msgidPlural,
315
+ msgctxt: props.msgctxt,
316
+ flags: props.flag,
317
+ references: references,
318
+ extractedComments: extractedComments,
319
+ }));
320
+ };
321
+ Parser.prototype.methodFromMemberExpression = function (me, instance) {
322
+ if (instance === void 0) { instance = []; }
323
+ if (t.isIdentifier(me.object)) {
324
+ if (t.isLiteral(me.property) && me.computed) {
325
+ instance.push(this.literalValue(me.property));
326
+ instance.push(me.object.name);
327
+ return instance[0];
328
+ }
329
+ else if (t.isIdentifier(me.property) && !me.computed) {
330
+ instance.push(me.property.name);
331
+ instance.push(me.object.name);
332
+ return instance[0];
333
+ }
334
+ else {
335
+ return null;
336
+ }
337
+ }
338
+ else if (t.isMemberExpression(me.object) &&
339
+ t.isIdentifier(me.property) &&
340
+ !me.computed) {
341
+ instance.push(me.property.name);
342
+ return this.methodFromMemberExpression(me.object, instance);
343
+ }
344
+ else if (t.isMemberExpression(me.object) &&
345
+ t.isLiteral(me.property) &&
346
+ me.computed) {
347
+ instance.push(this.literalValue(me.property));
348
+ return this.methodFromMemberExpression(me.object, instance);
349
+ }
350
+ else {
351
+ return null;
352
+ }
353
+ };
354
+ Parser.prototype.literalValue = function (node) {
355
+ if (t.isStringLiteral(node)) {
356
+ return node.value;
357
+ }
358
+ else if (t.isTemplateLiteral(node) &&
359
+ node.expressions.length === 0 &&
360
+ node.quasis.length === 1 &&
361
+ t.isTemplateElement(node.quasis[0])) {
362
+ return node.quasis[0].value.cooked;
363
+ }
364
+ else {
365
+ return null;
366
+ }
367
+ };
368
+ Parser.prototype.findPrecedingComments = function (loc) {
369
+ var last;
370
+ for (last = 0; last < this.comments.length; ++last) {
371
+ var commentLocation = this.comments[last].loc;
372
+ if (commentLocation.end.line === loc.start.line ||
373
+ commentLocation.end.line === loc.start.line - 1) {
374
+ break;
375
+ }
376
+ else if (commentLocation.end.line > loc.start.line) {
377
+ this.comments.splice(0, last);
378
+ return [];
379
+ }
380
+ }
381
+ if (last >= this.comments.length) {
382
+ this.comments.splice(0, this.comments.length);
383
+ return [];
384
+ }
385
+ var ptr = this.comments[last].loc;
386
+ var preceding = this.comments.splice(0, last + 1);
387
+ if (!last) {
388
+ return preceding;
389
+ }
390
+ var first;
391
+ for (first = preceding.length - 2; first >= 0; --first) {
392
+ var commentLocation = preceding[first].loc;
393
+ if (commentLocation.end.line < ptr.start.line - 1) {
394
+ break;
395
+ }
396
+ ptr = commentLocation;
397
+ }
398
+ return preceding.slice(first + 1);
399
+ };
400
+ Parser.prototype.filterComments = function (comments) {
401
+ if (this.options.addAllComments) {
402
+ return comments;
403
+ }
404
+ var markers = this.options.addComments
405
+ ? this.options.addComments
406
+ : new Array();
407
+ return comments.filter(function (block) {
408
+ if (block.value.includes('xgettext:')) {
409
+ return true;
410
+ }
411
+ else {
412
+ for (var i = 0; i < markers.length; ++i) {
413
+ var marker = markers[i].trim();
414
+ if (marker === block.value.trim().substr(0, marker.length)) {
415
+ return true;
416
+ }
417
+ }
418
+ }
419
+ return false;
420
+ });
421
+ };
422
+ Parser.cookedDefaultKeywords = function () {
423
+ return Parser.defaultKeywords().map(function (keyword) { return keyword_1.Keyword.from(keyword); });
424
+ };
425
+ Parser.defaultKeywords = function () {
426
+ return [
427
+ '_',
428
+ '_x',
429
+ '_n:1,2',
430
+ '_nx:1,2',
431
+ '_p:1c,2',
432
+ '_px:1c,2',
433
+ '_np:1c,2,3',
434
+ '_npx:1c,2,3',
435
+ 'N_',
436
+ 'N_x',
437
+ 'N_p:1c,2',
438
+ 'N_px:1c,2',
439
+ '_l:2',
440
+ '_lx:2',
441
+ '_ln:2,3',
442
+ '_lnx:2,3',
443
+ '_lp:2c,3',
444
+ '_lpx:2c,3',
445
+ '_lnp:2c,3,4',
446
+ '_lnpx:2c,3,4',
447
+ 'N_l:2',
448
+ 'N_lx:2',
449
+ 'N_lp:2c,3',
450
+ 'N_lpx:2c,3',
451
+ ];
452
+ };
453
+ Parser.prototype.warn = function (msg, loc) {
454
+ var start = "".concat(loc.start.line, ":").concat(loc.start.column);
455
+ var end = loc.end ? "-".concat(loc.end.line, ":").concat(loc.end.column) : '';
456
+ var filename = '-' === this.filename ? gtx._('[standard input]') : this.filename;
457
+ var location = "".concat(filename, ":").concat(start).concat(end);
458
+ console.warn(gtx._x('{location}: warning: {msg}', { location: location, msg: msg }));
459
+ };
460
+ Parser.prototype.error = function (msg, loc) {
461
+ ++this.errors;
462
+ var start = "".concat(loc.start.line, ":").concat(loc.start.column);
463
+ var end = loc.end ? "-".concat(loc.end.line, ":").concat(loc.end.column) : '';
464
+ var filename = '-' === this.filename ? gtx._('[standard input]') : this.filename;
465
+ var location = "".concat(filename, ":").concat(start).concat(end);
466
+ console.error(gtx._x('{location}: error: {msg}', { location: location, msg: msg }));
467
+ };
468
+ Parser.prototype.canonicalizeEncoding = function (encoding) {
469
+ var canonical = ('' + encoding)
470
+ .toLowerCase()
471
+ .replace(/:[0-9]{4}$|[^0-9a-z]/g, '');
472
+ var asciiAliases = [
473
+ 'ascii8bit',
474
+ 'usascii',
475
+ 'ansix34',
476
+ 'ansix341968',
477
+ 'ansix341986',
478
+ 'csascii',
479
+ 'cp367',
480
+ 'ibm367',
481
+ 'isoir6',
482
+ 'iso646us',
483
+ 'iso646irv',
484
+ 'us',
485
+ ];
486
+ if (asciiAliases.includes(canonical)) {
487
+ return 'ascii';
488
+ }
489
+ else {
490
+ return canonical;
491
+ }
492
+ };
493
+ Parser.prototype.findNonUtf8 = function (buf) {
494
+ var i = 0;
495
+ var loc = {
496
+ start: {
497
+ line: 1,
498
+ column: 1,
499
+ index: 0
500
+ },
501
+ end: null,
502
+ filename: '',
503
+ identifierName: ''
504
+ };
505
+ while (i < buf.length) {
506
+ if (buf[i] === 0x09 ||
507
+ buf[i] === 0x0a ||
508
+ buf[i] === 0x0 ||
509
+ (0x20 <= buf[i] && buf[i] <= 0x7e)) {
510
+ if (buf[i] === 0x0a) {
511
+ ++loc.start.line;
512
+ loc.start.column = 1;
513
+ }
514
+ else {
515
+ ++loc.start.column;
516
+ }
517
+ ++i;
518
+ continue;
519
+ }
520
+ if (0xc2 <= buf[i] &&
521
+ buf[i] <= 0xdf &&
522
+ 0x80 <= buf[i + 1] &&
523
+ buf[i + 1] <= 0xbf) {
524
+ i += 2;
525
+ loc.start.column += 2;
526
+ continue;
527
+ }
528
+ if ((buf[i] === 0xe0 &&
529
+ 0xa0 <= buf[i + 1] &&
530
+ buf[i + 1] <= 0xbf &&
531
+ 0x80 <= buf[i + 2] &&
532
+ buf[i + 2] <= 0xbf) ||
533
+ (((0xe1 <= buf[i] && buf[i] <= 0xec) ||
534
+ buf[i] === 0xee ||
535
+ buf[i] === 0xef) &&
536
+ 0x80 <= buf[i + 1] &&
537
+ buf[i + 1] <= 0xbf &&
538
+ 0x80 <= buf[i + 2] &&
539
+ buf[i + 2] <= 0xbf) ||
540
+ (buf[i] === 0xed &&
541
+ 0x80 <= buf[i + 1] &&
542
+ buf[i + 1] <= 0x9f &&
543
+ 0x80 <= buf[i + 2] &&
544
+ buf[i + 2] <= 0xbf)) {
545
+ i += 3;
546
+ loc.start.column += 3;
547
+ continue;
548
+ }
549
+ if ((buf[i] === 0xf0 &&
550
+ 0x90 <= buf[i + 1] &&
551
+ buf[i + 1] <= 0xbf &&
552
+ 0x80 <= buf[i + 2] &&
553
+ buf[i + 2] <= 0xbf &&
554
+ 0x80 <= buf[i + 3] &&
555
+ buf[i + 3] <= 0xbf) ||
556
+ (0xf1 <= buf[i] &&
557
+ buf[i] <= 0xf3 &&
558
+ 0x80 <= buf[i + 1] &&
559
+ buf[i + 1] <= 0xbf &&
560
+ 0x80 <= buf[i + 2] &&
561
+ buf[i + 2] <= 0xbf &&
562
+ 0x80 <= buf[i + 3] &&
563
+ buf[i + 3] <= 0xbf) ||
564
+ (buf[i] === 0xf4 &&
565
+ 0x80 <= buf[i + 1] &&
566
+ buf[i + 1] <= 0x8f &&
567
+ 0x80 <= buf[i + 2] &&
568
+ buf[i + 2] <= 0xbf &&
569
+ 0x80 <= buf[i + 3] &&
570
+ buf[i + 3] <= 0xbf)) {
571
+ i += 4;
572
+ loc.start.column += 4;
573
+ continue;
574
+ }
575
+ return loc;
576
+ }
577
+ return null;
578
+ };
579
+ return Parser;
580
+ }());
581
+ exports.Parser = Parser;
582
+ //# sourceMappingURL=parser.js.map