@cloudbase/model 2.8.27-beta.0 → 2.8.28-beta.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.
- package/dist/cjs/index.d.ts +2 -0
- package/dist/cjs/index.js +25 -8
- package/dist/esm/index.d.ts +2 -0
- package/dist/esm/index.js +24 -8
- package/package.json +4 -4
- package/src/index.ts +30 -7
package/dist/cjs/index.d.ts
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
1
|
import { ICloudbase } from '@cloudbase/types';
|
|
2
|
+
declare function getEntity(cloudbase: any): import("@cloudbase/wx-cloud-client-sdk").OrmClient;
|
|
3
|
+
export declare function lazyGetEntity(cloudbase: ICloudbase): ReturnType<typeof getEntity>;
|
|
2
4
|
export declare function registerModel(app: ICloudbase): void;
|
|
3
5
|
export * from '@cloudbase/wx-cloud-client-sdk';
|
package/dist/cjs/index.js
CHANGED
|
@@ -61,8 +61,10 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
61
61
|
}
|
|
62
62
|
};
|
|
63
63
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
64
|
-
exports.registerModel = void 0;
|
|
64
|
+
exports.registerModel = exports.lazyGetEntity = void 0;
|
|
65
65
|
var wx_cloud_client_sdk_1 = require("@cloudbase/wx-cloud-client-sdk");
|
|
66
|
+
var utilities_1 = require("@cloudbase/utilities");
|
|
67
|
+
var CloudbaseEventEmitter = utilities_1.events.CloudbaseEventEmitter;
|
|
66
68
|
var COMPONENT_NAME = 'models';
|
|
67
69
|
function getEntity(cloudbase) {
|
|
68
70
|
var _this = this;
|
|
@@ -85,30 +87,45 @@ function getEntity(cloudbase) {
|
|
|
85
87
|
var entity = (0, wx_cloud_client_sdk_1.generateHTTPClient)(callFunction, fetch, baseUrl);
|
|
86
88
|
return entity;
|
|
87
89
|
}
|
|
90
|
+
var cloudbaseModelMap = new WeakMap();
|
|
88
91
|
function lazyGetEntity(cloudbase) {
|
|
89
|
-
var entity;
|
|
90
92
|
return new Proxy({}, {
|
|
91
93
|
get: function (_, prop) {
|
|
94
|
+
var entity = cloudbaseModelMap.get(cloudbase);
|
|
92
95
|
if (!entity) {
|
|
93
96
|
entity = getEntity(cloudbase);
|
|
97
|
+
cloudbaseModelMap.set(cloudbase, entity);
|
|
94
98
|
}
|
|
95
99
|
return entity[prop];
|
|
96
100
|
},
|
|
97
101
|
});
|
|
98
102
|
}
|
|
99
|
-
|
|
103
|
+
exports.lazyGetEntity = lazyGetEntity;
|
|
104
|
+
var CLOUDBASE_INIT_EVENT = 'cloudbase_init';
|
|
105
|
+
var bus = new CloudbaseEventEmitter();
|
|
106
|
+
bus.on(CLOUDBASE_INIT_EVENT, function (_a) {
|
|
107
|
+
var cloudbase = _a.data;
|
|
108
|
+
Object.assign(cloudbase, { models: lazyGetEntity(cloudbase) });
|
|
109
|
+
});
|
|
110
|
+
var component = {
|
|
100
111
|
name: COMPONENT_NAME,
|
|
101
112
|
namespace: COMPONENT_NAME,
|
|
102
|
-
entity:
|
|
103
|
-
|
|
113
|
+
entity: new Proxy({}, {
|
|
114
|
+
get: function (_, prop) {
|
|
115
|
+
console.warn("\u3010deprecated\u3011Accessing Cloudbase.prototype.models.".concat(prop, "."));
|
|
116
|
+
},
|
|
117
|
+
}),
|
|
118
|
+
injectEvents: {
|
|
119
|
+
bus: bus,
|
|
120
|
+
events: [CLOUDBASE_INIT_EVENT],
|
|
121
|
+
},
|
|
122
|
+
};
|
|
104
123
|
try {
|
|
105
|
-
var component = getComponent(cloudbase);
|
|
106
124
|
cloudbase.registerComponent(component);
|
|
107
125
|
}
|
|
108
126
|
catch (e) { }
|
|
109
127
|
function registerModel(app) {
|
|
110
128
|
try {
|
|
111
|
-
var component = getComponent(app);
|
|
112
129
|
app.registerComponent(component);
|
|
113
130
|
}
|
|
114
131
|
catch (e) {
|
|
@@ -117,4 +134,4 @@ function registerModel(app) {
|
|
|
117
134
|
}
|
|
118
135
|
exports.registerModel = registerModel;
|
|
119
136
|
__exportStar(require("@cloudbase/wx-cloud-client-sdk"), exports);
|
|
120
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
137
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVBLHNFQUFtRTtBQUNuRSxrREFBNkM7QUFFckMsSUFBQSxxQkFBcUIsR0FBSyxrQkFBTSxzQkFBWCxDQUFXO0FBTXhDLElBQU0sY0FBYyxHQUFHLFFBQVEsQ0FBQTtBQUUvQixTQUFTLFNBQVMsQ0FBQyxTQUFjO0lBQWpDLGlCQXdCQztJQXZCQyxJQUFNLFlBQVksR0FBRyxTQUFTLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQTtJQUMzRCxJQUFNLGNBQWMsR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFBO0lBQ3RFLElBQU0sS0FBSyxHQUFHLFVBQU8sWUFBMkI7Ozs7d0JBQ2xDLFdBQU0sY0FBYyx1QkFDM0IsWUFBWSxLQUNmLE9BQU8sYUFDTCxjQUFjLEVBQUUsa0JBQWtCLElBQy9CLFlBQVksQ0FBQyxPQUFPLEtBRXpCLEVBQUE7O29CQU5JLEdBQUcsR0FBRyxTQU1WO29CQUVLLFdBQU0sR0FBRyxDQUFDLElBQUksRUFBQTt3QkFBckIsV0FBTyxTQUFjLEVBQUE7OztTQUN0QixDQUFBO0lBRUssSUFBQSxLQUF5QixTQUFTLENBQUMsa0JBQWtCLENBQUMsU0FBUyxDQUdwRSxFQUhPLFFBQVEsY0FBQSxFQUFFLFFBQVEsY0FHekIsQ0FBQTtJQUNELElBQU0sT0FBTyxHQUFHLFVBQUcsUUFBUSxTQUFHLFFBQVEsV0FBUSxDQUFBO0lBRTlDLElBQU0sTUFBTSxHQUFHLElBQUEsd0NBQWtCLEVBQUMsWUFBWSxFQUFFLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQTtJQUUvRCxPQUFPLE1BQU0sQ0FBQTtBQUNmLENBQUM7QUFFRCxJQUFNLGlCQUFpQixHQUFHLElBQUksT0FBTyxFQUFFLENBQUE7QUFPdkMsU0FBZ0IsYUFBYSxDQUFDLFNBQXFCO0lBQ2pELE9BQU8sSUFBSSxLQUFLLENBQ2QsRUFBRSxFQUNGO1FBQ0UsR0FBRyxFQUFFLFVBQUMsQ0FBQyxFQUFFLElBQVk7WUFDbkIsSUFBSSxNQUFNLEdBQUcsaUJBQWlCLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFBO1lBQzdDLElBQUksQ0FBQyxNQUFNLEVBQUU7Z0JBQ1gsTUFBTSxHQUFHLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQTtnQkFDN0IsaUJBQWlCLENBQUMsR0FBRyxDQUFDLFNBQVMsRUFBRSxNQUFNLENBQUMsQ0FBQTthQUN6QztZQUNELE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFBO1FBQ3JCLENBQUM7S0FDRixDQUNGLENBQUE7QUFDSCxDQUFDO0FBZEQsc0NBY0M7QUFFRCxJQUFNLG9CQUFvQixHQUFHLGdCQUFnQixDQUFBO0FBRTdDLElBQU0sR0FBRyxHQUFHLElBQUkscUJBQXFCLEVBQUUsQ0FBQTtBQUV2QyxHQUFHLENBQUMsRUFBRSxDQUFDLG9CQUFvQixFQUFFLFVBQUMsRUFBeUM7UUFBakMsU0FBUyxVQUFBO0lBQzdDLE1BQU0sQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFLEVBQUUsTUFBTSxFQUFFLGFBQWEsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUE7QUFDaEUsQ0FBQyxDQUFDLENBQUE7QUFFRixJQUFNLFNBQVMsR0FBd0I7SUFDckMsSUFBSSxFQUFFLGNBQWM7SUFDcEIsU0FBUyxFQUFFLGNBQWM7SUFDekIsTUFBTSxFQUFFLElBQUksS0FBSyxDQUNmLEVBQUUsRUFDRjtRQUNFLEdBQUcsRUFBRSxVQUFDLENBQUMsRUFBRSxJQUFZO1lBQ25CLE9BQU8sQ0FBQyxJQUFJLENBQUMscUVBQW9ELElBQUksTUFBRyxDQUFDLENBQUE7UUFDM0UsQ0FBQztLQUNGLENBQ0Y7SUFDRCxZQUFZLEVBQUU7UUFDWixHQUFHLEtBQUE7UUFDSCxNQUFNLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQztLQUMvQjtDQUNGLENBQUE7QUFFRCxJQUFJO0lBQ0YsU0FBUyxDQUFDLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxDQUFBO0NBQ3ZDO0FBQUMsT0FBTyxDQUFDLEVBQUUsR0FBRztBQUVmLFNBQWdCLGFBQWEsQ0FBQyxHQUFlO0lBQzNDLElBQUk7UUFDRixHQUFHLENBQUMsaUJBQWlCLENBQUMsU0FBUyxDQUFDLENBQUE7S0FDakM7SUFBQyxPQUFPLENBQUMsRUFBRTtRQUNWLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUE7S0FDaEI7QUFDSCxDQUFDO0FBTkQsc0NBTUM7QUFFRCxpRUFBOEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJQ2xvdWRiYXNlIH0gZnJvbSAnQGNsb3VkYmFzZS90eXBlcydcbmltcG9ydCB7IElDbG91ZGJhc2VDb21wb25lbnQgfSBmcm9tICdAY2xvdWRiYXNlL3R5cGVzL2NvbXBvbmVudCdcbmltcG9ydCB7IGdlbmVyYXRlSFRUUENsaWVudCB9IGZyb20gJ0BjbG91ZGJhc2Uvd3gtY2xvdWQtY2xpZW50LXNkaydcbmltcG9ydCB7IGV2ZW50cyB9IGZyb20gJ0BjbG91ZGJhc2UvdXRpbGl0aWVzJ1xuXG5jb25zdCB7IENsb3VkYmFzZUV2ZW50RW1pdHRlciB9ID0gZXZlbnRzXG5cbmRlY2xhcmUgY29uc3QgY2xvdWRiYXNlOiBJQ2xvdWRiYXNlXG5cbnR5cGUgSUZldGNoT3B0aW9ucyA9IFBhcmFtZXRlcnM8SUNsb3VkYmFzZVsncmVxdWVzdCddWydmZXRjaCddPlswXVxuXG5jb25zdCBDT01QT05FTlRfTkFNRSA9ICdtb2RlbHMnXG5cbmZ1bmN0aW9uIGdldEVudGl0eShjbG91ZGJhc2U6IGFueSkge1xuICBjb25zdCBjYWxsRnVuY3Rpb24gPSBjbG91ZGJhc2UuY2FsbEZ1bmN0aW9uLmJpbmQoY2xvdWRiYXNlKVxuICBjb25zdCBjbG91ZGJhc2VGZXRjaCA9IGNsb3VkYmFzZS5yZXF1ZXN0LmZldGNoLmJpbmQoY2xvdWRiYXNlLnJlcXVlc3QpXG4gIGNvbnN0IGZldGNoID0gYXN5bmMgKGZldGNoT3B0aW9uczogSUZldGNoT3B0aW9ucykgPT4ge1xuICAgIGNvbnN0IHJlcyA9IGF3YWl0IGNsb3VkYmFzZUZldGNoKHtcbiAgICAgIC4uLmZldGNoT3B0aW9ucyxcbiAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyxcbiAgICAgICAgLi4uZmV0Y2hPcHRpb25zLmhlYWRlcnMsXG4gICAgICB9LFxuICAgIH0pXG5cbiAgICByZXR1cm4gYXdhaXQgcmVzLmRhdGFcbiAgfVxuXG4gIGNvbnN0IHsgQkFTRV9VUkwsIFBST1RPQ09MIH0gPSBjbG91ZGJhc2UuZ2V0RW5kUG9pbnRXaXRoS2V5KCdHQVRFV0FZJykgYXMge1xuICAgIEJBU0VfVVJMOiBzdHJpbmdcbiAgICBQUk9UT0NPTDogc3RyaW5nXG4gIH1cbiAgY29uc3QgYmFzZVVybCA9IGAke1BST1RPQ09MfSR7QkFTRV9VUkx9L21vZGVsYFxuXG4gIGNvbnN0IGVudGl0eSA9IGdlbmVyYXRlSFRUUENsaWVudChjYWxsRnVuY3Rpb24sIGZldGNoLCBiYXNlVXJsKVxuXG4gIHJldHVybiBlbnRpdHlcbn1cblxuY29uc3QgY2xvdWRiYXNlTW9kZWxNYXAgPSBuZXcgV2Vha01hcCgpXG5cbi8qKlxuICog5Yib5bu6IG1vZGVscyBlbnRpdHkg5pe277yM6ZyA6KaBIGJhc2VVcmzjgIFmZXRjaO+8jOiAjOi/meS4pOS4quWPguaVsOmDvemcgOimgeWcqCBjbG91ZGJhc2UuaW5pdCDkuYvlkI7miY3og73ojrflj5bjgIJcbiAqIOWboOatpOmcgOimgeWcqCBjbG91ZGJhc2UuaW5pdCDkuYvlkI7miafooYzjgIJcbiAqIOatpOWHveaVsOWwhuWIm+W7uiBlbnRpdHkg55qE5q2l6aqk5bu25ZCO5Yiw56ys5LiA5qyh6K+75Y+WIG1vZGVscyDkuIrnmoTlsZ7mgKfml7bmiafooYzjgIJcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGxhenlHZXRFbnRpdHkoY2xvdWRiYXNlOiBJQ2xvdWRiYXNlKTogUmV0dXJuVHlwZTx0eXBlb2YgZ2V0RW50aXR5PiB7XG4gIHJldHVybiBuZXcgUHJveHkoXG4gICAge30sXG4gICAge1xuICAgICAgZ2V0OiAoXywgcHJvcDogc3RyaW5nKSA9PiB7XG4gICAgICAgIGxldCBlbnRpdHkgPSBjbG91ZGJhc2VNb2RlbE1hcC5nZXQoY2xvdWRiYXNlKVxuICAgICAgICBpZiAoIWVudGl0eSkge1xuICAgICAgICAgIGVudGl0eSA9IGdldEVudGl0eShjbG91ZGJhc2UpXG4gICAgICAgICAgY2xvdWRiYXNlTW9kZWxNYXAuc2V0KGNsb3VkYmFzZSwgZW50aXR5KVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBlbnRpdHlbcHJvcF1cbiAgICAgIH0sXG4gICAgfSxcbiAgKVxufVxuXG5jb25zdCBDTE9VREJBU0VfSU5JVF9FVkVOVCA9ICdjbG91ZGJhc2VfaW5pdCdcblxuY29uc3QgYnVzID0gbmV3IENsb3VkYmFzZUV2ZW50RW1pdHRlcigpXG5cbmJ1cy5vbihDTE9VREJBU0VfSU5JVF9FVkVOVCwgKHsgZGF0YTogY2xvdWRiYXNlIH06IHsgZGF0YTogSUNsb3VkYmFzZSB9KSA9PiB7XG4gIE9iamVjdC5hc3NpZ24oY2xvdWRiYXNlLCB7IG1vZGVsczogbGF6eUdldEVudGl0eShjbG91ZGJhc2UpIH0pXG59KVxuXG5jb25zdCBjb21wb25lbnQ6IElDbG91ZGJhc2VDb21wb25lbnQgPSB7XG4gIG5hbWU6IENPTVBPTkVOVF9OQU1FLFxuICBuYW1lc3BhY2U6IENPTVBPTkVOVF9OQU1FLFxuICBlbnRpdHk6IG5ldyBQcm94eShcbiAgICB7fSxcbiAgICB7XG4gICAgICBnZXQ6IChfLCBwcm9wOiBzdHJpbmcpID0+IHtcbiAgICAgICAgY29uc29sZS53YXJuKGDjgJBkZXByZWNhdGVk44CRQWNjZXNzaW5nIENsb3VkYmFzZS5wcm90b3R5cGUubW9kZWxzLiR7cHJvcH0uYClcbiAgICAgIH0sXG4gICAgfSxcbiAgKSxcbiAgaW5qZWN0RXZlbnRzOiB7XG4gICAgYnVzLFxuICAgIGV2ZW50czogW0NMT1VEQkFTRV9JTklUX0VWRU5UXSxcbiAgfSxcbn1cblxudHJ5IHtcbiAgY2xvdWRiYXNlLnJlZ2lzdGVyQ29tcG9uZW50KGNvbXBvbmVudClcbn0gY2F0Y2ggKGUpIHsgfVxuXG5leHBvcnQgZnVuY3Rpb24gcmVnaXN0ZXJNb2RlbChhcHA6IElDbG91ZGJhc2UpIHtcbiAgdHJ5IHtcbiAgICBhcHAucmVnaXN0ZXJDb21wb25lbnQoY29tcG9uZW50KVxuICB9IGNhdGNoIChlKSB7XG4gICAgY29uc29sZS53YXJuKGUpXG4gIH1cbn1cblxuZXhwb3J0ICogZnJvbSAnQGNsb3VkYmFzZS93eC1jbG91ZC1jbGllbnQtc2RrJ1xuIl19
|
package/dist/esm/index.d.ts
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
1
|
import { ICloudbase } from '@cloudbase/types';
|
|
2
|
+
declare function getEntity(cloudbase: any): import("@cloudbase/wx-cloud-client-sdk").OrmClient;
|
|
3
|
+
export declare function lazyGetEntity(cloudbase: ICloudbase): ReturnType<typeof getEntity>;
|
|
2
4
|
export declare function registerModel(app: ICloudbase): void;
|
|
3
5
|
export * from '@cloudbase/wx-cloud-client-sdk';
|
package/dist/esm/index.js
CHANGED
|
@@ -46,6 +46,8 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
46
46
|
}
|
|
47
47
|
};
|
|
48
48
|
import { generateHTTPClient } from '@cloudbase/wx-cloud-client-sdk';
|
|
49
|
+
import { events } from '@cloudbase/utilities';
|
|
50
|
+
var CloudbaseEventEmitter = events.CloudbaseEventEmitter;
|
|
49
51
|
var COMPONENT_NAME = 'models';
|
|
50
52
|
function getEntity(cloudbase) {
|
|
51
53
|
var _this = this;
|
|
@@ -68,30 +70,44 @@ function getEntity(cloudbase) {
|
|
|
68
70
|
var entity = generateHTTPClient(callFunction, fetch, baseUrl);
|
|
69
71
|
return entity;
|
|
70
72
|
}
|
|
71
|
-
|
|
72
|
-
|
|
73
|
+
var cloudbaseModelMap = new WeakMap();
|
|
74
|
+
export function lazyGetEntity(cloudbase) {
|
|
73
75
|
return new Proxy({}, {
|
|
74
76
|
get: function (_, prop) {
|
|
77
|
+
var entity = cloudbaseModelMap.get(cloudbase);
|
|
75
78
|
if (!entity) {
|
|
76
79
|
entity = getEntity(cloudbase);
|
|
80
|
+
cloudbaseModelMap.set(cloudbase, entity);
|
|
77
81
|
}
|
|
78
82
|
return entity[prop];
|
|
79
83
|
},
|
|
80
84
|
});
|
|
81
85
|
}
|
|
82
|
-
var
|
|
86
|
+
var CLOUDBASE_INIT_EVENT = 'cloudbase_init';
|
|
87
|
+
var bus = new CloudbaseEventEmitter();
|
|
88
|
+
bus.on(CLOUDBASE_INIT_EVENT, function (_a) {
|
|
89
|
+
var cloudbase = _a.data;
|
|
90
|
+
Object.assign(cloudbase, { models: lazyGetEntity(cloudbase) });
|
|
91
|
+
});
|
|
92
|
+
var component = {
|
|
83
93
|
name: COMPONENT_NAME,
|
|
84
94
|
namespace: COMPONENT_NAME,
|
|
85
|
-
entity:
|
|
86
|
-
|
|
95
|
+
entity: new Proxy({}, {
|
|
96
|
+
get: function (_, prop) {
|
|
97
|
+
console.warn("\u3010deprecated\u3011Accessing Cloudbase.prototype.models.".concat(prop, "."));
|
|
98
|
+
},
|
|
99
|
+
}),
|
|
100
|
+
injectEvents: {
|
|
101
|
+
bus: bus,
|
|
102
|
+
events: [CLOUDBASE_INIT_EVENT],
|
|
103
|
+
},
|
|
104
|
+
};
|
|
87
105
|
try {
|
|
88
|
-
var component = getComponent(cloudbase);
|
|
89
106
|
cloudbase.registerComponent(component);
|
|
90
107
|
}
|
|
91
108
|
catch (e) { }
|
|
92
109
|
export function registerModel(app) {
|
|
93
110
|
try {
|
|
94
|
-
var component = getComponent(app);
|
|
95
111
|
app.registerComponent(component);
|
|
96
112
|
}
|
|
97
113
|
catch (e) {
|
|
@@ -99,4 +115,4 @@ export function registerModel(app) {
|
|
|
99
115
|
}
|
|
100
116
|
}
|
|
101
117
|
export * from '@cloudbase/wx-cloud-client-sdk';
|
|
102
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
118
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFQSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQTtBQUNuRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sc0JBQXNCLENBQUE7QUFFckMsSUFBQSxxQkFBcUIsR0FBSyxNQUFNLHNCQUFYLENBQVc7QUFNeEMsSUFBTSxjQUFjLEdBQUcsUUFBUSxDQUFBO0FBRS9CLFNBQVMsU0FBUyxDQUFDLFNBQWM7SUFBakMsaUJBd0JDO0lBdkJDLElBQU0sWUFBWSxHQUFHLFNBQVMsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFBO0lBQzNELElBQU0sY0FBYyxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUE7SUFDdEUsSUFBTSxLQUFLLEdBQUcsVUFBTyxZQUEyQjs7Ozt3QkFDbEMsV0FBTSxjQUFjLHVCQUMzQixZQUFZLEtBQ2YsT0FBTyxhQUNMLGNBQWMsRUFBRSxrQkFBa0IsSUFDL0IsWUFBWSxDQUFDLE9BQU8sS0FFekIsRUFBQTs7b0JBTkksR0FBRyxHQUFHLFNBTVY7b0JBRUssV0FBTSxHQUFHLENBQUMsSUFBSSxFQUFBO3dCQUFyQixXQUFPLFNBQWMsRUFBQTs7O1NBQ3RCLENBQUE7SUFFSyxJQUFBLEtBQXlCLFNBQVMsQ0FBQyxrQkFBa0IsQ0FBQyxTQUFTLENBR3BFLEVBSE8sUUFBUSxjQUFBLEVBQUUsUUFBUSxjQUd6QixDQUFBO0lBQ0QsSUFBTSxPQUFPLEdBQUcsVUFBRyxRQUFRLFNBQUcsUUFBUSxXQUFRLENBQUE7SUFFOUMsSUFBTSxNQUFNLEdBQUcsa0JBQWtCLENBQUMsWUFBWSxFQUFFLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQTtJQUUvRCxPQUFPLE1BQU0sQ0FBQTtBQUNmLENBQUM7QUFFRCxJQUFNLGlCQUFpQixHQUFHLElBQUksT0FBTyxFQUFFLENBQUE7QUFPdkMsTUFBTSxVQUFVLGFBQWEsQ0FBQyxTQUFxQjtJQUNqRCxPQUFPLElBQUksS0FBSyxDQUNkLEVBQUUsRUFDRjtRQUNFLEdBQUcsRUFBRSxVQUFDLENBQUMsRUFBRSxJQUFZO1lBQ25CLElBQUksTUFBTSxHQUFHLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQTtZQUM3QyxJQUFJLENBQUMsTUFBTSxFQUFFO2dCQUNYLE1BQU0sR0FBRyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUE7Z0JBQzdCLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxTQUFTLEVBQUUsTUFBTSxDQUFDLENBQUE7YUFDekM7WUFDRCxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUNyQixDQUFDO0tBQ0YsQ0FDRixDQUFBO0FBQ0gsQ0FBQztBQUVELElBQU0sb0JBQW9CLEdBQUcsZ0JBQWdCLENBQUE7QUFFN0MsSUFBTSxHQUFHLEdBQUcsSUFBSSxxQkFBcUIsRUFBRSxDQUFBO0FBRXZDLEdBQUcsQ0FBQyxFQUFFLENBQUMsb0JBQW9CLEVBQUUsVUFBQyxFQUF5QztRQUFqQyxTQUFTLFVBQUE7SUFDN0MsTUFBTSxDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUUsRUFBRSxNQUFNLEVBQUUsYUFBYSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQTtBQUNoRSxDQUFDLENBQUMsQ0FBQTtBQUVGLElBQU0sU0FBUyxHQUF3QjtJQUNyQyxJQUFJLEVBQUUsY0FBYztJQUNwQixTQUFTLEVBQUUsY0FBYztJQUN6QixNQUFNLEVBQUUsSUFBSSxLQUFLLENBQ2YsRUFBRSxFQUNGO1FBQ0UsR0FBRyxFQUFFLFVBQUMsQ0FBQyxFQUFFLElBQVk7WUFDbkIsT0FBTyxDQUFDLElBQUksQ0FBQyxxRUFBb0QsSUFBSSxNQUFHLENBQUMsQ0FBQTtRQUMzRSxDQUFDO0tBQ0YsQ0FDRjtJQUNELFlBQVksRUFBRTtRQUNaLEdBQUcsS0FBQTtRQUNILE1BQU0sRUFBRSxDQUFDLG9CQUFvQixDQUFDO0tBQy9CO0NBQ0YsQ0FBQTtBQUVELElBQUk7SUFDRixTQUFTLENBQUMsaUJBQWlCLENBQUMsU0FBUyxDQUFDLENBQUE7Q0FDdkM7QUFBQyxPQUFPLENBQUMsRUFBRSxHQUFHO0FBRWYsTUFBTSxVQUFVLGFBQWEsQ0FBQyxHQUFlO0lBQzNDLElBQUk7UUFDRixHQUFHLENBQUMsaUJBQWlCLENBQUMsU0FBUyxDQUFDLENBQUE7S0FDakM7SUFBQyxPQUFPLENBQUMsRUFBRTtRQUNWLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUE7S0FDaEI7QUFDSCxDQUFDO0FBRUQsY0FBYyxnQ0FBZ0MsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElDbG91ZGJhc2UgfSBmcm9tICdAY2xvdWRiYXNlL3R5cGVzJ1xuaW1wb3J0IHsgSUNsb3VkYmFzZUNvbXBvbmVudCB9IGZyb20gJ0BjbG91ZGJhc2UvdHlwZXMvY29tcG9uZW50J1xuaW1wb3J0IHsgZ2VuZXJhdGVIVFRQQ2xpZW50IH0gZnJvbSAnQGNsb3VkYmFzZS93eC1jbG91ZC1jbGllbnQtc2RrJ1xuaW1wb3J0IHsgZXZlbnRzIH0gZnJvbSAnQGNsb3VkYmFzZS91dGlsaXRpZXMnXG5cbmNvbnN0IHsgQ2xvdWRiYXNlRXZlbnRFbWl0dGVyIH0gPSBldmVudHNcblxuZGVjbGFyZSBjb25zdCBjbG91ZGJhc2U6IElDbG91ZGJhc2VcblxudHlwZSBJRmV0Y2hPcHRpb25zID0gUGFyYW1ldGVyczxJQ2xvdWRiYXNlWydyZXF1ZXN0J11bJ2ZldGNoJ10+WzBdXG5cbmNvbnN0IENPTVBPTkVOVF9OQU1FID0gJ21vZGVscydcblxuZnVuY3Rpb24gZ2V0RW50aXR5KGNsb3VkYmFzZTogYW55KSB7XG4gIGNvbnN0IGNhbGxGdW5jdGlvbiA9IGNsb3VkYmFzZS5jYWxsRnVuY3Rpb24uYmluZChjbG91ZGJhc2UpXG4gIGNvbnN0IGNsb3VkYmFzZUZldGNoID0gY2xvdWRiYXNlLnJlcXVlc3QuZmV0Y2guYmluZChjbG91ZGJhc2UucmVxdWVzdClcbiAgY29uc3QgZmV0Y2ggPSBhc3luYyAoZmV0Y2hPcHRpb25zOiBJRmV0Y2hPcHRpb25zKSA9PiB7XG4gICAgY29uc3QgcmVzID0gYXdhaXQgY2xvdWRiYXNlRmV0Y2goe1xuICAgICAgLi4uZmV0Y2hPcHRpb25zLFxuICAgICAgaGVhZGVyczoge1xuICAgICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nLFxuICAgICAgICAuLi5mZXRjaE9wdGlvbnMuaGVhZGVycyxcbiAgICAgIH0sXG4gICAgfSlcblxuICAgIHJldHVybiBhd2FpdCByZXMuZGF0YVxuICB9XG5cbiAgY29uc3QgeyBCQVNFX1VSTCwgUFJPVE9DT0wgfSA9IGNsb3VkYmFzZS5nZXRFbmRQb2ludFdpdGhLZXkoJ0dBVEVXQVknKSBhcyB7XG4gICAgQkFTRV9VUkw6IHN0cmluZ1xuICAgIFBST1RPQ09MOiBzdHJpbmdcbiAgfVxuICBjb25zdCBiYXNlVXJsID0gYCR7UFJPVE9DT0x9JHtCQVNFX1VSTH0vbW9kZWxgXG5cbiAgY29uc3QgZW50aXR5ID0gZ2VuZXJhdGVIVFRQQ2xpZW50KGNhbGxGdW5jdGlvbiwgZmV0Y2gsIGJhc2VVcmwpXG5cbiAgcmV0dXJuIGVudGl0eVxufVxuXG5jb25zdCBjbG91ZGJhc2VNb2RlbE1hcCA9IG5ldyBXZWFrTWFwKClcblxuLyoqXG4gKiDliJvlu7ogbW9kZWxzIGVudGl0eSDml7bvvIzpnIDopoEgYmFzZVVybOOAgWZldGNo77yM6ICM6L+Z5Lik5Liq5Y+C5pWw6YO96ZyA6KaB5ZyoIGNsb3VkYmFzZS5pbml0IOS5i+WQjuaJjeiDveiOt+WPluOAglxuICog5Zug5q2k6ZyA6KaB5ZyoIGNsb3VkYmFzZS5pbml0IOS5i+WQjuaJp+ihjOOAglxuICog5q2k5Ye95pWw5bCG5Yib5bu6IGVudGl0eSDnmoTmraXpqqTlu7blkI7liLDnrKzkuIDmrKHor7vlj5YgbW9kZWxzIOS4iueahOWxnuaAp+aXtuaJp+ihjOOAglxuICovXG5leHBvcnQgZnVuY3Rpb24gbGF6eUdldEVudGl0eShjbG91ZGJhc2U6IElDbG91ZGJhc2UpOiBSZXR1cm5UeXBlPHR5cGVvZiBnZXRFbnRpdHk+IHtcbiAgcmV0dXJuIG5ldyBQcm94eShcbiAgICB7fSxcbiAgICB7XG4gICAgICBnZXQ6IChfLCBwcm9wOiBzdHJpbmcpID0+IHtcbiAgICAgICAgbGV0IGVudGl0eSA9IGNsb3VkYmFzZU1vZGVsTWFwLmdldChjbG91ZGJhc2UpXG4gICAgICAgIGlmICghZW50aXR5KSB7XG4gICAgICAgICAgZW50aXR5ID0gZ2V0RW50aXR5KGNsb3VkYmFzZSlcbiAgICAgICAgICBjbG91ZGJhc2VNb2RlbE1hcC5zZXQoY2xvdWRiYXNlLCBlbnRpdHkpXG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGVudGl0eVtwcm9wXVxuICAgICAgfSxcbiAgICB9LFxuICApXG59XG5cbmNvbnN0IENMT1VEQkFTRV9JTklUX0VWRU5UID0gJ2Nsb3VkYmFzZV9pbml0J1xuXG5jb25zdCBidXMgPSBuZXcgQ2xvdWRiYXNlRXZlbnRFbWl0dGVyKClcblxuYnVzLm9uKENMT1VEQkFTRV9JTklUX0VWRU5ULCAoeyBkYXRhOiBjbG91ZGJhc2UgfTogeyBkYXRhOiBJQ2xvdWRiYXNlIH0pID0+IHtcbiAgT2JqZWN0LmFzc2lnbihjbG91ZGJhc2UsIHsgbW9kZWxzOiBsYXp5R2V0RW50aXR5KGNsb3VkYmFzZSkgfSlcbn0pXG5cbmNvbnN0IGNvbXBvbmVudDogSUNsb3VkYmFzZUNvbXBvbmVudCA9IHtcbiAgbmFtZTogQ09NUE9ORU5UX05BTUUsXG4gIG5hbWVzcGFjZTogQ09NUE9ORU5UX05BTUUsXG4gIGVudGl0eTogbmV3IFByb3h5KFxuICAgIHt9LFxuICAgIHtcbiAgICAgIGdldDogKF8sIHByb3A6IHN0cmluZykgPT4ge1xuICAgICAgICBjb25zb2xlLndhcm4oYOOAkGRlcHJlY2F0ZWTjgJFBY2Nlc3NpbmcgQ2xvdWRiYXNlLnByb3RvdHlwZS5tb2RlbHMuJHtwcm9wfS5gKVxuICAgICAgfSxcbiAgICB9LFxuICApLFxuICBpbmplY3RFdmVudHM6IHtcbiAgICBidXMsXG4gICAgZXZlbnRzOiBbQ0xPVURCQVNFX0lOSVRfRVZFTlRdLFxuICB9LFxufVxuXG50cnkge1xuICBjbG91ZGJhc2UucmVnaXN0ZXJDb21wb25lbnQoY29tcG9uZW50KVxufSBjYXRjaCAoZSkgeyB9XG5cbmV4cG9ydCBmdW5jdGlvbiByZWdpc3Rlck1vZGVsKGFwcDogSUNsb3VkYmFzZSkge1xuICB0cnkge1xuICAgIGFwcC5yZWdpc3RlckNvbXBvbmVudChjb21wb25lbnQpXG4gIH0gY2F0Y2ggKGUpIHtcbiAgICBjb25zb2xlLndhcm4oZSlcbiAgfVxufVxuXG5leHBvcnQgKiBmcm9tICdAY2xvdWRiYXNlL3d4LWNsb3VkLWNsaWVudC1zZGsnXG4iXX0=
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cloudbase/model",
|
|
3
|
-
"version": "2.8.
|
|
3
|
+
"version": "2.8.28-beta.0",
|
|
4
4
|
"description": "cloudbase js sdk model module",
|
|
5
5
|
"main": "dist/cjs/index.js",
|
|
6
6
|
"module": "dist/esm/index.js",
|
|
@@ -27,9 +27,9 @@
|
|
|
27
27
|
"author": "",
|
|
28
28
|
"license": "Apache-2.0",
|
|
29
29
|
"dependencies": {
|
|
30
|
-
"@cloudbase/types": "^2.8.
|
|
31
|
-
"@cloudbase/utilities": "^2.8.
|
|
30
|
+
"@cloudbase/types": "^2.8.28-beta.0",
|
|
31
|
+
"@cloudbase/utilities": "^2.8.28-beta.0",
|
|
32
32
|
"@cloudbase/wx-cloud-client-sdk": "^1.3.1"
|
|
33
33
|
},
|
|
34
|
-
"gitHead": "
|
|
34
|
+
"gitHead": "a179643835b49c811972076561a83d629f3b1d77"
|
|
35
35
|
}
|
package/src/index.ts
CHANGED
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import { ICloudbase } from '@cloudbase/types'
|
|
2
2
|
import { ICloudbaseComponent } from '@cloudbase/types/component'
|
|
3
3
|
import { generateHTTPClient } from '@cloudbase/wx-cloud-client-sdk'
|
|
4
|
+
import { events } from '@cloudbase/utilities'
|
|
5
|
+
|
|
6
|
+
const { CloudbaseEventEmitter } = events
|
|
4
7
|
|
|
5
8
|
declare const cloudbase: ICloudbase
|
|
6
9
|
|
|
@@ -34,19 +37,22 @@ function getEntity(cloudbase: any) {
|
|
|
34
37
|
return entity
|
|
35
38
|
}
|
|
36
39
|
|
|
40
|
+
const cloudbaseModelMap = new WeakMap()
|
|
41
|
+
|
|
37
42
|
/**
|
|
38
43
|
* 创建 models entity 时,需要 baseUrl、fetch,而这两个参数都需要在 cloudbase.init 之后才能获取。
|
|
39
44
|
* 因此需要在 cloudbase.init 之后执行。
|
|
40
45
|
* 此函数将创建 entity 的步骤延后到第一次读取 models 上的属性时执行。
|
|
41
46
|
*/
|
|
42
|
-
function lazyGetEntity(cloudbase: ICloudbase): ReturnType<typeof getEntity> {
|
|
43
|
-
let entity: ReturnType<typeof getEntity>
|
|
47
|
+
export function lazyGetEntity(cloudbase: ICloudbase): ReturnType<typeof getEntity> {
|
|
44
48
|
return new Proxy(
|
|
45
49
|
{},
|
|
46
50
|
{
|
|
47
51
|
get: (_, prop: string) => {
|
|
52
|
+
let entity = cloudbaseModelMap.get(cloudbase)
|
|
48
53
|
if (!entity) {
|
|
49
54
|
entity = getEntity(cloudbase)
|
|
55
|
+
cloudbaseModelMap.set(cloudbase, entity)
|
|
50
56
|
}
|
|
51
57
|
return entity[prop]
|
|
52
58
|
},
|
|
@@ -54,20 +60,37 @@ function lazyGetEntity(cloudbase: ICloudbase): ReturnType<typeof getEntity> {
|
|
|
54
60
|
)
|
|
55
61
|
}
|
|
56
62
|
|
|
57
|
-
const
|
|
63
|
+
const CLOUDBASE_INIT_EVENT = 'cloudbase_init'
|
|
64
|
+
|
|
65
|
+
const bus = new CloudbaseEventEmitter()
|
|
66
|
+
|
|
67
|
+
bus.on(CLOUDBASE_INIT_EVENT, ({ data: cloudbase }: { data: ICloudbase }) => {
|
|
68
|
+
Object.assign(cloudbase, { models: lazyGetEntity(cloudbase) })
|
|
69
|
+
})
|
|
70
|
+
|
|
71
|
+
const component: ICloudbaseComponent = {
|
|
58
72
|
name: COMPONENT_NAME,
|
|
59
73
|
namespace: COMPONENT_NAME,
|
|
60
|
-
entity:
|
|
61
|
-
}
|
|
74
|
+
entity: new Proxy(
|
|
75
|
+
{},
|
|
76
|
+
{
|
|
77
|
+
get: (_, prop: string) => {
|
|
78
|
+
console.warn(`【deprecated】Accessing Cloudbase.prototype.models.${prop}.`)
|
|
79
|
+
},
|
|
80
|
+
},
|
|
81
|
+
),
|
|
82
|
+
injectEvents: {
|
|
83
|
+
bus,
|
|
84
|
+
events: [CLOUDBASE_INIT_EVENT],
|
|
85
|
+
},
|
|
86
|
+
}
|
|
62
87
|
|
|
63
88
|
try {
|
|
64
|
-
const component = getComponent(cloudbase)
|
|
65
89
|
cloudbase.registerComponent(component)
|
|
66
90
|
} catch (e) { }
|
|
67
91
|
|
|
68
92
|
export function registerModel(app: ICloudbase) {
|
|
69
93
|
try {
|
|
70
|
-
const component = getComponent(app)
|
|
71
94
|
app.registerComponent(component)
|
|
72
95
|
} catch (e) {
|
|
73
96
|
console.warn(e)
|