@payloadcms/db-mongodb 1.0.0-beta.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.
Files changed (124) hide show
  1. package/dist/connect.d.ts +3 -0
  2. package/dist/connect.d.ts.map +1 -0
  3. package/dist/connect.js +63 -0
  4. package/dist/create.d.ts +3 -0
  5. package/dist/create.d.ts.map +1 -0
  6. package/dist/create.js +29 -0
  7. package/dist/createGlobal.d.ts +3 -0
  8. package/dist/createGlobal.d.ts.map +1 -0
  9. package/dist/createGlobal.js +35 -0
  10. package/dist/createGlobalVersion.d.ts +3 -0
  11. package/dist/createGlobalVersion.d.ts.map +1 -0
  12. package/dist/createGlobalVersion.js +58 -0
  13. package/dist/createVersion.d.ts +3 -0
  14. package/dist/createVersion.d.ts.map +1 -0
  15. package/dist/createVersion.js +58 -0
  16. package/dist/deleteMany.d.ts +3 -0
  17. package/dist/deleteMany.d.ts.map +1 -0
  18. package/dist/deleteMany.js +25 -0
  19. package/dist/deleteOne.d.ts +3 -0
  20. package/dist/deleteOne.d.ts.map +1 -0
  21. package/dist/deleteOne.js +33 -0
  22. package/dist/deleteVersions.d.ts +3 -0
  23. package/dist/deleteVersions.d.ts.map +1 -0
  24. package/dist/deleteVersions.js +26 -0
  25. package/dist/destroy.d.ts +3 -0
  26. package/dist/destroy.d.ts.map +1 -0
  27. package/dist/destroy.js +27 -0
  28. package/dist/find.d.ts +3 -0
  29. package/dist/find.d.ts.map +1 -0
  30. package/dist/find.js +71 -0
  31. package/dist/findGlobal.d.ts +3 -0
  32. package/dist/findGlobal.d.ts.map +1 -0
  33. package/dist/findGlobal.js +48 -0
  34. package/dist/findGlobalVersions.d.ts +3 -0
  35. package/dist/findGlobalVersions.d.ts.map +1 -0
  36. package/dist/findGlobalVersions.js +78 -0
  37. package/dist/findOne.d.ts +3 -0
  38. package/dist/findOne.d.ts.map +1 -0
  39. package/dist/findOne.js +40 -0
  40. package/dist/findVersions.d.ts +3 -0
  41. package/dist/findVersions.d.ts.map +1 -0
  42. package/dist/findVersions.js +77 -0
  43. package/dist/index.d.ts +34 -0
  44. package/dist/index.d.ts.map +1 -0
  45. package/dist/index.js +91 -0
  46. package/dist/init.d.ts +3 -0
  47. package/dist/init.d.ts.map +1 -0
  48. package/dist/init.js +98 -0
  49. package/dist/mock.js +13 -0
  50. package/dist/models/buildCollectionSchema.d.ts +6 -0
  51. package/dist/models/buildCollectionSchema.d.ts.map +1 -0
  52. package/dist/models/buildCollectionSchema.js +51 -0
  53. package/dist/models/buildGlobalModel.d.ts +4 -0
  54. package/dist/models/buildGlobalModel.d.ts.map +1 -0
  55. package/dist/models/buildGlobalModel.js +41 -0
  56. package/dist/models/buildSchema.d.ts +14 -0
  57. package/dist/models/buildSchema.d.ts.map +1 -0
  58. package/dist/models/buildSchema.js +438 -0
  59. package/dist/queries/buildAndOrConditions.d.ts +11 -0
  60. package/dist/queries/buildAndOrConditions.d.ts.map +1 -0
  61. package/dist/queries/buildAndOrConditions.js +37 -0
  62. package/dist/queries/buildQuery.d.ts +15 -0
  63. package/dist/queries/buildQuery.d.ts.map +1 -0
  64. package/dist/queries/buildQuery.js +49 -0
  65. package/dist/queries/buildSearchParams.d.ts +21 -0
  66. package/dist/queries/buildSearchParams.d.ts.map +1 -0
  67. package/dist/queries/buildSearchParams.js +219 -0
  68. package/dist/queries/buildSortParam.d.ts +18 -0
  69. package/dist/queries/buildSortParam.d.ts.map +1 -0
  70. package/dist/queries/buildSortParam.js +42 -0
  71. package/dist/queries/getLocalizedSortProperty.d.ts +12 -0
  72. package/dist/queries/getLocalizedSortProperty.d.ts.map +1 -0
  73. package/dist/queries/getLocalizedSortProperty.js +76 -0
  74. package/dist/queries/getLocalizedSortProperty.spec.js +195 -0
  75. package/dist/queries/mock.js +3 -0
  76. package/dist/queries/operatorMap.d.ts +16 -0
  77. package/dist/queries/operatorMap.d.ts.map +1 -0
  78. package/dist/queries/operatorMap.js +27 -0
  79. package/dist/queries/parseParams.d.ts +12 -0
  80. package/dist/queries/parseParams.d.ts.map +1 -0
  81. package/dist/queries/parseParams.js +80 -0
  82. package/dist/queries/sanitizeQueryValue.d.ts +11 -0
  83. package/dist/queries/sanitizeQueryValue.d.ts.map +1 -0
  84. package/dist/queries/sanitizeQueryValue.js +128 -0
  85. package/dist/queryDrafts.d.ts +3 -0
  86. package/dist/queryDrafts.d.ts.map +1 -0
  87. package/dist/queryDrafts.js +82 -0
  88. package/dist/testCredentials.d.ts +8 -0
  89. package/dist/testCredentials.d.ts.map +1 -0
  90. package/dist/testCredentials.js +30 -0
  91. package/dist/transactions/beginTransaction.d.ts +3 -0
  92. package/dist/transactions/beginTransaction.d.ts.map +1 -0
  93. package/dist/transactions/beginTransaction.js +38 -0
  94. package/dist/transactions/commitTransaction.d.ts +3 -0
  95. package/dist/transactions/commitTransaction.d.ts.map +1 -0
  96. package/dist/transactions/commitTransaction.js +24 -0
  97. package/dist/transactions/rollbackTransaction.d.ts +3 -0
  98. package/dist/transactions/rollbackTransaction.d.ts.map +1 -0
  99. package/dist/transactions/rollbackTransaction.js +21 -0
  100. package/dist/types.d.ts +70 -0
  101. package/dist/types.d.ts.map +1 -0
  102. package/dist/types.js +6 -0
  103. package/dist/updateGlobal.d.ts +3 -0
  104. package/dist/updateGlobal.d.ts.map +1 -0
  105. package/dist/updateGlobal.js +36 -0
  106. package/dist/updateGlobalVersion.d.ts +5 -0
  107. package/dist/updateGlobalVersion.d.ts.map +1 -0
  108. package/dist/updateGlobalVersion.js +35 -0
  109. package/dist/updateOne.d.ts +3 -0
  110. package/dist/updateOne.d.ts.map +1 -0
  111. package/dist/updateOne.js +55 -0
  112. package/dist/updateVersion.d.ts +3 -0
  113. package/dist/updateVersion.d.ts.map +1 -0
  114. package/dist/updateVersion.js +35 -0
  115. package/dist/utilities/sanitizeInternalFields.d.ts +3 -0
  116. package/dist/utilities/sanitizeInternalFields.d.ts.map +1 -0
  117. package/dist/utilities/sanitizeInternalFields.js +31 -0
  118. package/dist/webpack.d.ts +3 -0
  119. package/dist/webpack.d.ts.map +1 -0
  120. package/dist/webpack.js +30 -0
  121. package/dist/withSession.d.ts +10 -0
  122. package/dist/withSession.d.ts.map +1 -0
  123. package/dist/withSession.js +17 -0
  124. package/package.json +43 -0
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "buildGlobalModel", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return buildGlobalModel;
9
+ }
10
+ });
11
+ const _mongoose = /*#__PURE__*/ _interop_require_default(require("mongoose"));
12
+ const _buildQuery = /*#__PURE__*/ _interop_require_default(require("../queries/buildQuery"));
13
+ const _buildSchema = /*#__PURE__*/ _interop_require_default(require("./buildSchema"));
14
+ function _interop_require_default(obj) {
15
+ return obj && obj.__esModule ? obj : {
16
+ default: obj
17
+ };
18
+ }
19
+ const buildGlobalModel = (config)=>{
20
+ if (config.globals && config.globals.length > 0) {
21
+ const globalsSchema = new _mongoose.default.Schema({}, {
22
+ discriminatorKey: 'globalType',
23
+ minimize: false,
24
+ timestamps: true
25
+ });
26
+ globalsSchema.plugin((0, _buildQuery.default)());
27
+ const Globals = _mongoose.default.model('globals', globalsSchema, 'globals');
28
+ Object.values(config.globals).forEach((globalConfig)=>{
29
+ const globalSchema = (0, _buildSchema.default)(config, globalConfig.fields, {
30
+ options: {
31
+ minimize: false
32
+ }
33
+ });
34
+ Globals.discriminator(globalConfig.slug, globalSchema);
35
+ });
36
+ return Globals;
37
+ }
38
+ return null;
39
+ };
40
+
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tb2RlbHMvYnVpbGRHbG9iYWxNb2RlbC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFNhbml0aXplZENvbmZpZyB9IGZyb20gJ3BheWxvYWQvY29uZmlnJ1xuXG5pbXBvcnQgbW9uZ29vc2UgZnJvbSAnbW9uZ29vc2UnXG5cbmltcG9ydCB0eXBlIHsgR2xvYmFsTW9kZWwgfSBmcm9tICcuLi90eXBlcydcblxuaW1wb3J0IGdldEJ1aWxkUXVlcnlQbHVnaW4gZnJvbSAnLi4vcXVlcmllcy9idWlsZFF1ZXJ5J1xuaW1wb3J0IGJ1aWxkU2NoZW1hIGZyb20gJy4vYnVpbGRTY2hlbWEnXG5cbmV4cG9ydCBjb25zdCBidWlsZEdsb2JhbE1vZGVsID0gKGNvbmZpZzogU2FuaXRpemVkQ29uZmlnKTogR2xvYmFsTW9kZWwgfCBudWxsID0+IHtcbiAgaWYgKGNvbmZpZy5nbG9iYWxzICYmIGNvbmZpZy5nbG9iYWxzLmxlbmd0aCA+IDApIHtcbiAgICBjb25zdCBnbG9iYWxzU2NoZW1hID0gbmV3IG1vbmdvb3NlLlNjaGVtYShcbiAgICAgIHt9LFxuICAgICAgeyBkaXNjcmltaW5hdG9yS2V5OiAnZ2xvYmFsVHlwZScsIG1pbmltaXplOiBmYWxzZSwgdGltZXN0YW1wczogdHJ1ZSB9LFxuICAgIClcblxuICAgIGdsb2JhbHNTY2hlbWEucGx1Z2luKGdldEJ1aWxkUXVlcnlQbHVnaW4oKSlcblxuICAgIGNvbnN0IEdsb2JhbHMgPSBtb25nb29zZS5tb2RlbCgnZ2xvYmFscycsIGdsb2JhbHNTY2hlbWEsICdnbG9iYWxzJykgYXMgdW5rbm93biBhcyBHbG9iYWxNb2RlbFxuXG4gICAgT2JqZWN0LnZhbHVlcyhjb25maWcuZ2xvYmFscykuZm9yRWFjaCgoZ2xvYmFsQ29uZmlnKSA9PiB7XG4gICAgICBjb25zdCBnbG9iYWxTY2hlbWEgPSBidWlsZFNjaGVtYShjb25maWcsIGdsb2JhbENvbmZpZy5maWVsZHMsIHtcbiAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgIG1pbmltaXplOiBmYWxzZSxcbiAgICAgICAgfSxcbiAgICAgIH0pXG4gICAgICBHbG9iYWxzLmRpc2NyaW1pbmF0b3IoZ2xvYmFsQ29uZmlnLnNsdWcsIGdsb2JhbFNjaGVtYSlcbiAgICB9KVxuXG4gICAgcmV0dXJuIEdsb2JhbHNcbiAgfVxuXG4gIHJldHVybiBudWxsXG59XG4iXSwibmFtZXMiOlsiYnVpbGRHbG9iYWxNb2RlbCIsImNvbmZpZyIsImdsb2JhbHMiLCJsZW5ndGgiLCJnbG9iYWxzU2NoZW1hIiwibW9uZ29vc2UiLCJTY2hlbWEiLCJkaXNjcmltaW5hdG9yS2V5IiwibWluaW1pemUiLCJ0aW1lc3RhbXBzIiwicGx1Z2luIiwiZ2V0QnVpbGRRdWVyeVBsdWdpbiIsIkdsb2JhbHMiLCJtb2RlbCIsIk9iamVjdCIsInZhbHVlcyIsImZvckVhY2giLCJnbG9iYWxDb25maWciLCJnbG9iYWxTY2hlbWEiLCJidWlsZFNjaGVtYSIsImZpZWxkcyIsIm9wdGlvbnMiLCJkaXNjcmltaW5hdG9yIiwic2x1ZyJdLCJtYXBwaW5ncyI6Ijs7OzsrQkFTYUE7OztlQUFBQTs7O2lFQVBRO21FQUlXO29FQUNSOzs7Ozs7QUFFakIsTUFBTUEsbUJBQW1CLENBQUNDO0lBQy9CLElBQUlBLE9BQU9DLE9BQU8sSUFBSUQsT0FBT0MsT0FBTyxDQUFDQyxNQUFNLEdBQUcsR0FBRztRQUMvQyxNQUFNQyxnQkFBZ0IsSUFBSUMsaUJBQVEsQ0FBQ0MsTUFBTSxDQUN2QyxDQUFDLEdBQ0Q7WUFBRUMsa0JBQWtCO1lBQWNDLFVBQVU7WUFBT0MsWUFBWTtRQUFLO1FBR3RFTCxjQUFjTSxNQUFNLENBQUNDLElBQUFBLG1CQUFtQjtRQUV4QyxNQUFNQyxVQUFVUCxpQkFBUSxDQUFDUSxLQUFLLENBQUMsV0FBV1QsZUFBZTtRQUV6RFUsT0FBT0MsTUFBTSxDQUFDZCxPQUFPQyxPQUFPLEVBQUVjLE9BQU8sQ0FBQyxDQUFDQztZQUNyQyxNQUFNQyxlQUFlQyxJQUFBQSxvQkFBVyxFQUFDbEIsUUFBUWdCLGFBQWFHLE1BQU0sRUFBRTtnQkFDNURDLFNBQVM7b0JBQ1BiLFVBQVU7Z0JBQ1o7WUFDRjtZQUNBSSxRQUFRVSxhQUFhLENBQUNMLGFBQWFNLElBQUksRUFBRUw7UUFDM0M7UUFFQSxPQUFPTjtJQUNUO0lBRUEsT0FBTztBQUNUIn0=
@@ -0,0 +1,14 @@
1
+ import type { SchemaOptions } from 'mongoose';
2
+ import type { SanitizedConfig } from 'payload/config';
3
+ import type { Field } from 'payload/types';
4
+ import { Schema } from 'mongoose';
5
+ export type BuildSchemaOptions = {
6
+ allowIDField?: boolean;
7
+ disableUnique?: boolean;
8
+ draftsEnabled?: boolean;
9
+ indexSortableFields?: boolean;
10
+ options?: SchemaOptions;
11
+ };
12
+ declare const buildSchema: (config: SanitizedConfig, configFields: Field[], buildSchemaOptions?: BuildSchemaOptions) => Schema;
13
+ export default buildSchema;
14
+ //# sourceMappingURL=buildSchema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buildSchema.d.ts","sourceRoot":"","sources":["../../src/models/buildSchema.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAgB,aAAa,EAAqB,MAAM,UAAU,CAAA;AAC9E,OAAO,KAAK,EAAE,eAAe,EAA+B,MAAM,gBAAgB,CAAA;AAClF,OAAO,KAAK,EASV,KAAK,EAcN,MAAM,eAAe,CAAA;AAGtB,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AAQjC,MAAM,MAAM,kBAAkB,GAAG;IAC/B,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B,OAAO,CAAC,EAAE,aAAa,CAAA;CACxB,CAAA;AAkDD,QAAA,MAAM,WAAW,WACP,eAAe,gBACT,KAAK,EAAE,uBACD,kBAAkB,KACrC,MA+BF,CAAA;AAscD,eAAe,WAAW,CAAA"}
@@ -0,0 +1,438 @@
1
+ /* eslint-disable @typescript-eslint/ban-ts-comment */ /* eslint-disable class-methods-use-this */ /* eslint-disable @typescript-eslint/no-use-before-define */ /* eslint-disable no-use-before-define */ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "default", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return _default;
9
+ }
10
+ });
11
+ const _mongoose = require("mongoose");
12
+ const _types = require("payload/types");
13
+ const formatBaseSchema = (field, buildSchemaOptions)=>{
14
+ const { disableUnique, draftsEnabled, indexSortableFields } = buildSchemaOptions;
15
+ const schema = {
16
+ index: field.index || !disableUnique && field.unique || indexSortableFields || false,
17
+ required: false,
18
+ unique: !disableUnique && field.unique || false
19
+ };
20
+ if (schema.unique && (field.localized || draftsEnabled)) {
21
+ schema.sparse = true;
22
+ }
23
+ if (field.hidden) {
24
+ schema.hidden = true;
25
+ }
26
+ return schema;
27
+ };
28
+ const localizeSchema = (entity, schema, localization)=>{
29
+ if ((0, _types.fieldIsLocalized)(entity) && localization && Array.isArray(localization.locales)) {
30
+ return {
31
+ localized: true,
32
+ type: localization.localeCodes.reduce((localeSchema, locale)=>({
33
+ ...localeSchema,
34
+ [locale]: schema
35
+ }), {
36
+ _id: false
37
+ })
38
+ };
39
+ }
40
+ return schema;
41
+ };
42
+ const buildSchema = (config, configFields, buildSchemaOptions = {})=>{
43
+ const { allowIDField, options } = buildSchemaOptions;
44
+ let fields = {};
45
+ let schemaFields = configFields;
46
+ if (!allowIDField) {
47
+ const idField = schemaFields.find((field)=>(0, _types.fieldAffectsData)(field) && field.name === 'id');
48
+ if (idField) {
49
+ fields = {
50
+ _id: idField.type === 'number' ? Number : String
51
+ };
52
+ schemaFields = schemaFields.filter((field)=>!((0, _types.fieldAffectsData)(field) && field.name === 'id'));
53
+ }
54
+ }
55
+ const schema = new _mongoose.Schema(fields, options);
56
+ schemaFields.forEach((field)=>{
57
+ if (!(0, _types.fieldIsPresentationalOnly)(field)) {
58
+ const addFieldSchema = fieldToSchemaMap[field.type];
59
+ if (addFieldSchema) {
60
+ addFieldSchema(field, schema, config, buildSchemaOptions);
61
+ }
62
+ }
63
+ });
64
+ return schema;
65
+ };
66
+ const fieldToSchemaMap = {
67
+ array: (field, schema, config, buildSchemaOptions)=>{
68
+ const baseSchema = {
69
+ ...formatBaseSchema(field, buildSchemaOptions),
70
+ default: undefined,
71
+ type: [
72
+ buildSchema(config, field.fields, {
73
+ allowIDField: true,
74
+ disableUnique: buildSchemaOptions.disableUnique,
75
+ draftsEnabled: buildSchemaOptions.draftsEnabled,
76
+ options: {
77
+ _id: false,
78
+ id: false,
79
+ minimize: false
80
+ }
81
+ })
82
+ ]
83
+ };
84
+ schema.add({
85
+ [field.name]: localizeSchema(field, baseSchema, config.localization)
86
+ });
87
+ },
88
+ blocks: (field, schema, config, buildSchemaOptions)=>{
89
+ const fieldSchema = {
90
+ default: undefined,
91
+ type: [
92
+ new _mongoose.Schema({}, {
93
+ _id: false,
94
+ discriminatorKey: 'blockType'
95
+ })
96
+ ]
97
+ };
98
+ schema.add({
99
+ [field.name]: localizeSchema(field, fieldSchema, config.localization)
100
+ });
101
+ field.blocks.forEach((blockItem)=>{
102
+ const blockSchema = new _mongoose.Schema({}, {
103
+ _id: false,
104
+ id: false
105
+ });
106
+ blockItem.fields.forEach((blockField)=>{
107
+ const addFieldSchema = fieldToSchemaMap[blockField.type];
108
+ if (addFieldSchema) {
109
+ addFieldSchema(blockField, blockSchema, config, buildSchemaOptions);
110
+ }
111
+ });
112
+ if (field.localized && config.localization) {
113
+ config.localization.localeCodes.forEach((localeCode)=>{
114
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
115
+ // @ts-ignore Possible incorrect typing in mongoose types, this works
116
+ schema.path(`${field.name}.${localeCode}`).discriminator(blockItem.slug, blockSchema);
117
+ });
118
+ } else {
119
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
120
+ // @ts-ignore Possible incorrect typing in mongoose types, this works
121
+ schema.path(field.name).discriminator(blockItem.slug, blockSchema);
122
+ }
123
+ });
124
+ },
125
+ checkbox: (field, schema, config, buildSchemaOptions)=>{
126
+ const baseSchema = {
127
+ ...formatBaseSchema(field, buildSchemaOptions),
128
+ type: Boolean
129
+ };
130
+ schema.add({
131
+ [field.name]: localizeSchema(field, baseSchema, config.localization)
132
+ });
133
+ },
134
+ code: (field, schema, config, buildSchemaOptions)=>{
135
+ const baseSchema = {
136
+ ...formatBaseSchema(field, buildSchemaOptions),
137
+ type: String
138
+ };
139
+ schema.add({
140
+ [field.name]: localizeSchema(field, baseSchema, config.localization)
141
+ });
142
+ },
143
+ collapsible: (field, schema, config, buildSchemaOptions)=>{
144
+ field.fields.forEach((subField)=>{
145
+ const addFieldSchema = fieldToSchemaMap[subField.type];
146
+ if (addFieldSchema) {
147
+ addFieldSchema(subField, schema, config, buildSchemaOptions);
148
+ }
149
+ });
150
+ },
151
+ date: (field, schema, config, buildSchemaOptions)=>{
152
+ const baseSchema = {
153
+ ...formatBaseSchema(field, buildSchemaOptions),
154
+ type: Date
155
+ };
156
+ schema.add({
157
+ [field.name]: localizeSchema(field, baseSchema, config.localization)
158
+ });
159
+ },
160
+ email: (field, schema, config, buildSchemaOptions)=>{
161
+ const baseSchema = {
162
+ ...formatBaseSchema(field, buildSchemaOptions),
163
+ type: String
164
+ };
165
+ schema.add({
166
+ [field.name]: localizeSchema(field, baseSchema, config.localization)
167
+ });
168
+ },
169
+ group: (field, schema, config, buildSchemaOptions)=>{
170
+ const formattedBaseSchema = formatBaseSchema(field, buildSchemaOptions);
171
+ // carry indexSortableFields through to versions if drafts enabled
172
+ const indexSortableFields = buildSchemaOptions.indexSortableFields && field.name === 'version' && buildSchemaOptions.draftsEnabled;
173
+ const baseSchema = {
174
+ ...formattedBaseSchema,
175
+ type: buildSchema(config, field.fields, {
176
+ disableUnique: buildSchemaOptions.disableUnique,
177
+ draftsEnabled: buildSchemaOptions.draftsEnabled,
178
+ indexSortableFields,
179
+ options: {
180
+ _id: false,
181
+ id: false,
182
+ minimize: false
183
+ }
184
+ })
185
+ };
186
+ schema.add({
187
+ [field.name]: localizeSchema(field, baseSchema, config.localization)
188
+ });
189
+ },
190
+ json: (field, schema, config, buildSchemaOptions)=>{
191
+ const baseSchema = {
192
+ ...formatBaseSchema(field, buildSchemaOptions),
193
+ type: _mongoose.Schema.Types.Mixed
194
+ };
195
+ schema.add({
196
+ [field.name]: localizeSchema(field, baseSchema, config.localization)
197
+ });
198
+ },
199
+ number: (field, schema, config, buildSchemaOptions)=>{
200
+ const baseSchema = {
201
+ ...formatBaseSchema(field, buildSchemaOptions),
202
+ type: field.hasMany ? [
203
+ Number
204
+ ] : Number
205
+ };
206
+ schema.add({
207
+ [field.name]: localizeSchema(field, baseSchema, config.localization)
208
+ });
209
+ },
210
+ point: (field, schema, config, buildSchemaOptions)=>{
211
+ const baseSchema = {
212
+ coordinates: {
213
+ default: field.defaultValue || undefined,
214
+ required: false,
215
+ type: [
216
+ Number
217
+ ]
218
+ },
219
+ type: {
220
+ enum: [
221
+ 'Point'
222
+ ],
223
+ type: String
224
+ }
225
+ };
226
+ if (buildSchemaOptions.disableUnique && field.unique && field.localized) {
227
+ baseSchema.coordinates.sparse = true;
228
+ }
229
+ schema.add({
230
+ [field.name]: localizeSchema(field, baseSchema, config.localization)
231
+ });
232
+ if (field.index === true || field.index === undefined) {
233
+ const indexOptions = {};
234
+ if (!buildSchemaOptions.disableUnique && field.unique) {
235
+ indexOptions.sparse = true;
236
+ indexOptions.unique = true;
237
+ }
238
+ if (field.localized && config.localization) {
239
+ config.localization.locales.forEach((locale)=>{
240
+ schema.index({
241
+ [`${field.name}.${locale}`]: '2dsphere'
242
+ }, indexOptions);
243
+ });
244
+ } else {
245
+ schema.index({
246
+ [field.name]: '2dsphere'
247
+ }, indexOptions);
248
+ }
249
+ }
250
+ },
251
+ radio: (field, schema, config, buildSchemaOptions)=>{
252
+ const baseSchema = {
253
+ ...formatBaseSchema(field, buildSchemaOptions),
254
+ enum: field.options.map((option)=>{
255
+ if (typeof option === 'object') return option.value;
256
+ return option;
257
+ }),
258
+ type: String
259
+ };
260
+ schema.add({
261
+ [field.name]: localizeSchema(field, baseSchema, config.localization)
262
+ });
263
+ },
264
+ relationship: (field, schema, config, buildSchemaOptions)=>{
265
+ const hasManyRelations = Array.isArray(field.relationTo);
266
+ let schemaToReturn = {};
267
+ if (field.localized && config.localization) {
268
+ schemaToReturn = {
269
+ localized: true,
270
+ type: config.localization.localeCodes.reduce((locales, locale)=>{
271
+ let localeSchema = {};
272
+ if (hasManyRelations) {
273
+ localeSchema = {
274
+ ...formatBaseSchema(field, buildSchemaOptions),
275
+ _id: false,
276
+ relationTo: {
277
+ enum: field.relationTo,
278
+ type: String
279
+ },
280
+ type: _mongoose.Schema.Types.Mixed,
281
+ value: {
282
+ refPath: `${field.name}.${locale}.relationTo`,
283
+ type: _mongoose.Schema.Types.Mixed
284
+ }
285
+ };
286
+ } else {
287
+ localeSchema = {
288
+ ...formatBaseSchema(field, buildSchemaOptions),
289
+ ref: field.relationTo,
290
+ type: _mongoose.Schema.Types.Mixed
291
+ };
292
+ }
293
+ return {
294
+ ...locales,
295
+ [locale]: field.hasMany ? {
296
+ default: undefined,
297
+ type: [
298
+ localeSchema
299
+ ]
300
+ } : localeSchema
301
+ };
302
+ }, {})
303
+ };
304
+ } else if (hasManyRelations) {
305
+ schemaToReturn = {
306
+ ...formatBaseSchema(field, buildSchemaOptions),
307
+ _id: false,
308
+ relationTo: {
309
+ enum: field.relationTo,
310
+ type: String
311
+ },
312
+ type: _mongoose.Schema.Types.Mixed,
313
+ value: {
314
+ refPath: `${field.name}.relationTo`,
315
+ type: _mongoose.Schema.Types.Mixed
316
+ }
317
+ };
318
+ if (field.hasMany) {
319
+ schemaToReturn = {
320
+ default: undefined,
321
+ type: [
322
+ schemaToReturn
323
+ ]
324
+ };
325
+ }
326
+ } else {
327
+ schemaToReturn = {
328
+ ...formatBaseSchema(field, buildSchemaOptions),
329
+ ref: field.relationTo,
330
+ type: _mongoose.Schema.Types.Mixed
331
+ };
332
+ if (field.hasMany) {
333
+ schemaToReturn = {
334
+ default: undefined,
335
+ type: [
336
+ schemaToReturn
337
+ ]
338
+ };
339
+ }
340
+ }
341
+ schema.add({
342
+ [field.name]: schemaToReturn
343
+ });
344
+ },
345
+ richText: (field, schema, config, buildSchemaOptions)=>{
346
+ const baseSchema = {
347
+ ...formatBaseSchema(field, buildSchemaOptions),
348
+ type: _mongoose.Schema.Types.Mixed
349
+ };
350
+ schema.add({
351
+ [field.name]: localizeSchema(field, baseSchema, config.localization)
352
+ });
353
+ },
354
+ row: (field, schema, config, buildSchemaOptions)=>{
355
+ field.fields.forEach((subField)=>{
356
+ const addFieldSchema = fieldToSchemaMap[subField.type];
357
+ if (addFieldSchema) {
358
+ addFieldSchema(subField, schema, config, buildSchemaOptions);
359
+ }
360
+ });
361
+ },
362
+ select: (field, schema, config, buildSchemaOptions)=>{
363
+ const baseSchema = {
364
+ ...formatBaseSchema(field, buildSchemaOptions),
365
+ enum: field.options.map((option)=>{
366
+ if (typeof option === 'object') return option.value;
367
+ return option;
368
+ }),
369
+ type: String
370
+ };
371
+ if (buildSchemaOptions.draftsEnabled || !field.required) {
372
+ baseSchema.enum.push(null);
373
+ }
374
+ schema.add({
375
+ [field.name]: localizeSchema(field, field.hasMany ? [
376
+ baseSchema
377
+ ] : baseSchema, config.localization)
378
+ });
379
+ },
380
+ tabs: (field, schema, config, buildSchemaOptions)=>{
381
+ field.tabs.forEach((tab)=>{
382
+ if ((0, _types.tabHasName)(tab)) {
383
+ const baseSchema = {
384
+ type: buildSchema(config, tab.fields, {
385
+ disableUnique: buildSchemaOptions.disableUnique,
386
+ draftsEnabled: buildSchemaOptions.draftsEnabled,
387
+ options: {
388
+ _id: false,
389
+ id: false,
390
+ minimize: false
391
+ }
392
+ })
393
+ };
394
+ schema.add({
395
+ [tab.name]: localizeSchema(tab, baseSchema, config.localization)
396
+ });
397
+ } else {
398
+ tab.fields.forEach((subField)=>{
399
+ const addFieldSchema = fieldToSchemaMap[subField.type];
400
+ if (addFieldSchema) {
401
+ addFieldSchema(subField, schema, config, buildSchemaOptions);
402
+ }
403
+ });
404
+ }
405
+ });
406
+ },
407
+ text: (field, schema, config, buildSchemaOptions)=>{
408
+ const baseSchema = {
409
+ ...formatBaseSchema(field, buildSchemaOptions),
410
+ type: String
411
+ };
412
+ schema.add({
413
+ [field.name]: localizeSchema(field, baseSchema, config.localization)
414
+ });
415
+ },
416
+ textarea: (field, schema, config, buildSchemaOptions)=>{
417
+ const baseSchema = {
418
+ ...formatBaseSchema(field, buildSchemaOptions),
419
+ type: String
420
+ };
421
+ schema.add({
422
+ [field.name]: localizeSchema(field, baseSchema, config.localization)
423
+ });
424
+ },
425
+ upload: (field, schema, config, buildSchemaOptions)=>{
426
+ const baseSchema = {
427
+ ...formatBaseSchema(field, buildSchemaOptions),
428
+ ref: field.relationTo,
429
+ type: _mongoose.Schema.Types.Mixed
430
+ };
431
+ schema.add({
432
+ [field.name]: localizeSchema(field, baseSchema, config.localization)
433
+ });
434
+ }
435
+ };
436
+ const _default = buildSchema;
437
+
438
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tb2RlbHMvYnVpbGRTY2hlbWEudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L2Jhbi10cy1jb21tZW50ICovXG4vKiBlc2xpbnQtZGlzYWJsZSBjbGFzcy1tZXRob2RzLXVzZS10aGlzICovXG4vKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdXNlLWJlZm9yZS1kZWZpbmUgKi9cbi8qIGVzbGludC1kaXNhYmxlIG5vLXVzZS1iZWZvcmUtZGVmaW5lICovXG5pbXBvcnQgdHlwZSB7IEluZGV4T3B0aW9ucywgU2NoZW1hT3B0aW9ucywgU2NoZW1hVHlwZU9wdGlvbnMgfSBmcm9tICdtb25nb29zZSdcbmltcG9ydCB0eXBlIHsgU2FuaXRpemVkQ29uZmlnLCBTYW5pdGl6ZWRMb2NhbGl6YXRpb25Db25maWcgfSBmcm9tICdwYXlsb2FkL2NvbmZpZydcbmltcG9ydCB0eXBlIHtcbiAgQXJyYXlGaWVsZCxcbiAgQmxvY2ssXG4gIEJsb2NrRmllbGQsXG4gIENoZWNrYm94RmllbGQsXG4gIENvZGVGaWVsZCxcbiAgQ29sbGFwc2libGVGaWVsZCxcbiAgRGF0ZUZpZWxkLFxuICBFbWFpbEZpZWxkLFxuICBGaWVsZCxcbiAgR3JvdXBGaWVsZCxcbiAgSlNPTkZpZWxkLFxuICBOdW1iZXJGaWVsZCxcbiAgUG9pbnRGaWVsZCxcbiAgUmFkaW9GaWVsZCxcbiAgUmVsYXRpb25zaGlwRmllbGQsXG4gIFJpY2hUZXh0RmllbGQsXG4gIFJvd0ZpZWxkLFxuICBTZWxlY3RGaWVsZCxcbiAgVGFic0ZpZWxkLFxuICBUZXh0RmllbGQsXG4gIFRleHRhcmVhRmllbGQsXG4gIFVwbG9hZEZpZWxkLFxufSBmcm9tICdwYXlsb2FkL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBGaWVsZEFmZmVjdGluZ0RhdGEsIE5vblByZXNlbnRhdGlvbmFsRmllbGQsIFRhYiwgVW5uYW1lZFRhYiB9IGZyb20gJ3BheWxvYWQvdHlwZXMnXG5cbmltcG9ydCB7IFNjaGVtYSB9IGZyb20gJ21vbmdvb3NlJ1xuaW1wb3J0IHtcbiAgZmllbGRBZmZlY3RzRGF0YSxcbiAgZmllbGRJc0xvY2FsaXplZCxcbiAgZmllbGRJc1ByZXNlbnRhdGlvbmFsT25seSxcbiAgdGFiSGFzTmFtZSxcbn0gZnJvbSAncGF5bG9hZC90eXBlcydcblxuZXhwb3J0IHR5cGUgQnVpbGRTY2hlbWFPcHRpb25zID0ge1xuICBhbGxvd0lERmllbGQ/OiBib29sZWFuXG4gIGRpc2FibGVVbmlxdWU/OiBib29sZWFuXG4gIGRyYWZ0c0VuYWJsZWQ/OiBib29sZWFuXG4gIGluZGV4U29ydGFibGVGaWVsZHM/OiBib29sZWFuXG4gIG9wdGlvbnM/OiBTY2hlbWFPcHRpb25zXG59XG5cbnR5cGUgRmllbGRTY2hlbWFHZW5lcmF0b3IgPSAoXG4gIGZpZWxkOiBGaWVsZCxcbiAgc2NoZW1hOiBTY2hlbWEsXG4gIGNvbmZpZzogU2FuaXRpemVkQ29uZmlnLFxuICBidWlsZFNjaGVtYU9wdGlvbnM6IEJ1aWxkU2NoZW1hT3B0aW9ucyxcbikgPT4gdm9pZFxuXG5jb25zdCBmb3JtYXRCYXNlU2NoZW1hID0gKGZpZWxkOiBGaWVsZEFmZmVjdGluZ0RhdGEsIGJ1aWxkU2NoZW1hT3B0aW9uczogQnVpbGRTY2hlbWFPcHRpb25zKSA9PiB7XG4gIGNvbnN0IHsgZGlzYWJsZVVuaXF1ZSwgZHJhZnRzRW5hYmxlZCwgaW5kZXhTb3J0YWJsZUZpZWxkcyB9ID0gYnVpbGRTY2hlbWFPcHRpb25zXG4gIGNvbnN0IHNjaGVtYTogU2NoZW1hVHlwZU9wdGlvbnM8dW5rbm93bj4gPSB7XG4gICAgaW5kZXg6IGZpZWxkLmluZGV4IHx8ICghZGlzYWJsZVVuaXF1ZSAmJiBmaWVsZC51bmlxdWUpIHx8IGluZGV4U29ydGFibGVGaWVsZHMgfHwgZmFsc2UsXG4gICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgIHVuaXF1ZTogKCFkaXNhYmxlVW5pcXVlICYmIGZpZWxkLnVuaXF1ZSkgfHwgZmFsc2UsXG4gIH1cblxuICBpZiAoc2NoZW1hLnVuaXF1ZSAmJiAoZmllbGQubG9jYWxpemVkIHx8IGRyYWZ0c0VuYWJsZWQpKSB7XG4gICAgc2NoZW1hLnNwYXJzZSA9IHRydWVcbiAgfVxuXG4gIGlmIChmaWVsZC5oaWRkZW4pIHtcbiAgICBzY2hlbWEuaGlkZGVuID0gdHJ1ZVxuICB9XG5cbiAgcmV0dXJuIHNjaGVtYVxufVxuXG5jb25zdCBsb2NhbGl6ZVNjaGVtYSA9IChcbiAgZW50aXR5OiBOb25QcmVzZW50YXRpb25hbEZpZWxkIHwgVGFiLFxuICBzY2hlbWEsXG4gIGxvY2FsaXphdGlvbjogU2FuaXRpemVkTG9jYWxpemF0aW9uQ29uZmlnIHwgZmFsc2UsXG4pID0+IHtcbiAgaWYgKGZpZWxkSXNMb2NhbGl6ZWQoZW50aXR5KSAmJiBsb2NhbGl6YXRpb24gJiYgQXJyYXkuaXNBcnJheShsb2NhbGl6YXRpb24ubG9jYWxlcykpIHtcbiAgICByZXR1cm4ge1xuICAgICAgbG9jYWxpemVkOiB0cnVlLFxuICAgICAgdHlwZTogbG9jYWxpemF0aW9uLmxvY2FsZUNvZGVzLnJlZHVjZShcbiAgICAgICAgKGxvY2FsZVNjaGVtYSwgbG9jYWxlKSA9PiAoe1xuICAgICAgICAgIC4uLmxvY2FsZVNjaGVtYSxcbiAgICAgICAgICBbbG9jYWxlXTogc2NoZW1hLFxuICAgICAgICB9KSxcbiAgICAgICAge1xuICAgICAgICAgIF9pZDogZmFsc2UsXG4gICAgICAgIH0sXG4gICAgICApLFxuICAgIH1cbiAgfVxuICByZXR1cm4gc2NoZW1hXG59XG5cbmNvbnN0IGJ1aWxkU2NoZW1hID0gKFxuICBjb25maWc6IFNhbml0aXplZENvbmZpZyxcbiAgY29uZmlnRmllbGRzOiBGaWVsZFtdLFxuICBidWlsZFNjaGVtYU9wdGlvbnM6IEJ1aWxkU2NoZW1hT3B0aW9ucyA9IHt9LFxuKTogU2NoZW1hID0+IHtcbiAgY29uc3QgeyBhbGxvd0lERmllbGQsIG9wdGlvbnMgfSA9IGJ1aWxkU2NoZW1hT3B0aW9uc1xuICBsZXQgZmllbGRzID0ge31cblxuICBsZXQgc2NoZW1hRmllbGRzID0gY29uZmlnRmllbGRzXG5cbiAgaWYgKCFhbGxvd0lERmllbGQpIHtcbiAgICBjb25zdCBpZEZpZWxkID0gc2NoZW1hRmllbGRzLmZpbmQoKGZpZWxkKSA9PiBmaWVsZEFmZmVjdHNEYXRhKGZpZWxkKSAmJiBmaWVsZC5uYW1lID09PSAnaWQnKVxuICAgIGlmIChpZEZpZWxkKSB7XG4gICAgICBmaWVsZHMgPSB7XG4gICAgICAgIF9pZDogaWRGaWVsZC50eXBlID09PSAnbnVtYmVyJyA/IE51bWJlciA6IFN0cmluZyxcbiAgICAgIH1cbiAgICAgIHNjaGVtYUZpZWxkcyA9IHNjaGVtYUZpZWxkcy5maWx0ZXIoXG4gICAgICAgIChmaWVsZCkgPT4gIShmaWVsZEFmZmVjdHNEYXRhKGZpZWxkKSAmJiBmaWVsZC5uYW1lID09PSAnaWQnKSxcbiAgICAgIClcbiAgICB9XG4gIH1cblxuICBjb25zdCBzY2hlbWEgPSBuZXcgU2NoZW1hKGZpZWxkcywgb3B0aW9ucylcblxuICBzY2hlbWFGaWVsZHMuZm9yRWFjaCgoZmllbGQpID0+IHtcbiAgICBpZiAoIWZpZWxkSXNQcmVzZW50YXRpb25hbE9ubHkoZmllbGQpKSB7XG4gICAgICBjb25zdCBhZGRGaWVsZFNjaGVtYTogRmllbGRTY2hlbWFHZW5lcmF0b3IgPSBmaWVsZFRvU2NoZW1hTWFwW2ZpZWxkLnR5cGVdXG5cbiAgICAgIGlmIChhZGRGaWVsZFNjaGVtYSkge1xuICAgICAgICBhZGRGaWVsZFNjaGVtYShmaWVsZCwgc2NoZW1hLCBjb25maWcsIGJ1aWxkU2NoZW1hT3B0aW9ucylcbiAgICAgIH1cbiAgICB9XG4gIH0pXG5cbiAgcmV0dXJuIHNjaGVtYVxufVxuXG5jb25zdCBmaWVsZFRvU2NoZW1hTWFwOiBSZWNvcmQ8c3RyaW5nLCBGaWVsZFNjaGVtYUdlbmVyYXRvcj4gPSB7XG4gIGFycmF5OiAoXG4gICAgZmllbGQ6IEFycmF5RmllbGQsXG4gICAgc2NoZW1hOiBTY2hlbWEsXG4gICAgY29uZmlnOiBTYW5pdGl6ZWRDb25maWcsXG4gICAgYnVpbGRTY2hlbWFPcHRpb25zOiBCdWlsZFNjaGVtYU9wdGlvbnMsXG4gICkgPT4ge1xuICAgIGNvbnN0IGJhc2VTY2hlbWEgPSB7XG4gICAgICAuLi5mb3JtYXRCYXNlU2NoZW1hKGZpZWxkLCBidWlsZFNjaGVtYU9wdGlvbnMpLFxuICAgICAgZGVmYXVsdDogdW5kZWZpbmVkLFxuICAgICAgdHlwZTogW1xuICAgICAgICBidWlsZFNjaGVtYShjb25maWcsIGZpZWxkLmZpZWxkcywge1xuICAgICAgICAgIGFsbG93SURGaWVsZDogdHJ1ZSxcbiAgICAgICAgICBkaXNhYmxlVW5pcXVlOiBidWlsZFNjaGVtYU9wdGlvbnMuZGlzYWJsZVVuaXF1ZSxcbiAgICAgICAgICBkcmFmdHNFbmFibGVkOiBidWlsZFNjaGVtYU9wdGlvbnMuZHJhZnRzRW5hYmxlZCxcbiAgICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgICBfaWQ6IGZhbHNlLFxuICAgICAgICAgICAgaWQ6IGZhbHNlLFxuICAgICAgICAgICAgbWluaW1pemU6IGZhbHNlLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0pLFxuICAgICAgXSxcbiAgICB9XG5cbiAgICBzY2hlbWEuYWRkKHtcbiAgICAgIFtmaWVsZC5uYW1lXTogbG9jYWxpemVTY2hlbWEoZmllbGQsIGJhc2VTY2hlbWEsIGNvbmZpZy5sb2NhbGl6YXRpb24pLFxuICAgIH0pXG4gIH0sXG4gIGJsb2NrczogKFxuICAgIGZpZWxkOiBCbG9ja0ZpZWxkLFxuICAgIHNjaGVtYTogU2NoZW1hLFxuICAgIGNvbmZpZzogU2FuaXRpemVkQ29uZmlnLFxuICAgIGJ1aWxkU2NoZW1hT3B0aW9uczogQnVpbGRTY2hlbWFPcHRpb25zLFxuICApOiB2b2lkID0+IHtcbiAgICBjb25zdCBmaWVsZFNjaGVtYSA9IHtcbiAgICAgIGRlZmF1bHQ6IHVuZGVmaW5lZCxcbiAgICAgIHR5cGU6IFtuZXcgU2NoZW1hKHt9LCB7IF9pZDogZmFsc2UsIGRpc2NyaW1pbmF0b3JLZXk6ICdibG9ja1R5cGUnIH0pXSxcbiAgICB9XG5cbiAgICBzY2hlbWEuYWRkKHtcbiAgICAgIFtmaWVsZC5uYW1lXTogbG9jYWxpemVTY2hlbWEoZmllbGQsIGZpZWxkU2NoZW1hLCBjb25maWcubG9jYWxpemF0aW9uKSxcbiAgICB9KVxuXG4gICAgZmllbGQuYmxvY2tzLmZvckVhY2goKGJsb2NrSXRlbTogQmxvY2spID0+IHtcbiAgICAgIGNvbnN0IGJsb2NrU2NoZW1hID0gbmV3IFNjaGVtYSh7fSwgeyBfaWQ6IGZhbHNlLCBpZDogZmFsc2UgfSlcblxuICAgICAgYmxvY2tJdGVtLmZpZWxkcy5mb3JFYWNoKChibG9ja0ZpZWxkKSA9PiB7XG4gICAgICAgIGNvbnN0IGFkZEZpZWxkU2NoZW1hOiBGaWVsZFNjaGVtYUdlbmVyYXRvciA9IGZpZWxkVG9TY2hlbWFNYXBbYmxvY2tGaWVsZC50eXBlXVxuICAgICAgICBpZiAoYWRkRmllbGRTY2hlbWEpIHtcbiAgICAgICAgICBhZGRGaWVsZFNjaGVtYShibG9ja0ZpZWxkLCBibG9ja1NjaGVtYSwgY29uZmlnLCBidWlsZFNjaGVtYU9wdGlvbnMpXG4gICAgICAgIH1cbiAgICAgIH0pXG5cbiAgICAgIGlmIChmaWVsZC5sb2NhbGl6ZWQgJiYgY29uZmlnLmxvY2FsaXphdGlvbikge1xuICAgICAgICBjb25maWcubG9jYWxpemF0aW9uLmxvY2FsZUNvZGVzLmZvckVhY2goKGxvY2FsZUNvZGUpID0+IHtcbiAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L2Jhbi10cy1jb21tZW50XG4gICAgICAgICAgLy8gQHRzLWlnbm9yZSBQb3NzaWJsZSBpbmNvcnJlY3QgdHlwaW5nIGluIG1vbmdvb3NlIHR5cGVzLCB0aGlzIHdvcmtzXG4gICAgICAgICAgc2NoZW1hLnBhdGgoYCR7ZmllbGQubmFtZX0uJHtsb2NhbGVDb2RlfWApLmRpc2NyaW1pbmF0b3IoYmxvY2tJdGVtLnNsdWcsIGJsb2NrU2NoZW1hKVxuICAgICAgICB9KVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9iYW4tdHMtY29tbWVudFxuICAgICAgICAvLyBAdHMtaWdub3JlIFBvc3NpYmxlIGluY29ycmVjdCB0eXBpbmcgaW4gbW9uZ29vc2UgdHlwZXMsIHRoaXMgd29ya3NcbiAgICAgICAgc2NoZW1hLnBhdGgoZmllbGQubmFtZSkuZGlzY3JpbWluYXRvcihibG9ja0l0ZW0uc2x1ZywgYmxvY2tTY2hlbWEpXG4gICAgICB9XG4gICAgfSlcbiAgfSxcbiAgY2hlY2tib3g6IChcbiAgICBmaWVsZDogQ2hlY2tib3hGaWVsZCxcbiAgICBzY2hlbWE6IFNjaGVtYSxcbiAgICBjb25maWc6IFNhbml0aXplZENvbmZpZyxcbiAgICBidWlsZFNjaGVtYU9wdGlvbnM6IEJ1aWxkU2NoZW1hT3B0aW9ucyxcbiAgKTogdm9pZCA9PiB7XG4gICAgY29uc3QgYmFzZVNjaGVtYSA9IHsgLi4uZm9ybWF0QmFzZVNjaGVtYShmaWVsZCwgYnVpbGRTY2hlbWFPcHRpb25zKSwgdHlwZTogQm9vbGVhbiB9XG5cbiAgICBzY2hlbWEuYWRkKHtcbiAgICAgIFtmaWVsZC5uYW1lXTogbG9jYWxpemVTY2hlbWEoZmllbGQsIGJhc2VTY2hlbWEsIGNvbmZpZy5sb2NhbGl6YXRpb24pLFxuICAgIH0pXG4gIH0sXG4gIGNvZGU6IChcbiAgICBmaWVsZDogQ29kZUZpZWxkLFxuICAgIHNjaGVtYTogU2NoZW1hLFxuICAgIGNvbmZpZzogU2FuaXRpemVkQ29uZmlnLFxuICAgIGJ1aWxkU2NoZW1hT3B0aW9uczogQnVpbGRTY2hlbWFPcHRpb25zLFxuICApOiB2b2lkID0+IHtcbiAgICBjb25zdCBiYXNlU2NoZW1hID0geyAuLi5mb3JtYXRCYXNlU2NoZW1hKGZpZWxkLCBidWlsZFNjaGVtYU9wdGlvbnMpLCB0eXBlOiBTdHJpbmcgfVxuXG4gICAgc2NoZW1hLmFkZCh7XG4gICAgICBbZmllbGQubmFtZV06IGxvY2FsaXplU2NoZW1hKGZpZWxkLCBiYXNlU2NoZW1hLCBjb25maWcubG9jYWxpemF0aW9uKSxcbiAgICB9KVxuICB9LFxuICBjb2xsYXBzaWJsZTogKFxuICAgIGZpZWxkOiBDb2xsYXBzaWJsZUZpZWxkLFxuICAgIHNjaGVtYTogU2NoZW1hLFxuICAgIGNvbmZpZzogU2FuaXRpemVkQ29uZmlnLFxuICAgIGJ1aWxkU2NoZW1hT3B0aW9uczogQnVpbGRTY2hlbWFPcHRpb25zLFxuICApOiB2b2lkID0+IHtcbiAgICBmaWVsZC5maWVsZHMuZm9yRWFjaCgoc3ViRmllbGQ6IEZpZWxkKSA9PiB7XG4gICAgICBjb25zdCBhZGRGaWVsZFNjaGVtYTogRmllbGRTY2hlbWFHZW5lcmF0b3IgPSBmaWVsZFRvU2NoZW1hTWFwW3N1YkZpZWxkLnR5cGVdXG5cbiAgICAgIGlmIChhZGRGaWVsZFNjaGVtYSkge1xuICAgICAgICBhZGRGaWVsZFNjaGVtYShzdWJGaWVsZCwgc2NoZW1hLCBjb25maWcsIGJ1aWxkU2NoZW1hT3B0aW9ucylcbiAgICAgIH1cbiAgICB9KVxuICB9LFxuICBkYXRlOiAoXG4gICAgZmllbGQ6IERhdGVGaWVsZCxcbiAgICBzY2hlbWE6IFNjaGVtYSxcbiAgICBjb25maWc6IFNhbml0aXplZENvbmZpZyxcbiAgICBidWlsZFNjaGVtYU9wdGlvbnM6IEJ1aWxkU2NoZW1hT3B0aW9ucyxcbiAgKTogdm9pZCA9PiB7XG4gICAgY29uc3QgYmFzZVNjaGVtYSA9IHsgLi4uZm9ybWF0QmFzZVNjaGVtYShmaWVsZCwgYnVpbGRTY2hlbWFPcHRpb25zKSwgdHlwZTogRGF0ZSB9XG5cbiAgICBzY2hlbWEuYWRkKHtcbiAgICAgIFtmaWVsZC5uYW1lXTogbG9jYWxpemVTY2hlbWEoZmllbGQsIGJhc2VTY2hlbWEsIGNvbmZpZy5sb2NhbGl6YXRpb24pLFxuICAgIH0pXG4gIH0sXG4gIGVtYWlsOiAoXG4gICAgZmllbGQ6IEVtYWlsRmllbGQsXG4gICAgc2NoZW1hOiBTY2hlbWEsXG4gICAgY29uZmlnOiBTYW5pdGl6ZWRDb25maWcsXG4gICAgYnVpbGRTY2hlbWFPcHRpb25zOiBCdWlsZFNjaGVtYU9wdGlvbnMsXG4gICk6IHZvaWQgPT4ge1xuICAgIGNvbnN0IGJhc2VTY2hlbWEgPSB7IC4uLmZvcm1hdEJhc2VTY2hlbWEoZmllbGQsIGJ1aWxkU2NoZW1hT3B0aW9ucyksIHR5cGU6IFN0cmluZyB9XG5cbiAgICBzY2hlbWEuYWRkKHtcbiAgICAgIFtmaWVsZC5uYW1lXTogbG9jYWxpemVTY2hlbWEoZmllbGQsIGJhc2VTY2hlbWEsIGNvbmZpZy5sb2NhbGl6YXRpb24pLFxuICAgIH0pXG4gIH0sXG4gIGdyb3VwOiAoXG4gICAgZmllbGQ6IEdyb3VwRmllbGQsXG4gICAgc2NoZW1hOiBTY2hlbWEsXG4gICAgY29uZmlnOiBTYW5pdGl6ZWRDb25maWcsXG4gICAgYnVpbGRTY2hlbWFPcHRpb25zOiBCdWlsZFNjaGVtYU9wdGlvbnMsXG4gICk6IHZvaWQgPT4ge1xuICAgIGNvbnN0IGZvcm1hdHRlZEJhc2VTY2hlbWEgPSBmb3JtYXRCYXNlU2NoZW1hKGZpZWxkLCBidWlsZFNjaGVtYU9wdGlvbnMpXG5cbiAgICAvLyBjYXJyeSBpbmRleFNvcnRhYmxlRmllbGRzIHRocm91Z2ggdG8gdmVyc2lvbnMgaWYgZHJhZnRzIGVuYWJsZWRcbiAgICBjb25zdCBpbmRleFNvcnRhYmxlRmllbGRzID1cbiAgICAgIGJ1aWxkU2NoZW1hT3B0aW9ucy5pbmRleFNvcnRhYmxlRmllbGRzICYmXG4gICAgICBmaWVsZC5uYW1lID09PSAndmVyc2lvbicgJiZcbiAgICAgIGJ1aWxkU2NoZW1hT3B0aW9ucy5kcmFmdHNFbmFibGVkXG5cbiAgICBjb25zdCBiYXNlU2NoZW1hID0ge1xuICAgICAgLi4uZm9ybWF0dGVkQmFzZVNjaGVtYSxcbiAgICAgIHR5cGU6IGJ1aWxkU2NoZW1hKGNvbmZpZywgZmllbGQuZmllbGRzLCB7XG4gICAgICAgIGRpc2FibGVVbmlxdWU6IGJ1aWxkU2NoZW1hT3B0aW9ucy5kaXNhYmxlVW5pcXVlLFxuICAgICAgICBkcmFmdHNFbmFibGVkOiBidWlsZFNjaGVtYU9wdGlvbnMuZHJhZnRzRW5hYmxlZCxcbiAgICAgICAgaW5kZXhTb3J0YWJsZUZpZWxkcyxcbiAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgIF9pZDogZmFsc2UsXG4gICAgICAgICAgaWQ6IGZhbHNlLFxuICAgICAgICAgIG1pbmltaXplOiBmYWxzZSxcbiAgICAgICAgfSxcbiAgICAgIH0pLFxuICAgIH1cblxuICAgIHNjaGVtYS5hZGQoe1xuICAgICAgW2ZpZWxkLm5hbWVdOiBsb2NhbGl6ZVNjaGVtYShmaWVsZCwgYmFzZVNjaGVtYSwgY29uZmlnLmxvY2FsaXphdGlvbiksXG4gICAgfSlcbiAgfSxcbiAganNvbjogKFxuICAgIGZpZWxkOiBKU09ORmllbGQsXG4gICAgc2NoZW1hOiBTY2hlbWEsXG4gICAgY29uZmlnOiBTYW5pdGl6ZWRDb25maWcsXG4gICAgYnVpbGRTY2hlbWFPcHRpb25zOiBCdWlsZFNjaGVtYU9wdGlvbnMsXG4gICk6IHZvaWQgPT4ge1xuICAgIGNvbnN0IGJhc2VTY2hlbWEgPSB7IC4uLmZvcm1hdEJhc2VTY2hlbWEoZmllbGQsIGJ1aWxkU2NoZW1hT3B0aW9ucyksIHR5cGU6IFNjaGVtYS5UeXBlcy5NaXhlZCB9XG5cbiAgICBzY2hlbWEuYWRkKHtcbiAgICAgIFtmaWVsZC5uYW1lXTogbG9jYWxpemVTY2hlbWEoZmllbGQsIGJhc2VTY2hlbWEsIGNvbmZpZy5sb2NhbGl6YXRpb24pLFxuICAgIH0pXG4gIH0sXG4gIG51bWJlcjogKFxuICAgIGZpZWxkOiBOdW1iZXJGaWVsZCxcbiAgICBzY2hlbWE6IFNjaGVtYSxcbiAgICBjb25maWc6IFNhbml0aXplZENvbmZpZyxcbiAgICBidWlsZFNjaGVtYU9wdGlvbnM6IEJ1aWxkU2NoZW1hT3B0aW9ucyxcbiAgKTogdm9pZCA9PiB7XG4gICAgY29uc3QgYmFzZVNjaGVtYSA9IHtcbiAgICAgIC4uLmZvcm1hdEJhc2VTY2hlbWEoZmllbGQsIGJ1aWxkU2NoZW1hT3B0aW9ucyksXG4gICAgICB0eXBlOiBmaWVsZC5oYXNNYW55ID8gW051bWJlcl0gOiBOdW1iZXIsXG4gICAgfVxuXG4gICAgc2NoZW1hLmFkZCh7XG4gICAgICBbZmllbGQubmFtZV06IGxvY2FsaXplU2NoZW1hKGZpZWxkLCBiYXNlU2NoZW1hLCBjb25maWcubG9jYWxpemF0aW9uKSxcbiAgICB9KVxuICB9LFxuICBwb2ludDogKFxuICAgIGZpZWxkOiBQb2ludEZpZWxkLFxuICAgIHNjaGVtYTogU2NoZW1hLFxuICAgIGNvbmZpZzogU2FuaXRpemVkQ29uZmlnLFxuICAgIGJ1aWxkU2NoZW1hT3B0aW9uczogQnVpbGRTY2hlbWFPcHRpb25zLFxuICApOiB2b2lkID0+IHtcbiAgICBjb25zdCBiYXNlU2NoZW1hOiBTY2hlbWFUeXBlT3B0aW9uczx1bmtub3duPiA9IHtcbiAgICAgIGNvb3JkaW5hdGVzOiB7XG4gICAgICAgIGRlZmF1bHQ6IGZpZWxkLmRlZmF1bHRWYWx1ZSB8fCB1bmRlZmluZWQsXG4gICAgICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICAgICAgdHlwZTogW051bWJlcl0sXG4gICAgICB9LFxuICAgICAgdHlwZToge1xuICAgICAgICBlbnVtOiBbJ1BvaW50J10sXG4gICAgICAgIHR5cGU6IFN0cmluZyxcbiAgICAgIH0sXG4gICAgfVxuICAgIGlmIChidWlsZFNjaGVtYU9wdGlvbnMuZGlzYWJsZVVuaXF1ZSAmJiBmaWVsZC51bmlxdWUgJiYgZmllbGQubG9jYWxpemVkKSB7XG4gICAgICBiYXNlU2NoZW1hLmNvb3JkaW5hdGVzLnNwYXJzZSA9IHRydWVcbiAgICB9XG5cbiAgICBzY2hlbWEuYWRkKHtcbiAgICAgIFtmaWVsZC5uYW1lXTogbG9jYWxpemVTY2hlbWEoZmllbGQsIGJhc2VTY2hlbWEsIGNvbmZpZy5sb2NhbGl6YXRpb24pLFxuICAgIH0pXG5cbiAgICBpZiAoZmllbGQuaW5kZXggPT09IHRydWUgfHwgZmllbGQuaW5kZXggPT09IHVuZGVmaW5lZCkge1xuICAgICAgY29uc3QgaW5kZXhPcHRpb25zOiBJbmRleE9wdGlvbnMgPSB7fVxuICAgICAgaWYgKCFidWlsZFNjaGVtYU9wdGlvbnMuZGlzYWJsZVVuaXF1ZSAmJiBmaWVsZC51bmlxdWUpIHtcbiAgICAgICAgaW5kZXhPcHRpb25zLnNwYXJzZSA9IHRydWVcbiAgICAgICAgaW5kZXhPcHRpb25zLnVuaXF1ZSA9IHRydWVcbiAgICAgIH1cbiAgICAgIGlmIChmaWVsZC5sb2NhbGl6ZWQgJiYgY29uZmlnLmxvY2FsaXphdGlvbikge1xuICAgICAgICBjb25maWcubG9jYWxpemF0aW9uLmxvY2FsZXMuZm9yRWFjaCgobG9jYWxlKSA9PiB7XG4gICAgICAgICAgc2NoZW1hLmluZGV4KHsgW2Ake2ZpZWxkLm5hbWV9LiR7bG9jYWxlfWBdOiAnMmRzcGhlcmUnIH0sIGluZGV4T3B0aW9ucylcbiAgICAgICAgfSlcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHNjaGVtYS5pbmRleCh7IFtmaWVsZC5uYW1lXTogJzJkc3BoZXJlJyB9LCBpbmRleE9wdGlvbnMpXG4gICAgICB9XG4gICAgfVxuICB9LFxuICByYWRpbzogKFxuICAgIGZpZWxkOiBSYWRpb0ZpZWxkLFxuICAgIHNjaGVtYTogU2NoZW1hLFxuICAgIGNvbmZpZzogU2FuaXRpemVkQ29uZmlnLFxuICAgIGJ1aWxkU2NoZW1hT3B0aW9uczogQnVpbGRTY2hlbWFPcHRpb25zLFxuICApOiB2b2lkID0+IHtcbiAgICBjb25zdCBiYXNlU2NoZW1hID0ge1xuICAgICAgLi4uZm9ybWF0QmFzZVNjaGVtYShmaWVsZCwgYnVpbGRTY2hlbWFPcHRpb25zKSxcbiAgICAgIGVudW06IGZpZWxkLm9wdGlvbnMubWFwKChvcHRpb24pID0+IHtcbiAgICAgICAgaWYgKHR5cGVvZiBvcHRpb24gPT09ICdvYmplY3QnKSByZXR1cm4gb3B0aW9uLnZhbHVlXG4gICAgICAgIHJldHVybiBvcHRpb25cbiAgICAgIH0pLFxuICAgICAgdHlwZTogU3RyaW5nLFxuICAgIH1cblxuICAgIHNjaGVtYS5hZGQoe1xuICAgICAgW2ZpZWxkLm5hbWVdOiBsb2NhbGl6ZVNjaGVtYShmaWVsZCwgYmFzZVNjaGVtYSwgY29uZmlnLmxvY2FsaXphdGlvbiksXG4gICAgfSlcbiAgfSxcbiAgcmVsYXRpb25zaGlwOiAoXG4gICAgZmllbGQ6IFJlbGF0aW9uc2hpcEZpZWxkLFxuICAgIHNjaGVtYTogU2NoZW1hLFxuICAgIGNvbmZpZzogU2FuaXRpemVkQ29uZmlnLFxuICAgIGJ1aWxkU2NoZW1hT3B0aW9uczogQnVpbGRTY2hlbWFPcHRpb25zLFxuICApID0+IHtcbiAgICBjb25zdCBoYXNNYW55UmVsYXRpb25zID0gQXJyYXkuaXNBcnJheShmaWVsZC5yZWxhdGlvblRvKVxuICAgIGxldCBzY2hlbWFUb1JldHVybjogeyBba2V5OiBzdHJpbmddOiBhbnkgfSA9IHt9XG5cbiAgICBpZiAoZmllbGQubG9jYWxpemVkICYmIGNvbmZpZy5sb2NhbGl6YXRpb24pIHtcbiAgICAgIHNjaGVtYVRvUmV0dXJuID0ge1xuICAgICAgICBsb2NhbGl6ZWQ6IHRydWUsXG4gICAgICAgIHR5cGU6IGNvbmZpZy5sb2NhbGl6YXRpb24ubG9jYWxlQ29kZXMucmVkdWNlKChsb2NhbGVzLCBsb2NhbGUpID0+IHtcbiAgICAgICAgICBsZXQgbG9jYWxlU2NoZW1hOiB7IFtrZXk6IHN0cmluZ106IGFueSB9ID0ge31cblxuICAgICAgICAgIGlmIChoYXNNYW55UmVsYXRpb25zKSB7XG4gICAgICAgICAgICBsb2NhbGVTY2hlbWEgPSB7XG4gICAgICAgICAgICAgIC4uLmZvcm1hdEJhc2VTY2hlbWEoZmllbGQsIGJ1aWxkU2NoZW1hT3B0aW9ucyksXG4gICAgICAgICAgICAgIF9pZDogZmFsc2UsXG4gICAgICAgICAgICAgIHJlbGF0aW9uVG86IHsgZW51bTogZmllbGQucmVsYXRpb25UbywgdHlwZTogU3RyaW5nIH0sXG4gICAgICAgICAgICAgIHR5cGU6IFNjaGVtYS5UeXBlcy5NaXhlZCxcbiAgICAgICAgICAgICAgdmFsdWU6IHtcbiAgICAgICAgICAgICAgICByZWZQYXRoOiBgJHtmaWVsZC5uYW1lfS4ke2xvY2FsZX0ucmVsYXRpb25Ub2AsXG4gICAgICAgICAgICAgICAgdHlwZTogU2NoZW1hLlR5cGVzLk1peGVkLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBsb2NhbGVTY2hlbWEgPSB7XG4gICAgICAgICAgICAgIC4uLmZvcm1hdEJhc2VTY2hlbWEoZmllbGQsIGJ1aWxkU2NoZW1hT3B0aW9ucyksXG4gICAgICAgICAgICAgIHJlZjogZmllbGQucmVsYXRpb25UbyxcbiAgICAgICAgICAgICAgdHlwZTogU2NoZW1hLlR5cGVzLk1peGVkLFxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAuLi5sb2NhbGVzLFxuICAgICAgICAgICAgW2xvY2FsZV06IGZpZWxkLmhhc01hbnkgPyB7IGRlZmF1bHQ6IHVuZGVmaW5lZCwgdHlwZTogW2xvY2FsZVNjaGVtYV0gfSA6IGxvY2FsZVNjaGVtYSxcbiAgICAgICAgICB9XG4gICAgICAgIH0sIHt9KSxcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKGhhc01hbnlSZWxhdGlvbnMpIHtcbiAgICAgIHNjaGVtYVRvUmV0dXJuID0ge1xuICAgICAgICAuLi5mb3JtYXRCYXNlU2NoZW1hKGZpZWxkLCBidWlsZFNjaGVtYU9wdGlvbnMpLFxuICAgICAgICBfaWQ6IGZhbHNlLFxuICAgICAgICByZWxhdGlvblRvOiB7IGVudW06IGZpZWxkLnJlbGF0aW9uVG8sIHR5cGU6IFN0cmluZyB9LFxuICAgICAgICB0eXBlOiBTY2hlbWEuVHlwZXMuTWl4ZWQsXG4gICAgICAgIHZhbHVlOiB7XG4gICAgICAgICAgcmVmUGF0aDogYCR7ZmllbGQubmFtZX0ucmVsYXRpb25Ub2AsXG4gICAgICAgICAgdHlwZTogU2NoZW1hLlR5cGVzLk1peGVkLFxuICAgICAgICB9LFxuICAgICAgfVxuXG4gICAgICBpZiAoZmllbGQuaGFzTWFueSkge1xuICAgICAgICBzY2hlbWFUb1JldHVybiA9IHtcbiAgICAgICAgICBkZWZhdWx0OiB1bmRlZmluZWQsXG4gICAgICAgICAgdHlwZTogW3NjaGVtYVRvUmV0dXJuXSxcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBzY2hlbWFUb1JldHVybiA9IHtcbiAgICAgICAgLi4uZm9ybWF0QmFzZVNjaGVtYShmaWVsZCwgYnVpbGRTY2hlbWFPcHRpb25zKSxcbiAgICAgICAgcmVmOiBmaWVsZC5yZWxhdGlvblRvLFxuICAgICAgICB0eXBlOiBTY2hlbWEuVHlwZXMuTWl4ZWQsXG4gICAgICB9XG5cbiAgICAgIGlmIChmaWVsZC5oYXNNYW55KSB7XG4gICAgICAgIHNjaGVtYVRvUmV0dXJuID0ge1xuICAgICAgICAgIGRlZmF1bHQ6IHVuZGVmaW5lZCxcbiAgICAgICAgICB0eXBlOiBbc2NoZW1hVG9SZXR1cm5dLFxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgc2NoZW1hLmFkZCh7XG4gICAgICBbZmllbGQubmFtZV06IHNjaGVtYVRvUmV0dXJuLFxuICAgIH0pXG4gIH0sXG4gIHJpY2hUZXh0OiAoXG4gICAgZmllbGQ6IFJpY2hUZXh0RmllbGQsXG4gICAgc2NoZW1hOiBTY2hlbWEsXG4gICAgY29uZmlnOiBTYW5pdGl6ZWRDb25maWcsXG4gICAgYnVpbGRTY2hlbWFPcHRpb25zOiBCdWlsZFNjaGVtYU9wdGlvbnMsXG4gICk6IHZvaWQgPT4ge1xuICAgIGNvbnN0IGJhc2VTY2hlbWEgPSB7IC4uLmZvcm1hdEJhc2VTY2hlbWEoZmllbGQsIGJ1aWxkU2NoZW1hT3B0aW9ucyksIHR5cGU6IFNjaGVtYS5UeXBlcy5NaXhlZCB9XG5cbiAgICBzY2hlbWEuYWRkKHtcbiAgICAgIFtmaWVsZC5uYW1lXTogbG9jYWxpemVTY2hlbWEoZmllbGQsIGJhc2VTY2hlbWEsIGNvbmZpZy5sb2NhbGl6YXRpb24pLFxuICAgIH0pXG4gIH0sXG4gIHJvdzogKFxuICAgIGZpZWxkOiBSb3dGaWVsZCxcbiAgICBzY2hlbWE6IFNjaGVtYSxcbiAgICBjb25maWc6IFNhbml0aXplZENvbmZpZyxcbiAgICBidWlsZFNjaGVtYU9wdGlvbnM6IEJ1aWxkU2NoZW1hT3B0aW9ucyxcbiAgKTogdm9pZCA9PiB7XG4gICAgZmllbGQuZmllbGRzLmZvckVhY2goKHN1YkZpZWxkOiBGaWVsZCkgPT4ge1xuICAgICAgY29uc3QgYWRkRmllbGRTY2hlbWE6IEZpZWxkU2NoZW1hR2VuZXJhdG9yID0gZmllbGRUb1NjaGVtYU1hcFtzdWJGaWVsZC50eXBlXVxuXG4gICAgICBpZiAoYWRkRmllbGRTY2hlbWEpIHtcbiAgICAgICAgYWRkRmllbGRTY2hlbWEoc3ViRmllbGQsIHNjaGVtYSwgY29uZmlnLCBidWlsZFNjaGVtYU9wdGlvbnMpXG4gICAgICB9XG4gICAgfSlcbiAgfSxcbiAgc2VsZWN0OiAoXG4gICAgZmllbGQ6IFNlbGVjdEZpZWxkLFxuICAgIHNjaGVtYTogU2NoZW1hLFxuICAgIGNvbmZpZzogU2FuaXRpemVkQ29uZmlnLFxuICAgIGJ1aWxkU2NoZW1hT3B0aW9uczogQnVpbGRTY2hlbWFPcHRpb25zLFxuICApOiB2b2lkID0+IHtcbiAgICBjb25zdCBiYXNlU2NoZW1hID0ge1xuICAgICAgLi4uZm9ybWF0QmFzZVNjaGVtYShmaWVsZCwgYnVpbGRTY2hlbWFPcHRpb25zKSxcbiAgICAgIGVudW06IGZpZWxkLm9wdGlvbnMubWFwKChvcHRpb24pID0+IHtcbiAgICAgICAgaWYgKHR5cGVvZiBvcHRpb24gPT09ICdvYmplY3QnKSByZXR1cm4gb3B0aW9uLnZhbHVlXG4gICAgICAgIHJldHVybiBvcHRpb25cbiAgICAgIH0pLFxuICAgICAgdHlwZTogU3RyaW5nLFxuICAgIH1cblxuICAgIGlmIChidWlsZFNjaGVtYU9wdGlvbnMuZHJhZnRzRW5hYmxlZCB8fCAhZmllbGQucmVxdWlyZWQpIHtcbiAgICAgIGJhc2VTY2hlbWEuZW51bS5wdXNoKG51bGwpXG4gICAgfVxuXG4gICAgc2NoZW1hLmFkZCh7XG4gICAgICBbZmllbGQubmFtZV06IGxvY2FsaXplU2NoZW1hKFxuICAgICAgICBmaWVsZCxcbiAgICAgICAgZmllbGQuaGFzTWFueSA/IFtiYXNlU2NoZW1hXSA6IGJhc2VTY2hlbWEsXG4gICAgICAgIGNvbmZpZy5sb2NhbGl6YXRpb24sXG4gICAgICApLFxuICAgIH0pXG4gIH0sXG4gIHRhYnM6IChcbiAgICBmaWVsZDogVGFic0ZpZWxkLFxuICAgIHNjaGVtYTogU2NoZW1hLFxuICAgIGNvbmZpZzogU2FuaXRpemVkQ29uZmlnLFxuICAgIGJ1aWxkU2NoZW1hT3B0aW9uczogQnVpbGRTY2hlbWFPcHRpb25zLFxuICApOiB2b2lkID0+IHtcbiAgICBmaWVsZC50YWJzLmZvckVhY2goKHRhYikgPT4ge1xuICAgICAgaWYgKHRhYkhhc05hbWUodGFiKSkge1xuICAgICAgICBjb25zdCBiYXNlU2NoZW1hID0ge1xuICAgICAgICAgIHR5cGU6IGJ1aWxkU2NoZW1hKGNvbmZpZywgdGFiLmZpZWxkcywge1xuICAgICAgICAgICAgZGlzYWJsZVVuaXF1ZTogYnVpbGRTY2hlbWFPcHRpb25zLmRpc2FibGVVbmlxdWUsXG4gICAgICAgICAgICBkcmFmdHNFbmFibGVkOiBidWlsZFNjaGVtYU9wdGlvbnMuZHJhZnRzRW5hYmxlZCxcbiAgICAgICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICAgICAgX2lkOiBmYWxzZSxcbiAgICAgICAgICAgICAgaWQ6IGZhbHNlLFxuICAgICAgICAgICAgICBtaW5pbWl6ZTogZmFsc2UsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0pLFxuICAgICAgICB9XG5cbiAgICAgICAgc2NoZW1hLmFkZCh7XG4gICAgICAgICAgW3RhYi5uYW1lXTogbG9jYWxpemVTY2hlbWEodGFiLCBiYXNlU2NoZW1hLCBjb25maWcubG9jYWxpemF0aW9uKSxcbiAgICAgICAgfSlcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRhYi5maWVsZHMuZm9yRWFjaCgoc3ViRmllbGQ6IEZpZWxkKSA9PiB7XG4gICAgICAgICAgY29uc3QgYWRkRmllbGRTY2hlbWE6IEZpZWxkU2NoZW1hR2VuZXJhdG9yID0gZmllbGRUb1NjaGVtYU1hcFtzdWJGaWVsZC50eXBlXVxuXG4gICAgICAgICAgaWYgKGFkZEZpZWxkU2NoZW1hKSB7XG4gICAgICAgICAgICBhZGRGaWVsZFNjaGVtYShzdWJGaWVsZCwgc2NoZW1hLCBjb25maWcsIGJ1aWxkU2NoZW1hT3B0aW9ucylcbiAgICAgICAgICB9XG4gICAgICAgIH0pXG4gICAgICB9XG4gICAgfSlcbiAgfSxcbiAgdGV4dDogKFxuICAgIGZpZWxkOiBUZXh0RmllbGQsXG4gICAgc2NoZW1hOiBTY2hlbWEsXG4gICAgY29uZmlnOiBTYW5pdGl6ZWRDb25maWcsXG4gICAgYnVpbGRTY2hlbWFPcHRpb25zOiBCdWlsZFNjaGVtYU9wdGlvbnMsXG4gICk6IHZvaWQgPT4ge1xuICAgIGNvbnN0IGJhc2VTY2hlbWEgPSB7IC4uLmZvcm1hdEJhc2VTY2hlbWEoZmllbGQsIGJ1aWxkU2NoZW1hT3B0aW9ucyksIHR5cGU6IFN0cmluZyB9XG5cbiAgICBzY2hlbWEuYWRkKHtcbiAgICAgIFtmaWVsZC5uYW1lXTogbG9jYWxpemVTY2hlbWEoZmllbGQsIGJhc2VTY2hlbWEsIGNvbmZpZy5sb2NhbGl6YXRpb24pLFxuICAgIH0pXG4gIH0sXG4gIHRleHRhcmVhOiAoXG4gICAgZmllbGQ6IFRleHRhcmVhRmllbGQsXG4gICAgc2NoZW1hOiBTY2hlbWEsXG4gICAgY29uZmlnOiBTYW5pdGl6ZWRDb25maWcsXG4gICAgYnVpbGRTY2hlbWFPcHRpb25zOiBCdWlsZFNjaGVtYU9wdGlvbnMsXG4gICk6IHZvaWQgPT4ge1xuICAgIGNvbnN0IGJhc2VTY2hlbWEgPSB7IC4uLmZvcm1hdEJhc2VTY2hlbWEoZmllbGQsIGJ1aWxkU2NoZW1hT3B0aW9ucyksIHR5cGU6IFN0cmluZyB9XG5cbiAgICBzY2hlbWEuYWRkKHtcbiAgICAgIFtmaWVsZC5uYW1lXTogbG9jYWxpemVTY2hlbWEoZmllbGQsIGJhc2VTY2hlbWEsIGNvbmZpZy5sb2NhbGl6YXRpb24pLFxuICAgIH0pXG4gIH0sXG4gIHVwbG9hZDogKFxuICAgIGZpZWxkOiBVcGxvYWRGaWVsZCxcbiAgICBzY2hlbWE6IFNjaGVtYSxcbiAgICBjb25maWc6IFNhbml0aXplZENvbmZpZyxcbiAgICBidWlsZFNjaGVtYU9wdGlvbnM6IEJ1aWxkU2NoZW1hT3B0aW9ucyxcbiAgKTogdm9pZCA9PiB7XG4gICAgY29uc3QgYmFzZVNjaGVtYSA9IHtcbiAgICAgIC4uLmZvcm1hdEJhc2VTY2hlbWEoZmllbGQsIGJ1aWxkU2NoZW1hT3B0aW9ucyksXG4gICAgICByZWY6IGZpZWxkLnJlbGF0aW9uVG8sXG4gICAgICB0eXBlOiBTY2hlbWEuVHlwZXMuTWl4ZWQsXG4gICAgfVxuXG4gICAgc2NoZW1hLmFkZCh7XG4gICAgICBbZmllbGQubmFtZV06IGxvY2FsaXplU2NoZW1hKGZpZWxkLCBiYXNlU2NoZW1hLCBjb25maWcubG9jYWxpemF0aW9uKSxcbiAgICB9KVxuICB9LFxufVxuXG5leHBvcnQgZGVmYXVsdCBidWlsZFNjaGVtYVxuIl0sIm5hbWVzIjpbImZvcm1hdEJhc2VTY2hlbWEiLCJmaWVsZCIsImJ1aWxkU2NoZW1hT3B0aW9ucyIsImRpc2FibGVVbmlxdWUiLCJkcmFmdHNFbmFibGVkIiwiaW5kZXhTb3J0YWJsZUZpZWxkcyIsInNjaGVtYSIsImluZGV4IiwidW5pcXVlIiwicmVxdWlyZWQiLCJsb2NhbGl6ZWQiLCJzcGFyc2UiLCJoaWRkZW4iLCJsb2NhbGl6ZVNjaGVtYSIsImVudGl0eSIsImxvY2FsaXphdGlvbiIsImZpZWxkSXNMb2NhbGl6ZWQiLCJBcnJheSIsImlzQXJyYXkiLCJsb2NhbGVzIiwidHlwZSIsImxvY2FsZUNvZGVzIiwicmVkdWNlIiwibG9jYWxlU2NoZW1hIiwibG9jYWxlIiwiX2lkIiwiYnVpbGRTY2hlbWEiLCJjb25maWciLCJjb25maWdGaWVsZHMiLCJhbGxvd0lERmllbGQiLCJvcHRpb25zIiwiZmllbGRzIiwic2NoZW1hRmllbGRzIiwiaWRGaWVsZCIsImZpbmQiLCJmaWVsZEFmZmVjdHNEYXRhIiwibmFtZSIsIk51bWJlciIsIlN0cmluZyIsImZpbHRlciIsIlNjaGVtYSIsImZvckVhY2giLCJmaWVsZElzUHJlc2VudGF0aW9uYWxPbmx5IiwiYWRkRmllbGRTY2hlbWEiLCJmaWVsZFRvU2NoZW1hTWFwIiwiYXJyYXkiLCJiYXNlU2NoZW1hIiwiZGVmYXVsdCIsInVuZGVmaW5lZCIsImlkIiwibWluaW1pemUiLCJhZGQiLCJibG9ja3MiLCJmaWVsZFNjaGVtYSIsImRpc2NyaW1pbmF0b3JLZXkiLCJibG9ja0l0ZW0iLCJibG9ja1NjaGVtYSIsImJsb2NrRmllbGQiLCJsb2NhbGVDb2RlIiwicGF0aCIsImRpc2NyaW1pbmF0b3IiLCJzbHVnIiwiY2hlY2tib3giLCJCb29sZWFuIiwiY29kZSIsImNvbGxhcHNpYmxlIiwic3ViRmllbGQiLCJkYXRlIiwiRGF0ZSIsImVtYWlsIiwiZ3JvdXAiLCJmb3JtYXR0ZWRCYXNlU2NoZW1hIiwianNvbiIsIlR5cGVzIiwiTWl4ZWQiLCJudW1iZXIiLCJoYXNNYW55IiwicG9pbnQiLCJjb29yZGluYXRlcyIsImRlZmF1bHRWYWx1ZSIsImVudW0iLCJpbmRleE9wdGlvbnMiLCJyYWRpbyIsIm1hcCIsIm9wdGlvbiIsInZhbHVlIiwicmVsYXRpb25zaGlwIiwiaGFzTWFueVJlbGF0aW9ucyIsInJlbGF0aW9uVG8iLCJzY2hlbWFUb1JldHVybiIsInJlZlBhdGgiLCJyZWYiLCJyaWNoVGV4dCIsInJvdyIsInNlbGVjdCIsInB1c2giLCJ0YWJzIiwidGFiIiwidGFiSGFzTmFtZSIsInRleHQiLCJ0ZXh0YXJlYSIsInVwbG9hZCJdLCJtYXBwaW5ncyI6IkFBQUEsb0RBQW9ELEdBQ3BELHlDQUF5QyxHQUN6QywwREFBMEQsR0FDMUQsdUNBQXVD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
@@ -0,0 +1,11 @@
1
+ import type { Payload } from 'payload';
2
+ import type { Field, Where } from 'payload/types';
3
+ export declare function buildAndOrConditions({ collectionSlug, fields, globalSlug, locale, payload, where, }: {
4
+ collectionSlug?: string;
5
+ fields: Field[];
6
+ globalSlug?: string;
7
+ locale?: string;
8
+ payload: Payload;
9
+ where: Where[];
10
+ }): Promise<Record<string, unknown>[]>;
11
+ //# sourceMappingURL=buildAndOrConditions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buildAndOrConditions.d.ts","sourceRoot":"","sources":["../../src/queries/buildAndOrConditions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACtC,OAAO,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAA;AAIjD,wBAAsB,oBAAoB,CAAC,EACzC,cAAc,EACd,MAAM,EACN,UAAU,EACV,MAAM,EACN,OAAO,EACP,KAAK,GACN,EAAE;IACD,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,MAAM,EAAE,KAAK,EAAE,CAAA;IACf,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,OAAO,CAAA;IAChB,KAAK,EAAE,KAAK,EAAE,CAAA;CACf,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,CAuBrC"}
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "buildAndOrConditions", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return buildAndOrConditions;
9
+ }
10
+ });
11
+ const _parseParams = require("./parseParams");
12
+ async function buildAndOrConditions({ collectionSlug, fields, globalSlug, locale, payload, where }) {
13
+ const completedConditions = [];
14
+ // Loop over all AND / OR operations and add them to the AND / OR query param
15
+ // Operations should come through as an array
16
+ // eslint-disable-next-line no-restricted-syntax
17
+ for (const condition of where){
18
+ // If the operation is properly formatted as an object
19
+ if (typeof condition === 'object') {
20
+ // eslint-disable-next-line no-await-in-loop
21
+ const result = await (0, _parseParams.parseParams)({
22
+ collectionSlug,
23
+ fields,
24
+ globalSlug,
25
+ locale,
26
+ payload,
27
+ where: condition
28
+ });
29
+ if (Object.keys(result).length > 0) {
30
+ completedConditions.push(result);
31
+ }
32
+ }
33
+ }
34
+ return completedConditions;
35
+ }
36
+
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9xdWVyaWVzL2J1aWxkQW5kT3JDb25kaXRpb25zLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgUGF5bG9hZCB9IGZyb20gJ3BheWxvYWQnXG5pbXBvcnQgdHlwZSB7IEZpZWxkLCBXaGVyZSB9IGZyb20gJ3BheWxvYWQvdHlwZXMnXG5cbmltcG9ydCB7IHBhcnNlUGFyYW1zIH0gZnJvbSAnLi9wYXJzZVBhcmFtcydcblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGJ1aWxkQW5kT3JDb25kaXRpb25zKHtcbiAgY29sbGVjdGlvblNsdWcsXG4gIGZpZWxkcyxcbiAgZ2xvYmFsU2x1ZyxcbiAgbG9jYWxlLFxuICBwYXlsb2FkLFxuICB3aGVyZSxcbn06IHtcbiAgY29sbGVjdGlvblNsdWc/OiBzdHJpbmdcbiAgZmllbGRzOiBGaWVsZFtdXG4gIGdsb2JhbFNsdWc/OiBzdHJpbmdcbiAgbG9jYWxlPzogc3RyaW5nXG4gIHBheWxvYWQ6IFBheWxvYWRcbiAgd2hlcmU6IFdoZXJlW11cbn0pOiBQcm9taXNlPFJlY29yZDxzdHJpbmcsIHVua25vd24+W10+IHtcbiAgY29uc3QgY29tcGxldGVkQ29uZGl0aW9ucyA9IFtdXG4gIC8vIExvb3Agb3ZlciBhbGwgQU5EIC8gT1Igb3BlcmF0aW9ucyBhbmQgYWRkIHRoZW0gdG8gdGhlIEFORCAvIE9SIHF1ZXJ5IHBhcmFtXG4gIC8vIE9wZXJhdGlvbnMgc2hvdWxkIGNvbWUgdGhyb3VnaCBhcyBhbiBhcnJheVxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tcmVzdHJpY3RlZC1zeW50YXhcbiAgZm9yIChjb25zdCBjb25kaXRpb24gb2Ygd2hlcmUpIHtcbiAgICAvLyBJZiB0aGUgb3BlcmF0aW9uIGlzIHByb3Blcmx5IGZvcm1hdHRlZCBhcyBhbiBvYmplY3RcbiAgICBpZiAodHlwZW9mIGNvbmRpdGlvbiA9PT0gJ29iamVjdCcpIHtcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1hd2FpdC1pbi1sb29wXG4gICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBwYXJzZVBhcmFtcyh7XG4gICAgICAgIGNvbGxlY3Rpb25TbHVnLFxuICAgICAgICBmaWVsZHMsXG4gICAgICAgIGdsb2JhbFNsdWcsXG4gICAgICAgIGxvY2FsZSxcbiAgICAgICAgcGF5bG9hZCxcbiAgICAgICAgd2hlcmU6IGNvbmRpdGlvbixcbiAgICAgIH0pXG4gICAgICBpZiAoT2JqZWN0LmtleXMocmVzdWx0KS5sZW5ndGggPiAwKSB7XG4gICAgICAgIGNvbXBsZXRlZENvbmRpdGlvbnMucHVzaChyZXN1bHQpXG4gICAgICB9XG4gICAgfVxuICB9XG4gIHJldHVybiBjb21wbGV0ZWRDb25kaXRpb25zXG59XG4iXSwibmFtZXMiOlsiYnVpbGRBbmRPckNvbmRpdGlvbnMiLCJjb2xsZWN0aW9uU2x1ZyIsImZpZWxkcyIsImdsb2JhbFNsdWciLCJsb2NhbGUiLCJwYXlsb2FkIiwid2hlcmUiLCJjb21wbGV0ZWRDb25kaXRpb25zIiwiY29uZGl0aW9uIiwicmVzdWx0IiwicGFyc2VQYXJhbXMiLCJPYmplY3QiLCJrZXlzIiwibGVuZ3RoIiwicHVzaCJdLCJtYXBwaW5ncyI6Ijs7OzsrQkFLc0JBOzs7ZUFBQUE7Ozs2QkFGTTtBQUVyQixlQUFlQSxxQkFBcUIsRUFDekNDLGNBQWMsRUFDZEMsTUFBTSxFQUNOQyxVQUFVLEVBQ1ZDLE1BQU0sRUFDTkMsT0FBTyxFQUNQQyxLQUFLLEVBUU47SUFDQyxNQUFNQyxzQkFBc0IsRUFBRTtJQUM5Qiw2RUFBNkU7SUFDN0UsNkNBQTZDO0lBQzdDLGdEQUFnRDtJQUNoRCxLQUFLLE1BQU1DLGFBQWFGLE1BQU87UUFDN0Isc0RBQXNEO1FBQ3RELElBQUksT0FBT0UsY0FBYyxVQUFVO1lBQ2pDLDRDQUE0QztZQUM1QyxNQUFNQyxTQUFTLE1BQU1DLElBQUFBLHdCQUFXLEVBQUM7Z0JBQy9CVDtnQkFDQUM7Z0JBQ0FDO2dCQUNBQztnQkFDQUM7Z0JBQ0FDLE9BQU9FO1lBQ1Q7WUFDQSxJQUFJRyxPQUFPQyxJQUFJLENBQUNILFFBQVFJLE1BQU0sR0FBRyxHQUFHO2dCQUNsQ04sb0JBQW9CTyxJQUFJLENBQUNMO1lBQzNCO1FBQ0Y7SUFDRjtJQUNBLE9BQU9GO0FBQ1QifQ==
@@ -0,0 +1,15 @@
1
+ import type { Payload } from 'payload';
2
+ import type { Field, Where } from 'payload/types';
3
+ type GetBuildQueryPluginArgs = {
4
+ collectionSlug?: string;
5
+ versionsFields?: Field[];
6
+ };
7
+ export type BuildQueryArgs = {
8
+ globalSlug?: string;
9
+ locale?: string;
10
+ payload: Payload;
11
+ where: Where;
12
+ };
13
+ declare const getBuildQueryPlugin: ({ collectionSlug, versionsFields }?: GetBuildQueryPluginArgs) => (schema: any) => void;
14
+ export default getBuildQueryPlugin;
15
+ //# sourceMappingURL=buildQuery.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buildQuery.d.ts","sourceRoot":"","sources":["../../src/queries/buildQuery.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACtC,OAAO,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAA;AAMjD,KAAK,uBAAuB,GAAG;IAC7B,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,cAAc,CAAC,EAAE,KAAK,EAAE,CAAA;CACzB,CAAA;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,OAAO,CAAA;IAChB,KAAK,EAAE,KAAK,CAAA;CACb,CAAA;AAID,QAAA,MAAM,mBAAmB,wCAAwC,uBAAuB,0BAsCvF,CAAA;AAED,eAAe,mBAAmB,CAAA"}