Socket
Socket
Sign inDemoInstall

@worldsibu/convector-core-model

Package Overview
Dependencies
Maintainers
1
Versions
187
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@worldsibu/convector-core-model - npm Package Compare versions

Comparing version 1.2.1-0-alpha.16483a5b to 1.2.1-0-alpha.1fe2a2a2

6

dist/src/convector-model.d.ts

@@ -11,4 +11,8 @@ import * as yup from 'yup';

export declare abstract class ConvectorModel<T extends ConvectorModel<any>> {
static schema<T extends ConvectorModel<any>>(this: new (...args: any[]) => T): yup.ObjectSchema<FlatConvectorModel<T> & {
private static type;
static schema<T extends ConvectorModel<any>>(this: Function & {
prototype: T;
}): yup.ObjectSchema<FlatConvectorModel<T> & {
id: string;
type: string;
}>;

@@ -15,0 +19,0 @@ static getOne<T extends ConvectorModel<any>>(this: new (content: any) => T, id: string, type?: new (content: any) => T): Promise<T>;

36

dist/src/convector-model.js

@@ -23,8 +23,7 @@ "use strict";

ConvectorModel.schema = function () {
var instance = new this();
return yup.object().shape(tslib_1.__assign({ id: yup.string().required(), key: yup.string() }, validate_decorator_2.getPropertiesValidation(instance)));
return yup.object().shape(tslib_1.__assign({ id: yup.string().required(), type: yup.string() }, validate_decorator_2.getPropertiesValidation(this.prototype)));
};
ConvectorModel.getOne = function (id, type) {
return tslib_1.__awaiter(this, void 0, void 0, function () {
var content;
var content, model;
return tslib_1.__generator(this, function (_a) {

@@ -37,3 +36,7 @@ switch (_a.label) {

content = _a.sent();
return [2, new type(content)];
model = new type(content);
if (content.type !== model.type) {
throw new Error("Possible ID collision, element " + id + " of type " + content.type + " is not " + model.type);
}
return [2, model];
}

@@ -54,3 +57,3 @@ });

type = this;
if (args[0] && args[0].prototype.__proto__.constructor === ConvectorModel) {
if (args[0] && 'type' in args[0] && args[0].type === ConvectorModel.type) {
type = args.shift();

@@ -138,3 +141,3 @@ }

else {
throw new Error("Model " + this.type + " is not complete\n" + JSON.stringify(this));
throw new Error("Model " + this.type + " is not complete\n" + JSON.stringify(this) + ".\n Check your model definition for more details.");
}

@@ -157,6 +160,13 @@ }

if (skipEmpty === void 0) { skipEmpty = false; }
var proto = Object.getPrototypeOf(this);
var protos = [];
var children = this;
do {
children = Object.getPrototypeOf(children);
protos.push(children);
} while (children['__proto__'].constructor.name !== ConvectorModel.name);
var descriptors = protos.reduce(function (result, proto) { return result.concat(Object.keys(proto)
.map(function (key) { return [key, Object.getOwnPropertyDescriptor(proto, key)]; })); }, []);
var base = Object.keys(this).concat('id')
.filter(function (k) { return !k.startsWith('_'); })
.filter(function (k) { return !skipEmpty || _this[k] !== undefined || _this[k] !== null; })
.filter(function (k) { return !skipEmpty || !(_this[k] === undefined || _this[k] === null); })
.reduce(function (result, key) {

@@ -166,5 +176,5 @@ return (tslib_1.__assign({}, result, (_a = {}, _a[key] = _this[key], _a)));

}, {});
return Object.keys(proto)
.reduce(function (result, key) {
var desc = Object.getOwnPropertyDescriptor(proto, key);
return descriptors
.reduce(function (result, _a) {
var key = _a[0], desc = _a[1];
var hasGetter = desc && typeof desc.get === 'function';

@@ -177,2 +187,5 @@ if (hasGetter) {

}
if (result[key] instanceof ConvectorModel) {
result[key] = result[key].toJSON(true);
}
return result;

@@ -206,2 +219,3 @@ }, base);

};
ConvectorModel.type = 'io.convector.model';
tslib_1.__decorate([

@@ -208,0 +222,0 @@ required_decorator_1.Required(),

@@ -0,3 +1,4 @@

export declare const defaultMetadataKey: any;
import 'reflect-metadata';
export declare function Default<T>(defaultValue: T): (target: any, key: string) => void;
export declare function getDefaults(obj: any): {};
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
var tslib_1 = require("tslib");
var defaultMetadataKey = Symbol('default');
var g = global;
exports.defaultMetadataKey = g.ConvectorDefaultMetadataKey || Symbol('default');
g.ConvectorDefaultMetadataKey = exports.defaultMetadataKey;
require("reflect-metadata");
function Default(defaultValue) {
return function (target, key) {
var defaults = Reflect.getMetadata(defaultMetadataKey, target) || {};
Reflect.defineMetadata(defaultMetadataKey, tslib_1.__assign({}, defaults, (_a = {}, _a[key] = defaultValue, _a)), target);
var defaults = Reflect.getMetadata(exports.defaultMetadataKey, target) || {};
Reflect.defineMetadata(exports.defaultMetadataKey, tslib_1.__assign({}, defaults, (_a = {}, _a[key] = defaultValue, _a)), target);
var _a;

@@ -15,3 +17,3 @@ };

function getDefaults(obj) {
var defaults = Reflect.getMetadata(defaultMetadataKey, obj);
var defaults = Reflect.getMetadata(exports.defaultMetadataKey, obj);
return !defaults ? {} : Object.keys(defaults)

@@ -18,0 +20,0 @@ .reduce(function (result, k) {

@@ -0,3 +1,4 @@

export declare const requiredMetadataKey: any;
import 'reflect-metadata';
export declare function Required(): (target: any, key: string) => void;
export declare function ensureRequired(obj: any): boolean;
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
var tslib_1 = require("tslib");
var requiredMetadataKey = Symbol('required');
var g = global;
exports.requiredMetadataKey = g.ConvectorRequiredMetadataKey || Symbol('required');
g.ConvectorRequiredMetadataKey = exports.requiredMetadataKey;
require("reflect-metadata");
function Required() {
return function (target, key) {
var required = Reflect.getMetadata(requiredMetadataKey, target);
Reflect.defineMetadata(requiredMetadataKey, tslib_1.__assign({}, required, (_a = {}, _a[key] = true, _a)), target);
var required = Reflect.getMetadata(exports.requiredMetadataKey, target);
Reflect.defineMetadata(exports.requiredMetadataKey, tslib_1.__assign({}, required, (_a = {}, _a[key] = true, _a)), target);
var _a;

@@ -17,3 +19,3 @@ };

try {
required = Reflect.getMetadata(requiredMetadataKey, obj) || {};
required = Reflect.getMetadata(exports.requiredMetadataKey, obj) || {};
}

@@ -20,0 +22,0 @@ catch (e) {

import { Schema } from 'yup';
import 'reflect-metadata';
export declare const validateMetadataKey: any;
export declare function Validate<T>(input: Schema<T> | {

@@ -4,0 +5,0 @@ schema: () => Schema<T>;

@@ -5,7 +5,9 @@ "use strict";

require("reflect-metadata");
var validateMetadataKey = Symbol('validate');
var g = global;
exports.validateMetadataKey = g.ConvectorValidateMetadataKey || Symbol('validate');
g.ConvectorValidateMetadataKey = exports.validateMetadataKey;
function Validate(input) {
var schema = input;
if ('schema' in input) {
schema = input.schema;
schema = input.schema();
}

@@ -26,4 +28,4 @@ return function (target, key) {

Object.defineProperty(target, key, getSet);
var validated = Reflect.getMetadata(validateMetadataKey, target);
Reflect.defineMetadata(validateMetadataKey, tslib_1.__assign({}, validated, (_a = {}, _a[key] = schema, _a)), target);
var validated = Reflect.getMetadata(exports.validateMetadataKey, target);
Reflect.defineMetadata(exports.validateMetadataKey, tslib_1.__assign({}, validated, (_a = {}, _a[key] = schema, _a)), target);
var _a;

@@ -36,3 +38,3 @@ };

try {
validated = Reflect.getMetadata(validateMetadataKey, obj) || {};
validated = Reflect.getMetadata(exports.validateMetadataKey, obj) || {};
}

@@ -39,0 +41,0 @@ catch (e) {

{
"name": "@worldsibu/convector-core-model",
"version": "1.2.1-0-alpha.16483a5b",
"version": "1.2.1-0-alpha.1fe2a2a2",
"description": "Convector Model base class",

@@ -35,6 +35,6 @@ "license": "Apache-2.0",

"dependencies": {
"@worldsibu/convector-core-errors": "1.2.1-0-alpha.16483a5b",
"@worldsibu/convector-core-storage": "1.2.1-0-alpha.16483a5b",
"@worldsibu/convector-core-errors": "1.2.1-0-alpha.1fe2a2a2",
"@worldsibu/convector-core-storage": "1.2.1-0-alpha.1fe2a2a2",
"tslib": "^1.9.0",
"yup": "^0.24.1"
"yup": "^0.26.10"
},

@@ -41,0 +41,0 @@ "devDependencies": {

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc