Compare commits

...

9 Commits

Author SHA1 Message Date
Jovan Krunić
5241a01b55 0.66.0 2022-05-11 13:54:52 +02:00
484be6a890 feat: add geo filter envelope support 2022-04-28 09:50:44 +02:00
Rainer Killinger
45e0f26391 docs: update changelog 2022-04-04 20:56:06 +02:00
Rainer Killinger
ead47aca19 0.65.1 2022-04-04 20:56:04 +02:00
Rainer Killinger
f9c2414000 docs: adjust typedoc option 'entryPointStrategy' 2022-04-04 20:55:16 +02:00
Rainer Killinger
523de51160 docs: update changelog 2022-04-04 20:47:21 +02:00
Rainer Killinger
d912c03eb0 0.65.0 2022-04-04 20:47:19 +02:00
Rainer Killinger
a638f5447b refactor: update dependencies 2022-04-04 20:42:01 +02:00
Rainer Killinger
cecf95aa46 docs: update changelog 2022-03-21 11:05:27 +01:00
6 changed files with 353 additions and 301 deletions

View File

@@ -1,3 +1,15 @@
## [0.65.1](https://gitlab.com/openstapps/core/compare/v0.65.0...v0.65.1) (2022-04-04)
# [0.65.0](https://gitlab.com/openstapps/core/compare/v0.64.0...v0.65.0) (2022-04-04)
# [0.64.0](https://gitlab.com/openstapps/core/compare/v0.63.0...v0.64.0) (2022-03-21)
# [0.63.0](https://gitlab.com/openstapps/core/compare/v0.62.0...v0.63.0) (2022-01-24) # [0.63.0](https://gitlab.com/openstapps/core/compare/v0.62.0...v0.63.0) (2022-01-24)

594
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -1,6 +1,6 @@
{ {
"name": "@openstapps/core", "name": "@openstapps/core",
"version": "0.64.0", "version": "0.66.0",
"description": "StAppsCore - Generalized model of data", "description": "StAppsCore - Generalized model of data",
"keywords": [ "keywords": [
"Model", "Model",
@@ -18,7 +18,7 @@
"changelog": "conventional-changelog -p angular -i CHANGELOG.md -s -r 0 && git add CHANGELOG.md && git commit -m 'docs: update changelog'", "changelog": "conventional-changelog -p angular -i CHANGELOG.md -s -r 0 && git add CHANGELOG.md && git commit -m 'docs: update changelog'",
"check-configuration": "openstapps-configuration", "check-configuration": "openstapps-configuration",
"compile": "rimraf lib && tsc", "compile": "rimraf lib && tsc",
"documentation": "typedoc --name \"@openstapps/core\" --includeVersion --out docs --readme README.md --listInvalidSymbolLinks src", "documentation": "typedoc --name \"@openstapps/core\" --includeVersion --out docs --readme README.md --listInvalidSymbolLinks --entryPointStrategy expand src",
"pack": "openstapps-core-tools pack", "pack": "openstapps-core-tools pack",
"postversion": "npm run changelog", "postversion": "npm run changelog",
"prepublishOnly": "npm ci && npm run build", "prepublishOnly": "npm ci && npm run build",
@@ -45,16 +45,16 @@
"Wieland Schöbl" "Wieland Schöbl"
], ],
"dependencies": { "dependencies": {
"@openstapps/core-tools": "0.29.0", "@openstapps/core-tools": "0.30.0",
"@types/geojson": "1.0.6", "@types/geojson": "1.0.6",
"@types/json-patch": "0.0.30", "@types/json-patch": "0.0.30",
"@types/json-schema": "7.0.10", "@types/json-schema": "7.0.11",
"@types/node": "14.18.3", "@types/node": "14.18.3",
"fast-clone": "1.5.13",
"fast-deep-equal": "3.1.3", "fast-deep-equal": "3.1.3",
"http-status-codes": "2.2.0", "http-status-codes": "2.2.0",
"json-patch": "0.7.0", "json-patch": "0.7.0",
"json-schema": "0.4.0", "json-schema": "0.4.0",
"rfdc": "1.3.0",
"ts-optchain": "0.1.8" "ts-optchain": "0.1.8"
}, },
"devDependencies": { "devDependencies": {
@@ -63,7 +63,7 @@
"@openstapps/logger": "0.8.0", "@openstapps/logger": "0.8.0",
"@testdeck/mocha": "0.2.0", "@testdeck/mocha": "0.2.0",
"@types/chai": "4.3.0", "@types/chai": "4.3.0",
"@types/lodash": "4.14.180", "@types/lodash": "4.14.181",
"@types/mocha": "9.1.0", "@types/mocha": "9.1.0",
"@types/rimraf": "3.0.2", "@types/rimraf": "3.0.2",
"chai": "4.3.6", "chai": "4.3.6",
@@ -77,7 +77,7 @@
"surge": "0.23.1", "surge": "0.23.1",
"ts-node": "10.7.0", "ts-node": "10.7.0",
"tslint": "6.1.3", "tslint": "6.1.3",
"typedoc": "0.21.6", "typedoc": "0.22.13",
"typescript": "4.3.5" "typescript": "4.3.5"
}, },
"nyc": { "nyc": {

View File

@@ -13,7 +13,7 @@
* this program. If not, see <https://www.gnu.org/licenses/>. * this program. If not, see <https://www.gnu.org/licenses/>.
*/ */
// tslint:disable-next-line:no-implicit-dependencies // tslint:disable-next-line:no-implicit-dependencies
import {Polygon} from 'geojson'; import {Polygon, Position} from 'geojson';
import {SCThingsField} from '../../../meta'; import {SCThingsField} from '../../../meta';
import {SCSearchAbstractFilter, SCSearchAbstractFilterArguments} from '../filter'; import {SCSearchAbstractFilter, SCSearchAbstractFilterArguments} from '../filter';
@@ -29,6 +29,24 @@ export interface SCGeoFilter extends SCSearchAbstractFilter<SCGeoFilterArguments
type: 'geo'; type: 'geo';
} }
/**
* A rectangular geo shape, representing the top-left and bottom-right corners
*
* This is an extension of the Geojson type
* http://geojson.org/geojson-spec.html
*/
export interface Envelope {
/**
* The top-left and bottom-right corners of the bounding box
*/
coordinates: [Position, Position];
/**
* The type of the geometry
*/
type: 'envelope';
}
/** /**
* Arguments for filter instruction by geo data * Arguments for filter instruction by geo data
*/ */
@@ -41,7 +59,7 @@ export interface SCGeoFilterArguments extends SCSearchAbstractFilterArguments {
/** /**
* Geo data to check up on * Geo data to check up on
*/ */
shape: Polygon; shape: Polygon | Envelope;
/** /**
* Spatial relation between the provided shape and the shape of the field. * Spatial relation between the provided shape and the shape of the field.

View File

@@ -12,8 +12,8 @@
* You should have received a copy of the GNU General Public License along with * You should have received a copy of the GNU General Public License along with
* this program. If not, see <https://www.gnu.org/licenses/>. * this program. If not, see <https://www.gnu.org/licenses/>.
*/ */
import clone = require('fast-clone');
import equal = require('fast-deep-equal/es6'); import equal = require('fast-deep-equal/es6');
import clone = require('rfdc');
import {Defined, TSOCType} from 'ts-optchain'; import {Defined, TSOCType} from 'ts-optchain';
import {SCLanguageCode} from './general/i18n'; import {SCLanguageCode} from './general/i18n';
import {isThing} from './guards'; import {isThing} from './guards';
@@ -234,7 +234,7 @@ export class SCThingTranslator {
return cachedInstance as T; return cachedInstance as T;
} }
} }
const translatedInstance = this.translateThingInPlaceDestructively(clone(thing)); const translatedInstance = this.translateThingInPlaceDestructively(clone()(thing));
delete translatedInstance.translations; delete translatedInstance.translations;
this.cache.putObject(translatedInstance); this.cache.putObject(translatedInstance);
this.sourceCache.putObject(thing); this.sourceCache.putObject(thing);
@@ -267,7 +267,7 @@ export class SCThingTranslator {
return this.deeptranslate((objTranslatedFromCache as any)[key]); return this.deeptranslate((objTranslatedFromCache as any)[key]);
} }
} }
const objTranslated = this.translateThingInPlaceDestructively(clone(obj)); const objTranslated = this.translateThingInPlaceDestructively(clone()(obj));
this.cache.putObject(objTranslated); this.cache.putObject(objTranslated);
this.sourceCache.putObject(thing); this.sourceCache.putObject(thing);

View File

@@ -13,7 +13,7 @@
* this program. If not, see <https://www.gnu.org/licenses/>. * this program. If not, see <https://www.gnu.org/licenses/>.
*/ */
import {expect} from 'chai'; import {expect} from 'chai';
import clone = require('fast-clone'); import clone from 'rfdc';
import {slow, suite, test, timeout} from '@testdeck/mocha'; import {slow, suite, test, timeout} from '@testdeck/mocha';
import {SCThingOriginType, SCThingType, SCThingRemoteOrigin} from '../src/things/abstract/thing'; import {SCThingOriginType, SCThingType, SCThingRemoteOrigin} from '../src/things/abstract/thing';
import {SCBuildingWithoutReferences} from '../src/things/building'; import {SCBuildingWithoutReferences} from '../src/things/building';
@@ -264,7 +264,7 @@ export class TranslationSpecInplace {
@test @test
public reaccessWithChangedSourceOmitsLRUCache() { public reaccessWithChangedSourceOmitsLRUCache() {
const translatorDE = new SCThingTranslator('de'); const translatorDE = new SCThingTranslator('de');
const dishCopy = clone(dish); const dishCopy = clone()(dish);
const translatedDish = translatorDE.translatedAccess(dish); const translatedDish = translatorDE.translatedAccess(dish);
const distructivelyTranslatedDish = translatorDE.translate(dish); const distructivelyTranslatedDish = translatorDE.translate(dish);
@@ -330,7 +330,7 @@ export class MetaTranslationSpec {
@test @test
public thingWithoutMetaClass() { public thingWithoutMetaClass() {
const dishCopy = clone(dish); const dishCopy = clone()(dish);
const typeNonExistant = eval("(x) => x + 'typeNonExistant';"); const typeNonExistant = eval("(x) => x + 'typeNonExistant';");
// this will assign a non existant SCThingType to dishCopy // this will assign a non existant SCThingType to dishCopy
dishCopy.type = typeNonExistant(); dishCopy.type = typeNonExistant();