@dialecte/core 0.0.16 → 0.0.17
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/dist/env.d.ts +1 -0
- package/dist/index.d.ts +1 -8
- package/dist/index.js +309 -308
- package/dist/{chain-methods → src/chain-methods}/chain-assembler.d.ts +3 -4
- package/dist/{chain-methods → src/chain-methods}/chain-creator.d.ts +3 -4
- package/dist/{chain-methods → src/chain-methods}/ending/index.d.ts +0 -1
- package/dist/{chain-methods → src/chain-methods}/ending/queries/context.d.ts +2 -3
- package/dist/{chain-methods → src/chain-methods}/ending/queries/descendants/filter-utils.helper.d.ts +2 -3
- package/dist/src/chain-methods/ending/queries/descendants/find-descendants-as-tree.d.ts +51 -0
- package/dist/src/chain-methods/ending/queries/descendants/find-descendants.d.ts +59 -0
- package/dist/{chain-methods → src/chain-methods}/ending/queries/descendants/flatten-tree.helper.d.ts +1 -2
- package/dist/{chain-methods → src/chain-methods}/ending/queries/descendants/group-records.helper.d.ts +1 -2
- package/dist/{chain-methods → src/chain-methods}/ending/queries/descendants/index.d.ts +0 -1
- package/dist/{chain-methods → src/chain-methods}/ending/queries/descendants/match-conditions.helper.d.ts +2 -3
- package/dist/src/chain-methods/ending/queries/descendants/types.d.ts +34 -0
- package/dist/{chain-methods → src/chain-methods}/ending/queries/descendants/walk-ancestry.helper.d.ts +1 -2
- package/dist/src/chain-methods/ending/queries/find-children.d.ts +8 -0
- package/dist/src/chain-methods/ending/queries/find-children.types.d.ts +5 -0
- package/dist/{chain-methods → src/chain-methods}/ending/queries/get-attributes-values.d.ts +1 -2
- package/dist/{chain-methods → src/chain-methods}/ending/queries/get-parent.d.ts +1 -2
- package/dist/{chain-methods → src/chain-methods}/ending/queries/get-tree.d.ts +3 -4
- package/dist/src/chain-methods/ending/queries/get-tree.types.d.ts +17 -0
- package/dist/{chain-methods → src/chain-methods}/ending/queries/index.d.ts +0 -1
- package/dist/{chain-methods → src/chain-methods}/ending/transaction/commit.d.ts +2 -3
- package/dist/src/chain-methods/ending/transaction/index.d.ts +1 -0
- package/dist/src/chain-methods/ending/transaction/merge-operations.d.ts +20 -0
- package/dist/{chain-methods → src/chain-methods}/index.d.ts +0 -1
- package/dist/{chain-methods → src/chain-methods}/mutations/clone.d.ts +2 -3
- package/dist/src/chain-methods/mutations/clone.types.d.ts +16 -0
- package/dist/{chain-methods → src/chain-methods}/mutations/create.d.ts +3 -4
- package/dist/src/chain-methods/mutations/create.types.d.ts +31 -0
- package/dist/{chain-methods → src/chain-methods}/mutations/delete.d.ts +4 -5
- package/dist/src/chain-methods/mutations/delete.types.d.ts +5 -0
- package/dist/{chain-methods → src/chain-methods}/mutations/index.d.ts +0 -1
- package/dist/{chain-methods → src/chain-methods}/mutations/update.d.ts +3 -4
- package/dist/src/chain-methods/mutations/update.types.d.ts +5 -0
- package/dist/{chain-methods → src/chain-methods}/navigation/go-to-element.d.ts +4 -5
- package/dist/{chain-methods → src/chain-methods}/navigation/go-to-parent.d.ts +5 -6
- package/dist/{chain-methods → src/chain-methods}/navigation/index.d.ts +0 -1
- package/dist/src/chain-methods/navigation/types.d.ts +11 -0
- package/dist/{chain-methods → src/chain-methods}/types.d.ts +9 -10
- package/dist/{database → src/database}/index.d.ts +0 -1
- package/dist/src/database/instance.d.ts +6 -0
- package/dist/src/database/types.d.ts +8 -0
- package/dist/{dialecte → src/dialecte}/entrypoints.d.ts +4 -5
- package/dist/{dialecte → src/dialecte}/index.d.ts +0 -1
- package/dist/{dialecte → src/dialecte}/main.d.ts +3 -4
- package/dist/{dialecte → src/dialecte}/state.d.ts +1 -2
- package/dist/{dialecte → src/dialecte}/types.d.ts +6 -7
- package/dist/{errors → src/errors}/codes.d.ts +0 -1
- package/dist/{errors → src/errors}/errors.d.ts +2 -3
- package/dist/{errors → src/errors}/index.d.ts +0 -1
- package/dist/src/errors/types.d.ts +22 -0
- package/dist/{helpers → src/helpers}/assert.d.ts +0 -1
- package/dist/{helpers → src/helpers}/index.d.ts +0 -1
- package/dist/{helpers → src/helpers}/record/converter.d.ts +1 -2
- package/dist/{helpers → src/helpers}/record/guard.d.ts +1 -2
- package/dist/{helpers → src/helpers}/record/index.d.ts +0 -1
- package/dist/{helpers → src/helpers}/record/operations.d.ts +1 -2
- package/dist/{helpers → src/helpers}/record/query/find-by-attributes.d.ts +3 -4
- package/dist/{helpers → src/helpers}/record/query/index.d.ts +0 -1
- package/dist/{helpers → src/helpers}/record/query/record.d.ts +2 -3
- package/dist/src/helpers/record/query/types.d.ts +9 -0
- package/dist/{helpers → src/helpers}/record/standardizing.d.ts +1 -2
- package/dist/{helpers → src/helpers}/test-fixtures/config.d.ts +35 -36
- package/dist/{helpers → src/helpers}/test-fixtures/constant.d.ts +0 -1
- package/dist/{helpers → src/helpers}/test-fixtures/create-test-dialecte.d.ts +3 -4
- package/dist/{helpers → src/helpers}/test-fixtures/generated/constants.generated.d.ts +41 -42
- package/dist/src/helpers/test-fixtures/generated/definition.d.ts +1 -0
- package/dist/{helpers → src/helpers}/test-fixtures/generated/index.d.ts +0 -1
- package/dist/{helpers → src/helpers}/test-fixtures/generated/types.generated.d.ts +37 -38
- package/dist/{helpers → src/helpers}/test-fixtures/index.d.ts +0 -1
- package/dist/{helpers → src/helpers}/test-fixtures/test-operations.d.ts +4 -5
- package/dist/src/helpers/test-fixtures/test-operations.types.d.ts +19 -0
- package/dist/{helpers → src/helpers}/test-fixtures/test-record.d.ts +2 -3
- package/dist/src/index.d.ts +7 -0
- package/dist/{io → src/io}/export/constant.d.ts +0 -1
- package/dist/{io → src/io}/export/download-file.d.ts +1 -2
- package/dist/{io → src/io}/export/formatter.d.ts +0 -1
- package/dist/{io → src/io}/export/index.d.ts +0 -1
- package/dist/{io → src/io}/export/main.d.ts +1 -2
- package/dist/{io → src/io}/import/database-helpers.d.ts +1 -2
- package/dist/{io → src/io}/import/guards.d.ts +0 -1
- package/dist/{io → src/io}/import/index.d.ts +0 -1
- package/dist/{io → src/io}/import/main.d.ts +1 -2
- package/dist/{io → src/io}/import/parser.d.ts +2 -3
- package/dist/{io → src/io}/import/relationships.d.ts +1 -2
- package/dist/{io → src/io}/import/types.d.ts +4 -5
- package/dist/{io → src/io}/index.d.ts +0 -1
- package/dist/src/types/context.d.ts +15 -0
- package/dist/{types → src/types}/definition.d.ts +6 -7
- package/dist/{types → src/types}/dialecte-config.d.ts +31 -32
- package/dist/{types → src/types}/index.d.ts +0 -1
- package/dist/{types → src/types}/io.d.ts +3 -4
- package/dist/{types → src/types}/operations.d.ts +5 -6
- package/dist/src/types/records.d.ts +56 -0
- package/dist/{utils → src/utils}/attributes.d.ts +1 -2
- package/dist/src/utils/index.d.ts +1 -0
- package/dist/vitest.shims.d.ts +1 -0
- package/package.json +8 -2
- package/dist/chain-methods/chain-assembler.d.ts.map +0 -1
- package/dist/chain-methods/chain-creator.d.ts.map +0 -1
- package/dist/chain-methods/ending/index.d.ts.map +0 -1
- package/dist/chain-methods/ending/queries/context.d.ts.map +0 -1
- package/dist/chain-methods/ending/queries/descendants/filter-utils.helper.d.ts.map +0 -1
- package/dist/chain-methods/ending/queries/descendants/find-descendants-as-tree.d.ts +0 -9
- package/dist/chain-methods/ending/queries/descendants/find-descendants-as-tree.d.ts.map +0 -1
- package/dist/chain-methods/ending/queries/descendants/find-descendants.d.ts +0 -16
- package/dist/chain-methods/ending/queries/descendants/find-descendants.d.ts.map +0 -1
- package/dist/chain-methods/ending/queries/descendants/flatten-tree.helper.d.ts.map +0 -1
- package/dist/chain-methods/ending/queries/descendants/group-records.helper.d.ts.map +0 -1
- package/dist/chain-methods/ending/queries/descendants/index.d.ts.map +0 -1
- package/dist/chain-methods/ending/queries/descendants/match-conditions.helper.d.ts.map +0 -1
- package/dist/chain-methods/ending/queries/descendants/types.d.ts +0 -35
- package/dist/chain-methods/ending/queries/descendants/types.d.ts.map +0 -1
- package/dist/chain-methods/ending/queries/descendants/walk-ancestry.helper.d.ts.map +0 -1
- package/dist/chain-methods/ending/queries/find-children.d.ts +0 -9
- package/dist/chain-methods/ending/queries/find-children.d.ts.map +0 -1
- package/dist/chain-methods/ending/queries/find-children.types.d.ts +0 -6
- package/dist/chain-methods/ending/queries/find-children.types.d.ts.map +0 -1
- package/dist/chain-methods/ending/queries/get-attributes-values.d.ts.map +0 -1
- package/dist/chain-methods/ending/queries/get-parent.d.ts.map +0 -1
- package/dist/chain-methods/ending/queries/get-tree.d.ts.map +0 -1
- package/dist/chain-methods/ending/queries/get-tree.types.d.ts +0 -18
- package/dist/chain-methods/ending/queries/get-tree.types.d.ts.map +0 -1
- package/dist/chain-methods/ending/queries/index.d.ts.map +0 -1
- package/dist/chain-methods/ending/transaction/commit.d.ts.map +0 -1
- package/dist/chain-methods/ending/transaction/index.d.ts +0 -2
- package/dist/chain-methods/ending/transaction/index.d.ts.map +0 -1
- package/dist/chain-methods/ending/transaction/merge-operations.d.ts +0 -33
- package/dist/chain-methods/ending/transaction/merge-operations.d.ts.map +0 -1
- package/dist/chain-methods/index.d.ts.map +0 -1
- package/dist/chain-methods/mutations/clone.d.ts.map +0 -1
- package/dist/chain-methods/mutations/clone.types.d.ts +0 -17
- package/dist/chain-methods/mutations/clone.types.d.ts.map +0 -1
- package/dist/chain-methods/mutations/create.d.ts.map +0 -1
- package/dist/chain-methods/mutations/create.types.d.ts +0 -32
- package/dist/chain-methods/mutations/create.types.d.ts.map +0 -1
- package/dist/chain-methods/mutations/delete.d.ts.map +0 -1
- package/dist/chain-methods/mutations/delete.types.d.ts +0 -6
- package/dist/chain-methods/mutations/delete.types.d.ts.map +0 -1
- package/dist/chain-methods/mutations/index.d.ts.map +0 -1
- package/dist/chain-methods/mutations/update.d.ts.map +0 -1
- package/dist/chain-methods/mutations/update.types.d.ts +0 -6
- package/dist/chain-methods/mutations/update.types.d.ts.map +0 -1
- package/dist/chain-methods/navigation/go-to-element.d.ts.map +0 -1
- package/dist/chain-methods/navigation/go-to-parent.d.ts.map +0 -1
- package/dist/chain-methods/navigation/index.d.ts.map +0 -1
- package/dist/chain-methods/navigation/types.d.ts +0 -12
- package/dist/chain-methods/navigation/types.d.ts.map +0 -1
- package/dist/chain-methods/types.d.ts.map +0 -1
- package/dist/database/index.d.ts.map +0 -1
- package/dist/database/instance.d.ts +0 -8
- package/dist/database/instance.d.ts.map +0 -1
- package/dist/database/types.d.ts +0 -8
- package/dist/database/types.d.ts.map +0 -1
- package/dist/dialecte/entrypoints.d.ts.map +0 -1
- package/dist/dialecte/index.d.ts.map +0 -1
- package/dist/dialecte/main.d.ts.map +0 -1
- package/dist/dialecte/state.d.ts.map +0 -1
- package/dist/dialecte/types.d.ts.map +0 -1
- package/dist/errors/codes.d.ts.map +0 -1
- package/dist/errors/errors.d.ts.map +0 -1
- package/dist/errors/index.d.ts.map +0 -1
- package/dist/errors/types.d.ts +0 -23
- package/dist/errors/types.d.ts.map +0 -1
- package/dist/helpers/assert.d.ts.map +0 -1
- package/dist/helpers/index.d.ts.map +0 -1
- package/dist/helpers/record/converter.d.ts.map +0 -1
- package/dist/helpers/record/guard.d.ts.map +0 -1
- package/dist/helpers/record/index.d.ts.map +0 -1
- package/dist/helpers/record/operations.d.ts.map +0 -1
- package/dist/helpers/record/query/find-by-attributes.d.ts.map +0 -1
- package/dist/helpers/record/query/index.d.ts.map +0 -1
- package/dist/helpers/record/query/record.d.ts.map +0 -1
- package/dist/helpers/record/query/types.d.ts +0 -10
- package/dist/helpers/record/query/types.d.ts.map +0 -1
- package/dist/helpers/record/standardizing.d.ts.map +0 -1
- package/dist/helpers/test-fixtures/config.d.ts.map +0 -1
- package/dist/helpers/test-fixtures/constant.d.ts.map +0 -1
- package/dist/helpers/test-fixtures/create-test-dialecte.d.ts.map +0 -1
- package/dist/helpers/test-fixtures/generated/constants.generated.d.ts.map +0 -1
- package/dist/helpers/test-fixtures/generated/definition.d.ts +0 -3
- package/dist/helpers/test-fixtures/generated/definition.d.ts.map +0 -1
- package/dist/helpers/test-fixtures/generated/index.d.ts.map +0 -1
- package/dist/helpers/test-fixtures/generated/types.generated.d.ts.map +0 -1
- package/dist/helpers/test-fixtures/index.d.ts.map +0 -1
- package/dist/helpers/test-fixtures/test-operations.d.ts.map +0 -1
- package/dist/helpers/test-fixtures/test-operations.types.d.ts +0 -20
- package/dist/helpers/test-fixtures/test-operations.types.d.ts.map +0 -1
- package/dist/helpers/test-fixtures/test-record.d.ts.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/io/export/constant.d.ts.map +0 -1
- package/dist/io/export/download-file.d.ts.map +0 -1
- package/dist/io/export/formatter.d.ts.map +0 -1
- package/dist/io/export/index.d.ts.map +0 -1
- package/dist/io/export/main.d.ts.map +0 -1
- package/dist/io/import/database-helpers.d.ts.map +0 -1
- package/dist/io/import/guards.d.ts.map +0 -1
- package/dist/io/import/index.d.ts.map +0 -1
- package/dist/io/import/main.d.ts.map +0 -1
- package/dist/io/import/parser.d.ts.map +0 -1
- package/dist/io/import/relationships.d.ts.map +0 -1
- package/dist/io/import/test.handler.d.ts +0 -9
- package/dist/io/import/test.handler.d.ts.map +0 -1
- package/dist/io/import/test.types.d.ts +0 -4
- package/dist/io/import/test.types.d.ts.map +0 -1
- package/dist/io/import/types.d.ts.map +0 -1
- package/dist/io/index.d.ts.map +0 -1
- package/dist/script/element-parent-mapping.d.ts +0 -2
- package/dist/script/element-parent-mapping.d.ts.map +0 -1
- package/dist/script/find-unreferenced-elements.d.ts +0 -3
- package/dist/script/find-unreferenced-elements.d.ts.map +0 -1
- package/dist/script/generate-definition.d.ts +0 -3
- package/dist/script/generate-definition.d.ts.map +0 -1
- package/dist/script/generate-definition.types.d.ts +0 -86
- package/dist/script/generate-definition.types.d.ts.map +0 -1
- package/dist/script/generate-test-fixtures.d.ts +0 -16
- package/dist/script/generate-test-fixtures.d.ts.map +0 -1
- package/dist/script/pyodide.d.ts +0 -12
- package/dist/script/pyodide.d.ts.map +0 -1
- package/dist/script/sorted-dexie-dump-json.d.ts +0 -2
- package/dist/script/sorted-dexie-dump-json.d.ts.map +0 -1
- package/dist/script/test-pyodide.d.ts +0 -9
- package/dist/script/test-pyodide.d.ts.map +0 -1
- package/dist/types/context.d.ts +0 -16
- package/dist/types/context.d.ts.map +0 -1
- package/dist/types/definition.d.ts.map +0 -1
- package/dist/types/dialecte-config.d.ts.map +0 -1
- package/dist/types/index.d.ts.map +0 -1
- package/dist/types/io.d.ts.map +0 -1
- package/dist/types/operations.d.ts.map +0 -1
- package/dist/types/records.d.ts +0 -57
- package/dist/types/records.d.ts.map +0 -1
- package/dist/utils/attributes.d.ts.map +0 -1
- package/dist/utils/index.d.ts +0 -2
- package/dist/utils/index.d.ts.map +0 -1
package/dist/index.js
CHANGED
|
@@ -73,10 +73,10 @@ function lo(l) {
|
|
|
73
73
|
);
|
|
74
74
|
}
|
|
75
75
|
function fo(l) {
|
|
76
|
-
const { record: c, dialecteConfig: u } = l, { id: a, tagName: d, attributes: m, namespace: g, value: b } = c, A = a ?? crypto.randomUUID(),
|
|
76
|
+
const { record: c, dialecteConfig: u } = l, { id: a, tagName: d, attributes: m, namespace: g, value: b } = c, A = a ?? crypto.randomUUID(), I = m ? lo({ tagName: d, attributes: m, dialecteConfig: u }) : [], K = {
|
|
77
77
|
id: A,
|
|
78
78
|
tagName: d,
|
|
79
|
-
attributes:
|
|
79
|
+
attributes: I,
|
|
80
80
|
namespace: g ?? {
|
|
81
81
|
prefix: "prefixNeededForNotSupportedNamespace",
|
|
82
82
|
uri: "uriNeededForNotSupportedNamespace"
|
|
@@ -87,7 +87,7 @@ function fo(l) {
|
|
|
87
87
|
};
|
|
88
88
|
if (!u.elements.includes(d)) return K;
|
|
89
89
|
const Y = u.definition[d].attributes.sequence, H = u.definition[d].attributes.details, M = Y.flatMap((Z) => {
|
|
90
|
-
const re = H[Z].required, be = H[Z]?.namespace || void 0, z =
|
|
90
|
+
const re = H[Z].required, be = H[Z]?.namespace || void 0, z = I.find((ie) => ie.name === Z)?.value || (re ? H[Z]?.default || "" : void 0);
|
|
91
91
|
return z === void 0 ? [] : [
|
|
92
92
|
{
|
|
93
93
|
name: Z,
|
|
@@ -161,22 +161,22 @@ async function Qt(l) {
|
|
|
161
161
|
if (b?.status === "deleted") return;
|
|
162
162
|
if (b)
|
|
163
163
|
return g === "raw" ? b.record : Te({ record: b.record, status: b.status });
|
|
164
|
-
const A = d.database.tables.xmlElements.name,
|
|
165
|
-
if (
|
|
166
|
-
return ye(
|
|
164
|
+
const A = d.database.tables.xmlElements.name, I = await m.table(A).get(c);
|
|
165
|
+
if (I)
|
|
166
|
+
return ye(I.tagName === u, "Element tagName mismatch"), g === "raw" ? I : Te({ record: I });
|
|
167
167
|
}
|
|
168
168
|
async function ca(l) {
|
|
169
169
|
const { stagedOperations: c, tagName: u, dialecteConfig: a, databaseInstance: d, type: m = "raw" } = l, g = a.database.tables.xmlElements.name, b = await d.table(g).where({ tagName: u }).toArray(), A = new Map(
|
|
170
|
-
b.map((
|
|
170
|
+
b.map((I) => [I.id, m === "raw" ? I : Te({ record: I })])
|
|
171
171
|
);
|
|
172
|
-
for (const
|
|
173
|
-
(
|
|
174
|
-
|
|
175
|
-
Te({ record:
|
|
172
|
+
for (const I of c)
|
|
173
|
+
(I.status === "created" || I.status === "updated") && I.newRecord.tagName === u && (m === "chain" ? A.set(
|
|
174
|
+
I.newRecord.id,
|
|
175
|
+
Te({ record: I.newRecord, status: I.status })
|
|
176
176
|
) : A.set(
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
)),
|
|
177
|
+
I.newRecord.id,
|
|
178
|
+
I.newRecord
|
|
179
|
+
)), I.status === "deleted" && I.oldRecord?.tagName === u && A.delete(I.oldRecord.id);
|
|
180
180
|
return Array.from(A.values());
|
|
181
181
|
}
|
|
182
182
|
function yr(l) {
|
|
@@ -188,8 +188,8 @@ function yr(l) {
|
|
|
188
188
|
const g = [...u].reverse().find((A) => a !== void 0 ? A.status === "created" || A.status === "updated" ? A.newRecord.id === a : A.status === "deleted" ? A.oldRecord.id === a : !1 : (A.status === "deleted" ? A.oldRecord : A.newRecord).tagName === d);
|
|
189
189
|
if (!g) return;
|
|
190
190
|
if (g.status === "deleted") {
|
|
191
|
-
const A = d ? ` ${d}` : "",
|
|
192
|
-
if (m) throw new Error(`Element${A}${
|
|
191
|
+
const A = d ? ` ${d}` : "", I = a ? ` with id ${a}` : "";
|
|
192
|
+
if (m) throw new Error(`Element${A}${I} has been deleted`);
|
|
193
193
|
}
|
|
194
194
|
const b = g.status === "deleted" ? g.oldRecord : g.newRecord;
|
|
195
195
|
if (b.tagName !== d) {
|
|
@@ -585,7 +585,7 @@ function ba() {
|
|
|
585
585
|
function va(l, c, u) {
|
|
586
586
|
const a = _a(l, c);
|
|
587
587
|
for (const d of a) {
|
|
588
|
-
const m = po(d), g = Ca(d), b = Aa(d, c),
|
|
588
|
+
const m = po(d), g = Ca(d), b = Aa(d, c), I = d.endsWith("_3") ? je.ext : je.default, K = ya(d), $ = [...K.required, ...K.optional], Y = Jr(d), M = {
|
|
589
589
|
...Ye,
|
|
590
590
|
minOccurrence: Y === 1 ? 1 : null,
|
|
591
591
|
maxOccurrence: Y
|
|
@@ -600,13 +600,13 @@ function va(l, c, u) {
|
|
|
600
600
|
type: "string",
|
|
601
601
|
validation: Ye
|
|
602
602
|
},
|
|
603
|
-
namespace:
|
|
603
|
+
namespace: I,
|
|
604
604
|
attributes: {
|
|
605
605
|
any: !1,
|
|
606
606
|
sequence: $,
|
|
607
607
|
details: Object.fromEntries(
|
|
608
608
|
$.map((F) => {
|
|
609
|
-
const Z = K.required.includes(F), be = F.startsWith("c") ? je.ext :
|
|
609
|
+
const Z = K.required.includes(F), be = F.startsWith("c") ? je.ext : I;
|
|
610
610
|
return [
|
|
611
611
|
F,
|
|
612
612
|
{
|
|
@@ -652,8 +652,8 @@ function _a(l, c) {
|
|
|
652
652
|
for (const g of a) {
|
|
653
653
|
const b = g.replace(/_\d+/g, "") + l.charAt(0);
|
|
654
654
|
for (let A = 1; A <= 3; A++) {
|
|
655
|
-
const
|
|
656
|
-
u.push(
|
|
655
|
+
const I = `${b}_${A}`;
|
|
656
|
+
u.push(I), m.push(I);
|
|
657
657
|
}
|
|
658
658
|
}
|
|
659
659
|
a = m;
|
|
@@ -778,12 +778,12 @@ function Ra() {
|
|
|
778
778
|
}), e;
|
|
779
779
|
}
|
|
780
780
|
typeof Promise > "u" || m.Promise || (m.Promise = Promise);
|
|
781
|
-
var
|
|
781
|
+
var I = Object.getPrototypeOf, K = {}.hasOwnProperty;
|
|
782
782
|
function $(e, t) {
|
|
783
783
|
return K.call(e, t);
|
|
784
784
|
}
|
|
785
785
|
function Y(e, t) {
|
|
786
|
-
typeof t == "function" && (t = t(
|
|
786
|
+
typeof t == "function" && (t = t(I(e))), (typeof Reflect > "u" ? g : Reflect.ownKeys)(t).forEach(function(n) {
|
|
787
787
|
M(e, n, t[n]);
|
|
788
788
|
});
|
|
789
789
|
}
|
|
@@ -839,9 +839,9 @@ function Ra() {
|
|
|
839
839
|
for (t in e) $(e, t) && (n[t] = e[t]);
|
|
840
840
|
return n;
|
|
841
841
|
}
|
|
842
|
-
var
|
|
842
|
+
var D = [].concat;
|
|
843
843
|
function Dt(e) {
|
|
844
|
-
return
|
|
844
|
+
return D.apply([], e);
|
|
845
845
|
}
|
|
846
846
|
var ft = "BigUint64Array,BigInt64Array,Array,Boolean,String,Date,RegExp,Blob,File,FileList,FileSystemFileHandle,FileSystemDirectoryHandle,ArrayBuffer,DataView,Uint8ClampedArray,ImageBitmap,ImageData,Map,Set,CryptoKey".split(",").concat(Dt([8, 16, 32, 64].map(function(e) {
|
|
847
847
|
return ["Int", "Uint", "Float"].map(function(t) {
|
|
@@ -862,7 +862,7 @@ function Ra() {
|
|
|
862
862
|
for (var o = 0, i = n.length; o < i; ++o) r.push(t(n[o]));
|
|
863
863
|
} else if (ze.has(n.constructor)) r = n;
|
|
864
864
|
else {
|
|
865
|
-
var h, p =
|
|
865
|
+
var h, p = I(n);
|
|
866
866
|
for (h in r = p === Object.prototype ? {} : Object.create(p), de.set(n, r), n) $(n, h) && (r[h] = t(n[h]));
|
|
867
867
|
}
|
|
868
868
|
return r;
|
|
@@ -1006,9 +1006,9 @@ function Ra() {
|
|
|
1006
1006
|
}
|
|
1007
1007
|
var Ft = {}, _r = 100, ft = typeof Promise > "u" ? [] : (function() {
|
|
1008
1008
|
var e = Promise.resolve();
|
|
1009
|
-
if (typeof crypto > "u" || !crypto.subtle) return [e,
|
|
1009
|
+
if (typeof crypto > "u" || !crypto.subtle) return [e, I(e), e];
|
|
1010
1010
|
var t = crypto.subtle.digest("SHA-512", new Uint8Array([0]));
|
|
1011
|
-
return [t,
|
|
1011
|
+
return [t, I(t), e];
|
|
1012
1012
|
})(), kt = ft[0], Me = ft[1], ft = ft[2], Me = Me && Me.then, dt = kt && kt.constructor, In = !!ft, Mt = function(e, t) {
|
|
1013
1013
|
jt.push([e, t]), Zt && (queueMicrotask(So), Zt = !1);
|
|
1014
1014
|
}, Pn = !0, Zt = !0, ht = [], Jt = [], Sn = he, et = { id: "global", global: !0, ref: 0, unhandleds: [], onunhandled: J, pgp: !1, env: {}, finalize: J }, Q = et, jt = [], mt = 0, en = [];
|
|
@@ -1486,7 +1486,7 @@ function Ra() {
|
|
|
1486
1486
|
}, enumerable: !1, configurable: !0 }), o.prototype.table = function() {
|
|
1487
1487
|
return r;
|
|
1488
1488
|
}, e = o);
|
|
1489
|
-
for (var i = /* @__PURE__ */ new Set(), h = e.prototype; h; h =
|
|
1489
|
+
for (var i = /* @__PURE__ */ new Set(), h = e.prototype; h; h = I(h)) Object.getOwnPropertyNames(h).forEach(function(v) {
|
|
1490
1490
|
return i.add(v);
|
|
1491
1491
|
});
|
|
1492
1492
|
function p(v) {
|
|
@@ -2516,7 +2516,7 @@ function Ra() {
|
|
|
2516
2516
|
var i = r[o];
|
|
2517
2517
|
t.forEach(function(h) {
|
|
2518
2518
|
var p = (function v(C, B) {
|
|
2519
|
-
return Z(C, B) || (C =
|
|
2519
|
+
return Z(C, B) || (C = I(C)) && v(C, B);
|
|
2520
2520
|
})(h, o);
|
|
2521
2521
|
(!p || "value" in p && p.value === void 0) && (h === e.Transaction.prototype || h instanceof e.Transaction ? M(h, o, { get: function() {
|
|
2522
2522
|
return this.table(o);
|
|
@@ -3809,37 +3809,14 @@ const {
|
|
|
3809
3809
|
remove: vs,
|
|
3810
3810
|
DexieYProvider: _s
|
|
3811
3811
|
} = ct;
|
|
3812
|
-
|
|
3813
|
-
const { databaseName: c, dialecteConfig: u
|
|
3814
|
-
[
|
|
3812
|
+
function bo(l) {
|
|
3813
|
+
const { databaseName: c, dialecteConfig: u } = l, { xmlElements: a, additionalTables: d } = u.database.tables, m = new ct(c), g = {
|
|
3814
|
+
[a.name]: a.schema
|
|
3815
3815
|
};
|
|
3816
|
-
if (
|
|
3817
|
-
for (const [
|
|
3818
|
-
b
|
|
3819
|
-
return
|
|
3820
|
-
databaseInstance: g,
|
|
3821
|
-
dialecteConfig: u
|
|
3822
|
-
}), g;
|
|
3823
|
-
}
|
|
3824
|
-
async function Da(l) {
|
|
3825
|
-
const { databaseInstance: c, dialecteConfig: u } = l, a = u.database.tables.xmlElements.name, d = u.rootElementName;
|
|
3826
|
-
await c.open();
|
|
3827
|
-
const m = c.table(a), g = await m.where({ tagName: d }).count(), b = u.definition[d].attributes.details;
|
|
3828
|
-
let A = [];
|
|
3829
|
-
for (const [D, K] of Object.entries(b))
|
|
3830
|
-
K.required && K.default && A.push({
|
|
3831
|
-
name: D,
|
|
3832
|
-
value: K.default.toString(),
|
|
3833
|
-
namespace: K.namespace ?? void 0
|
|
3834
|
-
});
|
|
3835
|
-
g === 0 && await m.add({
|
|
3836
|
-
id: crypto.randomUUID(),
|
|
3837
|
-
tagName: d,
|
|
3838
|
-
namespace: u.definition[d].namespace,
|
|
3839
|
-
attributes: A,
|
|
3840
|
-
parent: null,
|
|
3841
|
-
children: []
|
|
3842
|
-
});
|
|
3816
|
+
if (d)
|
|
3817
|
+
for (const [b, A] of Object.entries(d))
|
|
3818
|
+
g[b] = A.schema;
|
|
3819
|
+
return m.version(1).stores(g), m;
|
|
3843
3820
|
}
|
|
3844
3821
|
const Rn = {
|
|
3845
3822
|
loading: !1,
|
|
@@ -3849,33 +3826,33 @@ const Rn = {
|
|
|
3849
3826
|
function lt(l) {
|
|
3850
3827
|
Object.assign(Rn, l);
|
|
3851
3828
|
}
|
|
3852
|
-
function
|
|
3829
|
+
function Da(l) {
|
|
3853
3830
|
lt({
|
|
3854
3831
|
loading: !0,
|
|
3855
3832
|
error: null,
|
|
3856
3833
|
progress: l ? { phase: "executing", operation: l } : { phase: "starting" }
|
|
3857
3834
|
});
|
|
3858
3835
|
}
|
|
3859
|
-
function
|
|
3836
|
+
function Ia() {
|
|
3860
3837
|
lt({
|
|
3861
3838
|
loading: !1,
|
|
3862
3839
|
progress: null
|
|
3863
3840
|
});
|
|
3864
3841
|
}
|
|
3865
|
-
function
|
|
3842
|
+
function Pa(l) {
|
|
3866
3843
|
lt({
|
|
3867
3844
|
loading: !1,
|
|
3868
3845
|
error: l,
|
|
3869
3846
|
progress: null
|
|
3870
3847
|
});
|
|
3871
3848
|
}
|
|
3872
|
-
function
|
|
3849
|
+
function Sa(l) {
|
|
3873
3850
|
lt({
|
|
3874
3851
|
loading: !0,
|
|
3875
3852
|
progress: { phase: "executing", operation: l }
|
|
3876
3853
|
});
|
|
3877
3854
|
}
|
|
3878
|
-
function
|
|
3855
|
+
function Fa(l) {
|
|
3879
3856
|
const { current: c, total: u, operation: a } = l, d = Rn.progress;
|
|
3880
3857
|
!d || d.phase !== "ending" ? lt({
|
|
3881
3858
|
loading: !0,
|
|
@@ -3893,7 +3870,7 @@ function ka(l) {
|
|
|
3893
3870
|
}
|
|
3894
3871
|
});
|
|
3895
3872
|
}
|
|
3896
|
-
function
|
|
3873
|
+
function ka() {
|
|
3897
3874
|
const l = Rn.progress;
|
|
3898
3875
|
l?.phase === "ending" && lt({
|
|
3899
3876
|
loading: !1,
|
|
@@ -3904,14 +3881,14 @@ function Ma() {
|
|
|
3904
3881
|
});
|
|
3905
3882
|
}
|
|
3906
3883
|
const st = {
|
|
3907
|
-
setLoading:
|
|
3908
|
-
setIdle:
|
|
3909
|
-
setError:
|
|
3910
|
-
setOperation:
|
|
3911
|
-
updateEndingProgress:
|
|
3912
|
-
setComplete:
|
|
3884
|
+
setLoading: Da,
|
|
3885
|
+
setIdle: Ia,
|
|
3886
|
+
setError: Pa,
|
|
3887
|
+
setOperation: Sa,
|
|
3888
|
+
updateEndingProgress: Fa,
|
|
3889
|
+
setComplete: ka
|
|
3913
3890
|
};
|
|
3914
|
-
function
|
|
3891
|
+
function Ma() {
|
|
3915
3892
|
return Rn;
|
|
3916
3893
|
}
|
|
3917
3894
|
function vo() {
|
|
@@ -3921,22 +3898,21 @@ function vo() {
|
|
|
3921
3898
|
progress: null
|
|
3922
3899
|
});
|
|
3923
3900
|
}
|
|
3924
|
-
function
|
|
3901
|
+
function ja(l) {
|
|
3925
3902
|
vo();
|
|
3926
3903
|
const { dialecteConfig: c, databaseInstance: u, extensions: a } = l, d = c.database.tables.xmlElements.name, m = c.rootElementName, g = Promise.resolve().then(
|
|
3927
3904
|
async () => {
|
|
3928
|
-
|
|
3929
|
-
|
|
3930
|
-
|
|
3931
|
-
|
|
3932
|
-
);
|
|
3933
|
-
const A = await u.table(d).get({ tagName: m });
|
|
3905
|
+
await Ka({
|
|
3906
|
+
databaseInstance: u,
|
|
3907
|
+
dialecteConfig: c
|
|
3908
|
+
});
|
|
3909
|
+
const b = await u.table(d).get({ tagName: m });
|
|
3934
3910
|
return ye(
|
|
3935
|
-
|
|
3911
|
+
b,
|
|
3936
3912
|
`Root element "${m}" not found in database "${u.name}"`
|
|
3937
3913
|
), {
|
|
3938
3914
|
currentFocus: Te({
|
|
3939
|
-
record:
|
|
3915
|
+
record: b
|
|
3940
3916
|
}),
|
|
3941
3917
|
stagedOperations: []
|
|
3942
3918
|
};
|
|
@@ -3950,23 +3926,49 @@ function Ka(l) {
|
|
|
3950
3926
|
focusedTagName: m
|
|
3951
3927
|
});
|
|
3952
3928
|
}
|
|
3929
|
+
async function Ka(l) {
|
|
3930
|
+
const { databaseInstance: c, dialecteConfig: u } = l, a = u.database.tables.xmlElements.name, d = u.rootElementName;
|
|
3931
|
+
await c.open();
|
|
3932
|
+
const m = c.table(a), g = await m.where({ tagName: d }).count();
|
|
3933
|
+
if (g > 0)
|
|
3934
|
+
return ye(
|
|
3935
|
+
g === 1,
|
|
3936
|
+
`Expected exactly one root element "${d}", found ${g}`
|
|
3937
|
+
);
|
|
3938
|
+
const b = u.definition[d].attributes.details;
|
|
3939
|
+
let A = [];
|
|
3940
|
+
for (const [I, K] of Object.entries(b))
|
|
3941
|
+
K.required && K.default && A.push({
|
|
3942
|
+
name: I,
|
|
3943
|
+
value: K.default.toString(),
|
|
3944
|
+
namespace: K.namespace ?? void 0
|
|
3945
|
+
});
|
|
3946
|
+
await m.add({
|
|
3947
|
+
id: crypto.randomUUID(),
|
|
3948
|
+
tagName: d,
|
|
3949
|
+
namespace: u.definition[d].namespace,
|
|
3950
|
+
attributes: A,
|
|
3951
|
+
parent: null,
|
|
3952
|
+
children: []
|
|
3953
|
+
});
|
|
3954
|
+
}
|
|
3953
3955
|
function qa(l) {
|
|
3954
3956
|
vo();
|
|
3955
3957
|
const { dialecteConfig: c, databaseInstance: u, extensions: a, tagName: d, id: m } = l, g = c.database.tables.xmlElements.name, b = Promise.resolve().then(
|
|
3956
3958
|
async () => {
|
|
3957
3959
|
const A = c.singletonElements?.includes(d);
|
|
3958
|
-
let
|
|
3960
|
+
let I;
|
|
3959
3961
|
if (A && !m)
|
|
3960
|
-
|
|
3962
|
+
I = await u.table(g).where({ tagName: d }).first();
|
|
3961
3963
|
else if (m)
|
|
3962
|
-
|
|
3964
|
+
I = await u.table(g).get({ id: m, tagName: d });
|
|
3963
3965
|
else
|
|
3964
3966
|
throw new Error(`Element ${d} requires an id parameter`);
|
|
3965
3967
|
return ye(
|
|
3966
|
-
|
|
3968
|
+
I,
|
|
3967
3969
|
m ? `Element "${d}" with id "${m}" not found in database` : `Element "${d}" not found in database`
|
|
3968
3970
|
), {
|
|
3969
|
-
currentFocus: Te({ record:
|
|
3971
|
+
currentFocus: Te({ record: I }),
|
|
3970
3972
|
stagedOperations: []
|
|
3971
3973
|
};
|
|
3972
3974
|
}
|
|
@@ -3979,18 +3981,17 @@ function qa(l) {
|
|
|
3979
3981
|
focusedTagName: d
|
|
3980
3982
|
});
|
|
3981
3983
|
}
|
|
3982
|
-
|
|
3984
|
+
function La(l) {
|
|
3983
3985
|
const { databaseName: c, dialecteConfig: u, extensions: a } = l;
|
|
3984
3986
|
ye(c, "Database name is required to create SDK");
|
|
3985
|
-
const d =
|
|
3987
|
+
const d = bo({
|
|
3986
3988
|
databaseName: c,
|
|
3987
|
-
dialecteConfig: u
|
|
3988
|
-
createRootIfEmpty: !0
|
|
3989
|
+
dialecteConfig: u
|
|
3989
3990
|
});
|
|
3990
3991
|
return {
|
|
3991
|
-
getState:
|
|
3992
|
+
getState: Ma,
|
|
3992
3993
|
getDatabaseInstance: () => d,
|
|
3993
|
-
fromRoot: () =>
|
|
3994
|
+
fromRoot: () => ja({ dialecteConfig: u, databaseInstance: d, extensions: a }),
|
|
3994
3995
|
fromElement: (m) => qa({
|
|
3995
3996
|
dialecteConfig: u,
|
|
3996
3997
|
databaseInstance: d,
|
|
@@ -4045,7 +4046,7 @@ function Qa() {
|
|
|
4045
4046
|
(function(c) {
|
|
4046
4047
|
c.parser = function(f, s) {
|
|
4047
4048
|
return new a(f, s);
|
|
4048
|
-
}, c.SAXParser = a, c.SAXStream = K, c.createStream =
|
|
4049
|
+
}, c.SAXParser = a, c.SAXStream = K, c.createStream = I, c.MAX_BUFFER_LENGTH = 64 * 1024;
|
|
4049
4050
|
var u = [
|
|
4050
4051
|
"comment",
|
|
4051
4052
|
"sgmlDecl",
|
|
@@ -4084,7 +4085,7 @@ function Qa() {
|
|
|
4084
4085
|
if (!(this instanceof a))
|
|
4085
4086
|
return new a(f, s);
|
|
4086
4087
|
var O = this;
|
|
4087
|
-
m(O), O.q = O.c = "", O.bufferCheckPosition = c.MAX_BUFFER_LENGTH, O.opt = s || {}, O.opt.lowercase = O.opt.lowercase || O.opt.lowercasetags, O.looseCase = O.opt.lowercase ? "toLowerCase" : "toUpperCase", O.tags = [], O.closed = O.closedRoot = O.sawRoot = !1, O.tag = O.error = null, O.strict = !!f, O.noscript = !!(f || O.opt.noscript), O.state =
|
|
4088
|
+
m(O), O.q = O.c = "", O.bufferCheckPosition = c.MAX_BUFFER_LENGTH, O.opt = s || {}, O.opt.lowercase = O.opt.lowercase || O.opt.lowercasetags, O.looseCase = O.opt.lowercase ? "toLowerCase" : "toUpperCase", O.tags = [], O.closed = O.closedRoot = O.sawRoot = !1, O.tag = O.error = null, O.strict = !!f, O.noscript = !!(f || O.opt.noscript), O.state = D.BEGIN, O.strictEntities = O.opt.strictEntities, O.ENTITIES = O.strictEntities ? Object.create(c.XML_ENTITIES) : Object.create(c.ENTITIES), O.attribList = [], O.opt.xmlns && (O.ns = Object.create(F)), O.opt.unquotedAttributeValues === void 0 && (O.opt.unquotedAttributeValues = !f), O.trackPosition = O.opt.position !== !1, O.trackPosition && (O.position = O.line = O.column = 0), ze(O, "onready");
|
|
4088
4089
|
}
|
|
4089
4090
|
Object.create || (Object.create = function(f) {
|
|
4090
4091
|
function s() {
|
|
@@ -4153,7 +4154,7 @@ function Qa() {
|
|
|
4153
4154
|
var A = c.EVENTS.filter(function(f) {
|
|
4154
4155
|
return f !== "error" && f !== "end";
|
|
4155
4156
|
});
|
|
4156
|
-
function
|
|
4157
|
+
function I(f, s) {
|
|
4157
4158
|
return new K(f, s);
|
|
4158
4159
|
}
|
|
4159
4160
|
function K(f, s) {
|
|
@@ -4216,79 +4217,79 @@ function Qa() {
|
|
|
4216
4217
|
function De(f, s) {
|
|
4217
4218
|
return !ae(f, s);
|
|
4218
4219
|
}
|
|
4219
|
-
var
|
|
4220
|
+
var D = 0;
|
|
4220
4221
|
c.STATE = {
|
|
4221
|
-
BEGIN:
|
|
4222
|
+
BEGIN: D++,
|
|
4222
4223
|
// leading byte order mark or whitespace
|
|
4223
|
-
BEGIN_WHITESPACE:
|
|
4224
|
+
BEGIN_WHITESPACE: D++,
|
|
4224
4225
|
// leading whitespace
|
|
4225
|
-
TEXT:
|
|
4226
|
+
TEXT: D++,
|
|
4226
4227
|
// general stuff
|
|
4227
|
-
TEXT_ENTITY:
|
|
4228
|
+
TEXT_ENTITY: D++,
|
|
4228
4229
|
// & and such.
|
|
4229
|
-
OPEN_WAKA:
|
|
4230
|
+
OPEN_WAKA: D++,
|
|
4230
4231
|
// <
|
|
4231
|
-
SGML_DECL:
|
|
4232
|
+
SGML_DECL: D++,
|
|
4232
4233
|
// <!BLARG
|
|
4233
|
-
SGML_DECL_QUOTED:
|
|
4234
|
+
SGML_DECL_QUOTED: D++,
|
|
4234
4235
|
// <!BLARG foo "bar
|
|
4235
|
-
DOCTYPE:
|
|
4236
|
+
DOCTYPE: D++,
|
|
4236
4237
|
// <!DOCTYPE
|
|
4237
|
-
DOCTYPE_QUOTED:
|
|
4238
|
+
DOCTYPE_QUOTED: D++,
|
|
4238
4239
|
// <!DOCTYPE "//blah
|
|
4239
|
-
DOCTYPE_DTD:
|
|
4240
|
+
DOCTYPE_DTD: D++,
|
|
4240
4241
|
// <!DOCTYPE "//blah" [ ...
|
|
4241
|
-
DOCTYPE_DTD_QUOTED:
|
|
4242
|
+
DOCTYPE_DTD_QUOTED: D++,
|
|
4242
4243
|
// <!DOCTYPE "//blah" [ "foo
|
|
4243
|
-
COMMENT_STARTING:
|
|
4244
|
+
COMMENT_STARTING: D++,
|
|
4244
4245
|
// <!-
|
|
4245
|
-
COMMENT:
|
|
4246
|
+
COMMENT: D++,
|
|
4246
4247
|
// <!--
|
|
4247
|
-
COMMENT_ENDING:
|
|
4248
|
+
COMMENT_ENDING: D++,
|
|
4248
4249
|
// <!-- blah -
|
|
4249
|
-
COMMENT_ENDED:
|
|
4250
|
+
COMMENT_ENDED: D++,
|
|
4250
4251
|
// <!-- blah --
|
|
4251
|
-
CDATA:
|
|
4252
|
+
CDATA: D++,
|
|
4252
4253
|
// <![CDATA[ something
|
|
4253
|
-
CDATA_ENDING:
|
|
4254
|
+
CDATA_ENDING: D++,
|
|
4254
4255
|
// ]
|
|
4255
|
-
CDATA_ENDING_2:
|
|
4256
|
+
CDATA_ENDING_2: D++,
|
|
4256
4257
|
// ]]
|
|
4257
|
-
PROC_INST:
|
|
4258
|
+
PROC_INST: D++,
|
|
4258
4259
|
// <?hi
|
|
4259
|
-
PROC_INST_BODY:
|
|
4260
|
+
PROC_INST_BODY: D++,
|
|
4260
4261
|
// <?hi there
|
|
4261
|
-
PROC_INST_ENDING:
|
|
4262
|
+
PROC_INST_ENDING: D++,
|
|
4262
4263
|
// <?hi "there" ?
|
|
4263
|
-
OPEN_TAG:
|
|
4264
|
+
OPEN_TAG: D++,
|
|
4264
4265
|
// <strong
|
|
4265
|
-
OPEN_TAG_SLASH:
|
|
4266
|
+
OPEN_TAG_SLASH: D++,
|
|
4266
4267
|
// <strong /
|
|
4267
|
-
ATTRIB:
|
|
4268
|
+
ATTRIB: D++,
|
|
4268
4269
|
// <a
|
|
4269
|
-
ATTRIB_NAME:
|
|
4270
|
+
ATTRIB_NAME: D++,
|
|
4270
4271
|
// <a foo
|
|
4271
|
-
ATTRIB_NAME_SAW_WHITE:
|
|
4272
|
+
ATTRIB_NAME_SAW_WHITE: D++,
|
|
4272
4273
|
// <a foo _
|
|
4273
|
-
ATTRIB_VALUE:
|
|
4274
|
+
ATTRIB_VALUE: D++,
|
|
4274
4275
|
// <a foo=
|
|
4275
|
-
ATTRIB_VALUE_QUOTED:
|
|
4276
|
+
ATTRIB_VALUE_QUOTED: D++,
|
|
4276
4277
|
// <a foo="bar
|
|
4277
|
-
ATTRIB_VALUE_CLOSED:
|
|
4278
|
+
ATTRIB_VALUE_CLOSED: D++,
|
|
4278
4279
|
// <a foo="bar"
|
|
4279
|
-
ATTRIB_VALUE_UNQUOTED:
|
|
4280
|
+
ATTRIB_VALUE_UNQUOTED: D++,
|
|
4280
4281
|
// <a foo=bar
|
|
4281
|
-
ATTRIB_VALUE_ENTITY_Q:
|
|
4282
|
+
ATTRIB_VALUE_ENTITY_Q: D++,
|
|
4282
4283
|
// <foo bar="""
|
|
4283
|
-
ATTRIB_VALUE_ENTITY_U:
|
|
4284
|
+
ATTRIB_VALUE_ENTITY_U: D++,
|
|
4284
4285
|
// <foo bar="
|
|
4285
|
-
CLOSE_TAG:
|
|
4286
|
+
CLOSE_TAG: D++,
|
|
4286
4287
|
// </a
|
|
4287
|
-
CLOSE_TAG_SAW_WHITE:
|
|
4288
|
+
CLOSE_TAG_SAW_WHITE: D++,
|
|
4288
4289
|
// </a >
|
|
4289
|
-
SCRIPT:
|
|
4290
|
+
SCRIPT: D++,
|
|
4290
4291
|
// <script> ...
|
|
4291
|
-
SCRIPT_ENDING:
|
|
4292
|
+
SCRIPT_ENDING: D++
|
|
4292
4293
|
// <script> ... <
|
|
4293
4294
|
}, c.XML_ENTITIES = {
|
|
4294
4295
|
amp: "&",
|
|
@@ -4556,7 +4557,7 @@ function Qa() {
|
|
|
4556
4557
|
});
|
|
4557
4558
|
for (var Dt in c.STATE)
|
|
4558
4559
|
c.STATE[c.STATE[Dt]] = Dt;
|
|
4559
|
-
|
|
4560
|
+
D = c.STATE;
|
|
4560
4561
|
function ze(f, s, O) {
|
|
4561
4562
|
f[s] && f[s](O);
|
|
4562
4563
|
}
|
|
@@ -4576,7 +4577,7 @@ Column: ` + f.column + `
|
|
|
4576
4577
|
Char: ` + f.c), s = new Error(s), f.error = s, ze(f, "onerror", s), f;
|
|
4577
4578
|
}
|
|
4578
4579
|
function Ct(f) {
|
|
4579
|
-
return f.sawRoot && !f.closedRoot && fe(f, "Unclosed root tag"), f.state !==
|
|
4580
|
+
return f.sawRoot && !f.closedRoot && fe(f, "Unclosed root tag"), f.state !== D.BEGIN && f.state !== D.BEGIN_WHITESPACE && f.state !== D.TEXT && Ve(f, "Unexpected end"), Se(f), f.c = "", f.closed = !0, ze(f, "onend"), a.call(f, f.strict, f.opt), f;
|
|
4580
4581
|
}
|
|
4581
4582
|
function fe(f, s) {
|
|
4582
4583
|
if (typeof f != "object" || !(f instanceof a))
|
|
@@ -4653,16 +4654,16 @@ Actual: ` + f.attribValue
|
|
|
4653
4654
|
}
|
|
4654
4655
|
f.attribList.length = 0;
|
|
4655
4656
|
}
|
|
4656
|
-
f.tag.isSelfClosing = !!s, f.sawRoot = !0, f.tags.push(f.tag), de(f, "onopentag", f.tag), s || (!f.noscript && f.tagName.toLowerCase() === "script" ? f.state =
|
|
4657
|
+
f.tag.isSelfClosing = !!s, f.sawRoot = !0, f.tags.push(f.tag), de(f, "onopentag", f.tag), s || (!f.noscript && f.tagName.toLowerCase() === "script" ? f.state = D.SCRIPT : f.state = D.TEXT, f.tag = null, f.tagName = ""), f.attribName = f.attribValue = "", f.attribList.length = 0;
|
|
4657
4658
|
}
|
|
4658
4659
|
function It(f) {
|
|
4659
4660
|
if (!f.tagName) {
|
|
4660
|
-
fe(f, "Weird empty close tag."), f.textNode += "</>", f.state =
|
|
4661
|
+
fe(f, "Weird empty close tag."), f.textNode += "</>", f.state = D.TEXT;
|
|
4661
4662
|
return;
|
|
4662
4663
|
}
|
|
4663
4664
|
if (f.script) {
|
|
4664
4665
|
if (f.tagName !== "script") {
|
|
4665
|
-
f.script += "</" + f.tagName + ">", f.tagName = "", f.state =
|
|
4666
|
+
f.script += "</" + f.tagName + ">", f.tagName = "", f.state = D.SCRIPT;
|
|
4666
4667
|
return;
|
|
4667
4668
|
}
|
|
4668
4669
|
de(f, "onscript", f.script), f.script = "";
|
|
@@ -4677,7 +4678,7 @@ Actual: ` + f.attribValue
|
|
|
4677
4678
|
break;
|
|
4678
4679
|
}
|
|
4679
4680
|
if (s < 0) {
|
|
4680
|
-
fe(f, "Unmatched closing tag: " + f.tagName), f.textNode += "</" + f.tagName + ">", f.state =
|
|
4681
|
+
fe(f, "Unmatched closing tag: " + f.tagName), f.textNode += "</" + f.tagName + ">", f.state = D.TEXT;
|
|
4681
4682
|
return;
|
|
4682
4683
|
}
|
|
4683
4684
|
f.tagName = O;
|
|
@@ -4693,14 +4694,14 @@ Actual: ` + f.attribValue
|
|
|
4693
4694
|
de(f, "onclosenamespace", { prefix: we, uri: qe });
|
|
4694
4695
|
});
|
|
4695
4696
|
}
|
|
4696
|
-
s === 0 && (f.closedRoot = !0), f.tagName = f.attribValue = f.attribName = "", f.attribList.length = 0, f.state =
|
|
4697
|
+
s === 0 && (f.closedRoot = !0), f.tagName = f.attribValue = f.attribName = "", f.attribList.length = 0, f.state = D.TEXT;
|
|
4697
4698
|
}
|
|
4698
4699
|
function Qe(f) {
|
|
4699
4700
|
var s = f.entity, O = s.toLowerCase(), E, ue = "";
|
|
4700
4701
|
return f.ENTITIES[s] ? f.ENTITIES[s] : f.ENTITIES[O] ? f.ENTITIES[O] : (s = O, s.charAt(0) === "#" && (s.charAt(1) === "x" ? (s = s.slice(2), E = parseInt(s, 16), ue = E.toString(16)) : (s = s.slice(1), E = parseInt(s, 10), ue = E.toString(10))), s = s.replace(/^0+/, ""), isNaN(E) || ue.toLowerCase() !== s || E < 0 || E > 1114111 ? (fe(f, "Invalid character entity"), "&" + f.entity + ";") : String.fromCodePoint(E));
|
|
4701
4702
|
}
|
|
4702
4703
|
function Pt(f, s) {
|
|
4703
|
-
s === "<" ? (f.state =
|
|
4704
|
+
s === "<" ? (f.state = D.OPEN_WAKA, f.startTagPosition = f.position) : z(s) || (fe(f, "Non-whitespace before first tag."), f.textNode = s, f.state = D.TEXT);
|
|
4704
4705
|
}
|
|
4705
4706
|
function He(f, s) {
|
|
4706
4707
|
var O = "";
|
|
@@ -4721,184 +4722,184 @@ Actual: ` + f.attribValue
|
|
|
4721
4722
|
for (var O = 0, E = ""; E = He(f, O++), s.c = E, !!E; )
|
|
4722
4723
|
switch (s.trackPosition && (s.position++, E === `
|
|
4723
4724
|
` ? (s.line++, s.column = 0) : s.column++), s.state) {
|
|
4724
|
-
case
|
|
4725
|
-
if (s.state =
|
|
4725
|
+
case D.BEGIN:
|
|
4726
|
+
if (s.state = D.BEGIN_WHITESPACE, E === "\uFEFF")
|
|
4726
4727
|
continue;
|
|
4727
4728
|
Pt(s, E);
|
|
4728
4729
|
continue;
|
|
4729
|
-
case
|
|
4730
|
+
case D.BEGIN_WHITESPACE:
|
|
4730
4731
|
Pt(s, E);
|
|
4731
4732
|
continue;
|
|
4732
|
-
case
|
|
4733
|
+
case D.TEXT:
|
|
4733
4734
|
if (s.sawRoot && !s.closedRoot) {
|
|
4734
4735
|
for (var J = O - 1; E && E !== "<" && E !== "&"; )
|
|
4735
4736
|
E = He(f, O++), E && s.trackPosition && (s.position++, E === `
|
|
4736
4737
|
` ? (s.line++, s.column = 0) : s.column++);
|
|
4737
4738
|
s.textNode += f.substring(J, O - 1);
|
|
4738
4739
|
}
|
|
4739
|
-
E === "<" && !(s.sawRoot && s.closedRoot && !s.strict) ? (s.state =
|
|
4740
|
+
E === "<" && !(s.sawRoot && s.closedRoot && !s.strict) ? (s.state = D.OPEN_WAKA, s.startTagPosition = s.position) : (!z(E) && (!s.sawRoot || s.closedRoot) && fe(s, "Text data outside of root node."), E === "&" ? s.state = D.TEXT_ENTITY : s.textNode += E);
|
|
4740
4741
|
continue;
|
|
4741
|
-
case
|
|
4742
|
-
E === "<" ? s.state =
|
|
4742
|
+
case D.SCRIPT:
|
|
4743
|
+
E === "<" ? s.state = D.SCRIPT_ENDING : s.script += E;
|
|
4743
4744
|
continue;
|
|
4744
|
-
case
|
|
4745
|
-
E === "/" ? s.state =
|
|
4745
|
+
case D.SCRIPT_ENDING:
|
|
4746
|
+
E === "/" ? s.state = D.CLOSE_TAG : (s.script += "<" + E, s.state = D.SCRIPT);
|
|
4746
4747
|
continue;
|
|
4747
|
-
case
|
|
4748
|
+
case D.OPEN_WAKA:
|
|
4748
4749
|
if (E === "!")
|
|
4749
|
-
s.state =
|
|
4750
|
+
s.state = D.SGML_DECL, s.sgmlDecl = "";
|
|
4750
4751
|
else if (!z(E)) if (ae(Z, E))
|
|
4751
|
-
s.state =
|
|
4752
|
+
s.state = D.OPEN_TAG, s.tagName = E;
|
|
4752
4753
|
else if (E === "/")
|
|
4753
|
-
s.state =
|
|
4754
|
+
s.state = D.CLOSE_TAG, s.tagName = "";
|
|
4754
4755
|
else if (E === "?")
|
|
4755
|
-
s.state =
|
|
4756
|
+
s.state = D.PROC_INST, s.procInstName = s.procInstBody = "";
|
|
4756
4757
|
else {
|
|
4757
4758
|
if (fe(s, "Unencoded <"), s.startTagPosition + 1 < s.position) {
|
|
4758
4759
|
var ue = s.position - s.startTagPosition;
|
|
4759
4760
|
E = new Array(ue).join(" ") + E;
|
|
4760
4761
|
}
|
|
4761
|
-
s.textNode += "<" + E, s.state =
|
|
4762
|
+
s.textNode += "<" + E, s.state = D.TEXT;
|
|
4762
4763
|
}
|
|
4763
4764
|
continue;
|
|
4764
|
-
case
|
|
4765
|
+
case D.SGML_DECL:
|
|
4765
4766
|
if (s.sgmlDecl + E === "--") {
|
|
4766
|
-
s.state =
|
|
4767
|
+
s.state = D.COMMENT, s.comment = "", s.sgmlDecl = "";
|
|
4767
4768
|
continue;
|
|
4768
4769
|
}
|
|
4769
|
-
s.doctype && s.doctype !== !0 && s.sgmlDecl ? (s.state =
|
|
4770
|
+
s.doctype && s.doctype !== !0 && s.sgmlDecl ? (s.state = D.DOCTYPE_DTD, s.doctype += "<!" + s.sgmlDecl + E, s.sgmlDecl = "") : (s.sgmlDecl + E).toUpperCase() === $ ? (de(s, "onopencdata"), s.state = D.CDATA, s.sgmlDecl = "", s.cdata = "") : (s.sgmlDecl + E).toUpperCase() === Y ? (s.state = D.DOCTYPE, (s.doctype || s.sawRoot) && fe(
|
|
4770
4771
|
s,
|
|
4771
4772
|
"Inappropriately located doctype declaration"
|
|
4772
|
-
), s.doctype = "", s.sgmlDecl = "") : E === ">" ? (de(s, "onsgmldeclaration", s.sgmlDecl), s.sgmlDecl = "", s.state =
|
|
4773
|
+
), s.doctype = "", s.sgmlDecl = "") : E === ">" ? (de(s, "onsgmldeclaration", s.sgmlDecl), s.sgmlDecl = "", s.state = D.TEXT) : (ie(E) && (s.state = D.SGML_DECL_QUOTED), s.sgmlDecl += E);
|
|
4773
4774
|
continue;
|
|
4774
|
-
case
|
|
4775
|
-
E === s.q && (s.state =
|
|
4775
|
+
case D.SGML_DECL_QUOTED:
|
|
4776
|
+
E === s.q && (s.state = D.SGML_DECL, s.q = ""), s.sgmlDecl += E;
|
|
4776
4777
|
continue;
|
|
4777
|
-
case
|
|
4778
|
-
E === ">" ? (s.state =
|
|
4778
|
+
case D.DOCTYPE:
|
|
4779
|
+
E === ">" ? (s.state = D.TEXT, de(s, "ondoctype", s.doctype), s.doctype = !0) : (s.doctype += E, E === "[" ? s.state = D.DOCTYPE_DTD : ie(E) && (s.state = D.DOCTYPE_QUOTED, s.q = E));
|
|
4779
4780
|
continue;
|
|
4780
|
-
case
|
|
4781
|
-
s.doctype += E, E === s.q && (s.q = "", s.state =
|
|
4781
|
+
case D.DOCTYPE_QUOTED:
|
|
4782
|
+
s.doctype += E, E === s.q && (s.q = "", s.state = D.DOCTYPE);
|
|
4782
4783
|
continue;
|
|
4783
|
-
case
|
|
4784
|
-
E === "]" ? (s.doctype += E, s.state =
|
|
4784
|
+
case D.DOCTYPE_DTD:
|
|
4785
|
+
E === "]" ? (s.doctype += E, s.state = D.DOCTYPE) : E === "<" ? (s.state = D.OPEN_WAKA, s.startTagPosition = s.position) : ie(E) ? (s.doctype += E, s.state = D.DOCTYPE_DTD_QUOTED, s.q = E) : s.doctype += E;
|
|
4785
4786
|
continue;
|
|
4786
|
-
case
|
|
4787
|
-
s.doctype += E, E === s.q && (s.state =
|
|
4787
|
+
case D.DOCTYPE_DTD_QUOTED:
|
|
4788
|
+
s.doctype += E, E === s.q && (s.state = D.DOCTYPE_DTD, s.q = "");
|
|
4788
4789
|
continue;
|
|
4789
|
-
case
|
|
4790
|
-
E === "-" ? s.state =
|
|
4790
|
+
case D.COMMENT:
|
|
4791
|
+
E === "-" ? s.state = D.COMMENT_ENDING : s.comment += E;
|
|
4791
4792
|
continue;
|
|
4792
|
-
case
|
|
4793
|
-
E === "-" ? (s.state =
|
|
4793
|
+
case D.COMMENT_ENDING:
|
|
4794
|
+
E === "-" ? (s.state = D.COMMENT_ENDED, s.comment = Ht(s.opt, s.comment), s.comment && de(s, "oncomment", s.comment), s.comment = "") : (s.comment += "-" + E, s.state = D.COMMENT);
|
|
4794
4795
|
continue;
|
|
4795
|
-
case
|
|
4796
|
-
E !== ">" ? (fe(s, "Malformed comment"), s.comment += "--" + E, s.state =
|
|
4796
|
+
case D.COMMENT_ENDED:
|
|
4797
|
+
E !== ">" ? (fe(s, "Malformed comment"), s.comment += "--" + E, s.state = D.COMMENT) : s.doctype && s.doctype !== !0 ? s.state = D.DOCTYPE_DTD : s.state = D.TEXT;
|
|
4797
4798
|
continue;
|
|
4798
|
-
case
|
|
4799
|
+
case D.CDATA:
|
|
4799
4800
|
for (var J = O - 1; E && E !== "]"; )
|
|
4800
4801
|
E = He(f, O++), E && s.trackPosition && (s.position++, E === `
|
|
4801
4802
|
` ? (s.line++, s.column = 0) : s.column++);
|
|
4802
|
-
s.cdata += f.substring(J, O - 1), E === "]" && (s.state =
|
|
4803
|
+
s.cdata += f.substring(J, O - 1), E === "]" && (s.state = D.CDATA_ENDING);
|
|
4803
4804
|
continue;
|
|
4804
|
-
case
|
|
4805
|
-
E === "]" ? s.state =
|
|
4805
|
+
case D.CDATA_ENDING:
|
|
4806
|
+
E === "]" ? s.state = D.CDATA_ENDING_2 : (s.cdata += "]" + E, s.state = D.CDATA);
|
|
4806
4807
|
continue;
|
|
4807
|
-
case
|
|
4808
|
-
E === ">" ? (s.cdata && de(s, "oncdata", s.cdata), de(s, "onclosecdata"), s.cdata = "", s.state =
|
|
4808
|
+
case D.CDATA_ENDING_2:
|
|
4809
|
+
E === ">" ? (s.cdata && de(s, "oncdata", s.cdata), de(s, "onclosecdata"), s.cdata = "", s.state = D.TEXT) : E === "]" ? s.cdata += "]" : (s.cdata += "]]" + E, s.state = D.CDATA);
|
|
4809
4810
|
continue;
|
|
4810
|
-
case
|
|
4811
|
-
E === "?" ? s.state =
|
|
4811
|
+
case D.PROC_INST:
|
|
4812
|
+
E === "?" ? s.state = D.PROC_INST_ENDING : z(E) ? s.state = D.PROC_INST_BODY : s.procInstName += E;
|
|
4812
4813
|
continue;
|
|
4813
|
-
case
|
|
4814
|
+
case D.PROC_INST_BODY:
|
|
4814
4815
|
if (!s.procInstBody && z(E))
|
|
4815
4816
|
continue;
|
|
4816
|
-
E === "?" ? s.state =
|
|
4817
|
+
E === "?" ? s.state = D.PROC_INST_ENDING : s.procInstBody += E;
|
|
4817
4818
|
continue;
|
|
4818
|
-
case
|
|
4819
|
+
case D.PROC_INST_ENDING:
|
|
4819
4820
|
E === ">" ? (de(s, "onprocessinginstruction", {
|
|
4820
4821
|
name: s.procInstName,
|
|
4821
4822
|
body: s.procInstBody
|
|
4822
|
-
}), s.procInstName = s.procInstBody = "", s.state =
|
|
4823
|
+
}), s.procInstName = s.procInstBody = "", s.state = D.TEXT) : (s.procInstBody += "?" + E, s.state = D.PROC_INST_BODY);
|
|
4823
4824
|
continue;
|
|
4824
|
-
case
|
|
4825
|
-
ae(re, E) ? s.tagName += E : (Ge(s), E === ">" ? Ke(s) : E === "/" ? s.state =
|
|
4825
|
+
case D.OPEN_TAG:
|
|
4826
|
+
ae(re, E) ? s.tagName += E : (Ge(s), E === ">" ? Ke(s) : E === "/" ? s.state = D.OPEN_TAG_SLASH : (z(E) || fe(s, "Invalid character in tag name"), s.state = D.ATTRIB));
|
|
4826
4827
|
continue;
|
|
4827
|
-
case
|
|
4828
|
+
case D.OPEN_TAG_SLASH:
|
|
4828
4829
|
E === ">" ? (Ke(s, !0), It(s)) : (fe(
|
|
4829
4830
|
s,
|
|
4830
4831
|
"Forward-slash in opening tag not followed by >"
|
|
4831
|
-
), s.state =
|
|
4832
|
+
), s.state = D.ATTRIB);
|
|
4832
4833
|
continue;
|
|
4833
|
-
case
|
|
4834
|
+
case D.ATTRIB:
|
|
4834
4835
|
if (z(E))
|
|
4835
4836
|
continue;
|
|
4836
|
-
E === ">" ? Ke(s) : E === "/" ? s.state =
|
|
4837
|
+
E === ">" ? Ke(s) : E === "/" ? s.state = D.OPEN_TAG_SLASH : ae(Z, E) ? (s.attribName = E, s.attribValue = "", s.state = D.ATTRIB_NAME) : fe(s, "Invalid attribute name");
|
|
4837
4838
|
continue;
|
|
4838
|
-
case
|
|
4839
|
-
E === "=" ? s.state =
|
|
4839
|
+
case D.ATTRIB_NAME:
|
|
4840
|
+
E === "=" ? s.state = D.ATTRIB_VALUE : E === ">" ? (fe(s, "Attribute without value"), s.attribValue = s.attribName, Fe(s), Ke(s)) : z(E) ? s.state = D.ATTRIB_NAME_SAW_WHITE : ae(re, E) ? s.attribName += E : fe(s, "Invalid attribute name");
|
|
4840
4841
|
continue;
|
|
4841
|
-
case
|
|
4842
|
+
case D.ATTRIB_NAME_SAW_WHITE:
|
|
4842
4843
|
if (E === "=")
|
|
4843
|
-
s.state =
|
|
4844
|
+
s.state = D.ATTRIB_VALUE;
|
|
4844
4845
|
else {
|
|
4845
4846
|
if (z(E))
|
|
4846
4847
|
continue;
|
|
4847
4848
|
fe(s, "Attribute without value"), s.tag.attributes[s.attribName] = "", s.attribValue = "", de(s, "onattribute", {
|
|
4848
4849
|
name: s.attribName,
|
|
4849
4850
|
value: ""
|
|
4850
|
-
}), s.attribName = "", E === ">" ? Ke(s) : ae(Z, E) ? (s.attribName = E, s.state =
|
|
4851
|
+
}), s.attribName = "", E === ">" ? Ke(s) : ae(Z, E) ? (s.attribName = E, s.state = D.ATTRIB_NAME) : (fe(s, "Invalid attribute name"), s.state = D.ATTRIB);
|
|
4851
4852
|
}
|
|
4852
4853
|
continue;
|
|
4853
|
-
case
|
|
4854
|
+
case D.ATTRIB_VALUE:
|
|
4854
4855
|
if (z(E))
|
|
4855
4856
|
continue;
|
|
4856
|
-
ie(E) ? (s.q = E, s.state =
|
|
4857
|
+
ie(E) ? (s.q = E, s.state = D.ATTRIB_VALUE_QUOTED) : (s.opt.unquotedAttributeValues || Ve(s, "Unquoted attribute value"), s.state = D.ATTRIB_VALUE_UNQUOTED, s.attribValue = E);
|
|
4857
4858
|
continue;
|
|
4858
|
-
case
|
|
4859
|
+
case D.ATTRIB_VALUE_QUOTED:
|
|
4859
4860
|
if (E !== s.q) {
|
|
4860
|
-
E === "&" ? s.state =
|
|
4861
|
+
E === "&" ? s.state = D.ATTRIB_VALUE_ENTITY_Q : s.attribValue += E;
|
|
4861
4862
|
continue;
|
|
4862
4863
|
}
|
|
4863
|
-
Fe(s), s.q = "", s.state =
|
|
4864
|
+
Fe(s), s.q = "", s.state = D.ATTRIB_VALUE_CLOSED;
|
|
4864
4865
|
continue;
|
|
4865
|
-
case
|
|
4866
|
-
z(E) ? s.state =
|
|
4866
|
+
case D.ATTRIB_VALUE_CLOSED:
|
|
4867
|
+
z(E) ? s.state = D.ATTRIB : E === ">" ? Ke(s) : E === "/" ? s.state = D.OPEN_TAG_SLASH : ae(Z, E) ? (fe(s, "No whitespace between attributes"), s.attribName = E, s.attribValue = "", s.state = D.ATTRIB_NAME) : fe(s, "Invalid attribute name");
|
|
4867
4868
|
continue;
|
|
4868
|
-
case
|
|
4869
|
+
case D.ATTRIB_VALUE_UNQUOTED:
|
|
4869
4870
|
if (!pe(E)) {
|
|
4870
|
-
E === "&" ? s.state =
|
|
4871
|
+
E === "&" ? s.state = D.ATTRIB_VALUE_ENTITY_U : s.attribValue += E;
|
|
4871
4872
|
continue;
|
|
4872
4873
|
}
|
|
4873
|
-
Fe(s), E === ">" ? Ke(s) : s.state =
|
|
4874
|
+
Fe(s), E === ">" ? Ke(s) : s.state = D.ATTRIB;
|
|
4874
4875
|
continue;
|
|
4875
|
-
case
|
|
4876
|
+
case D.CLOSE_TAG:
|
|
4876
4877
|
if (s.tagName)
|
|
4877
|
-
E === ">" ? It(s) : ae(re, E) ? s.tagName += E : s.script ? (s.script += "</" + s.tagName + E, s.tagName = "", s.state =
|
|
4878
|
+
E === ">" ? It(s) : ae(re, E) ? s.tagName += E : s.script ? (s.script += "</" + s.tagName + E, s.tagName = "", s.state = D.SCRIPT) : (z(E) || fe(s, "Invalid tagname in closing tag"), s.state = D.CLOSE_TAG_SAW_WHITE);
|
|
4878
4879
|
else {
|
|
4879
4880
|
if (z(E))
|
|
4880
4881
|
continue;
|
|
4881
|
-
De(Z, E) ? s.script ? (s.script += "</" + E, s.state =
|
|
4882
|
+
De(Z, E) ? s.script ? (s.script += "</" + E, s.state = D.SCRIPT) : fe(s, "Invalid tagname in closing tag.") : s.tagName = E;
|
|
4882
4883
|
}
|
|
4883
4884
|
continue;
|
|
4884
|
-
case
|
|
4885
|
+
case D.CLOSE_TAG_SAW_WHITE:
|
|
4885
4886
|
if (z(E))
|
|
4886
4887
|
continue;
|
|
4887
4888
|
E === ">" ? It(s) : fe(s, "Invalid characters in closing tag");
|
|
4888
4889
|
continue;
|
|
4889
|
-
case
|
|
4890
|
-
case
|
|
4891
|
-
case
|
|
4890
|
+
case D.TEXT_ENTITY:
|
|
4891
|
+
case D.ATTRIB_VALUE_ENTITY_Q:
|
|
4892
|
+
case D.ATTRIB_VALUE_ENTITY_U:
|
|
4892
4893
|
var he, xe;
|
|
4893
4894
|
switch (s.state) {
|
|
4894
|
-
case
|
|
4895
|
-
he =
|
|
4895
|
+
case D.TEXT_ENTITY:
|
|
4896
|
+
he = D.TEXT, xe = "textNode";
|
|
4896
4897
|
break;
|
|
4897
|
-
case
|
|
4898
|
-
he =
|
|
4898
|
+
case D.ATTRIB_VALUE_ENTITY_Q:
|
|
4899
|
+
he = D.ATTRIB_VALUE_QUOTED, xe = "attribValue";
|
|
4899
4900
|
break;
|
|
4900
|
-
case
|
|
4901
|
-
he =
|
|
4901
|
+
case D.ATTRIB_VALUE_ENTITY_U:
|
|
4902
|
+
he = D.ATTRIB_VALUE_UNQUOTED, xe = "attribValue";
|
|
4902
4903
|
break;
|
|
4903
4904
|
}
|
|
4904
4905
|
if (E === ";") {
|
|
@@ -4988,10 +4989,10 @@ function Ja(l) {
|
|
|
4988
4989
|
defaultNamespace: a.namespaces.default,
|
|
4989
4990
|
rootElementName: a.rootElementName
|
|
4990
4991
|
}));
|
|
4991
|
-
const b = ai(c, m.defaultNamespace), A = ui({ attributes: c.attributes, useCustomRecordsIds: d }),
|
|
4992
|
+
const b = ai(c, m.defaultNamespace), A = ui({ attributes: c.attributes, useCustomRecordsIds: d }), I = ci({
|
|
4992
4993
|
attributes: c.attributes,
|
|
4993
4994
|
useCustomRecordsIds: d
|
|
4994
|
-
}), K = ii(
|
|
4995
|
+
}), K = ii(I), $ = si(u.stack), Y = {
|
|
4995
4996
|
id: A,
|
|
4996
4997
|
tagName: g,
|
|
4997
4998
|
namespace: b,
|
|
@@ -5103,13 +5104,13 @@ async function li(l) {
|
|
|
5103
5104
|
continue;
|
|
5104
5105
|
}
|
|
5105
5106
|
A.size === 0 && console.warn(`File is empty: ${A.name}`);
|
|
5106
|
-
const
|
|
5107
|
+
const I = await hi({
|
|
5107
5108
|
file: A,
|
|
5108
5109
|
dialecteConfig: u,
|
|
5109
5110
|
options: b,
|
|
5110
5111
|
useCustomRecordsIds: a
|
|
5111
5112
|
});
|
|
5112
|
-
d.push(
|
|
5113
|
+
d.push(I);
|
|
5113
5114
|
}
|
|
5114
5115
|
return d;
|
|
5115
5116
|
}
|
|
@@ -5145,19 +5146,19 @@ async function mi(l) {
|
|
|
5145
5146
|
const { file: c, databaseInstance: u, elementsTableName: a, dialecteConfig: d, options: m } = l, g = c.stream().getReader(), b = Za({
|
|
5146
5147
|
dialecteConfig: d,
|
|
5147
5148
|
useCustomRecordsIds: m.useCustomRecordsIds
|
|
5148
|
-
}), A = new TextDecoder(),
|
|
5149
|
+
}), A = new TextDecoder(), I = new Uint8Array(0);
|
|
5149
5150
|
return await mr({
|
|
5150
5151
|
databaseInstance: u,
|
|
5151
5152
|
elementsTableName: a,
|
|
5152
5153
|
reader: g,
|
|
5153
5154
|
sax: b,
|
|
5154
5155
|
textDecoder: A,
|
|
5155
|
-
buffer:
|
|
5156
|
+
buffer: I,
|
|
5156
5157
|
options: m
|
|
5157
5158
|
});
|
|
5158
5159
|
}
|
|
5159
5160
|
async function mr(l) {
|
|
5160
|
-
const { databaseInstance: c, elementsTableName: u, reader: a, sax: d, textDecoder: m, buffer: g, options: b } = l, { chunkSize: A, batchSize:
|
|
5161
|
+
const { databaseInstance: c, elementsTableName: u, reader: a, sax: d, textDecoder: m, buffer: g, options: b } = l, { chunkSize: A, batchSize: I } = b, { done: K, value: $ } = await a.read();
|
|
5161
5162
|
if (K) {
|
|
5162
5163
|
if (g.length > 0) {
|
|
5163
5164
|
const H = m.decode(g);
|
|
@@ -5181,7 +5182,7 @@ async function mr(l) {
|
|
|
5181
5182
|
databaseInstance: c,
|
|
5182
5183
|
elementsTableName: u,
|
|
5183
5184
|
sax: d,
|
|
5184
|
-
batchSize:
|
|
5185
|
+
batchSize: I
|
|
5185
5186
|
});
|
|
5186
5187
|
}
|
|
5187
5188
|
return await mr({ ...l, buffer: Y });
|
|
@@ -5215,7 +5216,7 @@ function pi() {
|
|
|
5215
5216
|
return A(!1) || Y() || $() || K() || b();
|
|
5216
5217
|
}
|
|
5217
5218
|
function m() {
|
|
5218
|
-
return F(/\s*/), A(!0) || $() ||
|
|
5219
|
+
return F(/\s*/), A(!0) || $() || I() || b();
|
|
5219
5220
|
}
|
|
5220
5221
|
function g() {
|
|
5221
5222
|
const te = b(), z = [];
|
|
@@ -5295,7 +5296,7 @@ function pi() {
|
|
|
5295
5296
|
node: ie
|
|
5296
5297
|
};
|
|
5297
5298
|
}
|
|
5298
|
-
function
|
|
5299
|
+
function I() {
|
|
5299
5300
|
const te = F(/^<!DOCTYPE\s+\S+\s+SYSTEM[^>]*>/) || F(/^<!DOCTYPE\s+\S+\s+PUBLIC[^>]*>/) || F(/^<!DOCTYPE\s+\S+\s*\[[^\]]*]>/) || F(/^<!DOCTYPE\s+\S+\s*>/);
|
|
5300
5301
|
if (te) {
|
|
5301
5302
|
const z = {
|
|
@@ -5424,7 +5425,7 @@ function gi() {
|
|
|
5424
5425
|
}
|
|
5425
5426
|
M.length > 0 && (!Z && F.content.length > 0 && d(F), g(F, M));
|
|
5426
5427
|
}
|
|
5427
|
-
function
|
|
5428
|
+
function I(M, F) {
|
|
5428
5429
|
const Z = "/" + M.join("/"), re = M[M.length - 1];
|
|
5429
5430
|
return F.includes(re) || F.includes(Z);
|
|
5430
5431
|
}
|
|
@@ -5438,7 +5439,7 @@ function gi() {
|
|
|
5438
5439
|
const re = M.children;
|
|
5439
5440
|
g(F, ">"), F.level++;
|
|
5440
5441
|
let be = M.attributes["xml:space"] === "preserve" || Z, te = !1;
|
|
5441
|
-
if (!be && F.options.ignoredPaths && (te =
|
|
5442
|
+
if (!be && F.options.ignoredPaths && (te = I(F.path, F.options.ignoredPaths), be = te), !be && F.options.collapseContent) {
|
|
5442
5443
|
let z = !1, ie = !1, pe = !1;
|
|
5443
5444
|
re.forEach(function(ae, De) {
|
|
5444
5445
|
ae.type === "Text" ? (ae.content.includes(`
|
|
@@ -5485,7 +5486,7 @@ function vi(l) {
|
|
|
5485
5486
|
}
|
|
5486
5487
|
async function _i(l) {
|
|
5487
5488
|
const { extension: c, xmlDocument: u, filename: a } = l, b = `<?xml version="1.0" encoding="UTF-8"?>
|
|
5488
|
-
` + new XMLSerializer().serializeToString(u), A = vi(b),
|
|
5489
|
+
` + new XMLSerializer().serializeToString(u), A = vi(b), I = new Blob([A], { type: "application/xml" });
|
|
5489
5490
|
if ("showSaveFilePicker" in window)
|
|
5490
5491
|
try {
|
|
5491
5492
|
const $ = await (await window.showSaveFilePicker({
|
|
@@ -5497,12 +5498,12 @@ async function _i(l) {
|
|
|
5497
5498
|
}
|
|
5498
5499
|
]
|
|
5499
5500
|
})).createWritable();
|
|
5500
|
-
await $.write(
|
|
5501
|
+
await $.write(I), await $.close();
|
|
5501
5502
|
} catch (K) {
|
|
5502
5503
|
K.name !== "AbortError" && console.error("Save failed:", K);
|
|
5503
5504
|
}
|
|
5504
5505
|
else {
|
|
5505
|
-
const K = URL.createObjectURL(
|
|
5506
|
+
const K = URL.createObjectURL(I), $ = document.createElement("a");
|
|
5506
5507
|
$.href = K, $.download = a, document.body.appendChild($), $.click(), $.remove(), URL.revokeObjectURL(K);
|
|
5507
5508
|
}
|
|
5508
5509
|
}
|
|
@@ -5553,25 +5554,25 @@ async function Ci(l) {
|
|
|
5553
5554
|
g.uri,
|
|
5554
5555
|
null,
|
|
5555
5556
|
null
|
|
5556
|
-
),
|
|
5557
|
-
if (!
|
|
5557
|
+
), I = await c.table(b).where({ tagName: m }).first();
|
|
5558
|
+
if (!I) throw new Error(`No ${m} root element found in DB`);
|
|
5558
5559
|
const K = A.createElementNS(
|
|
5559
|
-
|
|
5560
|
-
|
|
5560
|
+
I.namespace.uri,
|
|
5561
|
+
I.tagName
|
|
5561
5562
|
);
|
|
5562
|
-
return K.setAttribute("xmlns",
|
|
5563
|
+
return K.setAttribute("xmlns", I.namespace.uri), I.attributes && wo({
|
|
5563
5564
|
dialecteConfig: u,
|
|
5564
5565
|
document: A,
|
|
5565
5566
|
element: K,
|
|
5566
|
-
attributes:
|
|
5567
|
+
attributes: I.attributes,
|
|
5567
5568
|
isRoot: !0
|
|
5568
|
-
}), Eo({ dialecteConfig: u, rootElement: K, namespace:
|
|
5569
|
+
}), Eo({ dialecteConfig: u, rootElement: K, namespace: I.namespace }), I.value && (K.textContent = I.value.trim()), a && K.setAttribute(_o, I.id), A.appendChild(K), await Ao({
|
|
5569
5570
|
databaseInstance: c,
|
|
5570
5571
|
dialecteConfig: u,
|
|
5571
5572
|
elementsTableName: b,
|
|
5572
5573
|
withDatabaseIds: a,
|
|
5573
5574
|
xmlDocument: A,
|
|
5574
|
-
databaseRecord:
|
|
5575
|
+
databaseRecord: I,
|
|
5575
5576
|
parentDomElement: K
|
|
5576
5577
|
});
|
|
5577
5578
|
}
|
|
@@ -5646,8 +5647,8 @@ function wo(l) {
|
|
|
5646
5647
|
document: u,
|
|
5647
5648
|
namespace: g.namespace
|
|
5648
5649
|
});
|
|
5649
|
-
const A = g.name.includes(":") && g.name.split(":").pop() || g.name,
|
|
5650
|
-
a.setAttributeNS(g.namespace.uri,
|
|
5650
|
+
const A = g.name.includes(":") && g.name.split(":").pop() || g.name, I = b ? `${b}:${A}` : A;
|
|
5651
|
+
a.setAttributeNS(g.namespace.uri, I, String(g.value));
|
|
5651
5652
|
} else a.setAttribute(g.name, String(g.value));
|
|
5652
5653
|
}
|
|
5653
5654
|
function Bo(l) {
|
|
@@ -5681,8 +5682,8 @@ function wi(l) {
|
|
|
5681
5682
|
for (const A of a)
|
|
5682
5683
|
m.has(A.tagName) ? g.get(A.tagName)?.push(A) : b.push(A);
|
|
5683
5684
|
for (const A of m) {
|
|
5684
|
-
const
|
|
5685
|
-
|
|
5685
|
+
const I = g.get(A);
|
|
5686
|
+
I && I.length && d.push(...I);
|
|
5686
5687
|
}
|
|
5687
5688
|
return d.push(...b), d;
|
|
5688
5689
|
}
|
|
@@ -5713,9 +5714,9 @@ async function Bs(l) {
|
|
|
5713
5714
|
databaseName: b,
|
|
5714
5715
|
dialecteConfig: u,
|
|
5715
5716
|
extensions: a
|
|
5716
|
-
}),
|
|
5717
|
+
}), I = A.getDatabaseInstance();
|
|
5717
5718
|
return { dialecte: A, databaseName: b, cleanup: async () => {
|
|
5718
|
-
|
|
5719
|
+
I?.isOpen() && (I.close(), await new Promise(($) => setTimeout($, 20))), await ct.delete(b);
|
|
5719
5720
|
} };
|
|
5720
5721
|
}
|
|
5721
5722
|
async function Es(l) {
|
|
@@ -5738,18 +5739,18 @@ async function Es(l) {
|
|
|
5738
5739
|
break;
|
|
5739
5740
|
case "addChild":
|
|
5740
5741
|
m.goTo && (a = a.goToElement(m.goTo));
|
|
5741
|
-
const { id: b, tagName: A, attributes:
|
|
5742
|
+
const { id: b, tagName: A, attributes: I, namespace: K, value: $, setFocus: Y } = m;
|
|
5742
5743
|
Y ? a = a.addChild({
|
|
5743
5744
|
id: b,
|
|
5744
5745
|
tagName: A,
|
|
5745
|
-
attributes:
|
|
5746
|
+
attributes: I,
|
|
5746
5747
|
namespace: K,
|
|
5747
5748
|
value: $,
|
|
5748
5749
|
setFocus: !0
|
|
5749
5750
|
}) : a = a.addChild({
|
|
5750
5751
|
id: b,
|
|
5751
5752
|
tagName: A,
|
|
5752
|
-
attributes:
|
|
5753
|
+
attributes: I,
|
|
5753
5754
|
namespace: K,
|
|
5754
5755
|
value: $,
|
|
5755
5756
|
setFocus: !1
|
|
@@ -5795,7 +5796,7 @@ function xi(l) {
|
|
|
5795
5796
|
function xo(l) {
|
|
5796
5797
|
const { contextPromise: c, dialecteConfig: u, databaseInstance: a } = l;
|
|
5797
5798
|
return async function(d = {}) {
|
|
5798
|
-
const { include: m, exclude: g, unwrap: b } = d, A = await c,
|
|
5799
|
+
const { include: m, exclude: g, unwrap: b } = d, A = await c, I = await Ni({
|
|
5799
5800
|
root: A.currentFocus,
|
|
5800
5801
|
context: A,
|
|
5801
5802
|
dialecteConfig: u,
|
|
@@ -5803,17 +5804,17 @@ function xo(l) {
|
|
|
5803
5804
|
include: m,
|
|
5804
5805
|
exclude: g
|
|
5805
5806
|
});
|
|
5806
|
-
return
|
|
5807
|
+
return I ? b ? Fi({ tree: I, unwrapTagNames: b }) : I : Nn({ record: A.currentFocus });
|
|
5807
5808
|
};
|
|
5808
5809
|
}
|
|
5809
5810
|
async function Ni(l) {
|
|
5810
5811
|
const { root: c, context: u, dialecteConfig: a, databaseInstance: d, include: m, exclude: g } = l;
|
|
5811
5812
|
async function b(A) {
|
|
5812
|
-
const { record:
|
|
5813
|
-
if (Ri({ record:
|
|
5814
|
-
return Nn({ record:
|
|
5813
|
+
const { record: I, includeFilter: K } = A;
|
|
5814
|
+
if (Ri({ record: I, excludeFilters: g }))
|
|
5815
|
+
return Nn({ record: I });
|
|
5815
5816
|
const $ = await Di({
|
|
5816
|
-
record:
|
|
5817
|
+
record: I,
|
|
5817
5818
|
context: u,
|
|
5818
5819
|
dialecteConfig: a,
|
|
5819
5820
|
databaseInstance: d,
|
|
@@ -5826,7 +5827,7 @@ async function Ni(l) {
|
|
|
5826
5827
|
)).filter(
|
|
5827
5828
|
(M) => M !== null
|
|
5828
5829
|
);
|
|
5829
|
-
return Nn({ record:
|
|
5830
|
+
return Nn({ record: I, tree: H });
|
|
5830
5831
|
}
|
|
5831
5832
|
return b({ record: c, includeFilter: m });
|
|
5832
5833
|
}
|
|
@@ -5852,7 +5853,7 @@ async function Di(l) {
|
|
|
5852
5853
|
dialecteConfig: a,
|
|
5853
5854
|
databaseInstance: d
|
|
5854
5855
|
})).filter(
|
|
5855
|
-
(
|
|
5856
|
+
(I) => !Oi({ record: I, excludeFilters: g })
|
|
5856
5857
|
);
|
|
5857
5858
|
return Pi({ children: A, currentIncludeFilter: m });
|
|
5858
5859
|
}
|
|
@@ -5995,12 +5996,12 @@ function Ro(l) {
|
|
|
5995
5996
|
return d;
|
|
5996
5997
|
}
|
|
5997
5998
|
async function qi(l) {
|
|
5998
|
-
const { contextPromise: c, dialecteConfig: u, databaseInstance: a, currentElement: d } = l, g = await xo({ contextPromise: c, dialecteConfig: u, databaseInstance: a })(), b = ki(g), A = [d, ...u.descendants[d]],
|
|
5999
|
+
const { contextPromise: c, dialecteConfig: u, databaseInstance: a, currentElement: d } = l, g = await xo({ contextPromise: c, dialecteConfig: u, databaseInstance: a })(), b = ki(g), A = [d, ...u.descendants[d]], I = {};
|
|
5999
6000
|
for (const K of A)
|
|
6000
|
-
|
|
6001
|
+
I[K] = [];
|
|
6001
6002
|
for (const K of b)
|
|
6002
|
-
|
|
6003
|
-
return
|
|
6003
|
+
I[K.tagName] && I[K.tagName].push(K);
|
|
6004
|
+
return I;
|
|
6004
6005
|
}
|
|
6005
6006
|
async function Li(l) {
|
|
6006
6007
|
const { context: c, dialecteConfig: u, databaseInstance: a, filter: d } = l, m = br(d), g = new Set(No(d)), b = m[m.length - 1], A = await ho({
|
|
@@ -6009,7 +6010,7 @@ async function Li(l) {
|
|
|
6009
6010
|
databaseInstance: a,
|
|
6010
6011
|
tagName: b.tagName,
|
|
6011
6012
|
attributes: b.attributes
|
|
6012
|
-
}),
|
|
6013
|
+
}), I = /* @__PURE__ */ new Map();
|
|
6013
6014
|
for (const K of A) {
|
|
6014
6015
|
const $ = await Ki({
|
|
6015
6016
|
record: K,
|
|
@@ -6023,9 +6024,9 @@ async function Li(l) {
|
|
|
6023
6024
|
conditions: m
|
|
6024
6025
|
})))
|
|
6025
6026
|
for (const H of $)
|
|
6026
|
-
g.has(H.tagName) && (
|
|
6027
|
+
g.has(H.tagName) && (I.has(H.tagName) || I.set(H.tagName, /* @__PURE__ */ new Map()), I.get(H.tagName).set(H.id, H));
|
|
6027
6028
|
}
|
|
6028
|
-
return Mi({ collected:
|
|
6029
|
+
return Mi({ collected: I, collectTags: g });
|
|
6029
6030
|
}
|
|
6030
6031
|
function Ui(l) {
|
|
6031
6032
|
const { contextPromise: c, dialecteConfig: u, databaseInstance: a } = l;
|
|
@@ -6034,8 +6035,8 @@ function Ui(l) {
|
|
|
6034
6035
|
contextPromise: c,
|
|
6035
6036
|
dialecteConfig: u,
|
|
6036
6037
|
databaseInstance: a
|
|
6037
|
-
})(m), A = /* @__PURE__ */ new Map(),
|
|
6038
|
-
for (const F of
|
|
6038
|
+
})(m), A = /* @__PURE__ */ new Map(), I = Object.values(b);
|
|
6039
|
+
for (const F of I)
|
|
6039
6040
|
for (const Z of F)
|
|
6040
6041
|
A.set(Z.id, Z);
|
|
6041
6042
|
if (A.size === 0) return [];
|
|
@@ -6144,7 +6145,7 @@ function Oo(l) {
|
|
|
6144
6145
|
}
|
|
6145
6146
|
function Xi(l) {
|
|
6146
6147
|
return async function() {
|
|
6147
|
-
const { contextPromise: u, dialecteConfig: a, databaseInstance: d } = l, m = a.database.tables.xmlElements.name, g = d.table(m), b = structuredClone(await u), { creates: A, updates:
|
|
6148
|
+
const { contextPromise: u, dialecteConfig: a, databaseInstance: d } = l, m = a.database.tables.xmlElements.name, g = d.table(m), b = structuredClone(await u), { creates: A, updates: I, deletes: K } = Vi(b.stagedOperations), $ = A.length + I.length + K.length;
|
|
6148
6149
|
st.updateEndingProgress({
|
|
6149
6150
|
current: 0,
|
|
6150
6151
|
total: $,
|
|
@@ -6157,10 +6158,10 @@ function Xi(l) {
|
|
|
6157
6158
|
current: Y,
|
|
6158
6159
|
total: $,
|
|
6159
6160
|
operation: `Created ${A.length} elements`
|
|
6160
|
-
})),
|
|
6161
|
+
})), I.length > 0 && (await g.bulkPut(I.map((H) => H.newRecord)), Y += I.length, st.updateEndingProgress({
|
|
6161
6162
|
current: Y,
|
|
6162
6163
|
total: $,
|
|
6163
|
-
operation: `Updated ${
|
|
6164
|
+
operation: `Updated ${I.length} elements`
|
|
6164
6165
|
})), K.length > 0 && (await g.bulkDelete(K.map((H) => H.oldRecord.id)), Y += K.length, st.updateEndingProgress({
|
|
6165
6166
|
current: Y,
|
|
6166
6167
|
total: $,
|
|
@@ -6184,7 +6185,7 @@ function Xi(l) {
|
|
|
6184
6185
|
function Wi(l) {
|
|
6185
6186
|
const { chain: c, contextPromise: u, dialecteConfig: a, focusedTagName: d } = l;
|
|
6186
6187
|
return function(m) {
|
|
6187
|
-
const { id: g, tagName: b, attributes: A, namespace:
|
|
6188
|
+
const { id: g, tagName: b, attributes: A, namespace: I, value: K, setFocus: $ = !1 } = m, Y = g ?? crypto.randomUUID(), H = u.then((M) => {
|
|
6188
6189
|
try {
|
|
6189
6190
|
st.setOperation(`Creating ${b}`);
|
|
6190
6191
|
const F = fo({
|
|
@@ -6192,7 +6193,7 @@ function Wi(l) {
|
|
|
6192
6193
|
id: Y,
|
|
6193
6194
|
tagName: b,
|
|
6194
6195
|
attributes: A,
|
|
6195
|
-
namespace:
|
|
6196
|
+
namespace: I,
|
|
6196
6197
|
value: K
|
|
6197
6198
|
},
|
|
6198
6199
|
dialecteConfig: a
|
|
@@ -6283,9 +6284,9 @@ function Yi(l) {
|
|
|
6283
6284
|
function zi(l) {
|
|
6284
6285
|
const { chain: c, contextPromise: u, dialecteConfig: a, focusedTagName: d } = l;
|
|
6285
6286
|
return function(m) {
|
|
6286
|
-
const { record: g, setFocus: b } = m, A = u.then(async (
|
|
6287
|
+
const { record: g, setFocus: b } = m, A = u.then(async (I) => {
|
|
6287
6288
|
const K = c({
|
|
6288
|
-
contextPromise: Promise.resolve(
|
|
6289
|
+
contextPromise: Promise.resolve(I)
|
|
6289
6290
|
});
|
|
6290
6291
|
let $ = await Do({
|
|
6291
6292
|
dialecteConfig: a,
|
|
@@ -6321,16 +6322,16 @@ async function Do(l) {
|
|
|
6321
6322
|
value: g.value,
|
|
6322
6323
|
setFocus: !0
|
|
6323
6324
|
});
|
|
6324
|
-
for (const
|
|
6325
|
+
for (const I of g.tree)
|
|
6325
6326
|
b = await Do({
|
|
6326
6327
|
dialecteConfig: c,
|
|
6327
6328
|
clonedRecordRootId: u,
|
|
6328
6329
|
parentChain: b,
|
|
6329
|
-
childRecord:
|
|
6330
|
+
childRecord: I
|
|
6330
6331
|
});
|
|
6331
6332
|
if (d.id !== u) {
|
|
6332
|
-
const { currentFocus:
|
|
6333
|
-
ye(
|
|
6333
|
+
const { currentFocus: I } = await b.getContext();
|
|
6334
|
+
ye(I.parent, "Clone: Current focus parent should be defined here"), b = b.goToParent(I.parent.tagName);
|
|
6334
6335
|
}
|
|
6335
6336
|
}
|
|
6336
6337
|
return b;
|
|
@@ -6339,27 +6340,27 @@ function Qi(l) {
|
|
|
6339
6340
|
const { chain: c, contextPromise: u, dialecteConfig: a } = l;
|
|
6340
6341
|
return function(d) {
|
|
6341
6342
|
const { attributes: m, value: g } = d, b = u.then(async (A) => {
|
|
6342
|
-
const
|
|
6343
|
-
let K =
|
|
6343
|
+
const I = A.currentFocus;
|
|
6344
|
+
let K = I.attributes;
|
|
6344
6345
|
if (m) {
|
|
6345
6346
|
const Y = lo({
|
|
6346
|
-
tagName:
|
|
6347
|
+
tagName: I.tagName,
|
|
6347
6348
|
attributes: m,
|
|
6348
6349
|
dialecteConfig: a
|
|
6349
6350
|
});
|
|
6350
|
-
K = [...
|
|
6351
|
+
K = [...I.attributes.filter(
|
|
6351
6352
|
(M) => !Y.some((F) => F.name === M.name)
|
|
6352
6353
|
), ...Y];
|
|
6353
6354
|
}
|
|
6354
6355
|
const $ = {
|
|
6355
|
-
...
|
|
6356
|
+
...I,
|
|
6356
6357
|
attributes: K,
|
|
6357
|
-
value: g !== void 0 ? g :
|
|
6358
|
+
value: g !== void 0 ? g : I.value
|
|
6358
6359
|
};
|
|
6359
6360
|
return ut({
|
|
6360
6361
|
context: A,
|
|
6361
6362
|
status: "updated",
|
|
6362
|
-
oldRecord:
|
|
6363
|
+
oldRecord: I,
|
|
6363
6364
|
newRecord: $
|
|
6364
6365
|
}), {
|
|
6365
6366
|
...A,
|
|
@@ -6375,19 +6376,19 @@ function Hi(l) {
|
|
|
6375
6376
|
const { chain: c, contextPromise: u, dialecteConfig: a, databaseInstance: d } = l;
|
|
6376
6377
|
return function(m) {
|
|
6377
6378
|
const { parentTagName: g } = m, b = u.then(async (A) => {
|
|
6378
|
-
const
|
|
6379
|
-
ye(
|
|
6380
|
-
|
|
6379
|
+
const I = A.currentFocus;
|
|
6380
|
+
ye(I.parent, "Delete: Cannot delete root element"), ye(
|
|
6381
|
+
I.parent.tagName === g,
|
|
6381
6382
|
"Delete: Focused element parent tag name mismatch"
|
|
6382
6383
|
), ut({
|
|
6383
6384
|
context: A,
|
|
6384
6385
|
status: "deleted",
|
|
6385
|
-
record:
|
|
6386
|
+
record: I
|
|
6386
6387
|
}), await Io({
|
|
6387
6388
|
context: A,
|
|
6388
6389
|
dialecteConfig: a,
|
|
6389
6390
|
databaseInstance: d,
|
|
6390
|
-
currentChild:
|
|
6391
|
+
currentChild: I
|
|
6391
6392
|
});
|
|
6392
6393
|
const K = await Zi({
|
|
6393
6394
|
context: A,
|
|
@@ -6455,7 +6456,7 @@ async function Zi(l) {
|
|
|
6455
6456
|
function Ji(l) {
|
|
6456
6457
|
const { chain: c, contextPromise: u, dialecteConfig: a, databaseInstance: d } = l;
|
|
6457
6458
|
return function(g) {
|
|
6458
|
-
const { tagName: b, id: A } = g,
|
|
6459
|
+
const { tagName: b, id: A } = g, I = a.database.tables.xmlElements.name, K = u.then(async ($) => {
|
|
6459
6460
|
const Y = a.singletonElements?.includes(b), H = yr({
|
|
6460
6461
|
dialecteConfig: a,
|
|
6461
6462
|
stagedOperations: $.stagedOperations,
|
|
@@ -6464,7 +6465,7 @@ function Ji(l) {
|
|
|
6464
6465
|
});
|
|
6465
6466
|
let M = H?.status !== "deleted" ? H?.record : void 0;
|
|
6466
6467
|
if (!M) {
|
|
6467
|
-
const F = d.table(
|
|
6468
|
+
const F = d.table(I);
|
|
6468
6469
|
if (!A && !Y)
|
|
6469
6470
|
throw new Error(`Element ${b} requires an id parameter`);
|
|
6470
6471
|
M = await (Y && !A ? F.where("tagName").equals(b).first() : F.get({ id: A, tagName: b }));
|
|
@@ -6490,24 +6491,24 @@ function es(l) {
|
|
|
6490
6491
|
const { chain: c, contextPromise: u, dialecteConfig: a, databaseInstance: d } = l;
|
|
6491
6492
|
return function(g) {
|
|
6492
6493
|
const b = u.then(async (A) => {
|
|
6493
|
-
const
|
|
6494
|
-
ye(
|
|
6495
|
-
|
|
6494
|
+
const I = A.currentFocus.parent;
|
|
6495
|
+
ye(I, "GoToParent:Current focus parent should be defined here"), ye(
|
|
6496
|
+
I.tagName === g,
|
|
6496
6497
|
"Parent tag name should match the requested parent"
|
|
6497
6498
|
);
|
|
6498
6499
|
const K = yr({
|
|
6499
6500
|
dialecteConfig: a,
|
|
6500
6501
|
stagedOperations: A.stagedOperations,
|
|
6501
|
-
id:
|
|
6502
|
-
tagName:
|
|
6502
|
+
id: I.id,
|
|
6503
|
+
tagName: I.tagName
|
|
6503
6504
|
});
|
|
6504
6505
|
let $;
|
|
6505
6506
|
if (K)
|
|
6506
6507
|
$ = K.record;
|
|
6507
6508
|
else {
|
|
6508
6509
|
const Y = a.database.tables.xmlElements.name, H = await d.table(Y).get({
|
|
6509
|
-
id:
|
|
6510
|
-
tagName:
|
|
6510
|
+
id: I.id,
|
|
6511
|
+
tagName: I.tagName
|
|
6511
6512
|
});
|
|
6512
6513
|
ye(H, "Parent record should be found in database"), $ = H;
|
|
6513
6514
|
}
|
|
@@ -6605,8 +6606,8 @@ function ts(l) {
|
|
|
6605
6606
|
function ns(l) {
|
|
6606
6607
|
const { extensions: c, focusedTagName: u, chain: a, dialecteConfig: d, contextPromise: m } = l, g = {}, b = c[u];
|
|
6607
6608
|
if (b)
|
|
6608
|
-
for (const [A,
|
|
6609
|
-
g[A] =
|
|
6609
|
+
for (const [A, I] of Object.entries(b))
|
|
6610
|
+
g[A] = I({
|
|
6610
6611
|
chain: a,
|
|
6611
6612
|
dialecteConfig: d,
|
|
6612
6613
|
contextPromise: m
|
|
@@ -6615,8 +6616,8 @@ function ns(l) {
|
|
|
6615
6616
|
}
|
|
6616
6617
|
function vr(l) {
|
|
6617
6618
|
const { dialecteConfig: c, databaseInstance: u, contextPromise: a, extensions: d, focusedTagName: m } = l;
|
|
6618
|
-
function g(
|
|
6619
|
-
const { contextPromise: K, newFocusedTagName: $ = m } =
|
|
6619
|
+
function g(I) {
|
|
6620
|
+
const { contextPromise: K, newFocusedTagName: $ = m } = I;
|
|
6620
6621
|
return vr({
|
|
6621
6622
|
dialecteConfig: c,
|
|
6622
6623
|
databaseInstance: u,
|
|
@@ -6675,7 +6676,7 @@ export {
|
|
|
6675
6676
|
di as getDatabaseName,
|
|
6676
6677
|
yr as getLatestStagedRecord,
|
|
6677
6678
|
Qt as getRecord,
|
|
6678
|
-
|
|
6679
|
+
Ma as getState,
|
|
6679
6680
|
li as importXmlFiles,
|
|
6680
6681
|
os as isChainRecord,
|
|
6681
6682
|
fi as isFileSupported,
|