@wener/common 1.0.2 → 1.0.4

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 (120) hide show
  1. package/lib/cn/DivisionCode.js +311 -0
  2. package/lib/cn/DivisionCode.js.map +1 -0
  3. package/lib/cn/Mod11Checksum.js +42 -0
  4. package/lib/cn/Mod11Checksum.js.map +1 -0
  5. package/lib/cn/Mod31Checksum.js +48 -0
  6. package/lib/cn/Mod31Checksum.js.map +1 -0
  7. package/lib/cn/ResidentIdentityCardNumber.js +50 -0
  8. package/lib/cn/ResidentIdentityCardNumber.js.map +1 -0
  9. package/lib/cn/UnifiedSocialCreditCode.js +118 -0
  10. package/lib/cn/UnifiedSocialCreditCode.js.map +1 -0
  11. package/lib/cn/formatDate.js +15 -0
  12. package/lib/cn/formatDate.js.map +1 -0
  13. package/lib/cn/index.js +4 -0
  14. package/lib/cn/index.js.map +1 -0
  15. package/lib/cn/parseSex.js +22 -0
  16. package/lib/cn/parseSex.js.map +1 -0
  17. package/lib/cn/types.d.js +8 -0
  18. package/lib/cn/types.d.js.map +1 -0
  19. package/lib/data/formatSort.js +15 -0
  20. package/lib/data/formatSort.js.map +1 -0
  21. package/lib/data/index.js +4 -0
  22. package/lib/data/index.js.map +1 -0
  23. package/lib/data/maybeNumber.js +22 -0
  24. package/lib/data/maybeNumber.js.map +1 -0
  25. package/lib/data/parseSort.js +95 -0
  26. package/lib/data/parseSort.js.map +1 -0
  27. package/lib/data/resolvePagination.js +36 -0
  28. package/lib/data/resolvePagination.js.map +1 -0
  29. package/lib/data/types.d.js +3 -0
  30. package/lib/data/types.d.js.map +1 -0
  31. package/lib/index.js +6 -2
  32. package/lib/index.js.map +1 -1
  33. package/lib/jsonschema/JsonSchema.js +4 -4
  34. package/lib/jsonschema/JsonSchema.js.map +1 -1
  35. package/lib/jsonschema/types.d.js.map +1 -1
  36. package/lib/meta/defineFileType.js +44 -0
  37. package/lib/meta/defineFileType.js.map +1 -0
  38. package/lib/meta/defineInit.js.map +1 -1
  39. package/lib/meta/defineMetadata.js +14 -3
  40. package/lib/meta/defineMetadata.js.map +1 -1
  41. package/lib/meta/index.js +1 -0
  42. package/lib/meta/index.js.map +1 -1
  43. package/lib/password/PHC.js +8 -8
  44. package/lib/password/PHC.js.map +1 -1
  45. package/lib/password/Password.js.map +1 -1
  46. package/lib/password/createArgon2PasswordAlgorithm.js.map +1 -1
  47. package/lib/password/createBase64PasswordAlgorithm.js.map +1 -1
  48. package/lib/password/createBcryptPasswordAlgorithm.js.map +1 -1
  49. package/lib/password/createPBKDF2PasswordAlgorithm.js.map +1 -1
  50. package/lib/password/createScryptPasswordAlgorithm.js.map +1 -1
  51. package/lib/search/AdvanceSearch.js.map +1 -1
  52. package/lib/search/formatAdvanceSearch.js +1 -1
  53. package/lib/search/formatAdvanceSearch.js.map +1 -1
  54. package/lib/search/optimizeAdvanceSearch.js.map +1 -1
  55. package/lib/search/parseAdvanceSearch.js.map +1 -1
  56. package/lib/search/parser.d.js.map +1 -1
  57. package/lib/search/parser.js +380 -76
  58. package/lib/search/parser.js.map +1 -1
  59. package/lib/search/types.d.js.map +1 -1
  60. package/lib/tools/renderJsonSchemaToMarkdownDoc.js.map +1 -1
  61. package/package.json +14 -5
  62. package/src/cn/DivisionCode.test.ts +43 -0
  63. package/src/cn/DivisionCode.ts +209 -0
  64. package/src/cn/Mod11Checksum.ts +24 -0
  65. package/src/cn/Mod31Checksum.ts +36 -0
  66. package/src/cn/ResidentIdentityCardNumber.test.ts +17 -0
  67. package/src/cn/ResidentIdentityCardNumber.ts +96 -0
  68. package/src/cn/UnifiedSocialCreditCode.test.ts +16 -0
  69. package/src/cn/UnifiedSocialCreditCode.ts +143 -0
  70. package/src/cn/__snapshots__/ResidentIdentityCardNumber.test.ts.snap +15 -0
  71. package/src/cn/__snapshots__/UnifiedSocialCreditCode.test.ts.snap +41 -0
  72. package/src/cn/formatDate.ts +12 -0
  73. package/src/cn/index.ts +3 -0
  74. package/src/cn/parseSex.ts +13 -0
  75. package/src/cn/types.d.ts +51 -0
  76. package/src/data/formatSort.test.ts +13 -0
  77. package/src/data/formatSort.ts +18 -0
  78. package/src/data/index.ts +5 -0
  79. package/src/data/maybeNumber.ts +23 -0
  80. package/src/data/parseSort.test.ts +67 -0
  81. package/src/data/parseSort.ts +108 -0
  82. package/src/data/resolvePagination.test.ts +58 -0
  83. package/src/data/resolvePagination.ts +60 -0
  84. package/src/data/types.d.ts +33 -0
  85. package/src/index.ts +8 -2
  86. package/src/jsonschema/JsonSchema.test.ts +13 -22
  87. package/src/jsonschema/JsonSchema.ts +145 -177
  88. package/src/jsonschema/types.d.ts +151 -161
  89. package/src/meta/defineFileType.tsx +68 -0
  90. package/src/meta/defineInit.ts +32 -53
  91. package/src/meta/defineMetadata.test.ts +5 -7
  92. package/src/meta/defineMetadata.ts +35 -40
  93. package/src/meta/index.ts +2 -0
  94. package/src/password/PHC.test.ts +186 -277
  95. package/src/password/PHC.ts +243 -243
  96. package/src/password/Password.test.ts +38 -50
  97. package/src/password/Password.ts +73 -95
  98. package/src/password/createArgon2PasswordAlgorithm.ts +65 -69
  99. package/src/password/createBase64PasswordAlgorithm.ts +9 -9
  100. package/src/password/createBcryptPasswordAlgorithm.ts +20 -22
  101. package/src/password/createPBKDF2PasswordAlgorithm.ts +49 -61
  102. package/src/password/createScryptPasswordAlgorithm.ts +48 -59
  103. package/src/search/AdvanceSearch.test.ts +136 -143
  104. package/src/search/AdvanceSearch.ts +6 -6
  105. package/src/search/__snapshots__/AdvanceSearch.test.ts.snap +3 -3
  106. package/src/search/formatAdvanceSearch.ts +44 -53
  107. package/src/search/optimizeAdvanceSearch.ts +70 -83
  108. package/src/search/parseAdvanceSearch.ts +16 -19
  109. package/src/search/parser.d.ts +3 -3
  110. package/src/search/parser.js +325 -73
  111. package/src/search/parser.peggy +42 -9
  112. package/src/search/types.d.ts +28 -54
  113. package/src/tools/renderJsonSchemaToMarkdownDoc.ts +69 -69
  114. package/lib/normalizePagination.js +0 -14
  115. package/lib/normalizePagination.js.map +0 -1
  116. package/lib/parseSort.js +0 -91
  117. package/lib/parseSort.js.map +0 -1
  118. package/src/normalizePagination.ts +0 -25
  119. package/src/parseSort.test.ts +0 -42
  120. package/src/parseSort.ts +0 -115
