[{"data":1,"prerenderedAt":8459},["ShallowReactive",2],{"navigation_docs_en":3,"-en-reference-extensions-extension-kit-experimental":445,"-en-reference-extensions-extension-kit-experimental-surround":8454},[4,30,72,132,260,436],{"title":5,"icon":6,"path":7,"stem":8,"children":9,"page":6},"Getting Started",false,"\u002Fen\u002Fgetting-started","en\u002F1.getting-started",[10,15,20,25],{"title":11,"path":12,"stem":13,"icon":14},"Introduction","\u002Fen\u002Fgetting-started\u002Fintroduction","en\u002F1.getting-started\u002F2.introduction","i-lucide-house",{"title":16,"path":17,"stem":18,"icon":19},"Quickstart","\u002Fen\u002Fgetting-started\u002Finstallation","en\u002F1.getting-started\u002F3.installation","i-lucide-download",{"title":21,"path":22,"stem":23,"icon":24},"Use Cases","\u002Fen\u002Fgetting-started\u002Fuse-cases","en\u002F1.getting-started\u002F4.use-cases","i-lucide-layers",{"title":26,"path":27,"stem":28,"icon":29},"Concepts","\u002Fen\u002Fgetting-started\u002Fconcepts","en\u002F1.getting-started\u002F5.concepts","i-lucide-book",{"title":26,"path":31,"stem":32,"children":33,"page":6},"\u002Fen\u002Fconcepts","en\u002F2.concepts",[34,38,43,48,53,58,63,68],{"title":35,"path":36,"stem":37,"icon":14},"Organization","\u002Fen\u002Fconcepts\u002Forganization","en\u002F2.concepts\u002F1.organization",{"title":39,"path":40,"stem":41,"icon":42},"Data Model","\u002Fen\u002Fconcepts\u002Fdata-model","en\u002F2.concepts\u002F2.data-model","i-lucide-database",{"title":44,"path":45,"stem":46,"icon":47},"Access Control","\u002Fen\u002Fconcepts\u002Faccess-permissions","en\u002F2.concepts\u002F3.access-permissions","i-lucide-user-key",{"title":49,"path":50,"stem":51,"icon":52},"Audit Logs","\u002Fen\u002Fconcepts\u002Faudit-logs","en\u002F2.concepts\u002F4.audit-logs","i-lucide-scroll-text",{"title":54,"path":55,"stem":56,"icon":57},"Introspection","\u002Fen\u002Fconcepts\u002Fintrospection","en\u002F2.concepts\u002F6.introspection","i-lucide-database-search",{"title":59,"path":60,"stem":61,"icon":62},"Query Engine","\u002Fen\u002Fconcepts\u002Fquery-engine","en\u002F2.concepts\u002F7.query-engine","i-lucide-workflow",{"title":64,"path":65,"stem":66,"icon":67},"AI","\u002Fen\u002Fconcepts\u002Fai","en\u002F2.concepts\u002F8.ai","i-lucide-sparkles",{"title":69,"path":70,"stem":71,"icon":42},"Caching","\u002Fen\u002Fconcepts\u002Fcaching","en\u002F2.concepts\u002F9.caching",{"title":73,"path":74,"stem":75,"children":76,"page":6},"Guides","\u002Fen\u002Fguides","en\u002F4.guides",[77,82,87,92,97,102,107,112],{"title":78,"path":79,"stem":80,"icon":81},"REST API Quickstart","\u002Fen\u002Fguides\u002Frest-api","en\u002F4.guides\u002F1.rest-api","i-lucide-plug",{"title":83,"path":84,"stem":85,"icon":86},"SDK Quickstart","\u002Fen\u002Fguides\u002Fsdk","en\u002F4.guides\u002F2.sdk","i-lucide-terminal",{"title":88,"path":89,"stem":90,"icon":91},"Configure SSO","\u002Fen\u002Fguides\u002Fconfigure-sso","en\u002F4.guides\u002F3.configure-sso","i-lucide-key-round",{"title":93,"path":94,"stem":95,"icon":96},"Configure MCP","\u002Fen\u002Fguides\u002Fmcp","en\u002F4.guides\u002F4.mcp","i-lucide-brain-cog",{"title":98,"path":99,"stem":100,"icon":101},"Customize Content Space","\u002Fen\u002Fguides\u002Fcustomize-content-space","en\u002F4.guides\u002F5.customize-content-space","i-lucide-columns-3-cog",{"title":103,"path":104,"stem":105,"icon":106},"Build an Application with AI Assistance","\u002Fen\u002Fguides\u002Fbuild-an-application","en\u002F4.guides\u002F6.build-an-application","i-lucide-route",{"title":108,"path":109,"stem":110,"icon":111},"Horizontal Scaling","\u002Fen\u002Fguides\u002Fhorizontal-scaling","en\u002F4.guides\u002F7.horizontal-scaling","i-lucide-network",{"title":113,"icon":114,"path":115,"stem":116,"children":117,"page":6},"Data Connectors","i-lucide-cable","\u002Fen\u002Fguides\u002Fdata-connectors","en\u002F4.guides\u002F8.data-connectors",[118,122,127],{"title":16,"path":119,"stem":120,"icon":121},"\u002Fen\u002Fguides\u002Fdata-connectors\u002Fquickstart","en\u002F4.guides\u002F8.data-connectors\u002F1.quickstart","i-lucide-rocket",{"title":123,"path":124,"stem":125,"icon":126},"Build a Stripe Connector","\u002Fen\u002Fguides\u002Fdata-connectors\u002Fstripe","en\u002F4.guides\u002F8.data-connectors\u002F2.stripe","i-lucide-hammer",{"title":128,"path":129,"stem":130,"icon":131},"Build with AI Agents","\u002Fen\u002Fguides\u002Fdata-connectors\u002Fai-agents","en\u002F4.guides\u002F8.data-connectors\u002F3.ai-agents","i-lucide-bot",{"title":133,"path":134,"stem":135,"children":136,"page":6},"Developer","\u002Fen\u002Fdeveloper","en\u002F5.developer",[137,191,215,220],{"title":138,"path":139,"stem":140,"children":141,"page":6},"Data Access","\u002Fen\u002Fdeveloper\u002Fapi","en\u002F5.developer\u002F1.api",[142,147,152,157,162,167,172,177,182,186],{"title":143,"path":144,"stem":145,"icon":146},"Overview","\u002Fen\u002Fdeveloper\u002Fapi\u002Foverview","en\u002F5.developer\u002F1.api\u002F1.overview","i-lucide-globe",{"title":148,"path":149,"stem":150,"icon":151},"Errors","\u002Fen\u002Fdeveloper\u002Fapi\u002Ferrors","en\u002F5.developer\u002F1.api\u002F10.errors","i-lucide-alert-triangle",{"title":153,"path":154,"stem":155,"icon":156},"Authentication","\u002Fen\u002Fdeveloper\u002Fapi\u002Fauthentication","en\u002F5.developer\u002F1.api\u002F2.authentication","i-lucide-lock",{"title":158,"path":159,"stem":160,"icon":161},"Reading Data","\u002Fen\u002Fdeveloper\u002Fapi\u002Freading-data","en\u002F5.developer\u002F1.api\u002F3.reading-data","i-lucide-book-open",{"title":163,"path":164,"stem":165,"icon":166},"Writing Data","\u002Fen\u002Fdeveloper\u002Fapi\u002Fwriting-data","en\u002F5.developer\u002F1.api\u002F4.writing-data","i-lucide-pencil",{"title":168,"path":169,"stem":170,"icon":171},"Filtering","\u002Fen\u002Fdeveloper\u002Fapi\u002Ffiltering","en\u002F5.developer\u002F1.api\u002F5.filtering","i-lucide-filter",{"title":173,"path":174,"stem":175,"icon":176},"Field Selection","\u002Fen\u002Fdeveloper\u002Fapi\u002Ffield-selection","en\u002F5.developer\u002F1.api\u002F6.field-selection","i-lucide-list-checks",{"title":178,"path":179,"stem":180,"icon":181},"Sorting & Pagination","\u002Fen\u002Fdeveloper\u002Fapi\u002Fsorting-pagination","en\u002F5.developer\u002F1.api\u002F7.sorting-pagination","i-lucide-arrow-up-down",{"title":183,"path":184,"stem":185,"icon":111},"Relational Data","\u002Fen\u002Fdeveloper\u002Fapi\u002Frelational-data","en\u002F5.developer\u002F1.api\u002F8.relational-data",{"title":187,"path":188,"stem":189,"icon":190},"Files & Assets","\u002Fen\u002Fdeveloper\u002Fapi\u002Ffiles","en\u002F5.developer\u002F1.api\u002F9.files","i-lucide-file-up",{"title":192,"path":193,"stem":194,"children":195,"page":6},"Client SDK","\u002Fen\u002Fdeveloper\u002Fsdk","en\u002F5.developer\u002F2.sdk",[196,200,205,210],{"title":197,"path":198,"stem":199,"icon":19},"Installation","\u002Fen\u002Fdeveloper\u002Fsdk\u002Finstallation","en\u002F5.developer\u002F2.sdk\u002F1.installation",{"title":201,"path":202,"stem":203,"icon":204},"Client Setup","\u002Fen\u002Fdeveloper\u002Fsdk\u002Fclient-setup","en\u002F5.developer\u002F2.sdk\u002F2.client-setup","i-lucide-settings",{"title":206,"path":207,"stem":208,"icon":209},"Type System","\u002Fen\u002Fdeveloper\u002Fsdk\u002Ftype-system","en\u002F5.developer\u002F2.sdk\u002F3.type-system","i-lucide-braces",{"title":211,"path":212,"stem":213,"icon":214},"Advanced","\u002Fen\u002Fdeveloper\u002Fsdk\u002Fadvanced","en\u002F5.developer\u002F2.sdk\u002F5.advanced","i-lucide-puzzle",{"title":216,"path":217,"stem":218,"icon":219},"Application Users","\u002Fen\u002Fdeveloper\u002Fapplication-users","en\u002F5.developer\u002F3.application-users","i-lucide-users",{"title":221,"path":222,"stem":223,"children":224,"icon":214},"Extensions","\u002Fen\u002Fdeveloper\u002Fextensions","en\u002F5.developer\u002F3.extensions\u002Findex",[225,226,231],{"title":143,"path":222,"stem":223,"icon":214},{"title":227,"path":228,"stem":229,"icon":230},"Install and Manage Extensions","\u002Fen\u002Fdeveloper\u002Fextensions\u002Finstall","en\u002F5.developer\u002F3.extensions\u002F1.install","i-lucide-package-plus",{"title":113,"path":232,"stem":233,"children":234,"icon":114},"\u002Fen\u002Fdeveloper\u002Fextensions\u002Fdata-connectors","en\u002F5.developer\u002F3.extensions\u002F2.data-connectors\u002Findex",[235,236,241,245,250,255],{"title":143,"path":232,"stem":233,"icon":114},{"title":237,"path":238,"stem":239,"icon":240},"How Data Connectors Run","\u002Fen\u002Fdeveloper\u002Fextensions\u002Fdata-connectors\u002Fruntime","en\u002F5.developer\u002F3.extensions\u002F2.data-connectors\u002F2.runtime","i-lucide-cpu",{"title":242,"path":243,"stem":244,"icon":42},"Data Sources","\u002Fen\u002Fdeveloper\u002Fextensions\u002Fdata-connectors\u002Fdata-sources","en\u002F5.developer\u002F3.extensions\u002F2.data-connectors\u002F3.data-sources",{"title":246,"path":247,"stem":248,"icon":249},"Map an External Data Source","\u002Fen\u002Fdeveloper\u002Fextensions\u002Fdata-connectors\u002Fdata-source-mapping","en\u002F5.developer\u002F3.extensions\u002F2.data-connectors\u002F4.data-source-mapping","i-lucide-map",{"title":251,"path":252,"stem":253,"icon":254},"Handle Errors","\u002Fen\u002Fdeveloper\u002Fextensions\u002Fdata-connectors\u002Ferrors","en\u002F5.developer\u002F3.extensions\u002F2.data-connectors\u002F5.errors","i-lucide-shield-alert",{"title":256,"path":257,"stem":258,"icon":259},"Test a Data Connector","\u002Fen\u002Fdeveloper\u002Fextensions\u002Fdata-connectors\u002Ftesting","en\u002F5.developer\u002F3.extensions\u002F2.data-connectors\u002F6.testing","i-lucide-flask-conical",{"title":261,"path":262,"stem":263,"children":264,"page":6},"Reference","\u002Fen\u002Freference","en\u002F6.reference",[265,269,274,279,295,299,304,340,369,374],{"title":266,"path":267,"stem":268,"icon":204},"Configuration","\u002Fen\u002Freference\u002Fenvironment-variables","en\u002F6.reference\u002F1.environment-variables",{"title":270,"path":271,"stem":272,"icon":273},"System Requirements","\u002Fen\u002Freference\u002Fsystem-requirements","en\u002F6.reference\u002F2.system-requirements","i-lucide-server",{"title":275,"path":276,"stem":277,"icon":278},"Licensing","\u002Fen\u002Freference\u002Flicensing","en\u002F6.reference\u002F3.licensing","i-lucide-gem",{"title":280,"path":281,"stem":282,"children":283,"icon":81},"Connectors","\u002Fen\u002Freference\u002Fconnectors","en\u002F6.reference\u002F4.connectors\u002Findex",[284,285,290],{"title":280,"path":281,"stem":282,"icon":81},{"title":286,"path":287,"stem":288,"icon":289},"PostgreSQL and Supabase","\u002Fen\u002Freference\u002Fconnectors\u002Fpostgresql-supabase","en\u002F6.reference\u002F4.connectors\u002F1.postgresql-supabase","i-simple-icons-postgresql",{"title":291,"path":292,"stem":293,"icon":294},"MySQL and MariaDB","\u002Fen\u002Freference\u002Fconnectors\u002Fmysql-mariadb","en\u002F6.reference\u002F4.connectors\u002F2.mysql-mariadb","i-simple-icons-mysql",{"title":296,"path":297,"stem":298,"icon":209},"Data Types Representation","\u002Fen\u002Freference\u002Fdata-types","en\u002F6.reference\u002F5.data-types",{"title":300,"path":301,"stem":302,"icon":303},"Permissions Reference","\u002Fen\u002Freference\u002Fpermissions","en\u002F6.reference\u002F6.permissions","i-lucide-shield",{"title":305,"path":306,"stem":307,"children":308,"page":6},"API Reference","\u002Fen\u002Freference\u002Fapi-reference","en\u002F6.reference\u002F7.api-reference",[309,313,318],{"title":310,"path":311,"stem":312,"icon":273},"System Endpoints","\u002Fen\u002Freference\u002Fapi-reference\u002Fsystem-endpoints","en\u002F6.reference\u002F7.api-reference\u002F1.system-endpoints",{"title":314,"path":315,"stem":316,"icon":317},"OpenAPI Spec","\u002Fen\u002Freference\u002Fapi-reference\u002Fopenapi-spec","en\u002F6.reference\u002F7.api-reference\u002F2.openapi-spec","i-lucide-file-code",{"title":319,"path":320,"stem":321,"children":322,"icon":324},"Schema Migration","\u002Fen\u002Freference\u002Fapi-reference\u002Fschema-migration","en\u002F6.reference\u002F7.api-reference\u002F3.schema-migration\u002Findex",[323,325,330,335],{"title":319,"path":320,"stem":321,"icon":324},"i-lucide-database-zap",{"title":326,"path":327,"stem":328,"icon":329},"Apply Migrations","\u002Fen\u002Freference\u002Fapi-reference\u002Fschema-migration\u002Fapply-migrations","en\u002F6.reference\u002F7.api-reference\u002F3.schema-migration\u002F1.apply-migrations","i-lucide-upload",{"title":331,"path":332,"stem":333,"icon":334},"Import Changes","\u002Fen\u002Freference\u002Fapi-reference\u002Fschema-migration\u002Fimport-changes","en\u002F6.reference\u002F7.api-reference\u002F3.schema-migration\u002F2.import-changes","i-lucide-refresh-cw",{"title":336,"path":337,"stem":338,"icon":339},"Operation Reference","\u002Fen\u002Freference\u002Fapi-reference\u002Fschema-migration\u002Foperation-reference","en\u002F6.reference\u002F7.api-reference\u002F3.schema-migration\u002F3.operation-reference","i-lucide-list-tree",{"title":341,"path":342,"stem":343,"children":344,"page":6},"Design Considerations","\u002Fen\u002Freference\u002Fdesign-considerations","en\u002F6.reference\u002F8.design-considerations",[345,349,354,359,364],{"title":143,"path":346,"stem":347,"icon":348},"\u002Fen\u002Freference\u002Fdesign-considerations\u002Foverview","en\u002F6.reference\u002F8.design-considerations\u002F1.overview","i-lucide-compass",{"title":350,"path":351,"stem":352,"icon":353},"Instance Configuration","\u002Fen\u002Freference\u002Fdesign-considerations\u002Finstance-configuration-related-problems","en\u002F6.reference\u002F8.design-considerations\u002F3.instance-configuration-related-problems","i-lucide-wrench",{"title":355,"path":356,"stem":357,"icon":358},"Overly Permissive Public Access","\u002Fen\u002Freference\u002Fdesign-considerations\u002Foverly-permissive","en\u002F6.reference\u002F8.design-considerations\u002F4.overly-permissive","i-lucide-shield-off",{"title":360,"path":361,"stem":362,"icon":363},"No Aggregates","\u002Fen\u002Freference\u002Fdesign-considerations\u002Fno-aggregates","en\u002F6.reference\u002F8.design-considerations\u002F5.no-aggregates","i-lucide-sigma",{"title":365,"path":366,"stem":367,"icon":368},"Cross-Data-Source Referential Integrity","\u002Fen\u002Freference\u002Fdesign-considerations\u002Fcross-data-source-referential-integrity","en\u002F6.reference\u002F8.design-considerations\u002F6.cross-data-source-referential-integrity","i-lucide-unlink",{"title":370,"path":371,"stem":372,"icon":373},"CLI","\u002Fen\u002Freference\u002Fcli","en\u002F6.reference\u002F9.cli","i-lucide-square-terminal",{"title":221,"path":375,"stem":376,"children":377,"page":6},"\u002Fen\u002Freference\u002Fextensions","en\u002F6.reference\u002F9.extensions",[378,383,386,405],{"title":379,"path":380,"stem":381,"icon":382},"Extension Config and Manifest","\u002Fen\u002Freference\u002Fextensions\u002Fmanifest","en\u002F6.reference\u002F9.extensions\u002F1.manifest","i-lucide-file-json",{"title":370,"path":384,"stem":385,"icon":86},"\u002Fen\u002Freference\u002Fextensions\u002Fcli","en\u002F6.reference\u002F9.extensions\u002F2.cli",{"title":387,"path":388,"stem":389,"children":390,"page":6},"Extension Kit","\u002Fen\u002Freference\u002Fextensions\u002Fextension-kit","en\u002F6.reference\u002F9.extensions\u002F3.extension-kit",[391,395,400],{"title":392,"path":393,"stem":394,"icon":81},"Data Connector","\u002Fen\u002Freference\u002Fextensions\u002Fextension-kit\u002Fdata-connector","en\u002F6.reference\u002F9.extensions\u002F3.extension-kit\u002F1.data-connector",{"title":396,"path":397,"stem":398,"icon":399},"Protocol","\u002Fen\u002Freference\u002Fextensions\u002Fextension-kit\u002Fprotocol","en\u002F6.reference\u002F9.extensions\u002F3.extension-kit\u002F2.protocol","i-lucide-arrow-left-right",{"title":401,"path":402,"stem":403,"icon":404},"Schema Helpers","\u002Fen\u002Freference\u002Fextensions\u002Fextension-kit\u002Fexperimental","en\u002F6.reference\u002F9.extensions\u002F3.extension-kit\u002F3.experimental","i-lucide-blocks",{"title":113,"path":406,"stem":407,"children":408,"page":6},"\u002Fen\u002Freference\u002Fextensions\u002Fdata-connectors","en\u002F6.reference\u002F9.extensions\u002F4.data-connectors",[409,413,417,421,426,431],{"title":410,"path":411,"stem":412,"icon":81},"Data Connector API","\u002Fen\u002Freference\u002Fextensions\u002Fdata-connectors\u002Fapi","en\u002F6.reference\u002F9.extensions\u002F4.data-connectors\u002F1.api",{"title":414,"path":415,"stem":416,"icon":176},"Operations and Operators","\u002Fen\u002Freference\u002Fextensions\u002Fdata-connectors\u002Foperations","en\u002F6.reference\u002F9.extensions\u002F4.data-connectors\u002F2.operations",{"title":148,"path":418,"stem":419,"icon":420},"\u002Fen\u002Freference\u002Fextensions\u002Fdata-connectors\u002Ferrors","en\u002F6.reference\u002F9.extensions\u002F4.data-connectors\u002F3.errors","i-lucide-triangle-alert",{"title":422,"path":423,"stem":424,"icon":425},"Runtime Limits","\u002Fen\u002Freference\u002Fextensions\u002Fdata-connectors\u002Flimits","en\u002F6.reference\u002F9.extensions\u002F4.data-connectors\u002F4.limits","i-lucide-gauge",{"title":427,"path":428,"stem":429,"icon":430},"Limitations","\u002Fen\u002Freference\u002Fextensions\u002Fdata-connectors\u002Flimitations","en\u002F6.reference\u002F9.extensions\u002F4.data-connectors\u002F5.limitations","i-lucide-ban",{"title":432,"path":433,"stem":434,"icon":435},"Network Permissions","\u002Fen\u002Freference\u002Fextensions\u002Fdata-connectors\u002Fpermissions","en\u002F6.reference\u002F9.extensions\u002F4.data-connectors\u002F6.permissions","i-lucide-shield-check",{"title":437,"icon":121,"path":438,"stem":439,"children":440,"page":6},"Release Notes","\u002Fen\u002Frelease-notes","en\u002F7.release-notes",[441],{"title":442,"path":443,"stem":444,"icon":121},"Changelog","\u002Fen\u002Frelease-notes\u002Fchangelog","en\u002F7.release-notes\u002F1.changelog",{"id":446,"title":401,"body":447,"description":8447,"extension":8448,"links":8449,"meta":8450,"navigation":8451,"path":402,"seo":8452,"stem":403,"__hash__":8453},"docs_en\u002Fen\u002F6.reference\u002F9.extensions\u002F3.extension-kit\u002F3.experimental.md",{"type":448,"value":449,"toc":8404},"minimark",[450,453,457,500,504,513,527,531,543,1675,1691,1698,1702,1708,1711,1920,2058,2089,2127,2132,2135,2491,2604,2617,2622,2627,2689,2748,2763,2768,2771,2814,2827,2831,2835,2838,4377,4387,4574,4589,4596,4612,4618,4634,4639,4642,4727,4804,4818,4823,4831,4866,4875,4880,4889,4958,4963,4968,5131,5180,5193,5292,5300,5305,5318,5515,5598,5602,5605,5784,5804,5808,5817,5821,5826,5991,5997,6015,6021,6043,6046,6191,6198,6202,6211,6278,6284,6299,6303,6312,6355,6361,6373,6379,6387,6399,6403,6408,6442,6448,6481,6486,6492,6590,6616,7021,7040,7045,7051,7072,7076,7081,7084,7140,7172,7177,7180,7219,7224,7310,7317,7321,7324,7330,7336,7392,7397,7404,7471,7503,7508,7512,7538,7566,7638,7643,7648,7812,7818,7868,7873,7878,7913,7916,8135,8140,8143,8174,8180,8183,8211,8217,8220,8369,8373,8400],[451,452],"preview",{},[454,455,143],"h2",{"id":456},"overview",[458,459,460,464,465,472,473,477,478,481,482,485,486,490,491,494,495,499],"p",{},[461,462,463],"code",{},"@monospace\u002Fextension-kit\u002Fdata-connector\u002Fexperimental"," builds the ",[466,467,469],"a",{"href":468},"\u002Freference\u002Fextensions\u002Fextension-kit\u002Fprotocol#schemadocument",[461,470,471],{},"SchemaDocument"," a ",[474,475,476],"strong",{},"data connector extension"," answers ",[461,479,480],{},"introspect"," with. A data connector exposes an ",[474,483,484],{},"external data source"," as ",[466,487,489],{"href":488},"\u002Fconcepts\u002Fdata-model#collections","collections"," of ",[474,492,493],{},"items",", and each item carries named values called ",[466,496,498],{"href":497},"\u002Fconcepts\u002Fdata-model#fields","fields",". The helpers describe those collections, fields and relations with typed definitions, check them, and serialize them.",[501,502,503],"warning",{},"The schema helpers are less stable than the rest of the kit, which is itself in preview. Their API can change in any release.",[458,505,506,507,509,510,512],{},"The helpers are optional. ",[461,508,480],{}," can return a hand-written ",[461,511,471],{}," instead, with the same shape.",[458,514,515,516,519,520,519,523,526],{},"Each entry below shows the declaration from the kit's type definitions. Several signatures name the kit's internal helper types (e.g., ",[461,517,518],{},"DeepReadonly",", ",[461,521,522],{},"Check",[461,524,525],{},"FieldReferences","); those carry the compile-time checks and aren't exported.",[454,528,530],{"id":529},"build-a-schema","Build a Schema",[458,532,533,534,538,539,542],{},"The full Art Institute connector declares its two read-only collections and the relation between them with the helpers. The ",[466,535,537],{"href":536},"\u002Fguides\u002Fdata-connectors\u002Fquickstart#step-declare-artworks","Data Connector Quickstart"," builds a trimmed version that sorts only by ",[461,540,541],{},"id",", without ranges or counts:",[544,545,546],"accordion",{},[547,548,550],"accordion-item",{"label":549},"src\u002Fdata-connectors\u002Fartic\u002Fschema.ts",[551,552,557],"pre",{"className":553,"code":554,"filename":549,"language":555,"meta":556,"style":556},"language-ts shiki shiki-themes monospace-light monospace-light monospace-dark","import { defineCollection, defineRelation, defineSchema, field, fields, filter, index, paging, sort } from '@monospace\u002Fextension-kit\u002Fdata-connector\u002Fexperimental';\n\n\u002F\u002F The operators the Art Institute's search API answers exactly. The relation's key fields, `id` and\n\u002F\u002F `artistId`, declare `in` as well as `equals`, because Engine resolves relations by filtering with `in`.\nconst exact = filter.field('equals', 'in');\nconst comparable = filter.field('equals', 'in', 'lessThan', 'lessThanOrEquals', 'greaterThan', 'greaterThanOrEquals');\n\u002F** Engine executes only `equals` on booleans. *\u002F\nconst booleanExact = filter.field('equals');\nconst eitherDirection = sort.field('ascending', 'descending');\n\nconst artworkFilter = {\n    fields: { id: exact, artistId: exact, dateStart: comparable, isPublicDomain: booleanExact },\n    logicalOperators: filter.logical('and', 'or'),\n};\n\n\u002F\u002F The API's ids and years are small integers, so they're `int32`, which travels as a JSON number. A\n\u002F\u002F 64-bit integer would travel as a string. Neither collection declares a write, so both are read-only.\nexport const artworks = defineCollection({\n    name: 'artworks',\n    fields: {\n        id: field.int32(),\n        title: field.string({ nullable: true }),\n        artistId: field.int32({ nullable: true }),\n        artistTitle: field.string({ nullable: true }),\n        dateStart: field.int32({ nullable: true }),\n        dateEnd: field.int32({ nullable: true }),\n        dateDisplay: field.string({ nullable: true }),\n        isPublicDomain: field.boolean(),\n        imageId: field.string({ nullable: true }),\n    },\n    indexes: { artworks_pkey: index.primary(['id']) },\n    operations: {\n        readMany: {\n            filter: artworkFilter,\n            sort: { id: eitherDirection, dateStart: eitherDirection },\n            limit: paging.limit(),\n            offset: paging.offset(),\n            output: fields.all(),\n            meta: { totalCount: true },\n        },\n        readOne: { filter: artworkFilter, output: fields.all() },\n    },\n});\n\nconst artistFilter = {\n    fields: { id: exact, birthDate: comparable },\n    logicalOperators: filter.logical('and', 'or'),\n};\n\nexport const artists = defineCollection({\n    name: 'artists',\n    fields: {\n        id: field.int32(),\n        title: field.string(),\n        birthDate: field.int32({ nullable: true }),\n        deathDate: field.int32({ nullable: true }),\n    },\n    indexes: { artists_pkey: index.primary(['id']) },\n    operations: {\n        readMany: {\n            filter: artistFilter,\n            sort: { id: eitherDirection, birthDate: eitherDirection },\n            limit: paging.limit(),\n            offset: paging.offset(),\n            output: fields.all(),\n            meta: { totalCount: true },\n        },\n        readOne: { filter: artistFilter, output: fields.all() },\n    },\n});\n\nexport const schema = defineSchema({\n    collections: [artworks, artists],\n    relations: [\n        \u002F\u002F Engine resolves `artist` by filtering artists with `in` on `id`, and `artworks` by filtering\n        \u002F\u002F artworks with `in` on `artistId`. Both filters declare `in`, so both directions are offered.\n        defineRelation({\n            name: 'artworks_artist',\n            from: artworks,\n            to: artists,\n            on: [['artistId', 'id']],\n            names: { forward: 'artist', reverse: 'artworks' },\n        }),\n    ],\n});\n","ts","",[461,558,559,628,635,642,648,683,729,735,757,786,791,804,833,859,865,870,876,882,902,914,920,936,958,976,994,1012,1030,1048,1063,1081,1087,1109,1115,1121,1132,1147,1162,1177,1192,1202,1208,1228,1233,1239,1244,1256,1270,1291,1296,1301,1317,1327,1332,1345,1358,1376,1394,1399,1417,1422,1427,1437,1450,1463,1476,1489,1498,1503,1520,1525,1530,1535,1552,1569,1575,1581,1587,1595,1606,1616,1626,1642,1658,1664,1670],{"__ignoreMap":556},[560,561,564,568,572,576,578,581,583,586,588,591,593,595,597,600,602,605,607,610,612,615,618,621,625],"span",{"class":562,"line":563},"line",1,[560,565,567],{"class":566},"sLVBU","import",[560,569,571],{"class":570},"sTMul"," { ",[560,573,575],{"class":574},"sNJ9c","defineCollection",[560,577,519],{"class":570},[560,579,580],{"class":574},"defineRelation",[560,582,519],{"class":570},[560,584,585],{"class":574},"defineSchema",[560,587,519],{"class":570},[560,589,590],{"class":574},"field",[560,592,519],{"class":570},[560,594,498],{"class":574},[560,596,519],{"class":570},[560,598,599],{"class":574},"filter",[560,601,519],{"class":570},[560,603,604],{"class":574},"index",[560,606,519],{"class":570},[560,608,609],{"class":574},"paging",[560,611,519],{"class":570},[560,613,614],{"class":574},"sort",[560,616,617],{"class":570}," } ",[560,619,620],{"class":566},"from",[560,622,624],{"class":623},"suKVh"," '@monospace\u002Fextension-kit\u002Fdata-connector\u002Fexperimental'",[560,626,627],{"class":570},";\n",[560,629,631],{"class":562,"line":630},2,[560,632,634],{"emptyLinePlaceholder":633},true,"\n",[560,636,638],{"class":562,"line":637},3,[560,639,641],{"class":640},"seNfP","\u002F\u002F The operators the Art Institute's search API answers exactly. The relation's key fields, `id` and\n",[560,643,645],{"class":562,"line":644},4,[560,646,647],{"class":640},"\u002F\u002F `artistId`, declare `in` as well as `equals`, because Engine resolves relations by filtering with `in`.\n",[560,649,651,654,658,661,664,667,669,672,675,677,680],{"class":562,"line":650},5,[560,652,653],{"class":566},"const",[560,655,657],{"class":656},"ssBNi"," exact",[560,659,660],{"class":566}," =",[560,662,663],{"class":574}," filter",[560,665,666],{"class":570},".",[560,668,590],{"class":656},[560,670,671],{"class":570},"(",[560,673,674],{"class":623},"'equals'",[560,676,519],{"class":570},[560,678,679],{"class":623},"'in'",[560,681,682],{"class":570},");\n",[560,684,686,688,691,693,695,697,699,701,703,705,707,709,712,714,717,719,722,724,727],{"class":562,"line":685},6,[560,687,653],{"class":566},[560,689,690],{"class":656}," comparable",[560,692,660],{"class":566},[560,694,663],{"class":574},[560,696,666],{"class":570},[560,698,590],{"class":656},[560,700,671],{"class":570},[560,702,674],{"class":623},[560,704,519],{"class":570},[560,706,679],{"class":623},[560,708,519],{"class":570},[560,710,711],{"class":623},"'lessThan'",[560,713,519],{"class":570},[560,715,716],{"class":623},"'lessThanOrEquals'",[560,718,519],{"class":570},[560,720,721],{"class":623},"'greaterThan'",[560,723,519],{"class":570},[560,725,726],{"class":623},"'greaterThanOrEquals'",[560,728,682],{"class":570},[560,730,732],{"class":562,"line":731},7,[560,733,734],{"class":640},"\u002F** Engine executes only `equals` on booleans. *\u002F\n",[560,736,738,740,743,745,747,749,751,753,755],{"class":562,"line":737},8,[560,739,653],{"class":566},[560,741,742],{"class":656}," booleanExact",[560,744,660],{"class":566},[560,746,663],{"class":574},[560,748,666],{"class":570},[560,750,590],{"class":656},[560,752,671],{"class":570},[560,754,674],{"class":623},[560,756,682],{"class":570},[560,758,760,762,765,767,770,772,774,776,779,781,784],{"class":562,"line":759},9,[560,761,653],{"class":566},[560,763,764],{"class":656}," eitherDirection",[560,766,660],{"class":566},[560,768,769],{"class":574}," sort",[560,771,666],{"class":570},[560,773,590],{"class":656},[560,775,671],{"class":570},[560,777,778],{"class":623},"'ascending'",[560,780,519],{"class":570},[560,782,783],{"class":623},"'descending'",[560,785,682],{"class":570},[560,787,789],{"class":562,"line":788},10,[560,790,634],{"emptyLinePlaceholder":633},[560,792,794,796,799,801],{"class":562,"line":793},11,[560,795,653],{"class":566},[560,797,798],{"class":656}," artworkFilter",[560,800,660],{"class":566},[560,802,803],{"class":570}," {\n",[560,805,807,810,813,816,818,821,824,827,830],{"class":562,"line":806},12,[560,808,809],{"class":570},"    fields: { id: ",[560,811,812],{"class":574},"exact",[560,814,815],{"class":570},", artistId: ",[560,817,812],{"class":574},[560,819,820],{"class":570},", dateStart: ",[560,822,823],{"class":574},"comparable",[560,825,826],{"class":570},", isPublicDomain: ",[560,828,829],{"class":574},"booleanExact",[560,831,832],{"class":570}," },\n",[560,834,836,839,841,843,846,848,851,853,856],{"class":562,"line":835},13,[560,837,838],{"class":570},"    logicalOperators: ",[560,840,599],{"class":574},[560,842,666],{"class":570},[560,844,845],{"class":656},"logical",[560,847,671],{"class":570},[560,849,850],{"class":623},"'and'",[560,852,519],{"class":570},[560,854,855],{"class":623},"'or'",[560,857,858],{"class":570},"),\n",[560,860,862],{"class":562,"line":861},14,[560,863,864],{"class":570},"};\n",[560,866,868],{"class":562,"line":867},15,[560,869,634],{"emptyLinePlaceholder":633},[560,871,873],{"class":562,"line":872},16,[560,874,875],{"class":640},"\u002F\u002F The API's ids and years are small integers, so they're `int32`, which travels as a JSON number. A\n",[560,877,879],{"class":562,"line":878},17,[560,880,881],{"class":640},"\u002F\u002F 64-bit integer would travel as a string. Neither collection declares a write, so both are read-only.\n",[560,883,885,888,891,894,896,899],{"class":562,"line":884},18,[560,886,887],{"class":566},"export",[560,889,890],{"class":566}," const",[560,892,893],{"class":656}," artworks",[560,895,660],{"class":566},[560,897,898],{"class":656}," defineCollection",[560,900,901],{"class":570},"({\n",[560,903,905,908,911],{"class":562,"line":904},19,[560,906,907],{"class":570},"    name: ",[560,909,910],{"class":623},"'artworks'",[560,912,913],{"class":570},",\n",[560,915,917],{"class":562,"line":916},20,[560,918,919],{"class":570},"    fields: {\n",[560,921,923,926,928,930,933],{"class":562,"line":922},21,[560,924,925],{"class":570},"        id: ",[560,927,590],{"class":574},[560,929,666],{"class":570},[560,931,932],{"class":656},"int32",[560,934,935],{"class":570},"(),\n",[560,937,939,942,944,946,949,952,955],{"class":562,"line":938},22,[560,940,941],{"class":570},"        title: ",[560,943,590],{"class":574},[560,945,666],{"class":570},[560,947,948],{"class":656},"string",[560,950,951],{"class":570},"({ nullable: ",[560,953,954],{"class":656},"true",[560,956,957],{"class":570}," }),\n",[560,959,961,964,966,968,970,972,974],{"class":562,"line":960},23,[560,962,963],{"class":570},"        artistId: ",[560,965,590],{"class":574},[560,967,666],{"class":570},[560,969,932],{"class":656},[560,971,951],{"class":570},[560,973,954],{"class":656},[560,975,957],{"class":570},[560,977,979,982,984,986,988,990,992],{"class":562,"line":978},24,[560,980,981],{"class":570},"        artistTitle: ",[560,983,590],{"class":574},[560,985,666],{"class":570},[560,987,948],{"class":656},[560,989,951],{"class":570},[560,991,954],{"class":656},[560,993,957],{"class":570},[560,995,997,1000,1002,1004,1006,1008,1010],{"class":562,"line":996},25,[560,998,999],{"class":570},"        dateStart: ",[560,1001,590],{"class":574},[560,1003,666],{"class":570},[560,1005,932],{"class":656},[560,1007,951],{"class":570},[560,1009,954],{"class":656},[560,1011,957],{"class":570},[560,1013,1015,1018,1020,1022,1024,1026,1028],{"class":562,"line":1014},26,[560,1016,1017],{"class":570},"        dateEnd: ",[560,1019,590],{"class":574},[560,1021,666],{"class":570},[560,1023,932],{"class":656},[560,1025,951],{"class":570},[560,1027,954],{"class":656},[560,1029,957],{"class":570},[560,1031,1033,1036,1038,1040,1042,1044,1046],{"class":562,"line":1032},27,[560,1034,1035],{"class":570},"        dateDisplay: ",[560,1037,590],{"class":574},[560,1039,666],{"class":570},[560,1041,948],{"class":656},[560,1043,951],{"class":570},[560,1045,954],{"class":656},[560,1047,957],{"class":570},[560,1049,1051,1054,1056,1058,1061],{"class":562,"line":1050},28,[560,1052,1053],{"class":570},"        isPublicDomain: ",[560,1055,590],{"class":574},[560,1057,666],{"class":570},[560,1059,1060],{"class":656},"boolean",[560,1062,935],{"class":570},[560,1064,1066,1069,1071,1073,1075,1077,1079],{"class":562,"line":1065},29,[560,1067,1068],{"class":570},"        imageId: ",[560,1070,590],{"class":574},[560,1072,666],{"class":570},[560,1074,948],{"class":656},[560,1076,951],{"class":570},[560,1078,954],{"class":656},[560,1080,957],{"class":570},[560,1082,1084],{"class":562,"line":1083},30,[560,1085,1086],{"class":570},"    },\n",[560,1088,1090,1093,1095,1097,1100,1103,1106],{"class":562,"line":1089},31,[560,1091,1092],{"class":570},"    indexes: { artworks_pkey: ",[560,1094,604],{"class":574},[560,1096,666],{"class":570},[560,1098,1099],{"class":656},"primary",[560,1101,1102],{"class":570},"([",[560,1104,1105],{"class":623},"'id'",[560,1107,1108],{"class":570},"]) },\n",[560,1110,1112],{"class":562,"line":1111},32,[560,1113,1114],{"class":570},"    operations: {\n",[560,1116,1118],{"class":562,"line":1117},33,[560,1119,1120],{"class":570},"        readMany: {\n",[560,1122,1124,1127,1130],{"class":562,"line":1123},34,[560,1125,1126],{"class":570},"            filter: ",[560,1128,1129],{"class":574},"artworkFilter",[560,1131,913],{"class":570},[560,1133,1135,1138,1141,1143,1145],{"class":562,"line":1134},35,[560,1136,1137],{"class":570},"            sort: { id: ",[560,1139,1140],{"class":574},"eitherDirection",[560,1142,820],{"class":570},[560,1144,1140],{"class":574},[560,1146,832],{"class":570},[560,1148,1150,1153,1155,1157,1160],{"class":562,"line":1149},36,[560,1151,1152],{"class":570},"            limit: ",[560,1154,609],{"class":574},[560,1156,666],{"class":570},[560,1158,1159],{"class":656},"limit",[560,1161,935],{"class":570},[560,1163,1165,1168,1170,1172,1175],{"class":562,"line":1164},37,[560,1166,1167],{"class":570},"            offset: ",[560,1169,609],{"class":574},[560,1171,666],{"class":570},[560,1173,1174],{"class":656},"offset",[560,1176,935],{"class":570},[560,1178,1180,1183,1185,1187,1190],{"class":562,"line":1179},38,[560,1181,1182],{"class":570},"            output: ",[560,1184,498],{"class":574},[560,1186,666],{"class":570},[560,1188,1189],{"class":656},"all",[560,1191,935],{"class":570},[560,1193,1195,1198,1200],{"class":562,"line":1194},39,[560,1196,1197],{"class":570},"            meta: { totalCount: ",[560,1199,954],{"class":656},[560,1201,832],{"class":570},[560,1203,1205],{"class":562,"line":1204},40,[560,1206,1207],{"class":570},"        },\n",[560,1209,1211,1214,1216,1219,1221,1223,1225],{"class":562,"line":1210},41,[560,1212,1213],{"class":570},"        readOne: { filter: ",[560,1215,1129],{"class":574},[560,1217,1218],{"class":570},", output: ",[560,1220,498],{"class":574},[560,1222,666],{"class":570},[560,1224,1189],{"class":656},[560,1226,1227],{"class":570},"() },\n",[560,1229,1231],{"class":562,"line":1230},42,[560,1232,1086],{"class":570},[560,1234,1236],{"class":562,"line":1235},43,[560,1237,1238],{"class":570},"});\n",[560,1240,1242],{"class":562,"line":1241},44,[560,1243,634],{"emptyLinePlaceholder":633},[560,1245,1247,1249,1252,1254],{"class":562,"line":1246},45,[560,1248,653],{"class":566},[560,1250,1251],{"class":656}," artistFilter",[560,1253,660],{"class":566},[560,1255,803],{"class":570},[560,1257,1259,1261,1263,1266,1268],{"class":562,"line":1258},46,[560,1260,809],{"class":570},[560,1262,812],{"class":574},[560,1264,1265],{"class":570},", birthDate: ",[560,1267,823],{"class":574},[560,1269,832],{"class":570},[560,1271,1273,1275,1277,1279,1281,1283,1285,1287,1289],{"class":562,"line":1272},47,[560,1274,838],{"class":570},[560,1276,599],{"class":574},[560,1278,666],{"class":570},[560,1280,845],{"class":656},[560,1282,671],{"class":570},[560,1284,850],{"class":623},[560,1286,519],{"class":570},[560,1288,855],{"class":623},[560,1290,858],{"class":570},[560,1292,1294],{"class":562,"line":1293},48,[560,1295,864],{"class":570},[560,1297,1299],{"class":562,"line":1298},49,[560,1300,634],{"emptyLinePlaceholder":633},[560,1302,1304,1306,1308,1311,1313,1315],{"class":562,"line":1303},50,[560,1305,887],{"class":566},[560,1307,890],{"class":566},[560,1309,1310],{"class":656}," artists",[560,1312,660],{"class":566},[560,1314,898],{"class":656},[560,1316,901],{"class":570},[560,1318,1320,1322,1325],{"class":562,"line":1319},51,[560,1321,907],{"class":570},[560,1323,1324],{"class":623},"'artists'",[560,1326,913],{"class":570},[560,1328,1330],{"class":562,"line":1329},52,[560,1331,919],{"class":570},[560,1333,1335,1337,1339,1341,1343],{"class":562,"line":1334},53,[560,1336,925],{"class":570},[560,1338,590],{"class":574},[560,1340,666],{"class":570},[560,1342,932],{"class":656},[560,1344,935],{"class":570},[560,1346,1348,1350,1352,1354,1356],{"class":562,"line":1347},54,[560,1349,941],{"class":570},[560,1351,590],{"class":574},[560,1353,666],{"class":570},[560,1355,948],{"class":656},[560,1357,935],{"class":570},[560,1359,1361,1364,1366,1368,1370,1372,1374],{"class":562,"line":1360},55,[560,1362,1363],{"class":570},"        birthDate: ",[560,1365,590],{"class":574},[560,1367,666],{"class":570},[560,1369,932],{"class":656},[560,1371,951],{"class":570},[560,1373,954],{"class":656},[560,1375,957],{"class":570},[560,1377,1379,1382,1384,1386,1388,1390,1392],{"class":562,"line":1378},56,[560,1380,1381],{"class":570},"        deathDate: ",[560,1383,590],{"class":574},[560,1385,666],{"class":570},[560,1387,932],{"class":656},[560,1389,951],{"class":570},[560,1391,954],{"class":656},[560,1393,957],{"class":570},[560,1395,1397],{"class":562,"line":1396},57,[560,1398,1086],{"class":570},[560,1400,1402,1405,1407,1409,1411,1413,1415],{"class":562,"line":1401},58,[560,1403,1404],{"class":570},"    indexes: { artists_pkey: ",[560,1406,604],{"class":574},[560,1408,666],{"class":570},[560,1410,1099],{"class":656},[560,1412,1102],{"class":570},[560,1414,1105],{"class":623},[560,1416,1108],{"class":570},[560,1418,1420],{"class":562,"line":1419},59,[560,1421,1114],{"class":570},[560,1423,1425],{"class":562,"line":1424},60,[560,1426,1120],{"class":570},[560,1428,1430,1432,1435],{"class":562,"line":1429},61,[560,1431,1126],{"class":570},[560,1433,1434],{"class":574},"artistFilter",[560,1436,913],{"class":570},[560,1438,1440,1442,1444,1446,1448],{"class":562,"line":1439},62,[560,1441,1137],{"class":570},[560,1443,1140],{"class":574},[560,1445,1265],{"class":570},[560,1447,1140],{"class":574},[560,1449,832],{"class":570},[560,1451,1453,1455,1457,1459,1461],{"class":562,"line":1452},63,[560,1454,1152],{"class":570},[560,1456,609],{"class":574},[560,1458,666],{"class":570},[560,1460,1159],{"class":656},[560,1462,935],{"class":570},[560,1464,1466,1468,1470,1472,1474],{"class":562,"line":1465},64,[560,1467,1167],{"class":570},[560,1469,609],{"class":574},[560,1471,666],{"class":570},[560,1473,1174],{"class":656},[560,1475,935],{"class":570},[560,1477,1479,1481,1483,1485,1487],{"class":562,"line":1478},65,[560,1480,1182],{"class":570},[560,1482,498],{"class":574},[560,1484,666],{"class":570},[560,1486,1189],{"class":656},[560,1488,935],{"class":570},[560,1490,1492,1494,1496],{"class":562,"line":1491},66,[560,1493,1197],{"class":570},[560,1495,954],{"class":656},[560,1497,832],{"class":570},[560,1499,1501],{"class":562,"line":1500},67,[560,1502,1207],{"class":570},[560,1504,1506,1508,1510,1512,1514,1516,1518],{"class":562,"line":1505},68,[560,1507,1213],{"class":570},[560,1509,1434],{"class":574},[560,1511,1218],{"class":570},[560,1513,498],{"class":574},[560,1515,666],{"class":570},[560,1517,1189],{"class":656},[560,1519,1227],{"class":570},[560,1521,1523],{"class":562,"line":1522},69,[560,1524,1086],{"class":570},[560,1526,1528],{"class":562,"line":1527},70,[560,1529,1238],{"class":570},[560,1531,1533],{"class":562,"line":1532},71,[560,1534,634],{"emptyLinePlaceholder":633},[560,1536,1538,1540,1542,1545,1547,1550],{"class":562,"line":1537},72,[560,1539,887],{"class":566},[560,1541,890],{"class":566},[560,1543,1544],{"class":656}," schema",[560,1546,660],{"class":566},[560,1548,1549],{"class":656}," defineSchema",[560,1551,901],{"class":570},[560,1553,1555,1558,1561,1563,1566],{"class":562,"line":1554},73,[560,1556,1557],{"class":570},"    collections: [",[560,1559,1560],{"class":574},"artworks",[560,1562,519],{"class":570},[560,1564,1565],{"class":574},"artists",[560,1567,1568],{"class":570},"],\n",[560,1570,1572],{"class":562,"line":1571},74,[560,1573,1574],{"class":570},"    relations: [\n",[560,1576,1578],{"class":562,"line":1577},75,[560,1579,1580],{"class":640},"        \u002F\u002F Engine resolves `artist` by filtering artists with `in` on `id`, and `artworks` by filtering\n",[560,1582,1584],{"class":562,"line":1583},76,[560,1585,1586],{"class":640},"        \u002F\u002F artworks with `in` on `artistId`. Both filters declare `in`, so both directions are offered.\n",[560,1588,1590,1593],{"class":562,"line":1589},77,[560,1591,1592],{"class":656},"        defineRelation",[560,1594,901],{"class":570},[560,1596,1598,1601,1604],{"class":562,"line":1597},78,[560,1599,1600],{"class":570},"            name: ",[560,1602,1603],{"class":623},"'artworks_artist'",[560,1605,913],{"class":570},[560,1607,1609,1612,1614],{"class":562,"line":1608},79,[560,1610,1611],{"class":570},"            from: ",[560,1613,1560],{"class":574},[560,1615,913],{"class":570},[560,1617,1619,1622,1624],{"class":562,"line":1618},80,[560,1620,1621],{"class":570},"            to: ",[560,1623,1565],{"class":574},[560,1625,913],{"class":570},[560,1627,1629,1632,1635,1637,1639],{"class":562,"line":1628},81,[560,1630,1631],{"class":570},"            on: [[",[560,1633,1634],{"class":623},"'artistId'",[560,1636,519],{"class":570},[560,1638,1105],{"class":623},[560,1640,1641],{"class":570},"]],\n",[560,1643,1645,1648,1651,1654,1656],{"class":562,"line":1644},82,[560,1646,1647],{"class":570},"            names: { forward: ",[560,1649,1650],{"class":623},"'artist'",[560,1652,1653],{"class":570},", reverse: ",[560,1655,910],{"class":623},[560,1657,832],{"class":570},[560,1659,1661],{"class":562,"line":1660},83,[560,1662,1663],{"class":570},"        }),\n",[560,1665,1667],{"class":562,"line":1666},84,[560,1668,1669],{"class":570},"    ],\n",[560,1671,1673],{"class":562,"line":1672},85,[560,1674,1238],{"class":570},[458,1676,1677,1678,1681,1682,1684,1685,1688,1689,666],{},"Return ",[461,1679,1680],{},"schema.toSchemaDocument()"," from ",[461,1683,480],{},". The ",[466,1686,410],{"href":1687},"\u002Freference\u002Fextensions\u002Fdata-connectors\u002Fapi#example-schema-document"," shows the document it produces for ",[461,1690,1565],{},[458,1692,1693,1694,1697],{},"The ",[461,1695,1696],{},"define*"," functions and the field, index, default, filter, sort and paging builders return deep-frozen copies, so a definition can't change after the call.",[454,1699,1701],{"id":1700},"define-collections-and-relations","Define Collections and Relations",[1703,1704,1706],"h3",{"id":1705},"definecollection",[461,1707,575],{},[458,1709,1710],{},"Defines one collection: its fields, indexes, and the operations it serves.",[551,1712,1715],{"className":553,"code":1713,"filename":1714,"language":555,"meta":556,"style":556},"function defineCollection\u003Cconst F extends Readonly\u003CRecord\u003Cstring, FieldDefinition>>, const C extends Omit\u003CCollectionDefinition, 'fields' | 'indexes' | 'operations'> & {\n    readonly fields: F;\n} & FieldReferences\u003CNoInfer\u003CF>> & DerivedFlags>(definition: C & {\n    readonly fields: F;\n} & FieldReferences\u003CNoInfer\u003CF>> & Check\u003CCollectionErrors\u003CExpandedCollection\u003CNoInfer\u003CC>>>>): DeepReadonly\u003CExpandedCollection\u003CC>>;\n","signature",[461,1716,1717,1795,1807,1848,1858],{"__ignoreMap":556},[560,1718,1719,1722,1724,1727,1729,1732,1735,1738,1740,1743,1745,1748,1750,1753,1756,1758,1761,1763,1766,1768,1771,1773,1776,1779,1782,1784,1787,1790,1793],{"class":562,"line":563},[560,1720,1721],{"class":566},"function",[560,1723,898],{"class":656},[560,1725,1726],{"class":570},"\u003C",[560,1728,653],{"class":566},[560,1730,1731],{"class":656}," F",[560,1733,1734],{"class":566}," extends",[560,1736,1737],{"class":656}," Readonly",[560,1739,1726],{"class":570},[560,1741,1742],{"class":656},"Record",[560,1744,1726],{"class":570},[560,1746,948],{"class":1747},"snHjA",[560,1749,519],{"class":570},[560,1751,1752],{"class":656},"FieldDefinition",[560,1754,1755],{"class":570},">>, ",[560,1757,653],{"class":566},[560,1759,1760],{"class":656}," C",[560,1762,1734],{"class":566},[560,1764,1765],{"class":656}," Omit",[560,1767,1726],{"class":570},[560,1769,1770],{"class":656},"CollectionDefinition",[560,1772,519],{"class":570},[560,1774,1775],{"class":623},"'fields'",[560,1777,1778],{"class":566}," |",[560,1780,1781],{"class":623}," 'indexes'",[560,1783,1778],{"class":566},[560,1785,1786],{"class":623}," 'operations'",[560,1788,1789],{"class":570},"> ",[560,1791,1792],{"class":566},"&",[560,1794,803],{"class":570},[560,1796,1797,1800,1803,1805],{"class":562,"line":630},[560,1798,1799],{"class":566},"    readonly",[560,1801,1802],{"class":566}," fields:",[560,1804,1731],{"class":656},[560,1806,627],{"class":570},[560,1808,1809,1812,1814,1817,1819,1822,1824,1827,1830,1832,1835,1838,1841,1843,1846],{"class":562,"line":637},[560,1810,1811],{"class":570},"} ",[560,1813,1792],{"class":566},[560,1815,1816],{"class":656}," FieldReferences",[560,1818,1726],{"class":570},[560,1820,1821],{"class":656},"NoInfer",[560,1823,1726],{"class":570},[560,1825,1826],{"class":656},"F",[560,1828,1829],{"class":570},">> ",[560,1831,1792],{"class":566},[560,1833,1834],{"class":656}," DerivedFlags",[560,1836,1837],{"class":570},">(",[560,1839,1840],{"class":566},"definition:",[560,1842,1760],{"class":656},[560,1844,1845],{"class":566}," &",[560,1847,803],{"class":570},[560,1849,1850,1852,1854,1856],{"class":562,"line":644},[560,1851,1799],{"class":566},[560,1853,1802],{"class":566},[560,1855,1731],{"class":656},[560,1857,627],{"class":570},[560,1859,1860,1862,1864,1866,1868,1870,1872,1874,1876,1878,1881,1883,1886,1888,1891,1893,1895,1897,1900,1903,1906,1909,1911,1913,1915,1917],{"class":562,"line":650},[560,1861,1811],{"class":570},[560,1863,1792],{"class":566},[560,1865,1816],{"class":656},[560,1867,1726],{"class":570},[560,1869,1821],{"class":656},[560,1871,1726],{"class":570},[560,1873,1826],{"class":656},[560,1875,1829],{"class":570},[560,1877,1792],{"class":566},[560,1879,1880],{"class":656}," Check",[560,1882,1726],{"class":570},[560,1884,1885],{"class":656},"CollectionErrors",[560,1887,1726],{"class":570},[560,1889,1890],{"class":656},"ExpandedCollection",[560,1892,1726],{"class":570},[560,1894,1821],{"class":656},[560,1896,1726],{"class":570},[560,1898,1899],{"class":656},"C",[560,1901,1902],{"class":570},">>>>)",[560,1904,1905],{"class":566},":",[560,1907,1908],{"class":656}," DeepReadonly",[560,1910,1726],{"class":570},[560,1912,1890],{"class":656},[560,1914,1726],{"class":570},[560,1916,1899],{"class":656},[560,1918,1919],{"class":570},">>;\n",[1921,1922,1923,1939],"table",{},[1924,1925,1926],"thead",{},[1927,1928,1929,1933,1936],"tr",{},[1930,1931,1932],"th",{},"Property",[1930,1934,1935],{},"Required",[1930,1937,1938],{},"Description",[1940,1941,1942,1956,1975,1987,2004,2021],"tbody",{},[1927,1943,1944,1950,1953],{},[1945,1946,1947],"td",{},[461,1948,1949],{},"name",[1945,1951,1952],{},"Yes",[1945,1954,1955],{},"The name your connector uses. Every request names the collection by it",[1927,1957,1958,1963,1966],{},[1945,1959,1960],{},[461,1961,1962],{},"namespace",[1945,1964,1965],{},"No",[1945,1967,1968,1969],{},"A namespace from ",[466,1970,1972],{"href":1971},"#definenamespace",[461,1973,1974],{},"defineNamespace",[1927,1976,1977,1982,1984],{},[1945,1978,1979],{},[461,1980,1981],{},"apiName",[1945,1983,1965],{},[1945,1985,1986],{},"The name callers use. Engine derives one when absent",[1927,1988,1989,1993,1995],{},[1945,1990,1991],{},[461,1992,498],{},[1945,1994,1952],{},[1945,1996,1997,1998,2003],{},"A map from field name to a definition from ",[466,1999,2001],{"href":2000},"#field",[461,2002,590],{},". The map key is the name",[1927,2005,2006,2011,2013],{},[1945,2007,2008],{},[461,2009,2010],{},"indexes",[1945,2012,1965],{},[1945,2014,2015,2016],{},"A map from index name to a definition from ",[466,2017,2019],{"href":2018},"#index",[461,2020,604],{},[1927,2022,2023,2028,2030],{},[1945,2024,2025],{},[461,2026,2027],{},"operations",[1945,2029,1952],{},[1945,2031,2032,2033,2039,2040,2046,2047,2053,2054,2057],{},"What the collection serves: a ",[466,2034,2036],{"href":2035},"\u002Freference\u002Fextensions\u002Fextension-kit\u002Fprotocol#supportedoperations",[461,2037,2038],{},"SupportedOperations"," with field lists built by ",[466,2041,2043],{"href":2042},"#fieldsall",[461,2044,2045],{},"fields.all()"," or ",[466,2048,2050],{"href":2049},"#fieldsof",[461,2051,2052],{},"fieldsOf",". A member set to ",[461,2055,2056],{},"undefined"," is left out",[458,2059,2060,2061,2063,2064,2067,2068,2070,2071,2074,2075,2078,2079,2081,2082,2088],{},"Returns the definition, with every ",[461,2062,2045],{}," replaced by the collection's field names, in the order ",[461,2065,2066],{},"Object.keys"," lists the ",[461,2069,498],{}," map: integer-like names such as ",[461,2072,2073],{},"\"10\""," first, in ascending order, then the rest in declaration order. Collections don't declare ",[461,2076,2077],{},"isReadonly",": passing it is a type error. A collection is read-only exactly when ",[461,2080,2027],{}," declares no member that writes, and ",[466,2083,2085],{"href":2084},"#definedschema",[461,2086,2087],{},"toSchemaDocument"," derives the flag.",[458,2090,2091,2093,2094,2096,2097,2100,2101,2103,2104,2100,2107,2110,2111,2114,2115,2121,2122,2126],{},[461,2092,575],{}," checks the field names in ",[461,2095,2027],{}," at compile time: the keys of ",[461,2098,2099],{},"filter.fields"," and ",[461,2102,614],{},", and the names in ",[461,2105,2106],{},"data",[461,2108,2109],{},"output",". A name the collection doesn't declare is a TypeScript error such as ",[461,2112,2113],{},"Unknown operation field: \u003Croot>.articles.operations.readMany.titel",". At runtime it throws ",[466,2116,2118],{"href":2117},"#schemadefinitionerror",[461,2119,2120],{},"SchemaDefinitionError","; see ",[466,2123,2125],{"href":2124},"#validation","Validation"," for the rules.",[1703,2128,2130],{"id":2129},"definerelation",[461,2131,580],{},[458,2133,2134],{},"Defines a relation from the collection holding the pointing fields to the one it points at.",[551,2136,2138],{"className":553,"code":2137,"filename":1714,"language":555,"meta":556,"style":556},"function defineRelation\u003Cconst F extends CollectionDefinition, const T extends CollectionDefinition, const P extends readonly (readonly [\n    FieldHint\u003CNoInfer\u003CF>['fields']>,\n    FieldHint\u003CNoInfer\u003CT>['fields']>\n])[], const N extends string, const Names extends RelationDefinition['names']>(definition: {\n    name: N;\n    from: F;\n    to: T;\n    on: P & readonly (readonly [\n        FieldHint\u003CNoInfer\u003CF>['fields']>,\n        FieldHint\u003CNoInfer\u003CT>['fields']>\n    ])[] & PairChecks\u003CNoInfer\u003CF>, NoInfer\u003CT>, NoInfer\u003CP>>;\n    names: Names;\n    onDelete?: ReferentialAction;\n    onUpdate?: ReferentialAction;\n}): DeepReadonly\u003C{\n    name: N;\n    from: F;\n    to: T;\n    on: P;\n    names: Names;\n    onDelete?: ReferentialAction;\n    onUpdate?: ReferentialAction;\n}>;\n",[461,2139,2140,2190,2211,2231,2271,2280,2289,2298,2315,2334,2352,2390,2399,2409,2418,2430,2438,2446,2454,2462,2470,2478,2486],{"__ignoreMap":556},[560,2141,2142,2144,2147,2149,2151,2153,2155,2158,2160,2162,2165,2167,2169,2171,2173,2176,2178,2181,2184,2187],{"class":562,"line":563},[560,2143,1721],{"class":566},[560,2145,2146],{"class":656}," defineRelation",[560,2148,1726],{"class":570},[560,2150,653],{"class":566},[560,2152,1731],{"class":656},[560,2154,1734],{"class":566},[560,2156,2157],{"class":656}," CollectionDefinition",[560,2159,519],{"class":570},[560,2161,653],{"class":566},[560,2163,2164],{"class":656}," T",[560,2166,1734],{"class":566},[560,2168,2157],{"class":656},[560,2170,519],{"class":570},[560,2172,653],{"class":566},[560,2174,2175],{"class":656}," P",[560,2177,1734],{"class":566},[560,2179,2180],{"class":566}," readonly",[560,2182,2183],{"class":570}," (",[560,2185,2186],{"class":566},"readonly",[560,2188,2189],{"class":570}," [\n",[560,2191,2192,2195,2197,2199,2201,2203,2206,2208],{"class":562,"line":630},[560,2193,2194],{"class":656},"    FieldHint",[560,2196,1726],{"class":570},[560,2198,1821],{"class":656},[560,2200,1726],{"class":570},[560,2202,1826],{"class":656},[560,2204,2205],{"class":570},">[",[560,2207,1775],{"class":623},[560,2209,2210],{"class":570},"]>,\n",[560,2212,2213,2215,2217,2219,2221,2224,2226,2228],{"class":562,"line":637},[560,2214,2194],{"class":656},[560,2216,1726],{"class":570},[560,2218,1821],{"class":656},[560,2220,1726],{"class":570},[560,2222,2223],{"class":656},"T",[560,2225,2205],{"class":570},[560,2227,1775],{"class":623},[560,2229,2230],{"class":570},"]>\n",[560,2232,2233,2236,2238,2241,2243,2246,2248,2250,2253,2255,2258,2261,2264,2267,2269],{"class":562,"line":644},[560,2234,2235],{"class":570},"])[], ",[560,2237,653],{"class":566},[560,2239,2240],{"class":656}," N",[560,2242,1734],{"class":566},[560,2244,2245],{"class":1747}," string",[560,2247,519],{"class":570},[560,2249,653],{"class":566},[560,2251,2252],{"class":656}," Names",[560,2254,1734],{"class":566},[560,2256,2257],{"class":656}," RelationDefinition",[560,2259,2260],{"class":570},"[",[560,2262,2263],{"class":623},"'names'",[560,2265,2266],{"class":570},"]>(",[560,2268,1840],{"class":566},[560,2270,803],{"class":570},[560,2272,2273,2276,2278],{"class":562,"line":650},[560,2274,2275],{"class":566},"    name:",[560,2277,2240],{"class":656},[560,2279,627],{"class":570},[560,2281,2282,2285,2287],{"class":562,"line":685},[560,2283,2284],{"class":566},"    from:",[560,2286,1731],{"class":656},[560,2288,627],{"class":570},[560,2290,2291,2294,2296],{"class":562,"line":731},[560,2292,2293],{"class":566},"    to:",[560,2295,2164],{"class":656},[560,2297,627],{"class":570},[560,2299,2300,2303,2305,2307,2309,2311,2313],{"class":562,"line":737},[560,2301,2302],{"class":566},"    on:",[560,2304,2175],{"class":656},[560,2306,1845],{"class":566},[560,2308,2180],{"class":566},[560,2310,2183],{"class":570},[560,2312,2186],{"class":566},[560,2314,2189],{"class":570},[560,2316,2317,2320,2322,2324,2326,2328,2330,2332],{"class":562,"line":759},[560,2318,2319],{"class":656},"        FieldHint",[560,2321,1726],{"class":570},[560,2323,1821],{"class":656},[560,2325,1726],{"class":570},[560,2327,1826],{"class":656},[560,2329,2205],{"class":570},[560,2331,1775],{"class":623},[560,2333,2210],{"class":570},[560,2335,2336,2338,2340,2342,2344,2346,2348,2350],{"class":562,"line":788},[560,2337,2319],{"class":656},[560,2339,1726],{"class":570},[560,2341,1821],{"class":656},[560,2343,1726],{"class":570},[560,2345,2223],{"class":656},[560,2347,2205],{"class":570},[560,2349,1775],{"class":623},[560,2351,2230],{"class":570},[560,2353,2354,2357,2359,2362,2364,2366,2368,2370,2373,2375,2377,2379,2381,2383,2385,2388],{"class":562,"line":793},[560,2355,2356],{"class":570},"    ])[] ",[560,2358,1792],{"class":566},[560,2360,2361],{"class":656}," PairChecks",[560,2363,1726],{"class":570},[560,2365,1821],{"class":656},[560,2367,1726],{"class":570},[560,2369,1826],{"class":656},[560,2371,2372],{"class":570},">, ",[560,2374,1821],{"class":656},[560,2376,1726],{"class":570},[560,2378,2223],{"class":656},[560,2380,2372],{"class":570},[560,2382,1821],{"class":656},[560,2384,1726],{"class":570},[560,2386,2387],{"class":656},"P",[560,2389,1919],{"class":570},[560,2391,2392,2395,2397],{"class":562,"line":806},[560,2393,2394],{"class":566},"    names:",[560,2396,2252],{"class":656},[560,2398,627],{"class":570},[560,2400,2401,2404,2407],{"class":562,"line":835},[560,2402,2403],{"class":566},"    onDelete?:",[560,2405,2406],{"class":656}," ReferentialAction",[560,2408,627],{"class":570},[560,2410,2411,2414,2416],{"class":562,"line":861},[560,2412,2413],{"class":566},"    onUpdate?:",[560,2415,2406],{"class":656},[560,2417,627],{"class":570},[560,2419,2420,2423,2425,2427],{"class":562,"line":867},[560,2421,2422],{"class":570},"})",[560,2424,1905],{"class":566},[560,2426,1908],{"class":656},[560,2428,2429],{"class":570},"\u003C{\n",[560,2431,2432,2434,2436],{"class":562,"line":872},[560,2433,2275],{"class":566},[560,2435,2240],{"class":656},[560,2437,627],{"class":570},[560,2439,2440,2442,2444],{"class":562,"line":878},[560,2441,2284],{"class":566},[560,2443,1731],{"class":656},[560,2445,627],{"class":570},[560,2447,2448,2450,2452],{"class":562,"line":884},[560,2449,2293],{"class":566},[560,2451,2164],{"class":656},[560,2453,627],{"class":570},[560,2455,2456,2458,2460],{"class":562,"line":904},[560,2457,2302],{"class":566},[560,2459,2175],{"class":656},[560,2461,627],{"class":570},[560,2463,2464,2466,2468],{"class":562,"line":916},[560,2465,2394],{"class":566},[560,2467,2252],{"class":656},[560,2469,627],{"class":570},[560,2471,2472,2474,2476],{"class":562,"line":922},[560,2473,2403],{"class":566},[560,2475,2406],{"class":656},[560,2477,627],{"class":570},[560,2479,2480,2482,2484],{"class":562,"line":938},[560,2481,2413],{"class":566},[560,2483,2406],{"class":656},[560,2485,627],{"class":570},[560,2487,2488],{"class":562,"line":960},[560,2489,2490],{"class":570},"}>;\n",[1921,2492,2493,2503],{},[1924,2494,2495],{},[1927,2496,2497,2499,2501],{},[1930,2498,1932],{},[1930,2500,1935],{},[1930,2502,1938],{},[1940,2504,2505,2516,2527,2539,2555,2579],{},[1927,2506,2507,2511,2513],{},[1945,2508,2509],{},[461,2510,1949],{},[1945,2512,1952],{},[1945,2514,2515],{},"The relation's name",[1927,2517,2518,2522,2524],{},[1945,2519,2520],{},[461,2521,620],{},[1945,2523,1952],{},[1945,2525,2526],{},"The collection holding the pointing fields",[1927,2528,2529,2534,2536],{},[1945,2530,2531],{},[461,2532,2533],{},"to",[1945,2535,1952],{},[1945,2537,2538],{},"The collection it points at",[1927,2540,2541,2546,2548],{},[1945,2542,2543],{},[461,2544,2545],{},"on",[1945,2547,1952],{},[1945,2549,2550,2551,2554],{},"Pairs of ",[461,2552,2553],{},"[fromField, toField]",". At least one",[1927,2556,2557,2562,2564],{},[1945,2558,2559],{},[461,2560,2561],{},"names",[1945,2563,1952],{},[1945,2565,2566,2569,2570,2572,2573,2576,2577],{},[461,2567,2568],{},"forward"," names the relation field on ",[461,2571,620],{},", and ",[461,2574,2575],{},"reverse"," the one on ",[461,2578,2533],{},[1927,2580,2581,2589,2591],{},[1945,2582,2583,519,2586],{},[461,2584,2585],{},"onDelete",[461,2587,2588],{},"onUpdate",[1945,2590,1965],{},[1945,2592,2593,2594,2600,2601],{},"A ",[466,2595,2597],{"href":2596},"\u002Freference\u002Fextensions\u002Fextension-kit\u002Fprotocol#referentialaction",[461,2598,2599],{},"ReferentialAction",". Default ",[461,2602,2603],{},"'noAction'",[458,2605,2606,2607,2609,2610,2612,2613,666],{},"In the schema document, ",[461,2608,620],{}," becomes the constrained collection and ",[461,2611,2533],{}," the referenced one. Each relation direction is offered only when the other collection's filter can serve it. See ",[466,2614,2616],{"href":2615},"\u002Freference\u002Fextensions\u002Fdata-connectors\u002Foperations#resolve-relations","Resolve Relations",[1703,2618,2620],{"id":2619},"defineschema",[461,2621,585],{},[458,2623,2624,2625,666],{},"Validates the whole schema and returns it with ",[461,2626,2087],{},[551,2628,2630],{"className":553,"code":2629,"filename":1714,"language":555,"meta":556,"style":556},"function defineSchema\u003Cconst S extends SchemaDefinition>(definition: S & Check\u003CSchemaErrors\u003CNoInfer\u003CS>>>): DefinedSchema\u003CS>;\n",[461,2631,2632],{"__ignoreMap":556},[560,2633,2634,2636,2638,2640,2642,2645,2647,2650,2652,2654,2656,2658,2660,2662,2665,2667,2669,2671,2674,2677,2679,2682,2684,2686],{"class":562,"line":563},[560,2635,1721],{"class":566},[560,2637,1549],{"class":656},[560,2639,1726],{"class":570},[560,2641,653],{"class":566},[560,2643,2644],{"class":656}," S",[560,2646,1734],{"class":566},[560,2648,2649],{"class":656}," SchemaDefinition",[560,2651,1837],{"class":570},[560,2653,1840],{"class":566},[560,2655,2644],{"class":656},[560,2657,1845],{"class":566},[560,2659,1880],{"class":656},[560,2661,1726],{"class":570},[560,2663,2664],{"class":656},"SchemaErrors",[560,2666,1726],{"class":570},[560,2668,1821],{"class":656},[560,2670,1726],{"class":570},[560,2672,2673],{"class":656},"S",[560,2675,2676],{"class":570},">>>)",[560,2678,1905],{"class":566},[560,2680,2681],{"class":656}," DefinedSchema",[560,2683,1726],{"class":570},[560,2685,2673],{"class":656},[560,2687,2688],{"class":570},">;\n",[1921,2690,2691,2701],{},[1924,2692,2693],{},[1927,2694,2695,2697,2699],{},[1930,2696,1932],{},[1930,2698,1935],{},[1930,2700,1938],{},[1940,2702,2703,2716,2733],{},[1927,2704,2705,2709,2711],{},[1945,2706,2707],{},[461,2708,489],{},[1945,2710,1952],{},[1945,2712,2713,2714],{},"Every collection from ",[461,2715,575],{},[1927,2717,2718,2723,2725],{},[1945,2719,2720],{},[461,2721,2722],{},"relations",[1945,2724,1965],{},[1945,2726,2727,2728,2730,2731],{},"Relations from ",[461,2729,580],{},". Both ends must be in ",[461,2732,489],{},[1927,2734,2735,2740,2742],{},[1945,2736,2737],{},[461,2738,2739],{},"namespaces",[1945,2741,1965],{},[1945,2743,2744,2745,2747],{},"Namespaces from ",[461,2746,1974],{},". Every namespace a collection uses must be listed",[458,2749,2750,2751,2756,2757,2760,2761,666],{},"Returns a ",[466,2752,2753],{"href":2084},[461,2754,2755],{},"DefinedSchema",". Call ",[461,2758,2759],{},"toSchemaDocument()"," on it in ",[461,2762,480],{},[1703,2764,2766],{"id":2765},"definenamespace",[461,2767,1974],{},[458,2769,2770],{},"Defines a namespace, a named group of collections.",[551,2772,2774],{"className":553,"code":2773,"filename":1714,"language":555,"meta":556,"style":556},"function defineNamespace\u003Cconst N extends NamespaceDefinition>(definition: N): DeepReadonly\u003CN>;\n",[461,2775,2776],{"__ignoreMap":556},[560,2777,2778,2780,2783,2785,2787,2789,2791,2794,2796,2798,2800,2803,2805,2807,2809,2812],{"class":562,"line":563},[560,2779,1721],{"class":566},[560,2781,2782],{"class":656}," defineNamespace",[560,2784,1726],{"class":570},[560,2786,653],{"class":566},[560,2788,2240],{"class":656},[560,2790,1734],{"class":566},[560,2792,2793],{"class":656}," NamespaceDefinition",[560,2795,1837],{"class":570},[560,2797,1840],{"class":566},[560,2799,2240],{"class":656},[560,2801,2802],{"class":570},")",[560,2804,1905],{"class":566},[560,2806,1908],{"class":656},[560,2808,1726],{"class":570},[560,2810,2811],{"class":656},"N",[560,2813,2688],{"class":570},[458,2815,2816,2817,2820,2821,2824,2825,666],{},"Register it in ",[461,2818,2819],{},"defineSchema({ namespaces })"," and reference it from ",[461,2822,2823],{},"defineCollection({ namespace })",". An empty name throws ",[461,2826,2120],{},[454,2828,2830],{"id":2829},"declare-fields","Declare Fields",[1703,2832,2833],{"id":590},[461,2834,590],{},[458,2836,2837],{},"Field constructors, one per field type. They describe fields; they never parse or generate values.",[544,2839,2840],{},[547,2841,2843],{"label":2842},"field: declaration",[551,2844,2846],{"className":553,"code":2845,"filename":1714,"language":555,"meta":556,"style":556},"const field: {\n    boolean: \u003Cconst O extends FieldOptions = Record\u003Cnever, never>>(options?: O) => DefinedField\u003C{\n        name: \"boolean\";\n    }, NoInfer\u003CO>>;\n    bytes: \u003Cconst O extends FieldOptions = Record\u003Cnever, never>>(options?: O) => DefinedField\u003C{\n        name: \"bytes\";\n    }, NoInfer\u003CO>>;\n    date: \u003Cconst O extends FieldOptions = Record\u003Cnever, never>>(options?: O) => DefinedField\u003C{\n        name: \"date\";\n    }, NoInfer\u003CO>>;\n    dateTime: \u003Cconst O extends FieldOptions = Record\u003Cnever, never>>(options?: O) => DefinedField\u003C{\n        name: \"dateTime\";\n    }, NoInfer\u003CO>>;\n    dateTimeWithTimezone: \u003Cconst O extends FieldOptions = Record\u003Cnever, never>>(options?: O) => DefinedField\u003C{\n        name: \"dateTimeWithTimezone\";\n    }, NoInfer\u003CO>>;\n    float32: \u003Cconst O extends FieldOptions = Record\u003Cnever, never>>(options?: O) => DefinedField\u003C{\n        name: \"float32\";\n    }, NoInfer\u003CO>>;\n    float64: \u003Cconst O extends FieldOptions = Record\u003Cnever, never>>(options?: O) => DefinedField\u003C{\n        name: \"float64\";\n    }, NoInfer\u003CO>>;\n    geometry: \u003Cconst O extends FieldOptions = Record\u003Cnever, never>>(options?: O) => DefinedField\u003C{\n        name: \"geometry\";\n    }, NoInfer\u003CO>>;\n    int8: \u003Cconst O extends FieldOptions = Record\u003Cnever, never>>(options?: O) => DefinedField\u003C{\n        name: \"int8\";\n    }, NoInfer\u003CO>>;\n    int16: \u003Cconst O extends FieldOptions = Record\u003Cnever, never>>(options?: O) => DefinedField\u003C{\n        name: \"int16\";\n    }, NoInfer\u003CO>>;\n    int32: \u003Cconst O extends FieldOptions = Record\u003Cnever, never>>(options?: O) => DefinedField\u003C{\n        name: \"int32\";\n    }, NoInfer\u003CO>>;\n    int64: \u003Cconst O extends FieldOptions = Record\u003Cnever, never>>(options?: O) => DefinedField\u003C{\n        name: \"int64\";\n    }, NoInfer\u003CO>>;\n    json: \u003Cconst O extends FieldOptions = Record\u003Cnever, never>>(options?: O) => DefinedField\u003C{\n        name: \"json\";\n    }, NoInfer\u003CO>>;\n    time: \u003Cconst O extends FieldOptions = Record\u003Cnever, never>>(options?: O) => DefinedField\u003C{\n        name: \"time\";\n    }, NoInfer\u003CO>>;\n    uint8: \u003Cconst O extends FieldOptions = Record\u003Cnever, never>>(options?: O) => DefinedField\u003C{\n        name: \"uint8\";\n    }, NoInfer\u003CO>>;\n    uint16: \u003Cconst O extends FieldOptions = Record\u003Cnever, never>>(options?: O) => DefinedField\u003C{\n        name: \"uint16\";\n    }, NoInfer\u003CO>>;\n    uint32: \u003Cconst O extends FieldOptions = Record\u003Cnever, never>>(options?: O) => DefinedField\u003C{\n        name: \"uint32\";\n    }, NoInfer\u003CO>>;\n    uint64: \u003Cconst O extends FieldOptions = Record\u003Cnever, never>>(options?: O) => DefinedField\u003C{\n        name: \"uint64\";\n    }, NoInfer\u003CO>>;\n    unsupported: \u003Cconst O extends FieldOptions = Record\u003Cnever, never>>(options?: O) => DefinedField\u003C{\n        name: \"unsupported\";\n    }, NoInfer\u003CO>>;\n    uuid: \u003Cconst O extends FieldOptions = Record\u003Cnever, never>>(options?: O) => DefinedField\u003C{\n        name: \"uuid\";\n    }, NoInfer\u003CO>>;\n    string\u003Cconst O extends StringFieldOptions = Record\u003Cnever, never>>(options?: O): DefinedField\u003C{\n        name: \"string\";\n        params: {\n            length: \"unlimited\";\n            value?: never;\n        } | {\n            length: \"fixed\";\n            value: number;\n        };\n    }, NoInfer\u003COmit\u003CO, \"length\">>>;\n    decimal\u003Cconst O extends DecimalFieldOptions = Record\u003Cnever, never>>(options?: O): DefinedField\u003C{\n        name: \"decimal\";\n        params: DecimalPrecision;\n    }, NoInfer\u003COmit\u003CO, \"precision\" | \"scale\">>>;\n};\n",[461,2847,2848,2859,2912,2922,2936,2979,2988,3000,3043,3052,3064,3107,3116,3128,3171,3180,3192,3235,3244,3256,3299,3308,3320,3363,3372,3384,3427,3436,3448,3491,3500,3512,3555,3564,3576,3619,3628,3640,3683,3692,3704,3747,3756,3768,3811,3820,3832,3875,3884,3896,3939,3948,3960,4003,4012,4024,4067,4076,4088,4131,4140,4152,4194,4203,4210,4220,4230,4240,4249,4259,4264,4287,4329,4338,4347,4373],{"__ignoreMap":556},[560,2849,2850,2852,2855,2857],{"class":562,"line":563},[560,2851,653],{"class":566},[560,2853,2854],{"class":656}," field",[560,2856,1905],{"class":566},[560,2858,803],{"class":570},[560,2860,2861,2864,2866,2869,2871,2874,2876,2879,2881,2884,2886,2889,2891,2893,2896,2899,2901,2904,2907,2910],{"class":562,"line":630},[560,2862,2863],{"class":656},"    boolean",[560,2865,1905],{"class":566},[560,2867,2868],{"class":570}," \u003C",[560,2870,653],{"class":566},[560,2872,2873],{"class":656}," O",[560,2875,1734],{"class":566},[560,2877,2878],{"class":656}," FieldOptions",[560,2880,660],{"class":566},[560,2882,2883],{"class":656}," Record",[560,2885,1726],{"class":570},[560,2887,2888],{"class":1747},"never",[560,2890,519],{"class":570},[560,2892,2888],{"class":1747},[560,2894,2895],{"class":570},">>(",[560,2897,2898],{"class":566},"options?:",[560,2900,2873],{"class":656},[560,2902,2903],{"class":570},") ",[560,2905,2906],{"class":566},"=>",[560,2908,2909],{"class":656}," DefinedField",[560,2911,2429],{"class":570},[560,2913,2914,2917,2920],{"class":562,"line":637},[560,2915,2916],{"class":566},"        name:",[560,2918,2919],{"class":623}," \"boolean\"",[560,2921,627],{"class":570},[560,2923,2924,2927,2929,2931,2934],{"class":562,"line":644},[560,2925,2926],{"class":570},"    }, ",[560,2928,1821],{"class":656},[560,2930,1726],{"class":570},[560,2932,2933],{"class":656},"O",[560,2935,1919],{"class":570},[560,2937,2938,2941,2943,2945,2947,2949,2951,2953,2955,2957,2959,2961,2963,2965,2967,2969,2971,2973,2975,2977],{"class":562,"line":650},[560,2939,2940],{"class":656},"    bytes",[560,2942,1905],{"class":566},[560,2944,2868],{"class":570},[560,2946,653],{"class":566},[560,2948,2873],{"class":656},[560,2950,1734],{"class":566},[560,2952,2878],{"class":656},[560,2954,660],{"class":566},[560,2956,2883],{"class":656},[560,2958,1726],{"class":570},[560,2960,2888],{"class":1747},[560,2962,519],{"class":570},[560,2964,2888],{"class":1747},[560,2966,2895],{"class":570},[560,2968,2898],{"class":566},[560,2970,2873],{"class":656},[560,2972,2903],{"class":570},[560,2974,2906],{"class":566},[560,2976,2909],{"class":656},[560,2978,2429],{"class":570},[560,2980,2981,2983,2986],{"class":562,"line":685},[560,2982,2916],{"class":566},[560,2984,2985],{"class":623}," \"bytes\"",[560,2987,627],{"class":570},[560,2989,2990,2992,2994,2996,2998],{"class":562,"line":731},[560,2991,2926],{"class":570},[560,2993,1821],{"class":656},[560,2995,1726],{"class":570},[560,2997,2933],{"class":656},[560,2999,1919],{"class":570},[560,3001,3002,3005,3007,3009,3011,3013,3015,3017,3019,3021,3023,3025,3027,3029,3031,3033,3035,3037,3039,3041],{"class":562,"line":737},[560,3003,3004],{"class":656},"    date",[560,3006,1905],{"class":566},[560,3008,2868],{"class":570},[560,3010,653],{"class":566},[560,3012,2873],{"class":656},[560,3014,1734],{"class":566},[560,3016,2878],{"class":656},[560,3018,660],{"class":566},[560,3020,2883],{"class":656},[560,3022,1726],{"class":570},[560,3024,2888],{"class":1747},[560,3026,519],{"class":570},[560,3028,2888],{"class":1747},[560,3030,2895],{"class":570},[560,3032,2898],{"class":566},[560,3034,2873],{"class":656},[560,3036,2903],{"class":570},[560,3038,2906],{"class":566},[560,3040,2909],{"class":656},[560,3042,2429],{"class":570},[560,3044,3045,3047,3050],{"class":562,"line":759},[560,3046,2916],{"class":566},[560,3048,3049],{"class":623}," \"date\"",[560,3051,627],{"class":570},[560,3053,3054,3056,3058,3060,3062],{"class":562,"line":788},[560,3055,2926],{"class":570},[560,3057,1821],{"class":656},[560,3059,1726],{"class":570},[560,3061,2933],{"class":656},[560,3063,1919],{"class":570},[560,3065,3066,3069,3071,3073,3075,3077,3079,3081,3083,3085,3087,3089,3091,3093,3095,3097,3099,3101,3103,3105],{"class":562,"line":793},[560,3067,3068],{"class":656},"    dateTime",[560,3070,1905],{"class":566},[560,3072,2868],{"class":570},[560,3074,653],{"class":566},[560,3076,2873],{"class":656},[560,3078,1734],{"class":566},[560,3080,2878],{"class":656},[560,3082,660],{"class":566},[560,3084,2883],{"class":656},[560,3086,1726],{"class":570},[560,3088,2888],{"class":1747},[560,3090,519],{"class":570},[560,3092,2888],{"class":1747},[560,3094,2895],{"class":570},[560,3096,2898],{"class":566},[560,3098,2873],{"class":656},[560,3100,2903],{"class":570},[560,3102,2906],{"class":566},[560,3104,2909],{"class":656},[560,3106,2429],{"class":570},[560,3108,3109,3111,3114],{"class":562,"line":806},[560,3110,2916],{"class":566},[560,3112,3113],{"class":623}," \"dateTime\"",[560,3115,627],{"class":570},[560,3117,3118,3120,3122,3124,3126],{"class":562,"line":835},[560,3119,2926],{"class":570},[560,3121,1821],{"class":656},[560,3123,1726],{"class":570},[560,3125,2933],{"class":656},[560,3127,1919],{"class":570},[560,3129,3130,3133,3135,3137,3139,3141,3143,3145,3147,3149,3151,3153,3155,3157,3159,3161,3163,3165,3167,3169],{"class":562,"line":861},[560,3131,3132],{"class":656},"    dateTimeWithTimezone",[560,3134,1905],{"class":566},[560,3136,2868],{"class":570},[560,3138,653],{"class":566},[560,3140,2873],{"class":656},[560,3142,1734],{"class":566},[560,3144,2878],{"class":656},[560,3146,660],{"class":566},[560,3148,2883],{"class":656},[560,3150,1726],{"class":570},[560,3152,2888],{"class":1747},[560,3154,519],{"class":570},[560,3156,2888],{"class":1747},[560,3158,2895],{"class":570},[560,3160,2898],{"class":566},[560,3162,2873],{"class":656},[560,3164,2903],{"class":570},[560,3166,2906],{"class":566},[560,3168,2909],{"class":656},[560,3170,2429],{"class":570},[560,3172,3173,3175,3178],{"class":562,"line":867},[560,3174,2916],{"class":566},[560,3176,3177],{"class":623}," \"dateTimeWithTimezone\"",[560,3179,627],{"class":570},[560,3181,3182,3184,3186,3188,3190],{"class":562,"line":872},[560,3183,2926],{"class":570},[560,3185,1821],{"class":656},[560,3187,1726],{"class":570},[560,3189,2933],{"class":656},[560,3191,1919],{"class":570},[560,3193,3194,3197,3199,3201,3203,3205,3207,3209,3211,3213,3215,3217,3219,3221,3223,3225,3227,3229,3231,3233],{"class":562,"line":878},[560,3195,3196],{"class":656},"    float32",[560,3198,1905],{"class":566},[560,3200,2868],{"class":570},[560,3202,653],{"class":566},[560,3204,2873],{"class":656},[560,3206,1734],{"class":566},[560,3208,2878],{"class":656},[560,3210,660],{"class":566},[560,3212,2883],{"class":656},[560,3214,1726],{"class":570},[560,3216,2888],{"class":1747},[560,3218,519],{"class":570},[560,3220,2888],{"class":1747},[560,3222,2895],{"class":570},[560,3224,2898],{"class":566},[560,3226,2873],{"class":656},[560,3228,2903],{"class":570},[560,3230,2906],{"class":566},[560,3232,2909],{"class":656},[560,3234,2429],{"class":570},[560,3236,3237,3239,3242],{"class":562,"line":884},[560,3238,2916],{"class":566},[560,3240,3241],{"class":623}," \"float32\"",[560,3243,627],{"class":570},[560,3245,3246,3248,3250,3252,3254],{"class":562,"line":904},[560,3247,2926],{"class":570},[560,3249,1821],{"class":656},[560,3251,1726],{"class":570},[560,3253,2933],{"class":656},[560,3255,1919],{"class":570},[560,3257,3258,3261,3263,3265,3267,3269,3271,3273,3275,3277,3279,3281,3283,3285,3287,3289,3291,3293,3295,3297],{"class":562,"line":916},[560,3259,3260],{"class":656},"    float64",[560,3262,1905],{"class":566},[560,3264,2868],{"class":570},[560,3266,653],{"class":566},[560,3268,2873],{"class":656},[560,3270,1734],{"class":566},[560,3272,2878],{"class":656},[560,3274,660],{"class":566},[560,3276,2883],{"class":656},[560,3278,1726],{"class":570},[560,3280,2888],{"class":1747},[560,3282,519],{"class":570},[560,3284,2888],{"class":1747},[560,3286,2895],{"class":570},[560,3288,2898],{"class":566},[560,3290,2873],{"class":656},[560,3292,2903],{"class":570},[560,3294,2906],{"class":566},[560,3296,2909],{"class":656},[560,3298,2429],{"class":570},[560,3300,3301,3303,3306],{"class":562,"line":922},[560,3302,2916],{"class":566},[560,3304,3305],{"class":623}," \"float64\"",[560,3307,627],{"class":570},[560,3309,3310,3312,3314,3316,3318],{"class":562,"line":938},[560,3311,2926],{"class":570},[560,3313,1821],{"class":656},[560,3315,1726],{"class":570},[560,3317,2933],{"class":656},[560,3319,1919],{"class":570},[560,3321,3322,3325,3327,3329,3331,3333,3335,3337,3339,3341,3343,3345,3347,3349,3351,3353,3355,3357,3359,3361],{"class":562,"line":960},[560,3323,3324],{"class":656},"    geometry",[560,3326,1905],{"class":566},[560,3328,2868],{"class":570},[560,3330,653],{"class":566},[560,3332,2873],{"class":656},[560,3334,1734],{"class":566},[560,3336,2878],{"class":656},[560,3338,660],{"class":566},[560,3340,2883],{"class":656},[560,3342,1726],{"class":570},[560,3344,2888],{"class":1747},[560,3346,519],{"class":570},[560,3348,2888],{"class":1747},[560,3350,2895],{"class":570},[560,3352,2898],{"class":566},[560,3354,2873],{"class":656},[560,3356,2903],{"class":570},[560,3358,2906],{"class":566},[560,3360,2909],{"class":656},[560,3362,2429],{"class":570},[560,3364,3365,3367,3370],{"class":562,"line":978},[560,3366,2916],{"class":566},[560,3368,3369],{"class":623}," \"geometry\"",[560,3371,627],{"class":570},[560,3373,3374,3376,3378,3380,3382],{"class":562,"line":996},[560,3375,2926],{"class":570},[560,3377,1821],{"class":656},[560,3379,1726],{"class":570},[560,3381,2933],{"class":656},[560,3383,1919],{"class":570},[560,3385,3386,3389,3391,3393,3395,3397,3399,3401,3403,3405,3407,3409,3411,3413,3415,3417,3419,3421,3423,3425],{"class":562,"line":1014},[560,3387,3388],{"class":656},"    int8",[560,3390,1905],{"class":566},[560,3392,2868],{"class":570},[560,3394,653],{"class":566},[560,3396,2873],{"class":656},[560,3398,1734],{"class":566},[560,3400,2878],{"class":656},[560,3402,660],{"class":566},[560,3404,2883],{"class":656},[560,3406,1726],{"class":570},[560,3408,2888],{"class":1747},[560,3410,519],{"class":570},[560,3412,2888],{"class":1747},[560,3414,2895],{"class":570},[560,3416,2898],{"class":566},[560,3418,2873],{"class":656},[560,3420,2903],{"class":570},[560,3422,2906],{"class":566},[560,3424,2909],{"class":656},[560,3426,2429],{"class":570},[560,3428,3429,3431,3434],{"class":562,"line":1032},[560,3430,2916],{"class":566},[560,3432,3433],{"class":623}," \"int8\"",[560,3435,627],{"class":570},[560,3437,3438,3440,3442,3444,3446],{"class":562,"line":1050},[560,3439,2926],{"class":570},[560,3441,1821],{"class":656},[560,3443,1726],{"class":570},[560,3445,2933],{"class":656},[560,3447,1919],{"class":570},[560,3449,3450,3453,3455,3457,3459,3461,3463,3465,3467,3469,3471,3473,3475,3477,3479,3481,3483,3485,3487,3489],{"class":562,"line":1065},[560,3451,3452],{"class":656},"    int16",[560,3454,1905],{"class":566},[560,3456,2868],{"class":570},[560,3458,653],{"class":566},[560,3460,2873],{"class":656},[560,3462,1734],{"class":566},[560,3464,2878],{"class":656},[560,3466,660],{"class":566},[560,3468,2883],{"class":656},[560,3470,1726],{"class":570},[560,3472,2888],{"class":1747},[560,3474,519],{"class":570},[560,3476,2888],{"class":1747},[560,3478,2895],{"class":570},[560,3480,2898],{"class":566},[560,3482,2873],{"class":656},[560,3484,2903],{"class":570},[560,3486,2906],{"class":566},[560,3488,2909],{"class":656},[560,3490,2429],{"class":570},[560,3492,3493,3495,3498],{"class":562,"line":1083},[560,3494,2916],{"class":566},[560,3496,3497],{"class":623}," \"int16\"",[560,3499,627],{"class":570},[560,3501,3502,3504,3506,3508,3510],{"class":562,"line":1089},[560,3503,2926],{"class":570},[560,3505,1821],{"class":656},[560,3507,1726],{"class":570},[560,3509,2933],{"class":656},[560,3511,1919],{"class":570},[560,3513,3514,3517,3519,3521,3523,3525,3527,3529,3531,3533,3535,3537,3539,3541,3543,3545,3547,3549,3551,3553],{"class":562,"line":1111},[560,3515,3516],{"class":656},"    int32",[560,3518,1905],{"class":566},[560,3520,2868],{"class":570},[560,3522,653],{"class":566},[560,3524,2873],{"class":656},[560,3526,1734],{"class":566},[560,3528,2878],{"class":656},[560,3530,660],{"class":566},[560,3532,2883],{"class":656},[560,3534,1726],{"class":570},[560,3536,2888],{"class":1747},[560,3538,519],{"class":570},[560,3540,2888],{"class":1747},[560,3542,2895],{"class":570},[560,3544,2898],{"class":566},[560,3546,2873],{"class":656},[560,3548,2903],{"class":570},[560,3550,2906],{"class":566},[560,3552,2909],{"class":656},[560,3554,2429],{"class":570},[560,3556,3557,3559,3562],{"class":562,"line":1117},[560,3558,2916],{"class":566},[560,3560,3561],{"class":623}," \"int32\"",[560,3563,627],{"class":570},[560,3565,3566,3568,3570,3572,3574],{"class":562,"line":1123},[560,3567,2926],{"class":570},[560,3569,1821],{"class":656},[560,3571,1726],{"class":570},[560,3573,2933],{"class":656},[560,3575,1919],{"class":570},[560,3577,3578,3581,3583,3585,3587,3589,3591,3593,3595,3597,3599,3601,3603,3605,3607,3609,3611,3613,3615,3617],{"class":562,"line":1134},[560,3579,3580],{"class":656},"    int64",[560,3582,1905],{"class":566},[560,3584,2868],{"class":570},[560,3586,653],{"class":566},[560,3588,2873],{"class":656},[560,3590,1734],{"class":566},[560,3592,2878],{"class":656},[560,3594,660],{"class":566},[560,3596,2883],{"class":656},[560,3598,1726],{"class":570},[560,3600,2888],{"class":1747},[560,3602,519],{"class":570},[560,3604,2888],{"class":1747},[560,3606,2895],{"class":570},[560,3608,2898],{"class":566},[560,3610,2873],{"class":656},[560,3612,2903],{"class":570},[560,3614,2906],{"class":566},[560,3616,2909],{"class":656},[560,3618,2429],{"class":570},[560,3620,3621,3623,3626],{"class":562,"line":1149},[560,3622,2916],{"class":566},[560,3624,3625],{"class":623}," \"int64\"",[560,3627,627],{"class":570},[560,3629,3630,3632,3634,3636,3638],{"class":562,"line":1164},[560,3631,2926],{"class":570},[560,3633,1821],{"class":656},[560,3635,1726],{"class":570},[560,3637,2933],{"class":656},[560,3639,1919],{"class":570},[560,3641,3642,3645,3647,3649,3651,3653,3655,3657,3659,3661,3663,3665,3667,3669,3671,3673,3675,3677,3679,3681],{"class":562,"line":1179},[560,3643,3644],{"class":656},"    json",[560,3646,1905],{"class":566},[560,3648,2868],{"class":570},[560,3650,653],{"class":566},[560,3652,2873],{"class":656},[560,3654,1734],{"class":566},[560,3656,2878],{"class":656},[560,3658,660],{"class":566},[560,3660,2883],{"class":656},[560,3662,1726],{"class":570},[560,3664,2888],{"class":1747},[560,3666,519],{"class":570},[560,3668,2888],{"class":1747},[560,3670,2895],{"class":570},[560,3672,2898],{"class":566},[560,3674,2873],{"class":656},[560,3676,2903],{"class":570},[560,3678,2906],{"class":566},[560,3680,2909],{"class":656},[560,3682,2429],{"class":570},[560,3684,3685,3687,3690],{"class":562,"line":1194},[560,3686,2916],{"class":566},[560,3688,3689],{"class":623}," \"json\"",[560,3691,627],{"class":570},[560,3693,3694,3696,3698,3700,3702],{"class":562,"line":1204},[560,3695,2926],{"class":570},[560,3697,1821],{"class":656},[560,3699,1726],{"class":570},[560,3701,2933],{"class":656},[560,3703,1919],{"class":570},[560,3705,3706,3709,3711,3713,3715,3717,3719,3721,3723,3725,3727,3729,3731,3733,3735,3737,3739,3741,3743,3745],{"class":562,"line":1210},[560,3707,3708],{"class":656},"    time",[560,3710,1905],{"class":566},[560,3712,2868],{"class":570},[560,3714,653],{"class":566},[560,3716,2873],{"class":656},[560,3718,1734],{"class":566},[560,3720,2878],{"class":656},[560,3722,660],{"class":566},[560,3724,2883],{"class":656},[560,3726,1726],{"class":570},[560,3728,2888],{"class":1747},[560,3730,519],{"class":570},[560,3732,2888],{"class":1747},[560,3734,2895],{"class":570},[560,3736,2898],{"class":566},[560,3738,2873],{"class":656},[560,3740,2903],{"class":570},[560,3742,2906],{"class":566},[560,3744,2909],{"class":656},[560,3746,2429],{"class":570},[560,3748,3749,3751,3754],{"class":562,"line":1230},[560,3750,2916],{"class":566},[560,3752,3753],{"class":623}," \"time\"",[560,3755,627],{"class":570},[560,3757,3758,3760,3762,3764,3766],{"class":562,"line":1235},[560,3759,2926],{"class":570},[560,3761,1821],{"class":656},[560,3763,1726],{"class":570},[560,3765,2933],{"class":656},[560,3767,1919],{"class":570},[560,3769,3770,3773,3775,3777,3779,3781,3783,3785,3787,3789,3791,3793,3795,3797,3799,3801,3803,3805,3807,3809],{"class":562,"line":1241},[560,3771,3772],{"class":656},"    uint8",[560,3774,1905],{"class":566},[560,3776,2868],{"class":570},[560,3778,653],{"class":566},[560,3780,2873],{"class":656},[560,3782,1734],{"class":566},[560,3784,2878],{"class":656},[560,3786,660],{"class":566},[560,3788,2883],{"class":656},[560,3790,1726],{"class":570},[560,3792,2888],{"class":1747},[560,3794,519],{"class":570},[560,3796,2888],{"class":1747},[560,3798,2895],{"class":570},[560,3800,2898],{"class":566},[560,3802,2873],{"class":656},[560,3804,2903],{"class":570},[560,3806,2906],{"class":566},[560,3808,2909],{"class":656},[560,3810,2429],{"class":570},[560,3812,3813,3815,3818],{"class":562,"line":1246},[560,3814,2916],{"class":566},[560,3816,3817],{"class":623}," \"uint8\"",[560,3819,627],{"class":570},[560,3821,3822,3824,3826,3828,3830],{"class":562,"line":1258},[560,3823,2926],{"class":570},[560,3825,1821],{"class":656},[560,3827,1726],{"class":570},[560,3829,2933],{"class":656},[560,3831,1919],{"class":570},[560,3833,3834,3837,3839,3841,3843,3845,3847,3849,3851,3853,3855,3857,3859,3861,3863,3865,3867,3869,3871,3873],{"class":562,"line":1272},[560,3835,3836],{"class":656},"    uint16",[560,3838,1905],{"class":566},[560,3840,2868],{"class":570},[560,3842,653],{"class":566},[560,3844,2873],{"class":656},[560,3846,1734],{"class":566},[560,3848,2878],{"class":656},[560,3850,660],{"class":566},[560,3852,2883],{"class":656},[560,3854,1726],{"class":570},[560,3856,2888],{"class":1747},[560,3858,519],{"class":570},[560,3860,2888],{"class":1747},[560,3862,2895],{"class":570},[560,3864,2898],{"class":566},[560,3866,2873],{"class":656},[560,3868,2903],{"class":570},[560,3870,2906],{"class":566},[560,3872,2909],{"class":656},[560,3874,2429],{"class":570},[560,3876,3877,3879,3882],{"class":562,"line":1293},[560,3878,2916],{"class":566},[560,3880,3881],{"class":623}," \"uint16\"",[560,3883,627],{"class":570},[560,3885,3886,3888,3890,3892,3894],{"class":562,"line":1298},[560,3887,2926],{"class":570},[560,3889,1821],{"class":656},[560,3891,1726],{"class":570},[560,3893,2933],{"class":656},[560,3895,1919],{"class":570},[560,3897,3898,3901,3903,3905,3907,3909,3911,3913,3915,3917,3919,3921,3923,3925,3927,3929,3931,3933,3935,3937],{"class":562,"line":1303},[560,3899,3900],{"class":656},"    uint32",[560,3902,1905],{"class":566},[560,3904,2868],{"class":570},[560,3906,653],{"class":566},[560,3908,2873],{"class":656},[560,3910,1734],{"class":566},[560,3912,2878],{"class":656},[560,3914,660],{"class":566},[560,3916,2883],{"class":656},[560,3918,1726],{"class":570},[560,3920,2888],{"class":1747},[560,3922,519],{"class":570},[560,3924,2888],{"class":1747},[560,3926,2895],{"class":570},[560,3928,2898],{"class":566},[560,3930,2873],{"class":656},[560,3932,2903],{"class":570},[560,3934,2906],{"class":566},[560,3936,2909],{"class":656},[560,3938,2429],{"class":570},[560,3940,3941,3943,3946],{"class":562,"line":1319},[560,3942,2916],{"class":566},[560,3944,3945],{"class":623}," \"uint32\"",[560,3947,627],{"class":570},[560,3949,3950,3952,3954,3956,3958],{"class":562,"line":1329},[560,3951,2926],{"class":570},[560,3953,1821],{"class":656},[560,3955,1726],{"class":570},[560,3957,2933],{"class":656},[560,3959,1919],{"class":570},[560,3961,3962,3965,3967,3969,3971,3973,3975,3977,3979,3981,3983,3985,3987,3989,3991,3993,3995,3997,3999,4001],{"class":562,"line":1334},[560,3963,3964],{"class":656},"    uint64",[560,3966,1905],{"class":566},[560,3968,2868],{"class":570},[560,3970,653],{"class":566},[560,3972,2873],{"class":656},[560,3974,1734],{"class":566},[560,3976,2878],{"class":656},[560,3978,660],{"class":566},[560,3980,2883],{"class":656},[560,3982,1726],{"class":570},[560,3984,2888],{"class":1747},[560,3986,519],{"class":570},[560,3988,2888],{"class":1747},[560,3990,2895],{"class":570},[560,3992,2898],{"class":566},[560,3994,2873],{"class":656},[560,3996,2903],{"class":570},[560,3998,2906],{"class":566},[560,4000,2909],{"class":656},[560,4002,2429],{"class":570},[560,4004,4005,4007,4010],{"class":562,"line":1347},[560,4006,2916],{"class":566},[560,4008,4009],{"class":623}," \"uint64\"",[560,4011,627],{"class":570},[560,4013,4014,4016,4018,4020,4022],{"class":562,"line":1360},[560,4015,2926],{"class":570},[560,4017,1821],{"class":656},[560,4019,1726],{"class":570},[560,4021,2933],{"class":656},[560,4023,1919],{"class":570},[560,4025,4026,4029,4031,4033,4035,4037,4039,4041,4043,4045,4047,4049,4051,4053,4055,4057,4059,4061,4063,4065],{"class":562,"line":1378},[560,4027,4028],{"class":656},"    unsupported",[560,4030,1905],{"class":566},[560,4032,2868],{"class":570},[560,4034,653],{"class":566},[560,4036,2873],{"class":656},[560,4038,1734],{"class":566},[560,4040,2878],{"class":656},[560,4042,660],{"class":566},[560,4044,2883],{"class":656},[560,4046,1726],{"class":570},[560,4048,2888],{"class":1747},[560,4050,519],{"class":570},[560,4052,2888],{"class":1747},[560,4054,2895],{"class":570},[560,4056,2898],{"class":566},[560,4058,2873],{"class":656},[560,4060,2903],{"class":570},[560,4062,2906],{"class":566},[560,4064,2909],{"class":656},[560,4066,2429],{"class":570},[560,4068,4069,4071,4074],{"class":562,"line":1396},[560,4070,2916],{"class":566},[560,4072,4073],{"class":623}," \"unsupported\"",[560,4075,627],{"class":570},[560,4077,4078,4080,4082,4084,4086],{"class":562,"line":1401},[560,4079,2926],{"class":570},[560,4081,1821],{"class":656},[560,4083,1726],{"class":570},[560,4085,2933],{"class":656},[560,4087,1919],{"class":570},[560,4089,4090,4093,4095,4097,4099,4101,4103,4105,4107,4109,4111,4113,4115,4117,4119,4121,4123,4125,4127,4129],{"class":562,"line":1419},[560,4091,4092],{"class":656},"    uuid",[560,4094,1905],{"class":566},[560,4096,2868],{"class":570},[560,4098,653],{"class":566},[560,4100,2873],{"class":656},[560,4102,1734],{"class":566},[560,4104,2878],{"class":656},[560,4106,660],{"class":566},[560,4108,2883],{"class":656},[560,4110,1726],{"class":570},[560,4112,2888],{"class":1747},[560,4114,519],{"class":570},[560,4116,2888],{"class":1747},[560,4118,2895],{"class":570},[560,4120,2898],{"class":566},[560,4122,2873],{"class":656},[560,4124,2903],{"class":570},[560,4126,2906],{"class":566},[560,4128,2909],{"class":656},[560,4130,2429],{"class":570},[560,4132,4133,4135,4138],{"class":562,"line":1424},[560,4134,2916],{"class":566},[560,4136,4137],{"class":623}," \"uuid\"",[560,4139,627],{"class":570},[560,4141,4142,4144,4146,4148,4150],{"class":562,"line":1429},[560,4143,2926],{"class":570},[560,4145,1821],{"class":656},[560,4147,1726],{"class":570},[560,4149,2933],{"class":656},[560,4151,1919],{"class":570},[560,4153,4154,4157,4159,4161,4163,4165,4168,4170,4172,4174,4176,4178,4180,4182,4184,4186,4188,4190,4192],{"class":562,"line":1439},[560,4155,4156],{"class":656},"    string",[560,4158,1726],{"class":570},[560,4160,653],{"class":566},[560,4162,2873],{"class":656},[560,4164,1734],{"class":566},[560,4166,4167],{"class":656}," StringFieldOptions",[560,4169,660],{"class":566},[560,4171,2883],{"class":656},[560,4173,1726],{"class":570},[560,4175,2888],{"class":1747},[560,4177,519],{"class":570},[560,4179,2888],{"class":1747},[560,4181,2895],{"class":570},[560,4183,2898],{"class":566},[560,4185,2873],{"class":656},[560,4187,2802],{"class":570},[560,4189,1905],{"class":566},[560,4191,2909],{"class":656},[560,4193,2429],{"class":570},[560,4195,4196,4198,4201],{"class":562,"line":1452},[560,4197,2916],{"class":566},[560,4199,4200],{"class":623}," \"string\"",[560,4202,627],{"class":570},[560,4204,4205,4208],{"class":562,"line":1465},[560,4206,4207],{"class":566},"        params:",[560,4209,803],{"class":570},[560,4211,4212,4215,4218],{"class":562,"line":1478},[560,4213,4214],{"class":566},"            length:",[560,4216,4217],{"class":623}," \"unlimited\"",[560,4219,627],{"class":570},[560,4221,4222,4225,4228],{"class":562,"line":1491},[560,4223,4224],{"class":566},"            value?:",[560,4226,4227],{"class":1747}," never",[560,4229,627],{"class":570},[560,4231,4232,4235,4238],{"class":562,"line":1500},[560,4233,4234],{"class":570},"        } ",[560,4236,4237],{"class":566},"|",[560,4239,803],{"class":570},[560,4241,4242,4244,4247],{"class":562,"line":1505},[560,4243,4214],{"class":566},[560,4245,4246],{"class":623}," \"fixed\"",[560,4248,627],{"class":570},[560,4250,4251,4254,4257],{"class":562,"line":1522},[560,4252,4253],{"class":566},"            value:",[560,4255,4256],{"class":1747}," number",[560,4258,627],{"class":570},[560,4260,4261],{"class":562,"line":1527},[560,4262,4263],{"class":570},"        };\n",[560,4265,4266,4268,4270,4272,4275,4277,4279,4281,4284],{"class":562,"line":1532},[560,4267,2926],{"class":570},[560,4269,1821],{"class":656},[560,4271,1726],{"class":570},[560,4273,4274],{"class":656},"Omit",[560,4276,1726],{"class":570},[560,4278,2933],{"class":656},[560,4280,519],{"class":570},[560,4282,4283],{"class":623},"\"length\"",[560,4285,4286],{"class":570},">>>;\n",[560,4288,4289,4292,4294,4296,4298,4300,4303,4305,4307,4309,4311,4313,4315,4317,4319,4321,4323,4325,4327],{"class":562,"line":1537},[560,4290,4291],{"class":656},"    decimal",[560,4293,1726],{"class":570},[560,4295,653],{"class":566},[560,4297,2873],{"class":656},[560,4299,1734],{"class":566},[560,4301,4302],{"class":656}," DecimalFieldOptions",[560,4304,660],{"class":566},[560,4306,2883],{"class":656},[560,4308,1726],{"class":570},[560,4310,2888],{"class":1747},[560,4312,519],{"class":570},[560,4314,2888],{"class":1747},[560,4316,2895],{"class":570},[560,4318,2898],{"class":566},[560,4320,2873],{"class":656},[560,4322,2802],{"class":570},[560,4324,1905],{"class":566},[560,4326,2909],{"class":656},[560,4328,2429],{"class":570},[560,4330,4331,4333,4336],{"class":562,"line":1554},[560,4332,2916],{"class":566},[560,4334,4335],{"class":623}," \"decimal\"",[560,4337,627],{"class":570},[560,4339,4340,4342,4345],{"class":562,"line":1571},[560,4341,4207],{"class":566},[560,4343,4344],{"class":656}," DecimalPrecision",[560,4346,627],{"class":570},[560,4348,4349,4351,4353,4355,4357,4359,4361,4363,4366,4368,4371],{"class":562,"line":1577},[560,4350,2926],{"class":570},[560,4352,1821],{"class":656},[560,4354,1726],{"class":570},[560,4356,4274],{"class":656},[560,4358,1726],{"class":570},[560,4360,2933],{"class":656},[560,4362,519],{"class":570},[560,4364,4365],{"class":623},"\"precision\"",[560,4367,1778],{"class":566},[560,4369,4370],{"class":623}," \"scale\"",[560,4372,4286],{"class":570},[560,4374,4375],{"class":562,"line":1583},[560,4376,864],{"class":570},[458,4378,4379,4380,4386],{},"Each constructor takes an optional ",[466,4381,4383],{"href":4382},"#fieldoptions",[461,4384,4385],{},"FieldOptions"," object and returns a field definition:",[1921,4388,4389,4399],{},[1924,4390,4391],{},[1927,4392,4393,4396],{},[1930,4394,4395],{},"Constructor",[1930,4397,4398],{},"Field type",[1940,4400,4401,4412,4435,4457,4470,4489,4505,4515,4534,4544,4554,4564],{},[1927,4402,4403,4408],{},[1945,4404,4405],{},[461,4406,4407],{},"field.boolean()",[1945,4409,4410],{},[461,4411,1060],{},[1927,4413,4414,4428],{},[1945,4415,4416,519,4419,519,4422,519,4425],{},[461,4417,4418],{},"field.int8()",[461,4420,4421],{},"field.int16()",[461,4423,4424],{},"field.int32()",[461,4426,4427],{},"field.int64()",[1945,4429,4430,4431,4434],{},"Signed integers. ",[461,4432,4433],{},"int64"," values travel as strings",[1927,4436,4437,4451],{},[1945,4438,4439,519,4442,519,4445,519,4448],{},[461,4440,4441],{},"field.uint8()",[461,4443,4444],{},"field.uint16()",[461,4446,4447],{},"field.uint32()",[461,4449,4450],{},"field.uint64()",[1945,4452,4453,4454,4434],{},"Unsigned integers. ",[461,4455,4456],{},"uint64",[1927,4458,4459,4467],{},[1945,4460,4461,519,4464],{},[461,4462,4463],{},"field.float32()",[461,4465,4466],{},"field.float64()",[1945,4468,4469],{},"Floating point numbers",[1927,4471,4472,4480],{},[1945,4473,4474],{},[466,4475,4477],{"href":4476},"#fielddecimal",[461,4478,4479],{},"field.decimal()",[1945,4481,4482,4483,2100,4486],{},"Decimal, unconstrained unless you pass ",[461,4484,4485],{},"precision",[461,4487,4488],{},"scale",[1927,4490,4491,4499],{},[1945,4492,4493],{},[466,4494,4496],{"href":4495},"#fieldstring",[461,4497,4498],{},"field.string()",[1945,4500,4501,4502],{},"String, unlimited unless you pass ",[461,4503,4504],{},"length",[1927,4506,4507,4512],{},[1945,4508,4509],{},[461,4510,4511],{},"field.uuid()",[1945,4513,4514],{},"UUID",[1927,4516,4517,4531],{},[1945,4518,4519,519,4522,519,4525,519,4528],{},[461,4520,4521],{},"field.date()",[461,4523,4524],{},"field.time()",[461,4526,4527],{},"field.dateTime()",[461,4529,4530],{},"field.dateTimeWithTimezone()",[1945,4532,4533],{},"Dates and times",[1927,4535,4536,4541],{},[1945,4537,4538],{},[461,4539,4540],{},"field.bytes()",[1945,4542,4543],{},"Binary data, as base64",[1927,4545,4546,4551],{},[1945,4547,4548],{},[461,4549,4550],{},"field.json()",[1945,4552,4553],{},"Any JSON value",[1927,4555,4556,4561],{},[1945,4557,4558],{},[461,4559,4560],{},"field.geometry()",[1945,4562,4563],{},"Geometry. Engine can't convert a non-null value from a connector yet",[1927,4565,4566,4571],{},[1945,4567,4568],{},[461,4569,4570],{},"field.unsupported()",[1945,4572,4573],{},"A value callers can't filter, write or read",[458,4575,4576,4577,4579,4580,4583,4584,4588],{},"Fields default to scalar and non-nullable: ",[461,4578,4424],{}," returns ",[461,4581,4582],{},"{ type: { name: 'int32' }, isNullable: false, isList: false }",". See ",[466,4585,4587],{"href":4586},"\u002Freference\u002Fextensions\u002Fdata-connectors\u002Fapi#field-types","Field Types"," for how each type travels on the wire.",[4590,4591,4593],"h4",{"id":4592},"fieldstring",[461,4594,4595],{},"field.string",[458,4597,4598,4599,4601,4602,4605,4606,666],{},"A string field. ",[461,4600,4498],{}," is unlimited, and ",[461,4603,4604],{},"field.string({ length: 255 })"," is fixed-length. Takes ",[466,4607,4609],{"href":4608},"#stringfieldoptions",[461,4610,4611],{},"StringFieldOptions",[4590,4613,4615],{"id":4614},"fielddecimal",[461,4616,4617],{},"field.decimal",[458,4619,4620,4621,4623,4624,4627,4628,666],{},"A decimal field. ",[461,4622,4479],{}," is unconstrained, and ",[461,4625,4626],{},"field.decimal({ precision: 12, scale: 2 })"," declares a precision and scale. Pass both or neither; one alone is a type error. Takes ",[466,4629,4631],{"href":4630},"#decimalfieldoptions",[461,4632,4633],{},"DecimalFieldOptions",[1703,4635,4637],{"id":4636},"fieldoptions",[461,4638,4385],{},[458,4640,4641],{},"The options every field constructor takes.",[551,4643,4645],{"className":553,"code":4644,"filename":1714,"language":555,"meta":556,"style":556},"interface FieldOptions extends Partial\u003COmit\u003CFieldDefinition, 'type' | 'isNullable' | 'isList'>> {\n    nullable?: boolean | undefined;\n    list?: boolean | undefined;\n    isReadonly?: never;\n}\n",[461,4646,4647,4685,4700,4713,4722],{"__ignoreMap":556},[560,4648,4649,4652,4654,4656,4659,4661,4663,4665,4667,4669,4672,4674,4677,4679,4682],{"class":562,"line":563},[560,4650,4651],{"class":566},"interface",[560,4653,2878],{"class":656},[560,4655,1734],{"class":566},[560,4657,4658],{"class":656}," Partial",[560,4660,1726],{"class":570},[560,4662,4274],{"class":656},[560,4664,1726],{"class":570},[560,4666,1752],{"class":656},[560,4668,519],{"class":570},[560,4670,4671],{"class":623},"'type'",[560,4673,1778],{"class":566},[560,4675,4676],{"class":623}," 'isNullable'",[560,4678,1778],{"class":566},[560,4680,4681],{"class":623}," 'isList'",[560,4683,4684],{"class":570},">> {\n",[560,4686,4687,4690,4693,4695,4698],{"class":562,"line":630},[560,4688,4689],{"class":566},"    nullable?:",[560,4691,4692],{"class":1747}," boolean",[560,4694,1778],{"class":566},[560,4696,4697],{"class":1747}," undefined",[560,4699,627],{"class":570},[560,4701,4702,4705,4707,4709,4711],{"class":562,"line":637},[560,4703,4704],{"class":566},"    list?:",[560,4706,4692],{"class":1747},[560,4708,1778],{"class":566},[560,4710,4697],{"class":1747},[560,4712,627],{"class":570},[560,4714,4715,4718,4720],{"class":562,"line":644},[560,4716,4717],{"class":566},"    isReadonly?:",[560,4719,4227],{"class":1747},[560,4721,627],{"class":570},[560,4723,4724],{"class":562,"line":650},[560,4725,4726],{"class":570},"}\n",[1921,4728,4729,4741],{},[1924,4730,4731],{},[1927,4732,4733,4736,4739],{},[1930,4734,4735],{},"Option",[1930,4737,4738],{},"Default",[1930,4740,1938],{},[1940,4742,4743,4761,4775,4787],{},[1927,4744,4745,4750,4755],{},[1945,4746,4747],{},[461,4748,4749],{},"nullable",[1945,4751,4752],{},[461,4753,4754],{},"false",[1945,4756,4757,4758],{},"Whether the value can be ",[461,4759,4760],{},"null",[1927,4762,4763,4768,4772],{},[1945,4764,4765],{},[461,4766,4767],{},"list",[1945,4769,4770],{},[461,4771,4754],{},[1945,4773,4774],{},"Whether the value is an array of the field's type",[1927,4776,4777,4781,4784],{},[1945,4778,4779],{},[461,4780,1981],{},[1945,4782,4783],{},"none",[1945,4785,4786],{},"The name callers use",[1927,4788,4789,4794,4796],{},[1945,4790,4791],{},[461,4792,4793],{},"defaultValue",[1945,4795,4783],{},[1945,4797,4798,4799],{},"A default from ",[466,4800,4802],{"href":4801},"#defaultvalue",[461,4803,4793],{},[458,4805,4806,4807,4809,4810,4812,4813,4815,4816,2088],{},"Fields don't declare ",[461,4808,2077],{},": passing it is a type error. A field is writable exactly when a ",[461,4811,2106],{}," list in ",[461,4814,2027],{}," names it, and ",[461,4817,2087],{},[1703,4819,4821],{"id":4820},"stringfieldoptions",[461,4822,4611],{},[458,4824,4825,4826,4828,4829,666],{},"The options of ",[461,4827,4595],{},": every field option, plus ",[461,4830,4504],{},[551,4832,4834],{"className":553,"code":4833,"filename":1714,"language":555,"meta":556,"style":556},"interface StringFieldOptions extends FieldOptions {\n    length?: number | 'unlimited';\n}\n",[461,4835,4836,4848,4862],{"__ignoreMap":556},[560,4837,4838,4840,4842,4844,4846],{"class":562,"line":563},[560,4839,4651],{"class":566},[560,4841,4167],{"class":656},[560,4843,1734],{"class":566},[560,4845,2878],{"class":656},[560,4847,803],{"class":570},[560,4849,4850,4853,4855,4857,4860],{"class":562,"line":630},[560,4851,4852],{"class":566},"    length?:",[560,4854,4256],{"class":1747},[560,4856,1778],{"class":566},[560,4858,4859],{"class":623}," 'unlimited'",[560,4861,627],{"class":570},[560,4863,4864],{"class":562,"line":637},[560,4865,4726],{"class":570},[458,4867,4868,4870,4871,4874],{},[461,4869,4504],{}," is a number for a fixed length, or ",[461,4872,4873],{},"'unlimited'",", the default.",[1703,4876,4878],{"id":4877},"decimalfieldoptions",[461,4879,4633],{},[458,4881,4825,4882,4828,4884,2100,4886,4888],{},[461,4883,4617],{},[461,4885,4485],{},[461,4887,4488],{}," together or not at all.",[551,4890,4892],{"className":553,"code":4891,"filename":1714,"language":555,"meta":556,"style":556},"type DecimalFieldOptions = FieldOptions & ({\n    precision: number;\n    scale: number;\n} | {\n    precision?: never;\n    scale?: never;\n});\n",[461,4893,4894,4910,4919,4928,4936,4945,4954],{"__ignoreMap":556},[560,4895,4896,4899,4901,4903,4905,4907],{"class":562,"line":563},[560,4897,4898],{"class":566},"type",[560,4900,4302],{"class":656},[560,4902,660],{"class":566},[560,4904,2878],{"class":656},[560,4906,1845],{"class":566},[560,4908,4909],{"class":570}," ({\n",[560,4911,4912,4915,4917],{"class":562,"line":630},[560,4913,4914],{"class":566},"    precision:",[560,4916,4256],{"class":1747},[560,4918,627],{"class":570},[560,4920,4921,4924,4926],{"class":562,"line":637},[560,4922,4923],{"class":566},"    scale:",[560,4925,4256],{"class":1747},[560,4927,627],{"class":570},[560,4929,4930,4932,4934],{"class":562,"line":644},[560,4931,1811],{"class":570},[560,4933,4237],{"class":566},[560,4935,803],{"class":570},[560,4937,4938,4941,4943],{"class":562,"line":650},[560,4939,4940],{"class":566},"    precision?:",[560,4942,4227],{"class":1747},[560,4944,627],{"class":570},[560,4946,4947,4950,4952],{"class":562,"line":685},[560,4948,4949],{"class":566},"    scale?:",[560,4951,4227],{"class":1747},[560,4953,627],{"class":570},[560,4955,4956],{"class":562,"line":731},[560,4957,1238],{"class":570},[1703,4959,4961],{"id":4960},"defaultvalue",[461,4962,4793],{},[458,4964,4965,4966,666],{},"Builds a field's ",[461,4967,4793],{},[551,4969,4971],{"className":553,"code":4970,"filename":1714,"language":555,"meta":556,"style":556},"const defaultValue: {\n    connectorManaged(options?: {\n        isAutoincrement?: boolean;\n    }): {\n        readonly source: \"connectorManaged\";\n        readonly isAutoincrement?: boolean;\n    };\n    engineManaged\u003Cconst O extends DeepReadonly\u003COmit\u003CExtract\u003CDefaultValue, {\n        source: \"engineManaged\";\n    }>, \"source\">>>(options: O): DeepReadonly\u003CO & {\n        source: \"engineManaged\";\n    }>;\n};\n",[461,4972,4973,4984,4995,5004,5013,5026,5037,5042,5074,5084,5114,5122,5127],{"__ignoreMap":556},[560,4974,4975,4977,4980,4982],{"class":562,"line":563},[560,4976,653],{"class":566},[560,4978,4979],{"class":656}," defaultValue",[560,4981,1905],{"class":566},[560,4983,803],{"class":570},[560,4985,4986,4989,4991,4993],{"class":562,"line":630},[560,4987,4988],{"class":656},"    connectorManaged",[560,4990,671],{"class":570},[560,4992,2898],{"class":566},[560,4994,803],{"class":570},[560,4996,4997,5000,5002],{"class":562,"line":637},[560,4998,4999],{"class":566},"        isAutoincrement?:",[560,5001,4692],{"class":1747},[560,5003,627],{"class":570},[560,5005,5006,5009,5011],{"class":562,"line":644},[560,5007,5008],{"class":570},"    })",[560,5010,1905],{"class":566},[560,5012,803],{"class":570},[560,5014,5015,5018,5021,5024],{"class":562,"line":650},[560,5016,5017],{"class":566},"        readonly",[560,5019,5020],{"class":566}," source:",[560,5022,5023],{"class":623}," \"connectorManaged\"",[560,5025,627],{"class":570},[560,5027,5028,5030,5033,5035],{"class":562,"line":685},[560,5029,5017],{"class":566},[560,5031,5032],{"class":566}," isAutoincrement?:",[560,5034,4692],{"class":1747},[560,5036,627],{"class":570},[560,5038,5039],{"class":562,"line":731},[560,5040,5041],{"class":570},"    };\n",[560,5043,5044,5047,5049,5051,5053,5055,5057,5059,5061,5063,5066,5068,5071],{"class":562,"line":737},[560,5045,5046],{"class":656},"    engineManaged",[560,5048,1726],{"class":570},[560,5050,653],{"class":656},[560,5052,2873],{"class":656},[560,5054,1734],{"class":566},[560,5056,1908],{"class":656},[560,5058,1726],{"class":570},[560,5060,4274],{"class":656},[560,5062,1726],{"class":570},[560,5064,5065],{"class":656},"Extract",[560,5067,1726],{"class":570},[560,5069,5070],{"class":656},"DefaultValue",[560,5072,5073],{"class":570},", {\n",[560,5075,5076,5079,5082],{"class":562,"line":759},[560,5077,5078],{"class":566},"        source:",[560,5080,5081],{"class":623}," \"engineManaged\"",[560,5083,627],{"class":570},[560,5085,5086,5089,5092,5095,5098,5100,5102,5104,5106,5108,5110,5112],{"class":562,"line":788},[560,5087,5088],{"class":570},"    }>, ",[560,5090,5091],{"class":623},"\"source\"",[560,5093,5094],{"class":570},">>>(",[560,5096,5097],{"class":566},"options:",[560,5099,2873],{"class":656},[560,5101,2802],{"class":570},[560,5103,1905],{"class":566},[560,5105,1908],{"class":656},[560,5107,1726],{"class":570},[560,5109,2933],{"class":656},[560,5111,1845],{"class":566},[560,5113,803],{"class":570},[560,5115,5116,5118,5120],{"class":562,"line":793},[560,5117,5078],{"class":566},[560,5119,5081],{"class":623},[560,5121,627],{"class":570},[560,5123,5124],{"class":562,"line":806},[560,5125,5126],{"class":570},"    }>;\n",[560,5128,5129],{"class":562,"line":835},[560,5130,864],{"class":570},[1921,5132,5133,5142],{},[1924,5134,5135],{},[1927,5136,5137,5139],{},[1930,5138,4395],{},[1930,5140,5141],{},"Returns",[1940,5143,5144,5161],{},[1927,5145,5146,5151],{},[1945,5147,5148],{},[461,5149,5150],{},"defaultValue.connectorManaged(options?)",[1945,5152,5153,5156,5157,5160],{},[461,5154,5155],{},"{ source: 'connectorManaged' }",", plus ",[461,5158,5159],{},"isAutoincrement"," when you pass it. Your connector or the external data source supplies the value",[1927,5162,5163,5168],{},[1945,5164,5165],{},[461,5166,5167],{},"defaultValue.engineManaged({ onCreate?, onUpdate? })",[1945,5169,5170,5173,5174],{},[461,5171,5172],{},"{ source: 'engineManaged', onCreate?, onUpdate? }",". Engine fills the value from a ",[466,5175,5177],{"href":5176},"#defaultsource",[461,5178,5179],{},"defaultSource",[458,5181,5182,5183,5185,5186,5188,5189,5192],{},"A non-nullable field that no ",[461,5184,2106],{}," list names needs a default, or ",[461,5187,575],{}," rejects a ",[461,5190,5191],{},"create"," on its collection. The Stripe connector marks the values Stripe sets itself:",[551,5194,5197],{"className":553,"code":5195,"filename":5196,"language":555,"meta":556,"style":556},"\u002F\u002F Values Stripe sets itself: callers never have to supply them on create.\nconst setByStripe = { defaultValue: defaultValue.connectorManaged() };\nconst id = field.string(setByStripe);\nconst created = field.dateTimeWithTimezone(setByStripe);\nconst nullableText = field.string({ nullable: true });\n","src\u002Fdata-connectors\u002Fstripe\u002Fcollections.ts",[461,5198,5199,5204,5226,5248,5270],{"__ignoreMap":556},[560,5200,5201],{"class":562,"line":563},[560,5202,5203],{"class":640},"\u002F\u002F Values Stripe sets itself: callers never have to supply them on create.\n",[560,5205,5206,5208,5211,5213,5216,5218,5220,5223],{"class":562,"line":630},[560,5207,653],{"class":566},[560,5209,5210],{"class":656}," setByStripe",[560,5212,660],{"class":566},[560,5214,5215],{"class":570}," { defaultValue: ",[560,5217,4793],{"class":574},[560,5219,666],{"class":570},[560,5221,5222],{"class":656},"connectorManaged",[560,5224,5225],{"class":570},"() };\n",[560,5227,5228,5230,5233,5235,5237,5239,5241,5243,5246],{"class":562,"line":637},[560,5229,653],{"class":566},[560,5231,5232],{"class":656}," id",[560,5234,660],{"class":566},[560,5236,2854],{"class":574},[560,5238,666],{"class":570},[560,5240,948],{"class":656},[560,5242,671],{"class":570},[560,5244,5245],{"class":574},"setByStripe",[560,5247,682],{"class":570},[560,5249,5250,5252,5255,5257,5259,5261,5264,5266,5268],{"class":562,"line":644},[560,5251,653],{"class":566},[560,5253,5254],{"class":656}," created",[560,5256,660],{"class":566},[560,5258,2854],{"class":574},[560,5260,666],{"class":570},[560,5262,5263],{"class":656},"dateTimeWithTimezone",[560,5265,671],{"class":570},[560,5267,5245],{"class":574},[560,5269,682],{"class":570},[560,5271,5272,5274,5277,5279,5281,5283,5285,5287,5289],{"class":562,"line":650},[560,5273,653],{"class":566},[560,5275,5276],{"class":656}," nullableText",[560,5278,660],{"class":566},[560,5280,2854],{"class":574},[560,5282,666],{"class":570},[560,5284,948],{"class":656},[560,5286,951],{"class":570},[560,5288,954],{"class":656},[560,5290,5291],{"class":570}," });\n",[458,5293,5294,5295,5299],{},"See ",[466,5296,5298],{"href":5297},"\u002Freference\u002Fextensions\u002Fdata-connectors\u002Fapi#defaults","Defaults"," for when Engine evaluates each kind.",[1703,5301,5303],{"id":5302},"defaultsource",[461,5304,5179],{},[458,5306,5307,5308,2100,5311,5313,5314,5317],{},"Builds the ",[461,5309,5310],{},"onCreate",[461,5312,2588],{}," sources of an ",[461,5315,5316],{},"engineManaged"," default.",[551,5319,5321],{"className":553,"code":5320,"filename":1714,"language":555,"meta":556,"style":556},"const defaultSource: {\n    static(valueEncoded: Value): DeepReadonly\u003CExtract\u003CEngineDefaultSource, {\n        kind: \"static\";\n    }>>;\n    currentTimestamp(): Readonly\u003C{\n        readonly kind: \"currentTimestamp\";\n    }>;\n    currentUser(): Readonly\u003C{\n        readonly kind: \"currentUser\";\n    }>;\n    randomUuid(version: Extract\u003CEngineDefaultSource, {\n        kind: \"randomUuid\";\n    }>[\"version\"]): {\n        readonly kind: \"randomUuid\";\n        readonly version: \"v4\" | \"v7\";\n    };\n};\n",[461,5322,5323,5334,5364,5374,5379,5393,5405,5409,5422,5433,5437,5456,5465,5480,5490,5507,5511],{"__ignoreMap":556},[560,5324,5325,5327,5330,5332],{"class":562,"line":563},[560,5326,653],{"class":566},[560,5328,5329],{"class":656}," defaultSource",[560,5331,1905],{"class":566},[560,5333,803],{"class":570},[560,5335,5336,5339,5341,5344,5347,5349,5351,5353,5355,5357,5359,5362],{"class":562,"line":630},[560,5337,5338],{"class":656},"    static",[560,5340,671],{"class":570},[560,5342,5343],{"class":566},"valueEncoded:",[560,5345,5346],{"class":656}," Value",[560,5348,2802],{"class":570},[560,5350,1905],{"class":566},[560,5352,1908],{"class":656},[560,5354,1726],{"class":570},[560,5356,5065],{"class":656},[560,5358,1726],{"class":570},[560,5360,5361],{"class":656},"EngineDefaultSource",[560,5363,5073],{"class":570},[560,5365,5366,5369,5372],{"class":562,"line":637},[560,5367,5368],{"class":566},"        kind:",[560,5370,5371],{"class":623}," \"static\"",[560,5373,627],{"class":570},[560,5375,5376],{"class":562,"line":644},[560,5377,5378],{"class":570},"    }>>;\n",[560,5380,5381,5384,5387,5389,5391],{"class":562,"line":650},[560,5382,5383],{"class":656},"    currentTimestamp",[560,5385,5386],{"class":570},"()",[560,5388,1905],{"class":566},[560,5390,1737],{"class":656},[560,5392,2429],{"class":570},[560,5394,5395,5397,5400,5403],{"class":562,"line":685},[560,5396,5017],{"class":566},[560,5398,5399],{"class":566}," kind:",[560,5401,5402],{"class":623}," \"currentTimestamp\"",[560,5404,627],{"class":570},[560,5406,5407],{"class":562,"line":731},[560,5408,5126],{"class":570},[560,5410,5411,5414,5416,5418,5420],{"class":562,"line":737},[560,5412,5413],{"class":656},"    currentUser",[560,5415,5386],{"class":570},[560,5417,1905],{"class":566},[560,5419,1737],{"class":656},[560,5421,2429],{"class":570},[560,5423,5424,5426,5428,5431],{"class":562,"line":759},[560,5425,5017],{"class":566},[560,5427,5399],{"class":566},[560,5429,5430],{"class":623}," \"currentUser\"",[560,5432,627],{"class":570},[560,5434,5435],{"class":562,"line":788},[560,5436,5126],{"class":570},[560,5438,5439,5442,5444,5447,5450,5452,5454],{"class":562,"line":793},[560,5440,5441],{"class":656},"    randomUuid",[560,5443,671],{"class":570},[560,5445,5446],{"class":566},"version:",[560,5448,5449],{"class":656}," Extract",[560,5451,1726],{"class":570},[560,5453,5361],{"class":656},[560,5455,5073],{"class":570},[560,5457,5458,5460,5463],{"class":562,"line":806},[560,5459,5368],{"class":566},[560,5461,5462],{"class":623}," \"randomUuid\"",[560,5464,627],{"class":570},[560,5466,5467,5470,5473,5476,5478],{"class":562,"line":835},[560,5468,5469],{"class":570},"    }>[",[560,5471,5472],{"class":623},"\"version\"",[560,5474,5475],{"class":570},"])",[560,5477,1905],{"class":566},[560,5479,803],{"class":570},[560,5481,5482,5484,5486,5488],{"class":562,"line":861},[560,5483,5017],{"class":566},[560,5485,5399],{"class":566},[560,5487,5462],{"class":623},[560,5489,627],{"class":570},[560,5491,5492,5494,5497,5500,5502,5505],{"class":562,"line":867},[560,5493,5017],{"class":566},[560,5495,5496],{"class":566}," version:",[560,5498,5499],{"class":623}," \"v4\"",[560,5501,1778],{"class":566},[560,5503,5504],{"class":623}," \"v7\"",[560,5506,627],{"class":570},[560,5508,5509],{"class":562,"line":872},[560,5510,5041],{"class":570},[560,5512,5513],{"class":562,"line":878},[560,5514,864],{"class":570},[1921,5516,5517,5525],{},[1924,5518,5519],{},[1927,5520,5521,5523],{},[1930,5522,4395],{},[1930,5524,5141],{},[1940,5526,5527,5540,5560,5585],{},[1927,5528,5529,5534],{},[1945,5530,5531],{},[461,5532,5533],{},"defaultSource.currentTimestamp()",[1945,5535,5536,5539],{},[461,5537,5538],{},"{ kind: 'currentTimestamp' }",", for a date or time field",[1927,5541,5542,5547],{},[1945,5543,5544],{},[461,5545,5546],{},"defaultSource.currentUser()",[1945,5548,5549,5552,5553,5556,5557,5559],{},[461,5550,5551],{},"{ kind: 'currentUser' }",", for a ",[461,5554,5555],{},"uuid"," field. ",[461,5558,4760],{}," when the request has no current user",[1927,5561,5562,5567],{},[1945,5563,5564],{},[461,5565,5566],{},"defaultSource.randomUuid(version)",[1945,5568,5569,5572,5573,5576,5577,2046,5580,5552,5583,2854],{},[461,5570,5571],{},"{ kind: 'randomUuid', version }",", where ",[461,5574,5575],{},"version"," is ",[461,5578,5579],{},"'v4'",[461,5581,5582],{},"'v7'",[461,5584,5555],{},[1927,5586,5587,5592],{},[1945,5588,5589],{},[461,5590,5591],{},"defaultSource.static(value)",[1945,5593,5594,5597],{},[461,5595,5596],{},"{ kind: 'static', valueEncoded: value }",". Takes an already encoded value and doesn't coerce it",[1703,5599,5600],{"id":604},[461,5601,604],{},[458,5603,5604],{},"Builds a collection's indexes.",[551,5606,5608],{"className":553,"code":5607,"filename":1714,"language":555,"meta":556,"style":556},"const index: {\n    primary\u003Cconst F extends readonly string[]>(fields: F): DeepReadonly\u003C{\n        kind: \"primary\";\n        fields: F;\n    }>;\n    unique\u003Cconst F extends readonly string[]>(fields: F): DeepReadonly\u003C{\n        kind: \"unique\";\n        fields: F;\n    }>;\n    normal\u003Cconst F extends readonly string[]>(fields: F): DeepReadonly\u003C{\n        kind: \"normal\";\n        fields: F;\n    }>;\n};\n",[461,5609,5610,5621,5654,5663,5672,5676,5707,5716,5724,5728,5759,5768,5776,5780],{"__ignoreMap":556},[560,5611,5612,5614,5617,5619],{"class":562,"line":563},[560,5613,653],{"class":566},[560,5615,5616],{"class":656}," index",[560,5618,1905],{"class":566},[560,5620,803],{"class":570},[560,5622,5623,5626,5628,5630,5632,5634,5636,5638,5641,5644,5646,5648,5650,5652],{"class":562,"line":630},[560,5624,5625],{"class":656},"    primary",[560,5627,1726],{"class":570},[560,5629,653],{"class":566},[560,5631,1731],{"class":656},[560,5633,1734],{"class":566},[560,5635,2180],{"class":566},[560,5637,2245],{"class":1747},[560,5639,5640],{"class":570},"[]>(",[560,5642,5643],{"class":566},"fields:",[560,5645,1731],{"class":656},[560,5647,2802],{"class":570},[560,5649,1905],{"class":566},[560,5651,1908],{"class":656},[560,5653,2429],{"class":570},[560,5655,5656,5658,5661],{"class":562,"line":637},[560,5657,5368],{"class":566},[560,5659,5660],{"class":623}," \"primary\"",[560,5662,627],{"class":570},[560,5664,5665,5668,5670],{"class":562,"line":644},[560,5666,5667],{"class":566},"        fields:",[560,5669,1731],{"class":656},[560,5671,627],{"class":570},[560,5673,5674],{"class":562,"line":650},[560,5675,5126],{"class":570},[560,5677,5678,5681,5683,5685,5687,5689,5691,5693,5695,5697,5699,5701,5703,5705],{"class":562,"line":685},[560,5679,5680],{"class":656},"    unique",[560,5682,1726],{"class":570},[560,5684,653],{"class":566},[560,5686,1731],{"class":656},[560,5688,1734],{"class":566},[560,5690,2180],{"class":566},[560,5692,2245],{"class":1747},[560,5694,5640],{"class":570},[560,5696,5643],{"class":566},[560,5698,1731],{"class":656},[560,5700,2802],{"class":570},[560,5702,1905],{"class":566},[560,5704,1908],{"class":656},[560,5706,2429],{"class":570},[560,5708,5709,5711,5714],{"class":562,"line":731},[560,5710,5368],{"class":566},[560,5712,5713],{"class":623}," \"unique\"",[560,5715,627],{"class":570},[560,5717,5718,5720,5722],{"class":562,"line":737},[560,5719,5667],{"class":566},[560,5721,1731],{"class":656},[560,5723,627],{"class":570},[560,5725,5726],{"class":562,"line":759},[560,5727,5126],{"class":570},[560,5729,5730,5733,5735,5737,5739,5741,5743,5745,5747,5749,5751,5753,5755,5757],{"class":562,"line":788},[560,5731,5732],{"class":656},"    normal",[560,5734,1726],{"class":570},[560,5736,653],{"class":566},[560,5738,1731],{"class":656},[560,5740,1734],{"class":566},[560,5742,2180],{"class":566},[560,5744,2245],{"class":1747},[560,5746,5640],{"class":570},[560,5748,5643],{"class":566},[560,5750,1731],{"class":656},[560,5752,2802],{"class":570},[560,5754,1905],{"class":566},[560,5756,1908],{"class":656},[560,5758,2429],{"class":570},[560,5760,5761,5763,5766],{"class":562,"line":793},[560,5762,5368],{"class":566},[560,5764,5765],{"class":623}," \"normal\"",[560,5767,627],{"class":570},[560,5769,5770,5772,5774],{"class":562,"line":806},[560,5771,5667],{"class":566},[560,5773,1731],{"class":656},[560,5775,627],{"class":570},[560,5777,5778],{"class":562,"line":835},[560,5779,5126],{"class":570},[560,5781,5782],{"class":562,"line":861},[560,5783,864],{"class":570},[458,5785,5786,519,5789,2100,5792,5795,5796,5799,5800,666],{},[461,5787,5788],{},"index.primary(fields)",[461,5790,5791],{},"index.unique(fields)",[461,5793,5794],{},"index.normal(fields)"," return ",[461,5797,5798],{},"{ kind, fields }",", with the field order preserved. A collection has at most one primary index. Keyed operations need a single-field primary index. See ",[466,5801,5803],{"href":5802},"\u002Freference\u002Fextensions\u002Fdata-connectors\u002Foperations#use-keys-and-the-stable-id","Keys and the Stable ID",[454,5805,5807],{"id":5806},"declare-operations","Declare Operations",[458,5809,5810,5811,4583,5813,5816],{},"These helpers build the arguments of a collection's ",[461,5812,2027],{},[466,5814,414],{"href":5815},"\u002Freference\u002Fextensions\u002Fdata-connectors\u002Foperations"," for what each member and argument means.",[1703,5818,5819],{"id":599},[461,5820,599],{},[458,5822,5823,5824,666],{},"Builds the parts of a member's ",[461,5825,599],{},[551,5827,5829],{"className":553,"code":5828,"filename":1714,"language":555,"meta":556,"style":556},"const filter: {\n    field\u003Cconst O extends AtLeastOne\u003CDeclaredOperator>>(...operators: O): {\n        readonly operators: DeepReadonly\u003C{\n            readonly [P in O[number]]: NoOptions;\n        }>;\n    };\n    logical\u003Cconst O extends AtLeastOne\u003CLogicalOperator>>(...operators: O): DeepReadonly\u003C{\n        readonly [P in O[number]]: NoOptions;\n    }>;\n};\n",[461,5830,5831,5841,5875,5886,5916,5921,5925,5959,5983,5987],{"__ignoreMap":556},[560,5832,5833,5835,5837,5839],{"class":562,"line":563},[560,5834,653],{"class":566},[560,5836,663],{"class":656},[560,5838,1905],{"class":566},[560,5840,803],{"class":570},[560,5842,5843,5846,5848,5850,5852,5854,5857,5859,5862,5864,5867,5869,5871,5873],{"class":562,"line":630},[560,5844,5845],{"class":656},"    field",[560,5847,1726],{"class":570},[560,5849,653],{"class":566},[560,5851,2873],{"class":656},[560,5853,1734],{"class":566},[560,5855,5856],{"class":656}," AtLeastOne",[560,5858,1726],{"class":570},[560,5860,5861],{"class":656},"DeclaredOperator",[560,5863,2895],{"class":570},[560,5865,5866],{"class":566},"...operators:",[560,5868,2873],{"class":656},[560,5870,2802],{"class":570},[560,5872,1905],{"class":566},[560,5874,803],{"class":570},[560,5876,5877,5879,5882,5884],{"class":562,"line":637},[560,5878,5017],{"class":566},[560,5880,5881],{"class":566}," operators:",[560,5883,1908],{"class":656},[560,5885,2429],{"class":570},[560,5887,5888,5891,5894,5896,5899,5901,5903,5906,5909,5911,5914],{"class":562,"line":644},[560,5889,5890],{"class":566},"            readonly",[560,5892,5893],{"class":570}," [",[560,5895,2387],{"class":656},[560,5897,5898],{"class":566}," in",[560,5900,2873],{"class":656},[560,5902,2260],{"class":570},[560,5904,5905],{"class":1747},"number",[560,5907,5908],{"class":570},"]]",[560,5910,1905],{"class":566},[560,5912,5913],{"class":656}," NoOptions",[560,5915,627],{"class":570},[560,5917,5918],{"class":562,"line":650},[560,5919,5920],{"class":570},"        }>;\n",[560,5922,5923],{"class":562,"line":685},[560,5924,5041],{"class":570},[560,5926,5927,5930,5932,5934,5936,5938,5940,5942,5945,5947,5949,5951,5953,5955,5957],{"class":562,"line":731},[560,5928,5929],{"class":656},"    logical",[560,5931,1726],{"class":570},[560,5933,653],{"class":566},[560,5935,2873],{"class":656},[560,5937,1734],{"class":566},[560,5939,5856],{"class":656},[560,5941,1726],{"class":570},[560,5943,5944],{"class":656},"LogicalOperator",[560,5946,2895],{"class":570},[560,5948,5866],{"class":566},[560,5950,2873],{"class":656},[560,5952,2802],{"class":570},[560,5954,1905],{"class":566},[560,5956,1908],{"class":656},[560,5958,2429],{"class":570},[560,5960,5961,5963,5965,5967,5969,5971,5973,5975,5977,5979,5981],{"class":562,"line":737},[560,5962,5017],{"class":566},[560,5964,5893],{"class":570},[560,5966,2387],{"class":656},[560,5968,5898],{"class":566},[560,5970,2873],{"class":656},[560,5972,2260],{"class":570},[560,5974,5905],{"class":1747},[560,5976,5908],{"class":570},[560,5978,1905],{"class":566},[560,5980,5913],{"class":656},[560,5982,627],{"class":570},[560,5984,5985],{"class":562,"line":759},[560,5986,5126],{"class":570},[560,5988,5989],{"class":562,"line":788},[560,5990,864],{"class":570},[4590,5992,5994],{"id":5993},"filterfield",[461,5995,5996],{},"filter.field",[458,5998,5999,6000,6002,6003,4579,6006,6009,6010,666],{},"One field's entry in ",[461,6001,2099],{},". ",[461,6004,6005],{},"filter.field('equals', 'in')",[461,6007,6008],{},"{ operators: { equals: {}, in: {} } }",". Takes at least one ",[466,6011,6013],{"href":6012},"\u002Freference\u002Fextensions\u002Fextension-kit\u002Fprotocol#declaredoperator",[461,6014,5861],{},[4590,6016,6018],{"id":6017},"filterlogical",[461,6019,6020],{},"filter.logical",[458,6022,6023,6024,6002,6027,4579,6030,6033,6034,519,6037,2100,6040,666],{},"A filter's ",[461,6025,6026],{},"logicalOperators",[461,6028,6029],{},"filter.logical('and', 'or')",[461,6031,6032],{},"{ and: {}, or: {} }",". Takes at least one of ",[461,6035,6036],{},"and",[461,6038,6039],{},"or",[461,6041,6042],{},"not",[458,6044,6045],{},"The Stripe connector shares these declarations between its collections:",[551,6047,6049],{"className":553,"code":6048,"filename":5196,"language":555,"meta":556,"style":556},"const exact = filter.field('equals', 'in');\n\u002F** Engine executes only `equals` on booleans. *\u002F\nconst booleanExact = filter.field('equals');\nconst createdRange = filter.field('equals', 'lessThan', 'lessThanOrEquals', 'greaterThan', 'greaterThanOrEquals');\nconst andOr = filter.logical('and', 'or');\n\u002F** Stripe lists newest first and can't sort any other way. *\u002F\nconst newestFirst = { created: sort.field('descending') };\n",[461,6050,6051,6075,6079,6099,6136,6161,6166],{"__ignoreMap":556},[560,6052,6053,6055,6057,6059,6061,6063,6065,6067,6069,6071,6073],{"class":562,"line":563},[560,6054,653],{"class":566},[560,6056,657],{"class":656},[560,6058,660],{"class":566},[560,6060,663],{"class":574},[560,6062,666],{"class":570},[560,6064,590],{"class":656},[560,6066,671],{"class":570},[560,6068,674],{"class":623},[560,6070,519],{"class":570},[560,6072,679],{"class":623},[560,6074,682],{"class":570},[560,6076,6077],{"class":562,"line":630},[560,6078,734],{"class":640},[560,6080,6081,6083,6085,6087,6089,6091,6093,6095,6097],{"class":562,"line":637},[560,6082,653],{"class":566},[560,6084,742],{"class":656},[560,6086,660],{"class":566},[560,6088,663],{"class":574},[560,6090,666],{"class":570},[560,6092,590],{"class":656},[560,6094,671],{"class":570},[560,6096,674],{"class":623},[560,6098,682],{"class":570},[560,6100,6101,6103,6106,6108,6110,6112,6114,6116,6118,6120,6122,6124,6126,6128,6130,6132,6134],{"class":562,"line":644},[560,6102,653],{"class":566},[560,6104,6105],{"class":656}," createdRange",[560,6107,660],{"class":566},[560,6109,663],{"class":574},[560,6111,666],{"class":570},[560,6113,590],{"class":656},[560,6115,671],{"class":570},[560,6117,674],{"class":623},[560,6119,519],{"class":570},[560,6121,711],{"class":623},[560,6123,519],{"class":570},[560,6125,716],{"class":623},[560,6127,519],{"class":570},[560,6129,721],{"class":623},[560,6131,519],{"class":570},[560,6133,726],{"class":623},[560,6135,682],{"class":570},[560,6137,6138,6140,6143,6145,6147,6149,6151,6153,6155,6157,6159],{"class":562,"line":650},[560,6139,653],{"class":566},[560,6141,6142],{"class":656}," andOr",[560,6144,660],{"class":566},[560,6146,663],{"class":574},[560,6148,666],{"class":570},[560,6150,845],{"class":656},[560,6152,671],{"class":570},[560,6154,850],{"class":623},[560,6156,519],{"class":570},[560,6158,855],{"class":623},[560,6160,682],{"class":570},[560,6162,6163],{"class":562,"line":685},[560,6164,6165],{"class":640},"\u002F** Stripe lists newest first and can't sort any other way. *\u002F\n",[560,6167,6168,6170,6173,6175,6178,6180,6182,6184,6186,6188],{"class":562,"line":731},[560,6169,653],{"class":566},[560,6171,6172],{"class":656}," newestFirst",[560,6174,660],{"class":566},[560,6176,6177],{"class":570}," { created: ",[560,6179,614],{"class":574},[560,6181,666],{"class":570},[560,6183,590],{"class":656},[560,6185,671],{"class":570},[560,6187,783],{"class":623},[560,6189,6190],{"class":570},") };\n",[458,6192,6193,6194,666],{},"Which operators a field can declare depends on its type. See ",[466,6195,6197],{"href":6196},"\u002Freference\u002Fextensions\u002Fdata-connectors\u002Foperations#match-operators-to-field-types","Match Operators to Field Types",[1703,6199,6200],{"id":614},[461,6201,614],{},[458,6203,6204,6205,6208,6209,666],{},"Builds the entries of a ",[461,6206,6207],{},"readMany","'s ",[461,6210,614],{},[551,6212,6214],{"className":553,"code":6213,"filename":1714,"language":555,"meta":556,"style":556},"const sort: {\n    field\u003Cconst D extends AtLeastOne\u003CSortDirection>>(...directions: D): DeepReadonly\u003C{\n        directions: D;\n    }>;\n};\n",[461,6215,6216,6226,6261,6270,6274],{"__ignoreMap":556},[560,6217,6218,6220,6222,6224],{"class":562,"line":563},[560,6219,653],{"class":566},[560,6221,769],{"class":656},[560,6223,1905],{"class":566},[560,6225,803],{"class":570},[560,6227,6228,6230,6232,6234,6237,6239,6241,6243,6246,6248,6251,6253,6255,6257,6259],{"class":562,"line":630},[560,6229,5845],{"class":656},[560,6231,1726],{"class":570},[560,6233,653],{"class":566},[560,6235,6236],{"class":656}," D",[560,6238,1734],{"class":566},[560,6240,5856],{"class":656},[560,6242,1726],{"class":570},[560,6244,6245],{"class":656},"SortDirection",[560,6247,2895],{"class":570},[560,6249,6250],{"class":566},"...directions:",[560,6252,6236],{"class":656},[560,6254,2802],{"class":570},[560,6256,1905],{"class":566},[560,6258,1908],{"class":656},[560,6260,2429],{"class":570},[560,6262,6263,6266,6268],{"class":562,"line":637},[560,6264,6265],{"class":566},"        directions:",[560,6267,6236],{"class":656},[560,6269,627],{"class":570},[560,6271,6272],{"class":562,"line":644},[560,6273,5126],{"class":570},[560,6275,6276],{"class":562,"line":650},[560,6277,864],{"class":570},[4590,6279,6281],{"id":6280},"sortfield",[461,6282,6283],{},"sort.field",[458,6285,5999,6286,6002,6288,4579,6291,6009,6294,666],{},[461,6287,614],{},[461,6289,6290],{},"sort.field('descending')",[461,6292,6293],{},"{ directions: ['descending'] }",[466,6295,6297],{"href":6296},"\u002Freference\u002Fextensions\u002Fextension-kit\u002Fprotocol#sortdirection",[461,6298,6245],{},[1703,6300,6301],{"id":609},[461,6302,609],{},[458,6304,6305,6306,6208,6308,2100,6310,666],{},"Builds a ",[461,6307,6207],{},[461,6309,1159],{},[461,6311,1174],{},[551,6313,6315],{"className":553,"code":6314,"filename":1714,"language":555,"meta":556,"style":556},"const paging: {\n    limit(): {};\n    offset(): {};\n};\n",[461,6316,6317,6328,6340,6351],{"__ignoreMap":556},[560,6318,6319,6321,6324,6326],{"class":562,"line":563},[560,6320,653],{"class":566},[560,6322,6323],{"class":656}," paging",[560,6325,1905],{"class":566},[560,6327,803],{"class":570},[560,6329,6330,6333,6335,6337],{"class":562,"line":630},[560,6331,6332],{"class":656},"    limit",[560,6334,5386],{"class":570},[560,6336,1905],{"class":566},[560,6338,6339],{"class":570}," {};\n",[560,6341,6342,6345,6347,6349],{"class":562,"line":637},[560,6343,6344],{"class":656},"    offset",[560,6346,5386],{"class":570},[560,6348,1905],{"class":566},[560,6350,6339],{"class":570},[560,6352,6353],{"class":562,"line":644},[560,6354,864],{"class":570},[4590,6356,6358],{"id":6357},"paginglimit",[461,6359,6360],{},"paging.limit",[458,6362,6363,6364,6366,6367,6369,6370,666],{},"Offers ",[461,6365,1159],{}," on ",[461,6368,6207],{},". Returns ",[461,6371,6372],{},"{}",[4590,6374,6376],{"id":6375},"pagingoffset",[461,6377,6378],{},"paging.offset",[458,6380,6363,6381,6366,6383,6369,6385,666],{},[461,6382,1174],{},[461,6384,6207],{},[461,6386,6372],{},[458,6388,2593,6389,6391,6392,6394,6395,666],{},[461,6390,6207],{}," that declares neither still receives Engine's default ",[461,6393,1159],{}," when the caller sets none. See ",[466,6396,6398],{"href":6397},"\u002Freference\u002Fextensions\u002Fdata-connectors\u002Fapi#handle-requests-you-didnt-declare","Handle Requests You Didn't Declare",[1703,6400,6401],{"id":498},[461,6402,498],{},[458,6404,6405,6406,666],{},"Builds field lists inside ",[461,6407,575],{},[551,6409,6411],{"className":553,"code":6410,"filename":1714,"language":555,"meta":556,"style":556},"const fields: {\n    all(): AllFields;\n};\n",[461,6412,6413,6424,6438],{"__ignoreMap":556},[560,6414,6415,6417,6420,6422],{"class":562,"line":563},[560,6416,653],{"class":566},[560,6418,6419],{"class":656}," fields",[560,6421,1905],{"class":566},[560,6423,803],{"class":570},[560,6425,6426,6429,6431,6433,6436],{"class":562,"line":630},[560,6427,6428],{"class":656},"    all",[560,6430,5386],{"class":570},[560,6432,1905],{"class":566},[560,6434,6435],{"class":656}," AllFields",[560,6437,627],{"class":570},[560,6439,6440],{"class":562,"line":637},[560,6441,864],{"class":570},[4590,6443,6445],{"id":6444},"fieldsall",[461,6446,6447],{},"fields.all",[458,6449,6450,6451,2046,6453,6455,6456,2067,6458,2070,6460,6462,6463,6465,6466,6468,6469,2572,6472,6474,6475,666],{},"Every field of the collection, as a ",[461,6452,2106],{},[461,6454,2109],{}," list. The names come in the order ",[461,6457,2066],{},[461,6459,498],{},[461,6461,2073],{}," first, in ascending order, then the rest in declaration order. It returns a marker that ",[461,6464,575],{}," replaces with the field names. Write it inside the ",[461,6467,575],{}," call: assigned to a variable first, it widens to ",[461,6470,6471],{},"symbol",[461,6473,575],{}," refuses it with a type error, unless you type the variable as ",[466,6476,6478],{"href":6477},"#allfields",[461,6479,6480],{},"AllFields",[1703,6482,6484],{"id":6483},"fieldsof",[461,6485,2052],{},[458,6487,6488,6489,6491],{},"Builds field lists outside ",[461,6490,575],{},", for a list several members share.",[551,6493,6495],{"className":553,"code":6494,"filename":1714,"language":555,"meta":556,"style":556},"function fieldsOf\u003Cconst F extends Readonly\u003CRecord\u003Cstring, FieldDefinition>>>(map: F): {\n    pick\u003Cconst K extends AtLeastOne\u003Ckeyof F & string>>(...names: K): DeepReadonly\u003CK>;\n};\n",[461,6496,6497,6539,6586],{"__ignoreMap":556},[560,6498,6499,6501,6504,6506,6508,6510,6512,6514,6516,6518,6520,6522,6524,6526,6528,6531,6533,6535,6537],{"class":562,"line":563},[560,6500,1721],{"class":566},[560,6502,6503],{"class":656}," fieldsOf",[560,6505,1726],{"class":570},[560,6507,653],{"class":566},[560,6509,1731],{"class":656},[560,6511,1734],{"class":566},[560,6513,1737],{"class":656},[560,6515,1726],{"class":570},[560,6517,1742],{"class":656},[560,6519,1726],{"class":570},[560,6521,948],{"class":1747},[560,6523,519],{"class":570},[560,6525,1752],{"class":656},[560,6527,5094],{"class":570},[560,6529,6530],{"class":566},"map:",[560,6532,1731],{"class":656},[560,6534,2802],{"class":570},[560,6536,1905],{"class":566},[560,6538,803],{"class":570},[560,6540,6541,6544,6546,6548,6551,6553,6555,6557,6560,6562,6564,6566,6568,6571,6573,6575,6577,6579,6581,6584],{"class":562,"line":630},[560,6542,6543],{"class":656},"    pick",[560,6545,1726],{"class":570},[560,6547,653],{"class":566},[560,6549,6550],{"class":656}," K",[560,6552,1734],{"class":566},[560,6554,5856],{"class":656},[560,6556,1726],{"class":570},[560,6558,6559],{"class":566},"keyof",[560,6561,1731],{"class":656},[560,6563,1845],{"class":566},[560,6565,2245],{"class":1747},[560,6567,2895],{"class":570},[560,6569,6570],{"class":566},"...names:",[560,6572,6550],{"class":656},[560,6574,2802],{"class":570},[560,6576,1905],{"class":566},[560,6578,1908],{"class":656},[560,6580,1726],{"class":570},[560,6582,6583],{"class":656},"K",[560,6585,2688],{"class":570},[560,6587,6588],{"class":562,"line":637},[560,6589,864],{"class":570},[458,6591,6592,6595,6596,6599,6600,6602,6603,6606,6607,6609,6610,6612,6613,1905],{},[461,6593,6594],{},"fieldsOf(map).pick(...names)"," returns the named fields of ",[461,6597,6598],{},"map",", in the order given. Editors complete the names, and the list keeps its literal type, so ",[461,6601,575],{}," still checks it. A name the map doesn't have is a type error, and ",[461,6604,6605],{},"pick"," throws ",[461,6608,2120],{}," for it at runtime. The Stripe connector shares one ",[461,6611,2106],{}," list between the updates of ",[461,6614,6615],{},"products",[551,6617,6619],{"className":553,"code":6618,"filename":5196,"language":555,"meta":556,"style":556},"const productFields = {\n    id: field.string(setByStripe),\n    name: field.string(),\n    description: nullableText,\n    active: field.boolean(setByStripe),\n    defaultPrice: field.string({ nullable: true }),\n    created,\n};\nconst productFilter = { fields: { id: exact, active: booleanExact, created: createdRange }, logicalOperators: andOr };\nconst productUpdate = fieldsOf(productFields).pick('name', 'description', 'active');\n\nexport const products = defineCollection({\n    name: 'products',\n    fields: productFields,\n    indexes: { products_pkey: index.primary(['id']) },\n    operations: {\n        readMany: { filter: productFilter, sort: newestFirst, limit: paging.limit(), offset: paging.offset(), output: fields.all() },\n        readOne: { filter: productFilter, output: fields.all() },\n        \u002F\u002F Stripe accepts a caller-chosen product id on create.\n        create: { data: ['id', ...productUpdate], output: fields.all() },\n        updateMany: { filter: productFilter, data: productUpdate, output: fields.all() },\n        updateOne: { filter: productFilter, data: productUpdate, output: fields.all() },\n        deleteMany: { filter: productFilter, output: fields.all() },\n        deleteOne: { filter: productFilter, output: fields.all() },\n    },\n});\n",[461,6620,6621,6632,6649,6661,6671,6688,6705,6712,6716,6750,6788,6792,6807,6816,6825,6842,6846,6889,6905,6910,6936,6958,6979,6996,7013,7017],{"__ignoreMap":556},[560,6622,6623,6625,6628,6630],{"class":562,"line":563},[560,6624,653],{"class":566},[560,6626,6627],{"class":656}," productFields",[560,6629,660],{"class":566},[560,6631,803],{"class":570},[560,6633,6634,6637,6639,6641,6643,6645,6647],{"class":562,"line":630},[560,6635,6636],{"class":570},"    id: ",[560,6638,590],{"class":574},[560,6640,666],{"class":570},[560,6642,948],{"class":656},[560,6644,671],{"class":570},[560,6646,5245],{"class":574},[560,6648,858],{"class":570},[560,6650,6651,6653,6655,6657,6659],{"class":562,"line":637},[560,6652,907],{"class":570},[560,6654,590],{"class":574},[560,6656,666],{"class":570},[560,6658,948],{"class":656},[560,6660,935],{"class":570},[560,6662,6663,6666,6669],{"class":562,"line":644},[560,6664,6665],{"class":570},"    description: ",[560,6667,6668],{"class":574},"nullableText",[560,6670,913],{"class":570},[560,6672,6673,6676,6678,6680,6682,6684,6686],{"class":562,"line":650},[560,6674,6675],{"class":570},"    active: ",[560,6677,590],{"class":574},[560,6679,666],{"class":570},[560,6681,1060],{"class":656},[560,6683,671],{"class":570},[560,6685,5245],{"class":574},[560,6687,858],{"class":570},[560,6689,6690,6693,6695,6697,6699,6701,6703],{"class":562,"line":685},[560,6691,6692],{"class":570},"    defaultPrice: ",[560,6694,590],{"class":574},[560,6696,666],{"class":570},[560,6698,948],{"class":656},[560,6700,951],{"class":570},[560,6702,954],{"class":656},[560,6704,957],{"class":570},[560,6706,6707,6710],{"class":562,"line":731},[560,6708,6709],{"class":574},"    created",[560,6711,913],{"class":570},[560,6713,6714],{"class":562,"line":737},[560,6715,864],{"class":570},[560,6717,6718,6720,6723,6725,6728,6730,6733,6735,6738,6741,6744,6747],{"class":562,"line":759},[560,6719,653],{"class":566},[560,6721,6722],{"class":656}," productFilter",[560,6724,660],{"class":566},[560,6726,6727],{"class":570}," { fields: { id: ",[560,6729,812],{"class":574},[560,6731,6732],{"class":570},", active: ",[560,6734,829],{"class":574},[560,6736,6737],{"class":570},", created: ",[560,6739,6740],{"class":574},"createdRange",[560,6742,6743],{"class":570}," }, logicalOperators: ",[560,6745,6746],{"class":574},"andOr",[560,6748,6749],{"class":570}," };\n",[560,6751,6752,6754,6757,6759,6761,6763,6766,6769,6771,6773,6776,6778,6781,6783,6786],{"class":562,"line":788},[560,6753,653],{"class":566},[560,6755,6756],{"class":656}," productUpdate",[560,6758,660],{"class":566},[560,6760,6503],{"class":656},[560,6762,671],{"class":570},[560,6764,6765],{"class":574},"productFields",[560,6767,6768],{"class":570},").",[560,6770,6605],{"class":656},[560,6772,671],{"class":570},[560,6774,6775],{"class":623},"'name'",[560,6777,519],{"class":570},[560,6779,6780],{"class":623},"'description'",[560,6782,519],{"class":570},[560,6784,6785],{"class":623},"'active'",[560,6787,682],{"class":570},[560,6789,6790],{"class":562,"line":793},[560,6791,634],{"emptyLinePlaceholder":633},[560,6793,6794,6796,6798,6801,6803,6805],{"class":562,"line":806},[560,6795,887],{"class":566},[560,6797,890],{"class":566},[560,6799,6800],{"class":656}," products",[560,6802,660],{"class":566},[560,6804,898],{"class":656},[560,6806,901],{"class":570},[560,6808,6809,6811,6814],{"class":562,"line":835},[560,6810,907],{"class":570},[560,6812,6813],{"class":623},"'products'",[560,6815,913],{"class":570},[560,6817,6818,6821,6823],{"class":562,"line":861},[560,6819,6820],{"class":570},"    fields: ",[560,6822,6765],{"class":574},[560,6824,913],{"class":570},[560,6826,6827,6830,6832,6834,6836,6838,6840],{"class":562,"line":867},[560,6828,6829],{"class":570},"    indexes: { products_pkey: ",[560,6831,604],{"class":574},[560,6833,666],{"class":570},[560,6835,1099],{"class":656},[560,6837,1102],{"class":570},[560,6839,1105],{"class":623},[560,6841,1108],{"class":570},[560,6843,6844],{"class":562,"line":872},[560,6845,1114],{"class":570},[560,6847,6848,6851,6854,6857,6860,6863,6865,6867,6869,6872,6874,6876,6878,6881,6883,6885,6887],{"class":562,"line":878},[560,6849,6850],{"class":570},"        readMany: { filter: ",[560,6852,6853],{"class":574},"productFilter",[560,6855,6856],{"class":570},", sort: ",[560,6858,6859],{"class":574},"newestFirst",[560,6861,6862],{"class":570},", limit: ",[560,6864,609],{"class":574},[560,6866,666],{"class":570},[560,6868,1159],{"class":656},[560,6870,6871],{"class":570},"(), offset: ",[560,6873,609],{"class":574},[560,6875,666],{"class":570},[560,6877,1174],{"class":656},[560,6879,6880],{"class":570},"(), output: ",[560,6882,498],{"class":574},[560,6884,666],{"class":570},[560,6886,1189],{"class":656},[560,6888,1227],{"class":570},[560,6890,6891,6893,6895,6897,6899,6901,6903],{"class":562,"line":884},[560,6892,1213],{"class":570},[560,6894,6853],{"class":574},[560,6896,1218],{"class":570},[560,6898,498],{"class":574},[560,6900,666],{"class":570},[560,6902,1189],{"class":656},[560,6904,1227],{"class":570},[560,6906,6907],{"class":562,"line":904},[560,6908,6909],{"class":640},"        \u002F\u002F Stripe accepts a caller-chosen product id on create.\n",[560,6911,6912,6915,6917,6919,6922,6925,6928,6930,6932,6934],{"class":562,"line":916},[560,6913,6914],{"class":570},"        create: { data: [",[560,6916,1105],{"class":623},[560,6918,519],{"class":570},[560,6920,6921],{"class":566},"...",[560,6923,6924],{"class":574},"productUpdate",[560,6926,6927],{"class":570},"], output: ",[560,6929,498],{"class":574},[560,6931,666],{"class":570},[560,6933,1189],{"class":656},[560,6935,1227],{"class":570},[560,6937,6938,6941,6943,6946,6948,6950,6952,6954,6956],{"class":562,"line":922},[560,6939,6940],{"class":570},"        updateMany: { filter: ",[560,6942,6853],{"class":574},[560,6944,6945],{"class":570},", data: ",[560,6947,6924],{"class":574},[560,6949,1218],{"class":570},[560,6951,498],{"class":574},[560,6953,666],{"class":570},[560,6955,1189],{"class":656},[560,6957,1227],{"class":570},[560,6959,6960,6963,6965,6967,6969,6971,6973,6975,6977],{"class":562,"line":938},[560,6961,6962],{"class":570},"        updateOne: { filter: ",[560,6964,6853],{"class":574},[560,6966,6945],{"class":570},[560,6968,6924],{"class":574},[560,6970,1218],{"class":570},[560,6972,498],{"class":574},[560,6974,666],{"class":570},[560,6976,1189],{"class":656},[560,6978,1227],{"class":570},[560,6980,6981,6984,6986,6988,6990,6992,6994],{"class":562,"line":960},[560,6982,6983],{"class":570},"        deleteMany: { filter: ",[560,6985,6853],{"class":574},[560,6987,1218],{"class":570},[560,6989,498],{"class":574},[560,6991,666],{"class":570},[560,6993,1189],{"class":656},[560,6995,1227],{"class":570},[560,6997,6998,7001,7003,7005,7007,7009,7011],{"class":562,"line":978},[560,6999,7000],{"class":570},"        deleteOne: { filter: ",[560,7002,6853],{"class":574},[560,7004,1218],{"class":570},[560,7006,498],{"class":574},[560,7008,666],{"class":570},[560,7010,1189],{"class":656},[560,7012,1227],{"class":570},[560,7014,7015],{"class":562,"line":996},[560,7016,1086],{"class":570},[560,7018,7019],{"class":562,"line":1014},[560,7020,1238],{"class":570},[458,7022,7023,7025,7026,7028,7029,7032,7033,7036,7037,7039],{},[461,7024,6615],{}," declares writes, so the fields its ",[461,7027,2106],{}," lists name are writable and every other field is read-only. Inline arrays of field names also work. A list typed ",[461,7030,7031],{},"string[]",", such as ",[461,7034,7035],{},"Object.keys(productFields)",", passes the compile-time check whatever it holds; ",[461,7038,575],{}," still rejects an unknown name when it runs.",[1703,7041,7043],{"id":7042},"allfields",[461,7044,6480],{},[458,7046,7047,7048,7050],{},"The type of the marker ",[461,7049,2045],{}," returns.",[551,7052,7054],{"className":553,"code":7053,"filename":1714,"language":555,"meta":556,"style":556},"type AllFields = typeof allFields;\n",[461,7055,7056],{"__ignoreMap":556},[560,7057,7058,7060,7062,7064,7067,7070],{"class":562,"line":563},[560,7059,4898],{"class":566},[560,7061,6435],{"class":656},[560,7063,660],{"class":566},[560,7065,7066],{"class":566}," typeof",[560,7068,7069],{"class":574}," allFields",[560,7071,627],{"class":570},[454,7073,7075],{"id":7074},"handle-validation-errors","Handle Validation Errors",[1703,7077,7079],{"id":7078},"schemadefinitionerror",[461,7080,2120],{},[458,7082,7083],{},"Thrown by the helpers when a definition breaks a structural rule.",[551,7085,7087],{"className":553,"code":7086,"filename":1714,"language":555,"meta":556,"style":556},"class SchemaDefinitionError extends Error {\n    readonly issues: readonly SchemaIssue[];\n    constructor(issues: readonly SchemaIssue[]);\n}\n",[461,7088,7089,7104,7119,7136],{"__ignoreMap":556},[560,7090,7091,7094,7097,7099,7102],{"class":562,"line":563},[560,7092,7093],{"class":566},"class",[560,7095,7096],{"class":656}," SchemaDefinitionError",[560,7098,1734],{"class":566},[560,7100,7101],{"class":656}," Error",[560,7103,803],{"class":570},[560,7105,7106,7108,7111,7113,7116],{"class":562,"line":630},[560,7107,1799],{"class":566},[560,7109,7110],{"class":566}," issues:",[560,7112,2180],{"class":566},[560,7114,7115],{"class":656}," SchemaIssue",[560,7117,7118],{"class":570},"[];\n",[560,7120,7121,7124,7126,7129,7131,7133],{"class":562,"line":637},[560,7122,7123],{"class":566},"    constructor",[560,7125,671],{"class":570},[560,7127,7128],{"class":566},"issues:",[560,7130,2180],{"class":566},[560,7132,7115],{"class":656},[560,7134,7135],{"class":570},"[]);\n",[560,7137,7138],{"class":562,"line":644},[560,7139,4726],{"class":570},[458,7141,7142,7145,7146,7152,7153,7156,7157,7160,7161,7164,7165,519,7167,7169,7170,666],{},[461,7143,7144],{},"issues"," lists every problem found, as ",[466,7147,7149],{"href":7148},"#schemaissue",[461,7150,7151],{},"SchemaIssue"," objects. The message starts with ",[461,7154,7155],{},"Invalid schema definition:"," and lists each issue as ",[461,7158,7159],{},"path: message"," on its own line, for example ",[461,7162,7163],{},"collections.x.operations.readMany.output: Output must list at least one field",". With literal definitions, TypeScript reports several of these mistakes before the code runs: unknown field names in ",[461,7166,2027],{},[461,7168,2010],{}," and a relation's ",[461,7171,2545],{},[1703,7173,7175],{"id":7174},"schemaissue",[461,7176,7151],{},[458,7178,7179],{},"One problem in a definition: where it is and what's wrong.",[551,7181,7183],{"className":553,"code":7182,"filename":1714,"language":555,"meta":556,"style":556},"interface SchemaIssue {\n    readonly path: string;\n    readonly message: string;\n}\n",[461,7184,7185,7193,7204,7215],{"__ignoreMap":556},[560,7186,7187,7189,7191],{"class":562,"line":563},[560,7188,4651],{"class":566},[560,7190,7115],{"class":656},[560,7192,803],{"class":570},[560,7194,7195,7197,7200,7202],{"class":562,"line":630},[560,7196,1799],{"class":566},[560,7198,7199],{"class":566}," path:",[560,7201,2245],{"class":1747},[560,7203,627],{"class":570},[560,7205,7206,7208,7211,7213],{"class":562,"line":637},[560,7207,1799],{"class":566},[560,7209,7210],{"class":566}," message:",[560,7212,2245],{"class":1747},[560,7214,627],{"class":570},[560,7216,7217],{"class":562,"line":644},[560,7218,4726],{"class":570},[1703,7220,7222],{"id":7221},"validation",[461,7223,2125],{},[7225,7226,7227,7235,7264,7290,7297],"ul",{},[7228,7229,7230,7234],"li",{},[474,7231,7232],{},[461,7233,575],{}," checks the collection's names, fields and indexes. It rejects empty names, two fields with the same API name, an index without fields, a field repeated in one index, index fields that don't exist, and more than one primary index. A fixed string length, and a decimal's precision and scale, must be non-negative safe integers.",[7228,7236,7237,7241,7242,7244,7245,519,7247,519,7250,519,7252,2046,7255,7257,7258,7260,7261,7263],{},[474,7238,7239],{},[461,7240,575],{}," also checks ",[461,7243,2027],{},". It rejects unknown field names and repeated names. It also rejects an empty ",[461,7246,2099],{},[461,7248,7249],{},"operators",[461,7251,614],{},[461,7253,7254],{},"directions",[461,7256,2109],{},". When the collection declares ",[461,7259,5191],{},", it rejects a non-nullable field without a default that no ",[461,7262,2106],{}," list names, because nothing could fill it.",[7228,7265,7266,7270,7271,7273,7274,7276,7277,519,7279,7276,7281,2572,7283,7276,7286,7289],{},[474,7267,7268],{},[461,7269,580],{}," checks that ",[461,7272,2545],{}," is non-empty, that no field repeats on either side, that both fields exist and are scalar, and that paired fields have the same type name. For example, ",[461,7275,5555],{}," with ",[461,7278,948],{},[461,7280,932],{},[461,7282,4433],{},[461,7284,7285],{},"date",[461,7287,7288],{},"dateTime"," don't pair.",[7228,7291,7292,7296],{},[474,7293,7294],{},[461,7295,585],{}," checks the whole graph. It rejects duplicate collections, two collections with the same API name in one namespace, and unregistered namespaces and relation endpoints. It also rejects relation field names that collide with fields.",[7228,7298,7299,7303,7304,7309],{},[474,7300,7301],{},[461,7302,1974],{}," rejects an empty name, and ",[474,7305,7306],{},[461,7307,7308],{},"fieldsOf(…).pick"," a name its map doesn't have.",[458,7311,7312,7313,666],{},"Rules that depend on field types, indexes or relations, such as which operators a type allows, are checked by Engine when the data source is created or reintrospected. See ",[466,7314,7316],{"href":7315},"\u002Freference\u002Fextensions\u002Fdata-connectors\u002Foperations#follow-the-declaration-rules","Declaration Rules",[454,7318,7320],{"id":7319},"use-the-definition-types","Use the Definition Types",[458,7322,7323],{},"These types describe definitions as the helpers take and return them. Use them to type code that reads a collection's declaration.",[1703,7325,7327],{"id":7326},"schemadefinition",[461,7328,7329],{},"SchemaDefinition",[458,7331,7332,7333,7335],{},"What ",[461,7334,585],{}," takes: collections, and optional namespaces and relations.",[551,7337,7339],{"className":553,"code":7338,"filename":1714,"language":555,"meta":556,"style":556},"interface SchemaDefinition {\n    readonly namespaces?: readonly NamespaceDefinition[];\n    readonly collections: readonly CollectionDefinition[];\n    readonly relations?: readonly RelationDefinition[];\n}\n",[461,7340,7341,7349,7362,7375,7388],{"__ignoreMap":556},[560,7342,7343,7345,7347],{"class":562,"line":563},[560,7344,4651],{"class":566},[560,7346,2649],{"class":656},[560,7348,803],{"class":570},[560,7350,7351,7353,7356,7358,7360],{"class":562,"line":630},[560,7352,1799],{"class":566},[560,7354,7355],{"class":566}," namespaces?:",[560,7357,2180],{"class":566},[560,7359,2793],{"class":656},[560,7361,7118],{"class":570},[560,7363,7364,7366,7369,7371,7373],{"class":562,"line":637},[560,7365,1799],{"class":566},[560,7367,7368],{"class":566}," collections:",[560,7370,2180],{"class":566},[560,7372,2157],{"class":656},[560,7374,7118],{"class":570},[560,7376,7377,7379,7382,7384,7386],{"class":562,"line":644},[560,7378,1799],{"class":566},[560,7380,7381],{"class":566}," relations?:",[560,7383,2180],{"class":566},[560,7385,2257],{"class":656},[560,7387,7118],{"class":570},[560,7389,7390],{"class":562,"line":650},[560,7391,4726],{"class":570},[1703,7393,7395],{"id":7394},"definedschema",[461,7396,2755],{},[458,7398,7332,7399,7401,7402,666],{},[461,7400,585],{}," returns: the frozen definition plus ",[461,7403,2087],{},[551,7405,7407],{"className":553,"code":7406,"filename":1714,"language":555,"meta":556,"style":556},"type DefinedSchema\u003CS extends SchemaDefinition = SchemaDefinition> = DeepReadonly\u003CS> & {\n    toSchemaDocument: (options?: SchemaDocumentOptions) => SchemaDocument;\n};\n",[461,7408,7409,7444,7467],{"__ignoreMap":556},[560,7410,7411,7413,7415,7417,7419,7421,7423,7425,7427,7429,7432,7434,7436,7438,7440,7442],{"class":562,"line":563},[560,7412,4898],{"class":566},[560,7414,2681],{"class":656},[560,7416,1726],{"class":570},[560,7418,2673],{"class":656},[560,7420,1734],{"class":566},[560,7422,2649],{"class":656},[560,7424,660],{"class":566},[560,7426,2649],{"class":656},[560,7428,1789],{"class":570},[560,7430,7431],{"class":566},"=",[560,7433,1908],{"class":656},[560,7435,1726],{"class":570},[560,7437,2673],{"class":656},[560,7439,1789],{"class":570},[560,7441,1792],{"class":566},[560,7443,803],{"class":570},[560,7445,7446,7449,7451,7453,7455,7458,7460,7462,7465],{"class":562,"line":630},[560,7447,7448],{"class":656},"    toSchemaDocument",[560,7450,1905],{"class":566},[560,7452,2183],{"class":570},[560,7454,2898],{"class":566},[560,7456,7457],{"class":656}," SchemaDocumentOptions",[560,7459,2903],{"class":570},[560,7461,2906],{"class":566},[560,7463,7464],{"class":656}," SchemaDocument",[560,7466,627],{"class":570},[560,7468,7469],{"class":562,"line":637},[560,7470,864],{"class":570},[458,7472,7473,7476,7477,7481,7482,7484,7485,7487,7488,2100,7490,7492,7493,7495,7496,7502],{},[461,7474,7475],{},"toSchemaDocument(options?)"," returns a new ",[466,7478,7479],{"href":468},[461,7480,471],{}," each call. It lists namespaced collections under their namespace, and derives every ",[461,7483,2077],{}," flag from ",[461,7486,2027],{},". Relations get ",[461,7489,2585],{},[461,7491,2588],{}," ",[461,7494,2603],{}," unless the definition sets them. Pass ",[466,7497,7499],{"href":7498},"#schemadocumentoptions",[461,7500,7501],{},"SchemaDocumentOptions"," to leave out the members that write.",[1703,7504,7506],{"id":7505},"schemadocumentoptions",[461,7507,7501],{},[458,7509,4825,7510,666],{},[461,7511,2087],{},[551,7513,7515],{"className":553,"code":7514,"filename":1714,"language":555,"meta":556,"style":556},"interface SchemaDocumentOptions {\n    writes?: boolean;\n}\n",[461,7516,7517,7525,7534],{"__ignoreMap":556},[560,7518,7519,7521,7523],{"class":562,"line":563},[560,7520,4651],{"class":566},[560,7522,7457],{"class":656},[560,7524,803],{"class":570},[560,7526,7527,7530,7532],{"class":562,"line":630},[560,7528,7529],{"class":566},"    writes?:",[560,7531,4692],{"class":1747},[560,7533,627],{"class":570},[560,7535,7536],{"class":562,"line":637},[560,7537,4726],{"class":570},[458,7539,7540,7543,7544,519,7546,519,7549,519,7552,2100,7555,7558,7559,7561,7562,7565],{},[461,7541,7542],{},"writes: false"," leaves out ",[461,7545,5191],{},[461,7547,7548],{},"updateMany",[461,7550,7551],{},"updateOne",[461,7553,7554],{},"deleteMany",[461,7556,7557],{},"deleteOne",", so every collection and field is read-only. The default is ",[461,7560,954],{},". The Stripe connector passes its ",[461,7563,7564],{},"enableWrites"," setting:",[551,7567,7569],{"className":553,"code":7568,"filename":5196,"language":555,"meta":556,"style":556},"\u002F**\n * The declared schema. A data source with `enableWrites: false` declares reads only: the kit leaves\n * out every member that writes, and so answers every collection and field as read-only.\n *\u002F\nexport function schemaDocument(enableWrites: boolean): SchemaDocument {\n    return schema.toSchemaDocument({ writes: enableWrites });\n}\n",[461,7570,7571,7576,7581,7586,7591,7616,7634],{"__ignoreMap":556},[560,7572,7573],{"class":562,"line":563},[560,7574,7575],{"class":640},"\u002F**\n",[560,7577,7578],{"class":562,"line":630},[560,7579,7580],{"class":640}," * The declared schema. A data source with `enableWrites: false` declares reads only: the kit leaves\n",[560,7582,7583],{"class":562,"line":637},[560,7584,7585],{"class":640}," * out every member that writes, and so answers every collection and field as read-only.\n",[560,7587,7588],{"class":562,"line":644},[560,7589,7590],{"class":640}," *\u002F\n",[560,7592,7593,7595,7598,7601,7603,7606,7608,7610,7612,7614],{"class":562,"line":650},[560,7594,887],{"class":566},[560,7596,7597],{"class":566}," function",[560,7599,7600],{"class":656}," schemaDocument",[560,7602,671],{"class":570},[560,7604,7605],{"class":566},"enableWrites:",[560,7607,4692],{"class":1747},[560,7609,2802],{"class":570},[560,7611,1905],{"class":566},[560,7613,7464],{"class":656},[560,7615,803],{"class":570},[560,7617,7618,7621,7623,7625,7627,7630,7632],{"class":562,"line":685},[560,7619,7620],{"class":566},"    return",[560,7622,1544],{"class":574},[560,7624,666],{"class":570},[560,7626,2087],{"class":656},[560,7628,7629],{"class":570},"({ writes: ",[560,7631,7564],{"class":574},[560,7633,5291],{"class":570},[560,7635,7636],{"class":562,"line":731},[560,7637,4726],{"class":570},[1703,7639,7641],{"id":7640},"collectiondefinition",[461,7642,1770],{},[458,7644,7645,7646,666],{},"A collection as authored, without ",[461,7647,2077],{},[551,7649,7651],{"className":553,"code":7650,"filename":1714,"language":555,"meta":556,"style":556},"interface CollectionDefinition extends DeepReadonly\u003COmit\u003CCanonicalCollection, 'fields' | 'indexes' | 'isReadonly' | 'operations'>> {\n    readonly namespace?: NamespaceDefinition;\n    readonly fields: Readonly\u003CRecord\u003Cstring, FieldDefinition>>;\n    readonly indexes?: Readonly\u003CRecord\u003Cstring, IndexDefinition>>;\n    readonly operations: {\n        readonly [M in keyof SupportedOperations]?: DeepReadonly\u003CNonNullable\u003CSupportedOperations[M]>> | undefined;\n    };\n}\n",[461,7652,7653,7691,7702,7724,7748,7757,7804,7808],{"__ignoreMap":556},[560,7654,7655,7657,7659,7661,7663,7665,7667,7669,7672,7674,7676,7678,7680,7682,7685,7687,7689],{"class":562,"line":563},[560,7656,4651],{"class":566},[560,7658,2157],{"class":656},[560,7660,1734],{"class":566},[560,7662,1908],{"class":656},[560,7664,1726],{"class":570},[560,7666,4274],{"class":656},[560,7668,1726],{"class":570},[560,7670,7671],{"class":656},"CanonicalCollection",[560,7673,519],{"class":570},[560,7675,1775],{"class":623},[560,7677,1778],{"class":566},[560,7679,1781],{"class":623},[560,7681,1778],{"class":566},[560,7683,7684],{"class":623}," 'isReadonly'",[560,7686,1778],{"class":566},[560,7688,1786],{"class":623},[560,7690,4684],{"class":570},[560,7692,7693,7695,7698,7700],{"class":562,"line":630},[560,7694,1799],{"class":566},[560,7696,7697],{"class":566}," namespace?:",[560,7699,2793],{"class":656},[560,7701,627],{"class":570},[560,7703,7704,7706,7708,7710,7712,7714,7716,7718,7720,7722],{"class":562,"line":637},[560,7705,1799],{"class":566},[560,7707,1802],{"class":566},[560,7709,1737],{"class":656},[560,7711,1726],{"class":570},[560,7713,1742],{"class":656},[560,7715,1726],{"class":570},[560,7717,948],{"class":1747},[560,7719,519],{"class":570},[560,7721,1752],{"class":656},[560,7723,1919],{"class":570},[560,7725,7726,7728,7731,7733,7735,7737,7739,7741,7743,7746],{"class":562,"line":644},[560,7727,1799],{"class":566},[560,7729,7730],{"class":566}," indexes?:",[560,7732,1737],{"class":656},[560,7734,1726],{"class":570},[560,7736,1742],{"class":656},[560,7738,1726],{"class":570},[560,7740,948],{"class":1747},[560,7742,519],{"class":570},[560,7744,7745],{"class":656},"IndexDefinition",[560,7747,1919],{"class":570},[560,7749,7750,7752,7755],{"class":562,"line":650},[560,7751,1799],{"class":566},[560,7753,7754],{"class":566}," operations:",[560,7756,803],{"class":570},[560,7758,7759,7761,7763,7766,7768,7771,7774,7777,7780,7782,7784,7787,7789,7791,7793,7795,7798,7800,7802],{"class":562,"line":685},[560,7760,5017],{"class":566},[560,7762,5893],{"class":570},[560,7764,7765],{"class":656},"M",[560,7767,5898],{"class":566},[560,7769,7770],{"class":566}," keyof",[560,7772,7773],{"class":656}," SupportedOperations",[560,7775,7776],{"class":570},"]",[560,7778,7779],{"class":566},"?:",[560,7781,1908],{"class":656},[560,7783,1726],{"class":570},[560,7785,7786],{"class":656},"NonNullable",[560,7788,1726],{"class":570},[560,7790,2038],{"class":656},[560,7792,2260],{"class":570},[560,7794,7765],{"class":656},[560,7796,7797],{"class":570},"]>> ",[560,7799,4237],{"class":566},[560,7801,4697],{"class":1747},[560,7803,627],{"class":570},[560,7805,7806],{"class":562,"line":731},[560,7807,5041],{"class":570},[560,7809,7810],{"class":562,"line":737},[560,7811,4726],{"class":570},[458,7813,7814,7815,7817],{},"The Stripe connector reads its declared filters and ",[461,7816,2106],{}," lists through it:",[551,7819,7822],{"className":553,"code":7820,"filename":7821,"language":555,"meta":556,"style":556},"\u002F** A filter contract as `defineCollection` keeps it. *\u002F\nexport type DeclaredFilter = NonNullable\u003CCollectionDefinition['operations']['readMany']>['filter'];\n","src\u002Fdata-connectors\u002Fstripe\u002Fresources.ts",[461,7823,7824,7829],{"__ignoreMap":556},[560,7825,7826],{"class":562,"line":563},[560,7827,7828],{"class":640},"\u002F** A filter contract as `defineCollection` keeps it. *\u002F\n",[560,7830,7831,7833,7836,7839,7841,7844,7846,7848,7850,7853,7856,7859,7862,7865],{"class":562,"line":630},[560,7832,887],{"class":566},[560,7834,7835],{"class":566}," type",[560,7837,7838],{"class":656}," DeclaredFilter",[560,7840,660],{"class":566},[560,7842,7843],{"class":656}," NonNullable",[560,7845,1726],{"class":570},[560,7847,1770],{"class":656},[560,7849,2260],{"class":570},[560,7851,7852],{"class":623},"'operations'",[560,7854,7855],{"class":570},"][",[560,7857,7858],{"class":623},"'readMany'",[560,7860,7861],{"class":570},"]>[",[560,7863,7864],{"class":623},"'filter'",[560,7866,7867],{"class":570},"];\n",[1703,7869,7871],{"id":7870},"fielddefinition",[461,7872,1752],{},[458,7874,7875,7876,666],{},"A field as authored, without its name and ",[461,7877,2077],{},[551,7879,7881],{"className":553,"code":7880,"filename":1714,"language":555,"meta":556,"style":556},"type FieldDefinition = DeepReadonly\u003COmit\u003CCanonicalField, 'name' | 'isReadonly'>>;\n",[461,7882,7883],{"__ignoreMap":556},[560,7884,7885,7887,7890,7892,7894,7896,7898,7900,7903,7905,7907,7909,7911],{"class":562,"line":563},[560,7886,4898],{"class":566},[560,7888,7889],{"class":656}," FieldDefinition",[560,7891,660],{"class":566},[560,7893,1908],{"class":656},[560,7895,1726],{"class":570},[560,7897,4274],{"class":656},[560,7899,1726],{"class":570},[560,7901,7902],{"class":656},"CanonicalField",[560,7904,519],{"class":570},[560,7906,6775],{"class":623},[560,7908,1778],{"class":566},[560,7910,7684],{"class":623},[560,7912,1919],{"class":570},[458,7914,7915],{},"The Stripe connector maps each field's declared type to how its query code treats the values:",[551,7917,7919],{"className":553,"code":7918,"filename":7821,"language":555,"meta":556,"style":556},"function kindOf(name: string, definition: FieldDefinition): FieldKind {\n    \u002F\u002F `id` is a kind of its own: the plan answers it by retrieving, not through a list parameter.\n    if (name === 'id') return 'id';\n\n    switch (definition.type.name) {\n        case 'string': return 'string';\n        case 'int64': return 'int64';\n        case 'boolean': return 'boolean';\n        case 'dateTimeWithTimezone': return 'timestamp';\n        default: throw new Error(`Stripe field \\`${name}\\` has a type the connector doesn't handle: \\`${definition.type.name}\\`.`);\n    }\n}\n",[461,7920,7921,7950,7955,7979,7983,8004,8021,8036,8051,8067,8126,8131],{"__ignoreMap":556},[560,7922,7923,7925,7928,7930,7933,7935,7937,7939,7941,7943,7945,7948],{"class":562,"line":563},[560,7924,1721],{"class":566},[560,7926,7927],{"class":656}," kindOf",[560,7929,671],{"class":570},[560,7931,7932],{"class":566},"name:",[560,7934,2245],{"class":1747},[560,7936,519],{"class":570},[560,7938,1840],{"class":566},[560,7940,7889],{"class":656},[560,7942,2802],{"class":570},[560,7944,1905],{"class":566},[560,7946,7947],{"class":656}," FieldKind",[560,7949,803],{"class":570},[560,7951,7952],{"class":562,"line":630},[560,7953,7954],{"class":640},"    \u002F\u002F `id` is a kind of its own: the plan answers it by retrieving, not through a list parameter.\n",[560,7956,7957,7960,7962,7964,7967,7970,7972,7975,7977],{"class":562,"line":637},[560,7958,7959],{"class":566},"    if",[560,7961,2183],{"class":570},[560,7963,1949],{"class":574},[560,7965,7966],{"class":566}," ===",[560,7968,7969],{"class":623}," 'id'",[560,7971,2903],{"class":570},[560,7973,7974],{"class":566},"return",[560,7976,7969],{"class":623},[560,7978,627],{"class":570},[560,7980,7981],{"class":562,"line":644},[560,7982,634],{"emptyLinePlaceholder":633},[560,7984,7985,7988,7990,7993,7995,7997,7999,8001],{"class":562,"line":650},[560,7986,7987],{"class":566},"    switch",[560,7989,2183],{"class":570},[560,7991,7992],{"class":574},"definition",[560,7994,666],{"class":570},[560,7996,4898],{"class":574},[560,7998,666],{"class":570},[560,8000,1949],{"class":574},[560,8002,8003],{"class":570},") {\n",[560,8005,8006,8009,8012,8015,8017,8019],{"class":562,"line":685},[560,8007,8008],{"class":566},"        case",[560,8010,8011],{"class":623}," 'string'",[560,8013,8014],{"class":570},": ",[560,8016,7974],{"class":566},[560,8018,8011],{"class":623},[560,8020,627],{"class":570},[560,8022,8023,8025,8028,8030,8032,8034],{"class":562,"line":731},[560,8024,8008],{"class":566},[560,8026,8027],{"class":623}," 'int64'",[560,8029,8014],{"class":570},[560,8031,7974],{"class":566},[560,8033,8027],{"class":623},[560,8035,627],{"class":570},[560,8037,8038,8040,8043,8045,8047,8049],{"class":562,"line":737},[560,8039,8008],{"class":566},[560,8041,8042],{"class":623}," 'boolean'",[560,8044,8014],{"class":570},[560,8046,7974],{"class":566},[560,8048,8042],{"class":623},[560,8050,627],{"class":570},[560,8052,8053,8055,8058,8060,8062,8065],{"class":562,"line":759},[560,8054,8008],{"class":566},[560,8056,8057],{"class":623}," 'dateTimeWithTimezone'",[560,8059,8014],{"class":570},[560,8061,7974],{"class":566},[560,8063,8064],{"class":623}," 'timestamp'",[560,8066,627],{"class":570},[560,8068,8069,8072,8074,8077,8080,8082,8084,8087,8090,8093,8095,8098,8100,8103,8105,8107,8109,8111,8113,8115,8117,8119,8121,8124],{"class":562,"line":788},[560,8070,8071],{"class":566},"        default",[560,8073,8014],{"class":570},[560,8075,8076],{"class":566},"throw",[560,8078,8079],{"class":566}," new",[560,8081,7101],{"class":656},[560,8083,671],{"class":570},[560,8085,8086],{"class":623},"`Stripe field ",[560,8088,8089],{"class":656},"\\`",[560,8091,8092],{"class":623},"${",[560,8094,1949],{"class":574},[560,8096,8097],{"class":623},"}",[560,8099,8089],{"class":656},[560,8101,8102],{"class":623}," has a type the connector doesn't handle: ",[560,8104,8089],{"class":656},[560,8106,8092],{"class":623},[560,8108,7992],{"class":574},[560,8110,666],{"class":623},[560,8112,4898],{"class":574},[560,8114,666],{"class":623},[560,8116,1949],{"class":574},[560,8118,8097],{"class":623},[560,8120,8089],{"class":656},[560,8122,8123],{"class":623},".`",[560,8125,682],{"class":570},[560,8127,8128],{"class":562,"line":793},[560,8129,8130],{"class":570},"    }\n",[560,8132,8133],{"class":562,"line":806},[560,8134,4726],{"class":570},[1703,8136,8138],{"id":8137},"indexdefinition",[461,8139,7745],{},[458,8141,8142],{},"An index as authored, without its name.",[551,8144,8146],{"className":553,"code":8145,"filename":1714,"language":555,"meta":556,"style":556},"type IndexDefinition = DeepReadonly\u003COmit\u003CCanonicalIndex, 'name'>>;\n",[461,8147,8148],{"__ignoreMap":556},[560,8149,8150,8152,8155,8157,8159,8161,8163,8165,8168,8170,8172],{"class":562,"line":563},[560,8151,4898],{"class":566},[560,8153,8154],{"class":656}," IndexDefinition",[560,8156,660],{"class":566},[560,8158,1908],{"class":656},[560,8160,1726],{"class":570},[560,8162,4274],{"class":656},[560,8164,1726],{"class":570},[560,8166,8167],{"class":656},"CanonicalIndex",[560,8169,519],{"class":570},[560,8171,6775],{"class":623},[560,8173,1919],{"class":570},[1703,8175,8177],{"id":8176},"namespacedefinition",[461,8178,8179],{},"NamespaceDefinition",[458,8181,8182],{},"A namespace as authored.",[551,8184,8186],{"className":553,"code":8185,"filename":1714,"language":555,"meta":556,"style":556},"interface NamespaceDefinition {\n    readonly name: string;\n}\n",[461,8187,8188,8196,8207],{"__ignoreMap":556},[560,8189,8190,8192,8194],{"class":562,"line":563},[560,8191,4651],{"class":566},[560,8193,2793],{"class":656},[560,8195,803],{"class":570},[560,8197,8198,8200,8203,8205],{"class":562,"line":630},[560,8199,1799],{"class":566},[560,8201,8202],{"class":566}," name:",[560,8204,2245],{"class":1747},[560,8206,627],{"class":570},[560,8208,8209],{"class":562,"line":637},[560,8210,4726],{"class":570},[1703,8212,8214],{"id":8213},"relationdefinition",[461,8215,8216],{},"RelationDefinition",[458,8218,8219],{},"A relation as authored.",[551,8221,8223],{"className":553,"code":8222,"filename":1714,"language":555,"meta":556,"style":556},"interface RelationDefinition {\n    readonly name: string;\n    readonly from: CollectionDefinition;\n    readonly to: CollectionDefinition;\n    readonly on: readonly (readonly [\n        string,\n        string\n    ])[];\n    readonly names: {\n        readonly forward: string;\n        readonly reverse: string;\n    };\n    readonly onDelete?: CanonicalRelation['onDelete'];\n    readonly onUpdate?: CanonicalRelation['onUpdate'];\n}\n",[461,8224,8225,8233,8243,8254,8265,8280,8287,8292,8297,8306,8317,8328,8332,8349,8365],{"__ignoreMap":556},[560,8226,8227,8229,8231],{"class":562,"line":563},[560,8228,4651],{"class":566},[560,8230,2257],{"class":656},[560,8232,803],{"class":570},[560,8234,8235,8237,8239,8241],{"class":562,"line":630},[560,8236,1799],{"class":566},[560,8238,8202],{"class":566},[560,8240,2245],{"class":1747},[560,8242,627],{"class":570},[560,8244,8245,8247,8250,8252],{"class":562,"line":637},[560,8246,1799],{"class":566},[560,8248,8249],{"class":566}," from:",[560,8251,2157],{"class":656},[560,8253,627],{"class":570},[560,8255,8256,8258,8261,8263],{"class":562,"line":644},[560,8257,1799],{"class":566},[560,8259,8260],{"class":566}," to:",[560,8262,2157],{"class":656},[560,8264,627],{"class":570},[560,8266,8267,8269,8272,8274,8276,8278],{"class":562,"line":650},[560,8268,1799],{"class":566},[560,8270,8271],{"class":566}," on:",[560,8273,2180],{"class":566},[560,8275,2183],{"class":570},[560,8277,2186],{"class":566},[560,8279,2189],{"class":570},[560,8281,8282,8285],{"class":562,"line":685},[560,8283,8284],{"class":1747},"        string",[560,8286,913],{"class":570},[560,8288,8289],{"class":562,"line":731},[560,8290,8291],{"class":1747},"        string\n",[560,8293,8294],{"class":562,"line":737},[560,8295,8296],{"class":570},"    ])[];\n",[560,8298,8299,8301,8304],{"class":562,"line":759},[560,8300,1799],{"class":566},[560,8302,8303],{"class":566}," names:",[560,8305,803],{"class":570},[560,8307,8308,8310,8313,8315],{"class":562,"line":788},[560,8309,5017],{"class":566},[560,8311,8312],{"class":566}," forward:",[560,8314,2245],{"class":1747},[560,8316,627],{"class":570},[560,8318,8319,8321,8324,8326],{"class":562,"line":793},[560,8320,5017],{"class":566},[560,8322,8323],{"class":566}," reverse:",[560,8325,2245],{"class":1747},[560,8327,627],{"class":570},[560,8329,8330],{"class":562,"line":806},[560,8331,5041],{"class":570},[560,8333,8334,8336,8339,8342,8344,8347],{"class":562,"line":835},[560,8335,1799],{"class":566},[560,8337,8338],{"class":566}," onDelete?:",[560,8340,8341],{"class":656}," CanonicalRelation",[560,8343,2260],{"class":570},[560,8345,8346],{"class":623},"'onDelete'",[560,8348,7867],{"class":570},[560,8350,8351,8353,8356,8358,8360,8363],{"class":562,"line":861},[560,8352,1799],{"class":566},[560,8354,8355],{"class":566}," onUpdate?:",[560,8357,8341],{"class":656},[560,8359,2260],{"class":570},[560,8361,8362],{"class":623},"'onUpdate'",[560,8364,7867],{"class":570},[560,8366,8367],{"class":562,"line":867},[560,8368,4726],{"class":570},[454,8370,8372],{"id":8371},"see-also","See Also",[7225,8374,8375,8381,8386,8393],{},[7228,8376,8377,8380],{},[466,8378,410],{"href":8379},"\u002Freference\u002Fextensions\u002Fdata-connectors\u002Fapi#describe-the-schema",": what each part of the schema document means to Engine",[7228,8382,8383,8385],{},[466,8384,414],{"href":5815},": the declaration rules Engine checks",[7228,8387,8388,8392],{},[466,8389,8391],{"href":8390},"\u002Freference\u002Fextensions\u002Fextension-kit\u002Fprotocol","Protocol Types",": the schema document types the helpers produce",[7228,8394,8395,8399],{},[466,8396,8398],{"href":8397},"\u002Fguides\u002Fdata-connectors\u002Fstripe","Build a Stripe Data Connector",": a schema with writes, defaults and shared field lists",[8401,8402,8403],"style",{},"html pre.shiki code .sLVBU, html code.shiki .sLVBU{--shiki-light:#0891B2;--shiki-default:#0891B2;--shiki-dark:#22D3EE}html pre.shiki code .sTMul, html code.shiki .sTMul{--shiki-light:#1F2937;--shiki-default:#1F2937;--shiki-dark:#94A3B8}html pre.shiki code .sNJ9c, html code.shiki .sNJ9c{--shiki-light:#24292E;--shiki-default:#24292E;--shiki-dark:#E2E8F0}html pre.shiki code .suKVh, html code.shiki .suKVh{--shiki-light:#032F62;--shiki-default:#032F62;--shiki-dark:#F8FAFC}html pre.shiki code .seNfP, html code.shiki .seNfP{--shiki-light:#64748B;--shiki-default:#64748B;--shiki-dark:#94A3B8}html pre.shiki code .ssBNi, html code.shiki .ssBNi{--shiki-light:#1659E9;--shiki-default:#1659E9;--shiki-dark:#94B3F5}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .snHjA, html code.shiki .snHjA{--shiki-light:#124BC4;--shiki-default:#124BC4;--shiki-dark:#5B8EF4}",{"title":556,"searchDepth":630,"depth":630,"links":8405},[8406,8407,8408,8414,8423,8431,8436,8446],{"id":456,"depth":630,"text":143},{"id":529,"depth":630,"text":530},{"id":1700,"depth":630,"text":1701,"children":8409},[8410,8411,8412,8413],{"id":1705,"depth":637,"text":575},{"id":2129,"depth":637,"text":580},{"id":2619,"depth":637,"text":585},{"id":2765,"depth":637,"text":1974},{"id":2829,"depth":630,"text":2830,"children":8415},[8416,8417,8418,8419,8420,8421,8422],{"id":590,"depth":637,"text":590},{"id":4636,"depth":637,"text":4385},{"id":4820,"depth":637,"text":4611},{"id":4877,"depth":637,"text":4633},{"id":4960,"depth":637,"text":4793},{"id":5302,"depth":637,"text":5179},{"id":604,"depth":637,"text":604},{"id":5806,"depth":630,"text":5807,"children":8424},[8425,8426,8427,8428,8429,8430],{"id":599,"depth":637,"text":599},{"id":614,"depth":637,"text":614},{"id":609,"depth":637,"text":609},{"id":498,"depth":637,"text":498},{"id":6483,"depth":637,"text":2052},{"id":7042,"depth":637,"text":6480},{"id":7074,"depth":630,"text":7075,"children":8432},[8433,8434,8435],{"id":7078,"depth":637,"text":2120},{"id":7174,"depth":637,"text":7151},{"id":7221,"depth":637,"text":2125},{"id":7319,"depth":630,"text":7320,"children":8437},[8438,8439,8440,8441,8442,8443,8444,8445],{"id":7326,"depth":637,"text":7329},{"id":7394,"depth":637,"text":2755},{"id":7505,"depth":637,"text":7501},{"id":7640,"depth":637,"text":1770},{"id":7870,"depth":637,"text":1752},{"id":8137,"depth":637,"text":7745},{"id":8176,"depth":637,"text":8179},{"id":8213,"depth":637,"text":8216},{"id":8371,"depth":630,"text":8372},"Reference for every export of @monospace\u002Fextension-kit\u002Fdata-connector\u002Fexperimental, the helpers that build a data connector's schema document from typed definitions.","md",null,{},{"icon":404},{"title":401,"description":8447},"lZuHhunZRJRc4WE7WBURXK_mK3xtN20UZVLTl_doWMc",[8455,8457],{"title":396,"path":397,"stem":398,"description":8456,"icon":399,"children":-1},"Reference for every type in @monospace\u002Fextension-kit\u002Fdata-connector\u002Fprotocol, the schema document and query wire format a data connector extension answers with and receives.",{"title":410,"path":411,"stem":412,"description":8458,"icon":81,"children":-1},"Reference for the dataConnector entry, what setup and the handlers must do, the schema document, and the query requests a data connector receives and answers.",1790840134385]