New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

reactivedb

Package Overview
Dependencies
Maintainers
5
Versions
84
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

reactivedb - npm Package Compare versions

Comparing version 0.10.4-alpha.4-diff to 0.10.4-alpha.5-diff

2

package.json
{
"name": "reactivedb",
"version": "0.10.4-alpha.4-diff",
"version": "0.10.4-alpha.5-diff",
"description": "Reactive ORM for Lovefield",

@@ -5,0 +5,0 @@ "main": "./index.js",

@@ -176,3 +176,2 @@ import { Observable } from 'rxjs/Observable'

)
return new QueryToken<T>(selector$)

@@ -179,0 +178,0 @@ }

@@ -12,3 +12,2 @@ import { Observable } from 'rxjs/Observable'

public request$: Observable<T[]>
public lastEmit: T[] = []

@@ -20,3 +19,4 @@ private mapFn: (stream$: Observable<T[]>) => Observable<any> = mapFn

public query: Query<T>,
public tableName: string
public tableName: string,
public lastEmit?: T[],
) {

@@ -38,3 +38,3 @@ this.request$ = request$.pipe(

getLastEmit(): T[] {
getLastEmit(): T[] | undefined {
return this.lastEmit

@@ -41,0 +41,0 @@ }

@@ -15,4 +15,3 @@ import { Observable } from 'rxjs/Observable'

import { TokenConsumed } from '../../exception/token'
// import { patch } from '../../utils/patch'
import { Ops } from '../../utils/diff'
import diff, { Ops } from '../../utils/diff'

@@ -27,5 +26,6 @@ export type SelectorMeta<T> = Selector<T> | ProxySelector<T>

public lastEmit: T[] = []
private consumed = false
constructor(selector$: Observable<SelectorMeta<T>>) {
constructor(selector$: Observable<SelectorMeta<T>>, lasEmit?: T[]) {
this.selector$ = selector$.pipe(

@@ -35,4 +35,13 @@ publishReplay(1),

)
this.lastEmit = lasEmit || []
}
getLastEmit() {
return this.lastEmit
}
setLastEmit(data: T[]) {
this.lastEmit = data
}
map<K>(fn: OperatorFunction<T[], K[]>) {

@@ -60,3 +69,3 @@ this.selector$ = this.selector$.pipe(

return this.selector$.pipe(
switchMap(s => s.changes())
switchMap(s => s.changes()),
)

@@ -66,8 +75,10 @@ }

changesWithOps(pk?: string): Observable<{ result: T[], ops: Ops}> {
assert(!this.consumed, TokenConsumed())
this.consumed = true
return this.selector$.pipe(
switchMap((s) => s.changesWithOps(pk)),
)
return this.changes()
.pipe(
map((result: T[]) => {
const ops = diff(this.lastEmit, result, pk)
return { result, ops }
}),
tap((data) => this.lastEmit = data.result),
)
}

@@ -77,2 +88,6 @@

tokens.unshift(this)
const lastEmit: T[] = tokens.reduce((acc, token) => {
return acc.concat(token.getLastEmit())
}, [] as T[])
const newSelector$ = Observable.from(tokens).pipe(

@@ -86,3 +101,3 @@ map(token => token.selector$.pipe(skipWhileProxySelector)),

)
return new QueryToken<T>(newSelector$)
return new QueryToken<T>(newSelector$, lastEmit)
}

@@ -89,0 +104,0 @@

@@ -7,3 +7,2 @@ import { Observer } from 'rxjs/Observer'

import { map } from 'rxjs/operators/map'
import { tap } from 'rxjs/operators/tap'
import { mergeMap } from 'rxjs/operators/mergeMap'

@@ -22,3 +21,2 @@ import { publishReplay } from 'rxjs/operators/publishReplay'

import { mapFn } from './mapFn'
import diff, { Ops } from '../../utils/diff'

@@ -43,10 +41,5 @@ export class Selector <T> {

const lastEmit = metaDatas.reduce((acc, selector) => {
return acc.concat(selector.getLastEmit() || [])
}, [] as U[])
return new Selector(
db, lselect, shape, predicateProvider,
maxLimit.limit! + maxLimit.skip!, minSkip.skip, meta.orderDescriptions,
lastEmit
maxLimit.limit! + maxLimit.skip!, minSkip.skip, meta.orderDescriptions
)

@@ -201,3 +194,2 @@ .map<U>(meta.mapFn)

private orderDescriptions?: OrderInfo[],
public lastEmit?: T[],
) {

@@ -246,22 +238,6 @@ this.predicateProvider = this.normPredicateProvider(predicateProvider)

getLastEmit(): T[] | undefined {
return this.lastEmit
}
changes(): Observable<T[]> | never {
return this.mapFn(this.change$.pipe(
tap((result: T[]) => this.lastEmit = result)
))
return this.mapFn(this.change$)
}
changesWithOps(pk?: string): Observable<{ result: T[], ops: Ops}> | never {
return this.change$.pipe(
map((result: T[]) => {
const ops = diff(this.lastEmit || [], result, pk)
return { result, ops }
}),
tap(({ result }) => this.lastEmit = result)
)
}
map<K>(fn: OperatorFunction<T[], K[]>) {

@@ -268,0 +244,0 @@ this.mapFn = fn

@@ -1,4 +0,8 @@

import { Op, OpsType, Ops } from './diff'
import { Op } from './diff'
export const patch = <K, T extends Array<K>, R extends Array<K>>(ops: Op[], oldList: T, newList: T) => {
if (!oldList.length) {
return newList
}
return newList.map((data, i) => {

@@ -13,14 +17,1 @@ const op = ops[i]

}
export const getPatchResult = <T>(opsResult: Ops, oldList: T[], newList: T[]): T[] => {
const { type, ops } = opsResult
switch (type) {
case OpsType.Error:
return newList
case OpsType.SuccessAndSkip:
return oldList
case OpsType.Success:
default:
return patch(ops, oldList, newList)
}
}

@@ -1,1 +0,1 @@

export default '0.10.4-alpha.4-diff'
export default '0.10.4-alpha.5-diff-alpha0.10.4-alpha.5-diff-diff'

@@ -8,9 +8,9 @@ import { Observable } from 'rxjs/Observable';

tableName: string;
lastEmit: T[] | undefined;
request$: Observable<T[]>;
lastEmit: T[];
private mapFn;
constructor(request$: Observable<T | T[]>, query: Query<T>, tableName: string);
constructor(request$: Observable<T | T[]>, query: Query<T>, tableName: string, lastEmit?: T[] | undefined);
values(): Observable<any>;
changes(): Observable<any>;
getLastEmit(): T[];
getLastEmit(): T[] | undefined;
changesWithOps(pk?: string): Observable<{

@@ -17,0 +17,0 @@ result: T[];

@@ -8,6 +8,6 @@ "use strict";

var ProxySelector = /** @class */ (function () {
function ProxySelector(request$, query, tableName) {
function ProxySelector(request$, query, tableName, lastEmit) {
this.query = query;
this.tableName = tableName;
this.lastEmit = [];
this.lastEmit = lastEmit;
this.mapFn = mapFn_1.mapFn;

@@ -14,0 +14,0 @@ this.request$ = request$.pipe(map_1.map(function (r) { return Array.isArray(r) ? r : [r]; }));

@@ -9,4 +9,7 @@ import { Observable } from 'rxjs/Observable';

selector$: Observable<SelectorMeta<T>>;
lastEmit: T[];
private consumed;
constructor(selector$: Observable<SelectorMeta<T>>);
constructor(selector$: Observable<SelectorMeta<T>>, lasEmit?: T[]);
getLastEmit(): T[];
setLastEmit(data: T[]): void;
map<K>(fn: OperatorFunction<T[], K[]>): QueryToken<K>;

@@ -13,0 +16,0 @@ values(): Observable<T[]>;

@@ -15,8 +15,17 @@ "use strict";

var token_1 = require("../../exception/token");
var diff_1 = require("../../utils/diff");
var skipWhileProxySelector = skipWhile_1.skipWhile(function (v) { return v instanceof ProxySelector_1.ProxySelector; });
var QueryToken = /** @class */ (function () {
function QueryToken(selector$) {
function QueryToken(selector$, lasEmit) {
this.lastEmit = [];
this.consumed = false;
this.selector$ = selector$.pipe(publishReplay_1.publishReplay(1), refCount_1.refCount());
this.lastEmit = lasEmit || [];
}
QueryToken.prototype.getLastEmit = function () {
return this.lastEmit;
};
QueryToken.prototype.setLastEmit = function (data) {
this.lastEmit = data;
};
QueryToken.prototype.map = function (fn) {

@@ -37,5 +46,8 @@ this.selector$ = this.selector$.pipe(tap_1.tap(function (selector) { return selector.map(fn); }));

QueryToken.prototype.changesWithOps = function (pk) {
assert_1.assert(!this.consumed, token_1.TokenConsumed());
this.consumed = true;
return this.selector$.pipe(switchMap_1.switchMap(function (s) { return s.changesWithOps(pk); }));
var _this = this;
return this.changes()
.pipe(map_1.map(function (result) {
var ops = diff_1.default(_this.lastEmit, result, pk);
return { result: result, ops: ops };
}), tap_1.tap(function (data) { return _this.lastEmit = data.result; }));
};

@@ -48,2 +60,5 @@ QueryToken.prototype.concat = function () {

tokens.unshift(this);
var lastEmit = tokens.reduce(function (acc, token) {
return acc.concat(token.getLastEmit());
}, []);
var newSelector$ = Observable_1.Observable.from(tokens).pipe(map_1.map(function (token) { return token.selector$.pipe(skipWhileProxySelector); }), combineAll_1.combineAll(), map_1.map(function (r) {

@@ -54,3 +69,3 @@ var first = r.shift();

}));
return new QueryToken(newSelector$);
return new QueryToken(newSelector$, lastEmit);
};

@@ -57,0 +72,0 @@ QueryToken.prototype.combine = function () {

@@ -7,3 +7,2 @@ /// <reference types="lovefield" />

import { ShapeMatcher, OrderInfo } from '../../interface';
import { Ops } from '../../utils/diff';
export declare class Selector<T> {

@@ -17,3 +16,2 @@ db: lf.Database;

private orderDescriptions;
lastEmit: T[] | undefined;
private static concatFactory<U>(...metaDatas);

@@ -31,3 +29,3 @@ private static combineFactory<U>(...metaDatas);

private normPredicateProvider(pp?);
constructor(db: lf.Database, lselect: lf.query.Select, shape: ShapeMatcher, predicateProvider?: PredicateProvider<T> | undefined, limit?: number | undefined, skip?: number | undefined, orderDescriptions?: OrderInfo[] | undefined, lastEmit?: T[] | undefined);
constructor(db: lf.Database, lselect: lf.query.Select, shape: ShapeMatcher, predicateProvider?: PredicateProvider<T> | undefined, limit?: number | undefined, skip?: number | undefined, orderDescriptions?: OrderInfo[] | undefined);
toString(): string;

@@ -37,8 +35,3 @@ values(): Observable<T[]> | never;

concat(...selectors: Selector<T>[]): Selector<T>;
getLastEmit(): T[] | undefined;
changes(): Observable<T[]> | never;
changesWithOps(pk?: string): Observable<{
result: T[];
ops: Ops;
}> | never;
map<K>(fn: OperatorFunction<T[], K[]>): Selector<K>;

@@ -45,0 +38,0 @@ private inPKs(pks);

@@ -7,3 +7,2 @@ "use strict";

var map_1 = require("rxjs/operators/map");
var tap_1 = require("rxjs/operators/tap");
var mergeMap_1 = require("rxjs/operators/mergeMap");

@@ -21,5 +20,4 @@ var publishReplay_1 = require("rxjs/operators/publishReplay");

var mapFn_1 = require("./mapFn");
var diff_1 = require("../../utils/diff");
var Selector = /** @class */ (function () {
function Selector(db, lselect, shape, predicateProvider, limit, skip, orderDescriptions, lastEmit) {
function Selector(db, lselect, shape, predicateProvider, limit, skip, orderDescriptions) {
this.db = db;

@@ -32,3 +30,2 @@ this.lselect = lselect;

this.orderDescriptions = orderDescriptions;
this.lastEmit = lastEmit;
this.mapFn = mapFn_1.mapFn;

@@ -57,6 +54,3 @@ this._change$ = null;

});
var lastEmit = metaDatas.reduce(function (acc, selector) {
return acc.concat(selector.getLastEmit() || []);
}, []);
return new Selector(db, lselect, shape, predicateProvider, maxLimit.limit + maxLimit.skip, minSkip.skip, meta.orderDescriptions, lastEmit)
return new Selector(db, lselect, shape, predicateProvider, maxLimit.limit + maxLimit.skip, minSkip.skip, meta.orderDescriptions)
.map(meta.mapFn);

@@ -221,19 +215,5 @@ };

};
Selector.prototype.getLastEmit = function () {
return this.lastEmit;
};
Selector.prototype.changes = function () {
var _this = this;
return this.mapFn(this.change$.pipe(tap_1.tap(function (result) { return _this.lastEmit = result; })));
return this.mapFn(this.change$);
};
Selector.prototype.changesWithOps = function (pk) {
var _this = this;
return this.change$.pipe(map_1.map(function (result) {
var ops = diff_1.default(_this.lastEmit || [], result, pk);
return { result: result, ops: ops };
}), tap_1.tap(function (_a) {
var result = _a.result;
return _this.lastEmit = result;
}));
};
Selector.prototype.map = function (fn) {

@@ -240,0 +220,0 @@ this.mapFn = fn;

@@ -1,2 +0,2 @@

declare const _default: "0.10.4-alpha.4-diff";
declare const _default: "0.10.4-alpha.5-diff-alpha0.10.4-alpha.5-diff-diff";
export default _default;
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.default = '0.10.4-alpha.4-diff';
exports.default = '0.10.4-alpha.5-diff-alpha0.10.4-alpha.5-diff-diff';
//# sourceMappingURL=version.js.map

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

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