@@ -5,313 +5,222 @@ import { PHC } from './PHC';
5
5
  const { deserialize, serialize } = PHC;
6
6
 
7
7
  describe('deserialize', () => {
8
- it('should deserialize correct phc strings', () => {
9
- sdData.serialized.forEach((serialized: string, i: number) => {
10
- expect(deserialize(serialized), `Failed to deserialize ${serialized}`).toEqual(sdData.deserialized[i]);
11
- });
12
- });
8
+ it('should deserialize correct phc strings', () => {
9
+ sdData.serialized.forEach((serialized: string, i: number) => {
10
+ expect(deserialize(serialized), `Failed to deserialize ${serialized}`).toEqual(sdData.deserialized[i]);
11
+ });
12
+ });
13
13
 
14
- it('should throw errors if trying to deserialize an invalid phc string', async () => {
15
- expect(() => deserialize(null as any)).toThrow('pchstr must be a non-empty string');
14
+ it('should throw errors if trying to deserialize an invalid phc string', async () => {
15
+ expect(() => deserialize(null as any)).toThrow('pchstr must be a non-empty string');
16
16
 
17
- expect(() => deserialize('a$invalid')).toThrow('pchstr must contain a $ as first char');
17
+ expect(() => deserialize('a$invalid')).toThrow('pchstr must contain a $ as first char');
18
18
 
19
- expect(() => deserialize('$b$c$d$e$f')).toThrow('pchstr contains too many fileds: 5/4');
19
+ expect(() => deserialize('$b$c$d$e$f')).toThrow('pchstr contains too many fileds: 5/4');
20
20
 
21
- expect(() => deserialize('invalid')).toThrow('pchstr must contain a $ as first char');
21
+ expect(() => deserialize('invalid')).toThrow('pchstr must contain a $ as first char');
22
22
 
23
- expect(() => deserialize('$i_n_v_a_l_i_d')).toThrowError(/id must satisfy/);
23
+ expect(() => deserialize('$i_n_v_a_l_i_d')).toThrowError(/id must satisfy/);
24
24
 
25
- expect(() => deserialize('$pbkdf2$rounds_=1000')).toThrowError(/params names must satisfy/);
25
+ expect(() => deserialize('$pbkdf2$rounds_=1000')).toThrowError(/params names must satisfy/);
26
26
 
27
- expect(() => deserialize('$pbkdf2$rounds=1000@')).toThrowError(/params values must satisfy/);
27
+ expect(() => deserialize('$pbkdf2$rounds=1000@')).toThrowError(/params values must satisfy/);
28
28
 
29
- expect(() => deserialize('$pbkdf2$rounds:1000')).toThrowError(/params must be in the format name=value/);
29
+ expect(() => deserialize('$pbkdf2$rounds:1000')).toThrowError(/params must be in the format name=value/);
30
30
 
31
- expect(() => deserialize('$argon2i$unrecognized$m=120,t=5000,p=2$EkCWX6pSTqWruiR0')).toThrowError(
32
- /pchstr contains unrecognized fileds/,
33
- );
31
+ expect(() => deserialize('$argon2i$unrecognized$m=120,t=5000,p=2$EkCWX6pSTqWruiR0')).toThrowError(
32
+ /pchstr contains unrecognized fileds/,
33
+ );
34
34
 
35
- expect(() => deserialize('$argon2i$unrecognized$v=19$m=120,t=5000,p=2$EkCWX6pSTqWruiR0')).toThrow(
36
- 'pchstr contains too many fileds: 5/4',
37
- );
35
+ expect(() => deserialize('$argon2i$unrecognized$v=19$m=120,t=5000,p=2$EkCWX6pSTqWruiR0')).toThrow(
36
+ 'pchstr contains too many fileds: 5/4',
37
+ );
38
38
 
39
- expect(() => deserialize('$argon2i$v=19$unrecognized$m=120,t=5000,p=2$EkCWX6pSTqWruiR0')).toThrowError(
40
- /pchstr contains unrecognized fileds/,
41
- );
42
- });
39
+ expect(() => deserialize('$argon2i$v=19$unrecognized$m=120,t=5000,p=2$EkCWX6pSTqWruiR0')).toThrowError(
40
+ /pchstr contains unrecognized fileds/,
41
+ );
42
+ });
43
43
  });
