stated-protocol-parser 1.0.6 → 5.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 (109) hide show
  1. package/README.md +231 -22
  2. package/dist/constants.d.ts +193 -15
  3. package/dist/constants.d.ts.map +1 -1
  4. package/dist/constants.js +197 -20
  5. package/dist/constants.js.map +1 -1
  6. package/dist/esm/constants.d.ts +193 -15
  7. package/dist/esm/constants.d.ts.map +1 -1
  8. package/dist/esm/{hash.browser.d.ts → hash.d.ts} +11 -5
  9. package/dist/esm/hash.d.ts.map +1 -0
  10. package/dist/esm/index.d.ts +4 -42
  11. package/dist/esm/index.d.ts.map +1 -1
  12. package/dist/esm/index.js +2102 -641
  13. package/dist/esm/index.js.map +7 -1
  14. package/dist/esm/protocol.d.ts +30 -0
  15. package/dist/esm/protocol.d.ts.map +1 -0
  16. package/dist/esm/signature.d.ts +49 -0
  17. package/dist/esm/signature.d.ts.map +1 -0
  18. package/dist/esm/types.d.ts +26 -60
  19. package/dist/esm/types.d.ts.map +1 -1
  20. package/dist/esm/utils.d.ts +10 -0
  21. package/dist/esm/utils.d.ts.map +1 -1
  22. package/dist/{hash.browser.d.ts → hash.d.ts} +11 -5
  23. package/dist/hash.d.ts.map +1 -0
  24. package/dist/{hash.browser.js → hash.js} +44 -10
  25. package/dist/hash.js.map +1 -0
  26. package/dist/index.d.ts +4 -42
  27. package/dist/index.d.ts.map +1 -1
  28. package/dist/index.js +4 -674
  29. package/dist/index.js.map +1 -1
  30. package/dist/protocol.d.ts +30 -0
  31. package/dist/protocol.d.ts.map +1 -0
  32. package/dist/protocol.js +677 -0
  33. package/dist/protocol.js.map +1 -0
  34. package/dist/signature.d.ts +49 -0
  35. package/dist/signature.d.ts.map +1 -0
  36. package/dist/signature.js +169 -0
  37. package/dist/signature.js.map +1 -0
  38. package/dist/types.d.ts +26 -60
  39. package/dist/types.d.ts.map +1 -1
  40. package/dist/types.js +27 -0
  41. package/dist/types.js.map +1 -1
  42. package/dist/utils.d.ts +10 -0
  43. package/dist/utils.d.ts.map +1 -1
  44. package/dist/utils.js +79 -11
  45. package/dist/utils.js.map +1 -1
  46. package/package.json +25 -16
  47. package/src/constants.ts +228 -44
  48. package/src/fixtures.test.ts +236 -0
  49. package/src/hash.test.ts +217 -215
  50. package/src/hash.ts +99 -0
  51. package/src/index.ts +5 -678
  52. package/src/organisation-verification.test.ts +50 -0
  53. package/src/person-verification.test.ts +55 -0
  54. package/src/poll.test.ts +28 -0
  55. package/src/protocol.ts +871 -0
  56. package/src/rating.test.ts +25 -0
  57. package/src/signature.test.ts +200 -0
  58. package/src/signature.ts +159 -0
  59. package/src/statement.test.ts +101 -0
  60. package/src/types.ts +155 -156
  61. package/src/utils.test.ts +140 -0
  62. package/src/utils.ts +102 -16
  63. package/dist/esm/constants.js +0 -47
  64. package/dist/esm/constants.js.map +0 -1
  65. package/dist/esm/hash.browser.d.ts.map +0 -1
  66. package/dist/esm/hash.browser.js +0 -58
  67. package/dist/esm/hash.browser.js.map +0 -1
  68. package/dist/esm/hash.node.d.ts +0 -31
  69. package/dist/esm/hash.node.d.ts.map +0 -1
  70. package/dist/esm/hash.node.js +0 -43
  71. package/dist/esm/hash.node.js.map +0 -1
  72. package/dist/esm/hash.test.d.ts +0 -2
  73. package/dist/esm/hash.test.d.ts.map +0 -1
  74. package/dist/esm/hash.test.js +0 -181
  75. package/dist/esm/hash.test.js.map +0 -1
  76. package/dist/esm/index.test.d.ts +0 -2
  77. package/dist/esm/index.test.d.ts.map +0 -1
  78. package/dist/esm/index.test.js +0 -293
  79. package/dist/esm/index.test.js.map +0 -1
  80. package/dist/esm/types.js +0 -2
  81. package/dist/esm/types.js.map +0 -1
  82. package/dist/esm/utils.js +0 -23
  83. package/dist/esm/utils.js.map +0 -1
  84. package/dist/esm/v3.d.ts +0 -5
  85. package/dist/esm/v3.d.ts.map +0 -1
  86. package/dist/esm/v3.js +0 -60
  87. package/dist/esm/v3.js.map +0 -1
  88. package/dist/hash.browser.d.ts.map +0 -1
  89. package/dist/hash.browser.js.map +0 -1
  90. package/dist/hash.node.d.ts +0 -31
  91. package/dist/hash.node.d.ts.map +0 -1
  92. package/dist/hash.node.js +0 -53
  93. package/dist/hash.node.js.map +0 -1
  94. package/dist/hash.test.d.ts +0 -2
  95. package/dist/hash.test.d.ts.map +0 -1
  96. package/dist/hash.test.js +0 -183
  97. package/dist/hash.test.js.map +0 -1
  98. package/dist/index.test.d.ts +0 -2
  99. package/dist/index.test.d.ts.map +0 -1
  100. package/dist/index.test.js +0 -295
  101. package/dist/index.test.js.map +0 -1
  102. package/dist/v3.d.ts +0 -5
  103. package/dist/v3.d.ts.map +0 -1
  104. package/dist/v3.js +0 -64
  105. package/dist/v3.js.map +0 -1
  106. package/src/hash.browser.ts +0 -65
  107. package/src/hash.node.ts +0 -47
  108. package/src/index.test.ts +0 -378
  109. package/src/v3.ts +0 -62
