open-agreements 0.7.5 → 0.7.6
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.
- package/README.de.md +300 -255
- package/README.es.md +301 -254
- package/README.md +389 -95
- package/README.pt-br.md +301 -254
- package/README.template.md +333 -0
- package/README.zh.md +300 -253
- package/SECURITY.md +34 -0
- package/content/recipes/nvca-stock-purchase-agreement/README.md +39 -0
- package/content/recipes/nvca-voting-agreement/README.md +43 -0
- package/content/templates/bonterms-mutual-nda/README.md +2 -2
- package/content/templates/bonterms-mutual-nda/metadata.yaml +5 -11
- package/content/templates/bonterms-professional-services-agreement/README.md +2 -2
- package/content/templates/bonterms-professional-services-agreement/metadata.yaml +2 -2
- package/content/templates/closing-checklist/template.docx +0 -0
- package/content/templates/closing-checklist/template.md +30 -0
- package/content/templates/common-paper-ai-addendum/template.docx +0 -0
- package/content/templates/common-paper-ai-addendum-in-app/template.docx +0 -0
- package/content/templates/common-paper-csa-with-ai/template.docx +0 -0
- package/content/templates/common-paper-independent-contractor-agreement/template.docx +0 -0
- package/content/templates/common-paper-mutual-nda/README.md +28 -0
- package/content/templates/common-paper-one-way-nda/metadata.yaml +1 -1
- package/content/templates/common-paper-term-sheet/template.docx +0 -0
- package/content/templates/openagreements-board-consent-safe/.template.generated.json +74 -0
- package/content/templates/openagreements-board-consent-safe/README.md +61 -0
- package/content/templates/openagreements-board-consent-safe/metadata.yaml +53 -0
- package/content/templates/openagreements-board-consent-safe/reference-source.docx +0 -0
- package/content/templates/openagreements-board-consent-safe/template.docx +0 -0
- package/content/templates/openagreements-board-consent-safe/template.md +66 -0
- package/content/templates/openagreements-due-diligence-request-list/README.md +68 -0
- package/content/templates/openagreements-due-diligence-request-list/metadata.yaml +300 -0
- package/content/templates/openagreements-due-diligence-request-list/template.docx +0 -0
- package/content/templates/openagreements-due-diligence-request-list/template.md +318 -0
- package/content/templates/openagreements-employee-ip-inventions-assignment/.template.generated.json +230 -0
- package/content/templates/openagreements-employee-ip-inventions-assignment/metadata.yaml +1 -1
- package/content/templates/openagreements-employee-ip-inventions-assignment/template.docx +0 -0
- package/content/templates/openagreements-employee-ip-inventions-assignment/template.md +96 -35
- package/content/templates/openagreements-employment-confidentiality-acknowledgement/README.md +1 -1
- package/content/templates/openagreements-employment-confidentiality-acknowledgement/metadata.yaml +2 -2
- package/content/templates/openagreements-employment-confidentiality-acknowledgement/template.docx +0 -0
- package/content/templates/openagreements-employment-confidentiality-acknowledgement/template.json +75 -0
- package/content/templates/openagreements-employment-confidentiality-acknowledgement/template.md +8 -4
- package/content/templates/openagreements-employment-offer-letter/.template.generated.json +224 -0
- package/content/templates/openagreements-employment-offer-letter/README.md +65 -1
- package/content/templates/openagreements-employment-offer-letter/metadata.yaml +1 -1
- package/content/templates/openagreements-employment-offer-letter/template.docx +0 -0
- package/content/templates/openagreements-employment-offer-letter/template.md +70 -30
- package/content/templates/openagreements-restrictive-covenant-florida/.template.generated.json +456 -0
- package/content/templates/openagreements-restrictive-covenant-florida/README.md +141 -0
- package/content/templates/openagreements-restrictive-covenant-florida/metadata.yaml +419 -0
- package/content/templates/openagreements-restrictive-covenant-florida/template.docx +0 -0
- package/content/templates/openagreements-restrictive-covenant-florida/template.md +233 -0
- package/content/templates/openagreements-restrictive-covenant-wyoming/.template.generated.json +399 -0
- package/content/templates/openagreements-restrictive-covenant-wyoming/metadata.yaml +69 -12
- package/content/templates/openagreements-restrictive-covenant-wyoming/template.docx +0 -0
- package/content/templates/openagreements-restrictive-covenant-wyoming/template.md +110 -59
- package/content/templates/openagreements-stockholder-consent-safe/.template.generated.json +74 -0
- package/content/templates/openagreements-stockholder-consent-safe/README.md +62 -0
- package/content/templates/openagreements-stockholder-consent-safe/metadata.yaml +53 -0
- package/content/templates/openagreements-stockholder-consent-safe/reference-source.docx +0 -0
- package/content/templates/openagreements-stockholder-consent-safe/template.docx +0 -0
- package/content/templates/openagreements-stockholder-consent-safe/template.md +62 -0
- package/content/templates/working-group-list/template.docx +0 -0
- package/content/templates/working-group-list/template.md +18 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/commands/fill.d.ts +1 -1
- package/dist/commands/fill.d.ts.map +1 -1
- package/dist/commands/fill.js +4 -1
- package/dist/commands/fill.js.map +1 -1
- package/dist/commands/list.js +10 -0
- package/dist/commands/list.js.map +1 -1
- package/dist/commands/recipe.js.map +1 -1
- package/dist/core/employment/jurisdiction-rules.js +2 -2
- package/dist/core/employment/jurisdiction-rules.js.map +1 -1
- package/dist/core/employment/memo.d.ts +1 -1
- package/dist/core/employment/memo.d.ts.map +1 -1
- package/dist/core/employment/memo.js +14 -6
- package/dist/core/employment/memo.js.map +1 -1
- package/dist/core/engine.d.ts.map +1 -1
- package/dist/core/engine.js +28 -0
- package/dist/core/engine.js.map +1 -1
- package/dist/core/fill-pipeline.d.ts +30 -5
- package/dist/core/fill-pipeline.d.ts.map +1 -1
- package/dist/core/fill-pipeline.js +173 -9
- package/dist/core/fill-pipeline.js.map +1 -1
- package/dist/core/humanize-docx.d.ts +21 -0
- package/dist/core/humanize-docx.d.ts.map +1 -0
- package/dist/core/humanize-docx.js +492 -0
- package/dist/core/humanize-docx.js.map +1 -0
- package/dist/core/metadata.d.ts +118 -65
- package/dist/core/metadata.d.ts.map +1 -1
- package/dist/core/metadata.js +268 -13
- package/dist/core/metadata.js.map +1 -1
- package/dist/core/recipe/bracket-normalizer.d.ts +1 -1
- package/dist/core/recipe/bracket-normalizer.d.ts.map +1 -1
- package/dist/core/recipe/bracket-normalizer.js +3 -0
- package/dist/core/recipe/bracket-normalizer.js.map +1 -1
- package/dist/core/recipe/computed.d.ts +1 -1
- package/dist/core/recipe/computed.d.ts.map +1 -1
- package/dist/core/recipe/index.d.ts.map +1 -1
- package/dist/core/recipe/index.js +22 -4
- package/dist/core/recipe/index.js.map +1 -1
- package/dist/core/recipe/types.d.ts +1 -1
- package/dist/core/recipe/types.d.ts.map +1 -1
- package/dist/core/template-listing.d.ts +6 -8
- package/dist/core/template-listing.d.ts.map +1 -1
- package/dist/core/template-listing.js +24 -0
- package/dist/core/template-listing.js.map +1 -1
- package/dist/core/unified-pipeline.d.ts +2 -0
- package/dist/core/unified-pipeline.d.ts.map +1 -1
- package/dist/core/unified-pipeline.js +19 -1
- package/dist/core/unified-pipeline.js.map +1 -1
- package/dist/core/validation/template.d.ts +32 -0
- package/dist/core/validation/template.d.ts.map +1 -1
- package/dist/core/validation/template.js +163 -3
- package/dist/core/validation/template.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/package.json +26 -12
- package/skills/canonical-markdown-authoring/CONNECTORS.md +67 -0
- package/skills/canonical-markdown-authoring/SKILL.md +565 -0
- package/skills/client-email/SKILL.md +2 -0
- package/skills/cloud-service-agreement/CONNECTORS.md +2 -2
- package/skills/cloud-service-agreement/SKILL.md +38 -1
- package/skills/cloud-service-agreement/template-filling-execution.md +2 -2
- package/skills/data-privacy-agreement/CONNECTORS.md +2 -2
- package/skills/data-privacy-agreement/SKILL.md +2 -0
- package/skills/delaware-franchise-tax/SKILL.md +2 -0
- package/skills/edit-docx-agreement/SKILL.md +2 -0
- package/skills/employment-contract/CONNECTORS.md +2 -2
- package/skills/employment-contract/SKILL.md +2 -0
- package/skills/iso-27001-evidence-collection/SKILL.md +2 -0
- package/skills/iso-27001-internal-audit/SKILL.md +2 -0
- package/skills/nda/CONNECTORS.md +2 -2
- package/skills/nda/SKILL.md +45 -1
- package/skills/nda/template-filling-execution.md +12 -6
- package/skills/non-compete-contract-explainer/SKILL.md +107 -0
- package/skills/non-compete-contract-explainer/content/wyoming.md +286 -0
- package/skills/non-compete-contract-explainer/manifest.json +18 -0
- package/skills/open-agreements/CONNECTORS.md +2 -2
- package/skills/open-agreements/SKILL.md +165 -67
- package/skills/open-agreements/template-filling-execution.md +2 -2
- package/skills/recipe-quality-audit/SKILL.md +2 -0
- package/skills/safe/CONNECTORS.md +2 -2
- package/skills/safe/SKILL.md +38 -1
- package/skills/safe/template-filling-execution.md +2 -2
- package/skills/services-agreement/CONNECTORS.md +2 -2
- package/skills/services-agreement/SKILL.md +40 -1
- package/skills/services-agreement/template-filling-execution.md +81 -0
- package/skills/shared/template-filling-execution.md +2 -2
- package/skills/soc2-readiness/SKILL.md +2 -0
- package/skills/unit-test-philosophy/SKILL.md +3 -0
- package/skills/venture-financing/CONNECTORS.md +2 -2
- package/skills/venture-financing/SKILL.md +2 -0
- package/content/templates/openagreements-restrictive-covenant-wyoming/practice-note.md +0 -103
- package/node_modules/@xmldom/xmldom/CHANGELOG.md +0 -939
- package/node_modules/@xmldom/xmldom/LICENSE +0 -8
- package/node_modules/@xmldom/xmldom/SECURITY.md +0 -50
- package/node_modules/@xmldom/xmldom/index.d.ts +0 -1664
- package/node_modules/@xmldom/xmldom/lib/.eslintrc.yml +0 -3
- package/node_modules/@xmldom/xmldom/lib/conventions.js +0 -429
- package/node_modules/@xmldom/xmldom/lib/dom-parser.js +0 -586
- package/node_modules/@xmldom/xmldom/lib/dom.js +0 -3192
- package/node_modules/@xmldom/xmldom/lib/entities.js +0 -2171
- package/node_modules/@xmldom/xmldom/lib/errors.js +0 -202
- package/node_modules/@xmldom/xmldom/lib/grammar.js +0 -533
- package/node_modules/@xmldom/xmldom/lib/index.js +0 -41
- package/node_modules/@xmldom/xmldom/lib/sax.js +0 -929
- package/node_modules/@xmldom/xmldom/package.json +0 -74
- package/node_modules/@xmldom/xmldom/readme.md +0 -364
- package/node_modules/core-util-is/LICENSE +0 -19
- package/node_modules/core-util-is/README.md +0 -3
- package/node_modules/core-util-is/lib/util.js +0 -107
- package/node_modules/core-util-is/package.json +0 -38
- package/node_modules/immediate/LICENSE.txt +0 -20
- package/node_modules/immediate/README.md +0 -93
- package/node_modules/immediate/dist/immediate.js +0 -75
- package/node_modules/immediate/dist/immediate.min.js +0 -1
- package/node_modules/immediate/lib/browser.js +0 -69
- package/node_modules/immediate/lib/index.js +0 -73
- package/node_modules/immediate/package.json +0 -42
- package/node_modules/inherits/LICENSE +0 -16
- package/node_modules/inherits/README.md +0 -42
- package/node_modules/inherits/inherits.js +0 -9
- package/node_modules/inherits/inherits_browser.js +0 -27
- package/node_modules/inherits/package.json +0 -29
- package/node_modules/isarray/.npmignore +0 -1
- package/node_modules/isarray/.travis.yml +0 -4
- package/node_modules/isarray/Makefile +0 -6
- package/node_modules/isarray/README.md +0 -60
- package/node_modules/isarray/component.json +0 -19
- package/node_modules/isarray/index.js +0 -5
- package/node_modules/isarray/package.json +0 -45
- package/node_modules/isarray/test.js +0 -20
- package/node_modules/jszip/.codeclimate.yml +0 -16
- package/node_modules/jszip/.editorconfig +0 -8
- package/node_modules/jszip/.eslintrc.js +0 -43
- package/node_modules/jszip/.github/workflows/pr.yaml +0 -58
- package/node_modules/jszip/.jekyll-metadata +0 -0
- package/node_modules/jszip/.travis.yml +0 -17
- package/node_modules/jszip/CHANGES.md +0 -204
- package/node_modules/jszip/LICENSE.markdown +0 -651
- package/node_modules/jszip/README.markdown +0 -33
- package/node_modules/jszip/deps.js +0 -37
- package/node_modules/jszip/dist/jszip.js +0 -11577
- package/node_modules/jszip/dist/jszip.min.js +0 -13
- package/node_modules/jszip/graph.svg +0 -601
- package/node_modules/jszip/index.d.ts +0 -330
- package/node_modules/jszip/lib/base64.js +0 -106
- package/node_modules/jszip/lib/compressedObject.js +0 -74
- package/node_modules/jszip/lib/compressions.js +0 -14
- package/node_modules/jszip/lib/crc32.js +0 -77
- package/node_modules/jszip/lib/defaults.js +0 -11
- package/node_modules/jszip/lib/external.js +0 -18
- package/node_modules/jszip/lib/flate.js +0 -85
- package/node_modules/jszip/lib/generate/ZipFileWorker.js +0 -539
- package/node_modules/jszip/lib/generate/index.js +0 -57
- package/node_modules/jszip/lib/index.js +0 -55
- package/node_modules/jszip/lib/license_header.js +0 -11
- package/node_modules/jszip/lib/load.js +0 -88
- package/node_modules/jszip/lib/nodejs/NodejsStreamInputAdapter.js +0 -74
- package/node_modules/jszip/lib/nodejs/NodejsStreamOutputAdapter.js +0 -42
- package/node_modules/jszip/lib/nodejsUtils.js +0 -57
- package/node_modules/jszip/lib/object.js +0 -384
- package/node_modules/jszip/lib/readable-stream-browser.js +0 -10
- package/node_modules/jszip/lib/reader/ArrayReader.js +0 -57
- package/node_modules/jszip/lib/reader/DataReader.js +0 -116
- package/node_modules/jszip/lib/reader/NodeBufferReader.js +0 -19
- package/node_modules/jszip/lib/reader/StringReader.js +0 -38
- package/node_modules/jszip/lib/reader/Uint8ArrayReader.js +0 -22
- package/node_modules/jszip/lib/reader/readerFor.js +0 -28
- package/node_modules/jszip/lib/signature.js +0 -7
- package/node_modules/jszip/lib/stream/ConvertWorker.js +0 -26
- package/node_modules/jszip/lib/stream/Crc32Probe.js +0 -24
- package/node_modules/jszip/lib/stream/DataLengthProbe.js +0 -29
- package/node_modules/jszip/lib/stream/DataWorker.js +0 -116
- package/node_modules/jszip/lib/stream/GenericWorker.js +0 -263
- package/node_modules/jszip/lib/stream/StreamHelper.js +0 -214
- package/node_modules/jszip/lib/support.js +0 -38
- package/node_modules/jszip/lib/utf8.js +0 -275
- package/node_modules/jszip/lib/utils.js +0 -501
- package/node_modules/jszip/lib/zipEntries.js +0 -261
- package/node_modules/jszip/lib/zipEntry.js +0 -293
- package/node_modules/jszip/lib/zipObject.js +0 -133
- package/node_modules/jszip/package.json +0 -67
- package/node_modules/jszip/sponsors.md +0 -21
- package/node_modules/jszip/tsconfig.json +0 -101
- package/node_modules/jszip/vendor/FileSaver.js +0 -247
- package/node_modules/lie/README.md +0 -62
- package/node_modules/lie/dist/lie.js +0 -350
- package/node_modules/lie/dist/lie.min.js +0 -1
- package/node_modules/lie/dist/lie.polyfill.js +0 -358
- package/node_modules/lie/dist/lie.polyfill.min.js +0 -1
- package/node_modules/lie/lib/browser.js +0 -273
- package/node_modules/lie/lib/index.js +0 -298
- package/node_modules/lie/license.md +0 -7
- package/node_modules/lie/lie.d.ts +0 -244
- package/node_modules/lie/package.json +0 -69
- package/node_modules/lie/polyfill.js +0 -4
- package/node_modules/pako/LICENSE +0 -21
- package/node_modules/pako/README.md +0 -191
- package/node_modules/pako/dist/pako.js +0 -6818
- package/node_modules/pako/dist/pako.min.js +0 -1
- package/node_modules/pako/dist/pako_deflate.js +0 -3997
- package/node_modules/pako/dist/pako_deflate.min.js +0 -1
- package/node_modules/pako/dist/pako_inflate.js +0 -3300
- package/node_modules/pako/dist/pako_inflate.min.js +0 -1
- package/node_modules/pako/index.js +0 -14
- package/node_modules/pako/lib/deflate.js +0 -400
- package/node_modules/pako/lib/inflate.js +0 -423
- package/node_modules/pako/lib/utils/common.js +0 -105
- package/node_modules/pako/lib/utils/strings.js +0 -187
- package/node_modules/pako/lib/zlib/README +0 -59
- package/node_modules/pako/lib/zlib/adler32.js +0 -51
- package/node_modules/pako/lib/zlib/constants.js +0 -68
- package/node_modules/pako/lib/zlib/crc32.js +0 -59
- package/node_modules/pako/lib/zlib/deflate.js +0 -1874
- package/node_modules/pako/lib/zlib/gzheader.js +0 -58
- package/node_modules/pako/lib/zlib/inffast.js +0 -345
- package/node_modules/pako/lib/zlib/inflate.js +0 -1556
- package/node_modules/pako/lib/zlib/inftrees.js +0 -343
- package/node_modules/pako/lib/zlib/messages.js +0 -32
- package/node_modules/pako/lib/zlib/trees.js +0 -1222
- package/node_modules/pako/lib/zlib/zstream.js +0 -47
- package/node_modules/pako/package.json +0 -44
- package/node_modules/process-nextick-args/index.js +0 -45
- package/node_modules/process-nextick-args/license.md +0 -19
- package/node_modules/process-nextick-args/package.json +0 -25
- package/node_modules/process-nextick-args/readme.md +0 -18
- package/node_modules/readable-stream/.travis.yml +0 -34
- package/node_modules/readable-stream/CONTRIBUTING.md +0 -38
- package/node_modules/readable-stream/GOVERNANCE.md +0 -136
- package/node_modules/readable-stream/LICENSE +0 -47
- package/node_modules/readable-stream/README.md +0 -58
- package/node_modules/readable-stream/doc/wg-meetings/2015-01-30.md +0 -60
- package/node_modules/readable-stream/duplex-browser.js +0 -1
- package/node_modules/readable-stream/duplex.js +0 -1
- package/node_modules/readable-stream/lib/_stream_duplex.js +0 -131
- package/node_modules/readable-stream/lib/_stream_passthrough.js +0 -47
- package/node_modules/readable-stream/lib/_stream_readable.js +0 -1019
- package/node_modules/readable-stream/lib/_stream_transform.js +0 -214
- package/node_modules/readable-stream/lib/_stream_writable.js +0 -685
- package/node_modules/readable-stream/lib/internal/streams/BufferList.js +0 -78
- package/node_modules/readable-stream/lib/internal/streams/destroy.js +0 -84
- package/node_modules/readable-stream/lib/internal/streams/stream-browser.js +0 -1
- package/node_modules/readable-stream/lib/internal/streams/stream.js +0 -1
- package/node_modules/readable-stream/package.json +0 -52
- package/node_modules/readable-stream/passthrough.js +0 -1
- package/node_modules/readable-stream/readable-browser.js +0 -7
- package/node_modules/readable-stream/readable.js +0 -19
- package/node_modules/readable-stream/transform.js +0 -1
- package/node_modules/readable-stream/writable-browser.js +0 -1
- package/node_modules/readable-stream/writable.js +0 -8
- package/node_modules/safe-buffer/LICENSE +0 -21
- package/node_modules/safe-buffer/README.md +0 -584
- package/node_modules/safe-buffer/index.d.ts +0 -187
- package/node_modules/safe-buffer/index.js +0 -62
- package/node_modules/safe-buffer/package.json +0 -37
- package/node_modules/setimmediate/LICENSE.txt +0 -20
- package/node_modules/setimmediate/package.json +0 -30
- package/node_modules/setimmediate/setImmediate.js +0 -186
- package/node_modules/string_decoder/.travis.yml +0 -50
- package/node_modules/string_decoder/LICENSE +0 -48
- package/node_modules/string_decoder/README.md +0 -47
- package/node_modules/string_decoder/lib/string_decoder.js +0 -296
- package/node_modules/string_decoder/package.json +0 -31
- package/node_modules/util-deprecate/History.md +0 -16
- package/node_modules/util-deprecate/LICENSE +0 -24
- package/node_modules/util-deprecate/README.md +0 -53
- package/node_modules/util-deprecate/browser.js +0 -67
- package/node_modules/util-deprecate/node.js +0 -6
- package/node_modules/util-deprecate/package.json +0 -27
|
@@ -1,429 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Ponyfill for `Array.prototype.find` which is only available in ES6 runtimes.
|
|
5
|
-
*
|
|
6
|
-
* Works with anything that has a `length` property and index access properties,
|
|
7
|
-
* including NodeList.
|
|
8
|
-
*
|
|
9
|
-
* @param {T[] | { length: number; [number]: T }} list
|
|
10
|
-
* @param {function (item: T, index: number, list:T[]):boolean} predicate
|
|
11
|
-
* @param {Partial<Pick<ArrayConstructor['prototype'], 'find'>>?} ac
|
|
12
|
-
* Allows injecting a custom implementation in tests (`Array.prototype` by default).
|
|
13
|
-
* @returns {T | undefined}
|
|
14
|
-
* @template {unknown} T
|
|
15
|
-
* @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/find
|
|
16
|
-
* @see https://tc39.es/ecma262/multipage/indexed-collections.html#sec-array.prototype.find
|
|
17
|
-
*/
|
|
18
|
-
function find(list, predicate, ac) {
|
|
19
|
-
if (ac === undefined) {
|
|
20
|
-
ac = Array.prototype;
|
|
21
|
-
}
|
|
22
|
-
if (list && typeof ac.find === 'function') {
|
|
23
|
-
return ac.find.call(list, predicate);
|
|
24
|
-
}
|
|
25
|
-
for (var i = 0; i < list.length; i++) {
|
|
26
|
-
if (hasOwn(list, i)) {
|
|
27
|
-
var item = list[i];
|
|
28
|
-
if (predicate.call(undefined, item, i, list)) {
|
|
29
|
-
return item;
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
/**
|
|
36
|
-
* "Shallow freezes" an object to render it immutable.
|
|
37
|
-
* Uses `Object.freeze` if available,
|
|
38
|
-
* otherwise the immutability is only in the type.
|
|
39
|
-
*
|
|
40
|
-
* Is used to create "enum like" objects.
|
|
41
|
-
*
|
|
42
|
-
* If `Object.getOwnPropertyDescriptors` is available,
|
|
43
|
-
* a new object with all properties of object but without any prototype is created and returned
|
|
44
|
-
* after freezing it.
|
|
45
|
-
*
|
|
46
|
-
* @param {T} object
|
|
47
|
-
* The object to freeze.
|
|
48
|
-
* @param {Pick<ObjectConstructor, 'create' | 'freeze' | 'getOwnPropertyDescriptors'>} [oc=Object]
|
|
49
|
-
* `Object` by default,
|
|
50
|
-
* allows to inject custom object constructor for tests.
|
|
51
|
-
* @returns {Readonly<T>}
|
|
52
|
-
* @template {Object} T
|
|
53
|
-
* @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/freeze
|
|
54
|
-
* @prettierignore
|
|
55
|
-
*/
|
|
56
|
-
function freeze(object, oc) {
|
|
57
|
-
if (oc === undefined) {
|
|
58
|
-
oc = Object;
|
|
59
|
-
}
|
|
60
|
-
if (oc && typeof oc.getOwnPropertyDescriptors === 'function') {
|
|
61
|
-
object = oc.create(null, oc.getOwnPropertyDescriptors(object));
|
|
62
|
-
}
|
|
63
|
-
return oc && typeof oc.freeze === 'function' ? oc.freeze(object) : object;
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
/**
|
|
67
|
-
* Implementation for `Object.hasOwn` but ES5 compatible.
|
|
68
|
-
*
|
|
69
|
-
* @param {any} object
|
|
70
|
-
* @param {string | number} key
|
|
71
|
-
* @returns {boolean}
|
|
72
|
-
*/
|
|
73
|
-
function hasOwn(object, key) {
|
|
74
|
-
return Object.prototype.hasOwnProperty.call(object, key);
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
/**
|
|
78
|
-
* Since xmldom can not rely on `Object.assign`,
|
|
79
|
-
* it uses/provides a simplified version that is sufficient for its needs.
|
|
80
|
-
*
|
|
81
|
-
* @param {Object} target
|
|
82
|
-
* @param {Object | null | undefined} source
|
|
83
|
-
* @returns {Object}
|
|
84
|
-
* The target with the merged/overridden properties.
|
|
85
|
-
* @throws {TypeError}
|
|
86
|
-
* If target is not an object.
|
|
87
|
-
* @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/assign
|
|
88
|
-
* @see https://tc39.es/ecma262/multipage/fundamental-objects.html#sec-object.assign
|
|
89
|
-
*/
|
|
90
|
-
function assign(target, source) {
|
|
91
|
-
if (target === null || typeof target !== 'object') {
|
|
92
|
-
throw new TypeError('target is not an object');
|
|
93
|
-
}
|
|
94
|
-
for (var key in source) {
|
|
95
|
-
if (hasOwn(source, key)) {
|
|
96
|
-
target[key] = source[key];
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
return target;
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
/**
|
|
103
|
-
* A number of attributes are boolean attributes.
|
|
104
|
-
* The presence of a boolean attribute on an element represents the `true` value,
|
|
105
|
-
* and the absence of the attribute represents the `false` value.
|
|
106
|
-
*
|
|
107
|
-
* If the attribute is present, its value must either be the empty string, or a value that is
|
|
108
|
-
* an ASCII case-insensitive match for the attribute's canonical name,
|
|
109
|
-
* with no leading or trailing whitespace.
|
|
110
|
-
*
|
|
111
|
-
* Note: The values `"true"` and `"false"` are not allowed on boolean attributes.
|
|
112
|
-
* To represent a `false` value, the attribute has to be omitted altogether.
|
|
113
|
-
*
|
|
114
|
-
* @see https://html.spec.whatwg.org/#boolean-attributes
|
|
115
|
-
* @see https://html.spec.whatwg.org/#attributes-3
|
|
116
|
-
*/
|
|
117
|
-
var HTML_BOOLEAN_ATTRIBUTES = freeze({
|
|
118
|
-
allowfullscreen: true,
|
|
119
|
-
async: true,
|
|
120
|
-
autofocus: true,
|
|
121
|
-
autoplay: true,
|
|
122
|
-
checked: true,
|
|
123
|
-
controls: true,
|
|
124
|
-
default: true,
|
|
125
|
-
defer: true,
|
|
126
|
-
disabled: true,
|
|
127
|
-
formnovalidate: true,
|
|
128
|
-
hidden: true,
|
|
129
|
-
ismap: true,
|
|
130
|
-
itemscope: true,
|
|
131
|
-
loop: true,
|
|
132
|
-
multiple: true,
|
|
133
|
-
muted: true,
|
|
134
|
-
nomodule: true,
|
|
135
|
-
novalidate: true,
|
|
136
|
-
open: true,
|
|
137
|
-
playsinline: true,
|
|
138
|
-
readonly: true,
|
|
139
|
-
required: true,
|
|
140
|
-
reversed: true,
|
|
141
|
-
selected: true,
|
|
142
|
-
});
|
|
143
|
-
|
|
144
|
-
/**
|
|
145
|
-
* Check if `name` is matching one of the HTML boolean attribute names.
|
|
146
|
-
* This method doesn't check if such attributes are allowed in the context of the current
|
|
147
|
-
* document/parsing.
|
|
148
|
-
*
|
|
149
|
-
* @param {string} name
|
|
150
|
-
* @returns {boolean}
|
|
151
|
-
* @see {@link HTML_BOOLEAN_ATTRIBUTES}
|
|
152
|
-
* @see https://html.spec.whatwg.org/#boolean-attributes
|
|
153
|
-
* @see https://html.spec.whatwg.org/#attributes-3
|
|
154
|
-
*/
|
|
155
|
-
function isHTMLBooleanAttribute(name) {
|
|
156
|
-
return hasOwn(HTML_BOOLEAN_ATTRIBUTES, name.toLowerCase());
|
|
157
|
-
}
|
|
158
|
-
|
|
159
|
-
/**
|
|
160
|
-
* Void elements only have a start tag; end tags must not be specified for void elements.
|
|
161
|
-
* These elements should be written as self-closing like this: `<area />`.
|
|
162
|
-
* This should not be confused with optional tags that HTML allows to omit the end tag for
|
|
163
|
-
* (like `li`, `tr` and others), which can have content after them,
|
|
164
|
-
* so they can not be written as self-closing.
|
|
165
|
-
* xmldom does not have any logic for optional end tags cases,
|
|
166
|
-
* and will report them as a warning.
|
|
167
|
-
* Content that would go into the unopened element,
|
|
168
|
-
* will instead be added as a sibling text node.
|
|
169
|
-
*
|
|
170
|
-
* @type {Readonly<{
|
|
171
|
-
* area: boolean;
|
|
172
|
-
* col: boolean;
|
|
173
|
-
* img: boolean;
|
|
174
|
-
* wbr: boolean;
|
|
175
|
-
* link: boolean;
|
|
176
|
-
* hr: boolean;
|
|
177
|
-
* source: boolean;
|
|
178
|
-
* br: boolean;
|
|
179
|
-
* input: boolean;
|
|
180
|
-
* param: boolean;
|
|
181
|
-
* meta: boolean;
|
|
182
|
-
* embed: boolean;
|
|
183
|
-
* track: boolean;
|
|
184
|
-
* base: boolean;
|
|
185
|
-
* }>}
|
|
186
|
-
* @see https://html.spec.whatwg.org/#void-elements
|
|
187
|
-
* @see https://html.spec.whatwg.org/#optional-tags
|
|
188
|
-
*/
|
|
189
|
-
var HTML_VOID_ELEMENTS = freeze({
|
|
190
|
-
area: true,
|
|
191
|
-
base: true,
|
|
192
|
-
br: true,
|
|
193
|
-
col: true,
|
|
194
|
-
embed: true,
|
|
195
|
-
hr: true,
|
|
196
|
-
img: true,
|
|
197
|
-
input: true,
|
|
198
|
-
link: true,
|
|
199
|
-
meta: true,
|
|
200
|
-
param: true,
|
|
201
|
-
source: true,
|
|
202
|
-
track: true,
|
|
203
|
-
wbr: true,
|
|
204
|
-
});
|
|
205
|
-
|
|
206
|
-
/**
|
|
207
|
-
* Check if `tagName` is matching one of the HTML void element names.
|
|
208
|
-
* This method doesn't check if such tags are allowed in the context of the current
|
|
209
|
-
* document/parsing.
|
|
210
|
-
*
|
|
211
|
-
* @param {string} tagName
|
|
212
|
-
* @returns {boolean}
|
|
213
|
-
* @see {@link HTML_VOID_ELEMENTS}
|
|
214
|
-
* @see https://html.spec.whatwg.org/#void-elements
|
|
215
|
-
*/
|
|
216
|
-
function isHTMLVoidElement(tagName) {
|
|
217
|
-
return hasOwn(HTML_VOID_ELEMENTS, tagName.toLowerCase());
|
|
218
|
-
}
|
|
219
|
-
|
|
220
|
-
/**
|
|
221
|
-
* Tag names that are raw text elements according to HTML spec.
|
|
222
|
-
* The value denotes whether they are escapable or not.
|
|
223
|
-
*
|
|
224
|
-
* @see {@link isHTMLEscapableRawTextElement}
|
|
225
|
-
* @see {@link isHTMLRawTextElement}
|
|
226
|
-
* @see https://html.spec.whatwg.org/#raw-text-elements
|
|
227
|
-
* @see https://html.spec.whatwg.org/#escapable-raw-text-elements
|
|
228
|
-
*/
|
|
229
|
-
var HTML_RAW_TEXT_ELEMENTS = freeze({
|
|
230
|
-
script: false,
|
|
231
|
-
style: false,
|
|
232
|
-
textarea: true,
|
|
233
|
-
title: true,
|
|
234
|
-
});
|
|
235
|
-
|
|
236
|
-
/**
|
|
237
|
-
* Check if `tagName` is matching one of the HTML raw text element names.
|
|
238
|
-
* This method doesn't check if such tags are allowed in the context of the current
|
|
239
|
-
* document/parsing.
|
|
240
|
-
*
|
|
241
|
-
* @param {string} tagName
|
|
242
|
-
* @returns {boolean}
|
|
243
|
-
* @see {@link isHTMLEscapableRawTextElement}
|
|
244
|
-
* @see {@link HTML_RAW_TEXT_ELEMENTS}
|
|
245
|
-
* @see https://html.spec.whatwg.org/#raw-text-elements
|
|
246
|
-
* @see https://html.spec.whatwg.org/#escapable-raw-text-elements
|
|
247
|
-
*/
|
|
248
|
-
function isHTMLRawTextElement(tagName) {
|
|
249
|
-
var key = tagName.toLowerCase();
|
|
250
|
-
return hasOwn(HTML_RAW_TEXT_ELEMENTS, key) && !HTML_RAW_TEXT_ELEMENTS[key];
|
|
251
|
-
}
|
|
252
|
-
/**
|
|
253
|
-
* Check if `tagName` is matching one of the HTML escapable raw text element names.
|
|
254
|
-
* This method doesn't check if such tags are allowed in the context of the current
|
|
255
|
-
* document/parsing.
|
|
256
|
-
*
|
|
257
|
-
* @param {string} tagName
|
|
258
|
-
* @returns {boolean}
|
|
259
|
-
* @see {@link isHTMLRawTextElement}
|
|
260
|
-
* @see {@link HTML_RAW_TEXT_ELEMENTS}
|
|
261
|
-
* @see https://html.spec.whatwg.org/#raw-text-elements
|
|
262
|
-
* @see https://html.spec.whatwg.org/#escapable-raw-text-elements
|
|
263
|
-
*/
|
|
264
|
-
function isHTMLEscapableRawTextElement(tagName) {
|
|
265
|
-
var key = tagName.toLowerCase();
|
|
266
|
-
return hasOwn(HTML_RAW_TEXT_ELEMENTS, key) && HTML_RAW_TEXT_ELEMENTS[key];
|
|
267
|
-
}
|
|
268
|
-
/**
|
|
269
|
-
* Only returns true if `value` matches MIME_TYPE.HTML, which indicates an HTML document.
|
|
270
|
-
*
|
|
271
|
-
* @param {string} mimeType
|
|
272
|
-
* @returns {mimeType is 'text/html'}
|
|
273
|
-
* @see https://www.iana.org/assignments/media-types/text/html
|
|
274
|
-
* @see https://en.wikipedia.org/wiki/HTML
|
|
275
|
-
* @see https://developer.mozilla.org/en-US/docs/Web/API/DOMParser/parseFromString
|
|
276
|
-
* @see https://html.spec.whatwg.org/multipage/dynamic-markup-insertion.html#dom-domparser-parsefromstring
|
|
277
|
-
*/
|
|
278
|
-
function isHTMLMimeType(mimeType) {
|
|
279
|
-
return mimeType === MIME_TYPE.HTML;
|
|
280
|
-
}
|
|
281
|
-
/**
|
|
282
|
-
* For both the `text/html` and the `application/xhtml+xml` namespace the spec defines that the
|
|
283
|
-
* HTML namespace is provided as the default.
|
|
284
|
-
*
|
|
285
|
-
* @param {string} mimeType
|
|
286
|
-
* @returns {boolean}
|
|
287
|
-
* @see https://dom.spec.whatwg.org/#dom-document-createelement
|
|
288
|
-
* @see https://dom.spec.whatwg.org/#dom-domimplementation-createdocument
|
|
289
|
-
* @see https://dom.spec.whatwg.org/#dom-domimplementation-createhtmldocument
|
|
290
|
-
*/
|
|
291
|
-
function hasDefaultHTMLNamespace(mimeType) {
|
|
292
|
-
return isHTMLMimeType(mimeType) || mimeType === MIME_TYPE.XML_XHTML_APPLICATION;
|
|
293
|
-
}
|
|
294
|
-
|
|
295
|
-
/**
|
|
296
|
-
* All mime types that are allowed as input to `DOMParser.parseFromString`
|
|
297
|
-
*
|
|
298
|
-
* @see https://developer.mozilla.org/en-US/docs/Web/API/DOMParser/parseFromString#Argument02
|
|
299
|
-
* MDN
|
|
300
|
-
* @see https://html.spec.whatwg.org/multipage/dynamic-markup-insertion.html#domparsersupportedtype
|
|
301
|
-
* WHATWG HTML Spec
|
|
302
|
-
* @see {@link DOMParser.prototype.parseFromString}
|
|
303
|
-
*/
|
|
304
|
-
var MIME_TYPE = freeze({
|
|
305
|
-
/**
|
|
306
|
-
* `text/html`, the only mime type that triggers treating an XML document as HTML.
|
|
307
|
-
*
|
|
308
|
-
* @see https://www.iana.org/assignments/media-types/text/html IANA MimeType registration
|
|
309
|
-
* @see https://en.wikipedia.org/wiki/HTML Wikipedia
|
|
310
|
-
* @see https://developer.mozilla.org/en-US/docs/Web/API/DOMParser/parseFromString MDN
|
|
311
|
-
* @see https://html.spec.whatwg.org/multipage/dynamic-markup-insertion.html#dom-domparser-parsefromstring
|
|
312
|
-
* WHATWG HTML Spec
|
|
313
|
-
*/
|
|
314
|
-
HTML: 'text/html',
|
|
315
|
-
|
|
316
|
-
/**
|
|
317
|
-
* `application/xml`, the standard mime type for XML documents.
|
|
318
|
-
*
|
|
319
|
-
* @see https://www.iana.org/assignments/media-types/application/xml IANA MimeType
|
|
320
|
-
* registration
|
|
321
|
-
* @see https://tools.ietf.org/html/rfc7303#section-9.1 RFC 7303
|
|
322
|
-
* @see https://en.wikipedia.org/wiki/XML_and_MIME Wikipedia
|
|
323
|
-
*/
|
|
324
|
-
XML_APPLICATION: 'application/xml',
|
|
325
|
-
|
|
326
|
-
/**
|
|
327
|
-
* `text/xml`, an alias for `application/xml`.
|
|
328
|
-
*
|
|
329
|
-
* @see https://tools.ietf.org/html/rfc7303#section-9.2 RFC 7303
|
|
330
|
-
* @see https://www.iana.org/assignments/media-types/text/xml IANA MimeType registration
|
|
331
|
-
* @see https://en.wikipedia.org/wiki/XML_and_MIME Wikipedia
|
|
332
|
-
*/
|
|
333
|
-
XML_TEXT: 'text/xml',
|
|
334
|
-
|
|
335
|
-
/**
|
|
336
|
-
* `application/xhtml+xml`, indicates an XML document that has the default HTML namespace,
|
|
337
|
-
* but is parsed as an XML document.
|
|
338
|
-
*
|
|
339
|
-
* @see https://www.iana.org/assignments/media-types/application/xhtml+xml IANA MimeType
|
|
340
|
-
* registration
|
|
341
|
-
* @see https://dom.spec.whatwg.org/#dom-domimplementation-createdocument WHATWG DOM Spec
|
|
342
|
-
* @see https://en.wikipedia.org/wiki/XHTML Wikipedia
|
|
343
|
-
*/
|
|
344
|
-
XML_XHTML_APPLICATION: 'application/xhtml+xml',
|
|
345
|
-
|
|
346
|
-
/**
|
|
347
|
-
* `image/svg+xml`,
|
|
348
|
-
*
|
|
349
|
-
* @see https://www.iana.org/assignments/media-types/image/svg+xml IANA MimeType registration
|
|
350
|
-
* @see https://www.w3.org/TR/SVG11/ W3C SVG 1.1
|
|
351
|
-
* @see https://en.wikipedia.org/wiki/Scalable_Vector_Graphics Wikipedia
|
|
352
|
-
*/
|
|
353
|
-
XML_SVG_IMAGE: 'image/svg+xml',
|
|
354
|
-
});
|
|
355
|
-
/**
|
|
356
|
-
* @typedef {'application/xhtml+xml' | 'application/xml' | 'image/svg+xml' | 'text/html' | 'text/xml'}
|
|
357
|
-
* MimeType
|
|
358
|
-
*/
|
|
359
|
-
/**
|
|
360
|
-
* @type {MimeType[]}
|
|
361
|
-
* @private
|
|
362
|
-
* Basically `Object.values`, which is not available in ES5.
|
|
363
|
-
*/
|
|
364
|
-
var _MIME_TYPES = Object.keys(MIME_TYPE).map(function (key) {
|
|
365
|
-
return MIME_TYPE[key];
|
|
366
|
-
});
|
|
367
|
-
|
|
368
|
-
/**
|
|
369
|
-
* Only returns true if `mimeType` is one of the allowed values for
|
|
370
|
-
* `DOMParser.parseFromString`.
|
|
371
|
-
*
|
|
372
|
-
* @param {string} mimeType
|
|
373
|
-
* @returns {mimeType is 'application/xhtml+xml' | 'application/xml' | 'image/svg+xml' | 'text/html' | 'text/xml'}
|
|
374
|
-
*
|
|
375
|
-
*/
|
|
376
|
-
function isValidMimeType(mimeType) {
|
|
377
|
-
return _MIME_TYPES.indexOf(mimeType) > -1;
|
|
378
|
-
}
|
|
379
|
-
/**
|
|
380
|
-
* Namespaces that are used in this code base.
|
|
381
|
-
*
|
|
382
|
-
* @see http://www.w3.org/TR/REC-xml-names
|
|
383
|
-
*/
|
|
384
|
-
var NAMESPACE = freeze({
|
|
385
|
-
/**
|
|
386
|
-
* The XHTML namespace.
|
|
387
|
-
*
|
|
388
|
-
* @see http://www.w3.org/1999/xhtml
|
|
389
|
-
*/
|
|
390
|
-
HTML: 'http://www.w3.org/1999/xhtml',
|
|
391
|
-
|
|
392
|
-
/**
|
|
393
|
-
* The SVG namespace.
|
|
394
|
-
*
|
|
395
|
-
* @see http://www.w3.org/2000/svg
|
|
396
|
-
*/
|
|
397
|
-
SVG: 'http://www.w3.org/2000/svg',
|
|
398
|
-
|
|
399
|
-
/**
|
|
400
|
-
* The `xml:` namespace.
|
|
401
|
-
*
|
|
402
|
-
* @see http://www.w3.org/XML/1998/namespace
|
|
403
|
-
*/
|
|
404
|
-
XML: 'http://www.w3.org/XML/1998/namespace',
|
|
405
|
-
|
|
406
|
-
/**
|
|
407
|
-
* The `xmlns:` namespace.
|
|
408
|
-
*
|
|
409
|
-
* @see https://www.w3.org/2000/xmlns/
|
|
410
|
-
*/
|
|
411
|
-
XMLNS: 'http://www.w3.org/2000/xmlns/',
|
|
412
|
-
});
|
|
413
|
-
|
|
414
|
-
exports.assign = assign;
|
|
415
|
-
exports.find = find;
|
|
416
|
-
exports.freeze = freeze;
|
|
417
|
-
exports.HTML_BOOLEAN_ATTRIBUTES = HTML_BOOLEAN_ATTRIBUTES;
|
|
418
|
-
exports.HTML_RAW_TEXT_ELEMENTS = HTML_RAW_TEXT_ELEMENTS;
|
|
419
|
-
exports.HTML_VOID_ELEMENTS = HTML_VOID_ELEMENTS;
|
|
420
|
-
exports.hasDefaultHTMLNamespace = hasDefaultHTMLNamespace;
|
|
421
|
-
exports.hasOwn = hasOwn;
|
|
422
|
-
exports.isHTMLBooleanAttribute = isHTMLBooleanAttribute;
|
|
423
|
-
exports.isHTMLRawTextElement = isHTMLRawTextElement;
|
|
424
|
-
exports.isHTMLEscapableRawTextElement = isHTMLEscapableRawTextElement;
|
|
425
|
-
exports.isHTMLMimeType = isHTMLMimeType;
|
|
426
|
-
exports.isHTMLVoidElement = isHTMLVoidElement;
|
|
427
|
-
exports.isValidMimeType = isValidMimeType;
|
|
428
|
-
exports.MIME_TYPE = MIME_TYPE;
|
|
429
|
-
exports.NAMESPACE = NAMESPACE;
|