44
44
 
45
45
  describe('serialize', () => {
46
- it('should serialize correct phc objects', () => {
47
- sdData.deserialized.forEach((_, i) => {
48
- expect(serialize(sdData.deserialized[i] as any)).toEqual(sdData.serialized[i]);
49
- });
50
- sData.deserialized.forEach((_, i) => {
51
- expect(serialize(sData.deserialized[i])).toEqual(sData.serialized[i]);
52
- });
53
- });
46
+ it('should serialize correct phc objects', () => {
47
+ sdData.deserialized.forEach((_, i) => {
48
+ expect(serialize(sdData.deserialized[i] as any)).toEqual(sdData.serialized[i]);
49
+ });
50
+ sData.deserialized.forEach((_, i) => {
51
+ expect(serialize(sData.deserialized[i])).toEqual(sData.serialized[i]);
52
+ });
53
+ });
54
54
 
55
- it('should throw errors if trying to serialize with invalid arguments', async () => {
56
- expect(() => serialize(null as any)).toThrow('opts must be an object');
55
+ it('should throw errors if trying to serialize with invalid arguments', async () => {
56
+ expect(() => serialize(null as any)).toThrow('opts must be an object');
57
57
 
58
- expect(() => serialize({} as any)).toThrow('id must be a string');
58
+ expect(() => serialize({} as any)).toThrow('id must be a string');
59
59
 
60
- expect(() => serialize({ id: 'i_n_v_a_l_i_d' } as any)).toThrowError(/id must satisfy/);
60
+ expect(() => serialize({ id: 'i_n_v_a_l_i_d' } as any)).toThrowError(/id must satisfy/);
61
61
 
62
- expect(() => serialize({ id: 'pbkdf2', params: null } as any)).toThrow('params must be an object');
62
+ expect(() => serialize({ id: 'pbkdf2', params: null } as any)).toThrow('params must be an object');
63
63
 
64
- expect(() =>
65
- serialize({
66
- id: 'pbkdf2',
67
- params: { i: {} },
68
- } as any),
69
- ).toThrow('params values must be strings');
64
+ expect(() => serialize({ id: 'pbkdf2', params: { i: {} } } as any)).toThrow('params values must be strings');
70
65
 
71
- expect(() => serialize({ id: 'pbkdf2', params: { rounds_: '1000' } } as any)).toThrowError(
72
- /params names must satisfy/,
73
- );
66
+ expect(() => serialize({ id: 'pbkdf2', params: { rounds_: '1000' } } as any)).toThrowError(
67
+ /params names must satisfy/,
68
+ );
74
69
 
75
- expect(() => serialize({ id: 'pbkdf2', params: { rounds: '1000@' } } as any)).toThrowError(
76
- /params values must satisfy/,
77
- );
70
+ expect(() => serialize({ id: 'pbkdf2', params: { rounds: '1000@' } } as any)).toThrowError(
71
+ /params values must satisfy/,
72
+ );
78
73
 
79
- expect(() => serialize({ id: 'pbkdf2', params: { rounds: '1000' }, salt: 'string' } as any)).toThrow(
80
- 'salt must be a Buffer',
81
- );
74
+ expect(() => serialize({ id: 'pbkdf2', params: { rounds: '1000' }, salt: 'string' } as any)).toThrow(
75
+ 'salt must be a Buffer',
76
+ );
82
77
 
83
- expect(() =>
84
- serialize({
85
- id: 'argon2id',
86
- version: -10,
87
- } as any),
88
- ).toThrow('version must be a positive integer number');
78
+ expect(() => serialize({ id: 'argon2id', version: -10 } as any)).toThrow(
79
+ 'version must be a positive integer number',
80
+ );
89
81
 
90
- expect(() =>
91
- serialize({
92
- id: 'pbkdf2',
93
- params: { rounds: '1000' },
94
- salt: bufferFrom('string'),
95
- hash: 'string',
96
- } as any),
97
- ).toThrow('hash must be a Buffer');
98
- });
82
+ expect(() =>
83
+ serialize({ id: 'pbkdf2', params: { rounds: '1000' }, salt: bufferFrom('string'), hash: 'string' } as any),
84
+ ).toThrow('hash must be a Buffer');
85
+ });
99
86
  });