@@ -1,295 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const index_1 = require("./index");
4
- const randomUnicodeString = () => Array.from({ length: 20 }, () => String.fromCharCode(Math.floor(Math.random() * 65536)))
5
- .join('')
6
- .replace(/[\n;>=<"''\\]/g, '');
7
- test('parse statement', () => {
8
- const statement = `Publishing domain: localhost
9
- Author: chris
10
- Time: Tue, 18 Apr 2023 18:20:26 GMT
11
- Tags: hashtag1, hashtag2
12
- Format version: 4
13
- Statement content: hi
14
- `;
15
- const parsedStatement = (0, index_1.parseStatement)({ statement });
16
- expect(parsedStatement.content).toBe(`hi
17
- `);
18
- });
19
- test('statement build & parse function compatibility: input=parse(build(input))', () => {
20
- const [domain, author, representative, content, supersededStatement] = Array.from({ length: 5 }, randomUnicodeString);
21
- const tags = Array.from({ length: 4 }, randomUnicodeString);
22
- const contentWithTrailingNewline = content + (content.match(/\n$/) ? '' : '\n');
23
- const time = new Date('Sun, 04 Sep 2022 14:48:50 GMT');
24
- const statementContent = (0, index_1.buildStatement)({
25
- domain,
26
- author,
27
- time,
28
- content: contentWithTrailingNewline,
29
- representative,
30
- supersededStatement,
31
- tags,
32
- });
33
- const parsedStatement = (0, index_1.parseStatement)({ statement: statementContent });
34
- expect(parsedStatement.domain).toBe(domain);
35
- expect(parsedStatement.author).toBe(author);
36
- expect(parsedStatement.time?.toUTCString()).toBe(time.toUTCString());
37
- expect(parsedStatement.content).toBe(contentWithTrailingNewline);
38
- expect(parsedStatement.representative).toBe(representative);
39
- expect(parsedStatement.supersededStatement).toBe(supersededStatement);
40
- expect(parsedStatement.tags?.sort()).toStrictEqual(tags.sort());
41
- });
42
- test('parse quotation', () => {
43
- let quotation = `Publishing domain: rixdata.net
44
- Author: Example Inc.
45
- Time: Sun, 04 Sep 2022 14:48:50 GMT
46
- Format version: 4
47
- Statement content:
48
- Type: Quotation
49
- Original author: XYZ Company Inc.
50
- Author verification: eXoVsm2CdF5Ri-SEAr33RNkG3DBuehvFoDBQ_pO9CXE
51
- Original publication time: Sun, 04 Sep 2022 14:48:50 GMT
52
- Source: https://www.facebook.com/companyxzy/posts/XXXX
53
- Picture proof: 5HKiyQXGV4xavq-Nn9RXi_ndUH-2BEux3ccFIjaSk_8
54
- Confidence: 0.9
55
- Quotation: we give example.com a 2/5 star rating
56
- Paraphrased statement:
57
- Type: Rating
58
- Organisation name: example
59
- Organisation domain: example.com
60
- Our rating: 2/5 Stars
61
- `;
62
- const parsedStatement = (0, index_1.parseStatement)({ statement: quotation });
63
- const parsedQuotation = (0, index_1.parseQuotation)(parsedStatement.content);
64
- const type = parsedQuotation.type;
65
- expect(type).toBe('rating');
66
- });
67
- test('quotation build & parse function compatibility: input=parse(build(input))', () => {
68
- const [originalAuthor, source, picture, quotation, paraphrasedStatement] = Array.from({ length: 6 }, randomUnicodeString);
69
- const authorVerification = 'yXoVsm2CdF5Ri-SEAr33RNkG3DBuehvFoDBQ_pO9CXE';
70
- const originalTime = 'Sun, 04 Sep 2022 14:48:50 GMT';
71
- const confidence = '' + Math.random();
72
- const quotationContent = (0, index_1.buildQuotationContent)({
73
- originalAuthor,
74
- authorVerification,
75
- originalTime,
76
- source,
77
- picture,
78
- confidence,
79
- quotation,
80
- paraphrasedStatement,
81
- });
82
- const parsedQuotation = (0, index_1.parseQuotation)(quotationContent);
83
- expect(parsedQuotation.originalAuthor).toBe(originalAuthor);
84
- expect(parsedQuotation.originalTime).toBe(originalTime);
85
- expect(parsedQuotation.source).toBe(source);
86
- expect(parsedQuotation.picture).toBe(picture);
87
- expect(parsedQuotation.confidence).toBe(confidence);
88
- expect(parsedQuotation.quotation).toBe(quotation);
89
- expect(parsedQuotation.paraphrasedStatement?.replace(/\n$/, '')).toBe(paraphrasedStatement);
90
- expect(parsedQuotation.authorVerification).toBe(authorVerification);
91
- });
92
- test('parse organisation verification', () => {
93
- let organisationVerification = `Publishing domain: rixdata.net
94
- Author: Example Inc.
95
- Time: Sun, 04 Sep 2022 14:48:50 GMT
96
- Format version: 4
97
- Statement content:
98
- Type: Organisation verification
99
- Description: We verified the following information about an organisation.
100
- Name: Walmart Inc.
101
- Country: United States of America
102
- Legal entity: corporation
103
- Owner of the domain: walmart.com
104
- Province or state: Arkansas
105
- City: Bentonville
106
- `;
107
- const parsedStatement = (0, index_1.parseStatement)({
108
- statement: organisationVerification,
109
- });
110
- const parsedOVerification = (0, index_1.parseOrganisationVerification)(parsedStatement.content);
111
- const name = parsedOVerification.name;
112
- expect(name).toBe('Walmart Inc.');
113
- });
114
- test('organisation verification build & parse function compatibility: input=parse(build(input))', () => {
115
- const [name, englishName, city, domain, foreignDomain, serialNumber, reliabilityPolicy, pictureHash,] = Array.from({ length: 8 }, randomUnicodeString);
116
- const country = 'Germany';
117
- const province = 'Bayern';
118
- const legalForm = 'corporation';
119
- const employeeCount = '100-1000';
120
- const confidence = 0.8;
121
- const verificationContent = (0, index_1.buildOrganisationVerificationContent)({
122
- name,
123
- englishName,
124
- country,
125
- city,
126
- province,
127
- legalForm,
128
- domain,
129
- pictureHash,
130
- foreignDomain,
131
- serialNumber,
132
- confidence,
133
- reliabilityPolicy,
134
- employeeCount,
135
- });
136
- const parsedVerification = (0, index_1.parseOrganisationVerification)(verificationContent);
137
- expect(parsedVerification.name).toBe(name);
138
- expect(parsedVerification.englishName).toBe(englishName);
139
- expect(parsedVerification.country).toBe(country);
140
- expect(parsedVerification.city).toBe(city);
141
- expect(parsedVerification.province).toBe(province);
142
- expect(parsedVerification.legalForm).toBe(legalForm);
143
- expect(parsedVerification.domain).toBe(domain);
144
- expect(parsedVerification.foreignDomain).toBe(foreignDomain);
145
- expect(parsedVerification.serialNumber).toBe(serialNumber);
146
- expect(parsedVerification.confidence).toBe(confidence);
147
- expect(parsedVerification.pictureHash).toBe(pictureHash);
148
- expect(parsedVerification.reliabilityPolicy).toBe(reliabilityPolicy);
149
- expect(parsedVerification.employeeCount).toBe(employeeCount);
150
- });
151
- test('parse person verification', () => {
152
- let personVerification = `Publishing domain: rixdata.net
153
- Author: Example Inc.
154
- Time: Sun, 04 Sep 2022 14:48:50 GMT
155
- Format version: 4
156
- Statement content:
157
- Type: Person verification
158
- Description: We verified the following information about a person.
159
- Name: Barack Hossein Obama II
160
- Date of birth: 4 Aug 1961
161
- City of birth: Honolulu
162
- Country of birth: United States of America
163
- Owner of the domain: barackobama.com
164
- `;
165
- const parsedStatement = (0, index_1.parseStatement)({ statement: personVerification });
166
- const parsedPVerification = (0, index_1.parsePersonVerification)(parsedStatement.content);
167
- const name = parsedPVerification.name;
168
- expect(name).toBe('Barack Hossein Obama II');
169
- });
170
- test('person verification build & parse function compatibility: input=parse(build(input))', () => {
171
- const [name, ownDomain, foreignDomain, jobTitle, employer, verificationMethod, picture, reliabilityPolicy,] = Array.from({ length: 12 }, randomUnicodeString);
172
- const countryOfBirth = 'Germany';
173
- const cityOfBirth = 'Berlin';
174
- const confidence = Math.random();
175
- const dateOfBirth = new Date(0);
176
- const personVerificationContent = (0, index_1.buildPersonVerificationContent)({
177
- name,
178
- countryOfBirth,
179
- cityOfBirth,
180
- ownDomain,
181
- foreignDomain,
182
- dateOfBirth,
183
- jobTitle,
184
- employer,
185
- verificationMethod,
186
- confidence,
187
- picture,
188
- reliabilityPolicy,
189
- });
190
- const parsedVerification = (0, index_1.parsePersonVerification)(personVerificationContent);
191
- expect(parsedVerification.name).toBe(name);
192
- expect(parsedVerification.ownDomain).toBe(ownDomain);
193
- expect(parsedVerification.foreignDomain).toBe(foreignDomain);
194
- expect(parsedVerification.dateOfBirth.toUTCString()).toBe(dateOfBirth.toUTCString());
195
- expect(parsedVerification.jobTitle).toBe(jobTitle);
196
- expect(parsedVerification.employer).toBe(employer);
197
- expect(parsedVerification.verificationMethod).toBe(verificationMethod);
198
- expect(parsedVerification.confidence).toBe(confidence);
199
- expect(parsedVerification.picture).toBe(picture);
200
- expect(parsedVerification.reliabilityPolicy).toBe(reliabilityPolicy);
201
- expect(parsedVerification.countryOfBirth).toBe(countryOfBirth);
202
- expect(parsedVerification.cityOfBirth).toBe(cityOfBirth);
203
- });
204
- test('parse rating', () => {
205
- let rating = `Publishing domain: localhost
206
- Author: chris
207
- Time: Tue, 18 Apr 2023 18:20:26 GMT
208
- Format version: 4
209
- Statement content:
210
- Type: Rating
211
- Subject name: AMBOSS GmbH
212
- URL that identifies the subject: amboss.com
213
- Rated quality: AI safety
214
- Our rating: 5/5 Stars
215
- `;
216
- const parsedStatement = (0, index_1.parseStatement)({ statement: rating });
217
- const parsedRating = (0, index_1.parseRating)(parsedStatement.content);
218
- const ratingNumber = parsedRating.rating;
219
- expect(ratingNumber).toBe(5);
220
- const subjectName = parsedRating.subjectName;
221
- expect(subjectName).toBe('AMBOSS GmbH');
222
- const subjectReference = parsedRating.subjectReference;
223
- expect(subjectReference).toBe('amboss.com');
224
- const quality = parsedRating.quality;
225
- expect(quality).toBe('AI safety');
226
- });
227
- test('rating build & parse function compatibility: input=parse(build(input))', () => {
228
- const [subjectName, subjectReference, comment, quality] = Array.from({ length: 4 }, randomUnicodeString);
229
- const rating = Math.ceil(Math.random() * 5);
230
- const ratingContent = (0, index_1.buildRating)({ subjectName, subjectReference, rating, comment, quality });
231
- const parsedRating = (0, index_1.parseRating)(ratingContent);
232
- expect(parsedRating.subjectName).toBe(subjectName);
233
- expect(parsedRating.subjectReference).toBe(subjectReference);
234
- expect(parsedRating.quality).toBe(quality);
235
- expect(parsedRating.rating).toBe(rating);
236
- expect(parsedRating.comment).toBe(comment);
237
- });
238
- test('parse poll v4', () => {
239
- let poll = `Publishing domain: rixdata.net
240
- Author: Example Inc.
241
- Time: Thu, 17 Nov 2022 13:38:20 GMT
242
- Format version: 4
243
- Statement content:
244
- Type: Poll
245
- The poll outcome is finalized when the following nodes agree: rixdata.net
246
- Voting deadline: Thu, 01 Dec 2022 13:38:26 GMT
247
- Poll: Should the UK join the EU
248
- Option 1: Yes
249
- Option 2: No
250
- Who can vote:
251
- Description: All universities with a ROR ID
252
- Legal form scope: corporation
253
- All entities with the following property: ROR ID
254
- As observed by: Rix Data NL B.V.@rixdata.net
255
- Link to query defining who can vote: https://stated.rixdata.net/?search_query=%09Observed%20property:%20ROR%20ID%0A%09&domain=rixdata.net&author=Rix%20Data%20NL%20B.V.
256
- `;
257
- const parsedStatement = (0, index_1.parseStatement)({ statement: poll });
258
- const parsedPoll = (0, index_1.parsePoll)(parsedStatement.content);
259
- const pollTitle = parsedPoll.poll;
260
- expect(pollTitle).toBe('Should the UK join the EU');
261
- expect(parsedPoll.options[0]).toBe('Yes');
262
- expect(parsedPoll.options[1]).toBe('No');
263
- expect(parsedPoll.deadline?.toUTCString()).toBe('Thu, 01 Dec 2022 13:38:26 GMT');
264
- expect(parsedPoll.scopeDescription).toBe('All universities with a ROR ID');
265
- expect(parsedPoll.legalEntity).toBe('corporation');
266
- expect(parsedPoll.requiredProperty).toBe('ROR ID');
267
- expect(parsedPoll.requiredPropertyObserver).toBe('Rix Data NL B.V.@rixdata.net');
268
- expect(parsedPoll.scopeQueryLink).toBe('https://stated.rixdata.net/?search_query=%09Observed%20property:%20ROR%20ID%0A%09&domain=rixdata.net&author=Rix%20Data%20NL%20B.V.');
269
- });
270
- test('poll build & parse function compatibility: input=parse(build(input))', () => {
271
- const [country, city, legalEntity, judges, poll, scopeDescription] = Array.from({ length: 6 }, randomUnicodeString);
272
- const options = Array.from({ length: 2 }, randomUnicodeString);
273
- const domainScope = ['rixdata.net'];
274
- const deadline = new Date('Thu, 01 Dec 2022 13:38:26 GMT');
275
- const pollContent = (0, index_1.buildPollContent)({
276
- country,
277
- city,
278
- legalEntity,
279
- domainScope,
280
- judges,
281
- deadline,
282
- poll,
283
- options,
284
- scopeDescription,
285
- });
286
- const parsedPoll = (0, index_1.parsePoll)(pollContent);
287
- expect(parsedPoll.poll).toBe(poll);
288
- expect(parsedPoll.country).toBe(country);
289
- expect(parsedPoll.legalEntity).toBe(legalEntity);
290
- expect(parsedPoll.judges).toBe(judges);
291
- expect(parsedPoll.deadline?.toUTCString()).toBe(deadline.toUTCString());
292
- expect(parsedPoll.options[0]).toEqual(options[0]);
293
- expect(parsedPoll.options[1]).toEqual(options[1]);
294
- });
295
- //# sourceMappingURL=index.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.test.js","sourceRoot":"","sources":["../src/index.test.ts"],"names":[],"mappings":"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"}
package/dist/v3.d.ts DELETED
@@ -1,5 +0,0 @@
1
- import { Poll } from './types';
2
- export declare const parsePollV3: (s: string, version?: string) => Poll & {
3
- pollType: string;
4
- };
5
- //# sourceMappingURL=v3.d.ts.map
package/dist/v3.d.ts.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"v3.d.ts","sourceRoot":"","sources":["../src/v3.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAE9B,eAAO,MAAM,WAAW,GAAI,GAAG,MAAM,EAAE,UAAU,MAAM,KAAG,IAAI,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAA;CA0DlF,CAAA"}
package/dist/v3.js DELETED
@@ -1,64 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.parsePollV3 = void 0;
4
- const constants_1 = require("./constants");
5
- const parsePollV3 = (s, version) => {
6
- const pollRegex = new RegExp(''
7
- + /^\n\tType: Poll\n/.source
8
- + /(?:\tPoll type: (?<pollType>[^\n]+?)\n)?/.source
9
- + /(?:\tWho can vote: (?<scopeDescription>[^\n]+?)\n)?/.source
10
- + /(?:\tLink to query defining who can vote: (?<scopeQueryLink>[^\n]+?)\n)?/.source
11
- + /(?:\tCountry scope: (?<country>[^\n]+?)\n)?/.source
12
- + /(?:\tCity scope: (?<city>[^\n]+?)\n)?/.source
13
- + /(?:\tLegal form scope: (?<legalEntity>[^\n]+?)\n)?/.source
14
- + /(?:\tDomain scope: (?<domainScope>[^\n]+?)\n)?/.source
15
- + /(?:\tThe decision is finalized when the following nodes agree: (?<judges>[^\n]+?)\n)?/.source
16
- + /(?:\tVoting deadline: (?<deadline>[^\n]+?)\n)?/.source
17
- + /\tPoll: (?<poll>[^\n]+?)\n/.source
18
- + /(?:\tOption 1: (?<option1>[^\n]+?)\n)?/.source
19
- + /(?:\tOption 2: (?<option2>[^\n]+?)\n)?/.source
20
- + /(?:\tOption 3: (?<option3>[^\n]+?)\n)?/.source
21
- + /(?:\tOption 4: (?<option4>[^\n]+?)\n)?/.source
22
- + /(?:\tOption 5: (?<option5>[^\n]+?)\n)?/.source
23
- + /$/.source);
24
- const match = s.match(pollRegex);
25
- if (!match)
26
- throw new Error("Invalid poll format: " + s);
27
- const m = {
28
- pollType: match[1],
29
- scopeDescription: match[2],
30
- scopeQueryLink: match[3],
31
- country: match[4],
32
- city: match[5],
33
- legalEntity: match[6],
34
- domainScope: match[7],
35
- judges: match[8],
36
- deadline: match[9],
37
- poll: match[10],
38
- option1: match[11],
39
- option2: match[12],
40
- option3: match[13],
41
- option4: match[14],
42
- option5: match[15]
43
- };
44
- const options = [m.option1, m.option2, m.option3, m.option4, m.option5].filter(o => o);
45
- const domainScope = m.domainScope?.split(', ');
46
- const deadlineStr = m.deadline;
47
- if (!deadlineStr.match(constants_1.UTCFormat))
48
- throw new Error("Invalid poll, deadline must be in UTC: " + deadlineStr);
49
- return {
50
- pollType: m['pollType'],
51
- country: m['country'],
52
- scopeDescription: m['scopeDescription'],
53
- scopeQueryLink: m['scopeQueryLink'],
54
- city: m['city'],
55
- legalEntity: m['legalEntity'],
56
- domainScope: (domainScope && domainScope.length > 0) ? domainScope : undefined,
57
- judges: m['judges'],
58
- deadline: new Date(deadlineStr),
59
- poll: m['poll'],
60
- options
61
- };
62
- };
63
- exports.parsePollV3 = parsePollV3;
64
- //# sourceMappingURL=v3.js.map
package/dist/v3.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"v3.js","sourceRoot":"","sources":["../src/v3.ts"],"names":[],"mappings":"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"}
@@ -1,65 +0,0 @@
1
- /**
2
- * Browser-compatible hash utilities using Web Crypto API
3
- * Async operations for client-side use
4
- */
5
-
6
- /**
7
- * Compute SHA-256 hash of a string and return it as URL-safe base64
8
- * Works in both browser and Node.js environments
9
- * @param input - The string or buffer to hash
10
- * @returns URL-safe base64 encoded hash
11
- */
12
- export const sha256 = async (input: string | Uint8Array): Promise<string> => {
13
- let data: Uint8Array;
14
-
15
- if (typeof input === 'string') {
16
- const encoder = new TextEncoder();
17
- data = encoder.encode(input);
18
- } else {
19
- data = input;
20
- }
21
-
22
- // Use Web Crypto API (available in both modern browsers and Node.js 15+)
23
- const hashBuffer = await crypto.subtle.digest('SHA-256', data);
24
- const hashArray = Array.from(new Uint8Array(hashBuffer));
25
-
26
- // Convert to base64
27
- const base64 = btoa(String.fromCharCode(...hashArray));
28
-
29
- // Make URL-safe: remove padding and replace + with - and / with _
30
- const urlSafe = base64.replace(/=/g, '').replace(/\+/g, '-').replace(/\//g, '_');
31
-
32
- return urlSafe;
33
- }
34
-
35
- /**
36
- * Verify that content matches a given hash
37
- * @param content - The content to verify
38
- * @param hash - The expected hash
39
- * @returns True if the hash matches
40
- */
41
- export const verify = async (content: string | Uint8Array, hash: string): Promise<boolean> => {
42
- const computed = await sha256(content);
43
- return computed === hash;
44
- }
45
-
46
- /**
47
- * Convert URL-safe base64 back to standard base64
48
- * @param urlSafe - URL-safe base64 string
49
- * @returns Standard base64 string with padding
50
- */
51
- export const fromUrlSafeBase64 = (urlSafe: string): string => {
52
- const base64 = urlSafe.replace(/-/g, '+').replace(/_/g, '/');
53
- // Add padding if needed
54
- const padding = '='.repeat((4 - (base64.length % 4)) % 4);
55
- return base64 + padding;
56
- }
57
-
58
- /**
59
- * Convert standard base64 to URL-safe base64
60
- * @param base64 - Standard base64 string
61
- * @returns URL-safe base64 string without padding
62
- */
63
- export const toUrlSafeBase64 = (base64: string): string => {
64
- return base64.replace(/=/g, '').replace(/\+/g, '-').replace(/\//g, '_');
65
- }
package/src/hash.node.ts DELETED
@@ -1,47 +0,0 @@
1
- /**
2
- * Node.js-specific hash utilities using native crypto module
3
- * Synchronous operations for server-side use
4
- */
5
-
6
- import crypto from 'crypto'
7
-
8
- /**
9
- * Compute SHA-256 hash and return as URL-safe base64 (Node.js)
10
- * @param input - String or buffer to hash
11
- * @returns URL-safe base64 encoded hash
12
- */
13
- export const sha256 = (input: crypto.BinaryLike): string => {
14
- const base64 = crypto.createHash('sha256').update(input).digest('base64')
15
- const urlSafe = base64.replace(/=/g, '').replace(/\+/g, '-').replace(/\//g, '_')
16
- return urlSafe
17
- }
18
-
19
- /**
20
- * Verify that content matches a given hash
21
- * @param content - Content to verify
22
- * @param hash - Expected hash
23
- * @returns True if hash matches
24
- */
25
- export const verify = (content: crypto.BinaryLike, hash: string): boolean => {
26
- return hash === sha256(content)
27
- }
28
-
29
- /**
30
- * Convert URL-safe base64 back to standard base64
31
- * @param urlSafe - URL-safe base64 string
32
- * @returns Standard base64 string with padding
33
- */
34
- export const fromUrlSafeBase64 = (urlSafe: string): string => {
35
- const base64 = urlSafe.replace(/-/g, '+').replace(/_/g, '/');
36
- const padding = '='.repeat((4 - (base64.length % 4)) % 4);
37
- return base64 + padding;
38
- }
39
-
40
- /**
41
- * Convert standard base64 to URL-safe base64
42
- * @param base64 - Standard base64 string
43
- * @returns URL-safe base64 string without padding
44
- */
45
- export const toUrlSafeBase64 = (base64: string): string => {
46
- return base64.replace(/=/g, '').replace(/\+/g, '-').replace(/\//g, '_');
47
- }