@orion-js/models 4.0.4 → 4.0.6
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/dist/index.cjs +13 -9
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +13 -9
- package/dist/index.js.map +1 -1
- package/package.json +4 -4
package/dist/index.cjs
CHANGED
|
@@ -108,6 +108,9 @@ function modelToSchema(options) {
|
|
|
108
108
|
if (options.validateOptions) {
|
|
109
109
|
compiledSchema.__validate = options.validateOptions;
|
|
110
110
|
}
|
|
111
|
+
if (options.resolvers) {
|
|
112
|
+
compiledSchema.__resolvers = options.resolvers;
|
|
113
|
+
}
|
|
111
114
|
for (const key in options.modelSchema) {
|
|
112
115
|
if (key.startsWith("__")) {
|
|
113
116
|
compiledSchema[key] = options.modelSchema[key];
|
|
@@ -121,6 +124,14 @@ function modelToSchema(options) {
|
|
|
121
124
|
// src/createModel/index.ts
|
|
122
125
|
function createModel(modelOptions) {
|
|
123
126
|
const name = modelOptions.name;
|
|
127
|
+
let resolvedResolvers;
|
|
128
|
+
const getResolvers = () => {
|
|
129
|
+
if (!modelOptions.resolvers) return {};
|
|
130
|
+
if (!resolvedResolvers) {
|
|
131
|
+
resolvedResolvers = modelOptions.resolvers;
|
|
132
|
+
}
|
|
133
|
+
return resolvedResolvers;
|
|
134
|
+
};
|
|
124
135
|
let resolvedSchema;
|
|
125
136
|
const getSchema = () => {
|
|
126
137
|
if (!modelOptions.schema) return {};
|
|
@@ -129,19 +140,12 @@ function createModel(modelOptions) {
|
|
|
129
140
|
modelSchema: modelOptions.schema,
|
|
130
141
|
modelName: model.name,
|
|
131
142
|
cleanOptions: modelOptions.clean,
|
|
132
|
-
validateOptions: modelOptions.validate
|
|
143
|
+
validateOptions: modelOptions.validate,
|
|
144
|
+
resolvers: getResolvers()
|
|
133
145
|
});
|
|
134
146
|
}
|
|
135
147
|
return resolvedSchema;
|
|
136
148
|
};
|
|
137
|
-
let resolvedResolvers;
|
|
138
|
-
const getResolvers = () => {
|
|
139
|
-
if (!modelOptions.resolvers) return {};
|
|
140
|
-
if (!resolvedResolvers) {
|
|
141
|
-
resolvedResolvers = modelOptions.resolvers;
|
|
142
|
-
}
|
|
143
|
-
return resolvedResolvers;
|
|
144
|
-
};
|
|
145
149
|
const model = {
|
|
146
150
|
__isModel: true,
|
|
147
151
|
__modelName: name,
|
package/dist/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts","../src/createModel/index.ts","../src/createModel/clone.ts","../src/createModel/modelToSchema.ts"],"sourcesContent":["import createModel from './createModel'\nimport {modelToSchema} from './createModel/modelToSchema'\n\nexport {createModel, modelToSchema}\n\nexport * from './types'\n","import {CloneOptions, Model, CreateModelOptions, ModelResolversMap} from '../types'\nimport {validate, clean, Schema} from '@orion-js/schema'\nimport clone from './clone'\nimport {modelToSchema} from './modelToSchema'\n\nexport default function createModel<TSchema extends Schema>(\n modelOptions: CreateModelOptions<TSchema>,\n): Model<TSchema> {\n const name = modelOptions.name\n\n let
|
|
1
|
+
{"version":3,"sources":["../src/index.ts","../src/createModel/index.ts","../src/createModel/clone.ts","../src/createModel/modelToSchema.ts"],"sourcesContent":["import createModel from './createModel'\nimport {modelToSchema} from './createModel/modelToSchema'\n\nexport {createModel, modelToSchema}\n\nexport * from './types'\n","import {CloneOptions, Model, CreateModelOptions, ModelResolversMap} from '../types'\nimport {validate, clean, Schema} from '@orion-js/schema'\nimport clone from './clone'\nimport {modelToSchema} from './modelToSchema'\n\nexport default function createModel<TSchema extends Schema>(\n modelOptions: CreateModelOptions<TSchema>,\n): Model<TSchema> {\n const name = modelOptions.name\n\n let resolvedResolvers: ModelResolversMap\n const getResolvers = () => {\n if (!modelOptions.resolvers) return {}\n if (!resolvedResolvers) {\n resolvedResolvers = modelOptions.resolvers\n }\n return resolvedResolvers\n }\n\n let resolvedSchema: Schema\n const getSchema = () => {\n if (!modelOptions.schema) return {}\n if (!resolvedSchema) {\n resolvedSchema = modelToSchema({\n modelSchema: modelOptions.schema,\n modelName: model.name,\n cleanOptions: modelOptions.clean,\n validateOptions: modelOptions.validate,\n resolvers: getResolvers(),\n })\n }\n return resolvedSchema\n }\n\n const model: Model<TSchema> = {\n __isModel: true,\n __modelName: name,\n name,\n getSchema,\n getResolvers,\n validate: async doc => {\n const schema = getSchema() as any\n return await validate(schema, doc)\n },\n clean: async doc => {\n const schema = getSchema() as any\n return await clean(schema, doc)\n },\n cleanAndValidate: async doc => {\n const schema = getSchema() as any\n const cleaned = (await clean(schema, doc)) as any\n await validate(schema, cleaned)\n return cleaned\n },\n clone: (cloneOptions: CloneOptions) => {\n return clone(\n {\n createModel,\n getSchema,\n getResolvers,\n modelOptions,\n },\n cloneOptions,\n )\n },\n type: null,\n }\n\n return model\n}\n","import {CreateModel, CloneOptions, CreateModelOptions, ModelResolversMap} from '../types'\nimport {clone as deepClone} from '@orion-js/helpers'\nimport {Schema} from '@orion-js/schema'\n\ninterface CloneInfo {\n createModel: CreateModel\n getSchema: () => Schema\n getResolvers: () => ModelResolversMap\n modelOptions: CreateModelOptions\n}\n\nconst clone = (cloneInfo: CloneInfo, options: CloneOptions) => {\n const {createModel, getSchema, getResolvers, modelOptions} = cloneInfo\n return createModel({\n name: options.name,\n clean: modelOptions.clean,\n validate: modelOptions.validate,\n resolvers: (() => {\n if (!options.extendResolvers) return getResolvers()\n\n return {\n ...getResolvers(),\n ...options.extendResolvers,\n } as ModelResolversMap\n })(),\n schema: (() => {\n const oldSchema = deepClone(getSchema())\n const newSchema = {}\n\n const keys = Object.keys(oldSchema)\n .filter(key => {\n if (!options.omitFields) return true\n return !options.omitFields.includes(key)\n })\n .filter(key => {\n if (!options.pickFields) return true\n return options.pickFields.includes(key)\n })\n\n for (const key of keys) {\n const field = oldSchema[key]\n if (options.mapFields) {\n newSchema[key] = options.mapFields(field, key)\n } else {\n newSchema[key] = field\n }\n }\n\n if (!options.extendSchema) return newSchema\n\n const clonedSchema = {\n ...newSchema,\n ...options.extendSchema,\n } as Schema\n\n return clonedSchema\n })(),\n })\n}\n\nexport default clone\n","import {\n getSchemaFromAnyOrionForm,\n getSchemaModelName,\n isSchemaLike,\n Schema,\n SchemaMetaFieldTypeSingle,\n SchemaNode,\n SchemaWithMetadata,\n} from '@orion-js/schema'\nimport {ModelResolversMap} from '../types'\n\nexport function processModelSchemaKey(schemaNode: SchemaNode): SchemaNode {\n if (!schemaNode) return null\n\n if (Array.isArray(schemaNode.type)) {\n const processedItem = processModelSchemaKey({\n ...schemaNode,\n type: schemaNode.type[0],\n })\n\n const type = processedItem.type as SchemaMetaFieldTypeSingle\n\n return {\n ...processedItem,\n type: [type],\n }\n }\n\n if (isSchemaLike(schemaNode.type)) {\n return {\n ...schemaNode,\n type: modelToSchema({\n modelSchema: getSchemaFromAnyOrionForm(schemaNode.type) as Schema,\n modelName: getSchemaModelName(schemaNode.type),\n }),\n }\n }\n\n return schemaNode\n}\n\ninterface ModelToSchemaOptions {\n modelSchema: Schema\n modelName?: string\n cleanOptions?: any\n validateOptions?: any\n resolvers?: ModelResolversMap\n}\n\nexport function modelToSchema(options: ModelToSchemaOptions): Schema {\n const compiledSchema: SchemaWithMetadata = {}\n\n if (options.modelName) {\n compiledSchema.__modelName = options.modelName\n }\n\n if (options.cleanOptions) {\n compiledSchema.__clean = options.cleanOptions\n }\n\n if (options.validateOptions) {\n compiledSchema.__validate = options.validateOptions\n }\n\n if (options.resolvers) {\n compiledSchema.__resolvers = options.resolvers\n }\n\n for (const key in options.modelSchema) {\n if (key.startsWith('__')) {\n compiledSchema[key] = options.modelSchema[key]\n continue\n }\n compiledSchema[key] = processModelSchemaKey(options.modelSchema[key])\n }\n\n return compiledSchema as Schema\n}\n"],"mappings":"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","names":["import_schema","createModel","deepClone"]}
|
package/dist/index.d.cts
CHANGED
package/dist/index.d.ts
CHANGED
package/dist/index.js
CHANGED
|
@@ -86,6 +86,9 @@ function modelToSchema(options) {
|
|
|
86
86
|
if (options.validateOptions) {
|
|
87
87
|
compiledSchema.__validate = options.validateOptions;
|
|
88
88
|
}
|
|
89
|
+
if (options.resolvers) {
|
|
90
|
+
compiledSchema.__resolvers = options.resolvers;
|
|
91
|
+
}
|
|
89
92
|
for (const key in options.modelSchema) {
|
|
90
93
|
if (key.startsWith("__")) {
|
|
91
94
|
compiledSchema[key] = options.modelSchema[key];
|
|
@@ -99,6 +102,14 @@ function modelToSchema(options) {
|
|
|
99
102
|
// src/createModel/index.ts
|
|
100
103
|
function createModel(modelOptions) {
|
|
101
104
|
const name = modelOptions.name;
|
|
105
|
+
let resolvedResolvers;
|
|
106
|
+
const getResolvers = () => {
|
|
107
|
+
if (!modelOptions.resolvers) return {};
|
|
108
|
+
if (!resolvedResolvers) {
|
|
109
|
+
resolvedResolvers = modelOptions.resolvers;
|
|
110
|
+
}
|
|
111
|
+
return resolvedResolvers;
|
|
112
|
+
};
|
|
102
113
|
let resolvedSchema;
|
|
103
114
|
const getSchema = () => {
|
|
104
115
|
if (!modelOptions.schema) return {};
|
|
@@ -107,19 +118,12 @@ function createModel(modelOptions) {
|
|
|
107
118
|
modelSchema: modelOptions.schema,
|
|
108
119
|
modelName: model.name,
|
|
109
120
|
cleanOptions: modelOptions.clean,
|
|
110
|
-
validateOptions: modelOptions.validate
|
|
121
|
+
validateOptions: modelOptions.validate,
|
|
122
|
+
resolvers: getResolvers()
|
|
111
123
|
});
|
|
112
124
|
}
|
|
113
125
|
return resolvedSchema;
|
|
114
126
|
};
|
|
115
|
-
let resolvedResolvers;
|
|
116
|
-
const getResolvers = () => {
|
|
117
|
-
if (!modelOptions.resolvers) return {};
|
|
118
|
-
if (!resolvedResolvers) {
|
|
119
|
-
resolvedResolvers = modelOptions.resolvers;
|
|
120
|
-
}
|
|
121
|
-
return resolvedResolvers;
|
|
122
|
-
};
|
|
123
127
|
const model = {
|
|
124
128
|
__isModel: true,
|
|
125
129
|
__modelName: name,
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/createModel/index.ts","../src/createModel/clone.ts","../src/createModel/modelToSchema.ts"],"sourcesContent":["import {CloneOptions, Model, CreateModelOptions, ModelResolversMap} from '../types'\nimport {validate, clean, Schema} from '@orion-js/schema'\nimport clone from './clone'\nimport {modelToSchema} from './modelToSchema'\n\nexport default function createModel<TSchema extends Schema>(\n modelOptions: CreateModelOptions<TSchema>,\n): Model<TSchema> {\n const name = modelOptions.name\n\n let
|
|
1
|
+
{"version":3,"sources":["../src/createModel/index.ts","../src/createModel/clone.ts","../src/createModel/modelToSchema.ts"],"sourcesContent":["import {CloneOptions, Model, CreateModelOptions, ModelResolversMap} from '../types'\nimport {validate, clean, Schema} from '@orion-js/schema'\nimport clone from './clone'\nimport {modelToSchema} from './modelToSchema'\n\nexport default function createModel<TSchema extends Schema>(\n modelOptions: CreateModelOptions<TSchema>,\n): Model<TSchema> {\n const name = modelOptions.name\n\n let resolvedResolvers: ModelResolversMap\n const getResolvers = () => {\n if (!modelOptions.resolvers) return {}\n if (!resolvedResolvers) {\n resolvedResolvers = modelOptions.resolvers\n }\n return resolvedResolvers\n }\n\n let resolvedSchema: Schema\n const getSchema = () => {\n if (!modelOptions.schema) return {}\n if (!resolvedSchema) {\n resolvedSchema = modelToSchema({\n modelSchema: modelOptions.schema,\n modelName: model.name,\n cleanOptions: modelOptions.clean,\n validateOptions: modelOptions.validate,\n resolvers: getResolvers(),\n })\n }\n return resolvedSchema\n }\n\n const model: Model<TSchema> = {\n __isModel: true,\n __modelName: name,\n name,\n getSchema,\n getResolvers,\n validate: async doc => {\n const schema = getSchema() as any\n return await validate(schema, doc)\n },\n clean: async doc => {\n const schema = getSchema() as any\n return await clean(schema, doc)\n },\n cleanAndValidate: async doc => {\n const schema = getSchema() as any\n const cleaned = (await clean(schema, doc)) as any\n await validate(schema, cleaned)\n return cleaned\n },\n clone: (cloneOptions: CloneOptions) => {\n return clone(\n {\n createModel,\n getSchema,\n getResolvers,\n modelOptions,\n },\n cloneOptions,\n )\n },\n type: null,\n }\n\n return model\n}\n","import {CreateModel, CloneOptions, CreateModelOptions, ModelResolversMap} from '../types'\nimport {clone as deepClone} from '@orion-js/helpers'\nimport {Schema} from '@orion-js/schema'\n\ninterface CloneInfo {\n createModel: CreateModel\n getSchema: () => Schema\n getResolvers: () => ModelResolversMap\n modelOptions: CreateModelOptions\n}\n\nconst clone = (cloneInfo: CloneInfo, options: CloneOptions) => {\n const {createModel, getSchema, getResolvers, modelOptions} = cloneInfo\n return createModel({\n name: options.name,\n clean: modelOptions.clean,\n validate: modelOptions.validate,\n resolvers: (() => {\n if (!options.extendResolvers) return getResolvers()\n\n return {\n ...getResolvers(),\n ...options.extendResolvers,\n } as ModelResolversMap\n })(),\n schema: (() => {\n const oldSchema = deepClone(getSchema())\n const newSchema = {}\n\n const keys = Object.keys(oldSchema)\n .filter(key => {\n if (!options.omitFields) return true\n return !options.omitFields.includes(key)\n })\n .filter(key => {\n if (!options.pickFields) return true\n return options.pickFields.includes(key)\n })\n\n for (const key of keys) {\n const field = oldSchema[key]\n if (options.mapFields) {\n newSchema[key] = options.mapFields(field, key)\n } else {\n newSchema[key] = field\n }\n }\n\n if (!options.extendSchema) return newSchema\n\n const clonedSchema = {\n ...newSchema,\n ...options.extendSchema,\n } as Schema\n\n return clonedSchema\n })(),\n })\n}\n\nexport default clone\n","import {\n getSchemaFromAnyOrionForm,\n getSchemaModelName,\n isSchemaLike,\n Schema,\n SchemaMetaFieldTypeSingle,\n SchemaNode,\n SchemaWithMetadata,\n} from '@orion-js/schema'\nimport {ModelResolversMap} from '../types'\n\nexport function processModelSchemaKey(schemaNode: SchemaNode): SchemaNode {\n if (!schemaNode) return null\n\n if (Array.isArray(schemaNode.type)) {\n const processedItem = processModelSchemaKey({\n ...schemaNode,\n type: schemaNode.type[0],\n })\n\n const type = processedItem.type as SchemaMetaFieldTypeSingle\n\n return {\n ...processedItem,\n type: [type],\n }\n }\n\n if (isSchemaLike(schemaNode.type)) {\n return {\n ...schemaNode,\n type: modelToSchema({\n modelSchema: getSchemaFromAnyOrionForm(schemaNode.type) as Schema,\n modelName: getSchemaModelName(schemaNode.type),\n }),\n }\n }\n\n return schemaNode\n}\n\ninterface ModelToSchemaOptions {\n modelSchema: Schema\n modelName?: string\n cleanOptions?: any\n validateOptions?: any\n resolvers?: ModelResolversMap\n}\n\nexport function modelToSchema(options: ModelToSchemaOptions): Schema {\n const compiledSchema: SchemaWithMetadata = {}\n\n if (options.modelName) {\n compiledSchema.__modelName = options.modelName\n }\n\n if (options.cleanOptions) {\n compiledSchema.__clean = options.cleanOptions\n }\n\n if (options.validateOptions) {\n compiledSchema.__validate = options.validateOptions\n }\n\n if (options.resolvers) {\n compiledSchema.__resolvers = options.resolvers\n }\n\n for (const key in options.modelSchema) {\n if (key.startsWith('__')) {\n compiledSchema[key] = options.modelSchema[key]\n continue\n }\n compiledSchema[key] = processModelSchemaKey(options.modelSchema[key])\n }\n\n return compiledSchema as Schema\n}\n"],"mappings":"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","names":["createModel"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@orion-js/models",
|
|
3
|
-
"version": "4.0.
|
|
3
|
+
"version": "4.0.6",
|
|
4
4
|
"main": "./dist/index.cjs",
|
|
5
5
|
"types": "./dist/index.d.ts",
|
|
6
6
|
"files": [
|
|
@@ -9,9 +9,9 @@
|
|
|
9
9
|
"author": "nicolaslopezj",
|
|
10
10
|
"license": "MIT",
|
|
11
11
|
"dependencies": {
|
|
12
|
-
"@orion-js/helpers": "4.0.
|
|
13
|
-
"@orion-js/
|
|
14
|
-
"@orion-js/
|
|
12
|
+
"@orion-js/helpers": "4.0.1",
|
|
13
|
+
"@orion-js/schema": "4.0.4",
|
|
14
|
+
"@orion-js/resolvers": "4.0.4"
|
|
15
15
|
},
|
|
16
16
|
"devDependencies": {
|
|
17
17
|
"@types/node": "^18.0.0",
|