100
87
 
101
88
  const bufferFrom = (a: string, b?: any): Uint8Array => {
102
- return ArrayBuffers.from(a, b, Uint8Array);
89
+ return ArrayBuffers.from(a, b, Uint8Array);
103
90
  };
104
91
 
105
92
  const sdData = {
106
- serialized: [
107
- '$argon2i$m=120,t=5000,p=2',
108
- '$argon2i$m=120,t=4294967295,p=2',
109
- '$argon2i$m=2040,t=5000,p=255',
110
- '$argon2i$m=120,t=5000,p=2,keyid=Hj5+dsK0',
111
- '$argon2i$m=120,t=5000,p=2,keyid=Hj5+dsK0ZQ',
112
- '$argon2i$m=120,t=5000,p=2,keyid=Hj5+dsK0ZQA',
113
- '$argon2i$m=120,t=5000,p=2,data=sRlHhRmKUGzdOmXn01XmXygd5Kc',
114
- '$argon2i$m=120,t=5000,p=2,keyid=Hj5+dsK0,data=sRlHhRmKUGzdOmXn01XmXygd5Kc',
115
-
116
- '$argon2i$m=120,t=5000,p=2$/LtFjH5rVL8',
117
- '$argon2i$m=120,t=5000,p=2$4fXXG0spB92WPB1NitT8/OH0VKI',
118
- '$argon2i$m=120,t=5000,p=2$BwUgJHHQaynE+a4nZrYRzOllGSjjxuxNXxyNRUtI6Dlw/zlbt6PzOL8Onfqs6TcG',
119
- '$argon2i$m=120,t=5000,p=2,keyid=Hj5+dsK0$4fXXG0spB92WPB1NitT8/OH0VKI',
120
- '$argon2i$m=120,t=5000,p=2,data=sRlHhRmKUGzdOmXn01XmXygd5Kc$4fXXG0spB92WPB1NitT8/OH0VKI',
121
- '$argon2i$m=120,t=5000,p=2,keyid=Hj5+dsK0,data=sRlHhRmKUGzdOmXn01XmXygd5Kc$4fXXG0spB92WPB1NitT8/OH0VKI',
122
-
123
- '$argon2i$m=120,t=5000,p=2$4fXXG0spB92WPB1NitT8/OH0VKI$iPBVuORECm5biUsjq33hn9/7BKqy9aPWKhFfK2haEsM',
124
- '$argon2i$m=120,t=5000,p=2,keyid=Hj5+dsK0$4fXXG0spB92WPB1NitT8/OH0VKI$iPBVuORECm5biUsjq33hn9/7BKqy9aPWKhFfK2haEsM',
125
- '$argon2i$m=120,t=5000,p=2,data=sRlHhRmKUGzdOmXn01XmXygd5Kc$4fXXG0spB92WPB1NitT8/OH0VKI$iPBVuORECm5biUsjq33hn9/7BKqy9aPWKhFfK2haEsM',
126
- '$argon2i$m=120,t=5000,p=2,keyid=Hj5+dsK0,data=sRlHhRmKUGzdOmXn01XmXygd5Kc$4fXXG0spB92WPB1NitT8/OH0VKI$iPBVuORECm5biUsjq33hn9/7BKqy9aPWKhFfK2haEsM',
127
- '$argon2i$m=120,t=5000,p=2,keyid=Hj5+dsK0,data=sRlHhRmKUGzdOmXn01XmXygd5Kc$iHSDPHzUhPzK7rCcJgOFfg$EkCWX6pSTqWruiR0',
128
- '$argon2i$m=120,t=5000,p=2,keyid=Hj5+dsK0,data=sRlHhRmKUGzdOmXn01XmXygd5Kc$iHSDPHzUhPzK7rCcJgOFfg$J4moa2MM0/6uf3HbY2Tf5Fux8JIBTwIhmhxGRbsY14qhTltQt+Vw3b7tcJNEbk8ium8AQfZeD4tabCnNqfkD1g',
129
- '$scrypt$ln=1,r=16,p=1$$d9ZXYjhleyA7GcpCwYoEl/FrSETjB0ro39/6P+3iFEL80Aad7QlI+DJqdToPyB8X6NPg+y4NNijPNeIMONGJBg',
130
- '$argon2i$v=19$m=120,t=5000,p=2,keyid=Hj5+dsK0,data=sRlHhRmKUGzdOmXn01XmXygd5Kc$iHSDPHzUhPzK7rCcJgOFfg$J4moa2MM0/6uf3HbY2Tf5Fux8JIBTwIhmhxGRbsY14qhTltQt+Vw3b7tcJNEbk8ium8AQfZeD4tabCnNqfkD1g',
131
- ],
132
- deserialized: [
133
- {
134
- id: 'argon2i',
135
- params: { m: 120, t: 5000, p: 2 },
136
- },
137
- {
138
- id: 'argon2i',
139
- params: { m: 120, t: 4294967295, p: 2 },
140
- },
141
- {
142
- id: 'argon2i',
143
- params: { m: 2040, t: 5000, p: 255 },
144
- },
145
- {
146
- id: 'argon2i',
147
- params: { m: 120, t: 5000, p: 2, keyid: 'Hj5+dsK0' },
148
- },
149
- {
150
- id: 'argon2i',
151
- params: { m: 120, t: 5000, p: 2, keyid: 'Hj5+dsK0ZQ' },
152
- },
153
- {
154
- id: 'argon2i',
155
- params: { m: 120, t: 5000, p: 2, keyid: 'Hj5+dsK0ZQA' },
156
- },
157
- {
158
- id: 'argon2i',
159
- params: { m: 120, t: 5000, p: 2, data: 'sRlHhRmKUGzdOmXn01XmXygd5Kc' },
160
- },
161
- {
162
- id: 'argon2i',
163
- params: {
164
- m: 120,
165
- t: 5000,
166
- p: 2,
167
- keyid: 'Hj5+dsK0',
168
- data: 'sRlHhRmKUGzdOmXn01XmXygd5Kc',
169
- },
170
- },
171
- {
172
- id: 'argon2i',
173
- params: { m: 120, t: 5000, p: 2 },
174
- salt: bufferFrom('/LtFjH5rVL8', 'base64'),
175
- },
176
- {
177
- id: 'argon2i',
178
- params: { m: 120, t: 5000, p: 2 },
179
- salt: bufferFrom('4fXXG0spB92WPB1NitT8/OH0VKI', 'base64'),
180
- },
181
- {
182
- id: 'argon2i',
183
- params: { m: 120, t: 5000, p: 2 },
184
- salt: bufferFrom('BwUgJHHQaynE+a4nZrYRzOllGSjjxuxNXxyNRUtI6Dlw/zlbt6PzOL8Onfqs6TcG', 'base64'),
185
- },
186
- {
187
- id: 'argon2i',
188
- params: { m: 120, t: 5000, p: 2, keyid: 'Hj5+dsK0' },
189
- salt: bufferFrom('4fXXG0spB92WPB1NitT8/OH0VKI', 'base64'),
190
- },
191
- {
192
- id: 'argon2i',
193
- params: { m: 120, t: 5000, p: 2, data: 'sRlHhRmKUGzdOmXn01XmXygd5Kc' },
194
- salt: bufferFrom('4fXXG0spB92WPB1NitT8/OH0VKI', 'base64'),
195
- },
196
- {
197
- id: 'argon2i',
198
- params: {
199
- m: 120,
200
- t: 5000,
201
- p: 2,
202
- keyid: 'Hj5+dsK0',
203
- data: 'sRlHhRmKUGzdOmXn01XmXygd5Kc',
204
- },
205
- salt: bufferFrom('4fXXG0spB92WPB1NitT8/OH0VKI', 'base64'),
206
- },
207
- {
208
- id: 'argon2i',
209
- params: { m: 120, t: 5000, p: 2 },
210
- salt: bufferFrom('4fXXG0spB92WPB1NitT8/OH0VKI', 'base64'),
211
- hash: bufferFrom('iPBVuORECm5biUsjq33hn9/7BKqy9aPWKhFfK2haEsM', 'base64'),
212
- },
213
- {
214
- id: 'argon2i',
215
- params: { m: 120, t: 5000, p: 2, keyid: 'Hj5+dsK0' },
216
- salt: bufferFrom('4fXXG0spB92WPB1NitT8/OH0VKI', 'base64'),
217
- hash: bufferFrom('iPBVuORECm5biUsjq33hn9/7BKqy9aPWKhFfK2haEsM', 'base64'),
218
- },
219
- {
220
- id: 'argon2i',
221
- params: { m: 120, t: 5000, p: 2, data: 'sRlHhRmKUGzdOmXn01XmXygd5Kc' },
222
- salt: bufferFrom('4fXXG0spB92WPB1NitT8/OH0VKI', 'base64'),
223
- hash: bufferFrom('iPBVuORECm5biUsjq33hn9/7BKqy9aPWKhFfK2haEsM', 'base64'),
224
- },
225
- {
226
- id: 'argon2i',
227
- params: {
228
- m: 120,
229
- t: 5000,
230
- p: 2,
231
- keyid: 'Hj5+dsK0',
232
- data: 'sRlHhRmKUGzdOmXn01XmXygd5Kc',
233
- },
234
- salt: bufferFrom('4fXXG0spB92WPB1NitT8/OH0VKI', 'base64'),
235
- hash: bufferFrom('iPBVuORECm5biUsjq33hn9/7BKqy9aPWKhFfK2haEsM', 'base64'),
236
- },
237
- {
238
- id: 'argon2i',
239
- params: {
240
- m: 120,
241
- t: 5000,
242
- p: 2,
243
- keyid: 'Hj5+dsK0',
244
- data: 'sRlHhRmKUGzdOmXn01XmXygd5Kc',
245
- },
246
- salt: bufferFrom('iHSDPHzUhPzK7rCcJgOFfg', 'base64'),
247
- hash: bufferFrom('EkCWX6pSTqWruiR0', 'base64'),
248
- },
249
- {
250
- id: 'argon2i',
251
- params: {
252
- m: 120,
253
- t: 5000,
254
- p: 2,
255
- keyid: 'Hj5+dsK0',
256
- data: 'sRlHhRmKUGzdOmXn01XmXygd5Kc',
257
- },
258
- salt: bufferFrom('iHSDPHzUhPzK7rCcJgOFfg', 'base64'),
259
- hash: bufferFrom(
260
- 'J4moa2MM0/6uf3HbY2Tf5Fux8JIBTwIhmhxGRbsY14qhTltQt+Vw3b7tcJNEbk8ium8AQfZeD4tabCnNqfkD1g',
261
- 'base64',
262
- ),
263
- },
264
- {
265
- id: 'scrypt',
266
- params: {
267
- ln: 1,
268
- r: 16,
269
- p: 1,
270
- },
271
- salt: bufferFrom('', 'hex'),
272
- hash: bufferFrom(
273
- 'd9ZXYjhleyA7GcpCwYoEl/FrSETjB0ro39/6P+3iFEL80Aad7QlI+DJqdToPyB8X6NPg+y4NNijPNeIMONGJBg',
274
- 'base64',
275
- ),
276
- },
277
- {
278
- id: 'argon2i',
279
- version: 19,
280
- params: {
281
- m: 120,
282
- t: 5000,
283
- p: 2,
284
- keyid: 'Hj5+dsK0',
285
- data: 'sRlHhRmKUGzdOmXn01XmXygd5Kc',
286
- },
287
- salt: bufferFrom('iHSDPHzUhPzK7rCcJgOFfg', 'base64'),
288
- hash: bufferFrom(
289
- 'J4moa2MM0/6uf3HbY2Tf5Fux8JIBTwIhmhxGRbsY14qhTltQt+Vw3b7tcJNEbk8ium8AQfZeD4tabCnNqfkD1g',
290
- 'base64',
291
- ),
292
- },
293
- ],
93
+ serialized: [
94
+ '$argon2i$m=120,t=5000,p=2',
95
+ '$argon2i$m=120,t=4294967295,p=2',
96
+ '$argon2i$m=2040,t=5000,p=255',
97
+ '$argon2i$m=120,t=5000,p=2,keyid=Hj5+dsK0',
98
+ '$argon2i$m=120,t=5000,p=2,keyid=Hj5+dsK0ZQ',
99
+ '$argon2i$m=120,t=5000,p=2,keyid=Hj5+dsK0ZQA',
100
+ '$argon2i$m=120,t=5000,p=2,data=sRlHhRmKUGzdOmXn01XmXygd5Kc',
101
+ '$argon2i$m=120,t=5000,p=2,keyid=Hj5+dsK0,data=sRlHhRmKUGzdOmXn01XmXygd5Kc',
102
+
103
+ '$argon2i$m=120,t=5000,p=2$/LtFjH5rVL8',
104
+ '$argon2i$m=120,t=5000,p=2$4fXXG0spB92WPB1NitT8/OH0VKI',
105
+ '$argon2i$m=120,t=5000,p=2$BwUgJHHQaynE+a4nZrYRzOllGSjjxuxNXxyNRUtI6Dlw/zlbt6PzOL8Onfqs6TcG',
106
+ '$argon2i$m=120,t=5000,p=2,keyid=Hj5+dsK0$4fXXG0spB92WPB1NitT8/OH0VKI',
107
+ '$argon2i$m=120,t=5000,p=2,data=sRlHhRmKUGzdOmXn01XmXygd5Kc$4fXXG0spB92WPB1NitT8/OH0VKI',
108
+ '$argon2i$m=120,t=5000,p=2,keyid=Hj5+dsK0,data=sRlHhRmKUGzdOmXn01XmXygd5Kc$4fXXG0spB92WPB1NitT8/OH0VKI',
109
+
110
+ '$argon2i$m=120,t=5000,p=2$4fXXG0spB92WPB1NitT8/OH0VKI$iPBVuORECm5biUsjq33hn9/7BKqy9aPWKhFfK2haEsM',
111
+ '$argon2i$m=120,t=5000,p=2,keyid=Hj5+dsK0$4fXXG0spB92WPB1NitT8/OH0VKI$iPBVuORECm5biUsjq33hn9/7BKqy9aPWKhFfK2haEsM',
112
+ '$argon2i$m=120,t=5000,p=2,data=sRlHhRmKUGzdOmXn01XmXygd5Kc$4fXXG0spB92WPB1NitT8/OH0VKI$iPBVuORECm5biUsjq33hn9/7BKqy9aPWKhFfK2haEsM',
113
+ '$argon2i$m=120,t=5000,p=2,keyid=Hj5+dsK0,data=sRlHhRmKUGzdOmXn01XmXygd5Kc$4fXXG0spB92WPB1NitT8/OH0VKI$iPBVuORECm5biUsjq33hn9/7BKqy9aPWKhFfK2haEsM',
114
+ '$argon2i$m=120,t=5000,p=2,keyid=Hj5+dsK0,data=sRlHhRmKUGzdOmXn01XmXygd5Kc$iHSDPHzUhPzK7rCcJgOFfg$EkCWX6pSTqWruiR0',
115
+ '$argon2i$m=120,t=5000,p=2,keyid=Hj5+dsK0,data=sRlHhRmKUGzdOmXn01XmXygd5Kc$iHSDPHzUhPzK7rCcJgOFfg$J4moa2MM0/6uf3HbY2Tf5Fux8JIBTwIhmhxGRbsY14qhTltQt+Vw3b7tcJNEbk8ium8AQfZeD4tabCnNqfkD1g',
116
+ '$scrypt$ln=1,r=16,p=1$$d9ZXYjhleyA7GcpCwYoEl/FrSETjB0ro39/6P+3iFEL80Aad7QlI+DJqdToPyB8X6NPg+y4NNijPNeIMONGJBg',
117
+ '$argon2i$v=19$m=120,t=5000,p=2,keyid=Hj5+dsK0,data=sRlHhRmKUGzdOmXn01XmXygd5Kc$iHSDPHzUhPzK7rCcJgOFfg$J4moa2MM0/6uf3HbY2Tf5Fux8JIBTwIhmhxGRbsY14qhTltQt+Vw3b7tcJNEbk8ium8AQfZeD4tabCnNqfkD1g',
118
+ ],
119
+ deserialized: [
120
+ { id: 'argon2i', params: { m: 120, t: 5000, p: 2 } },
121
+ { id: 'argon2i', params: { m: 120, t: 4294967295, p: 2 } },
122
+ { id: 'argon2i', params: { m: 2040, t: 5000, p: 255 } },
123
+ { id: 'argon2i', params: { m: 120, t: 5000, p: 2, keyid: 'Hj5+dsK0' } },
124
+ { id: 'argon2i', params: { m: 120, t: 5000, p: 2, keyid: 'Hj5+dsK0ZQ' } },
125
+ { id: 'argon2i', params: { m: 120, t: 5000, p: 2, keyid: 'Hj5+dsK0ZQA' } },
126
+ { id: 'argon2i', params: { m: 120, t: 5000, p: 2, data: 'sRlHhRmKUGzdOmXn01XmXygd5Kc' } },
127
+ { id: 'argon2i', params: { m: 120, t: 5000, p: 2, keyid: 'Hj5+dsK0', data: 'sRlHhRmKUGzdOmXn01XmXygd5Kc' } },
128
+ { id: 'argon2i', params: { m: 120, t: 5000, p: 2 }, salt: bufferFrom('/LtFjH5rVL8', 'base64') },
129
+ { id: 'argon2i', params: { m: 120, t: 5000, p: 2 }, salt: bufferFrom('4fXXG0spB92WPB1NitT8/OH0VKI', 'base64') },
130
+ {
131
+ id: 'argon2i',
132
+ params: { m: 120, t: 5000, p: 2 },
133
+ salt: bufferFrom('BwUgJHHQaynE+a4nZrYRzOllGSjjxuxNXxyNRUtI6Dlw/zlbt6PzOL8Onfqs6TcG', 'base64'),
134
+ },
135
+ {
136
+ id: 'argon2i',
137
+ params: { m: 120, t: 5000, p: 2, keyid: 'Hj5+dsK0' },
138
+ salt: bufferFrom('4fXXG0spB92WPB1NitT8/OH0VKI', 'base64'),
139
+ },
140
+ {
141
+ id: 'argon2i',
142
+ params: { m: 120, t: 5000, p: 2, data: 'sRlHhRmKUGzdOmXn01XmXygd5Kc' },
143
+ salt: bufferFrom('4fXXG0spB92WPB1NitT8/OH0VKI', 'base64'),
144
+ },
145
+ {
146
+ id: 'argon2i',
147
+ params: { m: 120, t: 5000, p: 2, keyid: 'Hj5+dsK0', data: 'sRlHhRmKUGzdOmXn01XmXygd5Kc' },
148
+ salt: bufferFrom('4fXXG0spB92WPB1NitT8/OH0VKI', 'base64'),
149
+ },
150
+ {
151
+ id: 'argon2i',
152
+ params: { m: 120, t: 5000, p: 2 },
153
+ salt: bufferFrom('4fXXG0spB92WPB1NitT8/OH0VKI', 'base64'),
154
+ hash: bufferFrom('iPBVuORECm5biUsjq33hn9/7BKqy9aPWKhFfK2haEsM', 'base64'),
155
+ },
156
+ {
157
+ id: 'argon2i',
158
+ params: { m: 120, t: 5000, p: 2, keyid: 'Hj5+dsK0' },
159
+ salt: bufferFrom('4fXXG0spB92WPB1NitT8/OH0VKI', 'base64'),
160
+ hash: bufferFrom('iPBVuORECm5biUsjq33hn9/7BKqy9aPWKhFfK2haEsM', 'base64'),
161
+ },
162
+ {
163
+ id: 'argon2i',
164
+ params: { m: 120, t: 5000, p: 2, data: 'sRlHhRmKUGzdOmXn01XmXygd5Kc' },
165
+ salt: bufferFrom('4fXXG0spB92WPB1NitT8/OH0VKI', 'base64'),
166
+ hash: bufferFrom('iPBVuORECm5biUsjq33hn9/7BKqy9aPWKhFfK2haEsM', 'base64'),
167
+ },
168
+ {
169
+ id: 'argon2i',
170
+ params: { m: 120, t: 5000, p: 2, keyid: 'Hj5+dsK0', data: 'sRlHhRmKUGzdOmXn01XmXygd5Kc' },
171
+ salt: bufferFrom('4fXXG0spB92WPB1NitT8/OH0VKI', 'base64'),
172
+ hash: bufferFrom('iPBVuORECm5biUsjq33hn9/7BKqy9aPWKhFfK2haEsM', 'base64'),
173
+ },
174
+ {
175
+ id: 'argon2i',
176
+ params: { m: 120, t: 5000, p: 2, keyid: 'Hj5+dsK0', data: 'sRlHhRmKUGzdOmXn01XmXygd5Kc' },
177
+ salt: bufferFrom('iHSDPHzUhPzK7rCcJgOFfg', 'base64'),
178
+ hash: bufferFrom('EkCWX6pSTqWruiR0', 'base64'),
179
+ },
180
+ {
181
+ id: 'argon2i',
182
+ params: { m: 120, t: 5000, p: 2, keyid: 'Hj5+dsK0', data: 'sRlHhRmKUGzdOmXn01XmXygd5Kc' },
183
+ salt: bufferFrom('iHSDPHzUhPzK7rCcJgOFfg', 'base64'),
184
+ hash: bufferFrom(
185
+ 'J4moa2MM0/6uf3HbY2Tf5Fux8JIBTwIhmhxGRbsY14qhTltQt+Vw3b7tcJNEbk8ium8AQfZeD4tabCnNqfkD1g',
186
+ 'base64',
187
+ ),
188
+ },
189
+ {
190
+ id: 'scrypt',
191
+ params: { ln: 1, r: 16, p: 1 },
192
+ salt: bufferFrom('', 'hex'),
193
+ hash: bufferFrom(
194
+ 'd9ZXYjhleyA7GcpCwYoEl/FrSETjB0ro39/6P+3iFEL80Aad7QlI+DJqdToPyB8X6NPg+y4NNijPNeIMONGJBg',
195
+ 'base64',
196
+ ),
197
+ },
198
+ {
199
+ id: 'argon2i',
200
+ version: 19,
201
+ params: { m: 120, t: 5000, p: 2, keyid: 'Hj5+dsK0', data: 'sRlHhRmKUGzdOmXn01XmXygd5Kc' },
202
+ salt: bufferFrom('iHSDPHzUhPzK7rCcJgOFfg', 'base64'),
203
+ hash: bufferFrom(
204
+ 'J4moa2MM0/6uf3HbY2Tf5Fux8JIBTwIhmhxGRbsY14qhTltQt+Vw3b7tcJNEbk8ium8AQfZeD4tabCnNqfkD1g',
205
+ 'base64',
206
+ ),
207
+ },
208
+ ],
294
209
  };
