How to use the pvtsutils.assign function in pvtsutils

To help you get started, we’ve selected a few pvtsutils examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

github PeculiarVentures / tsprotobuf / src / decorator.ts View on Github external
return (target: TFunction) => {
        const t: IProtobufScheme = target as any;

        t.localName = params.name || (t as any).name || t.toString().match(/^function\s*([^\s(]+)/)[1];
        t.items = t.items || {};
        t.target = target;
        t.items = assign({}, t.items);

        // create protobuf scheme
        const scheme = new Type(t.localName);
        for (const key in t.items) {
            const item = t.items[key];
            let rule: string | undefined = void 0;
            if (item.repeated) {
                rule = "repeated";
            } else if (item.required) {
                rule = "required";
            }
            scheme.add(new Field(item.name, item.id, item.type, rule));
        }
        t.protobuf = scheme;
    };
}
github PeculiarVentures / tsprotobuf / src / decorator.ts View on Github external
return (target: object, propertyKey: string | symbol) => {
        const t: IProtobufScheme = target.constructor as any;
        const key = propertyKey as string;

        t.items = t.items || {};
        if (t.target !== t) {
            t.items = assign({}, t.items);
            t.target = t;
        }

        t.items[key] = {
            id: params.id,
            type: params.type || "bytes",
            defaultValue: params.defaultValue,
            converter: params.converter || null,
            parser: params.parser || null,
        };
        params.name = params.name || key;

        t.items[key].name = params.name;
        t.items[key].required = params.required || false;
        t.items[key].repeated = params.repeated || false;