@rakun-kit/core 1.5.13 → 1.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +105 -20
- package/dist/cjs/api/operations/manager-contract.js +8 -0
- package/dist/cjs/api/operations/manager-contract.js.map +1 -1
- package/dist/cjs/api/operations/manager-manifest.js +5 -0
- package/dist/cjs/api/operations/manager-manifest.js.map +1 -1
- package/dist/cjs/api/operations/manager.js +4 -0
- package/dist/cjs/api/operations/manager.js.map +1 -1
- package/dist/cjs/api/routes/manager/auth/markTourSeen.js +4 -1
- package/dist/cjs/api/routes/manager/auth/markTourSeen.js.map +1 -1
- package/dist/cjs/api/routes/manager/localeVariants.js +20 -14
- package/dist/cjs/api/routes/manager/localeVariants.js.map +1 -1
- package/dist/cjs/api/routes/manager/media/deleteMediaStorage.js +14 -9
- package/dist/cjs/api/routes/manager/media/deleteMediaStorage.js.map +1 -1
- package/dist/cjs/api/routes/manager/media/finalizeUpload.js +4 -0
- package/dist/cjs/api/routes/manager/media/finalizeUpload.js.map +1 -1
- package/dist/cjs/api/routes/manager/media/reimportMedia.js +20 -10
- package/dist/cjs/api/routes/manager/media/reimportMedia.js.map +1 -1
- package/dist/cjs/api/routes/manager/media/replaceMedia.js +224 -0
- package/dist/cjs/api/routes/manager/media/replaceMedia.js.map +1 -0
- package/dist/cjs/api/routes/manager/media/resolveMediaRecordUrls.js +14 -12
- package/dist/cjs/api/routes/manager/media/resolveMediaRecordUrls.js.map +1 -1
- package/dist/cjs/api/routes/manager/media/uploadBinary.js +112 -39
- package/dist/cjs/api/routes/manager/media/uploadBinary.js.map +1 -1
- package/dist/cjs/api/routes/web/llms.js +53 -52
- package/dist/cjs/api/routes/web/llms.js.map +1 -1
- package/dist/cjs/api/routes/web/page.js +47 -14
- package/dist/cjs/api/routes/web/page.js.map +1 -1
- package/dist/cjs/api/routes/web/sitemap.js +12 -2
- package/dist/cjs/api/routes/web/sitemap.js.map +1 -1
- package/dist/cjs/api/routes/web/staticPaths.js +4 -2
- package/dist/cjs/api/routes/web/staticPaths.js.map +1 -1
- package/dist/cjs/api/utils/dynamicData.js +193 -130
- package/dist/cjs/api/utils/dynamicData.js.map +1 -1
- package/dist/cjs/api/utils/index.js +2 -1
- package/dist/cjs/api/utils/index.js.map +1 -1
- package/dist/cjs/api/utils/mediaUploadKey.js +11 -1
- package/dist/cjs/api/utils/mediaUploadKey.js.map +1 -1
- package/dist/cjs/api/utils/populates/populateLinks.js +27 -55
- package/dist/cjs/api/utils/populates/populateLinks.js.map +1 -1
- package/dist/cjs/api/utils/populates/populateRelations.js +78 -43
- package/dist/cjs/api/utils/populates/populateRelations.js.map +1 -1
- package/dist/cjs/api/utils/routes/routeMapHelpers.js +44 -10
- package/dist/cjs/api/utils/routes/routeMapHelpers.js.map +1 -1
- package/dist/cjs/api/utils/routes/updateRoutesMap.js +12 -7
- package/dist/cjs/api/utils/routes/updateRoutesMap.js.map +1 -1
- package/dist/cjs/client.js +1 -0
- package/dist/cjs/client.js.map +1 -1
- package/dist/cjs/contracts.js +1 -0
- package/dist/cjs/contracts.js.map +1 -1
- package/dist/cjs/index.js +2 -2
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/internal-content-types/Backup.js +3 -3
- package/dist/cjs/internal-content-types/Backup.js.map +1 -1
- package/dist/cjs/internal-content-types/ContentComment.js +2 -2
- package/dist/cjs/internal-content-types/ContentComment.js.map +1 -1
- package/dist/cjs/internal-content-types/ContentReview.js +31 -18
- package/dist/cjs/internal-content-types/ContentReview.js.map +1 -1
- package/dist/cjs/internal-content-types/ContentReviewDecision.js +1 -1
- package/dist/cjs/internal-content-types/ContentReviewDecision.js.map +1 -1
- package/dist/cjs/internal-content-types/ContentReviewPolicy.js +2 -2
- package/dist/cjs/internal-content-types/ContentReviewPolicy.js.map +1 -1
- package/dist/cjs/internal-content-types/ContentVersion.js +4 -4
- package/dist/cjs/internal-content-types/ContentVersion.js.map +1 -1
- package/dist/cjs/internal-content-types/Language.js +1 -1
- package/dist/cjs/internal-content-types/Language.js.map +1 -1
- package/dist/cjs/internal-content-types/LlmsSettings.js +8 -9
- package/dist/cjs/internal-content-types/LlmsSettings.js.map +1 -1
- package/dist/cjs/internal-content-types/LoginIpBlock.js +1 -1
- package/dist/cjs/internal-content-types/LoginIpBlock.js.map +1 -1
- package/dist/cjs/internal-content-types/ManagerNotification.js +2 -2
- package/dist/cjs/internal-content-types/ManagerNotification.js.map +1 -1
- package/dist/cjs/internal-content-types/ManagerUser.js +9 -9
- package/dist/cjs/internal-content-types/ManagerUser.js.map +1 -1
- package/dist/cjs/internal-content-types/Media.js +18 -17
- package/dist/cjs/internal-content-types/Media.js.map +1 -1
- package/dist/cjs/internal-content-types/MediaFolder.js +2 -2
- package/dist/cjs/internal-content-types/MediaFolder.js.map +1 -1
- package/dist/cjs/internal-content-types/MfaChallenge.js +2 -2
- package/dist/cjs/internal-content-types/MfaChallenge.js.map +1 -1
- package/dist/cjs/internal-content-types/Migration.js +5 -5
- package/dist/cjs/internal-content-types/Migration.js.map +1 -1
- package/dist/cjs/internal-content-types/PasswordResetToken.js +1 -1
- package/dist/cjs/internal-content-types/PasswordResetToken.js.map +1 -1
- package/dist/cjs/internal-content-types/PreviewSnapshot.js +2 -2
- package/dist/cjs/internal-content-types/PreviewSnapshot.js.map +1 -1
- package/dist/cjs/internal-content-types/Redirect.js +4 -4
- package/dist/cjs/internal-content-types/Redirect.js.map +1 -1
- package/dist/cjs/internal-content-types/RobotsRule.js +3 -3
- package/dist/cjs/internal-content-types/RobotsRule.js.map +1 -1
- package/dist/cjs/internal-content-types/Route.js +2 -2
- package/dist/cjs/internal-content-types/Route.js.map +1 -1
- package/dist/cjs/internal-content-types/RouteLayoutModule.js +1 -1
- package/dist/cjs/internal-content-types/RouteLayoutModule.js.map +1 -1
- package/dist/cjs/internal-content-types/RouteLayoutModuleOverride.js +1 -1
- package/dist/cjs/internal-content-types/RouteLayoutModuleOverride.js.map +1 -1
- package/dist/cjs/internal-content-types/RouteMap.js +2 -2
- package/dist/cjs/internal-content-types/RouteMap.js.map +1 -1
- package/dist/cjs/internal-content-types/RouteSettings.js +1 -1
- package/dist/cjs/internal-content-types/RouteSettings.js.map +1 -1
- package/dist/cjs/internal-content-types/Seo.js +34 -20
- package/dist/cjs/internal-content-types/Seo.js.map +1 -1
- package/dist/cjs/internal-content-types/SeoAudit.js +29 -0
- package/dist/cjs/internal-content-types/SeoAudit.js.map +1 -0
- package/dist/cjs/internal-content-types/SeoSettings.js +5 -5
- package/dist/cjs/internal-content-types/SeoSettings.js.map +1 -1
- package/dist/cjs/internal-content-types/StructuredData.js +102 -0
- package/dist/cjs/internal-content-types/StructuredData.js.map +1 -0
- package/dist/cjs/internal-content-types/UserMfa.js +6 -6
- package/dist/cjs/internal-content-types/UserMfa.js.map +1 -1
- package/dist/cjs/internal-content-types/WebAuthnRegChallenge.js +1 -1
- package/dist/cjs/internal-content-types/WebAuthnRegChallenge.js.map +1 -1
- package/dist/cjs/internal-content-types/index.js +2 -0
- package/dist/cjs/internal-content-types/index.js.map +1 -1
- package/dist/cjs/lib/ContentType.js +11 -3
- package/dist/cjs/lib/ContentType.js.map +1 -1
- package/dist/cjs/lib/Registry.js +1 -0
- package/dist/cjs/lib/Registry.js.map +1 -1
- package/dist/cjs/lib/fields/Boolean.js +5 -1
- package/dist/cjs/lib/fields/Boolean.js.map +1 -1
- package/dist/cjs/lib/fields/Breadcrums.js +5 -1
- package/dist/cjs/lib/fields/Breadcrums.js.map +1 -1
- package/dist/cjs/lib/fields/ContentReference.js +22 -6
- package/dist/cjs/lib/fields/ContentReference.js.map +1 -1
- package/dist/cjs/lib/fields/Date.js +11 -5
- package/dist/cjs/lib/fields/Date.js.map +1 -1
- package/dist/cjs/lib/fields/Field.js +71 -45
- package/dist/cjs/lib/fields/Field.js.map +1 -1
- package/dist/cjs/lib/fields/Fields.js +2 -0
- package/dist/cjs/lib/fields/Fields.js.map +1 -1
- package/dist/cjs/lib/fields/File.js +74 -25
- package/dist/cjs/lib/fields/File.js.map +1 -1
- package/dist/cjs/lib/fields/Iterator.js +1 -1
- package/dist/cjs/lib/fields/Iterator.js.map +1 -1
- package/dist/cjs/lib/fields/Link.js +26 -15
- package/dist/cjs/lib/fields/Link.js.map +1 -1
- package/dist/cjs/lib/fields/List.js +34 -12
- package/dist/cjs/lib/fields/List.js.map +1 -1
- package/dist/cjs/lib/fields/Menu.js +56 -0
- package/dist/cjs/lib/fields/Menu.js.map +1 -0
- package/dist/cjs/lib/fields/Number.js +3 -2
- package/dist/cjs/lib/fields/Number.js.map +1 -1
- package/dist/cjs/lib/fields/Relation.js +17 -15
- package/dist/cjs/lib/fields/Relation.js.map +1 -1
- package/dist/cjs/lib/fields/Select.js +20 -4
- package/dist/cjs/lib/fields/Select.js.map +1 -1
- package/dist/cjs/lib/fields/SelfRelation.js +4 -3
- package/dist/cjs/lib/fields/SelfRelation.js.map +1 -1
- package/dist/cjs/lib/fields/SimpleList.js +38 -14
- package/dist/cjs/lib/fields/SimpleList.js.map +1 -1
- package/dist/cjs/lib/fields/String.js +34 -36
- package/dist/cjs/lib/fields/String.js.map +1 -1
- package/dist/cjs/lib/fields/index.js +1 -0
- package/dist/cjs/lib/fields/index.js.map +1 -1
- package/dist/cjs/media/imageOptimization.js.map +1 -1
- package/dist/cjs/media/mediaOptimization.js +18 -0
- package/dist/cjs/media/mediaOptimization.js.map +1 -0
- package/dist/cjs/media/videoOptimization.js +142 -0
- package/dist/cjs/media/videoOptimization.js.map +1 -0
- package/dist/cjs/orm/createIndexes.js +4 -0
- package/dist/cjs/orm/createIndexes.js.map +1 -1
- package/dist/cjs/schemas/manager/media/finalizeUpload.js +10 -1
- package/dist/cjs/schemas/manager/media/finalizeUpload.js.map +1 -1
- package/dist/cjs/schemas/manager/media/reimportMedia.js.map +1 -1
- package/dist/cjs/schemas/manager/media/replaceMedia.js +21 -0
- package/dist/cjs/schemas/manager/media/replaceMedia.js.map +1 -0
- package/dist/cjs/schemas/web/page.js +2 -3
- package/dist/cjs/schemas/web/page.js.map +1 -1
- package/dist/cjs/web/page.js +1 -1
- package/dist/cjs/web/page.js.map +1 -1
- package/dist/docs/index.md +117 -18
- package/dist/esm/api/operations/index.d.ts +154 -26
- package/dist/esm/api/operations/index.d.ts.map +1 -1
- package/dist/esm/api/operations/manager-contract.d.ts +108 -8
- package/dist/esm/api/operations/manager-contract.d.ts.map +1 -1
- package/dist/esm/api/operations/manager-contract.js +9 -1
- package/dist/esm/api/operations/manager-contract.js.map +1 -1
- package/dist/esm/api/operations/manager-manifest.d.ts +5 -0
- package/dist/esm/api/operations/manager-manifest.d.ts.map +1 -1
- package/dist/esm/api/operations/manager-manifest.js +5 -0
- package/dist/esm/api/operations/manager-manifest.js.map +1 -1
- package/dist/esm/api/operations/manager.d.ts +108 -8
- package/dist/esm/api/operations/manager.d.ts.map +1 -1
- package/dist/esm/api/operations/manager.js +4 -0
- package/dist/esm/api/operations/manager.js.map +1 -1
- package/dist/esm/api/operations/web-contract.d.ts +46 -18
- package/dist/esm/api/operations/web-contract.d.ts.map +1 -1
- package/dist/esm/api/operations/web.d.ts +46 -18
- package/dist/esm/api/operations/web.d.ts.map +1 -1
- package/dist/esm/api/routes/manager/auth/getSession.d.ts +2 -2
- package/dist/esm/api/routes/manager/auth/markTourSeen.d.ts +3 -3
- package/dist/esm/api/routes/manager/auth/markTourSeen.d.ts.map +1 -1
- package/dist/esm/api/routes/manager/auth/markTourSeen.js +4 -1
- package/dist/esm/api/routes/manager/auth/markTourSeen.js.map +1 -1
- package/dist/esm/api/routes/manager/auth/updateAccount.d.ts +2 -2
- package/dist/esm/api/routes/manager/auth/updateTutorialPreferences.d.ts +2 -2
- package/dist/esm/api/routes/manager/media/deleteMediaStorage.d.ts +1 -0
- package/dist/esm/api/routes/manager/media/deleteMediaStorage.d.ts.map +1 -1
- package/dist/esm/api/routes/manager/media/deleteMediaStorage.js +14 -9
- package/dist/esm/api/routes/manager/media/deleteMediaStorage.js.map +1 -1
- package/dist/esm/api/routes/manager/media/finalizeUpload.d.ts.map +1 -1
- package/dist/esm/api/routes/manager/media/finalizeUpload.js +5 -1
- package/dist/esm/api/routes/manager/media/finalizeUpload.js.map +1 -1
- package/dist/esm/api/routes/manager/media/reimportMedia.d.ts +12 -3
- package/dist/esm/api/routes/manager/media/reimportMedia.d.ts.map +1 -1
- package/dist/esm/api/routes/manager/media/reimportMedia.js +18 -8
- package/dist/esm/api/routes/manager/media/reimportMedia.js.map +1 -1
- package/dist/esm/api/routes/manager/media/replaceMedia.d.ts +32 -0
- package/dist/esm/api/routes/manager/media/replaceMedia.d.ts.map +1 -0
- package/dist/esm/api/routes/manager/media/replaceMedia.js +218 -0
- package/dist/esm/api/routes/manager/media/replaceMedia.js.map +1 -0
- package/dist/esm/api/routes/manager/media/resolveMediaRecordUrls.d.ts.map +1 -1
- package/dist/esm/api/routes/manager/media/resolveMediaRecordUrls.js +14 -12
- package/dist/esm/api/routes/manager/media/resolveMediaRecordUrls.js.map +1 -1
- package/dist/esm/api/routes/manager/media/uploadBinary.d.ts.map +1 -1
- package/dist/esm/api/routes/manager/media/uploadBinary.js +112 -39
- package/dist/esm/api/routes/manager/media/uploadBinary.js.map +1 -1
- package/dist/esm/api/routes/web/llms.d.ts +1 -1
- package/dist/esm/api/routes/web/llms.d.ts.map +1 -1
- package/dist/esm/api/routes/web/llms.js +43 -50
- package/dist/esm/api/routes/web/llms.js.map +1 -1
- package/dist/esm/api/routes/web/page.d.ts +2 -0
- package/dist/esm/api/routes/web/page.d.ts.map +1 -1
- package/dist/esm/api/routes/web/page.js +45 -14
- package/dist/esm/api/routes/web/page.js.map +1 -1
- package/dist/esm/api/routes/web/previewPage.d.ts +23 -9
- package/dist/esm/api/routes/web/previewPage.d.ts.map +1 -1
- package/dist/esm/api/routes/web/sitemap.d.ts.map +1 -1
- package/dist/esm/api/routes/web/sitemap.js +12 -2
- package/dist/esm/api/routes/web/sitemap.js.map +1 -1
- package/dist/esm/api/routes/web/staticPaths.d.ts.map +1 -1
- package/dist/esm/api/routes/web/staticPaths.js +4 -2
- package/dist/esm/api/routes/web/staticPaths.js.map +1 -1
- package/dist/esm/api/utils/dynamicData.d.ts +6 -5
- package/dist/esm/api/utils/dynamicData.d.ts.map +1 -1
- package/dist/esm/api/utils/dynamicData.js +200 -138
- package/dist/esm/api/utils/dynamicData.js.map +1 -1
- package/dist/esm/api/utils/getUser.d.ts +2 -2
- package/dist/esm/api/utils/index.d.ts +25 -25
- package/dist/esm/api/utils/index.d.ts.map +1 -1
- package/dist/esm/api/utils/index.js +25 -25
- package/dist/esm/api/utils/index.js.map +1 -1
- package/dist/esm/api/utils/mediaUploadKey.d.ts +2 -0
- package/dist/esm/api/utils/mediaUploadKey.d.ts.map +1 -1
- package/dist/esm/api/utils/mediaUploadKey.js +9 -0
- package/dist/esm/api/utils/mediaUploadKey.js.map +1 -1
- package/dist/esm/api/utils/populates/populateLinks.d.ts +4 -2
- package/dist/esm/api/utils/populates/populateLinks.d.ts.map +1 -1
- package/dist/esm/api/utils/populates/populateLinks.js +30 -58
- package/dist/esm/api/utils/populates/populateLinks.js.map +1 -1
- package/dist/esm/api/utils/populates/populateRelations.d.ts +2 -2
- package/dist/esm/api/utils/populates/populateRelations.d.ts.map +1 -1
- package/dist/esm/api/utils/populates/populateRelations.js +85 -50
- package/dist/esm/api/utils/populates/populateRelations.js.map +1 -1
- package/dist/esm/api/utils/reviews.d.ts +2 -2
- package/dist/esm/api/utils/routes/routeMapHelpers.d.ts +4 -1
- package/dist/esm/api/utils/routes/routeMapHelpers.d.ts.map +1 -1
- package/dist/esm/api/utils/routes/routeMapHelpers.js +42 -9
- package/dist/esm/api/utils/routes/routeMapHelpers.js.map +1 -1
- package/dist/esm/api/utils/routes/updateRoutesMap.d.ts.map +1 -1
- package/dist/esm/api/utils/routes/updateRoutesMap.js +12 -7
- package/dist/esm/api/utils/routes/updateRoutesMap.js.map +1 -1
- package/dist/esm/client.d.ts +2 -0
- package/dist/esm/client.d.ts.map +1 -1
- package/dist/esm/client.js +1 -0
- package/dist/esm/client.js.map +1 -1
- package/dist/esm/contracts.d.ts +1 -0
- package/dist/esm/contracts.d.ts.map +1 -1
- package/dist/esm/contracts.js +1 -0
- package/dist/esm/contracts.js.map +1 -1
- package/dist/esm/index.d.ts +1 -0
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +2 -2
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/internal-content-types/ApiOperation.d.ts +56 -16
- package/dist/esm/internal-content-types/ApiOperation.d.ts.map +1 -1
- package/dist/esm/internal-content-types/Backup.d.ts +1044 -99
- package/dist/esm/internal-content-types/Backup.d.ts.map +1 -1
- package/dist/esm/internal-content-types/Backup.js +3 -3
- package/dist/esm/internal-content-types/Backup.js.map +1 -1
- package/dist/esm/internal-content-types/BackupDocument.d.ts +56 -16
- package/dist/esm/internal-content-types/BackupDocument.d.ts.map +1 -1
- package/dist/esm/internal-content-types/ContentComment.d.ts +5833 -614
- package/dist/esm/internal-content-types/ContentComment.d.ts.map +1 -1
- package/dist/esm/internal-content-types/ContentComment.js +2 -2
- package/dist/esm/internal-content-types/ContentComment.js.map +1 -1
- package/dist/esm/internal-content-types/ContentCommentReadState.d.ts +4384 -896
- package/dist/esm/internal-content-types/ContentCommentReadState.d.ts.map +1 -1
- package/dist/esm/internal-content-types/ContentReview.d.ts +33582 -9735
- package/dist/esm/internal-content-types/ContentReview.d.ts.map +1 -1
- package/dist/esm/internal-content-types/ContentReview.js +31 -18
- package/dist/esm/internal-content-types/ContentReview.js.map +1 -1
- package/dist/esm/internal-content-types/ContentReviewDecision.d.ts +4777 -914
- package/dist/esm/internal-content-types/ContentReviewDecision.d.ts.map +1 -1
- package/dist/esm/internal-content-types/ContentReviewDecision.js +1 -1
- package/dist/esm/internal-content-types/ContentReviewDecision.js.map +1 -1
- package/dist/esm/internal-content-types/ContentReviewPolicy.d.ts +1547 -40
- package/dist/esm/internal-content-types/ContentReviewPolicy.d.ts.map +1 -1
- package/dist/esm/internal-content-types/ContentReviewPolicy.js +2 -2
- package/dist/esm/internal-content-types/ContentReviewPolicy.js.map +1 -1
- package/dist/esm/internal-content-types/ContentTemplate.d.ts +38 -12
- package/dist/esm/internal-content-types/ContentTemplate.d.ts.map +1 -1
- package/dist/esm/internal-content-types/ContentVersion.d.ts +1168 -48
- package/dist/esm/internal-content-types/ContentVersion.d.ts.map +1 -1
- package/dist/esm/internal-content-types/ContentVersion.js +4 -4
- package/dist/esm/internal-content-types/ContentVersion.js.map +1 -1
- package/dist/esm/internal-content-types/HelloWorld.d.ts +15 -5
- package/dist/esm/internal-content-types/HelloWorld.d.ts.map +1 -1
- package/dist/esm/internal-content-types/Language.d.ts +109 -9
- package/dist/esm/internal-content-types/Language.d.ts.map +1 -1
- package/dist/esm/internal-content-types/Language.js +1 -1
- package/dist/esm/internal-content-types/Language.js.map +1 -1
- package/dist/esm/internal-content-types/LiteralTranslation.d.ts +28 -8
- package/dist/esm/internal-content-types/LiteralTranslation.d.ts.map +1 -1
- package/dist/esm/internal-content-types/LlmsSettings.d.ts +2351 -914
- package/dist/esm/internal-content-types/LlmsSettings.d.ts.map +1 -1
- package/dist/esm/internal-content-types/LlmsSettings.js +8 -9
- package/dist/esm/internal-content-types/LlmsSettings.js.map +1 -1
- package/dist/esm/internal-content-types/LoginIpBlock.d.ts +119 -13
- package/dist/esm/internal-content-types/LoginIpBlock.d.ts.map +1 -1
- package/dist/esm/internal-content-types/LoginIpBlock.js +1 -1
- package/dist/esm/internal-content-types/LoginIpBlock.js.map +1 -1
- package/dist/esm/internal-content-types/ManagerFavorite.d.ts +4370 -892
- package/dist/esm/internal-content-types/ManagerFavorite.d.ts.map +1 -1
- package/dist/esm/internal-content-types/ManagerNotification.d.ts +8876 -1441
- package/dist/esm/internal-content-types/ManagerNotification.d.ts.map +1 -1
- package/dist/esm/internal-content-types/ManagerNotification.js +2 -2
- package/dist/esm/internal-content-types/ManagerNotification.js.map +1 -1
- package/dist/esm/internal-content-types/ManagerRole.d.ts +17 -5
- package/dist/esm/internal-content-types/ManagerRole.d.ts.map +1 -1
- package/dist/esm/internal-content-types/ManagerUser.d.ts +1775 -48
- package/dist/esm/internal-content-types/ManagerUser.d.ts.map +1 -1
- package/dist/esm/internal-content-types/ManagerUser.js +9 -9
- package/dist/esm/internal-content-types/ManagerUser.js.map +1 -1
- package/dist/esm/internal-content-types/Media.d.ts +6101 -774
- package/dist/esm/internal-content-types/Media.d.ts.map +1 -1
- package/dist/esm/internal-content-types/Media.js +18 -17
- package/dist/esm/internal-content-types/Media.js.map +1 -1
- package/dist/esm/internal-content-types/MediaFolder.d.ts +401 -14
- package/dist/esm/internal-content-types/MediaFolder.d.ts.map +1 -1
- package/dist/esm/internal-content-types/MediaFolder.js +2 -2
- package/dist/esm/internal-content-types/MediaFolder.js.map +1 -1
- package/dist/esm/internal-content-types/MfaChallenge.d.ts +4915 -956
- package/dist/esm/internal-content-types/MfaChallenge.d.ts.map +1 -1
- package/dist/esm/internal-content-types/MfaChallenge.js +2 -2
- package/dist/esm/internal-content-types/MfaChallenge.js.map +1 -1
- package/dist/esm/internal-content-types/Migration.d.ts +1180 -39
- package/dist/esm/internal-content-types/Migration.d.ts.map +1 -1
- package/dist/esm/internal-content-types/Migration.js +5 -5
- package/dist/esm/internal-content-types/Migration.js.map +1 -1
- package/dist/esm/internal-content-types/MigrationLock.d.ts +8 -4
- package/dist/esm/internal-content-types/MigrationLock.d.ts.map +1 -1
- package/dist/esm/internal-content-types/Page.d.ts +45 -15
- package/dist/esm/internal-content-types/Page.d.ts.map +1 -1
- package/dist/esm/internal-content-types/PasswordResetToken.d.ts +4452 -894
- package/dist/esm/internal-content-types/PasswordResetToken.d.ts.map +1 -1
- package/dist/esm/internal-content-types/PasswordResetToken.js +1 -1
- package/dist/esm/internal-content-types/PasswordResetToken.js.map +1 -1
- package/dist/esm/internal-content-types/PreviewSnapshot.d.ts +646 -34
- package/dist/esm/internal-content-types/PreviewSnapshot.d.ts.map +1 -1
- package/dist/esm/internal-content-types/PreviewSnapshot.js +2 -2
- package/dist/esm/internal-content-types/PreviewSnapshot.js.map +1 -1
- package/dist/esm/internal-content-types/Redirect.d.ts +1462 -96
- package/dist/esm/internal-content-types/Redirect.d.ts.map +1 -1
- package/dist/esm/internal-content-types/Redirect.js +4 -4
- package/dist/esm/internal-content-types/Redirect.js.map +1 -1
- package/dist/esm/internal-content-types/RobotsRule.d.ts +862 -23
- package/dist/esm/internal-content-types/RobotsRule.d.ts.map +1 -1
- package/dist/esm/internal-content-types/RobotsRule.js +3 -3
- package/dist/esm/internal-content-types/RobotsRule.js.map +1 -1
- package/dist/esm/internal-content-types/Route.d.ts +424 -27
- package/dist/esm/internal-content-types/Route.d.ts.map +1 -1
- package/dist/esm/internal-content-types/Route.js +2 -2
- package/dist/esm/internal-content-types/Route.js.map +1 -1
- package/dist/esm/internal-content-types/RouteLayoutModule.d.ts +350 -25
- package/dist/esm/internal-content-types/RouteLayoutModule.d.ts.map +1 -1
- package/dist/esm/internal-content-types/RouteLayoutModule.js +1 -1
- package/dist/esm/internal-content-types/RouteLayoutModule.js.map +1 -1
- package/dist/esm/internal-content-types/RouteLayoutModuleOverride.d.ts +340 -21
- package/dist/esm/internal-content-types/RouteLayoutModuleOverride.d.ts.map +1 -1
- package/dist/esm/internal-content-types/RouteLayoutModuleOverride.js +1 -1
- package/dist/esm/internal-content-types/RouteLayoutModuleOverride.js.map +1 -1
- package/dist/esm/internal-content-types/RouteLocaleVariant.d.ts +84 -24
- package/dist/esm/internal-content-types/RouteLocaleVariant.d.ts.map +1 -1
- package/dist/esm/internal-content-types/RouteMap.d.ts +427 -22
- package/dist/esm/internal-content-types/RouteMap.d.ts.map +1 -1
- package/dist/esm/internal-content-types/RouteMap.js +2 -2
- package/dist/esm/internal-content-types/RouteMap.js.map +1 -1
- package/dist/esm/internal-content-types/RouteSettings.d.ts +1610 -534
- package/dist/esm/internal-content-types/RouteSettings.d.ts.map +1 -1
- package/dist/esm/internal-content-types/RouteSettings.js +1 -1
- package/dist/esm/internal-content-types/RouteSettings.js.map +1 -1
- package/dist/esm/internal-content-types/SchemaState.d.ts +32 -12
- package/dist/esm/internal-content-types/SchemaState.d.ts.map +1 -1
- package/dist/esm/internal-content-types/Seo.d.ts +3188 -605
- package/dist/esm/internal-content-types/Seo.d.ts.map +1 -1
- package/dist/esm/internal-content-types/Seo.js +34 -20
- package/dist/esm/internal-content-types/Seo.js.map +1 -1
- package/dist/esm/internal-content-types/SeoAudit.d.ts +2724 -0
- package/dist/esm/internal-content-types/SeoAudit.d.ts.map +1 -0
- package/dist/esm/internal-content-types/SeoAudit.js +23 -0
- package/dist/esm/internal-content-types/SeoAudit.js.map +1 -0
- package/dist/esm/internal-content-types/SeoSettings.d.ts +16072 -4113
- package/dist/esm/internal-content-types/SeoSettings.d.ts.map +1 -1
- package/dist/esm/internal-content-types/SeoSettings.js +5 -5
- package/dist/esm/internal-content-types/SeoSettings.js.map +1 -1
- package/dist/esm/internal-content-types/Session.d.ts +4365 -893
- package/dist/esm/internal-content-types/Session.d.ts.map +1 -1
- package/dist/esm/internal-content-types/StructuredData.d.ts +6095 -0
- package/dist/esm/internal-content-types/StructuredData.d.ts.map +1 -0
- package/dist/esm/internal-content-types/StructuredData.js +96 -0
- package/dist/esm/internal-content-types/StructuredData.js.map +1 -0
- package/dist/esm/internal-content-types/UserMfa.d.ts +5285 -903
- package/dist/esm/internal-content-types/UserMfa.d.ts.map +1 -1
- package/dist/esm/internal-content-types/UserMfa.js +6 -6
- package/dist/esm/internal-content-types/UserMfa.js.map +1 -1
- package/dist/esm/internal-content-types/WebAuthnCredential.d.ts +4409 -905
- package/dist/esm/internal-content-types/WebAuthnCredential.d.ts.map +1 -1
- package/dist/esm/internal-content-types/WebAuthnRegChallenge.d.ts +4466 -898
- package/dist/esm/internal-content-types/WebAuthnRegChallenge.d.ts.map +1 -1
- package/dist/esm/internal-content-types/WebAuthnRegChallenge.js +1 -1
- package/dist/esm/internal-content-types/WebAuthnRegChallenge.js.map +1 -1
- package/dist/esm/internal-content-types/index.d.ts +2 -0
- package/dist/esm/internal-content-types/index.d.ts.map +1 -1
- package/dist/esm/internal-content-types/index.js +2 -0
- package/dist/esm/internal-content-types/index.js.map +1 -1
- package/dist/esm/internal-content-types/syncAdminRole.d.ts +1 -1
- package/dist/esm/lib/ContentType.d.ts.map +1 -1
- package/dist/esm/lib/ContentType.js +11 -3
- package/dist/esm/lib/ContentType.js.map +1 -1
- package/dist/esm/lib/Registry.d.ts.map +1 -1
- package/dist/esm/lib/Registry.js +1 -0
- package/dist/esm/lib/Registry.js.map +1 -1
- package/dist/esm/lib/fields/Boolean.d.ts +4 -3
- package/dist/esm/lib/fields/Boolean.d.ts.map +1 -1
- package/dist/esm/lib/fields/Boolean.js +7 -3
- package/dist/esm/lib/fields/Boolean.js.map +1 -1
- package/dist/esm/lib/fields/Breadcrums.d.ts +2 -1
- package/dist/esm/lib/fields/Breadcrums.d.ts.map +1 -1
- package/dist/esm/lib/fields/Breadcrums.js +5 -1
- package/dist/esm/lib/fields/Breadcrums.js.map +1 -1
- package/dist/esm/lib/fields/ContentReference.d.ts +12 -5
- package/dist/esm/lib/fields/ContentReference.d.ts.map +1 -1
- package/dist/esm/lib/fields/ContentReference.js +25 -9
- package/dist/esm/lib/fields/ContentReference.js.map +1 -1
- package/dist/esm/lib/fields/Date.d.ts +5 -4
- package/dist/esm/lib/fields/Date.d.ts.map +1 -1
- package/dist/esm/lib/fields/Date.js +13 -7
- package/dist/esm/lib/fields/Date.js.map +1 -1
- package/dist/esm/lib/fields/Field.d.ts +105 -46
- package/dist/esm/lib/fields/Field.d.ts.map +1 -1
- package/dist/esm/lib/fields/Field.js +71 -45
- package/dist/esm/lib/fields/Field.js.map +1 -1
- package/dist/esm/lib/fields/Fields.d.ts +3 -0
- package/dist/esm/lib/fields/Fields.d.ts.map +1 -1
- package/dist/esm/lib/fields/Fields.js +2 -0
- package/dist/esm/lib/fields/Fields.js.map +1 -1
- package/dist/esm/lib/fields/File.d.ts +32 -6
- package/dist/esm/lib/fields/File.d.ts.map +1 -1
- package/dist/esm/lib/fields/File.js +76 -27
- package/dist/esm/lib/fields/File.js.map +1 -1
- package/dist/esm/lib/fields/Iterator.d.ts +2 -1
- package/dist/esm/lib/fields/Iterator.d.ts.map +1 -1
- package/dist/esm/lib/fields/Iterator.js +2 -2
- package/dist/esm/lib/fields/Iterator.js.map +1 -1
- package/dist/esm/lib/fields/Link.d.ts +32 -9
- package/dist/esm/lib/fields/Link.d.ts.map +1 -1
- package/dist/esm/lib/fields/Link.js +28 -18
- package/dist/esm/lib/fields/Link.js.map +1 -1
- package/dist/esm/lib/fields/List.d.ts +11 -10
- package/dist/esm/lib/fields/List.d.ts.map +1 -1
- package/dist/esm/lib/fields/List.js +37 -15
- package/dist/esm/lib/fields/List.js.map +1 -1
- package/dist/esm/lib/fields/Menu.d.ts +26 -0
- package/dist/esm/lib/fields/Menu.d.ts.map +1 -0
- package/dist/esm/lib/fields/Menu.js +49 -0
- package/dist/esm/lib/fields/Menu.js.map +1 -0
- package/dist/esm/lib/fields/Number.d.ts +4 -3
- package/dist/esm/lib/fields/Number.d.ts.map +1 -1
- package/dist/esm/lib/fields/Number.js +5 -4
- package/dist/esm/lib/fields/Number.js.map +1 -1
- package/dist/esm/lib/fields/Relation.d.ts +14 -13
- package/dist/esm/lib/fields/Relation.d.ts.map +1 -1
- package/dist/esm/lib/fields/Relation.js +21 -19
- package/dist/esm/lib/fields/Relation.js.map +1 -1
- package/dist/esm/lib/fields/Select.d.ts +10 -3
- package/dist/esm/lib/fields/Select.d.ts.map +1 -1
- package/dist/esm/lib/fields/Select.js +22 -6
- package/dist/esm/lib/fields/Select.js.map +1 -1
- package/dist/esm/lib/fields/SelfRelation.d.ts +5 -4
- package/dist/esm/lib/fields/SelfRelation.d.ts.map +1 -1
- package/dist/esm/lib/fields/SelfRelation.js +7 -6
- package/dist/esm/lib/fields/SelfRelation.js.map +1 -1
- package/dist/esm/lib/fields/SimpleList.d.ts +11 -4
- package/dist/esm/lib/fields/SimpleList.d.ts.map +1 -1
- package/dist/esm/lib/fields/SimpleList.js +40 -16
- package/dist/esm/lib/fields/SimpleList.js.map +1 -1
- package/dist/esm/lib/fields/String.d.ts +6 -5
- package/dist/esm/lib/fields/String.d.ts.map +1 -1
- package/dist/esm/lib/fields/String.js +38 -40
- package/dist/esm/lib/fields/String.js.map +1 -1
- package/dist/esm/lib/fields/index.d.ts +1 -0
- package/dist/esm/lib/fields/index.d.ts.map +1 -1
- package/dist/esm/lib/fields/index.js +1 -0
- package/dist/esm/lib/fields/index.js.map +1 -1
- package/dist/esm/manager.d.ts +5 -0
- package/dist/esm/manager.d.ts.map +1 -1
- package/dist/esm/media/imageOptimization.d.ts +7 -1
- package/dist/esm/media/imageOptimization.d.ts.map +1 -1
- package/dist/esm/media/imageOptimization.js.map +1 -1
- package/dist/esm/media/mediaOptimization.d.ts +12 -0
- package/dist/esm/media/mediaOptimization.d.ts.map +1 -0
- package/dist/esm/media/mediaOptimization.js +15 -0
- package/dist/esm/media/mediaOptimization.js.map +1 -0
- package/dist/esm/media/videoOptimization.d.ts +19 -0
- package/dist/esm/media/videoOptimization.d.ts.map +1 -0
- package/dist/esm/media/videoOptimization.js +136 -0
- package/dist/esm/media/videoOptimization.js.map +1 -0
- package/dist/esm/orm/createIndexes.d.ts.map +1 -1
- package/dist/esm/orm/createIndexes.js +5 -1
- package/dist/esm/orm/createIndexes.js.map +1 -1
- package/dist/esm/schemas/manager/media/finalizeUpload.d.ts +43 -0
- package/dist/esm/schemas/manager/media/finalizeUpload.d.ts.map +1 -1
- package/dist/esm/schemas/manager/media/finalizeUpload.js +9 -0
- package/dist/esm/schemas/manager/media/finalizeUpload.js.map +1 -1
- package/dist/esm/schemas/manager/media/reimportMedia.d.ts +17 -1
- package/dist/esm/schemas/manager/media/reimportMedia.d.ts.map +1 -1
- package/dist/esm/schemas/manager/media/reimportMedia.js.map +1 -1
- package/dist/esm/schemas/manager/media/replaceMedia.d.ts +107 -0
- package/dist/esm/schemas/manager/media/replaceMedia.d.ts.map +1 -0
- package/dist/esm/schemas/manager/media/replaceMedia.js +15 -0
- package/dist/esm/schemas/manager/media/replaceMedia.js.map +1 -0
- package/dist/esm/schemas/web/page.d.ts +147 -6
- package/dist/esm/schemas/web/page.d.ts.map +1 -1
- package/dist/esm/schemas/web/page.js +2 -3
- package/dist/esm/schemas/web/page.js.map +1 -1
- package/dist/esm/schemas/web/previewPage.d.ts +75 -6
- package/dist/esm/schemas/web/previewPage.d.ts.map +1 -1
- package/dist/esm/web/page.d.ts +7 -7
- package/dist/esm/web/page.d.ts.map +1 -1
- package/dist/esm/web/page.js +1 -1
- package/dist/esm/web/page.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +140 -138
|
@@ -1,22 +1,44 @@
|
|
|
1
|
-
import z from
|
|
2
|
-
import { createField, defaultFieldState, withFieldModifiers, } from
|
|
3
|
-
import { Id } from
|
|
1
|
+
import z from 'zod';
|
|
2
|
+
import { createField, defaultFieldState, withFieldModifiers, } from './Field.js';
|
|
3
|
+
import { Id } from '../utils/id.js';
|
|
4
4
|
export const IteratorItemVisibilityConditionSchema = z.object({
|
|
5
5
|
field: z.string().trim().min(1),
|
|
6
|
-
operator: z.enum([
|
|
6
|
+
operator: z.enum(['notEmpty', 'empty']),
|
|
7
7
|
});
|
|
8
8
|
export function listField(fields) {
|
|
9
|
-
return makeListField({ fields, ui:
|
|
9
|
+
return makeListField({ fields, ui: 'List' }, defaultFieldState);
|
|
10
10
|
}
|
|
11
11
|
export function makeListField(options, state) {
|
|
12
12
|
const field = createField({
|
|
13
13
|
meta: {
|
|
14
|
-
type:
|
|
14
|
+
type: 'List',
|
|
15
15
|
ui: options.ui,
|
|
16
16
|
fields: options.fields.map((entry) => ({
|
|
17
17
|
name: entry.name,
|
|
18
18
|
field: entry.field.meta,
|
|
19
19
|
})),
|
|
20
|
+
capabilities: {
|
|
21
|
+
valueKind: 'array',
|
|
22
|
+
dynamic: { collection: 'heterogeneous' },
|
|
23
|
+
},
|
|
24
|
+
},
|
|
25
|
+
runtime: {
|
|
26
|
+
populate: (value, context) => Array.isArray(value)
|
|
27
|
+
? Promise.all(value.map(async (item) => {
|
|
28
|
+
if (!item ||
|
|
29
|
+
typeof item !== 'object' ||
|
|
30
|
+
Array.isArray(item) ||
|
|
31
|
+
!('name' in item) ||
|
|
32
|
+
typeof item.name !== 'string') {
|
|
33
|
+
return context.populate(item);
|
|
34
|
+
}
|
|
35
|
+
const entry = options.fields.find((candidate) => candidate.name === item.name);
|
|
36
|
+
return {
|
|
37
|
+
...item,
|
|
38
|
+
value: await context.populate(item.value, entry?.field),
|
|
39
|
+
};
|
|
40
|
+
}))
|
|
41
|
+
: value,
|
|
20
42
|
},
|
|
21
43
|
state,
|
|
22
44
|
schemas: {
|
|
@@ -36,7 +58,7 @@ function buildListDbSchema(fields, ui) {
|
|
|
36
58
|
return z.array(z.object({
|
|
37
59
|
name: z.string(),
|
|
38
60
|
value: unionSchemas(valueSchemas),
|
|
39
|
-
...(ui ===
|
|
61
|
+
...(ui === 'Iterator'
|
|
40
62
|
? {
|
|
41
63
|
visibleWhen: IteratorItemVisibilityConditionSchema.optional(),
|
|
42
64
|
}
|
|
@@ -46,16 +68,16 @@ function buildListDbSchema(fields, ui) {
|
|
|
46
68
|
function getListDbValueSchema(entry, ui) {
|
|
47
69
|
const schema = entry.field.getSchema();
|
|
48
70
|
const meta = entry.field.meta;
|
|
49
|
-
if (ui ===
|
|
50
|
-
meta.type ===
|
|
51
|
-
|
|
52
|
-
meta.only ===
|
|
53
|
-
|
|
54
|
-
typeof meta.contentType ===
|
|
71
|
+
if (ui === 'Iterator' &&
|
|
72
|
+
meta.type === 'Relation' &&
|
|
73
|
+
'only' in meta &&
|
|
74
|
+
meta.only === 'new' &&
|
|
75
|
+
'contentType' in meta &&
|
|
76
|
+
typeof meta.contentType === 'string') {
|
|
55
77
|
return z.union([
|
|
56
78
|
schema,
|
|
57
79
|
z.object({
|
|
58
|
-
type: z.literal(
|
|
80
|
+
type: z.literal('existing'),
|
|
59
81
|
_id: Id,
|
|
60
82
|
contentType: z.literal(meta.contentType),
|
|
61
83
|
}),
|
|
@@ -68,7 +90,7 @@ function buildListOutputSchema(fields, ui) {
|
|
|
68
90
|
return z.array(z.object({
|
|
69
91
|
name: z.string(),
|
|
70
92
|
value: unionSchemas(valueSchemas),
|
|
71
|
-
...(ui ===
|
|
93
|
+
...(ui === 'Iterator'
|
|
72
94
|
? {
|
|
73
95
|
visibleWhen: IteratorItemVisibilityConditionSchema.optional(),
|
|
74
96
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"List.js","sourceRoot":"","sources":["../../../../src/lib/fields/List.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,
|
|
1
|
+
{"version":3,"file":"List.js","sourceRoot":"","sources":["../../../../src/lib/fields/List.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import z from 'zod';
|
|
2
|
+
import { type DefaultFieldState, type EncodedField, type FieldLike, type FieldState, type FieldWithModifiers, type FieldCapabilities } from './Field.js';
|
|
3
|
+
import { type LinkfieldValue, type LinkOutputValue } from './Link.js';
|
|
4
|
+
export type MenuItemValue = LinkfieldValue & {
|
|
5
|
+
children: MenuItemValue[];
|
|
6
|
+
};
|
|
7
|
+
export type MenuItemOutput = LinkOutputValue & {
|
|
8
|
+
children: MenuItemOutput[];
|
|
9
|
+
};
|
|
10
|
+
export declare const MenuItemSchema: z.ZodType<MenuItemValue>;
|
|
11
|
+
export declare const MenuItemOutputSchema: z.ZodType<MenuItemOutput>;
|
|
12
|
+
export declare const MenuValueSchema: z.ZodArray<z.ZodType<MenuItemValue, unknown, z.core.$ZodTypeInternals<MenuItemValue, unknown>>>;
|
|
13
|
+
export declare const MenuOutputSchema: z.ZodArray<z.ZodType<MenuItemOutput, unknown, z.core.$ZodTypeInternals<MenuItemOutput, unknown>>>;
|
|
14
|
+
export type MenuFieldValue = z.infer<typeof MenuValueSchema>;
|
|
15
|
+
export type MenuFieldOutput = z.infer<typeof MenuOutputSchema>;
|
|
16
|
+
export type MenuMeta = {
|
|
17
|
+
type: 'Menu';
|
|
18
|
+
ui: 'Menu';
|
|
19
|
+
capabilities: FieldCapabilities;
|
|
20
|
+
};
|
|
21
|
+
type MenuFieldCore<State extends FieldState> = FieldLike<MenuFieldValue, MenuFieldValue, MenuFieldOutput, MenuMeta, State>;
|
|
22
|
+
export type MenuField<State extends FieldState = DefaultFieldState> = FieldWithModifiers<MenuFieldCore<State>>;
|
|
23
|
+
export type EncodedMenuField = EncodedField;
|
|
24
|
+
export declare function menuField(): MenuField;
|
|
25
|
+
export {};
|
|
26
|
+
//# sourceMappingURL=Menu.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Menu.d.ts","sourceRoot":"","sources":["../../../../src/lib/fields/Menu.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAA;AAEnB,OAAO,EAGL,KAAK,iBAAiB,EACtB,KAAK,YAAY,EACjB,KAAK,SAAS,EACd,KAAK,UAAU,EACf,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EAGvB,MAAM,SAAS,CAAA;AAChB,OAAO,EAGL,KAAK,cAAc,EACnB,KAAK,eAAe,EACrB,MAAM,QAAQ,CAAA;AAEf,MAAM,MAAM,aAAa,GAAG,cAAc,GAAG;IAC3C,QAAQ,EAAE,aAAa,EAAE,CAAA;CAC1B,CAAA;AAED,MAAM,MAAM,cAAc,GAAG,eAAe,GAAG;IAC7C,QAAQ,EAAE,cAAc,EAAE,CAAA;CAC3B,CAAA;AAED,eAAO,MAAM,cAAc,EAAE,CAAC,CAAC,OAAO,CAAC,aAAa,CAMnD,CAAA;AAED,eAAO,MAAM,oBAAoB,EAAE,CAAC,CAAC,OAAO,CAAC,cAAc,CAM1D,CAAA;AAED,eAAO,MAAM,eAAe,iGAA0B,CAAA;AACtD,eAAO,MAAM,gBAAgB,mGAAgC,CAAA;AAE7D,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAA;AAC5D,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAA;AAE9D,MAAM,MAAM,QAAQ,GAAG;IACrB,IAAI,EAAE,MAAM,CAAA;IACZ,EAAE,EAAE,MAAM,CAAA;IACV,YAAY,EAAE,iBAAiB,CAAA;CAChC,CAAA;AAED,KAAK,aAAa,CAAC,KAAK,SAAS,UAAU,IAAI,SAAS,CACtD,cAAc,EACd,cAAc,EACd,eAAe,EACf,QAAQ,EACR,KAAK,CACN,CAAA;AAED,MAAM,MAAM,SAAS,CAAC,KAAK,SAAS,UAAU,GAAG,iBAAiB,IAAI,kBAAkB,CACtF,aAAa,CAAC,KAAK,CAAC,CACrB,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG,YAAY,CAAA;AAE3C,wBAAgB,SAAS,IAAI,SAAS,CAErC"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import z from 'zod';
|
|
2
|
+
import { createField, defaultFieldState, withFieldModifiers, } from './Field.js';
|
|
3
|
+
import { LinkInputSchema, ResolvedLinkSchema, } from './Link.js';
|
|
4
|
+
export const MenuItemSchema = z.lazy(() => LinkInputSchema.and(z.object({
|
|
5
|
+
children: z.array(MenuItemSchema),
|
|
6
|
+
})));
|
|
7
|
+
export const MenuItemOutputSchema = z.lazy(() => ResolvedLinkSchema.and(z.object({
|
|
8
|
+
children: z.array(MenuItemOutputSchema),
|
|
9
|
+
})));
|
|
10
|
+
export const MenuValueSchema = z.array(MenuItemSchema);
|
|
11
|
+
export const MenuOutputSchema = z.array(MenuItemOutputSchema);
|
|
12
|
+
export function menuField() {
|
|
13
|
+
return makeMenuField(defaultFieldState);
|
|
14
|
+
}
|
|
15
|
+
function makeMenuField(state) {
|
|
16
|
+
const field = createField({
|
|
17
|
+
meta: {
|
|
18
|
+
type: 'Menu',
|
|
19
|
+
ui: 'Menu',
|
|
20
|
+
capabilities: { valueKind: 'array' },
|
|
21
|
+
},
|
|
22
|
+
runtime: {
|
|
23
|
+
populate: async (value, context) => {
|
|
24
|
+
const populateItems = async (items) => Promise.all(items.map(async (item) => {
|
|
25
|
+
if (!item || typeof item !== 'object' || Array.isArray(item)) {
|
|
26
|
+
return item;
|
|
27
|
+
}
|
|
28
|
+
const record = item;
|
|
29
|
+
return {
|
|
30
|
+
...(await context.populateLink(record)),
|
|
31
|
+
children: await populateItems(Array.isArray(record.children) ? record.children : []),
|
|
32
|
+
};
|
|
33
|
+
}));
|
|
34
|
+
return Array.isArray(value) ? populateItems(value) : value;
|
|
35
|
+
},
|
|
36
|
+
},
|
|
37
|
+
state,
|
|
38
|
+
schemas: {
|
|
39
|
+
input: () => MenuValueSchema,
|
|
40
|
+
db: () => MenuValueSchema,
|
|
41
|
+
output: () => MenuOutputSchema,
|
|
42
|
+
},
|
|
43
|
+
});
|
|
44
|
+
return withFieldModifiers({
|
|
45
|
+
field,
|
|
46
|
+
rebuild: (nextState) => makeMenuField(nextState),
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=Menu.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Menu.js","sourceRoot":"","sources":["../../../../src/lib/fields/Menu.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAA;AAEnB,OAAO,EACL,WAAW,EACX,iBAAiB,EAQjB,kBAAkB,GACnB,MAAM,SAAS,CAAA;AAChB,OAAO,EACL,eAAe,EACf,kBAAkB,GAGnB,MAAM,QAAQ,CAAA;AAUf,MAAM,CAAC,MAAM,cAAc,GAA6B,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAClE,eAAe,CAAC,GAAG,CACjB,CAAC,CAAC,MAAM,CAAC;IACP,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC;CAClC,CAAC,CACH,CACF,CAAA;AAED,MAAM,CAAC,MAAM,oBAAoB,GAA8B,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CACzE,kBAAkB,CAAC,GAAG,CACpB,CAAC,CAAC,MAAM,CAAC;IACP,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,oBAAoB,CAAC;CACxC,CAAC,CACH,CACF,CAAA;AAED,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,CAAA;AACtD,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAA;AAyB7D,MAAM,UAAU,SAAS;IACvB,OAAO,aAAa,CAAC,iBAAiB,CAAC,CAAA;AACzC,CAAC;AAED,SAAS,aAAa,CAA2B,KAAY;IAC3D,MAAM,KAAK,GAAyB,WAAW,CAAC;QAC9C,IAAI,EAAE;YACJ,IAAI,EAAE,MAAM;YACZ,EAAE,EAAE,MAAM;YACV,YAAY,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE;SACrC;QACD,OAAO,EAAE;YACP,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;gBACjC,MAAM,aAAa,GAAG,KAAK,EAAE,KAAgB,EAAsB,EAAE,CACnE,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;oBACvB,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;wBAC7D,OAAO,IAAI,CAAA;oBACb,CAAC;oBAED,MAAM,MAAM,GAAG,IAA+B,CAAA;oBAC9C,OAAO;wBACL,GAAI,CAAC,MAAM,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,CAA6B;wBACpE,QAAQ,EAAE,MAAM,aAAa,CAC3B,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CACtD;qBACF,CAAA;gBACH,CAAC,CAAC,CACH,CAAA;gBAEH,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAA;YAC5D,CAAC;SACF;QACD,KAAK;QACL,OAAO,EAAE;YACP,KAAK,EAAE,GAAG,EAAE,CAAC,eAAe;YAC5B,EAAE,EAAE,GAAG,EAAE,CAAC,eAAe;YACzB,MAAM,EAAE,GAAG,EAAE,CAAC,gBAAgB;SAC/B;KACF,CAAC,CAAA;IAEF,OAAO,kBAAkB,CAAC;QACxB,KAAK;QACL,OAAO,EAAE,CAA+B,SAAoB,EAAE,EAAE,CAC9D,aAAa,CAAC,SAAS,CAAoD;KAC9E,CAAC,CAAA;AACJ,CAAC"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import { type EncodedField, type DefaultFieldState, type FieldLike, type FieldState, type FieldStateOf, type FieldWithModifiers } from
|
|
1
|
+
import { type EncodedField, type DefaultFieldState, type FieldLike, type FieldState, type FieldStateOf, type FieldWithModifiers, type FieldCapabilities } from './Field.js';
|
|
2
2
|
export type NumberMeta = {
|
|
3
|
-
type:
|
|
4
|
-
ui:
|
|
3
|
+
type: 'Number';
|
|
4
|
+
ui: 'Number';
|
|
5
5
|
minValue?: number;
|
|
6
6
|
maxValue?: number;
|
|
7
|
+
capabilities: FieldCapabilities;
|
|
7
8
|
};
|
|
8
9
|
export type EncodedNumberField = EncodedField & {
|
|
9
10
|
minValue?: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Number.d.ts","sourceRoot":"","sources":["../../../../src/lib/fields/Number.ts"],"names":[],"mappings":"AAEA,OAAO,EAGL,KAAK,YAAY,EAEjB,KAAK,iBAAiB,EACtB,KAAK,SAAS,EACd,KAAK,UAAU,EACf,KAAK,YAAY,EACjB,KAAK,kBAAkB,
|
|
1
|
+
{"version":3,"file":"Number.d.ts","sourceRoot":"","sources":["../../../../src/lib/fields/Number.ts"],"names":[],"mappings":"AAEA,OAAO,EAGL,KAAK,YAAY,EAEjB,KAAK,iBAAiB,EACtB,KAAK,SAAS,EACd,KAAK,UAAU,EACf,KAAK,YAAY,EACjB,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EAGvB,MAAM,SAAS,CAAA;AAEhB,MAAM,MAAM,UAAU,GAAG;IACvB,IAAI,EAAE,QAAQ,CAAA;IACd,EAAE,EAAE,QAAQ,CAAA;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,YAAY,EAAE,iBAAiB,CAAA;CAChC,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG,YAAY,GAAG;IAC9C,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB,CAAA;AASD,MAAM,MAAM,WAAW,CAAC,KAAK,SAAS,UAAU,GAAG,iBAAiB,IAAI,kBAAkB,CACxF,eAAe,CAAC,KAAK,CAAC,CACvB,CAAA;AAED,KAAK,eAAe,CAAC,KAAK,SAAS,UAAU,IAAI,eAAe,CAAC,KAAK,CAAC,GAAG;IACxE,GAAG,EAAE,CAAC,KAAK,SAAS,eAAe,CAAC,UAAU,CAAC,EAC7C,IAAI,EAAE,KAAK,EACX,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,MAAM,KACb,WAAW,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAA;IACrC,GAAG,EAAE,CAAC,KAAK,SAAS,eAAe,CAAC,UAAU,CAAC,EAC7C,IAAI,EAAE,KAAK,EACX,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,MAAM,KACb,WAAW,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAA;CACtC,CAAA;AAED,KAAK,eAAe,CAAC,KAAK,SAAS,UAAU,IAAI,SAAS,CACxD,MAAM,EACN,MAAM,EACN,MAAM,EACN,UAAU,EACV,KAAK,CACN,CAAA;AAED,wBAAgB,WAAW,IAAI,WAAW,CAEzC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import z from
|
|
2
|
-
import { createField, defaultFieldState, sameSchemas, withFieldModifiers, } from
|
|
1
|
+
import z from 'zod';
|
|
2
|
+
import { createField, defaultFieldState, sameSchemas, withFieldModifiers, } from './Field.js';
|
|
3
3
|
export function numberField() {
|
|
4
4
|
return makeNumberField({}, defaultFieldState);
|
|
5
5
|
}
|
|
@@ -7,10 +7,11 @@ function makeNumberField(options, state) {
|
|
|
7
7
|
const field = {
|
|
8
8
|
...createField({
|
|
9
9
|
meta: {
|
|
10
|
-
type:
|
|
11
|
-
ui:
|
|
10
|
+
type: 'Number',
|
|
11
|
+
ui: 'Number',
|
|
12
12
|
minValue: options.minValue,
|
|
13
13
|
maxValue: options.maxValue,
|
|
14
|
+
capabilities: { valueKind: 'number' },
|
|
14
15
|
},
|
|
15
16
|
state,
|
|
16
17
|
schemas: sameSchemas(() => buildNumberSchema(options)),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Number.js","sourceRoot":"","sources":["../../../../src/lib/fields/Number.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,
|
|
1
|
+
{"version":3,"file":"Number.js","sourceRoot":"","sources":["../../../../src/lib/fields/Number.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAA;AAEnB,OAAO,EACL,WAAW,EACX,iBAAiB,EAEjB,WAAW,EAQX,kBAAkB,GACnB,MAAM,SAAS,CAAA;AA+ChB,MAAM,UAAU,WAAW;IACzB,OAAO,eAAe,CAAC,EAAE,EAAE,iBAAiB,CAAC,CAAA;AAC/C,CAAC;AAED,SAAS,eAAe,CACtB,OAAsB,EACtB,KAAY;IAEZ,MAAM,KAAK,GAA2B;QACpC,GAAG,WAAW,CAAC;YACb,IAAI,EAAE;gBACJ,IAAI,EAAE,QAAQ;gBACd,EAAE,EAAE,QAAQ;gBACZ,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,YAAY,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE;aACtC;YACD,KAAK;YACL,OAAO,EAAE,WAAW,CAAC,GAAG,EAAE,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;SACvD,CAAC;QACF,GAAG,EAAE,UAEH,KAAa,EACb,OAAgB;YAEhB,OAAO,eAAe,CACpB,EAAE,GAAG,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,EACpD,IAAI,CAAC,KAA4B,CAClC,CAAA;QACH,CAAC;QACD,GAAG,EAAE,UAEH,KAAa,EACb,OAAgB;YAEhB,OAAO,eAAe,CACpB,EAAE,GAAG,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,EACpD,IAAI,CAAC,KAA4B,CAClC,CAAA;QACH,CAAC;KACF,CAAA;IAED,OAAO,kBAAkB,CAAC;QACxB,KAAK;QACL,OAAO,EAAE,CAA+B,SAAoB,EAAE,EAAE,CAC9D,eAAe,CAAC,OAAO,EAAE,SAAS,CAAsD;KAC3F,CAAC,CAAA;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,OAAsB;IAC/C,IAAI,MAAM,GAAG,CAAC,CAAC,MAAM,EAAE,CAAA;IAEvB,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QACnC,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,UAAU,CAAC,CAAA;IAC3D,CAAC;IAED,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QACnC,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,UAAU,CAAC,CAAA;IAC3D,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import z from
|
|
2
|
-
import { type EncodedField, type DefaultFieldState, type FieldLike, type FieldState, type FieldStateOf, type FieldWithModifiers, type PopulatableFieldLike, type SetRequired } from
|
|
3
|
-
import type { EncodedContentType } from
|
|
4
|
-
import { type SimpleListField } from
|
|
5
|
-
export type OnlyType =
|
|
1
|
+
import z from 'zod';
|
|
2
|
+
import { type EncodedField, type DefaultFieldState, type FieldLike, type FieldState, type FieldStateOf, type FieldWithModifiers, type FieldCapabilities, type PopulatableFieldLike, type SetRequired } from './Field.js';
|
|
3
|
+
import type { EncodedContentType } from '../ContentType.js';
|
|
4
|
+
import { type SimpleListField } from './SimpleList.js';
|
|
5
|
+
export type OnlyType = 'existing' | 'new' | undefined;
|
|
6
6
|
export type ContentTypeLike<Name extends string = string> = {
|
|
7
7
|
name: Name;
|
|
8
8
|
getInputSchema: () => z.ZodTypeAny;
|
|
@@ -10,33 +10,34 @@ export type ContentTypeLike<Name extends string = string> = {
|
|
|
10
10
|
getOutputSchemaWithoutIterators?: () => z.ZodTypeAny;
|
|
11
11
|
getPopulatedSchema?: () => z.ZodTypeAny;
|
|
12
12
|
};
|
|
13
|
-
type ContentTypeInput<CT extends ContentTypeLike> = z.infer<ReturnType<CT[
|
|
13
|
+
type ContentTypeInput<CT extends ContentTypeLike> = z.infer<ReturnType<CT['getInputSchema']>>;
|
|
14
14
|
type ContentTypeOutputSchema<CT extends ContentTypeLike> = CT extends {
|
|
15
15
|
getOutputSchemaWithoutIterators: () => infer Schema extends z.ZodTypeAny;
|
|
16
|
-
} ? Schema : ReturnType<CT[
|
|
16
|
+
} ? Schema : ReturnType<CT['getOutputSchema']>;
|
|
17
17
|
type ContentTypePopulatedSchema<CT extends ContentTypeLike> = CT extends {
|
|
18
18
|
getPopulatedSchema: () => infer Schema extends z.ZodTypeAny;
|
|
19
19
|
} ? Schema : ContentTypeOutputSchema<CT>;
|
|
20
20
|
type ContentTypeOutput<CT extends ContentTypeLike> = z.infer<ContentTypeOutputSchema<CT>>;
|
|
21
21
|
type ContentTypePopulated<CT extends ContentTypeLike> = z.infer<ContentTypePopulatedSchema<CT>>;
|
|
22
22
|
export type RelationExisting<Name extends string = string> = {
|
|
23
|
-
type:
|
|
23
|
+
type: 'existing';
|
|
24
24
|
_id: string;
|
|
25
25
|
contentType: Name;
|
|
26
26
|
};
|
|
27
27
|
export type RelationNew<Data = unknown> = {
|
|
28
|
-
type:
|
|
28
|
+
type: 'new';
|
|
29
29
|
data: Data;
|
|
30
30
|
};
|
|
31
31
|
export type RelationFieldValue = RelationExisting | RelationNew<unknown>;
|
|
32
32
|
export type RelationExistingDefaltData = RelationExisting;
|
|
33
33
|
export type RelationNewDefaultData<S> = RelationNew<S>;
|
|
34
|
-
type RelationValue<CT extends ContentTypeLike, Only extends OnlyType> = Only extends
|
|
34
|
+
type RelationValue<CT extends ContentTypeLike, Only extends OnlyType> = Only extends 'new' ? RelationNew<ContentTypeInput<CT>> : RelationExisting<CT['name']>;
|
|
35
35
|
export type RelationMeta<Name extends string = string, Only extends OnlyType = OnlyType> = {
|
|
36
|
-
type:
|
|
37
|
-
ui:
|
|
36
|
+
type: 'Relation';
|
|
37
|
+
ui: 'ContentType';
|
|
38
38
|
contentType: Name;
|
|
39
39
|
only?: Only;
|
|
40
|
+
capabilities: FieldCapabilities;
|
|
40
41
|
};
|
|
41
42
|
export type EncodedRelationField = EncodedField & {
|
|
42
43
|
contentType: EncodedContentType;
|
|
@@ -48,7 +49,7 @@ type RelationFieldCore<CT extends ContentTypeLike, Only extends OnlyType, State
|
|
|
48
49
|
only?: Only;
|
|
49
50
|
multiple: <TThis extends RelationFieldBase<CT, Only, FieldState>>(this: TThis) => SimpleListField<RelationField<CT, Only, SetRequired<DefaultFieldState>>, FieldStateOf<TThis>>;
|
|
50
51
|
};
|
|
51
|
-
type RelationFieldBase<CT extends ContentTypeLike, Only extends OnlyType, State extends FieldState> = FieldLike<RelationValue<CT, Only>, RelationValue<CT, Only>, ContentTypeOutput<CT>, RelationMeta<CT[
|
|
52
|
+
type RelationFieldBase<CT extends ContentTypeLike, Only extends OnlyType, State extends FieldState> = FieldLike<RelationValue<CT, Only>, RelationValue<CT, Only>, ContentTypeOutput<CT>, RelationMeta<CT['name'], Only>, State>;
|
|
52
53
|
export declare function relationField<CT extends ContentTypeLike, const Only extends OnlyType = undefined>(contentType: CT, only?: Only): RelationField<CT, Only>;
|
|
53
54
|
export {};
|
|
54
55
|
//# sourceMappingURL=Relation.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Relation.d.ts","sourceRoot":"","sources":["../../../../src/lib/fields/Relation.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,
|
|
1
|
+
{"version":3,"file":"Relation.d.ts","sourceRoot":"","sources":["../../../../src/lib/fields/Relation.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAA;AAEnB,OAAO,EAGL,KAAK,YAAY,EACjB,KAAK,iBAAiB,EACtB,KAAK,SAAS,EAEd,KAAK,UAAU,EACf,KAAK,YAAY,EACjB,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,KAAK,oBAAoB,EACzB,KAAK,WAAW,EAGjB,MAAM,SAAS,CAAA;AAChB,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AACxD,OAAO,EAAmB,KAAK,eAAe,EAAE,MAAM,cAAc,CAAA;AAGpE,MAAM,MAAM,QAAQ,GAAG,UAAU,GAAG,KAAK,GAAG,SAAS,CAAA;AAErD,MAAM,MAAM,eAAe,CAAC,IAAI,SAAS,MAAM,GAAG,MAAM,IAAI;IAC1D,IAAI,EAAE,IAAI,CAAA;IACV,cAAc,EAAE,MAAM,CAAC,CAAC,UAAU,CAAA;IAClC,eAAe,EAAE,MAAM,CAAC,CAAC,UAAU,CAAA;IACnC,+BAA+B,CAAC,EAAE,MAAM,CAAC,CAAC,UAAU,CAAA;IACpD,kBAAkB,CAAC,EAAE,MAAM,CAAC,CAAC,UAAU,CAAA;CACxC,CAAA;AAED,KAAK,gBAAgB,CAAC,EAAE,SAAS,eAAe,IAAI,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAA;AAE7F,KAAK,uBAAuB,CAAC,EAAE,SAAS,eAAe,IAAI,EAAE,SAAS;IACpE,+BAA+B,EAAE,MAAM,MAAM,MAAM,SAAS,CAAC,CAAC,UAAU,CAAA;CACzE,GACG,MAAM,GACN,UAAU,CAAC,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAA;AAErC,KAAK,0BAA0B,CAAC,EAAE,SAAS,eAAe,IAAI,EAAE,SAAS;IACvE,kBAAkB,EAAE,MAAM,MAAM,MAAM,SAAS,CAAC,CAAC,UAAU,CAAA;CAC5D,GACG,MAAM,GACN,uBAAuB,CAAC,EAAE,CAAC,CAAA;AAE/B,KAAK,iBAAiB,CAAC,EAAE,SAAS,eAAe,IAAI,CAAC,CAAC,KAAK,CAAC,uBAAuB,CAAC,EAAE,CAAC,CAAC,CAAA;AAEzF,KAAK,oBAAoB,CAAC,EAAE,SAAS,eAAe,IAAI,CAAC,CAAC,KAAK,CAAC,0BAA0B,CAAC,EAAE,CAAC,CAAC,CAAA;AAE/F,MAAM,MAAM,gBAAgB,CAAC,IAAI,SAAS,MAAM,GAAG,MAAM,IAAI;IAC3D,IAAI,EAAE,UAAU,CAAA;IAChB,GAAG,EAAE,MAAM,CAAA;IACX,WAAW,EAAE,IAAI,CAAA;CAClB,CAAA;AAED,MAAM,MAAM,WAAW,CAAC,IAAI,GAAG,OAAO,IAAI;IACxC,IAAI,EAAE,KAAK,CAAA;IACX,IAAI,EAAE,IAAI,CAAA;CACX,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG,gBAAgB,GAAG,WAAW,CAAC,OAAO,CAAC,CAAA;AACxE,MAAM,MAAM,0BAA0B,GAAG,gBAAgB,CAAA;AACzD,MAAM,MAAM,sBAAsB,CAAC,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC,CAAA;AAEtD,KAAK,aAAa,CAAC,EAAE,SAAS,eAAe,EAAE,IAAI,SAAS,QAAQ,IAAI,IAAI,SAAS,KAAK,GACtF,WAAW,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC,GACjC,gBAAgB,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAA;AAEhC,MAAM,MAAM,YAAY,CAAC,IAAI,SAAS,MAAM,GAAG,MAAM,EAAE,IAAI,SAAS,QAAQ,GAAG,QAAQ,IAAI;IACzF,IAAI,EAAE,UAAU,CAAA;IAChB,EAAE,EAAE,aAAa,CAAA;IACjB,WAAW,EAAE,IAAI,CAAA;IACjB,IAAI,CAAC,EAAE,IAAI,CAAA;IACX,YAAY,EAAE,iBAAiB,CAAA;CAChC,CAAA;AAED,MAAM,MAAM,oBAAoB,GAAG,YAAY,GAAG;IAChD,WAAW,EAAE,kBAAkB,CAAA;IAC/B,IAAI,CAAC,EAAE,QAAQ,CAAA;CAChB,CAAA;AAOD,MAAM,MAAM,aAAa,CACvB,EAAE,SAAS,eAAe,GAAG,eAAe,EAC5C,IAAI,SAAS,QAAQ,GAAG,SAAS,EACjC,KAAK,SAAS,UAAU,GAAG,iBAAiB,IAC1C,kBAAkB,CAAC,iBAAiB,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAA;AAE1D,KAAK,iBAAiB,CACpB,EAAE,SAAS,eAAe,EAC1B,IAAI,SAAS,QAAQ,EACrB,KAAK,SAAS,UAAU,IACtB,iBAAiB,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,GACpC,oBAAoB,CAAC,oBAAoB,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,GAAG;IACtD,WAAW,EAAE,EAAE,CAAA;IACf,IAAI,CAAC,EAAE,IAAI,CAAA;IACX,QAAQ,EAAE,CAAC,KAAK,SAAS,iBAAiB,CAAC,EAAE,EAAE,IAAI,EAAE,UAAU,CAAC,EAC9D,IAAI,EAAE,KAAK,KACR,eAAe,CAClB,aAAa,CAAC,EAAE,EAAE,IAAI,EAAE,WAAW,CAAC,iBAAiB,CAAC,CAAC,EACvD,YAAY,CAAC,KAAK,CAAC,CACpB,CAAA;CACF,CAAA;AAEH,KAAK,iBAAiB,CACpB,EAAE,SAAS,eAAe,EAC1B,IAAI,SAAS,QAAQ,EACrB,KAAK,SAAS,UAAU,IACtB,SAAS,CACX,aAAa,CAAC,EAAE,EAAE,IAAI,CAAC,EACvB,aAAa,CAAC,EAAE,EAAE,IAAI,CAAC,EACvB,iBAAiB,CAAC,EAAE,CAAC,EACrB,YAAY,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,EAC9B,KAAK,CACN,CAAA;AAED,wBAAgB,aAAa,CAAC,EAAE,SAAS,eAAe,EAAE,KAAK,CAAC,IAAI,SAAS,QAAQ,GAAG,SAAS,EAC/F,WAAW,EAAE,EAAE,EACf,IAAI,CAAC,EAAE,IAAI,GACV,aAAa,CAAC,EAAE,EAAE,IAAI,CAAC,CAEzB"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import z from
|
|
2
|
-
import { createField, defaultFieldState, withFieldModifiers, } from
|
|
3
|
-
import { simpleListField } from
|
|
4
|
-
import { Id } from
|
|
1
|
+
import z from 'zod';
|
|
2
|
+
import { createField, defaultFieldState, withFieldModifiers, } from './Field.js';
|
|
3
|
+
import { simpleListField } from './SimpleList.js';
|
|
4
|
+
import { Id } from '../utils/id.js';
|
|
5
5
|
export function relationField(contentType, only) {
|
|
6
6
|
return makeRelationField({ contentType, only }, defaultFieldState);
|
|
7
7
|
}
|
|
@@ -9,10 +9,14 @@ function makeRelationField(options, state) {
|
|
|
9
9
|
const field = {
|
|
10
10
|
...createField({
|
|
11
11
|
meta: {
|
|
12
|
-
type:
|
|
13
|
-
ui:
|
|
12
|
+
type: 'Relation',
|
|
13
|
+
ui: 'ContentType',
|
|
14
14
|
contentType: options.contentType.name,
|
|
15
15
|
only: options.only,
|
|
16
|
+
capabilities: {
|
|
17
|
+
valueKind: 'object',
|
|
18
|
+
dynamic: { relation: true },
|
|
19
|
+
},
|
|
16
20
|
},
|
|
17
21
|
state,
|
|
18
22
|
schemas: {
|
|
@@ -27,16 +31,16 @@ function makeRelationField(options, state) {
|
|
|
27
31
|
multiple: function () {
|
|
28
32
|
const relation = makeRelationField(options, defaultFieldState).required();
|
|
29
33
|
let list = simpleListField(relation);
|
|
30
|
-
if (this.state.required) {
|
|
31
|
-
list = list.
|
|
34
|
+
if (!this.state.required) {
|
|
35
|
+
list = list.optional();
|
|
32
36
|
}
|
|
33
37
|
if (this.state.translatable) {
|
|
34
38
|
list = list.translatable();
|
|
35
39
|
}
|
|
36
|
-
if (this.state.visibility ===
|
|
40
|
+
if (this.state.visibility === 'api') {
|
|
37
41
|
list = list.apiOnly();
|
|
38
42
|
}
|
|
39
|
-
if (this.state.visibility ===
|
|
43
|
+
if (this.state.visibility === 'manager') {
|
|
40
44
|
list = list.managerOnly();
|
|
41
45
|
}
|
|
42
46
|
if (this.state.dynamic === false) {
|
|
@@ -52,31 +56,29 @@ function makeRelationField(options, state) {
|
|
|
52
56
|
}
|
|
53
57
|
function buildRelationSchema(options) {
|
|
54
58
|
const newSchema = z.object({
|
|
55
|
-
type: z.literal(
|
|
59
|
+
type: z.literal('new'),
|
|
56
60
|
data: options.contentType.getInputSchema(),
|
|
57
61
|
});
|
|
58
62
|
const existingSchema = z.object({
|
|
59
|
-
type: z.literal(
|
|
63
|
+
type: z.literal('existing'),
|
|
60
64
|
_id: Id,
|
|
61
65
|
contentType: z.literal(options.contentType.name),
|
|
62
66
|
});
|
|
63
|
-
if (options.only ===
|
|
67
|
+
if (options.only === 'new') {
|
|
64
68
|
return newSchema;
|
|
65
69
|
}
|
|
66
|
-
if (options.only ===
|
|
70
|
+
if (options.only === 'existing') {
|
|
67
71
|
return existingSchema;
|
|
68
72
|
}
|
|
69
|
-
return z.discriminatedUnion(
|
|
70
|
-
newSchema,
|
|
71
|
-
existingSchema,
|
|
72
|
-
]);
|
|
73
|
+
return z.discriminatedUnion('type', [newSchema, existingSchema]);
|
|
73
74
|
}
|
|
74
75
|
function getContentTypeOutputSchema(contentType) {
|
|
75
76
|
return (contentType.getOutputSchemaWithoutIterators?.() ??
|
|
76
77
|
contentType.getOutputSchema());
|
|
77
78
|
}
|
|
78
79
|
function getContentTypePopulatedSchema(contentType) {
|
|
79
|
-
return (contentType.getPopulatedSchema?.() ??
|
|
80
|
+
return (contentType.getPopulatedSchema?.() ??
|
|
81
|
+
getContentTypeOutputSchema(contentType));
|
|
80
82
|
}
|
|
81
83
|
function applyRelationOutputPresence(schema, state) {
|
|
82
84
|
return state.required ? schema : schema.optional();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Relation.js","sourceRoot":"","sources":["../../../../src/lib/fields/Relation.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,
|
|
1
|
+
{"version":3,"file":"Relation.js","sourceRoot":"","sources":["../../../../src/lib/fields/Relation.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,18 +1,25 @@
|
|
|
1
|
-
import { type EncodedField, type DefaultFieldState, type FieldLike, type FieldState, type FieldStateOf, type FieldWithModifiers } from
|
|
1
|
+
import { type EncodedField, type DefaultFieldState, type FieldLike, type FieldState, type FieldStateOf, type FieldWithModifiers, type FieldCapabilities } from './Field.js';
|
|
2
2
|
type SelectValue<Options extends readonly string[], Multiple extends boolean> = Multiple extends true ? Options[number][] : Options[number];
|
|
3
3
|
export type SelectMeta<Options extends readonly string[] = readonly string[], Multiple extends boolean = boolean> = {
|
|
4
|
-
type:
|
|
5
|
-
ui: Multiple extends true ?
|
|
4
|
+
type: 'Select';
|
|
5
|
+
ui: Multiple extends true ? 'MultiSelect' : 'Select';
|
|
6
6
|
options: Options;
|
|
7
7
|
isMultiple: Multiple;
|
|
8
|
+
minItems?: number;
|
|
9
|
+
maxItems?: number;
|
|
10
|
+
capabilities: FieldCapabilities;
|
|
8
11
|
};
|
|
9
12
|
export type EncodedSelectField = EncodedField & {
|
|
10
13
|
options: string[];
|
|
11
14
|
isMultiple: boolean;
|
|
15
|
+
minItems?: number;
|
|
16
|
+
maxItems?: number;
|
|
12
17
|
};
|
|
13
18
|
export type SelectField<Options extends readonly string[] = readonly string[], Multiple extends boolean = false, State extends FieldState = DefaultFieldState> = FieldWithModifiers<SelectFieldCore<Options, Multiple, State>>;
|
|
14
19
|
type SelectFieldCore<Options extends readonly string[], Multiple extends boolean, State extends FieldState> = SelectFieldBase<Options, Multiple, State> & {
|
|
15
20
|
multiple: <TThis extends SelectFieldBase<Options, Multiple, FieldState>>(this: TThis) => SelectField<Options, true, FieldStateOf<TThis>>;
|
|
21
|
+
min: <TThis extends SelectFieldBase<Options, Multiple, FieldState>>(this: Multiple extends true ? TThis : never, count: number) => SelectField<Options, Multiple, FieldStateOf<TThis>>;
|
|
22
|
+
max: <TThis extends SelectFieldBase<Options, Multiple, FieldState>>(this: Multiple extends true ? TThis : never, count: number) => SelectField<Options, Multiple, FieldStateOf<TThis>>;
|
|
16
23
|
};
|
|
17
24
|
type SelectFieldBase<Options extends readonly string[], Multiple extends boolean, State extends FieldState> = FieldLike<SelectValue<Options, Multiple>, SelectValue<Options, Multiple>, SelectValue<Options, Multiple>, SelectMeta<Options, Multiple>, State>;
|
|
18
25
|
export declare function selectField<const Options extends readonly string[]>(options: Options): SelectField<Options>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Select.d.ts","sourceRoot":"","sources":["../../../../src/lib/fields/Select.ts"],"names":[],"mappings":"AAEA,OAAO,EAGL,KAAK,YAAY,EAEjB,KAAK,iBAAiB,EACtB,KAAK,SAAS,EACd,KAAK,UAAU,EACf,KAAK,YAAY,EACjB,KAAK,kBAAkB,
|
|
1
|
+
{"version":3,"file":"Select.d.ts","sourceRoot":"","sources":["../../../../src/lib/fields/Select.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import z from
|
|
2
|
-
import { createField, defaultFieldState, sameSchemas, withFieldModifiers, } from
|
|
1
|
+
import z from 'zod';
|
|
2
|
+
import { createField, defaultFieldState, sameSchemas, withFieldModifiers, } from './Field.js';
|
|
3
3
|
export function selectField(options) {
|
|
4
4
|
return makeSelectField({ options, multiple: false }, defaultFieldState);
|
|
5
5
|
}
|
|
@@ -7,10 +7,15 @@ function makeSelectField(options, state) {
|
|
|
7
7
|
const field = {
|
|
8
8
|
...createField({
|
|
9
9
|
meta: {
|
|
10
|
-
type:
|
|
11
|
-
ui: (options.multiple ?
|
|
10
|
+
type: 'Select',
|
|
11
|
+
ui: (options.multiple ? 'MultiSelect' : 'Select'),
|
|
12
12
|
options: options.options,
|
|
13
13
|
isMultiple: options.multiple,
|
|
14
|
+
minItems: options.minItems,
|
|
15
|
+
maxItems: options.maxItems,
|
|
16
|
+
capabilities: {
|
|
17
|
+
valueKind: options.multiple ? 'array' : 'string',
|
|
18
|
+
},
|
|
14
19
|
},
|
|
15
20
|
state,
|
|
16
21
|
schemas: sameSchemas(() => buildSelectSchema(options)),
|
|
@@ -18,6 +23,12 @@ function makeSelectField(options, state) {
|
|
|
18
23
|
multiple: function () {
|
|
19
24
|
return makeSelectField({ ...options, multiple: true }, this.state);
|
|
20
25
|
},
|
|
26
|
+
min: function (count) {
|
|
27
|
+
return makeSelectField({ ...options, minItems: count }, this.state);
|
|
28
|
+
},
|
|
29
|
+
max: function (count) {
|
|
30
|
+
return makeSelectField({ ...options, maxItems: count }, this.state);
|
|
31
|
+
},
|
|
21
32
|
};
|
|
22
33
|
return withFieldModifiers({
|
|
23
34
|
field,
|
|
@@ -25,7 +36,12 @@ function makeSelectField(options, state) {
|
|
|
25
36
|
});
|
|
26
37
|
}
|
|
27
38
|
function buildSelectSchema(options) {
|
|
28
|
-
const literal = z.literal(options.options.length ? options.options : [
|
|
29
|
-
|
|
39
|
+
const literal = z.literal(options.options.length ? options.options : ['']);
|
|
40
|
+
let list = z.array(literal);
|
|
41
|
+
if (options.minItems !== undefined)
|
|
42
|
+
list = list.min(options.minItems);
|
|
43
|
+
if (options.maxItems !== undefined)
|
|
44
|
+
list = list.max(options.maxItems);
|
|
45
|
+
return (options.multiple ? list : literal);
|
|
30
46
|
}
|
|
31
47
|
//# sourceMappingURL=Select.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Select.js","sourceRoot":"","sources":["../../../../src/lib/fields/Select.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,
|
|
1
|
+
{"version":3,"file":"Select.js","sourceRoot":"","sources":["../../../../src/lib/fields/Select.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAA;AAEnB,OAAO,EACL,WAAW,EACX,iBAAiB,EAEjB,WAAW,EAQX,kBAAkB,GACnB,MAAM,SAAS,CAAA;AAsEhB,MAAM,UAAU,WAAW,CACzB,OAAgB;IAEhB,OAAO,eAAe,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,iBAAiB,CAAC,CAAA;AACzE,CAAC;AAED,SAAS,eAAe,CAItB,OAAyC,EAAE,KAAY;IACvD,MAAM,KAAK,GAA8C;QACvD,GAAG,WAAW,CAAC;YACb,IAAI,EAAE;gBACJ,IAAI,EAAE,QAAQ;gBACd,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAwC;gBACxF,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,UAAU,EAAE,OAAO,CAAC,QAAQ;gBAC5B,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,YAAY,EAAE;oBACZ,SAAS,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ;iBACjD;aACF;YACD,KAAK;YACL,OAAO,EAAE,WAAW,CAAC,GAAG,EAAE,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;SACvD,CAAC;QACF,QAAQ,EAAE;YACR,OAAO,eAAe,CAAC,EAAE,GAAG,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,IAAI,CAAC,KAA4B,CAAC,CAAA;QAC3F,CAAC;QACD,GAAG,EAAE,UAEH,KAAa;YAEb,OAAO,eAAe,CAAC,EAAE,GAAG,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,IAAI,CAAC,KAA4B,CAAC,CAAA;QAC5F,CAAC;QACD,GAAG,EAAE,UAEH,KAAa;YAEb,OAAO,eAAe,CAAC,EAAE,GAAG,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,IAAI,CAAC,KAA4B,CAAC,CAAA;QAC5F,CAAC;KACF,CAAA;IAED,OAAO,kBAAkB,CAAC;QACxB,KAAK;QACL,OAAO,EAAE,CAA+B,SAAoB,EAAE,EAAE,CAC9D,eAAe,CAAC,OAAO,EAAE,SAAS,CAGjC;KACJ,CAAC,CAAA;AACJ,CAAC;AAED,SAAS,iBAAiB,CACxB,OAAyC;IAEzC,MAAM,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAExE,CAAA;IAED,IAAI,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;IAC3B,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS;QAAE,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;IACrE,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS;QAAE,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;IAErE,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAA8C,CAAA;AACzF,CAAC"}
|
|
@@ -1,13 +1,14 @@
|
|
|
1
|
-
import { type EncodedField, type DefaultFieldState, type FieldLike, type FieldState, type FieldStateOf, type FieldWithModifiers } from
|
|
1
|
+
import { type EncodedField, type DefaultFieldState, type FieldLike, type FieldState, type FieldStateOf, type FieldWithModifiers, type FieldCapabilities } from './Field.js';
|
|
2
2
|
export type SelfRelationValue<Name extends string = string> = {
|
|
3
|
-
type:
|
|
3
|
+
type: 'self';
|
|
4
4
|
_id: string;
|
|
5
5
|
contentType: Name;
|
|
6
6
|
};
|
|
7
7
|
export type SelfRelationMeta<Name extends string = string> = {
|
|
8
|
-
type:
|
|
9
|
-
ui:
|
|
8
|
+
type: 'Relation';
|
|
9
|
+
ui: 'SelfRelation';
|
|
10
10
|
contentType?: Name;
|
|
11
|
+
capabilities: FieldCapabilities;
|
|
11
12
|
};
|
|
12
13
|
export type SelfRelationField<Name extends string = string, State extends FieldState = DefaultFieldState> = FieldWithModifiers<SelfRelationFieldCore<Name, State>>;
|
|
13
14
|
type SelfRelationFieldCore<Name extends string, State extends FieldState> = SelfRelationFieldBase<Name, State> & {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SelfRelation.d.ts","sourceRoot":"","sources":["../../../../src/lib/fields/SelfRelation.ts"],"names":[],"mappings":"AAEA,OAAO,EAGL,KAAK,YAAY,EAEjB,KAAK,iBAAiB,EACtB,KAAK,SAAS,EACd,KAAK,UAAU,EACf,KAAK,YAAY,EACjB,KAAK,kBAAkB,
|
|
1
|
+
{"version":3,"file":"SelfRelation.d.ts","sourceRoot":"","sources":["../../../../src/lib/fields/SelfRelation.ts"],"names":[],"mappings":"AAEA,OAAO,EAGL,KAAK,YAAY,EAEjB,KAAK,iBAAiB,EACtB,KAAK,SAAS,EACd,KAAK,UAAU,EACf,KAAK,YAAY,EACjB,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EAGvB,MAAM,SAAS,CAAA;AAGhB,MAAM,MAAM,iBAAiB,CAAC,IAAI,SAAS,MAAM,GAAG,MAAM,IAAI;IAC5D,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,MAAM,CAAA;IACX,WAAW,EAAE,IAAI,CAAA;CAClB,CAAA;AAED,MAAM,MAAM,gBAAgB,CAAC,IAAI,SAAS,MAAM,GAAG,MAAM,IAAI;IAC3D,IAAI,EAAE,UAAU,CAAA;IAChB,EAAE,EAAE,cAAc,CAAA;IAClB,WAAW,CAAC,EAAE,IAAI,CAAA;IAClB,YAAY,EAAE,iBAAiB,CAAA;CAChC,CAAA;AAED,MAAM,MAAM,iBAAiB,CAC3B,IAAI,SAAS,MAAM,GAAG,MAAM,EAC5B,KAAK,SAAS,UAAU,GAAG,iBAAiB,IAC1C,kBAAkB,CAAC,qBAAqB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAA;AAE1D,KAAK,qBAAqB,CAAC,IAAI,SAAS,MAAM,EAAE,KAAK,SAAS,UAAU,IAAI,qBAAqB,CAC/F,IAAI,EACJ,KAAK,CACN,GAAG;IACF,cAAc,EAAE,CAAC,KAAK,SAAS,qBAAqB,CAAC,IAAI,EAAE,UAAU,CAAC,EAAE,QAAQ,SAAS,MAAM,EAC7F,IAAI,EAAE,KAAK,EACX,WAAW,EAAE;QAAE,IAAI,EAAE,QAAQ,CAAA;KAAE,KAC5B,iBAAiB,CAAC,QAAQ,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC,CAAA;CACtD,CAAA;AAED,KAAK,qBAAqB,CAAC,IAAI,SAAS,MAAM,EAAE,KAAK,SAAS,UAAU,IAAI,SAAS,CACnF,iBAAiB,CAAC,IAAI,CAAC,EACvB,iBAAiB,CAAC,IAAI,CAAC,EACvB,iBAAiB,CAAC,IAAI,CAAC,EACvB,gBAAgB,CAAC,IAAI,CAAC,EACtB,KAAK,CACN,CAAA;AAED,wBAAgB,iBAAiB,IAAI,iBAAiB,CAErD;AAED,MAAM,MAAM,wBAAwB,GAAG,YAAY,CAAA"}
|