295
210
  const sData = {
296
- serialized: [
297
- '$argon2i$v=19$m=120,t=5000,p=2,keyid=Hj5+dsK0,data=sRlHhRmKUGzdOmXn01XmXygd5Kc$iHSDPHzUhPzK7rCcJgOFfg$J4moa2MM0/6uf3HbY2Tf5Fux8JIBTwIhmhxGRbsY14qhTltQt+Vw3b7tcJNEbk8ium8AQfZeD4tabCnNqfkD1g',
298
- ],
299
- deserialized: [
300
- {
301
- id: 'argon2i',
302
- version: 19,
303
- params: {
304
- m: 120,
305
- t: 5000,
306
- p: 2,
307
- keyid: 'Hj5+dsK0',
308
- data: bufferFrom('sRlHhRmKUGzdOmXn01XmXygd5Kc', 'base64'),
309
- },
310
- salt: bufferFrom('iHSDPHzUhPzK7rCcJgOFfg', 'base64'),
311
- hash: bufferFrom(
312
- 'J4moa2MM0/6uf3HbY2Tf5Fux8JIBTwIhmhxGRbsY14qhTltQt+Vw3b7tcJNEbk8ium8AQfZeD4tabCnNqfkD1g',
313
- 'base64',
314
- ),
315
- },
316
- ],
211
+ serialized: [
212
+ '$argon2i$v=19$m=120,t=5000,p=2,keyid=Hj5+dsK0,data=sRlHhRmKUGzdOmXn01XmXygd5Kc$iHSDPHzUhPzK7rCcJgOFfg$J4moa2MM0/6uf3HbY2Tf5Fux8JIBTwIhmhxGRbsY14qhTltQt+Vw3b7tcJNEbk8ium8AQfZeD4tabCnNqfkD1g',
213
+ ],
214
+ deserialized: [
215
+ {
216
+ id: 'argon2i',
217
+ version: 19,
218
+ params: { m: 120, t: 5000, p: 2, keyid: 'Hj5+dsK0', data: bufferFrom('sRlHhRmKUGzdOmXn01XmXygd5Kc', 'base64') },
219
+ salt: bufferFrom('iHSDPHzUhPzK7rCcJgOFfg', 'base64'),
220
+ hash: bufferFrom(
221
+ 'J4moa2MM0/6uf3HbY2Tf5Fux8JIBTwIhmhxGRbsY14qhTltQt+Vw3b7tcJNEbk8ium8AQfZeD4tabCnNqfkD1g',
222
+ 'base64',
223
+ ),
224
+ },
225
+ ],
317
226
  };