@fieldia/core 0.30.1 → 0.31.1
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.md +373 -1
- package/package.json +1 -1
- package/schema/page.schema.json +758 -1
- package/src/index.d.mts +13 -2
- package/src/index.d.ts +13 -2
- package/src/index.js +45 -2
- package/src/index.js.map +1 -1
- package/src/index.mjs +18 -2
- package/src/index.mjs.map +1 -1
- package/src/lib/format/actions.d.mts +16 -16
- package/src/lib/format/actions.d.ts +16 -16
- package/src/lib/format/actions.js +3 -0
- package/src/lib/format/actions.js.map +1 -1
- package/src/lib/format/actions.mjs +3 -0
- package/src/lib/format/actions.mjs.map +1 -1
- package/src/lib/format/address-search.js +3 -0
- package/src/lib/format/address-search.js.map +1 -1
- package/src/lib/format/address-search.mjs +3 -0
- package/src/lib/format/address-search.mjs.map +1 -1
- package/src/lib/format/duplicates.js +3 -0
- package/src/lib/format/duplicates.js.map +1 -1
- package/src/lib/format/duplicates.mjs +3 -0
- package/src/lib/format/duplicates.mjs.map +1 -1
- package/src/lib/format/endings.js +3 -0
- package/src/lib/format/endings.js.map +1 -1
- package/src/lib/format/endings.mjs +3 -0
- package/src/lib/format/endings.mjs.map +1 -1
- package/src/lib/format/field.d.mts +669 -0
- package/src/lib/format/field.d.ts +669 -0
- package/src/lib/format/field.js +42 -4
- package/src/lib/format/field.js.map +1 -1
- package/src/lib/format/field.mjs +42 -4
- package/src/lib/format/field.mjs.map +1 -1
- package/src/lib/format/flow-checks.d.mts +14 -0
- package/src/lib/format/flow-checks.d.ts +14 -0
- package/src/lib/format/flow-checks.js +61 -0
- package/src/lib/format/flow-checks.js.map +1 -0
- package/src/lib/format/flow-checks.mjs +58 -0
- package/src/lib/format/flow-checks.mjs.map +1 -0
- package/src/lib/format/flow.d.mts +43 -0
- package/src/lib/format/flow.d.ts +43 -0
- package/src/lib/format/flow.js +22 -0
- package/src/lib/format/flow.js.map +1 -0
- package/src/lib/format/flow.mjs +19 -0
- package/src/lib/format/flow.mjs.map +1 -0
- package/src/lib/format/from-schema.d.mts +70 -0
- package/src/lib/format/from-schema.d.ts +70 -0
- package/src/lib/format/from-schema.js +599 -0
- package/src/lib/format/from-schema.js.map +1 -0
- package/src/lib/format/from-schema.mjs +591 -0
- package/src/lib/format/from-schema.mjs.map +1 -0
- package/src/lib/format/jitless.d.mts +1 -0
- package/src/lib/format/jitless.d.ts +1 -0
- package/src/lib/format/jitless.js +27 -0
- package/src/lib/format/jitless.js.map +1 -0
- package/src/lib/format/jitless.mjs +24 -0
- package/src/lib/format/jitless.mjs.map +1 -0
- package/src/lib/format/json-schema.js +3 -0
- package/src/lib/format/json-schema.js.map +1 -1
- package/src/lib/format/json-schema.mjs +3 -0
- package/src/lib/format/json-schema.mjs.map +1 -1
- package/src/lib/format/json.js +3 -0
- package/src/lib/format/json.js.map +1 -1
- package/src/lib/format/json.mjs +3 -0
- package/src/lib/format/json.mjs.map +1 -1
- package/src/lib/format/languages-checks.d.mts +2 -1
- package/src/lib/format/languages-checks.d.ts +2 -1
- package/src/lib/format/languages-checks.js +8 -2
- package/src/lib/format/languages-checks.js.map +1 -1
- package/src/lib/format/languages-checks.mjs +8 -2
- package/src/lib/format/languages-checks.mjs.map +1 -1
- package/src/lib/format/later-checks.d.mts +3 -1
- package/src/lib/format/later-checks.d.ts +3 -1
- package/src/lib/format/later-checks.js +3 -1
- package/src/lib/format/later-checks.js.map +1 -1
- package/src/lib/format/later-checks.mjs +3 -1
- package/src/lib/format/later-checks.mjs.map +1 -1
- package/src/lib/format/layout.d.mts +13192 -7550
- package/src/lib/format/layout.d.ts +13192 -7550
- package/src/lib/format/layout.js +61 -3
- package/src/lib/format/layout.js.map +1 -1
- package/src/lib/format/layout.mjs +59 -1
- package/src/lib/format/layout.mjs.map +1 -1
- package/src/lib/format/layout.types.d.mts +3 -1
- package/src/lib/format/layout.types.d.ts +3 -1
- package/src/lib/format/limits.js +3 -0
- package/src/lib/format/limits.js.map +1 -1
- package/src/lib/format/limits.mjs +3 -0
- package/src/lib/format/limits.mjs.map +1 -1
- package/src/lib/format/list-checks.d.mts +1 -1
- package/src/lib/format/list-checks.d.ts +1 -1
- package/src/lib/format/list-checks.js +67 -22
- package/src/lib/format/list-checks.js.map +1 -1
- package/src/lib/format/list-checks.mjs +67 -22
- package/src/lib/format/list-checks.mjs.map +1 -1
- package/src/lib/format/list-rows-checks.d.mts +11 -0
- package/src/lib/format/list-rows-checks.d.ts +11 -0
- package/src/lib/format/list-rows-checks.js +62 -0
- package/src/lib/format/list-rows-checks.js.map +1 -0
- package/src/lib/format/list-rows-checks.mjs +59 -0
- package/src/lib/format/list-rows-checks.mjs.map +1 -0
- package/src/lib/format/media-options.d.mts +84 -0
- package/src/lib/format/media-options.d.ts +84 -0
- package/src/lib/format/media-options.js +86 -0
- package/src/lib/format/media-options.js.map +1 -0
- package/src/lib/format/media-options.mjs +80 -0
- package/src/lib/format/media-options.mjs.map +1 -0
- package/src/lib/format/outbox-checks.d.mts +11 -0
- package/src/lib/format/outbox-checks.d.ts +11 -0
- package/src/lib/format/outbox-checks.js +12 -0
- package/src/lib/format/outbox-checks.js.map +1 -0
- package/src/lib/format/outbox-checks.mjs +9 -0
- package/src/lib/format/outbox-checks.mjs.map +1 -0
- package/src/lib/format/page.d.mts +3057 -966
- package/src/lib/format/page.d.ts +3057 -966
- package/src/lib/format/page.js +15 -0
- package/src/lib/format/page.js.map +1 -1
- package/src/lib/format/page.mjs +15 -0
- package/src/lib/format/page.mjs.map +1 -1
- package/src/lib/format/part-checks.d.mts +3 -0
- package/src/lib/format/part-checks.d.ts +3 -0
- package/src/lib/format/payment-checks.d.mts +13 -0
- package/src/lib/format/payment-checks.d.ts +13 -0
- package/src/lib/format/payment-checks.js +30 -0
- package/src/lib/format/payment-checks.js.map +1 -0
- package/src/lib/format/payment-checks.mjs +27 -0
- package/src/lib/format/payment-checks.mjs.map +1 -0
- package/src/lib/format/payment.d.mts +37 -0
- package/src/lib/format/payment.d.ts +37 -0
- package/src/lib/format/payment.js +15 -0
- package/src/lib/format/payment.js.map +1 -0
- package/src/lib/format/payment.mjs +12 -0
- package/src/lib/format/payment.mjs.map +1 -0
- package/src/lib/format/phone.js +3 -0
- package/src/lib/format/phone.js.map +1 -1
- package/src/lib/format/phone.mjs +3 -0
- package/src/lib/format/phone.mjs.map +1 -1
- package/src/lib/format/picker-options.d.mts +12 -0
- package/src/lib/format/picker-options.d.ts +12 -0
- package/src/lib/format/picker-options.js +21 -3
- package/src/lib/format/picker-options.js.map +1 -1
- package/src/lib/format/picker-options.mjs +20 -2
- package/src/lib/format/picker-options.mjs.map +1 -1
- package/src/lib/format/prefill-checks.d.mts +13 -0
- package/src/lib/format/prefill-checks.d.ts +13 -0
- package/src/lib/format/prefill-checks.js +35 -0
- package/src/lib/format/prefill-checks.js.map +1 -0
- package/src/lib/format/prefill-checks.mjs +32 -0
- package/src/lib/format/prefill-checks.mjs.map +1 -0
- package/src/lib/format/prefill.d.mts +33 -0
- package/src/lib/format/prefill.d.ts +33 -0
- package/src/lib/format/prefill.js +20 -0
- package/src/lib/format/prefill.js.map +1 -0
- package/src/lib/format/prefill.mjs +17 -0
- package/src/lib/format/prefill.mjs.map +1 -0
- package/src/lib/format/quiz.d.mts +58 -0
- package/src/lib/format/quiz.d.ts +58 -0
- package/src/lib/format/quiz.js +24 -0
- package/src/lib/format/quiz.js.map +1 -0
- package/src/lib/format/quiz.mjs +21 -0
- package/src/lib/format/quiz.mjs.map +1 -0
- package/src/lib/format/records.js +3 -0
- package/src/lib/format/records.js.map +1 -1
- package/src/lib/format/records.mjs +3 -0
- package/src/lib/format/records.mjs.map +1 -1
- package/src/lib/format/references.d.mts +1 -1
- package/src/lib/format/references.d.ts +1 -1
- package/src/lib/format/references.js +56 -7
- package/src/lib/format/references.js.map +1 -1
- package/src/lib/format/references.mjs +57 -8
- package/src/lib/format/references.mjs.map +1 -1
- package/src/lib/format/schedule-checks.d.mts +8 -0
- package/src/lib/format/schedule-checks.d.ts +8 -0
- package/src/lib/format/schedule-checks.js +16 -0
- package/src/lib/format/schedule-checks.js.map +1 -0
- package/src/lib/format/schedule-checks.mjs +13 -0
- package/src/lib/format/schedule-checks.mjs.map +1 -0
- package/src/lib/format/signature-checks.d.mts +8 -0
- package/src/lib/format/signature-checks.d.ts +8 -0
- package/src/lib/format/signature-checks.js +21 -0
- package/src/lib/format/signature-checks.js.map +1 -1
- package/src/lib/format/signature-checks.mjs +20 -0
- package/src/lib/format/signature-checks.mjs.map +1 -1
- package/src/lib/format/signature-options.js +3 -0
- package/src/lib/format/signature-options.js.map +1 -1
- package/src/lib/format/signature-options.mjs +3 -0
- package/src/lib/format/signature-options.mjs.map +1 -1
- package/src/lib/format/slots-options.js +3 -0
- package/src/lib/format/slots-options.js.map +1 -1
- package/src/lib/format/slots-options.mjs +3 -0
- package/src/lib/format/slots-options.mjs.map +1 -1
- package/src/lib/format/templates-checks.d.mts +6 -0
- package/src/lib/format/templates-checks.d.ts +6 -0
- package/src/lib/format/templates-checks.js +16 -0
- package/src/lib/format/templates-checks.js.map +1 -0
- package/src/lib/format/templates-checks.mjs +13 -0
- package/src/lib/format/templates-checks.mjs.map +1 -0
- package/src/lib/format/translate.d.mts +2 -0
- package/src/lib/format/translate.d.ts +2 -0
- package/src/lib/format/translate.js +6 -2
- package/src/lib/format/translate.js.map +1 -1
- package/src/lib/format/translate.mjs +4 -2
- package/src/lib/format/translate.mjs.map +1 -1
- package/src/lib/format/typed-options.d.mts +43 -0
- package/src/lib/format/typed-options.d.ts +43 -0
- package/src/lib/format/typed-options.js +50 -0
- package/src/lib/format/typed-options.js.map +1 -0
- package/src/lib/format/typed-options.mjs +46 -0
- package/src/lib/format/typed-options.mjs.map +1 -0
- package/src/lib/format/upgrade.d.mts +5 -1
- package/src/lib/format/upgrade.d.ts +5 -1
- package/src/lib/format/upgrade.js +5 -1
- package/src/lib/format/upgrade.js.map +1 -1
- package/src/lib/format/upgrade.mjs +5 -1
- package/src/lib/format/upgrade.mjs.map +1 -1
- package/src/lib/format/validate.js +3 -0
- package/src/lib/format/validate.js.map +1 -1
- package/src/lib/format/validate.mjs +3 -0
- package/src/lib/format/validate.mjs.map +1 -1
- package/src/lib/format/verify-checks.d.mts +10 -0
- package/src/lib/format/verify-checks.d.ts +10 -0
- package/src/lib/format/verify-checks.js +44 -0
- package/src/lib/format/verify-checks.js.map +1 -0
- package/src/lib/format/verify-checks.mjs +41 -0
- package/src/lib/format/verify-checks.mjs.map +1 -0
- package/src/lib/format/version.d.mts +2 -2
- package/src/lib/format/version.d.ts +2 -2
- package/src/lib/format/version.js +2 -2
- package/src/lib/format/version.js.map +1 -1
- package/src/lib/format/version.mjs +2 -2
- package/src/lib/format/version.mjs.map +1 -1
- package/src/lib/format/week.d.mts +18 -0
- package/src/lib/format/week.d.ts +18 -0
- package/src/lib/format/week.js +58 -0
- package/src/lib/format/week.js.map +1 -0
- package/src/lib/format/week.mjs +55 -0
- package/src/lib/format/week.mjs.map +1 -0
- package/src/lib/record/approvals-part.d.mts +1 -1
- package/src/lib/record/approvals-part.d.ts +1 -1
- package/src/lib/record/approvals-part.js +2 -2
- package/src/lib/record/approvals-part.js.map +1 -1
- package/src/lib/record/approvals-part.mjs +1 -1
- package/src/lib/record/approvals-part.mjs.map +1 -1
- package/src/lib/record/data-source.d.mts +348 -5
- package/src/lib/record/data-source.d.ts +348 -5
- package/src/lib/record/data-source.js.map +1 -1
- package/src/lib/record/data-source.mjs.map +1 -1
- package/src/lib/record/day-words.d.mts +22 -1
- package/src/lib/record/day-words.d.ts +22 -1
- package/src/lib/record/day-words.js +29 -2
- package/src/lib/record/day-words.js.map +1 -1
- package/src/lib/record/day-words.mjs +24 -2
- package/src/lib/record/day-words.mjs.map +1 -1
- package/src/lib/record/drafts.d.mts +9 -0
- package/src/lib/record/drafts.d.ts +9 -0
- package/src/lib/record/drafts.js +20 -0
- package/src/lib/record/drafts.js.map +1 -1
- package/src/lib/record/drafts.mjs +19 -0
- package/src/lib/record/drafts.mjs.map +1 -1
- package/src/lib/record/files-part.d.mts +1 -0
- package/src/lib/record/files-part.d.ts +1 -0
- package/src/lib/record/files-part.js +7 -1
- package/src/lib/record/files-part.js.map +1 -1
- package/src/lib/record/files-part.mjs +5 -1
- package/src/lib/record/files-part.mjs.map +1 -1
- package/src/lib/record/form-approvals.d.mts +12 -17
- package/src/lib/record/form-approvals.d.ts +12 -17
- package/src/lib/record/form-approvals.js +19 -9
- package/src/lib/record/form-approvals.js.map +1 -1
- package/src/lib/record/form-approvals.mjs +18 -8
- package/src/lib/record/form-approvals.mjs.map +1 -1
- package/src/lib/record/form-limits.d.mts +4 -28
- package/src/lib/record/form-limits.d.ts +4 -28
- package/src/lib/record/form-limits.js +8 -5
- package/src/lib/record/form-limits.js.map +1 -1
- package/src/lib/record/form-limits.mjs +8 -5
- package/src/lib/record/form-limits.mjs.map +1 -1
- package/src/lib/record/form.d.mts +118 -3
- package/src/lib/record/form.d.ts +118 -3
- package/src/lib/record/form.js +283 -75
- package/src/lib/record/form.js.map +1 -1
- package/src/lib/record/form.mjs +285 -77
- package/src/lib/record/form.mjs.map +1 -1
- package/src/lib/record/history-steps.d.mts +38 -0
- package/src/lib/record/history-steps.d.ts +38 -0
- package/src/lib/record/history-steps.js +63 -0
- package/src/lib/record/history-steps.js.map +1 -0
- package/src/lib/record/history-steps.mjs +58 -0
- package/src/lib/record/history-steps.mjs.map +1 -0
- package/src/lib/record/history.d.mts +16 -0
- package/src/lib/record/history.d.ts +16 -0
- package/src/lib/record/history.js +3 -0
- package/src/lib/record/history.js.map +1 -0
- package/src/lib/record/history.mjs +2 -0
- package/src/lib/record/history.mjs.map +1 -0
- package/src/lib/record/input-rules.d.mts +2 -0
- package/src/lib/record/input-rules.d.ts +2 -0
- package/src/lib/record/input-rules.js +4 -1
- package/src/lib/record/input-rules.js.map +1 -1
- package/src/lib/record/input-rules.mjs +2 -0
- package/src/lib/record/input-rules.mjs.map +1 -1
- package/src/lib/record/joins.d.mts +143 -0
- package/src/lib/record/joins.d.ts +143 -0
- package/src/lib/record/joins.js +28 -0
- package/src/lib/record/joins.js.map +1 -0
- package/src/lib/record/joins.mjs +24 -0
- package/src/lib/record/joins.mjs.map +1 -0
- package/src/lib/record/limits.js +7 -4
- package/src/lib/record/limits.js.map +1 -1
- package/src/lib/record/limits.mjs +8 -5
- package/src/lib/record/limits.mjs.map +1 -1
- package/src/lib/record/link-values.d.mts +31 -0
- package/src/lib/record/link-values.d.ts +31 -0
- package/src/lib/record/link-values.js +132 -0
- package/src/lib/record/link-values.js.map +1 -0
- package/src/lib/record/link-values.mjs +125 -0
- package/src/lib/record/link-values.mjs.map +1 -0
- package/src/lib/record/live-later.d.mts +15 -0
- package/src/lib/record/live-later.d.ts +15 -0
- package/src/lib/record/live-later.js +10 -0
- package/src/lib/record/live-later.js.map +1 -0
- package/src/lib/record/live-later.mjs +7 -0
- package/src/lib/record/live-later.mjs.map +1 -0
- package/src/lib/record/live-part.d.mts +6 -0
- package/src/lib/record/live-part.d.ts +6 -0
- package/src/lib/record/live-part.js +12 -0
- package/src/lib/record/live-part.js.map +1 -0
- package/src/lib/record/live-part.mjs +7 -0
- package/src/lib/record/live-part.mjs.map +1 -0
- package/src/lib/record/live.d.mts +8 -0
- package/src/lib/record/live.d.ts +8 -0
- package/src/lib/record/live.js +133 -0
- package/src/lib/record/live.js.map +1 -0
- package/src/lib/record/live.mjs +129 -0
- package/src/lib/record/live.mjs.map +1 -0
- package/src/lib/record/locales/all.d.mts +5 -5
- package/src/lib/record/locales/all.d.ts +5 -5
- package/src/lib/record/locales/all.js +3 -3
- package/src/lib/record/locales/all.js.map +1 -1
- package/src/lib/record/locales/all.mjs +3 -3
- package/src/lib/record/locales/all.mjs.map +1 -1
- package/src/lib/record/locales/ar.js +8 -0
- package/src/lib/record/locales/ar.js.map +1 -1
- package/src/lib/record/locales/ar.mjs +8 -0
- package/src/lib/record/locales/ar.mjs.map +1 -1
- package/src/lib/record/locales/de.js +8 -0
- package/src/lib/record/locales/de.js.map +1 -1
- package/src/lib/record/locales/de.mjs +8 -0
- package/src/lib/record/locales/de.mjs.map +1 -1
- package/src/lib/record/locales/es.d.mts +8 -0
- package/src/lib/record/locales/es.d.ts +8 -0
- package/src/lib/record/locales/es.js +111 -0
- package/src/lib/record/locales/es.js.map +1 -0
- package/src/lib/record/locales/es.mjs +108 -0
- package/src/lib/record/locales/es.mjs.map +1 -0
- package/src/lib/record/locales/fa.d.mts +5 -0
- package/src/lib/record/locales/fa.d.ts +5 -0
- package/src/lib/record/locales/fa.js +117 -0
- package/src/lib/record/locales/fa.js.map +1 -0
- package/src/lib/record/locales/fa.mjs +114 -0
- package/src/lib/record/locales/fa.mjs.map +1 -0
- package/src/lib/record/locales/fr.js +8 -0
- package/src/lib/record/locales/fr.js.map +1 -1
- package/src/lib/record/locales/fr.mjs +8 -0
- package/src/lib/record/locales/fr.mjs.map +1 -1
- package/src/lib/record/locales/later.d.mts +8 -0
- package/src/lib/record/locales/later.d.ts +8 -0
- package/src/lib/record/locales/later.js +16 -0
- package/src/lib/record/locales/later.js.map +1 -0
- package/src/lib/record/locales/later.mjs +13 -0
- package/src/lib/record/locales/later.mjs.map +1 -0
- package/src/lib/record/locales/tr.d.mts +6 -0
- package/src/lib/record/locales/tr.d.ts +6 -0
- package/src/lib/record/locales/tr.js +118 -0
- package/src/lib/record/locales/tr.js.map +1 -0
- package/src/lib/record/locales/tr.mjs +115 -0
- package/src/lib/record/locales/tr.mjs.map +1 -0
- package/src/lib/record/locales/ur.d.mts +9 -0
- package/src/lib/record/locales/ur.d.ts +9 -0
- package/src/lib/record/locales/ur.js +118 -0
- package/src/lib/record/locales/ur.js.map +1 -0
- package/src/lib/record/locales/ur.mjs +115 -0
- package/src/lib/record/locales/ur.mjs.map +1 -0
- package/src/lib/record/memory-approvals.d.mts +4 -1
- package/src/lib/record/memory-approvals.d.ts +4 -1
- package/src/lib/record/memory-approvals.js +29 -0
- package/src/lib/record/memory-approvals.js.map +1 -1
- package/src/lib/record/memory-approvals.mjs +29 -0
- package/src/lib/record/memory-approvals.mjs.map +1 -1
- package/src/lib/record/memory-codes.d.mts +37 -0
- package/src/lib/record/memory-codes.d.ts +37 -0
- package/src/lib/record/memory-codes.js +50 -0
- package/src/lib/record/memory-codes.js.map +1 -0
- package/src/lib/record/memory-codes.mjs +47 -0
- package/src/lib/record/memory-codes.mjs.map +1 -0
- package/src/lib/record/memory-data-source.d.mts +56 -2
- package/src/lib/record/memory-data-source.d.ts +56 -2
- package/src/lib/record/memory-data-source.js +80 -2
- package/src/lib/record/memory-data-source.js.map +1 -1
- package/src/lib/record/memory-data-source.mjs +80 -2
- package/src/lib/record/memory-data-source.mjs.map +1 -1
- package/src/lib/record/memory-kept.d.mts +3 -1
- package/src/lib/record/memory-kept.d.ts +3 -1
- package/src/lib/record/memory-kept.js +7 -2
- package/src/lib/record/memory-kept.js.map +1 -1
- package/src/lib/record/memory-kept.mjs +7 -2
- package/src/lib/record/memory-kept.mjs.map +1 -1
- package/src/lib/record/memory-later.d.mts +3 -1
- package/src/lib/record/memory-later.d.ts +3 -1
- package/src/lib/record/memory-later.js +9 -5
- package/src/lib/record/memory-later.js.map +1 -1
- package/src/lib/record/memory-later.mjs +8 -4
- package/src/lib/record/memory-later.mjs.map +1 -1
- package/src/lib/record/memory-live.d.mts +8 -0
- package/src/lib/record/memory-live.d.ts +8 -0
- package/src/lib/record/memory-live.js +70 -0
- package/src/lib/record/memory-live.js.map +1 -0
- package/src/lib/record/memory-live.mjs +67 -0
- package/src/lib/record/memory-live.mjs.map +1 -0
- package/src/lib/record/memory-views.d.mts +11 -0
- package/src/lib/record/memory-views.d.ts +11 -0
- package/src/lib/record/memory-views.js +68 -0
- package/src/lib/record/memory-views.js.map +1 -0
- package/src/lib/record/memory-views.mjs +65 -0
- package/src/lib/record/memory-views.mjs.map +1 -0
- package/src/lib/record/messages.d.mts +21 -3
- package/src/lib/record/messages.d.ts +21 -3
- package/src/lib/record/messages.js +15 -2
- package/src/lib/record/messages.js.map +1 -1
- package/src/lib/record/messages.mjs +15 -2
- package/src/lib/record/messages.mjs.map +1 -1
- package/src/lib/record/order.d.mts +21 -0
- package/src/lib/record/order.d.ts +21 -0
- package/src/lib/record/order.js +129 -0
- package/src/lib/record/order.js.map +1 -0
- package/src/lib/record/order.mjs +122 -0
- package/src/lib/record/order.mjs.map +1 -0
- package/src/lib/record/outbox-form.d.mts +79 -0
- package/src/lib/record/outbox-form.d.ts +79 -0
- package/src/lib/record/outbox-form.js +291 -0
- package/src/lib/record/outbox-form.js.map +1 -0
- package/src/lib/record/outbox-form.mjs +286 -0
- package/src/lib/record/outbox-form.mjs.map +1 -0
- package/src/lib/record/outbox-part.d.mts +6 -0
- package/src/lib/record/outbox-part.d.ts +6 -0
- package/src/lib/record/outbox-part.js +13 -0
- package/src/lib/record/outbox-part.js.map +1 -0
- package/src/lib/record/outbox-part.mjs +7 -0
- package/src/lib/record/outbox-part.mjs.map +1 -0
- package/src/lib/record/pay-part.d.mts +6 -0
- package/src/lib/record/pay-part.d.ts +6 -0
- package/src/lib/record/pay-part.js +11 -0
- package/src/lib/record/pay-part.js.map +1 -0
- package/src/lib/record/pay-part.mjs +7 -0
- package/src/lib/record/pay-part.mjs.map +1 -0
- package/src/lib/record/payment-form.d.mts +25 -0
- package/src/lib/record/payment-form.d.ts +25 -0
- package/src/lib/record/payment-form.js +98 -0
- package/src/lib/record/payment-form.js.map +1 -0
- package/src/lib/record/payment-form.mjs +95 -0
- package/src/lib/record/payment-form.mjs.map +1 -0
- package/src/lib/record/prefill-part.d.mts +7 -0
- package/src/lib/record/prefill-part.d.ts +7 -0
- package/src/lib/record/prefill-part.js +15 -0
- package/src/lib/record/prefill-part.js.map +1 -0
- package/src/lib/record/prefill-part.mjs +8 -0
- package/src/lib/record/prefill-part.mjs.map +1 -0
- package/src/lib/record/press-undo.d.mts +42 -0
- package/src/lib/record/press-undo.d.ts +42 -0
- package/src/lib/record/press-undo.js +115 -0
- package/src/lib/record/press-undo.js.map +1 -0
- package/src/lib/record/press-undo.mjs +110 -0
- package/src/lib/record/press-undo.mjs.map +1 -0
- package/src/lib/record/quiz.d.mts +36 -0
- package/src/lib/record/quiz.d.ts +36 -0
- package/src/lib/record/quiz.js +90 -0
- package/src/lib/record/quiz.js.map +1 -0
- package/src/lib/record/quiz.mjs +87 -0
- package/src/lib/record/quiz.mjs.map +1 -0
- package/src/lib/record/record-words.js +1 -1
- package/src/lib/record/record-words.js.map +1 -1
- package/src/lib/record/record-words.mjs +1 -1
- package/src/lib/record/record-words.mjs.map +1 -1
- package/src/lib/record/run.d.mts +54 -2
- package/src/lib/record/run.d.ts +54 -2
- package/src/lib/record/run.js +30 -6
- package/src/lib/record/run.js.map +1 -1
- package/src/lib/record/run.mjs +28 -5
- package/src/lib/record/run.mjs.map +1 -1
- package/src/lib/record/survey-kit.d.mts +37 -0
- package/src/lib/record/survey-kit.d.ts +37 -0
- package/src/lib/record/survey-kit.js +110 -0
- package/src/lib/record/survey-kit.js.map +1 -0
- package/src/lib/record/survey-kit.mjs +107 -0
- package/src/lib/record/survey-kit.mjs.map +1 -0
- package/src/lib/record/survey.d.mts +16 -0
- package/src/lib/record/survey.d.ts +16 -0
- package/src/lib/record/survey.js +17 -0
- package/src/lib/record/survey.js.map +1 -0
- package/src/lib/record/survey.mjs +13 -0
- package/src/lib/record/survey.mjs.map +1 -0
- package/src/lib/record/surveyflow-part.d.mts +9 -0
- package/src/lib/record/surveyflow-part.d.ts +9 -0
- package/src/lib/record/surveyflow-part.js +20 -0
- package/src/lib/record/surveyflow-part.js.map +1 -0
- package/src/lib/record/surveyflow-part.mjs +10 -0
- package/src/lib/record/surveyflow-part.mjs.map +1 -0
- package/src/lib/record/timing.d.mts +76 -0
- package/src/lib/record/timing.d.ts +76 -0
- package/src/lib/record/timing.js +112 -0
- package/src/lib/record/timing.js.map +1 -0
- package/src/lib/record/timing.mjs +104 -0
- package/src/lib/record/timing.mjs.map +1 -0
- package/src/lib/record/undo-later.d.mts +9 -0
- package/src/lib/record/undo-later.d.ts +9 -0
- package/src/lib/record/undo-later.js +10 -0
- package/src/lib/record/undo-later.js.map +1 -0
- package/src/lib/record/undo-later.mjs +7 -0
- package/src/lib/record/undo-later.mjs.map +1 -0
- package/src/lib/record/undo-part.d.mts +8 -0
- package/src/lib/record/undo-part.d.ts +8 -0
- package/src/lib/record/undo-part.js +17 -0
- package/src/lib/record/undo-part.js.map +1 -0
- package/src/lib/record/undo-part.mjs +9 -0
- package/src/lib/record/undo-part.mjs.map +1 -0
- package/src/lib/record/upload-to-later.d.mts +10 -0
- package/src/lib/record/upload-to-later.d.ts +10 -0
- package/src/lib/record/upload-to-later.js +15 -0
- package/src/lib/record/upload-to-later.js.map +1 -0
- package/src/lib/record/upload-to-later.mjs +12 -0
- package/src/lib/record/upload-to-later.mjs.map +1 -0
- package/src/lib/record/uploads.d.mts +5 -0
- package/src/lib/record/uploads.d.ts +5 -0
- package/src/lib/record/uploads.js.map +1 -1
- package/src/lib/record/uploads.mjs.map +1 -1
- package/src/lib/record/values.d.mts +6 -0
- package/src/lib/record/values.d.ts +6 -0
- package/src/lib/record/values.js.map +1 -1
- package/src/lib/record/values.mjs.map +1 -1
- package/src/lib/record/verify-form.d.mts +24 -0
- package/src/lib/record/verify-form.d.ts +24 -0
- package/src/lib/record/verify-form.js +65 -0
- package/src/lib/record/verify-form.js.map +1 -0
- package/src/lib/record/verify-form.mjs +62 -0
- package/src/lib/record/verify-form.mjs.map +1 -0
- package/src/lib/record/verify-part.d.mts +6 -0
- package/src/lib/record/verify-part.d.ts +6 -0
- package/src/lib/record/verify-part.js +11 -0
- package/src/lib/record/verify-part.js.map +1 -0
- package/src/lib/record/verify-part.mjs +7 -0
- package/src/lib/record/verify-part.mjs.map +1 -0
- package/src/lib/record/words-chunks.d.mts +37 -0
- package/src/lib/record/words-chunks.d.ts +37 -0
- package/src/lib/record/words-chunks.js +94 -0
- package/src/lib/record/words-chunks.js.map +1 -0
- package/src/lib/record/words-chunks.mjs +86 -0
- package/src/lib/record/words-chunks.mjs.map +1 -0
- package/src/runtime.d.mts +28 -6
- package/src/runtime.d.ts +28 -6
- package/src/runtime.js +35 -6
- package/src/runtime.js.map +1 -1
- package/src/runtime.mjs +15 -3
- package/src/runtime.mjs.map +1 -1
|
@@ -0,0 +1,291 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.memoryOutbox = memoryOutbox;
|
|
4
|
+
exports.indexedOutbox = indexedOutbox;
|
|
5
|
+
exports.join = join;
|
|
6
|
+
const data_source_1 = require("./data-source");
|
|
7
|
+
const uploads_1 = require("./uploads");
|
|
8
|
+
const values_1 = require("./values");
|
|
9
|
+
/** How long a sender holds an item it took: past this, another may take it (a tab closed while it sent). */
|
|
10
|
+
const CLAIM_MS = 120_000;
|
|
11
|
+
let sender = 0;
|
|
12
|
+
/** An outbox kept in memory: for tests, and where a browser keeps nothing (no IndexedDB). Lost with the page. */
|
|
13
|
+
function memoryOutbox() {
|
|
14
|
+
const items = [];
|
|
15
|
+
return {
|
|
16
|
+
items,
|
|
17
|
+
list: async (pageId) => (0, values_1.structuredCopy)(items.filter((item) => item.pageId === pageId)),
|
|
18
|
+
async put(item) {
|
|
19
|
+
const at = items.findIndex((one) => one.key === item.key);
|
|
20
|
+
if (at < 0)
|
|
21
|
+
items.push((0, values_1.structuredCopy)(item));
|
|
22
|
+
else
|
|
23
|
+
items[at] = (0, values_1.structuredCopy)(item);
|
|
24
|
+
},
|
|
25
|
+
async delete(key) {
|
|
26
|
+
const at = items.findIndex((one) => one.key === key);
|
|
27
|
+
if (at >= 0)
|
|
28
|
+
items.splice(at, 1);
|
|
29
|
+
},
|
|
30
|
+
async claim(key, by, until) {
|
|
31
|
+
const item = items.find((one) => one.key === key);
|
|
32
|
+
if (!item || (item.claim && item.claim.by !== by && item.claim.until > Date.now()))
|
|
33
|
+
return false;
|
|
34
|
+
item.claim = { by, until };
|
|
35
|
+
return true;
|
|
36
|
+
},
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
const asked = (request) => new Promise((resolve, reject) => {
|
|
40
|
+
request.onsuccess = () => resolve(request.result);
|
|
41
|
+
request.onerror = () => reject(request.error);
|
|
42
|
+
});
|
|
43
|
+
/**
|
|
44
|
+
* An outbox kept in the browser's IndexedDB (database `fieldia-outbox`, store `items`): never lost on a reload, shared by
|
|
45
|
+
* the tabs of one site, an item taken by one sender at a time in a transaction of its own. Null where the browser has no
|
|
46
|
+
* IndexedDB.
|
|
47
|
+
*/
|
|
48
|
+
function indexedOutbox(name = 'fieldia-outbox') {
|
|
49
|
+
const factory = globalThis.indexedDB;
|
|
50
|
+
if (!factory)
|
|
51
|
+
return null;
|
|
52
|
+
let opened = null;
|
|
53
|
+
const db = () => {
|
|
54
|
+
if (opened)
|
|
55
|
+
return opened;
|
|
56
|
+
const request = factory.open(name, 1);
|
|
57
|
+
request.onupgradeneeded = () => {
|
|
58
|
+
if (!request.result.objectStoreNames.contains('items'))
|
|
59
|
+
request.result.createObjectStore('items', { keyPath: 'key' });
|
|
60
|
+
};
|
|
61
|
+
opened = asked(request);
|
|
62
|
+
// A database that could not open is asked again next time.
|
|
63
|
+
opened.catch(() => (opened = null));
|
|
64
|
+
return opened;
|
|
65
|
+
};
|
|
66
|
+
const write = async (work) => {
|
|
67
|
+
const transaction = (await db()).transaction('items', 'readwrite');
|
|
68
|
+
const done = new Promise((resolve, reject) => {
|
|
69
|
+
transaction.oncomplete = () => resolve();
|
|
70
|
+
transaction.onerror = transaction.onabort = () => reject(transaction.error);
|
|
71
|
+
});
|
|
72
|
+
const result = await work(transaction.objectStore('items'));
|
|
73
|
+
await done;
|
|
74
|
+
return result !== false;
|
|
75
|
+
};
|
|
76
|
+
return {
|
|
77
|
+
async list(pageId) {
|
|
78
|
+
const all = await asked((await db()).transaction('items', 'readonly').objectStore('items').getAll());
|
|
79
|
+
return all.filter((item) => item.pageId === pageId).sort((a, b) => (a.at < b.at ? -1 : a.at > b.at ? 1 : 0));
|
|
80
|
+
},
|
|
81
|
+
put: (item) => write((store) => void store.put((0, values_1.structuredCopy)(item))).then(() => undefined),
|
|
82
|
+
delete: (key) => write((store) => void store.delete(key)).then(() => undefined),
|
|
83
|
+
claim(key, by, until) {
|
|
84
|
+
// In one transaction: read, and take it only where no other sender holds it still.
|
|
85
|
+
return write(async (store) => {
|
|
86
|
+
const item = await asked(store.get(key));
|
|
87
|
+
if (!item || (item.claim && item.claim.by !== by && item.claim.until > Date.now()))
|
|
88
|
+
return false;
|
|
89
|
+
store.put({ ...item, claim: { by, until } });
|
|
90
|
+
return true;
|
|
91
|
+
});
|
|
92
|
+
},
|
|
93
|
+
};
|
|
94
|
+
}
|
|
95
|
+
/** A key no other kept send has. */
|
|
96
|
+
const newKey = (now) => `outbox-${now.toString(36)}-${Math.random().toString(36).slice(2, 10)}`;
|
|
97
|
+
/**
|
|
98
|
+
* Files still held as their bytes in a kept send — photos taken without signal — stored first, through the source's
|
|
99
|
+
* `upload`, and their links put in their place wherever the send holds them: its values, a save's changes and lines.
|
|
100
|
+
*/
|
|
101
|
+
async function withFilesStored(item, host) {
|
|
102
|
+
const source = host.dataSource;
|
|
103
|
+
const request = item.request;
|
|
104
|
+
const fields = item.kind === 'save' ? request.fields : host.fields;
|
|
105
|
+
const found = (0, uploads_1.fileBytesIn)(fields, request.values, Object.keys(request.values));
|
|
106
|
+
if (!found.length || !source?.upload)
|
|
107
|
+
return request;
|
|
108
|
+
const stored = new Map();
|
|
109
|
+
// A file held as its bytes made one the store takes by the files part (files-part.ts), as the form's uploads do.
|
|
110
|
+
const { fileFromBytes } = await uploads_1.formUploadsPart.load();
|
|
111
|
+
for (const { field, line, file } of found) {
|
|
112
|
+
const key = `${file.name}\u0000${file.data}`;
|
|
113
|
+
if (stored.has(key))
|
|
114
|
+
continue;
|
|
115
|
+
const recordId = item.kind === 'save' ? request.id : null;
|
|
116
|
+
stored.set(key, await source.upload(fileFromBytes(file), { model: item.kind === 'save' ? request.model : '', field, recordId, ...(line ? { line } : {}) }));
|
|
117
|
+
}
|
|
118
|
+
// Every place the send holds one of those files, its link in place of its bytes, its other words kept.
|
|
119
|
+
const swap = (value) => {
|
|
120
|
+
if (Array.isArray(value))
|
|
121
|
+
return value.map(swap);
|
|
122
|
+
if (!value || typeof value !== 'object')
|
|
123
|
+
return value;
|
|
124
|
+
const file = value;
|
|
125
|
+
if (typeof file.name === 'string' && typeof file.data === 'string') {
|
|
126
|
+
const link = stored.get(`${file.name}\u0000${file.data}`);
|
|
127
|
+
if (link) {
|
|
128
|
+
const { data: _bytes, ...rest } = file;
|
|
129
|
+
return { ...rest, ...link };
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
return Object.fromEntries(Object.entries(value).map(([key, inner]) => [key, swap(inner)]));
|
|
133
|
+
};
|
|
134
|
+
return swap(request);
|
|
135
|
+
}
|
|
136
|
+
/** A new record's own key while it has no id: a later save of it, while its first waits, takes that one's place. */
|
|
137
|
+
const recordKey = () => `record-${Date.now().toString(36)}-${Math.random().toString(36).slice(2, 8)}`;
|
|
138
|
+
/**
|
|
139
|
+
* The outbox part's side of a form (`outbox` on its page): around each send, one that finds no network kept on the
|
|
140
|
+
* device in order — the form going on as though it went, its ending saying so (`state.outbox.kept`) — and a file the
|
|
141
|
+
* network could not take kept as its bytes; what waits sent — each taken by one sender only, its photos stored first —
|
|
142
|
+
* when the signal comes back, and right after a send of this form went through; a refusal kept and said; what waits
|
|
143
|
+
* told in the form's state (`outbox`).
|
|
144
|
+
*/
|
|
145
|
+
function join(joined) {
|
|
146
|
+
const { form, page, options, set } = joined;
|
|
147
|
+
const host = { pageId: page.id, fields: page.fields, dataSource: options.dataSource };
|
|
148
|
+
const store = options.outbox ?? indexedOutbox() ?? memoryOutbox();
|
|
149
|
+
const me = `sender-${++sender}-${Math.random().toString(36).slice(2, 8)}`;
|
|
150
|
+
let sending = null;
|
|
151
|
+
/** Whether the last try found no network: a send kept, or one of those kept tried and not taken. */
|
|
152
|
+
let offline = false;
|
|
153
|
+
/** Whether this form's last send was kept, not sent: its ending says so. */
|
|
154
|
+
let kept = false;
|
|
155
|
+
/** This form's new record's own key, while it has no id. */
|
|
156
|
+
let record = recordKey();
|
|
157
|
+
/** Whether this form's last send was kept, said at once: its ending reads it as the send ends. */
|
|
158
|
+
const keptNow = (now) => {
|
|
159
|
+
kept = now;
|
|
160
|
+
const told = form.getState().outbox;
|
|
161
|
+
if (told && told.kept !== now)
|
|
162
|
+
set({ outbox: { ...told, kept } });
|
|
163
|
+
};
|
|
164
|
+
const refresh = async () => {
|
|
165
|
+
const items = await store.list(host.pageId);
|
|
166
|
+
set({
|
|
167
|
+
outbox: {
|
|
168
|
+
waiting: items.filter((item) => !item.refused).length,
|
|
169
|
+
sending: sending !== null,
|
|
170
|
+
offline,
|
|
171
|
+
kept,
|
|
172
|
+
refused: items.filter((item) => item.refused).map((item) => ({ key: item.key, message: item.refused?.message ?? '', at: item.at })),
|
|
173
|
+
},
|
|
174
|
+
});
|
|
175
|
+
};
|
|
176
|
+
const sendAll = async () => {
|
|
177
|
+
const source = host.dataSource;
|
|
178
|
+
if (!source)
|
|
179
|
+
return;
|
|
180
|
+
await refresh();
|
|
181
|
+
for (const item of await store.list(host.pageId)) {
|
|
182
|
+
if (item.refused || !(await store.claim(item.key, me, Date.now() + CLAIM_MS)))
|
|
183
|
+
continue;
|
|
184
|
+
const tries = item.tries + 1;
|
|
185
|
+
try {
|
|
186
|
+
const request = { ...(await withFilesStored(item, host)), queued: { key: item.key, at: item.at } };
|
|
187
|
+
if (item.kind === 'submit') {
|
|
188
|
+
if (!source.submit)
|
|
189
|
+
throw new Error('This page has no data source to send its answers to');
|
|
190
|
+
await source.submit(request);
|
|
191
|
+
}
|
|
192
|
+
else {
|
|
193
|
+
if (!source.save)
|
|
194
|
+
throw new Error('This page has no data source to save to');
|
|
195
|
+
const result = await source.save(request);
|
|
196
|
+
// The new record this form still shows went: it has its id now.
|
|
197
|
+
if (item.record === record && form.getState().recordId == null)
|
|
198
|
+
set({ recordId: result.id, version: result.version ?? null });
|
|
199
|
+
}
|
|
200
|
+
offline = false;
|
|
201
|
+
await store.delete(item.key);
|
|
202
|
+
}
|
|
203
|
+
catch (error) {
|
|
204
|
+
const problem = (0, data_source_1.saveProblemOf)(error);
|
|
205
|
+
const { claim: _claim, ...again } = item;
|
|
206
|
+
// No signal again: it waits where it was, and so does every send after it.
|
|
207
|
+
offline = problem.kind === 'network';
|
|
208
|
+
if (offline) {
|
|
209
|
+
await store.put({ ...again, tries });
|
|
210
|
+
break;
|
|
211
|
+
}
|
|
212
|
+
await store.put({ ...again, tries, refused: { message: problem.message, problem } });
|
|
213
|
+
}
|
|
214
|
+
await refresh();
|
|
215
|
+
}
|
|
216
|
+
};
|
|
217
|
+
const outbox = {
|
|
218
|
+
async keep(kind, request, own) {
|
|
219
|
+
const items = await store.list(host.pageId);
|
|
220
|
+
// A new record saved again while its first save waits: one save, of the record as it is now.
|
|
221
|
+
const same = own ? items.find((item) => item.record === own && item.kind === kind && !item.refused && !(item.claim && item.claim.until > Date.now())) : undefined;
|
|
222
|
+
const item = same
|
|
223
|
+
? { ...same, request: (0, values_1.structuredCopy)(request) }
|
|
224
|
+
: { key: newKey(Date.now()), pageId: host.pageId, kind, request: (0, values_1.structuredCopy)(request), at: new Date().toISOString(), ...(own ? { record: own } : {}), tries: 0 };
|
|
225
|
+
await store.put(item);
|
|
226
|
+
offline = true;
|
|
227
|
+
await refresh();
|
|
228
|
+
return item;
|
|
229
|
+
},
|
|
230
|
+
send() {
|
|
231
|
+
if (sending)
|
|
232
|
+
return sending;
|
|
233
|
+
sending = sendAll().finally(() => {
|
|
234
|
+
sending = null;
|
|
235
|
+
return refresh();
|
|
236
|
+
});
|
|
237
|
+
void refresh();
|
|
238
|
+
return sending;
|
|
239
|
+
},
|
|
240
|
+
refresh,
|
|
241
|
+
async discard(key) {
|
|
242
|
+
await store.delete(key);
|
|
243
|
+
await refresh();
|
|
244
|
+
},
|
|
245
|
+
async bytes(file) {
|
|
246
|
+
const read = new Uint8Array(await file.arrayBuffer());
|
|
247
|
+
let text = '';
|
|
248
|
+
for (let at = 0; at < read.length; at += 0x8000)
|
|
249
|
+
text += String.fromCharCode(...read.subarray(at, at + 0x8000));
|
|
250
|
+
return { name: file.name, type: file.type, size: file.size, data: globalThis.btoa(text) };
|
|
251
|
+
},
|
|
252
|
+
async retry(key) {
|
|
253
|
+
const item = (await store.list(host.pageId)).find((one) => one.key === key);
|
|
254
|
+
if (!item)
|
|
255
|
+
return;
|
|
256
|
+
const { refused: _refused, ...again } = item;
|
|
257
|
+
await store.put(again);
|
|
258
|
+
await outbox.send();
|
|
259
|
+
},
|
|
260
|
+
async around(kind, sent, go) {
|
|
261
|
+
try {
|
|
262
|
+
const answer = await go(sent);
|
|
263
|
+
// It went: there is signal, and what waited goes after it.
|
|
264
|
+
if (kind !== 'upload') {
|
|
265
|
+
keptNow(false);
|
|
266
|
+
void outbox.send();
|
|
267
|
+
}
|
|
268
|
+
return answer;
|
|
269
|
+
}
|
|
270
|
+
catch (error) {
|
|
271
|
+
if ((0, data_source_1.saveProblemOf)(error).kind !== 'network')
|
|
272
|
+
throw error;
|
|
273
|
+
// No signal: a photo kept as its bytes in its field; a send kept on the device, the form going on as though it went.
|
|
274
|
+
if (kind === 'upload')
|
|
275
|
+
return (await outbox.bytes(sent));
|
|
276
|
+
kept = true;
|
|
277
|
+
await outbox.keep(kind, sent, kind === 'save' && form.getState().recordId == null ? record : undefined);
|
|
278
|
+
return null;
|
|
279
|
+
}
|
|
280
|
+
},
|
|
281
|
+
reset() {
|
|
282
|
+
// Started again, or another record: a new record's own key, and its ending its own.
|
|
283
|
+
record = recordKey();
|
|
284
|
+
keptNow(false);
|
|
285
|
+
},
|
|
286
|
+
};
|
|
287
|
+
// What waits from before — a reload, another tab — told at once.
|
|
288
|
+
void refresh();
|
|
289
|
+
return outbox;
|
|
290
|
+
}
|
|
291
|
+
//# sourceMappingURL=outbox-form.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"outbox-form.js","sourceRoot":"","sources":["../../../../../../libs/core/src/lib/record/outbox-form.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,286 @@
|
|
|
1
|
+
import { saveProblemOf } from './data-source.mjs';
|
|
2
|
+
import { fileBytesIn, formUploadsPart } from './uploads.mjs';
|
|
3
|
+
import { structuredCopy } from './values.mjs';
|
|
4
|
+
/** How long a sender holds an item it took: past this, another may take it (a tab closed while it sent). */
|
|
5
|
+
const CLAIM_MS = 120_000;
|
|
6
|
+
let sender = 0;
|
|
7
|
+
/** An outbox kept in memory: for tests, and where a browser keeps nothing (no IndexedDB). Lost with the page. */
|
|
8
|
+
export function memoryOutbox() {
|
|
9
|
+
const items = [];
|
|
10
|
+
return {
|
|
11
|
+
items,
|
|
12
|
+
list: async (pageId) => structuredCopy(items.filter((item) => item.pageId === pageId)),
|
|
13
|
+
async put(item) {
|
|
14
|
+
const at = items.findIndex((one) => one.key === item.key);
|
|
15
|
+
if (at < 0)
|
|
16
|
+
items.push(structuredCopy(item));
|
|
17
|
+
else
|
|
18
|
+
items[at] = structuredCopy(item);
|
|
19
|
+
},
|
|
20
|
+
async delete(key) {
|
|
21
|
+
const at = items.findIndex((one) => one.key === key);
|
|
22
|
+
if (at >= 0)
|
|
23
|
+
items.splice(at, 1);
|
|
24
|
+
},
|
|
25
|
+
async claim(key, by, until) {
|
|
26
|
+
const item = items.find((one) => one.key === key);
|
|
27
|
+
if (!item || (item.claim && item.claim.by !== by && item.claim.until > Date.now()))
|
|
28
|
+
return false;
|
|
29
|
+
item.claim = { by, until };
|
|
30
|
+
return true;
|
|
31
|
+
},
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
const asked = (request) => new Promise((resolve, reject) => {
|
|
35
|
+
request.onsuccess = () => resolve(request.result);
|
|
36
|
+
request.onerror = () => reject(request.error);
|
|
37
|
+
});
|
|
38
|
+
/**
|
|
39
|
+
* An outbox kept in the browser's IndexedDB (database `fieldia-outbox`, store `items`): never lost on a reload, shared by
|
|
40
|
+
* the tabs of one site, an item taken by one sender at a time in a transaction of its own. Null where the browser has no
|
|
41
|
+
* IndexedDB.
|
|
42
|
+
*/
|
|
43
|
+
export function indexedOutbox(name = 'fieldia-outbox') {
|
|
44
|
+
const factory = globalThis.indexedDB;
|
|
45
|
+
if (!factory)
|
|
46
|
+
return null;
|
|
47
|
+
let opened = null;
|
|
48
|
+
const db = () => {
|
|
49
|
+
if (opened)
|
|
50
|
+
return opened;
|
|
51
|
+
const request = factory.open(name, 1);
|
|
52
|
+
request.onupgradeneeded = () => {
|
|
53
|
+
if (!request.result.objectStoreNames.contains('items'))
|
|
54
|
+
request.result.createObjectStore('items', { keyPath: 'key' });
|
|
55
|
+
};
|
|
56
|
+
opened = asked(request);
|
|
57
|
+
// A database that could not open is asked again next time.
|
|
58
|
+
opened.catch(() => (opened = null));
|
|
59
|
+
return opened;
|
|
60
|
+
};
|
|
61
|
+
const write = async (work) => {
|
|
62
|
+
const transaction = (await db()).transaction('items', 'readwrite');
|
|
63
|
+
const done = new Promise((resolve, reject) => {
|
|
64
|
+
transaction.oncomplete = () => resolve();
|
|
65
|
+
transaction.onerror = transaction.onabort = () => reject(transaction.error);
|
|
66
|
+
});
|
|
67
|
+
const result = await work(transaction.objectStore('items'));
|
|
68
|
+
await done;
|
|
69
|
+
return result !== false;
|
|
70
|
+
};
|
|
71
|
+
return {
|
|
72
|
+
async list(pageId) {
|
|
73
|
+
const all = await asked((await db()).transaction('items', 'readonly').objectStore('items').getAll());
|
|
74
|
+
return all.filter((item) => item.pageId === pageId).sort((a, b) => (a.at < b.at ? -1 : a.at > b.at ? 1 : 0));
|
|
75
|
+
},
|
|
76
|
+
put: (item) => write((store) => void store.put(structuredCopy(item))).then(() => undefined),
|
|
77
|
+
delete: (key) => write((store) => void store.delete(key)).then(() => undefined),
|
|
78
|
+
claim(key, by, until) {
|
|
79
|
+
// In one transaction: read, and take it only where no other sender holds it still.
|
|
80
|
+
return write(async (store) => {
|
|
81
|
+
const item = await asked(store.get(key));
|
|
82
|
+
if (!item || (item.claim && item.claim.by !== by && item.claim.until > Date.now()))
|
|
83
|
+
return false;
|
|
84
|
+
store.put({ ...item, claim: { by, until } });
|
|
85
|
+
return true;
|
|
86
|
+
});
|
|
87
|
+
},
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
/** A key no other kept send has. */
|
|
91
|
+
const newKey = (now) => `outbox-${now.toString(36)}-${Math.random().toString(36).slice(2, 10)}`;
|
|
92
|
+
/**
|
|
93
|
+
* Files still held as their bytes in a kept send — photos taken without signal — stored first, through the source's
|
|
94
|
+
* `upload`, and their links put in their place wherever the send holds them: its values, a save's changes and lines.
|
|
95
|
+
*/
|
|
96
|
+
async function withFilesStored(item, host) {
|
|
97
|
+
const source = host.dataSource;
|
|
98
|
+
const request = item.request;
|
|
99
|
+
const fields = item.kind === 'save' ? request.fields : host.fields;
|
|
100
|
+
const found = fileBytesIn(fields, request.values, Object.keys(request.values));
|
|
101
|
+
if (!found.length || !source?.upload)
|
|
102
|
+
return request;
|
|
103
|
+
const stored = new Map();
|
|
104
|
+
// A file held as its bytes made one the store takes by the files part (files-part.ts), as the form's uploads do.
|
|
105
|
+
const { fileFromBytes } = await formUploadsPart.load();
|
|
106
|
+
for (const { field, line, file } of found) {
|
|
107
|
+
const key = `${file.name}\u0000${file.data}`;
|
|
108
|
+
if (stored.has(key))
|
|
109
|
+
continue;
|
|
110
|
+
const recordId = item.kind === 'save' ? request.id : null;
|
|
111
|
+
stored.set(key, await source.upload(fileFromBytes(file), { model: item.kind === 'save' ? request.model : '', field, recordId, ...(line ? { line } : {}) }));
|
|
112
|
+
}
|
|
113
|
+
// Every place the send holds one of those files, its link in place of its bytes, its other words kept.
|
|
114
|
+
const swap = (value) => {
|
|
115
|
+
if (Array.isArray(value))
|
|
116
|
+
return value.map(swap);
|
|
117
|
+
if (!value || typeof value !== 'object')
|
|
118
|
+
return value;
|
|
119
|
+
const file = value;
|
|
120
|
+
if (typeof file.name === 'string' && typeof file.data === 'string') {
|
|
121
|
+
const link = stored.get(`${file.name}\u0000${file.data}`);
|
|
122
|
+
if (link) {
|
|
123
|
+
const { data: _bytes, ...rest } = file;
|
|
124
|
+
return { ...rest, ...link };
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
return Object.fromEntries(Object.entries(value).map(([key, inner]) => [key, swap(inner)]));
|
|
128
|
+
};
|
|
129
|
+
return swap(request);
|
|
130
|
+
}
|
|
131
|
+
/** A new record's own key while it has no id: a later save of it, while its first waits, takes that one's place. */
|
|
132
|
+
const recordKey = () => `record-${Date.now().toString(36)}-${Math.random().toString(36).slice(2, 8)}`;
|
|
133
|
+
/**
|
|
134
|
+
* The outbox part's side of a form (`outbox` on its page): around each send, one that finds no network kept on the
|
|
135
|
+
* device in order — the form going on as though it went, its ending saying so (`state.outbox.kept`) — and a file the
|
|
136
|
+
* network could not take kept as its bytes; what waits sent — each taken by one sender only, its photos stored first —
|
|
137
|
+
* when the signal comes back, and right after a send of this form went through; a refusal kept and said; what waits
|
|
138
|
+
* told in the form's state (`outbox`).
|
|
139
|
+
*/
|
|
140
|
+
export function join(joined) {
|
|
141
|
+
const { form, page, options, set } = joined;
|
|
142
|
+
const host = { pageId: page.id, fields: page.fields, dataSource: options.dataSource };
|
|
143
|
+
const store = options.outbox ?? indexedOutbox() ?? memoryOutbox();
|
|
144
|
+
const me = `sender-${++sender}-${Math.random().toString(36).slice(2, 8)}`;
|
|
145
|
+
let sending = null;
|
|
146
|
+
/** Whether the last try found no network: a send kept, or one of those kept tried and not taken. */
|
|
147
|
+
let offline = false;
|
|
148
|
+
/** Whether this form's last send was kept, not sent: its ending says so. */
|
|
149
|
+
let kept = false;
|
|
150
|
+
/** This form's new record's own key, while it has no id. */
|
|
151
|
+
let record = recordKey();
|
|
152
|
+
/** Whether this form's last send was kept, said at once: its ending reads it as the send ends. */
|
|
153
|
+
const keptNow = (now) => {
|
|
154
|
+
kept = now;
|
|
155
|
+
const told = form.getState().outbox;
|
|
156
|
+
if (told && told.kept !== now)
|
|
157
|
+
set({ outbox: { ...told, kept } });
|
|
158
|
+
};
|
|
159
|
+
const refresh = async () => {
|
|
160
|
+
const items = await store.list(host.pageId);
|
|
161
|
+
set({
|
|
162
|
+
outbox: {
|
|
163
|
+
waiting: items.filter((item) => !item.refused).length,
|
|
164
|
+
sending: sending !== null,
|
|
165
|
+
offline,
|
|
166
|
+
kept,
|
|
167
|
+
refused: items.filter((item) => item.refused).map((item) => ({ key: item.key, message: item.refused?.message ?? '', at: item.at })),
|
|
168
|
+
},
|
|
169
|
+
});
|
|
170
|
+
};
|
|
171
|
+
const sendAll = async () => {
|
|
172
|
+
const source = host.dataSource;
|
|
173
|
+
if (!source)
|
|
174
|
+
return;
|
|
175
|
+
await refresh();
|
|
176
|
+
for (const item of await store.list(host.pageId)) {
|
|
177
|
+
if (item.refused || !(await store.claim(item.key, me, Date.now() + CLAIM_MS)))
|
|
178
|
+
continue;
|
|
179
|
+
const tries = item.tries + 1;
|
|
180
|
+
try {
|
|
181
|
+
const request = { ...(await withFilesStored(item, host)), queued: { key: item.key, at: item.at } };
|
|
182
|
+
if (item.kind === 'submit') {
|
|
183
|
+
if (!source.submit)
|
|
184
|
+
throw new Error('This page has no data source to send its answers to');
|
|
185
|
+
await source.submit(request);
|
|
186
|
+
}
|
|
187
|
+
else {
|
|
188
|
+
if (!source.save)
|
|
189
|
+
throw new Error('This page has no data source to save to');
|
|
190
|
+
const result = await source.save(request);
|
|
191
|
+
// The new record this form still shows went: it has its id now.
|
|
192
|
+
if (item.record === record && form.getState().recordId == null)
|
|
193
|
+
set({ recordId: result.id, version: result.version ?? null });
|
|
194
|
+
}
|
|
195
|
+
offline = false;
|
|
196
|
+
await store.delete(item.key);
|
|
197
|
+
}
|
|
198
|
+
catch (error) {
|
|
199
|
+
const problem = saveProblemOf(error);
|
|
200
|
+
const { claim: _claim, ...again } = item;
|
|
201
|
+
// No signal again: it waits where it was, and so does every send after it.
|
|
202
|
+
offline = problem.kind === 'network';
|
|
203
|
+
if (offline) {
|
|
204
|
+
await store.put({ ...again, tries });
|
|
205
|
+
break;
|
|
206
|
+
}
|
|
207
|
+
await store.put({ ...again, tries, refused: { message: problem.message, problem } });
|
|
208
|
+
}
|
|
209
|
+
await refresh();
|
|
210
|
+
}
|
|
211
|
+
};
|
|
212
|
+
const outbox = {
|
|
213
|
+
async keep(kind, request, own) {
|
|
214
|
+
const items = await store.list(host.pageId);
|
|
215
|
+
// A new record saved again while its first save waits: one save, of the record as it is now.
|
|
216
|
+
const same = own ? items.find((item) => item.record === own && item.kind === kind && !item.refused && !(item.claim && item.claim.until > Date.now())) : undefined;
|
|
217
|
+
const item = same
|
|
218
|
+
? { ...same, request: structuredCopy(request) }
|
|
219
|
+
: { key: newKey(Date.now()), pageId: host.pageId, kind, request: structuredCopy(request), at: new Date().toISOString(), ...(own ? { record: own } : {}), tries: 0 };
|
|
220
|
+
await store.put(item);
|
|
221
|
+
offline = true;
|
|
222
|
+
await refresh();
|
|
223
|
+
return item;
|
|
224
|
+
},
|
|
225
|
+
send() {
|
|
226
|
+
if (sending)
|
|
227
|
+
return sending;
|
|
228
|
+
sending = sendAll().finally(() => {
|
|
229
|
+
sending = null;
|
|
230
|
+
return refresh();
|
|
231
|
+
});
|
|
232
|
+
void refresh();
|
|
233
|
+
return sending;
|
|
234
|
+
},
|
|
235
|
+
refresh,
|
|
236
|
+
async discard(key) {
|
|
237
|
+
await store.delete(key);
|
|
238
|
+
await refresh();
|
|
239
|
+
},
|
|
240
|
+
async bytes(file) {
|
|
241
|
+
const read = new Uint8Array(await file.arrayBuffer());
|
|
242
|
+
let text = '';
|
|
243
|
+
for (let at = 0; at < read.length; at += 0x8000)
|
|
244
|
+
text += String.fromCharCode(...read.subarray(at, at + 0x8000));
|
|
245
|
+
return { name: file.name, type: file.type, size: file.size, data: globalThis.btoa(text) };
|
|
246
|
+
},
|
|
247
|
+
async retry(key) {
|
|
248
|
+
const item = (await store.list(host.pageId)).find((one) => one.key === key);
|
|
249
|
+
if (!item)
|
|
250
|
+
return;
|
|
251
|
+
const { refused: _refused, ...again } = item;
|
|
252
|
+
await store.put(again);
|
|
253
|
+
await outbox.send();
|
|
254
|
+
},
|
|
255
|
+
async around(kind, sent, go) {
|
|
256
|
+
try {
|
|
257
|
+
const answer = await go(sent);
|
|
258
|
+
// It went: there is signal, and what waited goes after it.
|
|
259
|
+
if (kind !== 'upload') {
|
|
260
|
+
keptNow(false);
|
|
261
|
+
void outbox.send();
|
|
262
|
+
}
|
|
263
|
+
return answer;
|
|
264
|
+
}
|
|
265
|
+
catch (error) {
|
|
266
|
+
if (saveProblemOf(error).kind !== 'network')
|
|
267
|
+
throw error;
|
|
268
|
+
// No signal: a photo kept as its bytes in its field; a send kept on the device, the form going on as though it went.
|
|
269
|
+
if (kind === 'upload')
|
|
270
|
+
return (await outbox.bytes(sent));
|
|
271
|
+
kept = true;
|
|
272
|
+
await outbox.keep(kind, sent, kind === 'save' && form.getState().recordId == null ? record : undefined);
|
|
273
|
+
return null;
|
|
274
|
+
}
|
|
275
|
+
},
|
|
276
|
+
reset() {
|
|
277
|
+
// Started again, or another record: a new record's own key, and its ending its own.
|
|
278
|
+
record = recordKey();
|
|
279
|
+
keptNow(false);
|
|
280
|
+
},
|
|
281
|
+
};
|
|
282
|
+
// What waits from before — a reload, another tab — told at once.
|
|
283
|
+
void refresh();
|
|
284
|
+
return outbox;
|
|
285
|
+
}
|
|
286
|
+
//# sourceMappingURL=outbox-form.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"outbox-form.mjs","sourceRoot":"","sources":["../../../../../../libs/core/src/lib/record/outbox-form.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The outbox part's form code (joins.ts): its side of a form — sends kept on the device without signal and sent in
|
|
3
|
+
* order when it comes back (outbox-form.ts). In the one-tag script it comes in one script with the viewer's outbox
|
|
4
|
+
* part, which says them on screen (fieldia.outbox.js).
|
|
5
|
+
*/
|
|
6
|
+
export { join, indexedOutbox, memoryOutbox } from './outbox-form.mjs';
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The outbox part's form code (joins.ts): its side of a form — sends kept on the device without signal and sent in
|
|
3
|
+
* order when it comes back (outbox-form.ts). In the one-tag script it comes in one script with the viewer's outbox
|
|
4
|
+
* part, which says them on screen (fieldia.outbox.js).
|
|
5
|
+
*/
|
|
6
|
+
export { join, indexedOutbox, memoryOutbox } from './outbox-form';
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.memoryOutbox = exports.indexedOutbox = exports.join = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* The outbox part's form code (joins.ts): its side of a form — sends kept on the device without signal and sent in
|
|
6
|
+
* order when it comes back (outbox-form.ts). In the one-tag script it comes in one script with the viewer's outbox
|
|
7
|
+
* part, which says them on screen (fieldia.outbox.js).
|
|
8
|
+
*/
|
|
9
|
+
var outbox_form_1 = require("./outbox-form");
|
|
10
|
+
Object.defineProperty(exports, "join", { enumerable: true, get: function () { return outbox_form_1.join; } });
|
|
11
|
+
Object.defineProperty(exports, "indexedOutbox", { enumerable: true, get: function () { return outbox_form_1.indexedOutbox; } });
|
|
12
|
+
Object.defineProperty(exports, "memoryOutbox", { enumerable: true, get: function () { return outbox_form_1.memoryOutbox; } });
|
|
13
|
+
//# sourceMappingURL=outbox-part.js.map
|