@protontech/autofill 0.0.33835493 → 0.0.35481761

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 (41) hide show
  1. package/features/feature.d.ts +13 -2
  2. package/features/feature.js +37 -17
  3. package/features/feature.spec.js +56 -3
  4. package/features/v1/abstract.field.d.ts +8377 -406
  5. package/features/v1/abstract.field.js +23 -23
  6. package/features/v1/abstract.form.d.ts +3428 -626
  7. package/features/v1/abstract.form.js +198 -199
  8. package/features/v1/field.email.d.ts +3421 -0
  9. package/features/v1/field.email.js +7 -7
  10. package/features/v1/field.otp.d.ts +71178 -0
  11. package/features/v1/field.otp.js +42 -42
  12. package/features/v1/field.password.d.ts +99166 -0
  13. package/features/v1/field.password.js +42 -42
  14. package/features/v1/field.username-hidden.d.ts +908 -0
  15. package/features/v1/field.username-hidden.js +7 -7
  16. package/features/v1/field.username.d.ts +42382 -0
  17. package/features/v1/field.username.js +11 -11
  18. package/features/v1/fields.sorted.gen.d.ts +1441 -0
  19. package/features/v1/fields.sorted.gen.js +344 -0
  20. package/features/v1/forms.sorted.gen.d.ts +734 -0
  21. package/features/v1/forms.sorted.gen.js +334 -0
  22. package/features/v1/index.d.ts +964 -84
  23. package/features/v1/index.js +9 -15
  24. package/features/v1/index.spec.js +34 -20
  25. package/models/perceptron/params/login-model.json +91 -91
  26. package/models/perceptron/params/new-password-model.json +21 -21
  27. package/models/perceptron/params/otp-model.json +29 -29
  28. package/models/perceptron/params/password-change-model.json +72 -72
  29. package/models/perceptron/params/password-model.json +23 -23
  30. package/models/perceptron/params/recovery-model.json +81 -81
  31. package/models/perceptron/params/register-model.json +99 -99
  32. package/models/perceptron/params/username-hidden-model.json +10 -10
  33. package/models/perceptron/params/username-model.json +7 -7
  34. package/models/random_forest/params/otp-model.json +306 -366
  35. package/package.json +3 -3
  36. package/rules/v1/index.js +2 -2
  37. package/scripts/gen-sorted-features.d.ts +1 -0
  38. package/scripts/gen-sorted-features.js +128 -0
  39. package/types/index.d.ts +2 -1
  40. package/utils/fathom.d.ts +1 -2
  41. package/utils/fathom.js +2 -2
