@larsgw/formica 0.1.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 (65) hide show
  1. package/.eslintrc.js +16 -0
  2. package/LICENSE +21 -0
  3. package/README.md +19 -0
  4. package/lib/bin/process-resources-index.d.ts +1 -0
  5. package/lib/bin/process-resources-index.js +142 -0
  6. package/lib/bin/process-resources.d.ts +1 -0
  7. package/lib/bin/process-resources.js +594 -0
  8. package/lib/bin/util.d.ts +16 -0
  9. package/lib/bin/util.js +125 -0
  10. package/lib/bin/validate-catalog.d.ts +2 -0
  11. package/lib/bin/validate-catalog.js +92 -0
  12. package/lib/bin/validate-resources-text.d.ts +2 -0
  13. package/lib/bin/validate-resources-text.js +78 -0
  14. package/lib/catalog/entities.d.ts +12 -0
  15. package/lib/catalog/entities.js +111 -0
  16. package/lib/catalog/entity.d.ts +13 -0
  17. package/lib/catalog/entity.js +103 -0
  18. package/lib/catalog/index.d.ts +4 -0
  19. package/lib/catalog/index.js +33 -0
  20. package/lib/catalog/tables/author.d.ts +4 -0
  21. package/lib/catalog/tables/author.js +33 -0
  22. package/lib/catalog/tables/index.d.ts +2 -0
  23. package/lib/catalog/tables/index.js +13 -0
  24. package/lib/catalog/tables/place.d.ts +4 -0
  25. package/lib/catalog/tables/place.js +32 -0
  26. package/lib/catalog/tables/publisher.d.ts +4 -0
  27. package/lib/catalog/tables/publisher.js +33 -0
  28. package/lib/catalog/tables/work.d.ts +5 -0
  29. package/lib/catalog/tables/work.js +82 -0
  30. package/lib/catalog/value.d.ts +19 -0
  31. package/lib/catalog/value.js +49 -0
  32. package/lib/csv.d.ts +2 -0
  33. package/lib/csv.js +37 -0
  34. package/lib/index.d.ts +3 -0
  35. package/lib/index.js +6 -0
  36. package/lib/resources/diff-resource.d.ts +7 -0
  37. package/lib/resources/diff-resource.js +152 -0
  38. package/lib/resources/index.d.ts +1 -0
  39. package/lib/resources/index.js +6 -0
  40. package/lib/resources/parse-text.d.ts +2 -0
  41. package/lib/resources/parse-text.js +499 -0
  42. package/lib/types.d.ts +62 -0
  43. package/lib/types.js +0 -0
  44. package/package.json +42 -0
  45. package/src/bin/process-resources-index.ts +73 -0
  46. package/src/bin/process-resources.ts +406 -0
  47. package/src/bin/util.ts +74 -0
  48. package/src/bin/validate-catalog.ts +37 -0
  49. package/src/bin/validate-resources-text.ts +25 -0
  50. package/src/catalog/entities.ts +62 -0
  51. package/src/catalog/entity.ts +113 -0
  52. package/src/catalog/index.ts +32 -0
  53. package/src/catalog/tables/author.ts +13 -0
  54. package/src/catalog/tables/index.ts +12 -0
  55. package/src/catalog/tables/place.ts +12 -0
  56. package/src/catalog/tables/publisher.ts +13 -0
  57. package/src/catalog/tables/work.ts +62 -0
  58. package/src/catalog/value.ts +48 -0
  59. package/src/csv.ts +33 -0
  60. package/src/index.ts +3 -0
  61. package/src/module.d.ts +105 -0
  62. package/src/resources/diff-resource.ts +155 -0
  63. package/src/resources/index.ts +4 -0
  64. package/src/resources/parse-text.ts +519 -0
  65. package/tsconfig.json +11 -0
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ var __extends = (this && this.__extends) || (function () {
3
+ var extendStatics = function (d, b) {
4
+ extendStatics = Object.setPrototypeOf ||
5
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
+ return extendStatics(d, b);
8
+ };
9
+ return function (d, b) {
10
+ if (typeof b !== "function" && b !== null)
11
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
+ extendStatics(d, b);
13
+ function __() { this.constructor = d; }
14
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
+ };
16
+ })();
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.Place = void 0;
19
+ var value_1 = require("../value");
20
+ var entity_1 = require("../entity");
21
+ var Place = /** @class */ (function (_super) {
22
+ __extends(Place, _super);
23
+ function Place(values) {
24
+ return _super.call(this, values, {
25
+ name: { required: true, multiple: false },
26
+ qid: { required: false, multiple: false, format: value_1.FORMATS.QID },
27
+ display_name: { required: false, multiple: false }
28
+ }) || this;
29
+ }
30
+ return Place;
31
+ }(entity_1.Entity));
32
+ exports.Place = Place;
@@ -0,0 +1,4 @@
1
+ import { Entity } from '../entity';
2
+ export declare class Publisher extends Entity {
3
+ constructor(values: Record<string, string>);
4
+ }
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ var __extends = (this && this.__extends) || (function () {
3
+ var extendStatics = function (d, b) {
4
+ extendStatics = Object.setPrototypeOf ||
5
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
+ return extendStatics(d, b);
8
+ };
9
+ return function (d, b) {
10
+ if (typeof b !== "function" && b !== null)
11
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
+ extendStatics(d, b);
13
+ function __() { this.constructor = d; }
14
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
+ };
16
+ })();
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.Publisher = void 0;
19
+ var value_1 = require("../value");
20
+ var entity_1 = require("../entity");
21
+ var Publisher = /** @class */ (function (_super) {
22
+ __extends(Publisher, _super);
23
+ function Publisher(values) {
24
+ return _super.call(this, values, {
25
+ name: { required: true, multiple: false },
26
+ qid: { required: false, multiple: false, format: value_1.FORMATS.QID },
27
+ full_name: { required: false, multiple: false },
28
+ long_name: { required: false, multiple: true }
29
+ }) || this;
30
+ }
31
+ return Publisher;
32
+ }(entity_1.Entity));
33
+ exports.Publisher = Publisher;
@@ -0,0 +1,5 @@
1
+ import { Entity } from '../entity';
2
+ export declare class Work extends Entity {
3
+ constructor(values: Record<string, string>);
4
+ deriveFields(): void;
5
+ }
@@ -0,0 +1,82 @@
1
+ "use strict";
2
+ var __extends = (this && this.__extends) || (function () {
3
+ var extendStatics = function (d, b) {
4
+ extendStatics = Object.setPrototypeOf ||
5
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
+ return extendStatics(d, b);
8
+ };
9
+ return function (d, b) {
10
+ if (typeof b !== "function" && b !== null)
11
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
+ extendStatics(d, b);
13
+ function __() { this.constructor = d; }
14
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
+ };
16
+ })();
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.Work = void 0;
19
+ var value_1 = require("../value");
20
+ var entity_1 = require("../entity");
21
+ var Work = /** @class */ (function (_super) {
22
+ __extends(Work, _super);
23
+ function Work(values) {
24
+ return _super.call(this, values, {
25
+ id: { required: true, multiple: false, format: value_1.FORMATS.ID },
26
+ title: { required: true, multiple: value_1.CHECK.MULTILANG },
27
+ author: { required: false, multiple: true },
28
+ url: { required: false, multiple: true, format: value_1.FORMATS.URL },
29
+ fulltext_url: { required: false, multiple: true, format: value_1.FORMATS.URL },
30
+ archive_url: { required: false, multiple: true, format: value_1.FORMATS.URL },
31
+ entry_type: { required: true, multiple: false, format: value_1.FORMATS.ENTRY_TYPE },
32
+ date: { required: false, multiple: false, format: value_1.FORMATS.EDTF_0 },
33
+ publisher: { required: false, multiple: true },
34
+ series: { required: false, multiple: false },
35
+ ISSN: { required: false, multiple: false, format: value_1.FORMATS.ISSN_L },
36
+ ISBN: { required: false, multiple: value_1.CHECK.ISBN, format: value_1.FORMATS.ISBN },
37
+ DOI: { required: false, multiple: false, format: value_1.FORMATS.DOI },
38
+ QID: { required: false, multiple: false, format: value_1.FORMATS.QID },
39
+ volume: { required: false, multiple: false },
40
+ issue: { required: false, multiple: false },
41
+ pages: { required: false, multiple: false },
42
+ edition: { required: false, multiple: false },
43
+ language: { required: true, multiple: true, format: value_1.FORMATS.LANGUAGE },
44
+ license: { required: false, multiple: true, format: value_1.FORMATS.LICENSE },
45
+ key_type: { required: true, multiple: true, format: value_1.FORMATS.KEY_TYPE },
46
+ taxon: { required: true, multiple: true },
47
+ scope: { required: false, multiple: true },
48
+ region: { required: true, multiple: true },
49
+ complete: { required: false, multiple: false, format: value_1.FORMATS.COMPLETE },
50
+ target_taxa: { required: false, multiple: true },
51
+ listed_in: { required: false, multiple: true, format: value_1.FORMATS.ID },
52
+ part_of: { required: false, multiple: true, format: value_1.FORMATS.ID },
53
+ version_of: { required: false, multiple: true, format: value_1.FORMATS.ID }
54
+ }) || this;
55
+ }
56
+ Work.prototype.deriveFields = function () {
57
+ if (typeof this.fields.date === 'string') {
58
+ var year = parseInt(this.fields.date.split('-')[0]);
59
+ this.derivedFields.year = year.toString();
60
+ this.derivedFields.decade = (year - (year % 10)).toString();
61
+ }
62
+ if (typeof this.fields.license === 'string' && !this.fields.license.endsWith('?>')) {
63
+ this.derivedFields.access = 'Open license';
64
+ }
65
+ else {
66
+ var info = this.fields.url;
67
+ var content = this.fields.fulltext_url;
68
+ var archive = this.fields.archive_url;
69
+ if (typeof content === 'string') {
70
+ this.derivedFields.access = 'Full text available, no license';
71
+ }
72
+ else if (typeof archive === 'string' && (!(typeof info === 'string') || !archive.endsWith(info))) {
73
+ this.derivedFields.access = 'Archived full text available, no license';
74
+ }
75
+ else {
76
+ this.derivedFields.access = 'No full text available';
77
+ }
78
+ }
79
+ };
80
+ return Work;
81
+ }(entity_1.Entity));
82
+ exports.Work = Work;
@@ -0,0 +1,19 @@
1
+ export declare const FORMATS: {
2
+ ENTRY_TYPE: string[];
3
+ KEY_TYPE: string[];
4
+ COMPLETE: string[];
5
+ ID: RegExp;
6
+ EDTF_0: RegExp;
7
+ ISSN_L: RegExp;
8
+ ISBN: RegExp;
9
+ DOI: RegExp;
10
+ QID: RegExp;
11
+ URL: RegExp;
12
+ LICENSE(value: SingleValue): true;
13
+ LANGUAGE(value: SingleValue): any;
14
+ };
15
+ export declare const CHECK: {
16
+ MULTILANG(entry: Record<string, Value>): boolean;
17
+ ISBN(entry: Record<string, Value>): boolean;
18
+ };
19
+ export declare function parseValue(value: string, multiple: boolean): Value | null;
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.parseValue = exports.CHECK = exports.FORMATS = void 0;
4
+ var spdxLicenseList = require("spdx-license-list");
5
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
6
+ // @ts-ignore
7
+ var ietfTagListFactory = require("ietf-language-tag-regex");
8
+ var ietfTagList = ietfTagListFactory();
9
+ exports.FORMATS = {
10
+ ENTRY_TYPE: ['print', 'online', 'cd'],
11
+ KEY_TYPE: ['key', 'matrix', 'reference', 'gallery', 'checklist', 'supplement', 'collection'],
12
+ COMPLETE: ['TRUE', 'FALSE'],
13
+ ID: /^B\d+$/,
14
+ EDTF_0: /^(\d{4}(-\d{2}(-\d{2}(T\d{2}:\d{2}:\d{2}(Z|[-+]\d{2}(:\d{2})?))?)?)?|\d{4}(-\d{2}(-\d{2})?)?\/(\d{4}(-\d{2}(-\d{2})?)?|\.\.))$/,
15
+ ISSN_L: /^[0-9]{4}-[0-9]{3}[0-9X]$/,
16
+ ISBN: /^(\d{13}|\d{9}[0-9X])$/,
17
+ DOI: /^10\./,
18
+ QID: /^Q[1-9][0-9]*$/,
19
+ URL: /^(ftp|http|https):\/\/((?:[a-z0-9][a-z0-9-_]*?[a-z0-9]?\.)+(?:xn--)?[a-z0-9]+)(:\d*)?((?:\/(?:%\d\d|[!$&'()*+,\-.0-9";=@A-Z_a-z~])*)*)(\?(?:%\d\d|[!$&'()*+,\-./0-9:;=?@A-Z_a-z~])*)?(#(?:%\d\d|[!$&'()*+,\-./0-9:;=?@A-Z_a-z~])*)?/i,
20
+ LICENSE: function (value) { return /^<(public domain|.+\?)>$/.test(value) || !!spdxLicenseList[value]; },
21
+ LANGUAGE: function (value) { return ietfTagList.test(value); }
22
+ };
23
+ exports.CHECK = {
24
+ MULTILANG: function (entry) {
25
+ return entry.language.length > 1;
26
+ },
27
+ ISBN: function (entry) {
28
+ if (entry.ISBN.length < 2) {
29
+ return false;
30
+ }
31
+ var a = entry.ISBN[0].length === 10;
32
+ var b = entry.ISBN[0].length === 13;
33
+ var c = entry.ISBN[1].length === 10;
34
+ var d = entry.ISBN[1].length === 13;
35
+ return (a && d) || (b && c);
36
+ }
37
+ };
38
+ function parseValue(value, multiple) {
39
+ if (value === '') {
40
+ return null;
41
+ }
42
+ else if (multiple) {
43
+ return value.split('; ');
44
+ }
45
+ else {
46
+ return value;
47
+ }
48
+ }
49
+ exports.parseValue = parseValue;
package/lib/csv.d.ts ADDED
@@ -0,0 +1,2 @@
1
+ export declare function parseCsv(file: string): string[][];
2
+ export declare function formatCsv(table: string[][], delimiter?: string): string;
package/lib/csv.js ADDED
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.formatCsv = exports.parseCsv = void 0;
4
+ function parseCsv(file) {
5
+ var values = file
6
+ .trim()
7
+ .match(/("([^"]|"")*?"|[^,\n]+|(?!$))(,|\n|$)/g);
8
+ if (values === null) {
9
+ throw new TypeError('Failed to parse csv');
10
+ }
11
+ return values.reduce(function (rows, value) {
12
+ var last = rows[rows.length - 1];
13
+ if (value.endsWith('\n')) {
14
+ rows.push([]);
15
+ }
16
+ value = value.replace(/[,\n]$/, '');
17
+ last.push(value.startsWith('"') ? value.replace(/""/g, '"').slice(1, -1) : value);
18
+ return rows;
19
+ }, [[]]);
20
+ }
21
+ exports.parseCsv = parseCsv;
22
+ function formatCsv(table, delimiter) {
23
+ if (delimiter === void 0) { delimiter = ','; }
24
+ return table
25
+ .map(function (row) {
26
+ return row.map(function (value) {
27
+ if (/["\n]/.test(value) || value.includes(delimiter)) {
28
+ return "\"".concat(value.replace(/"/, '"""'), "\"");
29
+ }
30
+ else {
31
+ return value;
32
+ }
33
+ }).join(delimiter);
34
+ })
35
+ .join('\n') + '\n';
36
+ }
37
+ exports.formatCsv = formatCsv;
package/lib/index.d.ts ADDED
@@ -0,0 +1,3 @@
1
+ export * as catalog from './catalog/index';
2
+ export * as resources from './resources/index';
3
+ export * as csv from './csv';
package/lib/index.js ADDED
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.csv = exports.resources = exports.catalog = void 0;
4
+ exports.catalog = require("./catalog/index");
5
+ exports.resources = require("./resources/index");
6
+ exports.csv = require("./csv");
@@ -0,0 +1,7 @@
1
+ export declare enum ResourceDiffType {
2
+ Added = "+",
3
+ Deleted = "-",
4
+ Modified = "~",
5
+ Unchanged = "="
6
+ }
7
+ export declare function createDiff(a: string, b: string, tokenize?: ResourceDiffTokenizer): ResourceDiffPart[];
@@ -0,0 +1,152 @@
1
+ "use strict";
2
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
3
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
4
+ if (ar || !(i in from)) {
5
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
6
+ ar[i] = from[i];
7
+ }
8
+ }
9
+ return to.concat(ar || Array.prototype.slice.call(from));
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.createDiff = exports.ResourceDiffType = void 0;
13
+ var ResourceDiffType;
14
+ (function (ResourceDiffType) {
15
+ ResourceDiffType["Added"] = "+";
16
+ ResourceDiffType["Deleted"] = "-";
17
+ ResourceDiffType["Modified"] = "~";
18
+ ResourceDiffType["Unchanged"] = "=";
19
+ })(ResourceDiffType = exports.ResourceDiffType || (exports.ResourceDiffType = {}));
20
+ function LCS(X, Y) {
21
+ var m = X.length;
22
+ var n = Y.length;
23
+ // Build matrix
24
+ var C = Array(m + 1).fill(0).map(function () { return Array(n + 1).fill(0); });
25
+ for (var i_1 = 0; i_1 < m; i_1++) {
26
+ for (var j_1 = 0; j_1 < n; j_1++) {
27
+ if (X[i_1] === Y[j_1]) {
28
+ C[i_1 + 1][j_1 + 1] = C[i_1][j_1] + 1;
29
+ }
30
+ else {
31
+ C[i_1 + 1][j_1 + 1] = Math.max(C[i_1][j_1 + 1], C[i_1 + 1][j_1]);
32
+ }
33
+ }
34
+ }
35
+ // Backtrace
36
+ var diff = [];
37
+ var i = m;
38
+ var j = n;
39
+ while (i + j !== 0) {
40
+ if (X[i - 1] === Y[j - 1]) {
41
+ diff.unshift({
42
+ text: X[i - 1],
43
+ type: ResourceDiffType.Unchanged
44
+ });
45
+ i--, j--;
46
+ }
47
+ else if (i !== 0 && (j === 0 || C[i - 1][j] > C[i][j - 1])) {
48
+ diff.unshift({
49
+ text: X[i - 1],
50
+ type: ResourceDiffType.Added
51
+ });
52
+ i--;
53
+ }
54
+ else {
55
+ diff.unshift({
56
+ text: Y[j - 1],
57
+ type: ResourceDiffType.Deleted
58
+ });
59
+ j--;
60
+ }
61
+ }
62
+ return diff;
63
+ }
64
+ function gitTokenize(text) {
65
+ if (text.length === 0) {
66
+ return [];
67
+ }
68
+ return text.match(/\S+|\n|[\r\t\f\v \u00a0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]+/g);
69
+ }
70
+ function createDiff(a, b, tokenize) {
71
+ if (tokenize === void 0) { tokenize = gitTokenize; }
72
+ var X = tokenize(a.trimEnd());
73
+ var Y = tokenize(b.trimEnd());
74
+ // Remove common prefix
75
+ var prefix = [];
76
+ while (X.length && X[0] === Y[0]) {
77
+ prefix.push({
78
+ text: X[0],
79
+ type: ResourceDiffType.Unchanged
80
+ });
81
+ X.shift();
82
+ Y.shift();
83
+ }
84
+ // Remove common suffix
85
+ var suffix = [];
86
+ while (X.length && X[X.length - 1] === Y[Y.length - 1]) {
87
+ suffix.unshift({
88
+ text: X[X.length - 1],
89
+ type: ResourceDiffType.Unchanged
90
+ });
91
+ X.pop();
92
+ Y.pop();
93
+ }
94
+ // Generate word from remains, combine with prefix and suffix, add trailing
95
+ // newline
96
+ var changes = __spreadArray(__spreadArray(__spreadArray(__spreadArray([], prefix, true), LCS(X, Y), true), suffix, true), [
97
+ { text: '\n', type: ResourceDiffType.Unchanged }
98
+ ], false);
99
+ // Convert word diff to line diff
100
+ var lines = [];
101
+ var line = null;
102
+ var deletedNewlines = 0;
103
+ var nextLineNew = false;
104
+ for (var _i = 0, changes_1 = changes; _i < changes_1.length; _i++) {
105
+ var change = changes_1[_i];
106
+ // Start of line
107
+ if (line === null) {
108
+ deletedNewlines = 0;
109
+ line = { text: '', type: change.type };
110
+ }
111
+ // End of line (could be same token)
112
+ if (change.text === '\n') {
113
+ if (change.type === ResourceDiffType.Deleted) {
114
+ // Keep track of deleted newlines. These indicate the merging of
115
+ // lines. To keep the taxon identifiers consistent, it is
116
+ // important that deleted taxa are tracked.
117
+ deletedNewlines++;
118
+ continue;
119
+ }
120
+ // If there is a new newline, there is a new... line. If the current
121
+ // line is not seen as new, the next one should be marked as new.
122
+ if (nextLineNew) {
123
+ line.type = ResourceDiffType.Added;
124
+ nextLineNew = false;
125
+ }
126
+ if (change.type === ResourceDiffType.Added && line.type !== ResourceDiffType.Added) {
127
+ nextLineNew = true;
128
+ }
129
+ // Line ended
130
+ lines.push(line);
131
+ line = null;
132
+ // Add placeholders for deleted lines
133
+ while (deletedNewlines--) {
134
+ lines.push({
135
+ text: '',
136
+ type: ResourceDiffType.Deleted
137
+ });
138
+ }
139
+ continue;
140
+ }
141
+ // Added/Deleted/Unchanged on the same line -> line is modified but did
142
+ // already exist.
143
+ if (change.type !== line.type) {
144
+ line.type = ResourceDiffType.Modified;
145
+ }
146
+ if (change.type !== ResourceDiffType.Deleted) {
147
+ line.text += change.text;
148
+ }
149
+ }
150
+ return lines;
151
+ }
152
+ exports.createDiff = createDiff;
@@ -0,0 +1 @@
1
+ export { parseFile as parseTextFile, parseFileHeader as parseTextFileHeader } from './parse-text';
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.parseTextFileHeader = exports.parseTextFile = void 0;
4
+ var parse_text_1 = require("./parse-text");
5
+ Object.defineProperty(exports, "parseTextFile", { enumerable: true, get: function () { return parse_text_1.parseFile; } });
6
+ Object.defineProperty(exports, "parseTextFileHeader", { enumerable: true, get: function () { return parse_text_1.parseFileHeader; } });
@@ -0,0 +1,2 @@
1
+ export declare function parseFile(file: string, id: WorkId, old?: ResourceHistory): Resource[];
2
+ export declare function parseFileHeader(file: string): ResourceMetadata[];