@jd-data-limited/easy-fm 4.0.4 → 4.0.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (53) hide show
  1. package/package.json +7 -2
  2. package/src/FMError.d.ts +0 -1
  3. package/src/FMError.js +0 -1
  4. package/src/FMError.ts +0 -1
  5. package/src/bin/cli.d.ts +2 -0
  6. package/src/bin/cli.js +19 -0
  7. package/src/bin/cli.ts +22 -0
  8. package/src/bin/example.xml +0 -0
  9. package/src/bin/generateTypes.d.ts +1 -0
  10. package/src/bin/generateTypes.js +250 -0
  11. package/src/bin/generateTypes.ts +186 -0
  12. package/src/connection/FMHost.js +12 -3
  13. package/src/connection/FMHost.ts +12 -3
  14. package/src/connection/database.d.ts +2 -1
  15. package/src/connection/database.js +10 -6
  16. package/src/connection/database.ts +11 -7
  17. package/src/connection/databaseBase.d.ts +2 -1
  18. package/src/connection/databaseBase.ts +2 -1
  19. package/src/index.d.ts +2 -1
  20. package/src/index.js +2 -1
  21. package/src/index.ts +4 -1
  22. package/src/layouts/layout.d.ts +1 -1
  23. package/src/layouts/layout.js +9 -5
  24. package/src/layouts/layout.ts +7 -5
  25. package/src/layouts/layoutRecordManager.js +3 -3
  26. package/src/layouts/layoutRecordManager.ts +3 -3
  27. package/src/models/apiResults.d.ts +1 -1
  28. package/src/models/apiResults.ts +1 -1
  29. package/src/records/fieldBase.js +3 -1
  30. package/src/records/fieldBase.ts +2 -1
  31. package/src/records/getOperations/recordGetOperation.d.ts +2 -1
  32. package/src/records/getOperations/recordGetOperation.js +33 -26
  33. package/src/records/getOperations/recordGetOperation.ts +39 -33
  34. package/src/records/layoutRecord.d.ts +3 -2
  35. package/src/records/layoutRecord.js +58 -18
  36. package/src/records/layoutRecord.ts +61 -19
  37. package/src/records/portal.d.ts +1 -1
  38. package/src/records/portal.js +3 -3
  39. package/src/records/portal.ts +3 -3
  40. package/src/records/portalRecord.d.ts +3 -2
  41. package/src/records/portalRecord.js +2 -4
  42. package/src/records/portalRecord.ts +7 -11
  43. package/src/records/recordBase.d.ts +3 -4
  44. package/src/records/recordBase.js +3 -32
  45. package/src/records/recordBase.ts +5 -37
  46. package/src/utils/fmQuery.d.ts +4 -0
  47. package/src/utils/fmQuery.js +20 -0
  48. package/src/utils/query.d.ts +4 -0
  49. package/src/utils/query.js +20 -0
  50. package/src/utils/query.ts +25 -0
  51. package/src/records/field.d.ts +0 -5
  52. package/src/records/field.js +0 -7
  53. package/src/records/field.ts +0 -10
@@ -0,0 +1,25 @@
1
+ /*
2
+ * Copyright (c) 2024. See LICENSE file for more information
3
+ */
4
+
5
+ const SPECIAL_CHARACTERS = ["\\", "=", "<", "≤", "≥", ">", "…", "...", "//", "@", "#", "*", "\"", "~"]
6
+ type QueryParameter = string | number | Date
7
+
8
+ export function queryEscape(str: string) {
9
+ for (let char of SPECIAL_CHARACTERS) {
10
+ str = str.replace(char, `\\${char}`)
11
+ }
12
+ return str
13
+ }
14
+
15
+ export function query(strings: TemplateStringsArray, ...args: QueryParameter[]) {
16
+ let argStrings = args.map(item => {
17
+ return queryEscape(item.toString())
18
+ })
19
+
20
+ // Zip the parameters together
21
+ const query = strings.map((str, index) => {
22
+ return str + (argStrings[index] || '')
23
+ })
24
+ return query.join("")
25
+ }
@@ -1,5 +0,0 @@
1
- import { RecordBase } from "./recordBase.js";
2
- import { FieldBase, FieldValue } from "./fieldBase.js";
3
- export declare class Field<T extends FieldValue> extends FieldBase<T> {
4
- record: RecordBase<any>;
5
- }
@@ -1,7 +0,0 @@
1
- /*
2
- * Copyright (c) 2024. See LICENSE file for more information
3
- */
4
- import { FieldBase } from "./fieldBase.js";
5
- export class Field extends FieldBase {
6
- record;
7
- }
@@ -1,10 +0,0 @@
1
- /*
2
- * Copyright (c) 2024. See LICENSE file for more information
3
- */
4
-
5
- import {RecordBase} from "./recordBase.js";
6
- import {FieldBase, FieldValue} from "./fieldBase.js";
7
-
8
- export class Field<T extends FieldValue> extends FieldBase<T> {
9
- record: RecordBase<any>;
10
- }