ngx-bit
Version:
A flexible NG-ZORRO helper library
65 lines • 7.82 kB
JavaScript
import { Injectable } from '@angular/core';
import { BitHttpService } from './bit-http.service';
import { BitConfig } from './bit-config';
import * as i0 from "@angular/core";
import * as i1 from "./bit-config";
import * as i2 from "./bit-http.service";
export class BitCurdService {
constructor(bitConfig, http) {
this.http = http;
this.mode = bitConfig.query;
this.curd = bitConfig.curd;
}
/**
* 获取查询语句
* Get query statement
*/
getQuerySchema(options) {
switch (this.mode) {
case 'sql-orm':
return this.common(options);
}
}
/**
* mode: sql-orm
* php: Laravel ORM(Laravel,Lumen,Hyperf), ThinkPHP ORM
* - https://github.com/kainonly/think-bit
* - https://github.com/kainonly/hyperf-curd
* golang: https://github.com/kainonly/gin-curd
*/
common(options) {
const schema = [];
for (const search of options) {
if (search.value !== null &&
typeof search.value === 'object' &&
Object.keys(search.value).length === 0) {
continue;
}
if (typeof search.value === 'string') {
search.value = search.value.trim();
}
const exclude = search.exclude ? search.exclude : ['', 0, null];
if (!exclude.includes(search.value)) {
let value = search.value;
if (search.op === 'like') {
value = `%${value}%`;
}
if (search.format !== undefined && search.format === 'unixtime') {
value = Array.isArray(value) ?
value.map(v => Math.trunc(v.getTime() / 1000)) : Math.trunc(value.getTime() / 1000);
}
schema.push([search.field, search.op, value]);
}
}
return schema;
}
}
BitCurdService.ɵprov = i0.ɵɵdefineInjectable({ factory: function BitCurdService_Factory() { return new BitCurdService(i0.ɵɵinject(i1.BitConfig), i0.ɵɵinject(i2.BitHttpService)); }, token: BitCurdService, providedIn: "root" });
BitCurdService.decorators = [
{ type: Injectable, args: [{ providedIn: 'root' },] }
];
BitCurdService.ctorParameters = () => [
{ type: BitConfig },
{ type: BitHttpService }
];
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYml0LWN1cmQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1iaXQvY29tbW9uL2JpdC1jdXJkLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDcEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7OztBQUd6QyxNQUFNLE9BQU8sY0FBYztJQVl6QixZQUNFLFNBQW9CLEVBQ1YsSUFBb0I7UUFBcEIsU0FBSSxHQUFKLElBQUksQ0FBZ0I7UUFFOUIsSUFBSSxDQUFDLElBQUksR0FBRyxTQUFTLENBQUMsS0FBSyxDQUFDO1FBQzVCLElBQUksQ0FBQyxJQUFJLEdBQUcsU0FBUyxDQUFDLElBQUksQ0FBQztJQUM3QixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsY0FBYyxDQUFDLE9BQXVCO1FBQ3BDLFFBQVEsSUFBSSxDQUFDLElBQUksRUFBRTtZQUNqQixLQUFLLFNBQVM7Z0JBQ1osT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQy9CO0lBQ0gsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNPLE1BQU0sQ0FBQyxPQUF1QjtRQUN0QyxNQUFNLE1BQU0sR0FBRyxFQUFFLENBQUM7UUFDbEIsS0FBSyxNQUFNLE1BQU0sSUFBSSxPQUFPLEVBQUU7WUFDNUIsSUFDRSxNQUFNLENBQUMsS0FBSyxLQUFLLElBQUk7Z0JBQ3JCLE9BQU8sTUFBTSxDQUFDLEtBQUssS0FBSyxRQUFRO2dCQUNoQyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUN0QztnQkFDQSxTQUFTO2FBQ1Y7WUFDRCxJQUFJLE9BQU8sTUFBTSxDQUFDLEtBQUssS0FBSyxRQUFRLEVBQUU7Z0JBQ3BDLE1BQU0sQ0FBQyxLQUFLLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQzthQUNwQztZQUNELE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztZQUNoRSxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQ25DLElBQUksS0FBSyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUM7Z0JBQ3pCLElBQUksTUFBTSxDQUFDLEVBQUUsS0FBSyxNQUFNLEVBQUU7b0JBQ3hCLEtBQUssR0FBRyxJQUFJLEtBQUssR0FBRyxDQUFDO2lCQUN0QjtnQkFDRCxJQUFJLE1BQU0sQ0FBQyxNQUFNLEtBQUssU0FBUyxJQUFJLE1BQU0sQ0FBQyxNQUFNLEtBQUssVUFBVSxFQUFFO29CQUMvRCxLQUFLLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO3dCQUM1QixLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUM7aUJBQ3ZGO2dCQUNELE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQzthQUMvQztTQUNGO1FBQ0QsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQzs7OztZQWxFRixVQUFVLFNBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFOzs7WUFGekIsU0FBUztZQURULGNBQWMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEN1cmRPcHRpb24sIFF1ZXJ5TW9kZSwgU2VhcmNoT3B0aW9uIH0gZnJvbSAnLi90eXBlcyc7XHJcbmltcG9ydCB7IEJpdEh0dHBTZXJ2aWNlIH0gZnJvbSAnLi9iaXQtaHR0cC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQml0Q29uZmlnIH0gZnJvbSAnLi9iaXQtY29uZmlnJztcclxuXHJcbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXHJcbmV4cG9ydCBjbGFzcyBCaXRDdXJkU2VydmljZSB7XHJcbiAgLyoqXHJcbiAgICog5p+l6K+i5qih5byPXHJcbiAgICogUXVlcnkgbW9kZVxyXG4gICAqL1xyXG4gIHJlYWRvbmx5IG1vZGU6IFF1ZXJ5TW9kZTtcclxuICAvKipcclxuICAgKiDpgJrnlKjmjqXlj6PlrprkuYlcclxuICAgKiBHZW5lcmFsIGludGVyZmFjZSBkZWZpbml0aW9uXHJcbiAgICovXHJcbiAgcHJvdGVjdGVkIGN1cmQ6IEN1cmRPcHRpb247XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgYml0Q29uZmlnOiBCaXRDb25maWcsXHJcbiAgICBwcm90ZWN0ZWQgaHR0cDogQml0SHR0cFNlcnZpY2VcclxuICApIHtcclxuICAgIHRoaXMubW9kZSA9IGJpdENvbmZpZy5xdWVyeTtcclxuICAgIHRoaXMuY3VyZCA9IGJpdENvbmZpZy5jdXJkO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICog6I635Y+W5p+l6K+i6K+t5Y+lXHJcbiAgICogR2V0IHF1ZXJ5IHN0YXRlbWVudFxyXG4gICAqL1xyXG4gIGdldFF1ZXJ5U2NoZW1hKG9wdGlvbnM6IFNlYXJjaE9wdGlvbltdKTogYW55W10ge1xyXG4gICAgc3dpdGNoICh0aGlzLm1vZGUpIHtcclxuICAgICAgY2FzZSAnc3FsLW9ybSc6XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuY29tbW9uKG9wdGlvbnMpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogbW9kZTogc3FsLW9ybVxyXG4gICAqIHBocDogTGFyYXZlbCBPUk0oTGFyYXZlbCxMdW1lbixIeXBlcmYpLCBUaGlua1BIUCBPUk1cclxuICAgKiAgLSBodHRwczovL2dpdGh1Yi5jb20va2Fpbm9ubHkvdGhpbmstYml0XHJcbiAgICogIC0gaHR0cHM6Ly9naXRodWIuY29tL2thaW5vbmx5L2h5cGVyZi1jdXJkXHJcbiAgICogZ29sYW5nOiBodHRwczovL2dpdGh1Yi5jb20va2Fpbm9ubHkvZ2luLWN1cmRcclxuICAgKi9cclxuICBwcm90ZWN0ZWQgY29tbW9uKG9wdGlvbnM6IFNlYXJjaE9wdGlvbltdKTogYW55W10ge1xyXG4gICAgY29uc3Qgc2NoZW1hID0gW107XHJcbiAgICBmb3IgKGNvbnN0IHNlYXJjaCBvZiBvcHRpb25zKSB7XHJcbiAgICAgIGlmIChcclxuICAgICAgICBzZWFyY2gudmFsdWUgIT09IG51bGwgJiZcclxuICAgICAgICB0eXBlb2Ygc2VhcmNoLnZhbHVlID09PSAnb2JqZWN0JyAmJlxyXG4gICAgICAgIE9iamVjdC5rZXlzKHNlYXJjaC52YWx1ZSkubGVuZ3RoID09PSAwXHJcbiAgICAgICkge1xyXG4gICAgICAgIGNvbnRpbnVlO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICh0eXBlb2Ygc2VhcmNoLnZhbHVlID09PSAnc3RyaW5nJykge1xyXG4gICAgICAgIHNlYXJjaC52YWx1ZSA9IHNlYXJjaC52YWx1ZS50cmltKCk7XHJcbiAgICAgIH1cclxuICAgICAgY29uc3QgZXhjbHVkZSA9IHNlYXJjaC5leGNsdWRlID8gc2VhcmNoLmV4Y2x1ZGUgOiBbJycsIDAsIG51bGxdO1xyXG4gICAgICBpZiAoIWV4Y2x1ZGUuaW5jbHVkZXMoc2VhcmNoLnZhbHVlKSkge1xyXG4gICAgICAgIGxldCB2YWx1ZSA9IHNlYXJjaC52YWx1ZTtcclxuICAgICAgICBpZiAoc2VhcmNoLm9wID09PSAnbGlrZScpIHtcclxuICAgICAgICAgIHZhbHVlID0gYCUke3ZhbHVlfSVgO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoc2VhcmNoLmZvcm1hdCAhPT0gdW5kZWZpbmVkICYmIHNlYXJjaC5mb3JtYXQgPT09ICd1bml4dGltZScpIHtcclxuICAgICAgICAgIHZhbHVlID0gQXJyYXkuaXNBcnJheSh2YWx1ZSkgP1xyXG4gICAgICAgICAgICB2YWx1ZS5tYXAodiA9PiBNYXRoLnRydW5jKHYuZ2V0VGltZSgpIC8gMTAwMCkpIDogTWF0aC50cnVuYyh2YWx1ZS5nZXRUaW1lKCkgLyAxMDAwKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgc2NoZW1hLnB1c2goW3NlYXJjaC5maWVsZCwgc2VhcmNoLm9wLCB2YWx1ZV0pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gc2NoZW1hO1xyXG4gIH1cclxufVxyXG4iXX0=