Open oskarrough opened 5 years ago
The proper way is:
import firebase from 'firebase/app';
firebase.database.ServerValue.TIMESTAMP
Note due to an outstanding bug with how the Firebase modules are defined this will throw an error in type-checking. But it's actually correct.
If yu don't care about Node.js support this will work:
import * as firebase from 'firebase/app';
firebase.database.ServerValue.TIMESTAMP
Thanks, I tried both of your suggestions but I'm seeing this with rc.6?
index.cjs.js:1470 TypeError: Cannot read property 'ServerValue' of undefined
import DS from 'ember-data'
// import firebase from 'firebase/app'
import * as firebase from 'firebase/app'
const {Model, attr, belongsTo, hasMany} = DS
export default Model.extend({
created: attr('number', {
defaultValue() {
return firebase.database.ServerValue.TIMESTAMP
}
}),
channels: hasMany('channel'),
settings: belongsTo('user-setting')
})
and compiled version
define("xxx/models/user", ["exports", "ember-data", "firebase/app"], function (_exports, _emberData, firebase) {
"use strict";
Object.defineProperty(_exports, "__esModule", {
value: true
});
_exports.default = void 0;
const {
Model,
attr,
belongsTo,
hasMany
} = _emberData.default;
var _default = Model.extend({
created: attr('number', {
defaultValue() {
return firebase.database.ServerValue.TIMESTAMP;
}
}),
channels: hasMany('channel'),
settings: belongsTo('user-setting')
});
_exports.default = _default;
});
interesting, wonder if auto-import is pruning some dependencies...
I'm planning on adding new data types to the adapter that will do stuff like this for you, I'll leave open for that.
Probably can be close with the Firebase Js V9 API !
import { serverTimestamp } from 'firebase/database'
In v2 you could do
but in v3
ServerValue
is not defined. What is the right import path? https://firebase.google.com/docs/reference/js/firebase.database.ServerValue.htmlI tried accessing
database.ServerValue
from:import firebase from 'firebase'
import firebase from 'firebase/app'
firebase: service()
firebaseApp: service()