@jd-data-limited/easy-fm 3.2.7 → 4.0.0

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 (102) hide show
  1. package/README.md +36 -24
  2. package/package.json +15 -8
  3. package/src/FMError.d.ts +1 -1
  4. package/src/FMError.js +7 -2
  5. package/src/FMError.ts +3 -3
  6. package/src/connection/FMHost.d.ts +3 -2
  7. package/src/connection/FMHost.js +37 -47
  8. package/src/connection/FMHost.ts +6 -6
  9. package/src/connection/HostBase.d.ts +1 -1
  10. package/src/connection/HostBase.js +1 -1
  11. package/src/connection/HostBase.ts +2 -4
  12. package/src/connection/database.d.ts +12 -9
  13. package/src/connection/database.js +93 -116
  14. package/src/connection/database.ts +79 -90
  15. package/src/connection/databaseBase.d.ts +5 -2
  16. package/src/connection/databaseBase.js +1 -1
  17. package/src/connection/databaseBase.ts +5 -4
  18. package/src/databaseStructure.d.ts +6 -0
  19. package/src/databaseStructure.js +4 -0
  20. package/src/databaseStructure.ts +12 -0
  21. package/src/index.d.ts +3 -6
  22. package/src/index.js +3 -5
  23. package/src/index.ts +4 -9
  24. package/src/layouts/layout.d.ts +5 -19
  25. package/src/layouts/layout.js +27 -69
  26. package/src/layouts/layout.ts +26 -65
  27. package/src/layouts/layoutBase.d.ts +4 -4
  28. package/src/layouts/layoutBase.js +1 -1
  29. package/src/layouts/layoutBase.ts +5 -5
  30. package/src/layouts/layoutInterface.d.ts +1 -1
  31. package/src/layouts/layoutInterface.js +1 -1
  32. package/src/layouts/layoutInterface.ts +2 -2
  33. package/src/layouts/layoutRecordManager.d.ts +5 -6
  34. package/src/layouts/layoutRecordManager.js +20 -39
  35. package/src/layouts/layoutRecordManager.ts +20 -41
  36. package/src/layouts/recordFieldsMap.d.ts +2 -2
  37. package/src/layouts/recordFieldsMap.js +1 -1
  38. package/src/layouts/recordFieldsMap.ts +3 -3
  39. package/src/models/apiResults.d.ts +103 -0
  40. package/src/models/apiResults.js +28 -0
  41. package/src/models/apiResults.ts +112 -0
  42. package/src/records/field.d.ts +3 -22
  43. package/src/records/field.js +4 -177
  44. package/src/records/field.ts +4 -187
  45. package/src/records/fieldBase.d.ts +30 -0
  46. package/src/records/fieldBase.js +154 -0
  47. package/src/records/fieldBase.ts +174 -0
  48. package/src/records/getOperations/recordGetOperation.d.ts +47 -11
  49. package/src/records/getOperations/recordGetOperation.js +144 -30
  50. package/src/records/getOperations/recordGetOperation.ts +172 -30
  51. package/src/records/layoutRecord.d.ts +8 -7
  52. package/src/records/layoutRecord.js +107 -153
  53. package/src/records/layoutRecord.ts +117 -141
  54. package/src/records/portal.d.ts +6 -5
  55. package/src/records/portal.js +4 -1
  56. package/src/records/portal.ts +7 -7
  57. package/src/records/portalBase.d.ts +5 -4
  58. package/src/records/portalBase.js +1 -1
  59. package/src/records/portalBase.ts +6 -6
  60. package/src/records/portalRecord.d.ts +6 -6
  61. package/src/records/portalRecord.js +5 -3
  62. package/src/records/portalRecord.ts +5 -5
  63. package/src/records/recordBase.d.ts +7 -12
  64. package/src/records/recordBase.js +12 -11
  65. package/src/records/recordBase.ts +10 -15
  66. package/src/types.d.ts +18 -19
  67. package/src/types.js +7 -1
  68. package/src/types.ts +20 -21
  69. package/.expo/README.md +0 -15
  70. package/.expo/settings.json +0 -8
  71. package/.idea/compiler.xml +0 -7
  72. package/.idea/copyright/JD_Data.xml +0 -6
  73. package/.idea/copyright/profiles_settings.xml +0 -7
  74. package/.idea/discord.xml +0 -7
  75. package/.idea/easy-fm.iml +0 -8
  76. package/.idea/jsLibraryMappings.xml +0 -6
  77. package/.idea/modules.xml +0 -8
  78. package/.idea/php.xml +0 -18
  79. package/.idea/vcs.xml +0 -6
  80. package/decs.d.ts +0 -7
  81. package/dist/index.min.js +0 -2
  82. package/dist/index.min.js.LICENSE.txt +0 -3
  83. package/docs/classes/FileMakerConnection.md +0 -86
  84. package/docs/classes/layout.md +0 -0
  85. package/examples/test.js +0 -7
  86. package/fmErrors.json +0 -1010
  87. package/img.png +0 -0
  88. package/src/records/getOperations/find.d.ts +0 -15
  89. package/src/records/getOperations/find.js +0 -90
  90. package/src/records/getOperations/find.ts +0 -88
  91. package/src/records/getOperations/recordGetRange.d.ts +0 -13
  92. package/src/records/getOperations/recordGetRange.js +0 -95
  93. package/src/records/getOperations/recordGetRange.ts +0 -84
  94. package/src/records/portalRecordBase.d.ts +0 -4
  95. package/src/records/portalRecordBase.js +0 -6
  96. package/test.d.ts +0 -2
  97. package/test.js +0 -30
  98. package/test.ts +0 -33
  99. package/test2.d.ts +0 -1
  100. package/test2.js +0 -15
  101. package/tsconfig.json +0 -16
  102. package/webpack.config.cjs +0 -20
