@harperfast/harper 5.3.0-beta.4 → 5.3.0
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/bin/backup.ts +6 -1
- package/components/Application.ts +486 -115
- package/components/DESIGN.md +109 -21
- package/components/deploymentProvenance.ts +28 -0
- package/components/operations.js +14 -7
- package/components/packageComponent.ts +5 -1
- package/config-root.schema.json +1 -1
- package/dataLayer/DESIGN.md +35 -7
- package/dataLayer/blobBackup.ts +71 -30
- package/dataLayer/harperBridge/ResourceBridge.ts +16 -2
- package/dataLayer/rocksdbBackup.ts +88 -34
- package/dataLayer/schemaDescribe.ts +45 -1
- package/dist/bin/backup.js +1 -1
- package/dist/bin/backup.js.map +1 -1
- package/dist/components/Application.d.ts +11 -21
- package/dist/components/Application.js +436 -105
- package/dist/components/Application.js.map +1 -1
- package/dist/components/deploymentProvenance.d.ts +4 -0
- package/dist/components/deploymentProvenance.js +32 -0
- package/dist/components/deploymentProvenance.js.map +1 -0
- package/dist/components/operations.js +14 -7
- package/dist/components/operations.js.map +1 -1
- package/dist/components/packageComponent.js +6 -1
- package/dist/components/packageComponent.js.map +1 -1
- package/dist/dataLayer/blobBackup.d.ts +30 -3
- package/dist/dataLayer/blobBackup.js +73 -36
- package/dist/dataLayer/blobBackup.js.map +1 -1
- package/dist/dataLayer/harperBridge/ResourceBridge.d.ts +1 -0
- package/dist/dataLayer/harperBridge/ResourceBridge.js +15 -3
- package/dist/dataLayer/harperBridge/ResourceBridge.js.map +1 -1
- package/dist/dataLayer/rocksdbBackup.d.ts +4 -1
- package/dist/dataLayer/rocksdbBackup.js +74 -36
- package/dist/dataLayer/rocksdbBackup.js.map +1 -1
- package/dist/dataLayer/schemaDescribe.js +45 -1
- package/dist/dataLayer/schemaDescribe.js.map +1 -1
- package/dist/resources/DatabaseTransaction.d.ts +1 -0
- package/dist/resources/DatabaseTransaction.js +33 -8
- package/dist/resources/DatabaseTransaction.js.map +1 -1
- package/dist/resources/ResourceInterface.d.ts +7 -3
- package/dist/resources/ResourceInterface.js +2 -0
- package/dist/resources/ResourceInterface.js.map +1 -1
- package/dist/resources/Table.d.ts +151 -445
- package/dist/resources/Table.js +209 -8
- package/dist/resources/Table.js.map +1 -1
- package/dist/resources/analytics/write.d.ts +11 -0
- package/dist/resources/analytics/write.js +3 -0
- package/dist/resources/analytics/write.js.map +1 -1
- package/dist/resources/blob.d.ts +30 -0
- package/dist/resources/blob.js +189 -1
- package/dist/resources/blob.js.map +1 -1
- package/dist/resources/databases.d.ts +1 -0
- package/dist/resources/databases.js +80 -15
- package/dist/resources/databases.js.map +1 -1
- package/dist/resources/derivedIndexRuntime.d.ts +13 -0
- package/dist/resources/derivedIndexRuntime.js +57 -5
- package/dist/resources/derivedIndexRuntime.js.map +1 -1
- package/dist/resources/derivedIndexes.d.ts +1 -0
- package/dist/resources/derivedIndexes.js +116 -15
- package/dist/resources/derivedIndexes.js.map +1 -1
- package/dist/resources/fullTextSchema.d.ts +5 -3
- package/dist/resources/fullTextSchema.js +48 -5
- package/dist/resources/fullTextSchema.js.map +1 -1
- package/dist/resources/fullTextSchemaLifecycle.d.ts +2 -0
- package/dist/resources/fullTextSchemaLifecycle.js +33 -0
- package/dist/resources/fullTextSchemaLifecycle.js.map +1 -1
- package/dist/resources/graphql.js +30 -12
- package/dist/resources/graphql.js.map +1 -1
- package/dist/resources/indexes/HierarchicalNavigableSmallWorld.d.ts +21 -1
- package/dist/resources/indexes/HierarchicalNavigableSmallWorld.js +114 -5
- package/dist/resources/indexes/HierarchicalNavigableSmallWorld.js.map +1 -1
- package/dist/resources/indexes/fullTextDerivedIndex.d.ts +11 -2
- package/dist/resources/indexes/fullTextDerivedIndex.js +187 -24
- package/dist/resources/indexes/fullTextDerivedIndex.js.map +1 -1
- package/dist/resources/indexes/fullTextNativeBinding.d.ts +99 -1
- package/dist/resources/indexes/fullTextNativeBinding.js +35 -1
- package/dist/resources/indexes/fullTextNativeBinding.js.map +1 -1
- package/dist/resources/indexes/fullTextQueryIndex.d.ts +58 -0
- package/dist/resources/indexes/fullTextQueryIndex.js +943 -0
- package/dist/resources/indexes/fullTextQueryIndex.js.map +1 -0
- package/dist/resources/indexes/fullTextQueryProtocol.d.ts +6 -0
- package/dist/resources/indexes/fullTextQueryProtocol.js +32 -0
- package/dist/resources/indexes/fullTextQueryProtocol.js.map +1 -0
- package/dist/resources/indexes/nativeFullTextDerivedIndexLifecycle.d.ts +4 -1
- package/dist/resources/indexes/nativeFullTextDerivedIndexLifecycle.js +30 -7
- package/dist/resources/indexes/nativeFullTextDerivedIndexLifecycle.js.map +1 -1
- package/dist/resources/search.d.ts +41 -0
- package/dist/resources/search.js +468 -26
- package/dist/resources/search.js.map +1 -1
- package/dist/resources/transactionBroadcast.js +101 -50
- package/dist/resources/transactionBroadcast.js.map +1 -1
- package/dist/resources/typeParity.d.ts +9 -0
- package/dist/resources/typeParity.js +3 -0
- package/dist/resources/typeParity.js.map +1 -0
- package/dist/server/REST.js.map +1 -1
- package/dist/server/itc/serverHandlers.js +48 -8
- package/dist/server/itc/serverHandlers.js.map +1 -1
- package/dist/server/serverHelpers/contentTypes.d.ts +7 -0
- package/dist/server/serverHelpers/contentTypes.js +36 -23
- package/dist/server/serverHelpers/contentTypes.js.map +1 -1
- package/dist/server/serverHelpers/uwsServer.js +28 -5
- package/dist/server/serverHelpers/uwsServer.js.map +1 -1
- package/dist/server/threads/itc.js +19 -0
- package/dist/server/threads/itc.js.map +1 -1
- package/dist/server/threads/manageThreads.d.ts +3 -0
- package/dist/server/threads/manageThreads.js +90 -23
- package/dist/server/threads/manageThreads.js.map +1 -1
- package/dist/utility/operation_authorization.js +25 -7
- package/dist/utility/operation_authorization.js.map +1 -1
- package/dist/utility/signalling.js +3 -0
- package/dist/utility/signalling.js.map +1 -1
- package/dist/validation/searchValidator.js +22 -2
- package/dist/validation/searchValidator.js.map +1 -1
- package/npm-shrinkwrap.json +22 -22
- package/package.json +2 -4
- package/resources/DESIGN.md +19 -2
- package/resources/DatabaseTransaction.ts +40 -10
- package/resources/FULL_TEXT.md +97 -0
- package/resources/ResourceInterface.ts +8 -2
- package/resources/Table.ts +767 -17
- package/resources/analytics/write.ts +3 -3
- package/resources/blob.ts +183 -1
- package/resources/databases.ts +126 -14
- package/resources/derivedIndexRuntime.ts +79 -6
- package/resources/derivedIndexes.ts +142 -18
- package/resources/fullTextSchema.ts +55 -9
- package/resources/fullTextSchemaLifecycle.ts +45 -0
- package/resources/graphql.ts +33 -12
- package/resources/indexes/DESIGN.md +167 -15
- package/resources/indexes/HierarchicalNavigableSmallWorld.ts +125 -5
- package/resources/indexes/fullTextDerivedIndex.ts +216 -32
- package/resources/indexes/fullTextNativeBinding.ts +133 -3
- package/resources/indexes/fullTextQueryIndex.ts +1120 -0
- package/resources/indexes/fullTextQueryProtocol.ts +35 -0
- package/resources/indexes/nativeFullTextDerivedIndexLifecycle.ts +28 -8
- package/resources/search.ts +513 -26
- package/resources/transactionBroadcast.ts +86 -47
- package/resources/typeParity.ts +20 -0
- package/schema.graphql +18 -5
- package/server/DESIGN.md +18 -0
- package/server/REST.ts +1 -1
- package/server/itc/serverHandlers.js +61 -8
- package/server/serverHelpers/contentTypes.ts +31 -26
- package/server/serverHelpers/uwsServer.ts +35 -7
- package/server/threads/itc.js +21 -0
- package/server/threads/manageThreads.js +95 -21
- package/studio/web/assets/{Chat-Bq60AO-g.js → Chat-CNEKMllJ.js} +13 -13
- package/studio/web/assets/FloatingChat-CEnWhHeR.js +23 -0
- package/studio/web/assets/SearchDialog-CwhJdEdY.js +1 -0
- package/studio/web/assets/{abnfDiagram-O67JEVCF-DpPZWMOf.js → abnfDiagram-O67JEVCF-raXE027J.js} +1 -1
- package/studio/web/assets/alertDialog-BbWD9Xxa.js +1 -0
- package/studio/web/assets/apiToken-DC5vsaaO.js +1 -0
- package/studio/web/assets/applications-DQZxDy0x.js +296 -0
- package/studio/web/assets/architecture-7GRP2DOG-DDmz3hpI.js +1 -0
- package/studio/web/assets/{architectureDiagram-NJMV4G6O-OmgLraID.js → architectureDiagram-NJMV4G6O-C8_Eet7w.js} +1 -1
- package/studio/web/assets/arrow-up-D2g_57vT.js +1 -0
- package/studio/web/assets/authStore-CJCaADw9.js +3 -0
- package/studio/web/assets/{blockDiagram-BEXU5L5S-Cv7CD3Ai.js → blockDiagram-BEXU5L5S-DR6S5-1D.js} +1 -1
- package/studio/web/assets/{button-MFP9n8Ck.js → button-DWwfgGWI.js} +2 -2
- package/studio/web/assets/{c4Diagram-YGBWAQC7-Ds1vKYnN.js → c4Diagram-YGBWAQC7-BAfZ1G01.js} +1 -1
- package/studio/web/assets/channel-D0AkPjJ8.js +1 -0
- package/studio/web/assets/{chevron-up-CFe8x5Bp.js → chevron-up-CFxbMGv2.js} +1 -1
- package/studio/web/assets/{chunk-3FUC2YCW-DpnBPH8B.js → chunk-3FUC2YCW-DuRp-j19.js} +1 -1
- package/studio/web/assets/{chunk-5DYCD2WN-LLLCQSzg.js → chunk-5DYCD2WN-BceBfIHT.js} +1 -1
- package/studio/web/assets/{chunk-742MDFTN-BL8J_pIO.js → chunk-742MDFTN-CIkt8ijt.js} +1 -1
- package/studio/web/assets/{chunk-7INBJB4K-C-hJHiiK.js → chunk-7INBJB4K-BpeAXyOi.js} +1 -1
- package/studio/web/assets/{chunk-7M6MHVWA-C6ZqkFbA.js → chunk-7M6MHVWA-h6WlaTzO.js} +1 -1
- package/studio/web/assets/{chunk-7PRAP22T-CUXM8BG6.js → chunk-7PRAP22T-KyqX6x3f.js} +1 -1
- package/studio/web/assets/{chunk-GTNCS2PH-DJ2BFvS1.js → chunk-GTNCS2PH-DGHLXyow.js} +1 -1
- package/studio/web/assets/{chunk-GWA4HPMP-C42bSqLL.js → chunk-GWA4HPMP-DsejB6gA.js} +1 -1
- package/studio/web/assets/{chunk-MBY4JIJT-C-5jz6Lo.js → chunk-MBY4JIJT-BwSGweQP.js} +1 -1
- package/studio/web/assets/{chunk-NETBCI7D-D-bzlN4r.js → chunk-NETBCI7D-C8UnOw_f.js} +1 -1
- package/studio/web/assets/{chunk-O7XYJQB3-ep14zA23.js → chunk-O7XYJQB3-CBS3nZYV.js} +1 -1
- package/studio/web/assets/{chunk-UA2S7LBM-BMRWRHED.js → chunk-UA2S7LBM-BHpEdH8D.js} +1 -1
- package/studio/web/assets/{chunk-WEXAMYUT-DdLYVdX1.js → chunk-WEXAMYUT-BAIhTwyh.js} +1 -1
- package/studio/web/assets/{chunk-Z7XXMR3K-BmKEDjcP.js → chunk-Z7XXMR3K-DSHbImdf.js} +1 -1
- package/studio/web/assets/{chunk-ZIGJFQKS-DLZgdNxA.js → chunk-ZIGJFQKS-Cs8fUn7y.js} +1 -1
- package/studio/web/assets/{classDiagram-v2-NBCMYWYE-DOI5vgKT.js → classDiagram-v2-NBCMYWYE-DmDPkt2u.js} +1 -1
- package/studio/web/assets/cn-6T8VranJ.js +1 -0
- package/studio/web/assets/{codicon-Brq4_Ui5.ttf → codicon-DF1abBS2.ttf} +0 -0
- package/studio/web/assets/{createLucideIcon-bziYxJli.js → createLucideIcon-fO5dL7D5.js} +1 -1
- package/studio/web/assets/{css.worker-l1psR_wG.js → css.worker-DoT-OOzx.js} +36 -36
- package/studio/web/assets/{cssMode-DJyc9mHj.js → cssMode-Dz2DxF4e.js} +1 -1
- package/studio/web/assets/{cynefin-OW5HDTMX-BSW-DB7S.js → cynefin-OW5HDTMX-DIvbXLSj.js} +1 -1
- package/studio/web/assets/{cynefinDiagram-VND7K2PF-CbAHEwxt.js → cynefinDiagram-VND7K2PF-BdtaXiCE.js} +1 -1
- package/studio/web/assets/{dagre-6A5THRUB-Csxewgs4.js → dagre-6A5THRUB-C7RUWHyz.js} +1 -1
- package/studio/web/assets/{diagram-22UHCM2B-a0rt8tY4.js → diagram-22UHCM2B-DJCvcaWP.js} +1 -1
- package/studio/web/assets/{diagram-3UASUU5V-lEj2SVNh.js → diagram-3UASUU5V-Du6VKWln.js} +1 -1
- package/studio/web/assets/{diagram-ATOU4E4O-HcrAeB-q.js → diagram-ATOU4E4O-dxRfeG4B.js} +1 -1
- package/studio/web/assets/{diagram-CDSNMT55-CYxiuyEx.js → diagram-CDSNMT55-l5Ga0u-W.js} +1 -1
- package/studio/web/assets/{diagram-MLGK6HIB-ChbCJTgJ.js → diagram-MLGK6HIB-CNQY47LA.js} +1 -1
- package/studio/web/assets/{diagram-MPIPVDR6-DaX9Y-N3.js → diagram-MPIPVDR6-7prveD1B.js} +1 -1
- package/studio/web/assets/{dist-Cz2Y6-6G.js → dist-BrRuMUzt.js} +1 -1
- package/studio/web/assets/{download-CtostjYn.js → download-Cn6tPG4L.js} +1 -1
- package/studio/web/assets/{ebnfDiagram-ZINNZB2B-CwAsENB1.js → ebnfDiagram-ZINNZB2B-5OnkTpfi.js} +1 -1
- package/studio/web/assets/{editor-DDIsQfj6.js → editor-B3mjd3tz.js} +1 -1
- package/studio/web/assets/editor.worker-Yd1NR0QT.js +33 -0
- package/studio/web/assets/{elk-276RUBZZ-Hexg9E4D.js → elk-276RUBZZ-DxDQPjQT.js} +1 -1
- package/studio/web/assets/{erDiagram-OPXOYQCR-CeC-wwO1.js → erDiagram-OPXOYQCR-CQlCX84D.js} +1 -1
- package/studio/web/assets/eventmodeling-NTZA5JFV-DONQf5aG.js +1 -0
- package/studio/web/assets/flowDiagram-KWPJA3E3-BoZ8_QR1.js +1 -0
- package/studio/web/assets/{ganttDiagram-FUAMR5RP-C2_Hhl1-.js → ganttDiagram-FUAMR5RP-bloX3Voy.js} +1 -1
- package/studio/web/assets/{getAnalytics-CjthMQqF.js → getAnalytics-C0FHjtdQ.js} +1 -1
- package/studio/web/assets/{gitGraph-4MIJSDKK-xIk5Vuew.js → gitGraph-4MIJSDKK-BrXWmJt2.js} +1 -1
- package/studio/web/assets/{gitGraphDiagram-X574FWY7-CMxJ34up.js → gitGraphDiagram-X574FWY7-C2KnnZeY.js} +1 -1
- package/studio/web/assets/{html-g1BJHxLy.js → html-BsRGM7tp.js} +1 -1
- package/studio/web/assets/{html.worker-DdwM4IrA.js → html.worker-B1dwY0Ay.js} +27 -27
- package/studio/web/assets/{htmlMode-Vh5IglCQ.js → htmlMode-tUKJaA3o.js} +1 -1
- package/studio/web/assets/index-72cEH474.css +1 -0
- package/studio/web/assets/index-BuqFjN5K.js +828 -0
- package/studio/web/assets/index.lazy-CcpfQFY_.js +2 -0
- package/studio/web/assets/{info-A6RAGUB7-o49TEbj-.js → info-A6RAGUB7-BhzBHe4U.js} +1 -1
- package/studio/web/assets/{infoDiagram-VRGFBTTK-Cjhh7yzZ.js → infoDiagram-VRGFBTTK-B0J1132p.js} +1 -1
- package/studio/web/assets/{ishikawaDiagram-OU5B5YK6-C63aXRmh.js → ishikawaDiagram-OU5B5YK6-BNk0tuQx.js} +1 -1
- package/studio/web/assets/{javascript-5VIolqf7.js → javascript-BZ_uRGHl.js} +1 -1
- package/studio/web/assets/{journeyDiagram-ZHPQQLJL-D_o0P5Mu.js → journeyDiagram-ZHPQQLJL-Be79RMQM.js} +1 -1
- package/studio/web/assets/json.worker-BQqXGI3X.js +65 -0
- package/studio/web/assets/{jsonMode-DG4zQraI.js → jsonMode-DgB-aFMj.js} +1 -1
- package/studio/web/assets/{kanban-definition-PNTS6WVX-CTI9SSxY.js → kanban-definition-PNTS6WVX-4uuoQP9W.js} +1 -1
- package/studio/web/assets/{languageServices-t5FBpX-i.js → languageServices-BleuBw17.js} +1 -1
- package/studio/web/assets/localStorageKeys-etzFY_xV.js +1 -0
- package/studio/web/assets/{lspLanguageFeatures-DgVnNPh-.js → lspLanguageFeatures-ByVYLSsQ.js} +1 -1
- package/studio/web/assets/{mermaid-parser.core-C2lcH_jP.js → mermaid-parser.core-V1UYMeXV.js} +3 -3
- package/studio/web/assets/{mermaid.core-BG5bjfIG.js → mermaid.core-1PX6R49U.js} +4 -4
- package/studio/web/assets/{mindmap-definition-NLK3R4M7-BK7ho6JD.js → mindmap-definition-NLK3R4M7-C70Ctm0J.js} +1 -1
- package/studio/web/assets/notifications-D1Nf-Edn.js +1 -0
- package/studio/web/assets/notifications-TuzN0IMi.js +1 -0
- package/studio/web/assets/{packet-AYTQ26CC-BHPy6KBV.js → packet-AYTQ26CC-DWbXHx5g.js} +1 -1
- package/studio/web/assets/{pegDiagram-GJSIUBJH-DzjwG3jO.js → pegDiagram-GJSIUBJH-d6z1cc7W.js} +1 -1
- package/studio/web/assets/{pie-WAS4IAKB-D0cP-DTU.js → pie-WAS4IAKB-DjoTm3yr.js} +1 -1
- package/studio/web/assets/{pieDiagram-5QR66LMP-C_hOP9Lv.js → pieDiagram-5QR66LMP-Dz3RHpDA.js} +1 -1
- package/studio/web/assets/profile-D7C7Lupz.js +1 -0
- package/studio/web/assets/{quadrantDiagram-O4NWA36T-CZW8PbV1.js → quadrantDiagram-O4NWA36T-CIF5Qkou.js} +1 -1
- package/studio/web/assets/{radar-RG4KPBEZ-C8fk0U81.js → radar-RG4KPBEZ-CVBgjCOj.js} +1 -1
- package/studio/web/assets/{railroad-74A4TZTK-B60FWm17.js → railroad-74A4TZTK-BdhXw10Q.js} +1 -1
- package/studio/web/assets/railroad-abnf-HS5TGJTU-BcoQPN39.js +1 -0
- package/studio/web/assets/railroad-ebnf-LZEXJU2U-B1Lke2JN.js +1 -0
- package/studio/web/assets/railroad-peg-WCYAUIDC-D-oJFkiV.js +1 -0
- package/studio/web/assets/{railroadDiagram-XR7U4H2S-DyyNmgbU.js → railroadDiagram-XR7U4H2S-y3Jv2U6N.js} +1 -1
- package/studio/web/assets/regions-nGQCm-v8.js +1 -0
- package/studio/web/assets/register-C3x9Ze6P.js +909 -0
- package/studio/web/assets/register-DjpsE8to.css +1 -0
- package/studio/web/assets/{requirementDiagram-PLB6GJNP-C4H-mLKu.js → requirementDiagram-PLB6GJNP-ChINZEmu.js} +1 -1
- package/studio/web/assets/restartGate-nHAFLDh-.js +1 -0
- package/studio/web/assets/{sankeyDiagram-IPEJSGJF-DHDyga4c.js → sankeyDiagram-IPEJSGJF-D9AyLce2.js} +1 -1
- package/studio/web/assets/{sequenceDiagram-PO4LG4MO-CdNcHXRI.js → sequenceDiagram-PO4LG4MO-hfk4aIEm.js} +1 -1
- package/studio/web/assets/{setComponentFile-z4-qJCbA.js → setComponentFile-DpjrRqeG.js} +1 -1
- package/studio/web/assets/{setup-CS50uJ4x.js → setup-CGiKLZ9e.js} +2 -2
- package/studio/web/assets/{stateDiagram-v2-GCMORJYK-CpKuXq15.js → stateDiagram-v2-GCMORJYK-Bs8RIb9K.js} +1 -1
- package/studio/web/assets/status-CGJwrNPH.js +61 -0
- package/studio/web/assets/{swimlanes-2SLR337P-NRHa2D8I.js → swimlanes-2SLR337P-B52xrf6t.js} +1 -1
- package/studio/web/assets/swimlanesDiagram-TC7HE7FX-DfN7BAP5.js +8 -0
- package/studio/web/assets/tabs-BCTQzoQK.js +1 -0
- package/studio/web/assets/{timeline-definition-EJHVYXUP-D39Y-xpq.js → timeline-definition-EJHVYXUP-DJSITpQX.js} +1 -1
- package/studio/web/assets/toggleHighContrast-C-Ne6P7T.js +51 -0
- package/studio/web/assets/toggleHighContrast-n7clI0si.css +1 -0
- package/studio/web/assets/{treeView-Q6P3EWNA-CRWR9OqD.js → treeView-Q6P3EWNA-C-epdxRo.js} +1 -1
- package/studio/web/assets/{treemap-WGGIJYW6-ZfXyJgLO.js → treemap-WGGIJYW6-DOVyp_zw.js} +1 -1
- package/studio/web/assets/{ts.worker-DDMUrpqh.js → ts.worker-Clm12uY6.js} +131 -131
- package/studio/web/assets/{tsMode-D83Gg3cq.js → tsMode-CSreYTys.js} +1 -1
- package/studio/web/assets/{typescript-Dfp-GrNq.js → typescript-MnxBk89W.js} +1 -1
- package/studio/web/assets/{useEntityRestURL-BKetlINf.js → useEntityRestURL-TNrh77-s.js} +1 -1
- package/studio/web/assets/{usecaseDiagram-POWQR4AR-jf-zIDZ_.js → usecaseDiagram-POWQR4AR-B6252cbq.js} +1 -1
- package/studio/web/assets/{vendor-core-BdkdbUek.js → vendor-core-6LhfJlRC.js} +1 -1
- package/studio/web/assets/vendor-datadog-ozKf-pts.js +6 -0
- package/studio/web/assets/{vendor-react-izWchTRL.js → vendor-react-BOliS0BL.js} +1 -1
- package/studio/web/assets/vendor-tanstack-Bntfka-M.js +2 -0
- package/studio/web/assets/vendor-ui-9EYYDgoN.js +41 -0
- package/studio/web/assets/{vennDiagram-UO4OBE2U-BKYAZUh_.js → vennDiagram-UO4OBE2U-DZTsDA4k.js} +1 -1
- package/studio/web/assets/{wardley-WFR3VGLG-BO7f36ci.js → wardley-WFR3VGLG-Cfqoe6z4.js} +1 -1
- package/studio/web/assets/{wardleyDiagram-VNRHLVJA-Djb0JDQc.js → wardleyDiagram-VNRHLVJA-qu_f7Tvl.js} +1 -1
- package/studio/web/assets/{workers-CCvmDLH3.js → workers-BfZlUNVI.js} +3 -3
- package/studio/web/assets/{xml-06pZp00U.js → xml-BHd6qGH7.js} +1 -1
- package/studio/web/assets/{xychartDiagram-PMCCYNJV-BQh9ubvb.js → xychartDiagram-PMCCYNJV-UrOKRsmR.js} +1 -1
- package/studio/web/assets/{yaml-iSnWMVlV.js → yaml-C53R8OQq.js} +1 -1
- package/studio/web/assets/{yaml.worker-DAK2o_H1.js → yaml.worker-D9JekGdp.js} +183 -183
- package/studio/web/index.html +15 -15
- package/utility/operation_authorization.ts +27 -7
- package/utility/signalling.ts +3 -0
- package/validation/searchValidator.ts +22 -13
- package/studio/web/assets/FloatingChat-D4560T0p.js +0 -23
- package/studio/web/assets/alertDialog-UrbiMgQt.js +0 -1
- package/studio/web/assets/apiToken-BEvbFPMc.js +0 -1
- package/studio/web/assets/applications-CSUVTH4E.js +0 -296
- package/studio/web/assets/architecture-7GRP2DOG-11l4Ny1l.js +0 -1
- package/studio/web/assets/authStore-5jSS5pTW.js +0 -3
- package/studio/web/assets/channel-BDtouPd6.js +0 -1
- package/studio/web/assets/dialog-DTepachC.js +0 -1
- package/studio/web/assets/editor.worker-CkkvdXvO.js +0 -33
- package/studio/web/assets/eventmodeling-NTZA5JFV-CFb03e0o.js +0 -1
- package/studio/web/assets/flowDiagram-KWPJA3E3-Cidi00_Y.js +0 -1
- package/studio/web/assets/index-CPoDzQTe.css +0 -1
- package/studio/web/assets/index-DGRAzvO4.js +0 -824
- package/studio/web/assets/index.lazy-vgSic7et.js +0 -2
- package/studio/web/assets/json.worker-CSi2hF-a.js +0 -65
- package/studio/web/assets/notifications-BeWcX04m.js +0 -1
- package/studio/web/assets/notifications-DUGWrWoO.js +0 -1
- package/studio/web/assets/profile-BvUEDBzW.js +0 -1
- package/studio/web/assets/railroad-abnf-HS5TGJTU-CLMVZvH0.js +0 -1
- package/studio/web/assets/railroad-ebnf-LZEXJU2U--tlwFoVB.js +0 -1
- package/studio/web/assets/railroad-peg-WCYAUIDC-Dpuslblm.js +0 -1
- package/studio/web/assets/regions-CB-_2m7M.js +0 -1
- package/studio/web/assets/register-1w1Zr3b2.js +0 -848
- package/studio/web/assets/register-jjEx9u7D.css +0 -1
- package/studio/web/assets/setLocalStorage-D_kflv4U.js +0 -1
- package/studio/web/assets/status-CI0wOdOE.js +0 -61
- package/studio/web/assets/swimlanesDiagram-TC7HE7FX-BBk4t4hO.js +0 -8
- package/studio/web/assets/tabs-CnQ_zenf.js +0 -1
- package/studio/web/assets/toggleHighContrast--ixms01u.css +0 -1
- package/studio/web/assets/toggleHighContrast-BsAE4jPe.js +0 -49
- package/studio/web/assets/useLocalStorage-BYoZF60G.js +0 -1
- package/studio/web/assets/vendor-datadog-fCQhBHGk.js +0 -6
- package/studio/web/assets/vendor-tanstack-CQ1aRjVa.js +0 -2
- package/studio/web/assets/vendor-ui-aE1tHcW7.js +0 -41
- package/studio/web/assets/x-vYntCxm4.js +0 -1
|
@@ -3,16 +3,19 @@
|
|
|
3
3
|
* tables through the interface defined by the Resource class. This module is responsible for handling these
|
|
4
4
|
* table-level interactions, loading records, updating records, querying, and more.
|
|
5
5
|
*/
|
|
6
|
-
import { type Database } from 'lmdb';
|
|
7
|
-
import type { ResourceInterface, SubscriptionRequest, Id, Context, Sort, SubSelect, RequestTargetOrId } from './ResourceInterface.ts';
|
|
6
|
+
import { type Database, type Transaction as LMDBReadTransaction } from 'lmdb';
|
|
7
|
+
import type { ResourceInterface, SubscriptionRequest, Id, Context, Sort, SubSelect, RequestTargetOrId, Query, SourceContext } from './ResourceInterface.ts';
|
|
8
8
|
import type { User } from '../security/user.ts';
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
9
|
+
import type { IterableEventQueue } from './IterableEventQueue.ts';
|
|
10
|
+
import type { Contract, SchemaClass } from './defineResource.ts';
|
|
11
|
+
import { type WriteGeneration, type Transaction as DatabaseTransactionRecord } from './DatabaseTransaction.ts';
|
|
12
|
+
import { type RecordLockOptions } from './recordLock.ts';
|
|
11
13
|
import { ASSERT_TRACKED_WRITABLE, GET_TRACKED_WRITE_GENERATION } from './tracked.ts';
|
|
12
14
|
import { LockCoordinator, type LockControlEntry } from './recordLockCoordinator.ts';
|
|
13
15
|
import { type EmbedAttribute, type Embedder } from './models/embedHook.ts';
|
|
14
16
|
import { type DecideAttribute, type DecideConfig, type Decider } from './models/decideHook.ts';
|
|
15
17
|
import { RecordObject, type Entry, type StructureCounts } from './RecordEncoder.ts';
|
|
18
|
+
import { type StorageSpaceStats } from '../server/storageReclamation.ts';
|
|
16
19
|
import { RequestTarget } from './RequestTarget.ts';
|
|
17
20
|
import { RocksDatabase, Transaction as RocksTransaction } from '@harperfast/rocksdb-js';
|
|
18
21
|
import { type JsonSchemaFragment } from './jsonSchemaTypes.ts';
|
|
@@ -81,135 +84,112 @@ export interface Table {
|
|
|
81
84
|
hidden?: boolean;
|
|
82
85
|
}
|
|
83
86
|
type ResidencyDefinition = number | string[] | void;
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
/**
|
|
191
|
-
* Publishing a message to a record adds an (observable) entry in the audit log, but does not change
|
|
192
|
-
* the record at all. This entries should be replicated and trigger subscription listeners.
|
|
193
|
-
* @param id
|
|
194
|
-
* @param message
|
|
195
|
-
* @param options
|
|
196
|
-
*/
|
|
197
|
-
publish(target: RequestTarget, message: Record, options?: any): void | Promise<void>;
|
|
198
|
-
_writePublish(id: Id, message: any, options?: any): void;
|
|
199
|
-
validate(record: any, patch?: boolean): void;
|
|
200
|
-
getUpdatedTime(): number;
|
|
201
|
-
[ASSERT_TRACKED_WRITABLE](generation?: WriteGeneration): void;
|
|
202
|
-
[GET_TRACKED_WRITE_GENERATION](): WriteGeneration;
|
|
203
|
-
readonly "__#private@#id": Id;
|
|
204
|
-
readonly "__#private@#context": Context | import("./ResourceInterface.ts").SourceContext;
|
|
205
|
-
"__#private@#isCollection": boolean;
|
|
206
|
-
post(target: RequestTargetOrId, newRecord: Partial<Record & RecordObject>): Promise<Record & Partial<RecordObject>>;
|
|
207
|
-
get isCollection(): boolean;
|
|
208
|
-
connect(target: RequestTarget, incomingMessages: import("./IterableEventQueue.ts").IterableEventQueue<Record>): AsyncIterable<Record> | Promise<AsyncIterable<Record>>;
|
|
209
|
-
getId(): Id;
|
|
210
|
-
getContext(): Context | import("./ResourceInterface.ts").SourceContext;
|
|
211
|
-
getCurrentUser(): User | undefined;
|
|
212
|
-
};
|
|
87
|
+
interface TableResourceInstance<Record extends object = any> {
|
|
88
|
+
getProperty: (name: string) => any;
|
|
89
|
+
_loadRecord(target: RequestTarget, request: Context, resourceOptions?: any): MaybePromise<TableResourceInstance<Record>>;
|
|
90
|
+
/**
|
|
91
|
+
* This is a request to explicitly ensure that the record is loaded from source, rather than only using the local record.
|
|
92
|
+
* This will load from source if the current record is expired, missing, or invalidated.
|
|
93
|
+
*/
|
|
94
|
+
ensureLoaded(): void | Promise<void>;
|
|
95
|
+
/**
|
|
96
|
+
* This retrieves the data of this resource.
|
|
97
|
+
* @param target - If included, is an identifier/query that specifies the requested target to retrieve and query
|
|
98
|
+
*/
|
|
99
|
+
get(target?: any): any;
|
|
100
|
+
/**
|
|
101
|
+
* Determine if the user is allowed to get/read data from the current resource
|
|
102
|
+
* @deprecated Override the resource operation for application-specific authorization.
|
|
103
|
+
*/
|
|
104
|
+
allowRead(user: User, target: RequestTarget, context: Context): boolean;
|
|
105
|
+
/**
|
|
106
|
+
* Determine if the user is allowed to update data from the current resource
|
|
107
|
+
* @deprecated Override the resource operation for application-specific authorization.
|
|
108
|
+
*/
|
|
109
|
+
allowUpdate(user: User, updatedData: Record, context: Context): boolean;
|
|
110
|
+
/**
|
|
111
|
+
* Determine if the user is allowed to create new data in the current resource
|
|
112
|
+
* @deprecated Override the resource operation for application-specific authorization.
|
|
113
|
+
*/
|
|
114
|
+
allowCreate(user: User, newData: Record, context: Context): boolean;
|
|
115
|
+
/**
|
|
116
|
+
* Determine if the user is allowed to delete from the current resource
|
|
117
|
+
* @deprecated Override the resource operation for application-specific authorization.
|
|
118
|
+
*/
|
|
119
|
+
allowDelete(user: User, target: RequestTarget, context: Context): boolean;
|
|
120
|
+
/**
|
|
121
|
+
* Start updating a record. The returned resource will record changes which are written
|
|
122
|
+
* once the corresponding transaction is committed. These changes can (eventually) include CRDT type operations.
|
|
123
|
+
*/
|
|
124
|
+
update(updates: Record & RecordObject, fullUpdate: true): any;
|
|
125
|
+
update(updates: Partial<Record & RecordObject>, target?: RequestTarget): any;
|
|
126
|
+
update(target: RequestTarget, updates?: any): any;
|
|
127
|
+
/**
|
|
128
|
+
* Save any changes into this instance to the current transaction
|
|
129
|
+
*/
|
|
130
|
+
save(): any;
|
|
131
|
+
addTo(property: any, value: any): void;
|
|
132
|
+
subtractFrom(property: any, value: any): void;
|
|
133
|
+
getMetadata(): Entry;
|
|
134
|
+
getRecord(): any;
|
|
135
|
+
getChanges(): any;
|
|
136
|
+
_setChanges(changes: any): void;
|
|
137
|
+
setRecord(record: any): void;
|
|
138
|
+
invalidate(target: RequestTargetOrId): void | Promise<void>;
|
|
139
|
+
_writeInvalidate(id: Id, partialRecord?: any, options?: any): void;
|
|
140
|
+
_writeRelocate(id: Id, options: any): void;
|
|
141
|
+
/**
|
|
142
|
+
* Acquire an exclusive lock on this record (or on `target`'s) and return it ready for updates
|
|
143
|
+
* (harper#483, Phase 0: exclusive across every worker thread of this node). The lock is held
|
|
144
|
+
* in process memory only — no durable writes. Phase 0 contract: lock() is mutually exclusive
|
|
145
|
+
* with other lock() calls on the same key; plain writes (put/patch/delete/create) are never
|
|
146
|
+
* gated or blocked. The generation expires after `lease` if it is never released.
|
|
147
|
+
*
|
|
148
|
+
* Transaction-scoped (default): write through the returned record (or the table's static verbs
|
|
149
|
+
* in the same transaction), and the commit or abort releases it. `{ hold: true }`: the lock
|
|
150
|
+
* outlives the transaction; write through the returned record and release with `unlock()`, or
|
|
151
|
+
* let the lease expire.
|
|
152
|
+
*/
|
|
153
|
+
lock(target?: RequestTargetOrId | RecordLockOptions, options?: RecordLockOptions): Promise<any>;
|
|
154
|
+
/**
|
|
155
|
+
* Release the lock this instance holds. Resolves true when this call cleared the native key lock.
|
|
156
|
+
* Works for both held (`{ hold: true }`) and transaction-scoped locks. After unlock() the
|
|
157
|
+
* instance is no longer lock-writable; writes through it require a fresh lock.
|
|
158
|
+
*/
|
|
159
|
+
unlock(): Promise<boolean>;
|
|
160
|
+
/**
|
|
161
|
+
* Store the provided record data into the current resource. This is not written
|
|
162
|
+
* until the corresponding transaction is committed.
|
|
163
|
+
*/
|
|
164
|
+
put(target: RequestTarget, record: Record & RecordObject): void | (Record & Partial<RecordObject>) | Promise<void | (Record & Partial<RecordObject>)>;
|
|
165
|
+
create(target: RequestTargetOrId, record: Partial<Record & RecordObject>): void | (Record & Partial<RecordObject>) | Promise<Record & Partial<RecordObject>>;
|
|
166
|
+
patch(target: RequestTarget, recordUpdate: Partial<Record & RecordObject>): void | (Record & Partial<RecordObject>) | Promise<void | (Record & Partial<RecordObject>)>;
|
|
167
|
+
_writeUpdate(id: Id, recordUpdate: any, fullUpdate: boolean, options?: any): any;
|
|
168
|
+
delete(target: RequestTargetOrId): Promise<boolean>;
|
|
169
|
+
_writeDelete(id: Id, options?: any): boolean;
|
|
170
|
+
search(target: RequestTarget): AsyncIterable<Record & Partial<RecordObject>>;
|
|
171
|
+
subscribe(request: SubscriptionRequest): Promise<AsyncIterable<Record>>;
|
|
172
|
+
doesExist(): boolean;
|
|
173
|
+
/**
|
|
174
|
+
* Publishing a message to a record adds an (observable) entry in the audit log, but does not change
|
|
175
|
+
* the record at all. This entries should be replicated and trigger subscription listeners.
|
|
176
|
+
*/
|
|
177
|
+
publish(target: RequestTarget, message: Record, options?: any): void | Promise<void>;
|
|
178
|
+
_writePublish(id: Id, message: any, options?: any): void;
|
|
179
|
+
validate(record: any, patch?: boolean): void;
|
|
180
|
+
getUpdatedTime(): number;
|
|
181
|
+
[ASSERT_TRACKED_WRITABLE](generation?: WriteGeneration): void;
|
|
182
|
+
[GET_TRACKED_WRITE_GENERATION](): WriteGeneration;
|
|
183
|
+
post(target: RequestTargetOrId, newRecord: Partial<Record & RecordObject>): Promise<Record & Partial<RecordObject>>;
|
|
184
|
+
get isCollection(): boolean;
|
|
185
|
+
connect(target: RequestTarget, incomingMessages: IterableEventQueue<Record>): AsyncIterable<Record> | Promise<AsyncIterable<Record>>;
|
|
186
|
+
getId(): Id;
|
|
187
|
+
getContext(): Context | SourceContext;
|
|
188
|
+
getCurrentUser(): User | undefined;
|
|
189
|
+
}
|
|
190
|
+
interface TableResourceClass {
|
|
191
|
+
new <Record extends object = any>(identifier: Id, source: any): TableResourceInstance<Record>;
|
|
192
|
+
prototype: TableResourceInstance;
|
|
213
193
|
name: any;
|
|
214
194
|
primaryStore: any;
|
|
215
195
|
storageGeneration: any;
|
|
@@ -222,19 +202,23 @@ export declare function makeTable(options: any): {
|
|
|
222
202
|
close(dropping?: boolean): Promise<void>;
|
|
223
203
|
fullTextDefinitions?(): readonly FullTextDefinition[];
|
|
224
204
|
matchesCurrent?(): boolean;
|
|
225
|
-
restoreAfterFailedDrop?():
|
|
226
|
-
|
|
227
|
-
fullTextDefinitions?(): readonly FullTextDefinition[];
|
|
228
|
-
matchesCurrent?(): boolean;
|
|
229
|
-
restoreAfterFailedDrop?(): /*elided*/ any;
|
|
230
|
-
retireAfterConfirmedDrop?(definitions?: readonly Pick<FullTextDefinition, "name">[]): Promise<boolean>;
|
|
231
|
-
completeDrop?(dropped?: boolean): void;
|
|
232
|
-
};
|
|
233
|
-
retireAfterConfirmedDrop?(definitions?: readonly Pick<FullTextDefinition, "name">[]): Promise<boolean>;
|
|
205
|
+
restoreAfterFailedDrop?(): TableResourceClass['derivedIndexRuntime'];
|
|
206
|
+
retireAfterConfirmedDrop?(definitions?: readonly Pick<FullTextDefinition, 'name'>[]): Promise<boolean>;
|
|
234
207
|
completeDrop?(dropped?: boolean): void;
|
|
235
208
|
} | undefined;
|
|
236
209
|
audit: any;
|
|
237
210
|
fullTextIndexes: FullTextDefinition[];
|
|
211
|
+
get fullTextFields(): readonly string[];
|
|
212
|
+
set fullTextFields(names: readonly string[]);
|
|
213
|
+
assertFullTextSelection(select: unknown, sort?: any): void;
|
|
214
|
+
assertFullTextRecordField(name: unknown): void;
|
|
215
|
+
isFullTextSearchEntryCurrent(entry: Entry): boolean;
|
|
216
|
+
fullTextQueryIndexes: {
|
|
217
|
+
[name: string]: {
|
|
218
|
+
customIndex: unknown;
|
|
219
|
+
};
|
|
220
|
+
};
|
|
221
|
+
hasFullTextQueryIndexes: boolean;
|
|
238
222
|
fullTextIndexGenerations: FullTextIndexGenerations;
|
|
239
223
|
fullTextIndexRetirements: string[];
|
|
240
224
|
hasCurrentFullTextIndexRetirements(names: readonly string[]): boolean | Promise<boolean>;
|
|
@@ -272,7 +256,7 @@ export declare function makeTable(options: any): {
|
|
|
272
256
|
};
|
|
273
257
|
userSetDeciders: Set<string>;
|
|
274
258
|
decideAttributes: DecideAttribute[];
|
|
275
|
-
source?:
|
|
259
|
+
source?: any;
|
|
276
260
|
sourceOptions: any;
|
|
277
261
|
intermediateSource: boolean;
|
|
278
262
|
getResidencyById: (id: Id) => number | void;
|
|
@@ -284,11 +268,8 @@ export declare function makeTable(options: any): {
|
|
|
284
268
|
* This defines a source for a table. This effectively makes a table into a cache, where the canonical
|
|
285
269
|
* source of data (or source of truth) is provided here in the Resource argument. Additional options
|
|
286
270
|
* can be provided to indicate how the caching should be handled.
|
|
287
|
-
* @param source
|
|
288
|
-
* @param options
|
|
289
|
-
* @returns
|
|
290
271
|
*/
|
|
291
|
-
sourcedFrom(source: any, options: any):
|
|
272
|
+
sourcedFrom(source: any, options: any): any;
|
|
292
273
|
get isCaching(): any;
|
|
293
274
|
/** Indicates if the events should be revalidated when they are received. By default we do this if the get
|
|
294
275
|
* method is overriden */
|
|
@@ -296,266 +277,9 @@ export declare function makeTable(options: any): {
|
|
|
296
277
|
/**
|
|
297
278
|
* Gets a resource instance, as defined by the Resource class, adding the table-specific handling
|
|
298
279
|
* of also loading the stored record into the resource instance.
|
|
299
|
-
* @param target
|
|
300
|
-
* @param request
|
|
301
280
|
* @param resourceOptions An important option is ensureLoaded, which can be used to indicate that it is necessary for a caching table to load data from the source if there is not a local copy of the data in the table (usually not necessary for a delete, for example).
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
getResource<Record extends object = any>(target: RequestTarget, request: Context, resourceOptions?: any): Promise<{
|
|
305
|
-
"__#private@#record": any;
|
|
306
|
-
"__#private@#changes": any;
|
|
307
|
-
"__#private@#version"?: number;
|
|
308
|
-
"__#private@#entry"?: Entry;
|
|
309
|
-
"__#private@#savingOperation"?: any;
|
|
310
|
-
"__#private@#lockHandle"?: RecordLockHandle;
|
|
311
|
-
"__#private@#lockWritable"?: boolean;
|
|
312
|
-
"__#private@#writeGeneration"?: WriteGeneration;
|
|
313
|
-
getProperty: (name: string) => any;
|
|
314
|
-
/**
|
|
315
|
-
* Shared guard: if this instance is lock-writable but the handle is gone (expired or
|
|
316
|
-
* released), throw 409 before staging any write. Covers update/invalidate/relocate/delete
|
|
317
|
-
* in addition to the save() path. Every lock-writable instance carries its own handle in
|
|
318
|
-
* #lockHandle (scoped and hold alike), so we never need to search the registry here.
|
|
319
|
-
*/
|
|
320
|
-
"__#private@#assertLiveHandle"(id: Id, allowClosed?: boolean): void;
|
|
321
|
-
_loadRecord(target: RequestTarget, request: Context, resourceOptions?: any): MaybePromise</*elided*/ any>;
|
|
322
|
-
/**
|
|
323
|
-
* This is a request to explicitly ensure that the record is loaded from source, rather than only using the local record.
|
|
324
|
-
* This will load from source if the current record is expired, missing, or invalidated.
|
|
325
|
-
* @returns
|
|
326
|
-
*/
|
|
327
|
-
ensureLoaded(): void | Promise<void>;
|
|
328
|
-
/**
|
|
329
|
-
* This retrieves the data of this resource.
|
|
330
|
-
* @param target - If included, is an identifier/query that specifies the requested target to retrieve and query
|
|
331
|
-
*/
|
|
332
|
-
get(target?: any): any;
|
|
333
|
-
/**
|
|
334
|
-
* Determine if the user is allowed to get/read data from the current resource
|
|
335
|
-
* @deprecated Override the resource operation for application-specific authorization.
|
|
336
|
-
*/
|
|
337
|
-
allowRead(user: User, target: RequestTarget, context: Context): boolean;
|
|
338
|
-
/**
|
|
339
|
-
* Determine if the user is allowed to update data from the current resource
|
|
340
|
-
* @deprecated Override the resource operation for application-specific authorization.
|
|
341
|
-
*/
|
|
342
|
-
allowUpdate(user: User, updatedData: Record, context: Context): boolean;
|
|
343
|
-
/**
|
|
344
|
-
* Determine if the user is allowed to create new data in the current resource
|
|
345
|
-
* @deprecated Override the resource operation for application-specific authorization.
|
|
346
|
-
*/
|
|
347
|
-
allowCreate(user: User, newData: Record, context: Context): boolean;
|
|
348
|
-
/**
|
|
349
|
-
* Determine if the user is allowed to delete from the current resource
|
|
350
|
-
* @deprecated Override the resource operation for application-specific authorization.
|
|
351
|
-
*/
|
|
352
|
-
allowDelete(user: User, target: RequestTarget, context: Context): boolean;
|
|
353
|
-
/**
|
|
354
|
-
* Start updating a record. The returned resource will record changes which are written
|
|
355
|
-
* once the corresponding transaction is committed. These changes can (eventually) include CRDT type operations.
|
|
356
|
-
*/
|
|
357
|
-
update(updates: Record & RecordObject, fullUpdate: true): any;
|
|
358
|
-
update(updates: Partial<Record & RecordObject>, target?: RequestTarget): any;
|
|
359
|
-
update(target: RequestTarget, updates?: any): any;
|
|
360
|
-
/**
|
|
361
|
-
* Save any changes into this instance to the current transaction
|
|
362
|
-
*/
|
|
363
|
-
save(): any;
|
|
364
|
-
"__#private@#saveOperation"(operation: any): any;
|
|
365
|
-
"__#private@#closeWriteChain"(operation: any): void;
|
|
366
|
-
addTo(property: any, value: any): void;
|
|
367
|
-
subtractFrom(property: any, value: any): void;
|
|
368
|
-
getMetadata(): Entry;
|
|
369
|
-
getRecord(): any;
|
|
370
|
-
getChanges(): any;
|
|
371
|
-
_setChanges(changes: any): void;
|
|
372
|
-
setRecord(record: any): void;
|
|
373
|
-
invalidate(target: RequestTargetOrId): void | Promise<void>;
|
|
374
|
-
_writeInvalidate(id: Id, partialRecord?: any, options?: any): void;
|
|
375
|
-
_writeRelocate(id: Id, options: any): void;
|
|
376
|
-
/**
|
|
377
|
-
* Acquire an exclusive lock on this record (or on `target`'s) and return it ready for updates
|
|
378
|
-
* (harper#483, Phase 0: exclusive across every worker thread of this node). The lock is held
|
|
379
|
-
* in process memory only — no durable writes. Phase 0 contract: lock() is mutually exclusive
|
|
380
|
-
* with other lock() calls on the same key; plain writes (put/patch/delete/create) are never
|
|
381
|
-
* gated or blocked. The generation expires after `lease` if it is never released.
|
|
382
|
-
*
|
|
383
|
-
* Transaction-scoped (default): write through the returned record (or the table's static verbs
|
|
384
|
-
* in the same transaction), and the commit or abort releases it. `{ hold: true }`: the lock
|
|
385
|
-
* outlives the transaction; write through the returned record and release with `unlock()`, or
|
|
386
|
-
* let the lease expire.
|
|
387
|
-
*/
|
|
388
|
-
lock(target?: RequestTargetOrId | RecordLockOptions, options?: RecordLockOptions): Promise<any>;
|
|
389
|
-
"__#private@#reloadLocked"(id: Id, holdHandle?: RecordLockHandle | null, preserveChanges?: boolean): any;
|
|
390
|
-
/**
|
|
391
|
-
* Release the lock this instance holds. Resolves true when this call cleared the native key lock.
|
|
392
|
-
* Works for both held (`{ hold: true }`) and transaction-scoped locks. After unlock() the
|
|
393
|
-
* instance is no longer lock-writable; writes through it require a fresh lock.
|
|
394
|
-
*/
|
|
395
|
-
unlock(): Promise<boolean>;
|
|
396
|
-
/**
|
|
397
|
-
* Store the provided record data into the current resource. This is not written
|
|
398
|
-
* until the corresponding transaction is committed.
|
|
399
|
-
*/
|
|
400
|
-
put(target: RequestTarget, record: Record & RecordObject): void | (Record & Partial<RecordObject>) | Promise<void | (Record & Partial<RecordObject>)>;
|
|
401
|
-
create(target: RequestTargetOrId, record: Partial<Record & RecordObject>): void | (Record & Partial<RecordObject>) | Promise<Record & Partial<RecordObject>>;
|
|
402
|
-
patch(target: RequestTarget, recordUpdate: Partial<Record & RecordObject>): void | (Record & Partial<RecordObject>) | Promise<void | (Record & Partial<RecordObject>)>;
|
|
403
|
-
_writeUpdate(id: Id, recordUpdate: any, fullUpdate: boolean, options?: any): any;
|
|
404
|
-
delete(target: RequestTargetOrId): Promise<boolean>;
|
|
405
|
-
_writeDelete(id: Id, options?: any): boolean;
|
|
406
|
-
search(target: RequestTarget): AsyncIterable<Record & Partial<RecordObject>>;
|
|
407
|
-
subscribe(request: SubscriptionRequest): Promise<AsyncIterable<Record>>;
|
|
408
|
-
doesExist(): boolean;
|
|
409
|
-
/**
|
|
410
|
-
* Publishing a message to a record adds an (observable) entry in the audit log, but does not change
|
|
411
|
-
* the record at all. This entries should be replicated and trigger subscription listeners.
|
|
412
|
-
* @param id
|
|
413
|
-
* @param message
|
|
414
|
-
* @param options
|
|
415
|
-
*/
|
|
416
|
-
publish(target: RequestTarget, message: Record, options?: any): void | Promise<void>;
|
|
417
|
-
_writePublish(id: Id, message: any, options?: any): void;
|
|
418
|
-
validate(record: any, patch?: boolean): void;
|
|
419
|
-
getUpdatedTime(): number;
|
|
420
|
-
[ASSERT_TRACKED_WRITABLE](generation?: WriteGeneration): void;
|
|
421
|
-
[GET_TRACKED_WRITE_GENERATION](): WriteGeneration;
|
|
422
|
-
readonly "__#private@#id": Id;
|
|
423
|
-
readonly "__#private@#context": Context | import("./ResourceInterface.ts").SourceContext;
|
|
424
|
-
"__#private@#isCollection": boolean;
|
|
425
|
-
post(target: RequestTargetOrId, newRecord: Partial<Record & RecordObject>): Promise<Record & Partial<RecordObject>>;
|
|
426
|
-
get isCollection(): boolean;
|
|
427
|
-
connect(target: RequestTarget, incomingMessages: import("./IterableEventQueue.ts").IterableEventQueue<Record>): AsyncIterable<Record> | Promise<AsyncIterable<Record>>;
|
|
428
|
-
getId(): Id;
|
|
429
|
-
getContext(): Context | import("./ResourceInterface.ts").SourceContext;
|
|
430
|
-
getCurrentUser(): User | undefined;
|
|
431
|
-
}> | {
|
|
432
|
-
"__#private@#record": any;
|
|
433
|
-
"__#private@#changes": any;
|
|
434
|
-
"__#private@#version"?: number;
|
|
435
|
-
"__#private@#entry"?: Entry;
|
|
436
|
-
"__#private@#savingOperation"?: any;
|
|
437
|
-
"__#private@#lockHandle"?: RecordLockHandle;
|
|
438
|
-
"__#private@#lockWritable"?: boolean;
|
|
439
|
-
"__#private@#writeGeneration"?: WriteGeneration;
|
|
440
|
-
getProperty: (name: string) => any;
|
|
441
|
-
/**
|
|
442
|
-
* Shared guard: if this instance is lock-writable but the handle is gone (expired or
|
|
443
|
-
* released), throw 409 before staging any write. Covers update/invalidate/relocate/delete
|
|
444
|
-
* in addition to the save() path. Every lock-writable instance carries its own handle in
|
|
445
|
-
* #lockHandle (scoped and hold alike), so we never need to search the registry here.
|
|
446
|
-
*/
|
|
447
|
-
"__#private@#assertLiveHandle"(id: Id, allowClosed?: boolean): void;
|
|
448
|
-
_loadRecord(target: RequestTarget, request: Context, resourceOptions?: any): MaybePromise</*elided*/ any>;
|
|
449
|
-
/**
|
|
450
|
-
* This is a request to explicitly ensure that the record is loaded from source, rather than only using the local record.
|
|
451
|
-
* This will load from source if the current record is expired, missing, or invalidated.
|
|
452
|
-
* @returns
|
|
453
|
-
*/
|
|
454
|
-
ensureLoaded(): void | Promise<void>;
|
|
455
|
-
/**
|
|
456
|
-
* This retrieves the data of this resource.
|
|
457
|
-
* @param target - If included, is an identifier/query that specifies the requested target to retrieve and query
|
|
458
|
-
*/
|
|
459
|
-
get(target?: any): any;
|
|
460
|
-
/**
|
|
461
|
-
* Determine if the user is allowed to get/read data from the current resource
|
|
462
|
-
* @deprecated Override the resource operation for application-specific authorization.
|
|
463
|
-
*/
|
|
464
|
-
allowRead(user: User, target: RequestTarget, context: Context): boolean;
|
|
465
|
-
/**
|
|
466
|
-
* Determine if the user is allowed to update data from the current resource
|
|
467
|
-
* @deprecated Override the resource operation for application-specific authorization.
|
|
468
|
-
*/
|
|
469
|
-
allowUpdate(user: User, updatedData: Record, context: Context): boolean;
|
|
470
|
-
/**
|
|
471
|
-
* Determine if the user is allowed to create new data in the current resource
|
|
472
|
-
* @deprecated Override the resource operation for application-specific authorization.
|
|
473
|
-
*/
|
|
474
|
-
allowCreate(user: User, newData: Record, context: Context): boolean;
|
|
475
|
-
/**
|
|
476
|
-
* Determine if the user is allowed to delete from the current resource
|
|
477
|
-
* @deprecated Override the resource operation for application-specific authorization.
|
|
478
|
-
*/
|
|
479
|
-
allowDelete(user: User, target: RequestTarget, context: Context): boolean;
|
|
480
|
-
/**
|
|
481
|
-
* Start updating a record. The returned resource will record changes which are written
|
|
482
|
-
* once the corresponding transaction is committed. These changes can (eventually) include CRDT type operations.
|
|
483
|
-
*/
|
|
484
|
-
update(updates: Record & RecordObject, fullUpdate: true): any;
|
|
485
|
-
update(updates: Partial<Record & RecordObject>, target?: RequestTarget): any;
|
|
486
|
-
update(target: RequestTarget, updates?: any): any;
|
|
487
|
-
/**
|
|
488
|
-
* Save any changes into this instance to the current transaction
|
|
489
|
-
*/
|
|
490
|
-
save(): any;
|
|
491
|
-
"__#private@#saveOperation"(operation: any): any;
|
|
492
|
-
"__#private@#closeWriteChain"(operation: any): void;
|
|
493
|
-
addTo(property: any, value: any): void;
|
|
494
|
-
subtractFrom(property: any, value: any): void;
|
|
495
|
-
getMetadata(): Entry;
|
|
496
|
-
getRecord(): any;
|
|
497
|
-
getChanges(): any;
|
|
498
|
-
_setChanges(changes: any): void;
|
|
499
|
-
setRecord(record: any): void;
|
|
500
|
-
invalidate(target: RequestTargetOrId): void | Promise<void>;
|
|
501
|
-
_writeInvalidate(id: Id, partialRecord?: any, options?: any): void;
|
|
502
|
-
_writeRelocate(id: Id, options: any): void;
|
|
503
|
-
/**
|
|
504
|
-
* Acquire an exclusive lock on this record (or on `target`'s) and return it ready for updates
|
|
505
|
-
* (harper#483, Phase 0: exclusive across every worker thread of this node). The lock is held
|
|
506
|
-
* in process memory only — no durable writes. Phase 0 contract: lock() is mutually exclusive
|
|
507
|
-
* with other lock() calls on the same key; plain writes (put/patch/delete/create) are never
|
|
508
|
-
* gated or blocked. The generation expires after `lease` if it is never released.
|
|
509
|
-
*
|
|
510
|
-
* Transaction-scoped (default): write through the returned record (or the table's static verbs
|
|
511
|
-
* in the same transaction), and the commit or abort releases it. `{ hold: true }`: the lock
|
|
512
|
-
* outlives the transaction; write through the returned record and release with `unlock()`, or
|
|
513
|
-
* let the lease expire.
|
|
514
|
-
*/
|
|
515
|
-
lock(target?: RequestTargetOrId | RecordLockOptions, options?: RecordLockOptions): Promise<any>;
|
|
516
|
-
"__#private@#reloadLocked"(id: Id, holdHandle?: RecordLockHandle | null, preserveChanges?: boolean): any;
|
|
517
|
-
/**
|
|
518
|
-
* Release the lock this instance holds. Resolves true when this call cleared the native key lock.
|
|
519
|
-
* Works for both held (`{ hold: true }`) and transaction-scoped locks. After unlock() the
|
|
520
|
-
* instance is no longer lock-writable; writes through it require a fresh lock.
|
|
521
|
-
*/
|
|
522
|
-
unlock(): Promise<boolean>;
|
|
523
|
-
/**
|
|
524
|
-
* Store the provided record data into the current resource. This is not written
|
|
525
|
-
* until the corresponding transaction is committed.
|
|
526
|
-
*/
|
|
527
|
-
put(target: RequestTarget, record: Record & RecordObject): void | (Record & Partial<RecordObject>) | Promise<void | (Record & Partial<RecordObject>)>;
|
|
528
|
-
create(target: RequestTargetOrId, record: Partial<Record & RecordObject>): void | (Record & Partial<RecordObject>) | Promise<Record & Partial<RecordObject>>;
|
|
529
|
-
patch(target: RequestTarget, recordUpdate: Partial<Record & RecordObject>): void | (Record & Partial<RecordObject>) | Promise<void | (Record & Partial<RecordObject>)>;
|
|
530
|
-
_writeUpdate(id: Id, recordUpdate: any, fullUpdate: boolean, options?: any): any;
|
|
531
|
-
delete(target: RequestTargetOrId): Promise<boolean>;
|
|
532
|
-
_writeDelete(id: Id, options?: any): boolean;
|
|
533
|
-
search(target: RequestTarget): AsyncIterable<Record & Partial<RecordObject>>;
|
|
534
|
-
subscribe(request: SubscriptionRequest): Promise<AsyncIterable<Record>>;
|
|
535
|
-
doesExist(): boolean;
|
|
536
|
-
/**
|
|
537
|
-
* Publishing a message to a record adds an (observable) entry in the audit log, but does not change
|
|
538
|
-
* the record at all. This entries should be replicated and trigger subscription listeners.
|
|
539
|
-
* @param id
|
|
540
|
-
* @param message
|
|
541
|
-
* @param options
|
|
542
|
-
*/
|
|
543
|
-
publish(target: RequestTarget, message: Record, options?: any): void | Promise<void>;
|
|
544
|
-
_writePublish(id: Id, message: any, options?: any): void;
|
|
545
|
-
validate(record: any, patch?: boolean): void;
|
|
546
|
-
getUpdatedTime(): number;
|
|
547
|
-
[ASSERT_TRACKED_WRITABLE](generation?: WriteGeneration): void;
|
|
548
|
-
[GET_TRACKED_WRITE_GENERATION](): WriteGeneration;
|
|
549
|
-
readonly "__#private@#id": Id;
|
|
550
|
-
readonly "__#private@#context": Context | import("./ResourceInterface.ts").SourceContext;
|
|
551
|
-
"__#private@#isCollection": boolean;
|
|
552
|
-
post(target: RequestTargetOrId, newRecord: Partial<Record & RecordObject>): Promise<Record & Partial<RecordObject>>;
|
|
553
|
-
get isCollection(): boolean;
|
|
554
|
-
connect(target: RequestTarget, incomingMessages: import("./IterableEventQueue.ts").IterableEventQueue<Record>): AsyncIterable<Record> | Promise<AsyncIterable<Record>>;
|
|
555
|
-
getId(): Id;
|
|
556
|
-
getContext(): Context | import("./ResourceInterface.ts").SourceContext;
|
|
557
|
-
getCurrentUser(): User | undefined;
|
|
558
|
-
};
|
|
281
|
+
*/
|
|
282
|
+
getResource<Record extends object = any>(target: RequestTarget, request: Context, resourceOptions?: any): Promise<TableResourceInstance<Record>> | TableResourceInstance<Record>;
|
|
559
283
|
_updateResource(resource: any, entry: any): void;
|
|
560
284
|
getNewId(): any;
|
|
561
285
|
/**
|
|
@@ -583,8 +307,6 @@ export declare function makeTable(options: any): {
|
|
|
583
307
|
enableAuditing(): void;
|
|
584
308
|
/**
|
|
585
309
|
* Coerce the id as a string to the correct type for the primary key
|
|
586
|
-
* @param id
|
|
587
|
-
* @returns
|
|
588
310
|
*/
|
|
589
311
|
coerceId(id: string): number | string;
|
|
590
312
|
/**
|
|
@@ -598,8 +320,6 @@ export declare function makeTable(options: any): {
|
|
|
598
320
|
dropTable(): Promise<void>;
|
|
599
321
|
/**
|
|
600
322
|
* Record the relocation of an entry (when a record is moved to a different node), return true if it is now located locally
|
|
601
|
-
* @param existingEntry
|
|
602
|
-
* @param entry
|
|
603
323
|
*/
|
|
604
324
|
_recordRelocate(existingEntry: any, entry: any): boolean;
|
|
605
325
|
/**
|
|
@@ -620,34 +340,20 @@ export declare function makeTable(options: any): {
|
|
|
620
340
|
operation(operation: any, context: any): any;
|
|
621
341
|
/**
|
|
622
342
|
* This is responsible for ordering and select()ing the attributes/properties from returned entries
|
|
623
|
-
* @param select
|
|
624
|
-
* @param context
|
|
625
|
-
* @param filtered
|
|
626
|
-
* @param ensure_loaded
|
|
627
|
-
* @param canSkip
|
|
628
|
-
* @returns
|
|
629
343
|
*/
|
|
630
344
|
transformToOrderedSelect(entries: any[], select: (string | SubSelect)[], sort: Sort, context: Context, readTxn: any, transformToRecord: Function): any;
|
|
631
345
|
/**
|
|
632
346
|
* This is responsible for select()ing the attributes/properties from returned entries
|
|
633
|
-
* @param select
|
|
634
|
-
* @param context
|
|
635
|
-
* @param filtered
|
|
636
|
-
* @param ensure_loaded
|
|
637
|
-
* @param canSkip
|
|
638
347
|
* @param rowFilter explicit row predicate applied to the record actually being
|
|
639
348
|
* returned — i.e. AFTER any caching-source revalidation replaces a stale local copy — so an
|
|
640
349
|
* authorization verdict can't be made on bytes that differ from what the caller receives.
|
|
641
350
|
* @param includeExpired when true, a row past its TTL but not yet swept is treated as a live
|
|
642
351
|
* match rather than gone (used by the SQL engine's UPDATE/DELETE row-finder).
|
|
643
352
|
* @param sort post-ordering owned by this selection
|
|
644
|
-
* @returns
|
|
645
353
|
*/
|
|
646
354
|
transformEntryForSelect(select: any, context: any, readTxn: any, filtered: any, ensure_loaded?: any, canSkip?: any, rowFilter?: any, includeExpired?: any, sort?: any): (entry: Entry) => any;
|
|
647
355
|
/**
|
|
648
356
|
* Subscribe on one thread unless this is a per-thread subscription
|
|
649
|
-
* @param workerIndex
|
|
650
|
-
* @param options
|
|
651
357
|
*/
|
|
652
358
|
subscribeOnThisThread(workerIndex: any, options: any): boolean;
|
|
653
359
|
/**
|
|
@@ -689,7 +395,6 @@ export declare function makeTable(options: any): {
|
|
|
689
395
|
removeAttributes(names: string[]): Promise<any>;
|
|
690
396
|
/**
|
|
691
397
|
* Get the size of the table in bytes (based on amount of pages stored in the database)
|
|
692
|
-
* @param options
|
|
693
398
|
*/
|
|
694
399
|
getSize(): number;
|
|
695
400
|
/** Sizes of this table's durable record-structure dictionaries. */
|
|
@@ -700,7 +405,7 @@ export declare function makeTable(options: any): {
|
|
|
700
405
|
* this may need to read quota-status.json (#1976); getSize/getAuditSize stay sync because
|
|
701
406
|
* they only read in-memory store stats.
|
|
702
407
|
*/
|
|
703
|
-
getStorageStats(): Promise<
|
|
408
|
+
getStorageStats(): Promise<StorageSpaceStats>;
|
|
704
409
|
getRecordCount(options?: any): Promise<{
|
|
705
410
|
recordCount: number;
|
|
706
411
|
estimatedRange?: undefined;
|
|
@@ -744,88 +449,89 @@ export declare function makeTable(options: any): {
|
|
|
744
449
|
cleanup(): void;
|
|
745
450
|
closeMaintenance(deadline?: number): Promise<void>;
|
|
746
451
|
resumeMaintenance(): void;
|
|
747
|
-
_readTxnForContext(context: any): (
|
|
452
|
+
_readTxnForContext(context: any): (LMDBReadTransaction | RocksTransaction) & {
|
|
748
453
|
openTimer?: number;
|
|
749
454
|
retryRisk?: number;
|
|
750
455
|
isDone?: boolean;
|
|
751
456
|
isCommitted?: boolean;
|
|
752
457
|
};
|
|
753
|
-
transactions:
|
|
458
|
+
transactions: DatabaseTransactionRecord[] & {
|
|
754
459
|
timestamp: number;
|
|
755
460
|
};
|
|
756
461
|
path?: string;
|
|
757
462
|
directURLMapping: boolean;
|
|
758
463
|
loadAsInstance: boolean;
|
|
759
|
-
requestContract?:
|
|
464
|
+
requestContract?: Contract;
|
|
760
465
|
inputSchemas?: {
|
|
761
466
|
[verb: string]: {
|
|
762
467
|
query?: JsonSchemaFragment;
|
|
763
468
|
body?: JsonSchemaFragment;
|
|
764
469
|
};
|
|
765
470
|
};
|
|
766
|
-
withSchema<Base extends new (...args: any[]) => any, const C extends
|
|
471
|
+
withSchema<Base extends new (...args: any[]) => any, const C extends Contract>(this: Base, contract: C): SchemaClass<Base, C>;
|
|
767
472
|
get: {
|
|
768
|
-
(idOrQuery: string | Id |
|
|
473
|
+
(idOrQuery: string | Id | Query, dataOrContext?: any, context?: Context): any;
|
|
769
474
|
reliesOnPrototype: boolean;
|
|
770
475
|
};
|
|
771
476
|
put: {
|
|
772
|
-
(idOrQuery: string | Id |
|
|
477
|
+
(idOrQuery: string | Id | Query, dataOrContext?: any, context?: Context): any;
|
|
773
478
|
reliesOnPrototype: boolean;
|
|
774
479
|
};
|
|
775
480
|
patch: {
|
|
776
|
-
(idOrQuery: string | Id |
|
|
481
|
+
(idOrQuery: string | Id | Query, dataOrContext?: any, context?: Context): any;
|
|
777
482
|
reliesOnPrototype: boolean;
|
|
778
483
|
};
|
|
779
484
|
delete: {
|
|
780
|
-
(idOrQuery: string | Id |
|
|
485
|
+
(idOrQuery: string | Id | Query, dataOrContext?: any, context?: Context): any;
|
|
781
486
|
reliesOnPrototype: boolean;
|
|
782
487
|
};
|
|
783
488
|
create(idPrefix: Id, record: any, context: Context): Promise<Id>;
|
|
784
489
|
create(record: any, context: Context): Promise<Id>;
|
|
785
490
|
invalidate: {
|
|
786
|
-
(idOrQuery: string | Id |
|
|
491
|
+
(idOrQuery: string | Id | Query, dataOrContext?: any, context?: Context): any;
|
|
787
492
|
reliesOnPrototype: boolean;
|
|
788
493
|
};
|
|
789
494
|
post: {
|
|
790
|
-
(idOrQuery: string | Id |
|
|
495
|
+
(idOrQuery: string | Id | Query, dataOrContext?: any, context?: Context): any;
|
|
791
496
|
reliesOnPrototype: boolean;
|
|
792
497
|
};
|
|
793
498
|
update: {
|
|
794
|
-
(idOrQuery: string | Id |
|
|
499
|
+
(idOrQuery: string | Id | Query, dataOrContext?: any, context?: Context): any;
|
|
795
500
|
reliesOnPrototype: boolean;
|
|
796
501
|
};
|
|
797
502
|
connect: {
|
|
798
|
-
(idOrQuery: string | Id |
|
|
503
|
+
(idOrQuery: string | Id | Query, dataOrContext?: any, context?: Context): any;
|
|
799
504
|
reliesOnPrototype: boolean;
|
|
800
505
|
};
|
|
801
506
|
subscribe: {
|
|
802
|
-
(idOrQuery: string | Id |
|
|
507
|
+
(idOrQuery: string | Id | Query, dataOrContext?: any, context?: Context): any;
|
|
803
508
|
reliesOnPrototype: boolean;
|
|
804
509
|
};
|
|
805
510
|
publish: {
|
|
806
|
-
(idOrQuery: string | Id |
|
|
511
|
+
(idOrQuery: string | Id | Query, dataOrContext?: any, context?: Context): any;
|
|
807
512
|
reliesOnPrototype: boolean;
|
|
808
513
|
};
|
|
809
514
|
search: {
|
|
810
|
-
(idOrQuery: string | Id |
|
|
515
|
+
(idOrQuery: string | Id | Query, dataOrContext?: any, context?: Context): any;
|
|
811
516
|
reliesOnPrototype: boolean;
|
|
812
517
|
};
|
|
813
518
|
query: {
|
|
814
|
-
(idOrQuery: string | Id |
|
|
519
|
+
(idOrQuery: string | Id | Query, dataOrContext?: any, context?: Context): any;
|
|
815
520
|
reliesOnPrototype: boolean;
|
|
816
521
|
};
|
|
817
522
|
copy: {
|
|
818
|
-
(idOrQuery: string | Id |
|
|
523
|
+
(idOrQuery: string | Id | Query, dataOrContext?: any, context?: Context): any;
|
|
819
524
|
reliesOnPrototype: boolean;
|
|
820
525
|
};
|
|
821
526
|
move: {
|
|
822
|
-
(idOrQuery: string | Id |
|
|
527
|
+
(idOrQuery: string | Id | Query, dataOrContext?: any, context?: Context): any;
|
|
823
528
|
reliesOnPrototype: boolean;
|
|
824
529
|
};
|
|
825
530
|
isCollection(resource: any): any;
|
|
826
531
|
parseQuery(search: any, query: any): any;
|
|
827
532
|
parsePath(path: any, context: any, query: any): any;
|
|
828
|
-
}
|
|
533
|
+
}
|
|
534
|
+
export declare function makeTable(options: any): TableResourceClass;
|
|
829
535
|
/**
|
|
830
536
|
* Coerce a string to the type defined by the attribute
|
|
831
537
|
* @param value
|