npm.io
7.0.1 • Published 3 weeks ago

commonform-predicate

Licence
BlueOak-1.0.0
Version
7.0.1
Deps
0
Size
5 kB
Vulns
0
Weekly
0
import * as predicate from "commonform-predicate";

The exported functions can be used to find the type of a content array element in a known-valid form, to avoid doing all that's necessary to ensure validity.

If you a know a form object is valid, and need to pick out specific content elements, use commonform-predicate, not commonform-validate.

import assert from "node:assert";

const invalid = { invalid: "object" };
const validForm = { content: ["Valid text"] };

assert(predicate.definition({ definition: "Term" }));
assert(!predicate.definition(invalid));

assert(predicate.use({ use: "Term" }));
assert(!predicate.use({ term: "Term" }));

assert(predicate.reference({ reference: "Term" }));
assert(!predicate.reference(invalid));

assert(predicate.blank({ blank: "Value" }));
assert(!predicate.blank(invalid));

assert(predicate.link({ link: "https://example.com" }));
assert(predicate.link({ link: "http://example.com" }));
assert(!predicate.link(invalid));

assert(predicate.child({ heading: "Summary", form: validForm }));
assert(!predicate.child(invalid));

assert(
  predicate.component({
    heading: "Warranty Disclaimer",
    component: "https://commonform.org/kemitchell/orthodox-software-copyright-license",
    version: "1.0.0",
    substitutions: {
      terms: {
        Licensor: "Vendor",
        Licensee: "Customer",
        Program: "Software",
      },
      headings: {
        "Express Warranties": "Guarantees",
      },
    },
  }),
);

assert(predicate.text("Text"));
assert(!predicate.text(null));

Keywords