package/img.png DELETED
Binary file
@@ -1,15 +0,0 @@
1
- import { RecordGetOperation } from "./recordGetOperation.js";
2
- import { LayoutRecord } from "../layoutRecord.js";
3
- import { LayoutInterface } from "../../layouts/layoutInterface";
4
- import { LayoutBase } from "../../layouts/layoutBase.js";
5
- export declare class Find<T extends LayoutInterface> extends RecordGetOperation<T> {
6
- protected queries: object[];
7
- constructor(layout: LayoutBase, start?: number, limit?: number);
8
- private toObject;
9
- addRequests(...requests: any[]): this;
10
- /**
11
- * @deprecated in favour of .fetch()
12
- */
13
- run(): Promise<LayoutRecord<T["fields"], T["portals"]>[]>;
14
- fetch(): Promise<LayoutRecord<T["fields"], T["portals"]>[]>;
15
- }
@@ -1,90 +0,0 @@
1
- /*
2
- * Copyright (c) 2023. See LICENSE file for more information
3
- */
4
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
5
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
6
- return new (P || (P = Promise))(function (resolve, reject) {
7
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
8
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
9
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
10
- step((generator = generator.apply(thisArg, _arguments || [])).next());
11
- });
12
- };
13
- import { RecordGetOperation } from "./recordGetOperation.js";
14
- import { LayoutRecord } from "../layoutRecord.js";
15
- import { FMError } from "../../FMError.js";
16
- export class Find extends RecordGetOperation {
17
- constructor(layout, start = 0, limit = 100) {
18
- super(layout);
19
- this.setOffset(start);
20
- this.setLimit(limit);
21
- this.queries = [];
22
- }
23
- toObject() {
24
- let out = { query: this.queries, sort: undefined };
25
- if (this.sort.length !== 0)
26
- out.sort = this.sort;
27
- for (let item of Object.keys(this.scripts)) {
28
- if (this.scripts[item]) {
29
- out[item] = this.scripts[item].name;
30
- if (this.scripts[item].parameter)
31
- out[item + ".param"] = this.scripts[item].parameter;
32
- }
33
- }
34
- if (this.limit !== 100)
35
- out["limit"] = this.limit;
36
- if (this.offset !== 0)
37
- out["offset"] = this.offset;
38
- if (this.limitPortals.length > 0) {
39
- out["portal"] = this.limitPortals.map(p => p.portalName);
40
- for (let item of this.limitPortals) {
41
- out["offset." + item.portalName.replace(/[^0-9A-z]/g, "")] = item.offset;
42
- out["limit." + item.portalName.replace(/[^0-9A-z]/g, "")] = item.limit;
43
- }
44
- }
45
- return out;
46
- }
47
- addRequests(...requests) {
48
- for (let item of requests)
49
- this.queries.push(item);
50
- return this;
51
- }
52
- /**
53
- * @deprecated in favour of .fetch()
54
- */
55
- run() {
56
- return this.fetch();
57
- }
58
- fetch() {
59
- let trace = new Error();
60
- return new Promise((resolve, reject) => {
61
- // console.log(this.#toObject())
62
- this.layout.getLayoutMeta()
63
- .then(() => {
64
- return this.layout.database.apiRequest(`${this.layout.endpoint}/_find`, {
65
- port: 443,
66
- method: "POST",
67
- body: JSON.stringify(this.toObject())
68
- });
69
- })
70
- .then((res) => __awaiter(this, void 0, void 0, function* () {
71
- // // console.log(res)
72
- if (res.messages[0].code === "0") {
73
- // console.log("RESOLVING")
74
- if (!this.layout.metadata)
75
- yield this.layout.getLayoutMeta();
76
- let data = res.response.data.map(item => {
77
- return new LayoutRecord(this.layout, item.recordId, item.modId, item.fieldData, item.portalData);
78
- });
79
- resolve(data);
80
- }
81
- else {
82
- reject(new FMError(res.messages[0].code, res.status, res, trace));
83
- }
84
- }))
85
- .catch(e => {
86
- reject(e);
87
- });
88
- });
89
- }
90
- }
@@ -1,88 +0,0 @@
1
- /*
2
- * Copyright (c) 2023. See LICENSE file for more information
3
- */
4
-
5
- import {RecordGetOperation} from "./recordGetOperation.js";
6
- import {LayoutRecord} from "../layoutRecord.js";
7
- import {LayoutInterface} from "../../layouts/layoutInterface";
8
- import {LayoutBase} from "../../layouts/layoutBase.js";
9
- import {FMError} from "../../FMError.js";
10
-
11
- export class Find<T extends LayoutInterface> extends RecordGetOperation<T> {
12
- protected queries: object[]
13
-
14
- constructor(layout: LayoutBase, start = 0, limit = 100) {
15
- super(layout)
16
- this.setOffset(start)
17
- this.setLimit(limit)
18
- this.queries = []
19
- }
20
-
21
- private toObject() {
22
- let out = {query: this.queries, sort: undefined}
23
- if (this.sort.length !== 0) out.sort = this.sort
24
-
25
- for (let item of Object.keys(this.scripts)) {
26
- if (this.scripts[item]) {
27
- out[item] = this.scripts[item].name
28
- if (this.scripts[item].parameter) out[item + ".param"] = this.scripts[item].parameter
29
- }
30
- }
31
-
32
- if (this.limit !== 100) out["limit"] = this.limit
33
- if (this.offset !== 0) out["offset"] = this.offset
34
- if (this.limitPortals.length > 0) {
35
- out["portal"] = this.limitPortals.map(p => p.portalName)
36
- for (let item of this.limitPortals) {
37
- out["offset." + item.portalName.replace(/[^0-9A-z]/g, "")] = item.offset
38
- out["limit." + item.portalName.replace(/[^0-9A-z]/g, "")] = item.limit
39
- }
40
- }
41
-
42
- return out
43
- }
44
-
45
- addRequests(...requests) {
46
- for (let item of requests) this.queries.push(item)
47
- return this
48
- }
49
-
50
- /**
51
- * @deprecated in favour of .fetch()
52
- */
53
- run() {
54
- return this.fetch()
55
- }
56
-
57
- fetch(): Promise<LayoutRecord<T["fields"], T["portals"]>[]> {
58
- let trace = new Error()
59
- return new Promise((resolve, reject) => {
60
- // console.log(this.#toObject())
61
- this.layout.getLayoutMeta()
62
- .then(() => {
63
- return this.layout.database.apiRequest(`${this.layout.endpoint}/_find`, {
64
- port: 443,
65
- method: "POST",
66
- body: JSON.stringify(this.toObject())
67
- })
68
- })
69
- .then(async res => {
70
- // // console.log(res)
71
- if (res.messages[0].code === "0") {
72
- // console.log("RESOLVING")
73
- if (!this.layout.metadata) await this.layout.getLayoutMeta()
74
- let data = res.response.data.map(item => {
75
- return new LayoutRecord(this.layout, item.recordId, item.modId, item.fieldData, item.portalData)
76
- })
77
- resolve(data)
78
- }
79
- else {
80
- reject(new FMError(res.messages[0].code, res.status, res, trace))
81
- }
82
- })
83
- .catch(e => {
84
- reject(e)
85
- })
86
- })
87
- }
88
- }
@@ -1,13 +0,0 @@
1
- import { LayoutInterface } from "../../layouts/layoutInterface.js";
2
- import { RecordGetOperation } from "./recordGetOperation.js";
3
- import { LayoutRecord } from "../layoutRecord.js";
4
- import { extraBodyOptions } from "../../types.js";
5
- export declare class RecordGetRange<T extends LayoutInterface> extends RecordGetOperation<T> {
6
- constructor(layout: any, start?: number, limit?: number);
7
- private generateQueryParams;
8
- /**
9
- * @deprecated in favour of .fetch()
10
- */
11
- run(extraBody?: extraBodyOptions): Promise<LayoutRecord<T["fields"], T["portals"]>[]>;
12
- fetch(extraBody?: extraBodyOptions): Promise<LayoutRecord<T["fields"], T["portals"]>[]>;
13
- }
@@ -1,95 +0,0 @@
1
- /*
2
- * Copyright (c) 2023. See LICENSE file for more information
3
- */
4
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
5
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
6
- return new (P || (P = Promise))(function (resolve, reject) {
7
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
8
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
9
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
10
- step((generator = generator.apply(thisArg, _arguments || [])).next());
11
- });
12
- };
13
- import { RecordGetOperation } from "./recordGetOperation.js";
14
- import { LayoutRecord } from "../layoutRecord.js";
15
- import { FMError } from "../../FMError.js";
16
- export class RecordGetRange extends RecordGetOperation {
17
- constructor(layout, start = 0, limit = 100) {
18
- super(layout);
19
- this.setOffset(start);
20
- this.setLimit(limit);
21
- }
22
- generateQueryParams(extraBody = {}) {
23
- let params = [];
24
- if (this.limit !== 100)
25
- params.push("_limit=" + this.limit);
26
- if (this.offset !== 0)
27
- params.push("_offset=" + this.offset);
28
- if (this.sort.length > 0)
29
- params.push("_sort=" + encodeURI(JSON.stringify(this.sort)));
30
- if (this.limitPortals.length > 0) {
31
- params.push("portal=" + encodeURI(JSON.stringify(this.limitPortals.map(p => p.portalName))));
32
- for (let item of this.limitPortals) {
33
- if (item.offset !== 0)
34
- params.push("_offset." + item.portalName.replace(/[^0-9A-z]/g, "") + "=" + item.offset);
35
- if (item.limit !== 100)
36
- params.push("_limit." + item.portalName.replace(/[^0-9A-z]/g, "") + "=" + item.limit);
37
- }
38
- }
39
- if (extraBody.scripts) {
40
- if (extraBody.scripts.prerequest) {
41
- params.push("script.prerequest=" + extraBody.scripts.prerequest.name);
42
- if (extraBody.scripts.prerequest.parameter)
43
- params.push("script.prerequest.param=" + extraBody.scripts.prerequest.parameter);
44
- }
45
- if (extraBody.scripts.presort) {
46
- params.push("script.presort=" + extraBody.scripts.presort.name);
47
- if (extraBody.scripts.presort.parameter)
48
- params.push("script.presort.param=" + extraBody.scripts.presort.parameter);
49
- }
50
- if (extraBody.scripts.after) {
51
- params.push("script=" + extraBody.scripts.after.name);
52
- if (extraBody.scripts.after.parameter)
53
- params.push("script.param=" + extraBody.scripts.after.parameter);
54
- }
55
- }
56
- if (params.length === 0)
57
- return "";
58
- return "?" + params.join("&");
59
- }
60
- /**
61
- * @deprecated in favour of .fetch()
62
- */
63
- run(extraBody = {}) {
64
- return this.fetch(extraBody);
65
- }
66
- fetch(extraBody = {}) {
67
- let trace = new Error();
68
- return new Promise((resolve, reject) => {
69
- // console.log(this.#toObject())
70
- this.layout.getLayoutMeta().then(() => {
71
- return this.layout.database.apiRequest(`${this.layout.endpoint}/records${this.generateQueryParams(extraBody)}`, {
72
- method: "GET"
73
- });
74
- })
75
- .then((res) => __awaiter(this, void 0, void 0, function* () {
76
- // // console.log(res)
77
- if (res.messages[0].code === "0") {
78
- // console.log("RESOLVING")
79
- if (!this.layout.metadata)
80
- yield this.layout.getLayoutMeta();
81
- let data = res.response.data.map(item => {
82
- return new LayoutRecord(this.layout, item.recordId, item.modId, item.fieldData, item.portalData);
83
- });
84
- resolve(data);
85
- }
86
- else {
87
- reject(new FMError(res.messages[0].code, res.status, res, trace));
88
- }
89
- }))
90
- .catch(e => {
91
- reject(e);
92
- });
93
- });
94
- }
95
- }
@@ -1,84 +0,0 @@
1
- /*
2
- * Copyright (c) 2023. See LICENSE file for more information
3
- */
4
-
5
- import {LayoutInterface} from "../../layouts/layoutInterface.js";
6
- import {RecordGetOperation} from "./recordGetOperation.js";
7
- import {LayoutRecord} from "../layoutRecord.js";
8
- import {extraBodyOptions} from "../../types.js";
9
- import {FMError} from "../../FMError.js";
10
-
11
- export class RecordGetRange<T extends LayoutInterface> extends RecordGetOperation<T> {
12
- constructor(layout, start = 0, limit = 100) {
13
- super(layout)
14
- this.setOffset(start)
15
- this.setLimit(limit)
16
- }
17
-
18
- private generateQueryParams(extraBody: extraBodyOptions = {}) {
19
- let params = []
20
- if (this.limit !== 100) params.push("_limit=" + this.limit)
21
- if (this.offset !== 0) params.push("_offset=" + this.offset)
22
- if (this.sort.length > 0) params.push("_sort=" + encodeURI(JSON.stringify(this.sort)))
23
- if (this.limitPortals.length > 0) {
24
- params.push("portal=" + encodeURI(JSON.stringify(this.limitPortals.map(p => p.portalName))))
25
- for (let item of this.limitPortals) {
26
- if (item.offset !== 0) params.push("_offset." + item.portalName.replace(/[^0-9A-z]/g, "") + "=" + item.offset)
27
- if (item.limit !== 100) params.push("_limit." + item.portalName.replace(/[^0-9A-z]/g, "") + "=" + item.limit)
28
- }
29
- }
30
- if (extraBody.scripts) {
31
- if (extraBody.scripts.prerequest) {
32
- params.push("script.prerequest=" + extraBody.scripts.prerequest.name)
33
- if (extraBody.scripts.prerequest.parameter) params.push("script.prerequest.param=" + extraBody.scripts.prerequest.parameter)
34
- }
35
- if (extraBody.scripts.presort) {
36
- params.push("script.presort=" + extraBody.scripts.presort.name)
37
- if (extraBody.scripts.presort.parameter) params.push("script.presort.param=" + extraBody.scripts.presort.parameter)
38
- }
39
- if (extraBody.scripts.after) {
40
- params.push("script=" + extraBody.scripts.after.name)
41
- if (extraBody.scripts.after.parameter) params.push("script.param=" + extraBody.scripts.after.parameter)
42
- }
43
- }
44
-
45
- if (params.length === 0) return ""
46
- return "?" + params.join("&")
47
- }
48
-
49
- /**
50
- * @deprecated in favour of .fetch()
51
- */
52
- run(extraBody: extraBodyOptions = {}): Promise<LayoutRecord<T["fields"], T["portals"]>[]> {
53
- return this.fetch(extraBody)
54
- }
55
-
56
- fetch(extraBody: extraBodyOptions = {}): Promise<LayoutRecord<T["fields"], T["portals"]>[]> {
57
- let trace = new Error()
58
- return new Promise((resolve, reject) => {
59
- // console.log(this.#toObject())
60
- this.layout.getLayoutMeta().then(() => {
61
- return this.layout.database.apiRequest(`${this.layout.endpoint}/records${this.generateQueryParams(extraBody)}`, {
62
- method: "GET"
63
- })
64
- })
65
- .then(async res => {
66
- // // console.log(res)
67
- if (res.messages[0].code === "0") {
68
- // console.log("RESOLVING")
69
- if (!this.layout.metadata) await this.layout.getLayoutMeta()
70
- let data = res.response.data.map(item => {
71
- return new LayoutRecord(this.layout, item.recordId, item.modId, item.fieldData, item.portalData)
72
- })
73
- resolve(data)
74
- }
75
- else {
76
- reject(new FMError(res.messages[0].code, res.status, res, trace))
77
- }
78
- })
79
- .catch(e => {
80
- reject(e)
81
- })
82
- })
83
- }
84
- }
@@ -1,4 +0,0 @@
1
- import { RecordBase } from "./recordBase";
2
- import { RecordFieldsMap } from "../layouts/recordFieldsMap";
3
- export declare class PortalRecordBase<T extends RecordFieldsMap> extends RecordBase<T> {
4
- }
@@ -1,6 +0,0 @@
1
- /*
2
- * Copyright (c) 2023. See LICENSE file for more information
3
- */
4
- import { RecordBase } from "./recordBase";
5
- export class PortalRecordBase extends RecordBase {
6
- }
package/test.d.ts DELETED
@@ -1,2 +0,0 @@
1
- import FMHost from "./src/index.js";
2
- export default FMHost;
package/test.js DELETED
@@ -1,30 +0,0 @@
1
- /*
2
- * Copyright (c) 2023. See LICENSE file for more information
3
- */
4
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
5
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
6
- return new (P || (P = Promise))(function (resolve, reject) {
7
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
8
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
9
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
10
- step((generator = generator.apply(thisArg, _arguments || [])).next());
11
- });
12
- };
13
- import FMHost from "./src/index.js";
14
- export default FMHost;
15
- const host = new FMHost("https://lab.farmmedix.com");
16
- const database = host.database({
17
- database: "Snapshot_2.fmp12",
18
- credentials: {
19
- method: "filemaker",
20
- username: "Developer",
21
- password: "1df e53 0tx"
22
- },
23
- externalSources: []
24
- });
25
- database.login()
26
- .then(() => __awaiter(void 0, void 0, void 0, function* () {
27
- const layout = database.getLayout("RoleInfo");
28
- const records = yield layout.records.range().fetch();
29
- console.log(records[0]);
30
- }));
package/test.ts DELETED
@@ -1,33 +0,0 @@
1
- /*
2
- * Copyright (c) 2023. See LICENSE file for more information
3
- */
4
-
5
- import FMHost, {Field, Layout} from "./src/index.js";
6
- export default FMHost
7
-
8
- const host = new FMHost("https://lab.farmmedix.com")
9
- const database = host.database<{
10
- layouts: {
11
- RoleInfo: {
12
- fields: {
13
- field1: Field<string>
14
- },
15
- portals: {}
16
- }
17
- }
18
- }>({
19
- database: "Snapshot_2.fmp12",
20
- credentials: {
21
- method: "filemaker",
22
- username: "Developer",
23
- password: "1df e53 0tx"
24
- },
25
- externalSources: []
26
- })
27
-
28
- database.login()
29
- .then(async () => {
30
- const layout = database.getLayout("RoleInfo")
31
- const records = await layout.records.range().fetch()
32
- console.log(records[0])
33
- })
package/test2.d.ts DELETED
@@ -1 +0,0 @@
1
- export {};
package/test2.js DELETED
@@ -1,15 +0,0 @@
1
- /*
2
- * Copyright (c) 2023. See LICENSE file for more information
3
- */
4
- import FMHost from "./src";
5
- const host = new FMHost("https://lab.farmmedix.com");
6
- const database = host.database({
7
- database: "test.fmp12",
8
- credentials: {
9
- method: "filemaker",
10
- username: "123",
11
- password: "123"
12
- },
13
- externalSources: [],
14
- });
15
- const layout = database.getLayout("MyLayout");
package/tsconfig.json DELETED
@@ -1,16 +0,0 @@
1
- {
2
- "compilerOptions": {
3
- "target": "es2015",
4
- "module": "es2022",
5
- "lib": ["es2021.intl", "es2015"],
6
- "moduleResolution": "Node",
7
- "declaration": true
8
- },
9
- "exclude": [
10
- "node_modules"
11
- ],
12
- "files": [
13
- "src/index.ts",
14
- "test.ts",
15
- ]
16
- }
@@ -1,20 +0,0 @@
1
- /*
2
- * Copyright (c) 2023. See LICENSE file for more information
3
- */
4
-
5
- const path = require("path")
6
-
7
- module.exports = {
8
- entry: "./dist/index.js",
9
- output: {
10
- filename: "index.min.js",
11
- path: path.resolve(__dirname, "dist"),
12
- library: "EasyFM",
13
- libraryExport: "default",
14
- libraryTarget: "umd"
15
- },
16
- target: "web",
17
- externals: {
18
- "node-fetch": "fetch"
19
- }
20
- }