@orion-js/typed-model 4.0.13 → 4.0.15
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 +2 -12
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +2 -3
- package/dist/index.d.ts +2 -3
- package/dist/index.js +1 -10
- package/dist/index.js.map +1 -1
- package/package.json +5 -5
package/dist/index.cjs
CHANGED
|
@@ -24,8 +24,7 @@ __export(index_exports, {
|
|
|
24
24
|
cloneSchemaClass: () => cloneSchemaClass,
|
|
25
25
|
getModelForClass: () => getModelForClass,
|
|
26
26
|
getSchemaForClass: () => getSchemaForClass,
|
|
27
|
-
internal_getModelForClassFromMetadata: () => internal_getModelForClassFromMetadata
|
|
28
|
-
resetModelCache: () => resetModelCache
|
|
27
|
+
internal_getModelForClassFromMetadata: () => internal_getModelForClassFromMetadata
|
|
29
28
|
});
|
|
30
29
|
module.exports = __toCommonJS(index_exports);
|
|
31
30
|
|
|
@@ -127,10 +126,6 @@ function getParamTypeForProp(type2) {
|
|
|
127
126
|
|
|
128
127
|
// src/factories/getModelForClass.ts
|
|
129
128
|
Symbol.metadata ?? (Symbol.metadata = Symbol("Symbol.metadata"));
|
|
130
|
-
var modelCache = /* @__PURE__ */ new Map();
|
|
131
|
-
function resetModelCache() {
|
|
132
|
-
modelCache.clear();
|
|
133
|
-
}
|
|
134
129
|
function getModelForClass(target) {
|
|
135
130
|
const targetAsModel = target;
|
|
136
131
|
if (targetAsModel.__isModel) {
|
|
@@ -144,9 +139,6 @@ function getModelForClass(target) {
|
|
|
144
139
|
}
|
|
145
140
|
function internal_getModelForClassFromMetadata(metadata) {
|
|
146
141
|
const modelName = metadata._modelName;
|
|
147
|
-
if (modelCache.has(modelName)) {
|
|
148
|
-
return modelCache.get(modelName);
|
|
149
|
-
}
|
|
150
142
|
const schema = {};
|
|
151
143
|
const keys = Object.keys(metadata ?? {});
|
|
152
144
|
const injectionKeys = keys.filter((key) => key.startsWith("_prop:"));
|
|
@@ -163,7 +155,6 @@ function internal_getModelForClassFromMetadata(metadata) {
|
|
|
163
155
|
name: modelName,
|
|
164
156
|
schema
|
|
165
157
|
});
|
|
166
|
-
modelCache.set(modelName, model);
|
|
167
158
|
return model;
|
|
168
159
|
}
|
|
169
160
|
|
|
@@ -226,7 +217,6 @@ function Prop(options) {
|
|
|
226
217
|
cloneSchemaClass,
|
|
227
218
|
getModelForClass,
|
|
228
219
|
getSchemaForClass,
|
|
229
|
-
internal_getModelForClassFromMetadata
|
|
230
|
-
resetModelCache
|
|
220
|
+
internal_getModelForClassFromMetadata
|
|
231
221
|
});
|
|
232
222
|
//# sourceMappingURL=index.cjs.map
|
package/dist/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts","../../../node_modules/.pnpm/rambdax@11.3.1/node_modules/rambdax/src/type.js","../../../node_modules/.pnpm/rambdax@11.3.1/node_modules/rambdax/src/_internals/isInteger.js","../../../node_modules/.pnpm/rambdax@11.3.1/node_modules/rambdax/src/_internals/createPath.js","../../../node_modules/.pnpm/rambdax@11.3.1/node_modules/rambdax/src/isType.js","../../../node_modules/.pnpm/rambdax@11.3.1/node_modules/rambdax/src/_internals/compare.js","../../../node_modules/.pnpm/rambdax@11.3.1/node_modules/rambdax/src/_internals/includes.js","../../../node_modules/.pnpm/rambdax@11.3.1/node_modules/rambdax/src/omit.js","../src/factories/getModelForClass.ts","../src/factories/processTypeForProp.ts","../src/factories/getSchemaForClass.ts","../src/factories/cloneSchemaClass.ts","../src/decorators/typedSchema.ts","../src/errors/CannotDetermineType.ts","../src/decorators/prop.ts"],"sourcesContent":["export * from './decorators'\nexport * from './factories'\n","export function type(input){\n if (input === null){\n return 'Null'\n } else if (input === undefined){\n return 'Undefined'\n } else if (Number.isNaN(input)){\n return 'NaN'\n }\n const typeResult = Object.prototype.toString.call(input).slice(8, -1)\n\n return typeResult === 'AsyncFunction' ? 'Promise' : typeResult\n}\n","function _isInteger(n){\n return n << 0 === n\n}\n\nexport const isInteger = Number.isInteger || _isInteger\n\n/**\n * Check if `index` is integer even if it is a string.\n */\nexport const isIndexInteger = index => Number.isInteger(Number(index))\n","import { isInteger } from './isInteger.js'\n\nexport function createPath(path, delimiter = '.'){\n return typeof path === 'string' ?\n path.split(delimiter).map(x => isInteger(x) ? Number(x) : x) :\n path\n}\n","import { type } from './type.js'\n\nexport function isType(xType, x){\n if (arguments.length === 1){\n return xHolder => isType(xType, xHolder)\n }\n\n return type(x) === xType\n}\n","export function compare(a, b){\n return String(a) === String(b)\n}\n","import { compare } from './compare.js'\n\nexport function includes(a, list){\n let index = -1\n const { length } = list\n\n while (++index < length)\n if (compare(list[ index ], a))\n return true\n\n return false\n}\n","import { createPath } from './_internals/createPath.js'\nimport { includes } from './_internals/includes.js'\n\nexport function omit(propsToOmit, obj){\n if (arguments.length === 1) return _obj => omit(propsToOmit, _obj)\n\n if (obj === null || obj === undefined)\n return undefined\n\n const propsToOmitValue = createPath(propsToOmit, ',')\n const willReturn = {}\n\n for (const key in obj)\n if (!includes(key, propsToOmitValue))\n willReturn[ key ] = obj[ key ]\n\n return willReturn\n}\n","/* eslint-disable @typescript-eslint/ban-types */\nimport {createModel, Model} from '@orion-js/models'\nimport {SchemaFromTypedSchemaMetadata} from '..'\nimport {getParamTypeForProp} from './processTypeForProp'\nimport {Schema} from '@orion-js/schema'\n\n// @ts-ignore polyfill for Symbol.metadata // https://www.typescriptlang.org/docs/handbook/release-notes/typescript-5-2.html#decorator-metadata\nSymbol.metadata ??= Symbol('Symbol.metadata')\n\nconst modelCache = new Map<string, Model>()\n\nexport function resetModelCache() {\n modelCache.clear()\n}\n\nexport function getModelForClass(target: any): Model {\n const targetAsModel = target as any as Model\n if (targetAsModel.__isModel) {\n return targetAsModel\n }\n\n const metadata = target[Symbol.metadata] as SchemaFromTypedSchemaMetadata\n\n if (!metadata) {\n return targetAsModel\n }\n\n return internal_getModelForClassFromMetadata(metadata)\n}\n\nexport function internal_getModelForClassFromMetadata(metadata: SchemaFromTypedSchemaMetadata) {\n const modelName = metadata._modelName\n if (modelCache.has(modelName)) {\n return modelCache.get(modelName)\n }\n\n const schema: Schema = {}\n const keys = Object.keys(metadata ?? {})\n const injectionKeys = keys.filter(key => key.startsWith('_prop:'))\n\n for (const key of injectionKeys) {\n const prop = metadata[key] as Schema\n const schemaProp = key.replace('_prop:', '')\n\n schema[schemaProp] = {\n ...prop,\n type: getParamTypeForProp(prop.type as any),\n }\n }\n\n const model = createModel({\n ...metadata._modelOptions,\n name: modelName,\n schema,\n })\n\n modelCache.set(modelName, model)\n\n return model\n}\n","import {isType} from 'rambdax'\nimport {PropOptions} from '../decorators/prop'\n\nexport function getParamTypeForProp(type: PropOptions['type']) {\n if (Array.isArray(type)) {\n const itemType = type[0]\n return [getParamTypeForProp(itemType)]\n }\n\n if (type?.[Symbol.metadata]?._getModel) {\n return type[Symbol.metadata]._getModel(type)\n }\n\n if (type?.getSchema) {\n return getParamTypeForProp(type.getSchema())\n }\n\n if (isType('Object', type)) {\n if (type.__isFieldType) {\n return type\n }\n\n const subschema = {}\n Object.keys(type).forEach(key => {\n if (key.startsWith('__')) {\n subschema[key] = type[key]\n return\n }\n\n subschema[key] = {\n ...type[key],\n type: getParamTypeForProp(type[key].type),\n }\n })\n\n return subschema\n }\n\n return type\n}\n","/* eslint-disable @typescript-eslint/ban-types */\nimport {Schema} from '@orion-js/schema'\nimport {getModelForClass} from './getModelForClass'\n\nexport function getSchemaForClass(target: any): Schema {\n return getModelForClass(target).getSchema()\n}\n","import {CloneOptions} from '@orion-js/models'\nimport {Constructor} from '../utils/interfaces'\nimport {cloneSchema, getSchemaFromAnyOrionForm, Schema} from '@orion-js/schema'\n\nexport interface CloneSchemaClassOptions<\n TClass,\n TFields extends (keyof TClass)[] | undefined = undefined,\n> {\n name: string\n pickFields?: TFields\n mapFields?: CloneOptions['mapFields']\n extendSchema?: CloneOptions['extendSchema']\n}\n\n/**\n * @deprecated Use `cloneSchema` instead\n */\nexport function cloneSchemaClass<TClass, TFields extends (keyof TClass)[] | undefined = undefined>(\n inputType: Constructor<TClass>,\n options: CloneSchemaClassOptions<TClass, TFields>,\n): Schema & {\n __tsFieldType: TFields extends undefined ? TClass : Pick<TClass, TFields[number]>\n} {\n const schema = getSchemaFromAnyOrionForm(inputType) as Schema\n\n const newSchema = cloneSchema({\n schema,\n name: options.name,\n pickFields: options.pickFields as any as string[],\n mapFields: options.mapFields,\n extendSchema: options.extendSchema,\n })\n\n return newSchema as any\n}\n","import {omit} from 'rambdax'\nimport {internal_getModelForClassFromMetadata} from '../factories'\nimport {TypedSchemaOptions} from '../storage/metadataStorage'\nimport {Model} from '@orion-js/models'\nimport {PropOptions} from './prop'\n\n/**\n * @deprecated use schema with InferSchemaType<schema as const> instead\n */\nexport function TypedSchema(options: TypedSchemaOptions = {}) {\n return (_target: any, context: ClassDecoratorContext<any>) => {\n context.metadata._isTypedSchema = true\n context.metadata._modelName = options.name || context.name\n context.metadata._modelOptions = omit('name', options)\n context.metadata._getModel = () => {\n return internal_getModelForClassFromMetadata(\n context.metadata as SchemaFromTypedSchemaMetadata,\n )\n }\n }\n}\n\nexport type SchemaFromTypedSchemaMetadata = {\n _isTypedSchema: true\n _modelName: string\n _modelOptions: TypedSchemaOptions\n _getModel: () => Model\n [key: `_prop:${string}`]: PropOptions\n}\n","export class CannotDetermineTypeError extends Error {\n constructor(propertyKey: string) {\n super(\n `Cannot determine type at @Prop() \"${propertyKey}\". type: is required for all props since Orion v4`,\n )\n }\n}\n","import {Constructor, SchemaFieldType, SchemaNode} from '@orion-js/schema'\nimport {Model} from '@orion-js/models'\nimport {CannotDetermineTypeError} from '../errors/CannotDetermineType'\n\nexport interface PropOptions extends Omit<SchemaNode, 'type'> {\n type: SchemaFieldType | Constructor<any> | Model | Model[]\n}\n\n/**\n * @deprecated use schema with InferSchemaType<schema as const> instead\n */\nexport function Prop(options: PropOptions) {\n return (_target: any, context: ClassFieldDecoratorContext) => {\n const propertyKey = String(context.name)\n\n if (!options?.type) {\n throw new CannotDetermineTypeError(propertyKey)\n }\n\n context.metadata[`_prop:${propertyKey}`] = options\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAO,SAAS,KAAK,OAAM;AACzB,MAAI,UAAU,MAAK;AACjB,WAAO;AAAA,EACT,WAAW,UAAU,QAAU;AAC7B,WAAO;AAAA,EACT,WAAW,OAAO,MAAM,KAAK,GAAE;AAC7B,WAAO;AAAA,EACT;AACA,QAAM,aAAa,OAAO,UAAU,SAAS,KAAK,KAAK,EAAE,MAAM,GAAG,EAAE;AAEpE,SAAO,eAAe,kBAAkB,YAAY;AACtD;;;ACXA,SAAS,WAAW,GAAE;AACpB,SAAO,KAAK,MAAM;AACpB;AAEO,IAAM,YAAY,OAAO,aAAa;;;ACFtC,SAAS,WAAW,MAAM,YAAY,KAAI;AAC/C,SAAO,OAAO,SAAS,WACrB,KAAK,MAAM,SAAS,EAAE,IAAI,OAAK,UAAU,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,IAC3D;AACJ;;;ACJO,SAAS,OAAO,OAAO,GAAE;AAC9B,MAAI,UAAU,WAAW,GAAE;AACzB,WAAO,aAAW,OAAO,OAAO,OAAO;AAAA,EACzC;AAEA,SAAO,KAAK,CAAC,MAAM;AACrB;;;ACRO,SAAS,QAAQ,GAAG,GAAE;AAC3B,SAAO,OAAO,CAAC,MAAM,OAAO,CAAC;AAC/B;;;ACAO,SAAS,SAAS,GAAG,MAAK;AAC/B,MAAI,QAAQ;AACZ,QAAM,EAAE,OAAO,IAAI;AAEnB,SAAO,EAAE,QAAQ;AACf,QAAI,QAAQ,KAAM,KAAM,GAAG,CAAC;AAC1B,aAAO;AAEX,SAAO;AACT;;;ACRO,SAAS,KAAK,aAAa,KAAI;AACpC,MAAI,UAAU,WAAW,EAAG,QAAO,UAAQ,KAAK,aAAa,IAAI;AAEjE,MAAI,QAAQ,QAAQ,QAAQ;AAC1B,WAAO;AAET,QAAM,mBAAmB,WAAW,aAAa,GAAG;AACpD,QAAM,aAAa,CAAC;AAEpB,aAAW,OAAO;AAChB,QAAI,CAAC,SAAS,KAAK,gBAAgB;AACjC,iBAAY,GAAI,IAAI,IAAK,GAAI;AAEjC,SAAO;AACT;;;AChBA,oBAAiC;;;ACE1B,SAAS,oBAAoBA,OAA2B;AAH/D;AAIE,MAAI,MAAM,QAAQA,KAAI,GAAG;AACvB,UAAM,WAAWA,MAAK,CAAC;AACvB,WAAO,CAAC,oBAAoB,QAAQ,CAAC;AAAA,EACvC;AAEA,OAAI,KAAAA,SAAA,gBAAAA,MAAO,OAAO,cAAd,mBAAyB,WAAW;AACtC,WAAOA,MAAK,OAAO,QAAQ,EAAE,UAAUA,KAAI;AAAA,EAC7C;AAEA,MAAIA,SAAA,gBAAAA,MAAM,WAAW;AACnB,WAAO,oBAAoBA,MAAK,UAAU,CAAC;AAAA,EAC7C;AAEA,MAAI,OAAO,UAAUA,KAAI,GAAG;AAC1B,QAAIA,MAAK,eAAe;AACtB,aAAOA;AAAA,IACT;AAEA,UAAM,YAAY,CAAC;AACnB,WAAO,KAAKA,KAAI,EAAE,QAAQ,SAAO;AAC/B,UAAI,IAAI,WAAW,IAAI,GAAG;AACxB,kBAAU,GAAG,IAAIA,MAAK,GAAG;AACzB;AAAA,MACF;AAEA,gBAAU,GAAG,IAAI;AAAA,QACf,GAAGA,MAAK,GAAG;AAAA,QACX,MAAM,oBAAoBA,MAAK,GAAG,EAAE,IAAI;AAAA,MAC1C;AAAA,IACF,CAAC;AAED,WAAO;AAAA,EACT;AAEA,SAAOA;AACT;;;ADhCA,OAAO,aAAP,OAAO,WAAa,OAAO,iBAAiB;AAE5C,IAAM,aAAa,oBAAI,IAAmB;AAEnC,SAAS,kBAAkB;AAChC,aAAW,MAAM;AACnB;AAEO,SAAS,iBAAiB,QAAoB;AACnD,QAAM,gBAAgB;AACtB,MAAI,cAAc,WAAW;AAC3B,WAAO;AAAA,EACT;AAEA,QAAM,WAAW,OAAO,OAAO,QAAQ;AAEvC,MAAI,CAAC,UAAU;AACb,WAAO;AAAA,EACT;AAEA,SAAO,sCAAsC,QAAQ;AACvD;AAEO,SAAS,sCAAsC,UAAyC;AAC7F,QAAM,YAAY,SAAS;AAC3B,MAAI,WAAW,IAAI,SAAS,GAAG;AAC7B,WAAO,WAAW,IAAI,SAAS;AAAA,EACjC;AAEA,QAAM,SAAiB,CAAC;AACxB,QAAM,OAAO,OAAO,KAAK,YAAY,CAAC,CAAC;AACvC,QAAM,gBAAgB,KAAK,OAAO,SAAO,IAAI,WAAW,QAAQ,CAAC;AAEjE,aAAW,OAAO,eAAe;AAC/B,UAAM,OAAO,SAAS,GAAG;AACzB,UAAM,aAAa,IAAI,QAAQ,UAAU,EAAE;AAE3C,WAAO,UAAU,IAAI;AAAA,MACnB,GAAG;AAAA,MACH,MAAM,oBAAoB,KAAK,IAAW;AAAA,IAC5C;AAAA,EACF;AAEA,QAAM,YAAQ,2BAAY;AAAA,IACxB,GAAG,SAAS;AAAA,IACZ,MAAM;AAAA,IACN;AAAA,EACF,CAAC;AAED,aAAW,IAAI,WAAW,KAAK;AAE/B,SAAO;AACT;;;AEvDO,SAAS,kBAAkB,QAAqB;AACrD,SAAO,iBAAiB,MAAM,EAAE,UAAU;AAC5C;;;ACJA,oBAA6D;AAetD,SAAS,iBACd,WACA,SAGA;AACA,QAAM,aAAS,yCAA0B,SAAS;AAElD,QAAM,gBAAY,2BAAY;AAAA,IAC5B;AAAA,IACA,MAAM,QAAQ;AAAA,IACd,YAAY,QAAQ;AAAA,IACpB,WAAW,QAAQ;AAAA,IACnB,cAAc,QAAQ;AAAA,EACxB,CAAC;AAED,SAAO;AACT;;;ACzBO,SAAS,YAAY,UAA8B,CAAC,GAAG;AAC5D,SAAO,CAAC,SAAc,YAAwC;AAC5D,YAAQ,SAAS,iBAAiB;AAClC,YAAQ,SAAS,aAAa,QAAQ,QAAQ,QAAQ;AACtD,YAAQ,SAAS,gBAAgB,KAAK,QAAQ,OAAO;AACrD,YAAQ,SAAS,YAAY,MAAM;AACjC,aAAO;AAAA,QACL,QAAQ;AAAA,MACV;AAAA,IACF;AAAA,EACF;AACF;;;ACpBO,IAAM,2BAAN,cAAuC,MAAM;AAAA,EAClD,YAAY,aAAqB;AAC/B;AAAA,MACE,qCAAqC,WAAW;AAAA,IAClD;AAAA,EACF;AACF;;;ACKO,SAAS,KAAK,SAAsB;AACzC,SAAO,CAAC,SAAc,YAAwC;AAC5D,UAAM,cAAc,OAAO,QAAQ,IAAI;AAEvC,QAAI,EAAC,mCAAS,OAAM;AAClB,YAAM,IAAI,yBAAyB,WAAW;AAAA,IAChD;AAEA,YAAQ,SAAS,SAAS,WAAW,EAAE,IAAI;AAAA,EAC7C;AACF;","names":["type"]}
|
|
1
|
+
{"version":3,"sources":["../src/index.ts","../../../node_modules/.pnpm/rambdax@11.3.1/node_modules/rambdax/src/type.js","../../../node_modules/.pnpm/rambdax@11.3.1/node_modules/rambdax/src/_internals/isInteger.js","../../../node_modules/.pnpm/rambdax@11.3.1/node_modules/rambdax/src/_internals/createPath.js","../../../node_modules/.pnpm/rambdax@11.3.1/node_modules/rambdax/src/isType.js","../../../node_modules/.pnpm/rambdax@11.3.1/node_modules/rambdax/src/_internals/compare.js","../../../node_modules/.pnpm/rambdax@11.3.1/node_modules/rambdax/src/_internals/includes.js","../../../node_modules/.pnpm/rambdax@11.3.1/node_modules/rambdax/src/omit.js","../src/factories/getModelForClass.ts","../src/factories/processTypeForProp.ts","../src/factories/getSchemaForClass.ts","../src/factories/cloneSchemaClass.ts","../src/decorators/typedSchema.ts","../src/errors/CannotDetermineType.ts","../src/decorators/prop.ts"],"sourcesContent":["export * from './decorators'\nexport * from './factories'\n","export function type(input){\n if (input === null){\n return 'Null'\n } else if (input === undefined){\n return 'Undefined'\n } else if (Number.isNaN(input)){\n return 'NaN'\n }\n const typeResult = Object.prototype.toString.call(input).slice(8, -1)\n\n return typeResult === 'AsyncFunction' ? 'Promise' : typeResult\n}\n","function _isInteger(n){\n return n << 0 === n\n}\n\nexport const isInteger = Number.isInteger || _isInteger\n\n/**\n * Check if `index` is integer even if it is a string.\n */\nexport const isIndexInteger = index => Number.isInteger(Number(index))\n","import { isInteger } from './isInteger.js'\n\nexport function createPath(path, delimiter = '.'){\n return typeof path === 'string' ?\n path.split(delimiter).map(x => isInteger(x) ? Number(x) : x) :\n path\n}\n","import { type } from './type.js'\n\nexport function isType(xType, x){\n if (arguments.length === 1){\n return xHolder => isType(xType, xHolder)\n }\n\n return type(x) === xType\n}\n","export function compare(a, b){\n return String(a) === String(b)\n}\n","import { compare } from './compare.js'\n\nexport function includes(a, list){\n let index = -1\n const { length } = list\n\n while (++index < length)\n if (compare(list[ index ], a))\n return true\n\n return false\n}\n","import { createPath } from './_internals/createPath.js'\nimport { includes } from './_internals/includes.js'\n\nexport function omit(propsToOmit, obj){\n if (arguments.length === 1) return _obj => omit(propsToOmit, _obj)\n\n if (obj === null || obj === undefined)\n return undefined\n\n const propsToOmitValue = createPath(propsToOmit, ',')\n const willReturn = {}\n\n for (const key in obj)\n if (!includes(key, propsToOmitValue))\n willReturn[ key ] = obj[ key ]\n\n return willReturn\n}\n","/* eslint-disable @typescript-eslint/ban-types */\nimport {createModel, Model} from '@orion-js/models'\nimport {SchemaFromTypedSchemaMetadata} from '..'\nimport {getParamTypeForProp} from './processTypeForProp'\nimport {Schema} from '@orion-js/schema'\n\n// @ts-ignore polyfill for Symbol.metadata // https://www.typescriptlang.org/docs/handbook/release-notes/typescript-5-2.html#decorator-metadata\nSymbol.metadata ??= Symbol('Symbol.metadata')\n\nexport function getModelForClass(target: any): Model {\n const targetAsModel = target as any as Model\n if (targetAsModel.__isModel) {\n return targetAsModel\n }\n\n const metadata = target[Symbol.metadata] as SchemaFromTypedSchemaMetadata\n\n if (!metadata) {\n return targetAsModel\n }\n\n return internal_getModelForClassFromMetadata(metadata)\n}\n\nexport function internal_getModelForClassFromMetadata(metadata: SchemaFromTypedSchemaMetadata) {\n const modelName = metadata._modelName\n\n const schema: Schema = {}\n const keys = Object.keys(metadata ?? {})\n const injectionKeys = keys.filter(key => key.startsWith('_prop:'))\n\n for (const key of injectionKeys) {\n const prop = metadata[key] as Schema\n const schemaProp = key.replace('_prop:', '')\n\n schema[schemaProp] = {\n ...prop,\n type: getParamTypeForProp(prop.type as any),\n }\n }\n\n const model = createModel({\n ...metadata._modelOptions,\n name: modelName,\n schema,\n })\n\n return model\n}\n","import {isType} from 'rambdax'\nimport {PropOptions} from '../decorators/prop'\n\nexport function getParamTypeForProp(type: PropOptions['type']) {\n if (Array.isArray(type)) {\n const itemType = type[0]\n return [getParamTypeForProp(itemType)]\n }\n\n if (type?.[Symbol.metadata]?._getModel) {\n return type[Symbol.metadata]._getModel(type)\n }\n\n if (type?.getSchema) {\n return getParamTypeForProp(type.getSchema())\n }\n\n if (isType('Object', type)) {\n if (type.__isFieldType) {\n return type\n }\n\n const subschema = {}\n Object.keys(type).forEach(key => {\n if (key.startsWith('__')) {\n subschema[key] = type[key]\n return\n }\n\n subschema[key] = {\n ...type[key],\n type: getParamTypeForProp(type[key].type),\n }\n })\n\n return subschema\n }\n\n return type\n}\n","/* eslint-disable @typescript-eslint/ban-types */\nimport {Schema} from '@orion-js/schema'\nimport {getModelForClass} from './getModelForClass'\n\nexport function getSchemaForClass(target: any): Schema {\n return getModelForClass(target).getSchema()\n}\n","import {CloneOptions} from '@orion-js/models'\nimport {Constructor} from '../utils/interfaces'\nimport {cloneSchema, getSchemaFromAnyOrionForm, Schema} from '@orion-js/schema'\n\nexport interface CloneSchemaClassOptions<\n TClass,\n TFields extends (keyof TClass)[] | undefined = undefined,\n> {\n name: string\n pickFields?: TFields\n mapFields?: CloneOptions['mapFields']\n extendSchema?: CloneOptions['extendSchema']\n}\n\n/**\n * @deprecated Use `cloneSchema` instead\n */\nexport function cloneSchemaClass<TClass, TFields extends (keyof TClass)[] | undefined = undefined>(\n inputType: Constructor<TClass>,\n options: CloneSchemaClassOptions<TClass, TFields>,\n): Schema & {\n __tsFieldType: TFields extends undefined ? TClass : Pick<TClass, TFields[number]>\n} {\n const schema = getSchemaFromAnyOrionForm(inputType) as Schema\n\n const newSchema = cloneSchema({\n schema,\n name: options.name,\n pickFields: options.pickFields as any as string[],\n mapFields: options.mapFields,\n extendSchema: options.extendSchema,\n })\n\n return newSchema as any\n}\n","import {omit} from 'rambdax'\nimport {internal_getModelForClassFromMetadata} from '../factories'\nimport {TypedSchemaOptions} from '../storage/metadataStorage'\nimport {Model} from '@orion-js/models'\nimport {PropOptions} from './prop'\n\n/**\n * @deprecated use schema with InferSchemaType<schema as const> instead\n */\nexport function TypedSchema(options: TypedSchemaOptions = {}) {\n return (_target: any, context: ClassDecoratorContext<any>) => {\n context.metadata._isTypedSchema = true\n context.metadata._modelName = options.name || context.name\n context.metadata._modelOptions = omit('name', options)\n context.metadata._getModel = () => {\n return internal_getModelForClassFromMetadata(\n context.metadata as SchemaFromTypedSchemaMetadata,\n )\n }\n }\n}\n\nexport type SchemaFromTypedSchemaMetadata = {\n _isTypedSchema: true\n _modelName: string\n _modelOptions: TypedSchemaOptions\n _getModel: () => Model\n [key: `_prop:${string}`]: PropOptions\n}\n","export class CannotDetermineTypeError extends Error {\n constructor(propertyKey: string) {\n super(\n `Cannot determine type at @Prop() \"${propertyKey}\". type: is required for all props since Orion v4`,\n )\n }\n}\n","import {Constructor, SchemaFieldType, SchemaNode} from '@orion-js/schema'\nimport {Model} from '@orion-js/models'\nimport {CannotDetermineTypeError} from '../errors/CannotDetermineType'\n\nexport interface PropOptions extends Omit<SchemaNode, 'type'> {\n type: SchemaFieldType | Constructor<any> | Model | Model[]\n}\n\n/**\n * @deprecated use schema with InferSchemaType<schema as const> instead\n */\nexport function Prop(options: PropOptions) {\n return (_target: any, context: ClassFieldDecoratorContext) => {\n const propertyKey = String(context.name)\n\n if (!options?.type) {\n throw new CannotDetermineTypeError(propertyKey)\n }\n\n context.metadata[`_prop:${propertyKey}`] = options\n }\n}\n"],"mappings":"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","names":["type"]}
|
package/dist/index.d.cts
CHANGED
|
@@ -25,9 +25,8 @@ type SchemaFromTypedSchemaMetadata = {
|
|
|
25
25
|
|
|
26
26
|
declare function getSchemaForClass(target: any): Schema;
|
|
27
27
|
|
|
28
|
-
declare function resetModelCache(): void;
|
|
29
28
|
declare function getModelForClass(target: any): Model;
|
|
30
|
-
declare function internal_getModelForClassFromMetadata(metadata: SchemaFromTypedSchemaMetadata): Model<
|
|
29
|
+
declare function internal_getModelForClassFromMetadata(metadata: SchemaFromTypedSchemaMetadata): Model<Schema>;
|
|
31
30
|
|
|
32
31
|
interface Constructor<T> extends Function {
|
|
33
32
|
new (...args: unknown[]): T;
|
|
@@ -46,4 +45,4 @@ declare function cloneSchemaClass<TClass, TFields extends (keyof TClass)[] | und
|
|
|
46
45
|
__tsFieldType: TFields extends undefined ? TClass : Pick<TClass, TFields[number]>;
|
|
47
46
|
};
|
|
48
47
|
|
|
49
|
-
export { type CloneSchemaClassOptions, Prop, type PropOptions, type SchemaFromTypedSchemaMetadata, TypedSchema, cloneSchemaClass, getModelForClass, getSchemaForClass, internal_getModelForClassFromMetadata
|
|
48
|
+
export { type CloneSchemaClassOptions, Prop, type PropOptions, type SchemaFromTypedSchemaMetadata, TypedSchema, cloneSchemaClass, getModelForClass, getSchemaForClass, internal_getModelForClassFromMetadata };
|
package/dist/index.d.ts
CHANGED
|
@@ -25,9 +25,8 @@ type SchemaFromTypedSchemaMetadata = {
|
|
|
25
25
|
|
|
26
26
|
declare function getSchemaForClass(target: any): Schema;
|
|
27
27
|
|
|
28
|
-
declare function resetModelCache(): void;
|
|
29
28
|
declare function getModelForClass(target: any): Model;
|
|
30
|
-
declare function internal_getModelForClassFromMetadata(metadata: SchemaFromTypedSchemaMetadata): Model<
|
|
29
|
+
declare function internal_getModelForClassFromMetadata(metadata: SchemaFromTypedSchemaMetadata): Model<Schema>;
|
|
31
30
|
|
|
32
31
|
interface Constructor<T> extends Function {
|
|
33
32
|
new (...args: unknown[]): T;
|
|
@@ -46,4 +45,4 @@ declare function cloneSchemaClass<TClass, TFields extends (keyof TClass)[] | und
|
|
|
46
45
|
__tsFieldType: TFields extends undefined ? TClass : Pick<TClass, TFields[number]>;
|
|
47
46
|
};
|
|
48
47
|
|
|
49
|
-
export { type CloneSchemaClassOptions, Prop, type PropOptions, type SchemaFromTypedSchemaMetadata, TypedSchema, cloneSchemaClass, getModelForClass, getSchemaForClass, internal_getModelForClassFromMetadata
|
|
48
|
+
export { type CloneSchemaClassOptions, Prop, type PropOptions, type SchemaFromTypedSchemaMetadata, TypedSchema, cloneSchemaClass, getModelForClass, getSchemaForClass, internal_getModelForClassFromMetadata };
|
package/dist/index.js
CHANGED
|
@@ -96,10 +96,6 @@ function getParamTypeForProp(type2) {
|
|
|
96
96
|
|
|
97
97
|
// src/factories/getModelForClass.ts
|
|
98
98
|
Symbol.metadata ?? (Symbol.metadata = Symbol("Symbol.metadata"));
|
|
99
|
-
var modelCache = /* @__PURE__ */ new Map();
|
|
100
|
-
function resetModelCache() {
|
|
101
|
-
modelCache.clear();
|
|
102
|
-
}
|
|
103
99
|
function getModelForClass(target) {
|
|
104
100
|
const targetAsModel = target;
|
|
105
101
|
if (targetAsModel.__isModel) {
|
|
@@ -113,9 +109,6 @@ function getModelForClass(target) {
|
|
|
113
109
|
}
|
|
114
110
|
function internal_getModelForClassFromMetadata(metadata) {
|
|
115
111
|
const modelName = metadata._modelName;
|
|
116
|
-
if (modelCache.has(modelName)) {
|
|
117
|
-
return modelCache.get(modelName);
|
|
118
|
-
}
|
|
119
112
|
const schema = {};
|
|
120
113
|
const keys = Object.keys(metadata ?? {});
|
|
121
114
|
const injectionKeys = keys.filter((key) => key.startsWith("_prop:"));
|
|
@@ -132,7 +125,6 @@ function internal_getModelForClassFromMetadata(metadata) {
|
|
|
132
125
|
name: modelName,
|
|
133
126
|
schema
|
|
134
127
|
});
|
|
135
|
-
modelCache.set(modelName, model);
|
|
136
128
|
return model;
|
|
137
129
|
}
|
|
138
130
|
|
|
@@ -194,7 +186,6 @@ export {
|
|
|
194
186
|
cloneSchemaClass,
|
|
195
187
|
getModelForClass,
|
|
196
188
|
getSchemaForClass,
|
|
197
|
-
internal_getModelForClassFromMetadata
|
|
198
|
-
resetModelCache
|
|
189
|
+
internal_getModelForClassFromMetadata
|
|
199
190
|
};
|
|
200
191
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../node_modules/.pnpm/rambdax@11.3.1/node_modules/rambdax/src/type.js","../../../node_modules/.pnpm/rambdax@11.3.1/node_modules/rambdax/src/_internals/isInteger.js","../../../node_modules/.pnpm/rambdax@11.3.1/node_modules/rambdax/src/_internals/createPath.js","../../../node_modules/.pnpm/rambdax@11.3.1/node_modules/rambdax/src/isType.js","../../../node_modules/.pnpm/rambdax@11.3.1/node_modules/rambdax/src/_internals/compare.js","../../../node_modules/.pnpm/rambdax@11.3.1/node_modules/rambdax/src/_internals/includes.js","../../../node_modules/.pnpm/rambdax@11.3.1/node_modules/rambdax/src/omit.js","../src/factories/getModelForClass.ts","../src/factories/processTypeForProp.ts","../src/factories/getSchemaForClass.ts","../src/factories/cloneSchemaClass.ts","../src/decorators/typedSchema.ts","../src/errors/CannotDetermineType.ts","../src/decorators/prop.ts"],"sourcesContent":["export function type(input){\n if (input === null){\n return 'Null'\n } else if (input === undefined){\n return 'Undefined'\n } else if (Number.isNaN(input)){\n return 'NaN'\n }\n const typeResult = Object.prototype.toString.call(input).slice(8, -1)\n\n return typeResult === 'AsyncFunction' ? 'Promise' : typeResult\n}\n","function _isInteger(n){\n return n << 0 === n\n}\n\nexport const isInteger = Number.isInteger || _isInteger\n\n/**\n * Check if `index` is integer even if it is a string.\n */\nexport const isIndexInteger = index => Number.isInteger(Number(index))\n","import { isInteger } from './isInteger.js'\n\nexport function createPath(path, delimiter = '.'){\n return typeof path === 'string' ?\n path.split(delimiter).map(x => isInteger(x) ? Number(x) : x) :\n path\n}\n","import { type } from './type.js'\n\nexport function isType(xType, x){\n if (arguments.length === 1){\n return xHolder => isType(xType, xHolder)\n }\n\n return type(x) === xType\n}\n","export function compare(a, b){\n return String(a) === String(b)\n}\n","import { compare } from './compare.js'\n\nexport function includes(a, list){\n let index = -1\n const { length } = list\n\n while (++index < length)\n if (compare(list[ index ], a))\n return true\n\n return false\n}\n","import { createPath } from './_internals/createPath.js'\nimport { includes } from './_internals/includes.js'\n\nexport function omit(propsToOmit, obj){\n if (arguments.length === 1) return _obj => omit(propsToOmit, _obj)\n\n if (obj === null || obj === undefined)\n return undefined\n\n const propsToOmitValue = createPath(propsToOmit, ',')\n const willReturn = {}\n\n for (const key in obj)\n if (!includes(key, propsToOmitValue))\n willReturn[ key ] = obj[ key ]\n\n return willReturn\n}\n","/* eslint-disable @typescript-eslint/ban-types */\nimport {createModel, Model} from '@orion-js/models'\nimport {SchemaFromTypedSchemaMetadata} from '..'\nimport {getParamTypeForProp} from './processTypeForProp'\nimport {Schema} from '@orion-js/schema'\n\n// @ts-ignore polyfill for Symbol.metadata // https://www.typescriptlang.org/docs/handbook/release-notes/typescript-5-2.html#decorator-metadata\nSymbol.metadata ??= Symbol('Symbol.metadata')\n\nconst modelCache = new Map<string, Model>()\n\nexport function resetModelCache() {\n modelCache.clear()\n}\n\nexport function getModelForClass(target: any): Model {\n const targetAsModel = target as any as Model\n if (targetAsModel.__isModel) {\n return targetAsModel\n }\n\n const metadata = target[Symbol.metadata] as SchemaFromTypedSchemaMetadata\n\n if (!metadata) {\n return targetAsModel\n }\n\n return internal_getModelForClassFromMetadata(metadata)\n}\n\nexport function internal_getModelForClassFromMetadata(metadata: SchemaFromTypedSchemaMetadata) {\n const modelName = metadata._modelName\n if (modelCache.has(modelName)) {\n return modelCache.get(modelName)\n }\n\n const schema: Schema = {}\n const keys = Object.keys(metadata ?? {})\n const injectionKeys = keys.filter(key => key.startsWith('_prop:'))\n\n for (const key of injectionKeys) {\n const prop = metadata[key] as Schema\n const schemaProp = key.replace('_prop:', '')\n\n schema[schemaProp] = {\n ...prop,\n type: getParamTypeForProp(prop.type as any),\n }\n }\n\n const model = createModel({\n ...metadata._modelOptions,\n name: modelName,\n schema,\n })\n\n modelCache.set(modelName, model)\n\n return model\n}\n","import {isType} from 'rambdax'\nimport {PropOptions} from '../decorators/prop'\n\nexport function getParamTypeForProp(type: PropOptions['type']) {\n if (Array.isArray(type)) {\n const itemType = type[0]\n return [getParamTypeForProp(itemType)]\n }\n\n if (type?.[Symbol.metadata]?._getModel) {\n return type[Symbol.metadata]._getModel(type)\n }\n\n if (type?.getSchema) {\n return getParamTypeForProp(type.getSchema())\n }\n\n if (isType('Object', type)) {\n if (type.__isFieldType) {\n return type\n }\n\n const subschema = {}\n Object.keys(type).forEach(key => {\n if (key.startsWith('__')) {\n subschema[key] = type[key]\n return\n }\n\n subschema[key] = {\n ...type[key],\n type: getParamTypeForProp(type[key].type),\n }\n })\n\n return subschema\n }\n\n return type\n}\n","/* eslint-disable @typescript-eslint/ban-types */\nimport {Schema} from '@orion-js/schema'\nimport {getModelForClass} from './getModelForClass'\n\nexport function getSchemaForClass(target: any): Schema {\n return getModelForClass(target).getSchema()\n}\n","import {CloneOptions} from '@orion-js/models'\nimport {Constructor} from '../utils/interfaces'\nimport {cloneSchema, getSchemaFromAnyOrionForm, Schema} from '@orion-js/schema'\n\nexport interface CloneSchemaClassOptions<\n TClass,\n TFields extends (keyof TClass)[] | undefined = undefined,\n> {\n name: string\n pickFields?: TFields\n mapFields?: CloneOptions['mapFields']\n extendSchema?: CloneOptions['extendSchema']\n}\n\n/**\n * @deprecated Use `cloneSchema` instead\n */\nexport function cloneSchemaClass<TClass, TFields extends (keyof TClass)[] | undefined = undefined>(\n inputType: Constructor<TClass>,\n options: CloneSchemaClassOptions<TClass, TFields>,\n): Schema & {\n __tsFieldType: TFields extends undefined ? TClass : Pick<TClass, TFields[number]>\n} {\n const schema = getSchemaFromAnyOrionForm(inputType) as Schema\n\n const newSchema = cloneSchema({\n schema,\n name: options.name,\n pickFields: options.pickFields as any as string[],\n mapFields: options.mapFields,\n extendSchema: options.extendSchema,\n })\n\n return newSchema as any\n}\n","import {omit} from 'rambdax'\nimport {internal_getModelForClassFromMetadata} from '../factories'\nimport {TypedSchemaOptions} from '../storage/metadataStorage'\nimport {Model} from '@orion-js/models'\nimport {PropOptions} from './prop'\n\n/**\n * @deprecated use schema with InferSchemaType<schema as const> instead\n */\nexport function TypedSchema(options: TypedSchemaOptions = {}) {\n return (_target: any, context: ClassDecoratorContext<any>) => {\n context.metadata._isTypedSchema = true\n context.metadata._modelName = options.name || context.name\n context.metadata._modelOptions = omit('name', options)\n context.metadata._getModel = () => {\n return internal_getModelForClassFromMetadata(\n context.metadata as SchemaFromTypedSchemaMetadata,\n )\n }\n }\n}\n\nexport type SchemaFromTypedSchemaMetadata = {\n _isTypedSchema: true\n _modelName: string\n _modelOptions: TypedSchemaOptions\n _getModel: () => Model\n [key: `_prop:${string}`]: PropOptions\n}\n","export class CannotDetermineTypeError extends Error {\n constructor(propertyKey: string) {\n super(\n `Cannot determine type at @Prop() \"${propertyKey}\". type: is required for all props since Orion v4`,\n )\n }\n}\n","import {Constructor, SchemaFieldType, SchemaNode} from '@orion-js/schema'\nimport {Model} from '@orion-js/models'\nimport {CannotDetermineTypeError} from '../errors/CannotDetermineType'\n\nexport interface PropOptions extends Omit<SchemaNode, 'type'> {\n type: SchemaFieldType | Constructor<any> | Model | Model[]\n}\n\n/**\n * @deprecated use schema with InferSchemaType<schema as const> instead\n */\nexport function Prop(options: PropOptions) {\n return (_target: any, context: ClassFieldDecoratorContext) => {\n const propertyKey = String(context.name)\n\n if (!options?.type) {\n throw new CannotDetermineTypeError(propertyKey)\n }\n\n context.metadata[`_prop:${propertyKey}`] = options\n }\n}\n"],"mappings":"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","names":["type"]}
|
|
1
|
+
{"version":3,"sources":["../../../node_modules/.pnpm/rambdax@11.3.1/node_modules/rambdax/src/type.js","../../../node_modules/.pnpm/rambdax@11.3.1/node_modules/rambdax/src/_internals/isInteger.js","../../../node_modules/.pnpm/rambdax@11.3.1/node_modules/rambdax/src/_internals/createPath.js","../../../node_modules/.pnpm/rambdax@11.3.1/node_modules/rambdax/src/isType.js","../../../node_modules/.pnpm/rambdax@11.3.1/node_modules/rambdax/src/_internals/compare.js","../../../node_modules/.pnpm/rambdax@11.3.1/node_modules/rambdax/src/_internals/includes.js","../../../node_modules/.pnpm/rambdax@11.3.1/node_modules/rambdax/src/omit.js","../src/factories/getModelForClass.ts","../src/factories/processTypeForProp.ts","../src/factories/getSchemaForClass.ts","../src/factories/cloneSchemaClass.ts","../src/decorators/typedSchema.ts","../src/errors/CannotDetermineType.ts","../src/decorators/prop.ts"],"sourcesContent":["export function type(input){\n if (input === null){\n return 'Null'\n } else if (input === undefined){\n return 'Undefined'\n } else if (Number.isNaN(input)){\n return 'NaN'\n }\n const typeResult = Object.prototype.toString.call(input).slice(8, -1)\n\n return typeResult === 'AsyncFunction' ? 'Promise' : typeResult\n}\n","function _isInteger(n){\n return n << 0 === n\n}\n\nexport const isInteger = Number.isInteger || _isInteger\n\n/**\n * Check if `index` is integer even if it is a string.\n */\nexport const isIndexInteger = index => Number.isInteger(Number(index))\n","import { isInteger } from './isInteger.js'\n\nexport function createPath(path, delimiter = '.'){\n return typeof path === 'string' ?\n path.split(delimiter).map(x => isInteger(x) ? Number(x) : x) :\n path\n}\n","import { type } from './type.js'\n\nexport function isType(xType, x){\n if (arguments.length === 1){\n return xHolder => isType(xType, xHolder)\n }\n\n return type(x) === xType\n}\n","export function compare(a, b){\n return String(a) === String(b)\n}\n","import { compare } from './compare.js'\n\nexport function includes(a, list){\n let index = -1\n const { length } = list\n\n while (++index < length)\n if (compare(list[ index ], a))\n return true\n\n return false\n}\n","import { createPath } from './_internals/createPath.js'\nimport { includes } from './_internals/includes.js'\n\nexport function omit(propsToOmit, obj){\n if (arguments.length === 1) return _obj => omit(propsToOmit, _obj)\n\n if (obj === null || obj === undefined)\n return undefined\n\n const propsToOmitValue = createPath(propsToOmit, ',')\n const willReturn = {}\n\n for (const key in obj)\n if (!includes(key, propsToOmitValue))\n willReturn[ key ] = obj[ key ]\n\n return willReturn\n}\n","/* eslint-disable @typescript-eslint/ban-types */\nimport {createModel, Model} from '@orion-js/models'\nimport {SchemaFromTypedSchemaMetadata} from '..'\nimport {getParamTypeForProp} from './processTypeForProp'\nimport {Schema} from '@orion-js/schema'\n\n// @ts-ignore polyfill for Symbol.metadata // https://www.typescriptlang.org/docs/handbook/release-notes/typescript-5-2.html#decorator-metadata\nSymbol.metadata ??= Symbol('Symbol.metadata')\n\nexport function getModelForClass(target: any): Model {\n const targetAsModel = target as any as Model\n if (targetAsModel.__isModel) {\n return targetAsModel\n }\n\n const metadata = target[Symbol.metadata] as SchemaFromTypedSchemaMetadata\n\n if (!metadata) {\n return targetAsModel\n }\n\n return internal_getModelForClassFromMetadata(metadata)\n}\n\nexport function internal_getModelForClassFromMetadata(metadata: SchemaFromTypedSchemaMetadata) {\n const modelName = metadata._modelName\n\n const schema: Schema = {}\n const keys = Object.keys(metadata ?? {})\n const injectionKeys = keys.filter(key => key.startsWith('_prop:'))\n\n for (const key of injectionKeys) {\n const prop = metadata[key] as Schema\n const schemaProp = key.replace('_prop:', '')\n\n schema[schemaProp] = {\n ...prop,\n type: getParamTypeForProp(prop.type as any),\n }\n }\n\n const model = createModel({\n ...metadata._modelOptions,\n name: modelName,\n schema,\n })\n\n return model\n}\n","import {isType} from 'rambdax'\nimport {PropOptions} from '../decorators/prop'\n\nexport function getParamTypeForProp(type: PropOptions['type']) {\n if (Array.isArray(type)) {\n const itemType = type[0]\n return [getParamTypeForProp(itemType)]\n }\n\n if (type?.[Symbol.metadata]?._getModel) {\n return type[Symbol.metadata]._getModel(type)\n }\n\n if (type?.getSchema) {\n return getParamTypeForProp(type.getSchema())\n }\n\n if (isType('Object', type)) {\n if (type.__isFieldType) {\n return type\n }\n\n const subschema = {}\n Object.keys(type).forEach(key => {\n if (key.startsWith('__')) {\n subschema[key] = type[key]\n return\n }\n\n subschema[key] = {\n ...type[key],\n type: getParamTypeForProp(type[key].type),\n }\n })\n\n return subschema\n }\n\n return type\n}\n","/* eslint-disable @typescript-eslint/ban-types */\nimport {Schema} from '@orion-js/schema'\nimport {getModelForClass} from './getModelForClass'\n\nexport function getSchemaForClass(target: any): Schema {\n return getModelForClass(target).getSchema()\n}\n","import {CloneOptions} from '@orion-js/models'\nimport {Constructor} from '../utils/interfaces'\nimport {cloneSchema, getSchemaFromAnyOrionForm, Schema} from '@orion-js/schema'\n\nexport interface CloneSchemaClassOptions<\n TClass,\n TFields extends (keyof TClass)[] | undefined = undefined,\n> {\n name: string\n pickFields?: TFields\n mapFields?: CloneOptions['mapFields']\n extendSchema?: CloneOptions['extendSchema']\n}\n\n/**\n * @deprecated Use `cloneSchema` instead\n */\nexport function cloneSchemaClass<TClass, TFields extends (keyof TClass)[] | undefined = undefined>(\n inputType: Constructor<TClass>,\n options: CloneSchemaClassOptions<TClass, TFields>,\n): Schema & {\n __tsFieldType: TFields extends undefined ? TClass : Pick<TClass, TFields[number]>\n} {\n const schema = getSchemaFromAnyOrionForm(inputType) as Schema\n\n const newSchema = cloneSchema({\n schema,\n name: options.name,\n pickFields: options.pickFields as any as string[],\n mapFields: options.mapFields,\n extendSchema: options.extendSchema,\n })\n\n return newSchema as any\n}\n","import {omit} from 'rambdax'\nimport {internal_getModelForClassFromMetadata} from '../factories'\nimport {TypedSchemaOptions} from '../storage/metadataStorage'\nimport {Model} from '@orion-js/models'\nimport {PropOptions} from './prop'\n\n/**\n * @deprecated use schema with InferSchemaType<schema as const> instead\n */\nexport function TypedSchema(options: TypedSchemaOptions = {}) {\n return (_target: any, context: ClassDecoratorContext<any>) => {\n context.metadata._isTypedSchema = true\n context.metadata._modelName = options.name || context.name\n context.metadata._modelOptions = omit('name', options)\n context.metadata._getModel = () => {\n return internal_getModelForClassFromMetadata(\n context.metadata as SchemaFromTypedSchemaMetadata,\n )\n }\n }\n}\n\nexport type SchemaFromTypedSchemaMetadata = {\n _isTypedSchema: true\n _modelName: string\n _modelOptions: TypedSchemaOptions\n _getModel: () => Model\n [key: `_prop:${string}`]: PropOptions\n}\n","export class CannotDetermineTypeError extends Error {\n constructor(propertyKey: string) {\n super(\n `Cannot determine type at @Prop() \"${propertyKey}\". type: is required for all props since Orion v4`,\n )\n }\n}\n","import {Constructor, SchemaFieldType, SchemaNode} from '@orion-js/schema'\nimport {Model} from '@orion-js/models'\nimport {CannotDetermineTypeError} from '../errors/CannotDetermineType'\n\nexport interface PropOptions extends Omit<SchemaNode, 'type'> {\n type: SchemaFieldType | Constructor<any> | Model | Model[]\n}\n\n/**\n * @deprecated use schema with InferSchemaType<schema as const> instead\n */\nexport function Prop(options: PropOptions) {\n return (_target: any, context: ClassFieldDecoratorContext) => {\n const propertyKey = String(context.name)\n\n if (!options?.type) {\n throw new CannotDetermineTypeError(propertyKey)\n }\n\n context.metadata[`_prop:${propertyKey}`] = options\n }\n}\n"],"mappings":"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","names":["type"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@orion-js/typed-model",
|
|
3
|
-
"version": "4.0.
|
|
3
|
+
"version": "4.0.15",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "./dist/index.cjs",
|
|
6
6
|
"module": "./dist/index.js",
|
|
@@ -16,10 +16,10 @@
|
|
|
16
16
|
"author": "dmerrill6",
|
|
17
17
|
"license": "MIT",
|
|
18
18
|
"dependencies": {
|
|
19
|
-
"@orion-js/
|
|
20
|
-
"@orion-js/
|
|
21
|
-
"@orion-js/
|
|
22
|
-
"@orion-js/
|
|
19
|
+
"@orion-js/models": "4.0.12",
|
|
20
|
+
"@orion-js/schema": "4.0.10",
|
|
21
|
+
"@orion-js/services": "4.0.2",
|
|
22
|
+
"@orion-js/resolvers": "4.0.10"
|
|
23
23
|
},
|
|
24
24
|
"devDependencies": {
|
|
25
25
|
"@types/node": "^18.0.0",
|