@@ -3,48 +3,48 @@ import { fieldAttrs, fieldAutocomplete, fieldAutocompleteOff, fieldCC, fieldExot
3
3
  import { any } from "@protontech/autofill/utils/combinators";
4
4
  import { getAllFieldHaystacks } from "@protontech/autofill/utils/extract";
5
5
  import { matchPasswordConfirm, matchPasswordConfirmAttr, matchPasswordCreate, matchPasswordCreateAttr, matchPasswordCurrent, matchPasswordCurrentAttr, matchPasswordOutlier, matchPasswordReset, matchPasswordResetAttr, } from "@protontech/autofill/utils/re";
6
- const passwordOutlier = feature("passwordOutlier", { fieldAttrs, fieldText, fieldLabel }, (p) => any(matchPasswordOutlier)(p.fieldAttrs.concat(p.fieldLabel, p.fieldText)));
7
- const outlier = feature("outlier", { fieldCC, fieldIdentity, passwordOutlier }, (p) => p.fieldCC || p.fieldIdentity || p.passwordOutlier);
8
- const autocompleteGated = feature("autocompleteGated", { fieldAutocomplete, outlier }, (p) => { var _a; return (p.outlier ? "" : ((_a = p.fieldAutocomplete) !== null && _a !== void 0 ? _a : "")); });
9
- const autocompleteNew = feature("autocompleteNew", { autocompleteGated }, (p) => p.autocompleteGated === "new-password");
10
- const autocompleteCurrent = feature("autocompleteCurrent", { autocompleteGated }, (p) => p.autocompleteGated === "current-password");
11
- const autocompleteOTP = feature("autocompleteOTP", { autocompleteGated }, (p) => p.autocompleteGated.includes("one-time-code"));
12
- const attrCurrent = feature("attrCurrent", { fieldAttrs }, (p) => any(matchPasswordCurrentAttr)(p.fieldAttrs));
13
- const textCurrent = feature("textCurrent", { fieldText }, (p) => matchPasswordCurrent(p.fieldText));
14
- const labelCurrent = feature("labelCurrent", { fieldLabel }, (p) => matchPasswordCurrent(p.fieldLabel));
15
- const current = feature("current", { attrCurrent, textCurrent, labelCurrent }, (p) => p.attrCurrent || p.textCurrent || p.labelCurrent);
16
- const attrCreate = feature("attrCreate", { fieldAttrs }, (p) => any(matchPasswordCreateAttr)(p.fieldAttrs));
17
- const textCreate = feature("textCreate", { fieldText }, (p) => matchPasswordCreate(p.fieldText));
18
- const labelCreate = feature("labelCreate", { fieldLabel }, (p) => matchPasswordCreate(p.fieldLabel));
19
- const create = feature("create", { attrCreate, textCreate, labelCreate }, (p) => p.attrCreate || p.textCreate || p.labelCreate);
20
- const attrConfirm = feature("attrConfirm", { fieldAttrs }, (p) => any(matchPasswordConfirmAttr)(p.fieldAttrs));
21
- const textConfirm = feature("textConfirm", { fieldText }, (p) => matchPasswordConfirm(p.fieldText));
22
- const labelConfirm = feature("labelConfirm", { fieldLabel }, (p) => matchPasswordConfirm(p.fieldLabel));
23
- const confirm = feature("confirm", { attrConfirm, textConfirm, labelConfirm }, (p) => p.attrConfirm || p.textConfirm || p.labelConfirm);
24
- const attrReset = feature("attrReset", { fieldAttrs }, (p) => any(matchPasswordResetAttr)(p.fieldAttrs));
25
- const textReset = feature("textReset", { fieldText }, (p) => matchPasswordReset(p.fieldText));
26
- const labelReset = feature("labelReset", { fieldLabel }, (p) => matchPasswordReset(p.fieldLabel));
27
- const reset = feature("reset", { attrReset, textReset, labelReset }, (p) => p.attrReset || p.textReset || p.labelReset);
28
- const maybeCurrent = feature("maybeCurrent", { current }, (p) => p.current);
29
- const maybeNew = feature("maybeNew", { create, confirm, reset }, (p) => p.create || p.confirm || p.reset);
30
- const prevPwFieldEl = feature("prevPwFieldEl", { fieldPrev }, (p) => { var _a; return (((_a = p.fieldPrev) === null || _a === void 0 ? void 0 : _a.getAttribute("type")) === "password" ? p.fieldPrev : null); });
31
- const prevPwField = feature("prevPwField", { prevPwFieldEl }, (p) => p.prevPwFieldEl !== null);
32
- const prevPwHaystack = feature("prevPwHaystack", { prevPwFieldEl }, (p) => (p.prevPwFieldEl ? getAllFieldHaystacks(p.prevPwFieldEl) : []));
33
- const prevPwAutocomplete = feature("prevPwAutocomplete", { prevPwFieldEl }, (p) => { var _a, _b; return (_b = (_a = p.prevPwFieldEl) === null || _a === void 0 ? void 0 : _a.getAttribute("autocomplete")) !== null && _b !== void 0 ? _b : null; });
34
- const prevPwNew = feature("prevPwNew", { prevPwAutocomplete, prevPwHaystack }, (p) => p.prevPwAutocomplete === "new-password" || any(matchPasswordCreate)(p.prevPwHaystack));
35
- const prevPwCurrent = feature("prevPwCurrent", { prevPwAutocomplete, prevPwHaystack }, (p) => p.prevPwAutocomplete === "current-password" || any(matchPasswordCurrent)(p.prevPwHaystack));
36
- const nextPwFieldEl = feature("nextPwFieldEl", { fieldNext }, (p) => { var _a; return (((_a = p.fieldNext) === null || _a === void 0 ? void 0 : _a.getAttribute("type")) === "password" ? p.fieldNext : null); });
37
- const nextPwField = feature("nextPwField", { nextPwFieldEl }, (p) => p.nextPwFieldEl !== null);
38
- const nextPwHaystack = feature("nextPwHaystack", { nextPwFieldEl }, (p) => (p.nextPwFieldEl ? getAllFieldHaystacks(p.nextPwFieldEl) : []));
39
- const nextPwAutocomplete = feature("nextPwAutocomplete", { nextPwFieldEl }, (p) => { var _a, _b; return (_b = (_a = p.nextPwFieldEl) === null || _a === void 0 ? void 0 : _a.getAttribute("autocomplete")) !== null && _b !== void 0 ? _b : null; });
40
- const nextPwNew = feature("nextPwNew", { nextPwAutocomplete, nextPwHaystack }, (p) => p.nextPwAutocomplete === "new-password" || any(matchPasswordCreate)(p.nextPwHaystack));
41
- const nextPwConfirm = feature("nextPwConfirm", { nextPwHaystack }, (p) => any(matchPasswordConfirm)(p.nextPwHaystack));
42
- const nextPwCurrent = feature("nextPwCurrent", { nextPwAutocomplete, nextPwHaystack }, (p) => p.nextPwAutocomplete === "current-password" || any(matchPasswordCurrent)(p.nextPwHaystack));
43
- const fieldLogin_autocompleteNew = featuresProduct(fieldLogin, autocompleteNew);
44
- const fieldLogin_maybeNew = featuresProduct(fieldLogin, maybeNew);
45
- const fieldRegister_autocompleteCurrent = featuresProduct(fieldRegister, autocompleteCurrent);
46
- const fieldRegister_maybeCurrent = featuresProduct(fieldRegister, maybeCurrent);
47
- const prevPwCurrent_nextPwNew = featuresProduct(prevPwCurrent, nextPwNew);
6
+ export const passwordOutlier = feature("passwordOutlier", { fieldAttrs, fieldText, fieldLabel }, (p) => any(matchPasswordOutlier)(p.fieldAttrs.concat(p.fieldLabel, p.fieldText)));
7
+ export const outlier = feature("outlier", { fieldCC, fieldIdentity, passwordOutlier }, (p) => p.fieldCC || p.fieldIdentity || p.passwordOutlier);
8
+ export const autocompleteGated = feature("autocompleteGated", { fieldAutocomplete, outlier }, (p) => { var _a; return (p.outlier ? "" : ((_a = p.fieldAutocomplete) !== null && _a !== void 0 ? _a : "")); });
9
+ export const autocompleteNew = feature("autocompleteNew", { autocompleteGated }, (p) => p.autocompleteGated === "new-password");
10
+ export const autocompleteCurrent = feature("autocompleteCurrent", { autocompleteGated }, (p) => p.autocompleteGated === "current-password");
11
+ export const autocompleteOTP = feature("autocompleteOTP", { autocompleteGated }, (p) => p.autocompleteGated.includes("one-time-code"));
12
+ export const attrCurrent = feature("attrCurrent", { fieldAttrs }, (p) => any(matchPasswordCurrentAttr)(p.fieldAttrs));
13
+ export const textCurrent = feature("textCurrent", { fieldText }, (p) => matchPasswordCurrent(p.fieldText));
14
+ export const labelCurrent = feature("labelCurrent", { fieldLabel }, (p) => matchPasswordCurrent(p.fieldLabel));
15
+ export const current = feature("current", { attrCurrent, textCurrent, labelCurrent }, (p) => p.attrCurrent || p.textCurrent || p.labelCurrent);
16
+ export const attrCreate = feature("attrCreate", { fieldAttrs }, (p) => any(matchPasswordCreateAttr)(p.fieldAttrs));
17
+ export const textCreate = feature("textCreate", { fieldText }, (p) => matchPasswordCreate(p.fieldText));
18
+ export const labelCreate = feature("labelCreate", { fieldLabel }, (p) => matchPasswordCreate(p.fieldLabel));
19
+ export const create = feature("create", { attrCreate, textCreate, labelCreate }, (p) => p.attrCreate || p.textCreate || p.labelCreate);
20
+ export const attrConfirm = feature("attrConfirm", { fieldAttrs }, (p) => any(matchPasswordConfirmAttr)(p.fieldAttrs));
21
+ export const textConfirm = feature("textConfirm", { fieldText }, (p) => matchPasswordConfirm(p.fieldText));
22
+ export const labelConfirm = feature("labelConfirm", { fieldLabel }, (p) => matchPasswordConfirm(p.fieldLabel));
23
+ export const confirm = feature("confirm", { attrConfirm, textConfirm, labelConfirm }, (p) => p.attrConfirm || p.textConfirm || p.labelConfirm);
24
+ export const attrReset = feature("attrReset", { fieldAttrs }, (p) => any(matchPasswordResetAttr)(p.fieldAttrs));
25
+ export const textReset = feature("textReset", { fieldText }, (p) => matchPasswordReset(p.fieldText));
26
+ export const labelReset = feature("labelReset", { fieldLabel }, (p) => matchPasswordReset(p.fieldLabel));
27
+ export const reset = feature("reset", { attrReset, textReset, labelReset }, (p) => p.attrReset || p.textReset || p.labelReset);
28
+ export const maybeCurrent = feature("maybeCurrent", { current }, (p) => p.current);
29
+ export const maybeNew = feature("maybeNew", { create, confirm, reset }, (p) => p.create || p.confirm || p.reset);
30
+ export const prevPwFieldEl = feature("prevPwFieldEl", { fieldPrev }, (p) => { var _a; return (((_a = p.fieldPrev) === null || _a === void 0 ? void 0 : _a.getAttribute("type")) === "password" ? p.fieldPrev : null); });
31
+ export const prevPwField = feature("prevPwField", { prevPwFieldEl }, (p) => p.prevPwFieldEl !== null);
32
+ export const prevPwHaystack = feature("prevPwHaystack", { prevPwFieldEl }, (p) => (p.prevPwFieldEl ? getAllFieldHaystacks(p.prevPwFieldEl) : []));
33
+ export const prevPwAutocomplete = feature("prevPwAutocomplete", { prevPwFieldEl }, (p) => { var _a, _b; return (_b = (_a = p.prevPwFieldEl) === null || _a === void 0 ? void 0 : _a.getAttribute("autocomplete")) !== null && _b !== void 0 ? _b : null; });
34
+ export const prevPwNew = feature("prevPwNew", { prevPwAutocomplete, prevPwHaystack }, (p) => p.prevPwAutocomplete === "new-password" || any(matchPasswordCreate)(p.prevPwHaystack));
35
+ export const prevPwCurrent = feature("prevPwCurrent", { prevPwAutocomplete, prevPwHaystack }, (p) => p.prevPwAutocomplete === "current-password" || any(matchPasswordCurrent)(p.prevPwHaystack));
36
+ export const nextPwFieldEl = feature("nextPwFieldEl", { fieldNext }, (p) => { var _a; return (((_a = p.fieldNext) === null || _a === void 0 ? void 0 : _a.getAttribute("type")) === "password" ? p.fieldNext : null); });
37
+ export const nextPwField = feature("nextPwField", { nextPwFieldEl }, (p) => p.nextPwFieldEl !== null);
38
+ export const nextPwHaystack = feature("nextPwHaystack", { nextPwFieldEl }, (p) => (p.nextPwFieldEl ? getAllFieldHaystacks(p.nextPwFieldEl) : []));
39
+ export const nextPwAutocomplete = feature("nextPwAutocomplete", { nextPwFieldEl }, (p) => { var _a, _b; return (_b = (_a = p.nextPwFieldEl) === null || _a === void 0 ? void 0 : _a.getAttribute("autocomplete")) !== null && _b !== void 0 ? _b : null; });
40
+ export const nextPwNew = feature("nextPwNew", { nextPwAutocomplete, nextPwHaystack }, (p) => p.nextPwAutocomplete === "new-password" || any(matchPasswordCreate)(p.nextPwHaystack));
41
+ export const nextPwConfirm = feature("nextPwConfirm", { nextPwHaystack }, (p) => any(matchPasswordConfirm)(p.nextPwHaystack));
42
+ export const nextPwCurrent = feature("nextPwCurrent", { nextPwAutocomplete, nextPwHaystack }, (p) => p.nextPwAutocomplete === "current-password" || any(matchPasswordCurrent)(p.nextPwHaystack));
43
+ export const fieldLogin_autocompleteNew = featuresProduct(fieldLogin, autocompleteNew);
44
+ export const fieldLogin_maybeNew = featuresProduct(fieldLogin, maybeNew);
45
+ export const fieldRegister_autocompleteCurrent = featuresProduct(fieldRegister, autocompleteCurrent);
46
+ export const fieldRegister_maybeCurrent = featuresProduct(fieldRegister, maybeCurrent);
47
+ export const prevPwCurrent_nextPwNew = featuresProduct(prevPwCurrent, nextPwNew);
48
48
  export const passwordFeatures = flattenFeatures({
49
49
  attrConfirm,
50
50
  attrCreate,